VIM: отображать пользовательскую панель ссылок в верхней части окна - PullRequest
3 голосов
/ 16 ноября 2009

Я хотел бы настроить среду vim для использования основного редактирования HTML кем-то еще. Для этого я бы хотел настроить панель быстрого доступа к показываться в верхней части окна с такими вещами, как

|   <F1>   |   <F2>   |  <F3>  |  ...
|  <br />  |  <hr />  |  bold  |  ...

и так далее. Можно ли это сделать?

1 Ответ

5 голосов
/ 16 ноября 2009

Вы можете использовать дополнительное окно с буфером очистки, чтобы показывать подобные вещи.

Вот прототип плагина. Просто запустите следующее с :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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...