추출한 코드는 다음과 같습니다 vim-startify
. 핵심 부분은 VimEnter
autocmd 에 새 버퍼를 만들고 텍스트를 넣은 다음를 매핑하여 i
새 버퍼를 시작한 다음 삽입 모드로 이동하는 것입니다.
나는 약간의 설정을 추가 하는 작은 플러그인에 아래를 넣었 지만 기본 개념은 정확히 동일합니다.
fun! Start()
" Don't run if: we have commandline arguments, we don't have an empty
" buffer, if we've not invoked as vim or gvim, or if we'e start in insert mode
if argc() || line2byte('$') != -1 || v:progname !~? '^[-gmnq]\=vim\=x\=\%[\.exe]$' || &insertmode
return
endif
" Start a new buffer ...
enew
" ... and set some options for it
setlocal
\ bufhidden=wipe
\ buftype=nofile
\ nobuflisted
\ nocursorcolumn
\ nocursorline
\ nolist
\ nonumber
\ noswapfile
\ norelativenumber
" Now we can just write to the buffer, whatever you want.
call append('$', "")
for line in split(system('fortune -a'), '\n')
call append('$', ' ' . l:line)
endfor
" No modifications to this buffer
setlocal nomodifiable nomodified
" When we go to insert mode start a new buffer, and start insert
nnoremap <buffer><silent> e :enew<CR>
nnoremap <buffer><silent> i :enew <bar> startinsert<CR>
nnoremap <buffer><silent> o :enew <bar> startinsert<CR>
endfun
" Run after "doing all the startup stuff"
autocmd VimEnter * call Start()
insane_in_the_membrane
과 그것이 실제 코드와 어떻게 관련이 있는지 알고 싶습니다 . 그 사람이 훌륭하고 이것이 오늘 본 최고의 기능 이름이기 때문에! : P