【问题标题】:how to insert filename without the path in vim如何在vim中插入没有路径的文件名
【发布时间】:2013-08-19 09:46:18
【问题描述】:

我知道在插入模式下,我可以使用 CTRL-R-% 插入带有路径的文件名。

但我想只插入不带路径部分的文件名。有没有类似的命令?

【问题讨论】:

标签: vim filenames


【解决方案1】:

你可以使用

<C-r>=expand("%:t")<CR>

:help filename-modifiers

编辑

&lt;C-r&gt; 在插入模式下用于插入寄存器的内容。 "% 是包含当前文件名的寄存器。

"=是表达式寄存器,它包含=之后的表达式的结果:

<C-r>=2+27+6<CR>        --> 35
<C-r>=expand("%:t")<CR> --> file.txt

【讨论】:

  • 这是地图命令吗?这是否会影响其他 C-R 命令,例如。 w
  • 不,您必须在插入模式下键入以插入不带路径的文件名:Ctrl+r,然后是 =,然后是 expand("%:t"),然后是 Enter。抱歉,没有捷径可走。如果您想要自定义映射,请将inoremap &lt;expr&gt; &lt;F6&gt; expand("%:t") 添加到您的~/.vimrc
  • @ChrisStryczynski 请参阅用户手册中的:help 40.2
  • 您也可以使用expand("%t:r") 额外删除扩展名(对于那些不关心阅读帮助的人:)
【解决方案2】:

在插入模式下,您可以使用

CTRL-R =expand('%:t')

【讨论】:

  • 这是地图命令吗?这是否会影响其他 C-R 命令,例如。 w
  • @schurik - romainl 已经做了彻底的工作来回答你的评论。如果仍有不清楚的地方,请随时提问。
猜你喜欢
  • 2013-03-05
  • 2021-06-11
  • 2010-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-14
  • 2014-05-21
相关资源
最近更新 更多