在Vim中重命名當前文件

如何在Vim中重命名當前文件? html

例如: shell

  • 我正在編輯person.html_erb_spec.rb
  • 我想將其重命名爲person.haml_spec.rb
  • 我想繼續編輯person.haml_spec.rb

我要如何優雅地作到這一點? vim


#1樓

我建議:Rename爲此從tpope的太監那裏更名。 瀏覽器

它還包括許多其餘方便的命令。 編輯器

當前,重命名命令的定義以下(請檢查存儲庫中是否有任何更新!): spa

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

#2樓

這個小腳本並不完美(您必須按下額外的回車鍵),但它能夠完成工做。 .net

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>

#3樓

有一個小插件 ,讓您執行此操做。 插件


#4樓

我不知道這是不是「最簡單」的方法,可是假設您已經保存了文件(:w),我將調用shell(:sh)並執行一個簡單的cp foo foo foo.bak返回編輯器使用Ctrl-D / Exit。 此連接上的vi編輯器命令的有用列表 code


#5樓

該命令稱爲:saveas ,但不幸的是它不會刪除您的舊文件,您必須手動執行此操做。 有關更多信息,請參見:help saveashtm

編輯:

大多數vim安裝都有集成的文件瀏覽器,您能夠將其用於此類操做。 在命令模式下嘗試:Explore (我實際上會將其映射到功能鍵,這很是方便)。 例如,您能夠使用R重命名文件或使用D刪除文件。 可是在資源管理器中按<F1>將爲您提供更好的概覽。

相關文章
相關標籤/搜索