我应该如何重命名我的当前文件在Vim?
例如:
我正在编辑person.html_erb_spec.rb 我希望它重命名为person.haml_spec.rb 我想继续编辑person.haml_spec.rb
我该如何优雅地做这件事呢?
我应该如何重命名我的当前文件在Vim?
例如:
我正在编辑person.html_erb_spec.rb 我希望它重命名为person.haml_spec.rb 我想继续编辑person.haml_spec.rb
我该如何优雅地做这件事呢?
当前回答
我不知道这是否是“最简单”的方法,但假设你已经保存了你的文件(:w),我会调用shell (:sh)并做一个简单的cp foo foo.bak返回编辑器使用Ctrl-D/Exit。 此链接上的vi编辑器命令的有用列表
其他回答
sav person.haml_spec.rb | call delete(expand('#'))
如果你使用git并且已经有tpope的插件逃犯。然后简单地Vim:
:Gmove newname
这将:
重命名磁盘上的文件。 在git repo中重命名文件。 将文件重新加载到当前缓冲区中。 保留撤销历史记录。
如果你的文件还没有添加到git repo,那么先添加它:
:Gwrite
:sav newfile | !rm #
注意,它不会从缓冲区列表中删除旧文件。如果这对你来说很重要,你可以使用以下方法:
:sav newfile | bd# |
Tim Pope设计了一个更大的插件vim-eunuch,它包含了重命名函数和其他一些功能(删除、查找、保存所有、chmod、sudo编辑等等)。
使用vim-eunuch重命名文件。
:请确保移动
相对于rename.vim:
:重命名!)请
节省了一些按键:)
另一种方法是只使用netrw,它是vim的原生部分。
:e path/to/whatever/folder/
然后还有删除、重命名等选项。
下面是打开netrw到你正在编辑的文件文件夹的键图:
map <leader>e :e <C-R>=expand("%:p:h") . '/'<CR><CR>