我知道在插入模式下可以使用CTRL-R-%插入带有路径的文件名。
但是我想仅插入文件名而不包括路径。是否有类似的命令可用?
您可以使用
<C-r>=expand("%:t")<CR>
请参见:help filename-modifiers
。
编辑
<C-r>
用于插入模式下插入寄存器的内容。"%
是包含当前文件名的寄存器。
"=
是表达式寄存器,它包含=
后面表达式的结果:
<C-r>=2+27+6<CR> --> 35
<C-r>=expand("%:t")<CR> --> file.txt
Ctrl+r
,然后 =
,然后 expand("%:t")
,最后 Enter
。抱歉,没有快捷方式可用。如果您想要自定义映射,请将 inoremap <expr> <F6> expand("%:t")
添加到您的 ~/.vimrc
中。 - romainl:help 40.2
。 - romainlexpand("%t:r")
来删除扩展名(对于那些不想阅读帮助文档的人来说 :))。 - galva在插入模式下,您可以使用以下命令:
CTRL-R =expand('%:t')
Ctrl-R %
已经给出了基本名称。也许这取决于某些配置参数?可能在 Unix SE 上也是一样的:http://unix.stackexchange.com/questions/57555/vim-insert-current-filename-into-the-contents - Ciro Santilli OurBigBook.com:r! echo %
此答案完全归功于 - Hub 20xx