目前,如果我正在编辑文件并且我决定要重命名它,我会使用:
:!mv % new.py :new new.py :bd
要重命名文件,请打开新文件,然后删除旧缓冲区。
是否有更简单的方法来重命名文件而不留下旧的缓冲区?
(我意识到我也可以使用:sav
,但我需要:bp
几次才能找到上一个缓冲区:bd
,然后:bn
回到新的缓冲区)
答案 0 :(得分:3)
我认为您可能正在寻找this插件。
这是一个小插件:saveas并删除旧文件。
答案 1 :(得分:2)
我认为添加插件比你想要的要复杂得多。您可以使用函数将此功能绑定到新命令。
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
答案 2 :(得分:0)
您还可以在vim资源管理器中重命名文件,然后移至要重命名的文件并按:
R
就是这样:
:E
j
或搜索文件模式/
R
<CR>
(输入)。 此类型是否更短取决于您目录中的文件数。
This answer on vi.stackexchange建议使用tpope/vim-eunuch插件中的:Move
。
:Move
:同时重命名缓冲区和磁盘上的文件。