Vim: перемещение файлов?
В настоящее время, если я редактирую файл и решаю переименовать его, я использую:
:! mv% new.py: new new.py: шд
Чтобы переименовать файл, откройте новый файл, затем удалите старый буфер.
Есть ли более простой способ переименовать файл, не оставляя старые буферы без дела?
(Я понимаю, что я мог бы также использовать :sav
, но тогда мне нужно :bp
несколько раз, чтобы найти предыдущий буфер, :bd
тогда :bn
вернуться в новый буфер)
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
Вы также можете переименовать файл в проводнике vim, перейдите к файлу, который хотите переименовать, и нажмите:
R
Так вот:
- Исследовать
:E
- Перейти к файлу
j
или поиск по шаблону файла/
- Переименовать
R
- Откройте новое имя файла
<CR>
(войти).
Будет ли это короче напечатать, будет зависеть от количества файлов в вашем каталоге.
Этот ответ на vi.stackexchange предлагает использовать:Move
из плагина tpope / vim-eunuch.
:Move
: Одновременно переименовать буфер и файл на диске.