我应该如何重命名我的当前文件在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
我该如何优雅地做这件事呢?
当前回答
要重命名现有文件而不使用插件,您应该使用命令
:Explore
这个命令允许您浏览文件。目录,删除或重命名它们。然后你应该在资源管理器中导航到必要的文件,而不是键入R命令,这将允许你重命名文件名
其他回答
另一种方法是只使用netrw,它是vim的原生部分。
:e path/to/whatever/folder/
然后还有删除、重命名等选项。
下面是打开netrw到你正在编辑的文件文件夹的键图:
map <leader>e :e <C-R>=expand("%:p:h") . '/'<CR><CR>
sav person.haml_spec.rb | call delete(expand('#'))
这个小脚本并不完美(你必须按下额外的回车键),但它完成了工作。
function Rename()
let new_file_name = input('New filename: ')
let full_path_current_file = expand("%:p")
let new_full_path = expand("%:p:h")."/".new_file_name
bd
execute "!mv ".full_path_current_file." ".new_full_path
execute "e ".new_full_path
endfunction
command! Rename :call Rename()
nmap RN :Rename<CR>
你也可以使用netw
explore命令在打开文件的目录中打开netrw
:E
将光标移到需要重命名的文件上:
R
输入新名字,回车,按y。
如果文件已经保存:
:!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}