Existem atalhos para alternar as guias de um para outro no MacVim?
Alguma dica para vincular os atalhos em .vimrc como ⌘ + 1 na guia 1 e ⌘ + 2 na guia 2. Por exemplo, como alternar as guias do navegador.
Existem atalhos para alternar as guias de um para outro no MacVim?
Alguma dica para vincular os atalhos em .vimrc como ⌘ + 1 na guia 1 e ⌘ + 2 na guia 2. Por exemplo, como alternar as guias do navegador.
Respostas:
Como o MacVim é um programa real no Mac OS, você pode mapear a alternância de guias da mesma maneira que mapeia comandos em qualquer programa (sobre o qual eu aprendi pessoalmente recentemente).
Abra as Preferências do sistema, selecione "Teclado" e depois "Atalhos do aplicativo" (no menu esquerdo). No menu à direita, clique no sinal de mais (+) para adicionar um novo comando. Escolha MacVim para o aplicativo e, para o título do menu, digite "Selecionar próxima guia" e escolha um atalho (eu escolhi Cmd + seta para a direita). Em seguida, faça o mesmo com o comando "Selecionar guia anterior".
"Selecionar próxima guia" e "Selecionar guia anterior" são encontrados no MacVim no menu "Janela". Qualquer opção que você vê em qualquer um dos menus de um aplicativo pode ser remapeada usando esse método.
Obviamente, você pode alterar os atalhos com as preferências do sistema OSX para o teclado, como mostrado aqui: Como mapear novamente qualquer atalho de teclado no Mac OS X
Alguns podem preferir fazê-lo através de .vimrc
:
if has("gui_macvim")
" Press Ctrl-Tab to switch between open tabs (like browser tabs) to
" the right side. Ctrl-Shift-Tab goes the other way.
noremap <C-Tab> :tabnext<CR>
noremap <C-S-Tab> :tabprev<CR>
" Switch to specific tab numbers with Command-number
noremap <D-1> :tabn 1<CR>
noremap <D-2> :tabn 2<CR>
noremap <D-3> :tabn 3<CR>
noremap <D-4> :tabn 4<CR>
noremap <D-5> :tabn 5<CR>
noremap <D-6> :tabn 6<CR>
noremap <D-7> :tabn 7<CR>
noremap <D-8> :tabn 8<CR>
noremap <D-9> :tabn 9<CR>
" Command-0 goes to the last tab
noremap <D-0> :tablast<CR>
endif
Você pode selecionar a próxima guia com ⌘+ }e selecionar a guia anterior com ⌘+{
A tecla Shift é necessária para não apenas pressionar a em [vez de a. }
Portanto, o atalho é ⌘+ shift+ ]ou ⌘+ shift+. [
Esses atalhos funcionam em muitos aplicativos, ou seja, no Terminal
Eu tenho o seguinte no meu ~ / .vimrc para Linux. Você poderá alterar a <M-
sequência " <D-
" para " " para obter o que deseja:
" Meta+1-0 jumps to tab 1-10, Shift+Meta+1-0 jumps to tab 11-20:
let s:windowmapnr = 0
let s:wins='1234567890!@#$%^&*()'
while (s:windowmapnr < strlen(s:wins))
exe 'noremap <silent> <M-' . s:wins[s:windowmapnr] . '> ' . (s:windowmapnr + 1) . 'gt'
exe 'inoremap <silent> <M-' . s:wins[s:windowmapnr] . '> <C-O>' . (s:windowmapnr + 1) . 'gt'
exe 'cnoremap <silent> <M-' . s:wins[s:windowmapnr] . '> <C-C>' . (s:windowmapnr + 1) . 'gt'
exe 'vnoremap <silent> <M-' . s:wins[s:windowmapnr] . '> <C-C>' . (s:windowmapnr + 1) . 'gt'
let s:windowmapnr += 1
endwhile
unlet s:windowmapnr s:wins
Além de fazer seus próprios mapeamentos, não são built-in atalhos vim. Tente um número seguido por gt
. Por exemplo:3gt
leva você para a 3ª guia. Você também pode fazer isso apenas gt
para ir para a próxima guia ou gT
para a anterior.
(Desde o vim 7.alguma coisa, as guias foram criadas mesmo na versão não-gvim em modo de texto.)