2013-03-25 91 views

回答

2

如果你有一个寄存器(例如系统剪贴板)的文件名中插入的文件名,你可以插入与<C-r>+。这也适用于Vim变量:<C-r>=g:filename<CR>

但通常情况下,您只需输入:r filename;然后,唯一避免再次输入的快捷方式是文件名完成(:help i_CTRL-X_CTRL-F):在插入模式下,输入文件名的开头,然后尝试完成:filen<C-x><C-f>

可以避免打字,如果你以相反的顺序做:由于:read命令设置备用文件,你可以插入经过特殊寄存器#

:read filename 
'[OI just added <C-r># 
2

你可以写在读取内容之前插入文件名的小函数:

fun! ReadwithFn(fname) 
    let fn = expand(a:fname) 
    if !filereadable(fn) 
     echohl Error 
     echom fn." cannot be read!" 
     echohl NONE 
    else 
     execute "put ='".fn."'" 
     execute 'read '.fn 
    endif 
endf 

add define your own command:

command! -nargs=1 R call ReadwithFn(<q-args>) 

,如果你的源代码之上,你可以键入

:R fileToRead 

功能将首先插入文件的路径,然后是内容。如果文件不可读(例如不存在),则存在错误消息。

这只是基本的脚本,你可以调整一下。

+0

谢谢Kent上面的脚本工作! :) – 2013-03-25 16:10:01

相关问题