我应该如何重命名我的当前文件在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
我该如何优雅地做这件事呢?
当前回答
我建议:从tpope的eunuch(太监)来命名这个。
它还包括一系列其他方便的命令。
Rename命令目前定义如下(检查repo是否有更新!):
command! -bar -nargs=1 -bang -complete=file Rename :
\ let s:file = expand('%:p') |
\ setlocal modified |
\ keepalt saveas<bang> <args> |
\ if s:file !=# expand('%:p') |
\ call delete(s:file) |
\ endif |
\ unlet s:file
其他回答
Tim Pope设计了一个更大的插件vim-eunuch,它包含了重命名函数和其他一些功能(删除、查找、保存所有、chmod、sudo编辑等等)。
使用vim-eunuch重命名文件。
:请确保移动
相对于rename.vim:
:重命名!)请
节省了一些按键:)
在Gary Bernhardt的.vimrc中有一个函数处理这个问题。
function! RenameFile()
let old_name = expand('%')
let new_name = input('New file name: ', expand('%'), 'file')
if new_name != '' && new_name != old_name
exec ':saveas ' . new_name
exec ':silent !rm ' . old_name
redraw!
endif
endfunction
map <leader>n :call RenameFile()<cr>
要重命名现有文件而不使用插件,您应该使用命令
:Explore
这个命令允许您浏览文件。目录,删除或重命名它们。然后你应该在资源管理器中导航到必要的文件,而不是键入R命令,这将允许你重命名文件名
如果文件已经保存:
:!mv {file location} {new file location}
:e {new file location}
例子:
:!mv src/test/scala/myFile.scala src/test/scala/myNewFile.scala
:e src/test/scala/myNewFile.scala
权限要求:
:!sudo mv src/test/scala/myFile.scala src/test/scala/myNewFile.scala
保存为:
:!mv {file location} {save_as file location}
:w
:e {save_as file location}
Windows未验证
:!move {file location} {new file location}
:e {new file location}
你也可以用:f后跟:w