我尝试为open~/.vimrc创建一个映射,但只在缓冲区为空时打开〜/ .vimrc,否则拆分并打开.
我试试这个
fun! BufferIsEmpty() "{{{
if line('$') == 1 && getline(1) == ''
return 1
else
return 0
endif
endf "}}}
fun! NotEmptySplit() "{{{
if !BufferIsEmpty()
sp
endif
return
endf
command! -nargs=0 NotEmptySplit call NotEmptySplit()
nnoremap <silent><leader>ve :NotEmptySplit <bar> ~/.vimrc<CR>
Run Code Online (Sandbox Code Playgroud)
但是我得到了这个错误
E488: Trailing characters
Run Code Online (Sandbox Code Playgroud)
Gre*_*ton 10
要进一步了解kev的优秀答案:
如何在分裂时释放一个通用的"打开文件,如果缓冲区不为空"功能.
fu! OpenInSplitIfBufferDirty(file)
if line('$') == 1 && getline(1) == ''
exec 'e' a:file
else
exec 'sp' a:file
endif
endfu
nnoremap <silent> <leader>ve :call OpenInSplitIfBufferDirty($MYVIMRC)<cr>
command -nargs=1 -complete=file -bar CleverOpen :call OpenInSplitIfBufferDirty(<q-args>)
Run Code Online (Sandbox Code Playgroud)