目前,如果我編輯一個文件,我決定,我要重命名它,我用:Vim:移動文件?
:!mv % new.py :new new.py :bd
要重命名文件,打開新的文件,然後刪除舊的緩衝區。
有沒有一種更簡單的方法來重命名文件,而不必離開舊的緩衝區?
(我知道我還可以使用:sav
,但後來我需要:bp
幾次找到以前的緩衝區,:bd
,然後:bn
回新的緩衝區)
目前,如果我編輯一個文件,我決定,我要重命名它,我用:Vim:移動文件?
:!mv % new.py :new new.py :bd
要重命名文件,打開新的文件,然後刪除舊的緩衝區。
有沒有一種更簡單的方法來重命名文件,而不必離開舊的緩衝區?
(我知道我還可以使用:sav
,但後來我需要:bp
幾次找到以前的緩衝區,:bd
,然後:bn
回新的緩衝區)
我想你可能是尋找this插件。
這是一個小插件:saveas和刪除舊文件。
我認爲添加一個插件比您要找的要複雜得多。您可以使用函數將此功能綁定到新命令。
function! s:movefunction(arg)
let oldnum = bufnr("%")
let newname = a:arg
execute "!mv %" . " " . newname
exe "new " . newname
exe "bd" . oldnum
endfunction
command! -nargs=* Newmv call s:movefunction('<args>')
加入這你的.vimrc後,您就可以通過做
:Newmv new_file_name.py
調用這個你不必使用BP找到舊緩衝區。您可以使用:ls列出緩衝區,找到該數字,然後使用:bdx其中x是要刪除的緩衝區的編號。 – Tyler 2011-05-19 22:21:34
是的。不過,我通常打開了足夠多的緩衝區,因此比找到列表中的文件要容易幾次訪問''和''(綁定到':bp'和':bn')。 –
2011-05-19 23:10:02