在使用 FZF 搜索之前将文件保存在 vim
Save file in vim before search with FZF
我有这个映射:
nnoremap <silent> <leader><space> :Files<CR>
这工作正常,但是当我已经打开一个更改的文件时,当我切换到一个新文件时出现错误。
是否可以在启动fzf之前保存文件?
我尝试过类似的方法,但如果我没有打开文件,这将不起作用。 (无文件启动vi并启动fzf)
nnoremap <silent> <leader><space> :w<CR>:Files<CR>
首先,使用:update
代替:write
。这只会在确实存在未持久化的更改时写入。
您可以使用 empty(bufname(''))
检查空缓冲区,但由于存在其他极端情况,我宁愿只是消除错误:
nnoremap <silent> <leader><space> :execute 'silent! update'<Bar>Files<CR>
备选
或者,您可以查看 'hidden'
选项,如@romainl 所述。有了这个,如果有未保存更改的缓冲区不再显示在 window 中,Vim 将不会抱怨,并且只会在退出时面对你 Vim。许多超级用户 :set hidden
.
我有这个映射:
nnoremap <silent> <leader><space> :Files<CR>
这工作正常,但是当我已经打开一个更改的文件时,当我切换到一个新文件时出现错误。
是否可以在启动fzf之前保存文件? 我尝试过类似的方法,但如果我没有打开文件,这将不起作用。 (无文件启动vi并启动fzf)
nnoremap <silent> <leader><space> :w<CR>:Files<CR>
首先,使用:update
代替:write
。这只会在确实存在未持久化的更改时写入。
您可以使用 empty(bufname(''))
检查空缓冲区,但由于存在其他极端情况,我宁愿只是消除错误:
nnoremap <silent> <leader><space> :execute 'silent! update'<Bar>Files<CR>
备选
或者,您可以查看 'hidden'
选项,如@romainl 所述。有了这个,如果有未保存更改的缓冲区不再显示在 window 中,Vim 将不会抱怨,并且只会在退出时面对你 Vim。许多超级用户 :set hidden
.