2015-01-31 2 views
0

Моя .vimrc настраивается следующим образом:Vim имя файла обновления

set laststatus=2 
set statusline +=%1*\ %F 
set statusline +=%1*%=%5l%* 
set statusline +=%2*/%L%* 
set statusline +=%1*%4v\ %* 
set statusline +=%2*0x%04B\ %* 

Всякий раз, когда я сохранить файл с другим именем внутри Vim, я хочу имя файла, чтобы отразить новое имя, а не отображает Старый. Что мне нужно изменить для того, чтобы получить такое поведение?

ответ

5

%F должен предоставить вам (полное) текущее имя файла. Я подозреваю, что вы делаете экономию с :w newname. Это просто записывает буфер один раз на это новое имя, но сохраняет исходный. Чтобы переименовать текущий буфер, вместо этого используйте :saveas newname.

Существует также команда :file newname для переименования без письменного разрешения (прямо сейчас). И вы можете запросить текущее имя через :echo expand('%').

+0

Я использую метод редактирования разделенного окна в vim. Когда я использовал параметр ': file newname', оба окна обновляются в новом файле. Я искал, что в одном окне я хочу, чтобы исходный файл открывался, а в другом окне я хочу изменить старый файл и сохранить его другим именем. – Jerry

+0

После использования ': file' или': saveas' просто используйте ': edit #' (или ': split #'), чтобы вернуться к исходному файлу. –

+0

Удивительный. благодаря – Jerry

Смежные вопросы