在使用FZF搜索之前将文件保存在vim中

时间:2017-07-27 12:41:00

标签: vim fzf

我有这个映射:

nnoremap <silent> <leader><space> :Files<CR>

这样可以正常工作,但是当我已经打开更改的文件时,切换到新文件时出现错误。

是否可以在启动fzf之前保存文件? 我尝试过类似的东西,但是如果我没有打开文件就行不通。 (启动没有文件的vi并启动fzf)

nnoremap <silent> <leader><space> :w<CR>:Files<CR>

1 个答案:

答案 0 :(得分:3)

首先,使用:update代替:write。只有在确实存在无人值守的变化时才会写入。

您可以使用empty(bufname(''))检查空缓冲区,但由于存在其他极端情况,我宁愿只是将错误静音:

nnoremap <silent> <leader><space> :execute 'silent! update'<Bar>Files<CR>

替代

或者,您可以查看'hidden'选项,如@romainl所述。有了这个,如果一个未保存更改的缓冲区不再显示在窗口中,Vim就不会抱怨,只有在退出Vim时才会面对你。许多超级用户都有:set hidden