Vim: mapeia shift-K para abrir a ajuda na palavra atual em uma nova guia

1

Em conjunto com o link , Eu estou olhando para também fazer o atalho shift-K que abre ajuda em uma nova aba.

Eu tentei pela primeira vez nmap <S-K> :tab help expand("<cword>")<CR> , mas na verdade não funciona - o expand aparentemente é considerado literalmente como o texto da tag de ajuda e não é executado.

Então, como remapear <S-K> para obter ajuda sobre a palavra atual em uma nova guia no Vim?

    
por sundar 22.08.2015 / 18:14

2 respostas

6

Não tenho certeza do que você está tentando fazer. <s-k> , também conhecido como K , abre a página man da palavra-chave sob o cursor. Eu suponho que você deseja criar um mapeamento para abrir a página de ajuda do vim para a palavra-chave sob o cursor. Isso pode ser feito por isso (eu vou usar <c-k> para não substituir K ):

noremap <c-k> :execute "tab h " . expand("<cword>")<cr>
    
por 23.08.2015 / 21:06
0

Por uma questão de alguém tropeçar nisto mais tarde: eu combinei os dois métodos mencionados na resposta e comentário do @ madmax1, para fazer o Vim escolher o método apropriado de ajuda automaticamente, dependendo do tipo de arquivo.

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>

(Eu tive que aceitar a sugestão do @ madmax1 no mapeamento de teclado também ( C-K em vez de S-K ) porque Scriptease tem um autocmd sobrescrevendo o mapeamento S-K , e não tenho certeza de como sobrescrevê-lo de dentro de .vimrc.

    
por 26.08.2015 / 21:38