2013-03-25 89 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

相關問題