3
我想爲別人使用的基本HTML編輯設置使用 的vim環境。爲此,我想建立一個快速參考條 與事物的窗口上方顯示像VIM:在窗口頂部顯示自定義參考欄
| <F1> | <F2> | <F3> | ...
| <br /> | <hr /> | bold | ...
等。這可以做到嗎?
我想爲別人使用的基本HTML編輯設置使用 的vim環境。爲此,我想建立一個快速參考條 與事物的窗口上方顯示像VIM:在窗口頂部顯示自定義參考欄
| <F1> | <F2> | <F3> | ...
| <br /> | <hr /> | bold | ...
等。這可以做到嗎?
您可以使用附加窗口和臨時緩衝區來顯示類似的內容。
這是插件的原型。只要運行與:so
以下或投入一些文件,這裏面
~/.vim/plugin
目錄
function! s:set_as_scratch_buffer()
setlocal noswapfile
setlocal nomodifiable
setlocal bufhidden=delete
setlocal buftype=nofile
setlocal nobuflisted
setlocal nonumber
setlocal nowrap
setlocal cursorline
endfunction
function! s:activate_window_by_buffer_name(name)
for i in range(1, winnr('$'))
let name = bufname(winbufnr(i))
let full_name = fnamemodify(bufname(winbufnr(i)), ':p')
if name == a:name || full_name == a:name
exec i.'wincmd w'
return 1
endif
endfor
return 0
endfunction
let s:help_window_name = 'HTML\ help'
function! s:show_help()
let current_name = fnamemodify(@%, ':p')
if ! s:activate_window_by_buffer_name(s:help_window_name)
exec 'top 5 split '.s:help_window_name
call s:set_as_scratch_buffer()
endif
setlocal modifiable
let help_lines = ['line1', 'line2']
call setline(1, help_lines)
setlocal nomodifiable
call s:activate_window_by_buffer_name(current_name)
endfunction
command! -nargs=0 HtmlHelp call s:show_help()
au! BufRead,BufNewFile *.html call s:show_help()
謝謝!這實際上是一個非常好的想法,只是你的show_help()函數有一件事:我試圖設置名稱爲'HTML幫助'時出現錯誤,vim抱怨只需要一個文件名:使用單個單詞修復該錯誤。另外,無論遇到其他問題,我怎樣才能讓幫助窗口保持其高度不變? – 2009-11-16 10:35:28
我不確定你可以強制Vim凍結窗口高度。我逃過緩衝區名稱中的'空間'。你可以嘗試這個變種。 – 2009-11-16 11:48:22