Сохраните файл в vim перед поиском с помощью FZF
У меня есть это отображение:
nnoremap <silent> <leader><space> :Files<CR>
Это работает нормально, но когда у меня уже открыт измененный файл, я получаю сообщение об ошибке при переключении на новый файл.
Можно ли сохранить файл перед запуском fzf? Я пробовал что-то вроде этого, но это не работает, если у меня нет открытого файла. (запустить vi без файла и запустить fzf)
nnoremap <silent> <leader><space> :w<CR>:Files<CR>
1 ответ
Во-первых, используйте :update
вместо :write
, Это будет только писать, если есть действительно без изменений.
Вы можете проверить наличие пустого буфера с помощью empty(bufname(''))
, но, как и в других случаях, я бы предпочел просто замолчать ошибку:
nnoremap <silent> <leader><space> :execute 'silent! update'<Bar>Files<CR>
альтернатива
Кроме того, вы можете посмотреть в 'hidden'
вариант, как упоминал @romainl. При этом Vim не будет жаловаться, если буфер с несохраненными изменениями больше не будет отображаться в окне, а только будет против вас при выходе из Vim. Многие опытные пользователи имеют :set hidden
,