Vim: карта shift-K, чтобы открыть справку по текущему слову в новой вкладке
В сочетании с https://stackoverflow.com/questions/3131393/remapping-help-in-vim-to-open-in-a-new-tab я также собираюсь создать ярлык shift-K, который открывает справку в новой вкладке.
Я впервые попробовал nmap <S-K> :tab help expand("<cword>")<CR>
, но на самом деле это не работает - expand
очевидно, воспринимается буквально как текст тега справки и не выполняется.
Итак, как мне переназначить <S-K>
получить справку по текущему слову в новой вкладке в Vim?
2 ответа
Я не уверен, что ты пытаешься сделать. <s-k>
, также известен как K
, открывает страницу руководства для ключевого слова под курсором. Я предполагаю, что вы хотите создать отображение, чтобы открыть страницу справки vim для ключевого слова под курсором. Это может быть сделано этим (я буду использовать <c-k>
не переопределять K
):
noremap <c-k> :execute "tab h " . expand("<cword>")<cr>
Ради того, чтобы потом наткнуться на это: я объединил два метода, упомянутых в ответе и комментарии @ madmax1, чтобы Vim автоматически выбирал подходящий метод помощи в зависимости от типа файла.
function! GetHelpOnCwordInTab()
if &filetype == "vim"
execute 'tab help ' . expand("<cword>")
else
execute 'tabnew <bar> read ! ' . &keywordprg . expand("<cword>")
endif
endfunction
autocmd FileType * nnoremap <C-K> :call GetHelpOnCwordInTab()<CR>
(Мне тоже пришлось принять предложение @ madmax1 о назначении клавиш ( C-K
вместо S-K
) потому что у Scriptease есть autocmd, перезаписывающий S-K
отображение, и я не уверен, как переопределить это из .vimrc.)