Atalho para mudar de abas no MacVim

15

Existe algum atalho para mudar as abas de uma para outra no MacVim?

Alguma dica para ligar os atalhos em .vimrc como ⌘ + 1 para Tab 1 e ⌘ + 2 para Tab 2. Por exemplo, como alternar as guias do navegador.

    
por Ye Lin Aung 25.01.2012 / 04:10

5 respostas

17

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 recentemente aprendi).

Abra as Preferências do Sistema, selecione "Teclado", depois "Atalhos de Aplicativos" (no menu à esquerda). 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 "Select Next Tab" e escolha um atalho (eu escolhi o Cmd + seta para a direita). Então faça o mesmo para o comando "Select Previous Tab".

"Selecione a próxima guia" e "Selecione a guia anterior" são encontradas 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.

    
por 18.05.2012 / 02:21
17

É claro que você pode alterar os atalhos com as preferências de sistema do OSX para o seu teclado, conforme mostrado aqui: Como refazer qualquer atalho de teclado no Mac OS X

Alguns podem preferir fazer isso por meio 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
    
por 20.07.2013 / 14:48
10

Você pode Selecionar Próxima Página com + } e Selecionar a Página Anterior com + {

A tecla shift é necessária para não apenas atingir um [ em vez de um }
Então o atalho é + deslocamento + ] ou + deslocamento + < kbd> [
Esses atalhos funcionam em muitos aplicativos, por exemplo, no Terminal

    
por 07.05.2013 / 18:52
5

Eu tenho o seguinte no meu ~ / .vimrc para Linux. Você deve conseguir alterar a sequência " <M- " para " <D- " para conseguir 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
    
por 25.01.2012 / 05:32
2

Além de criar seus próprios mapeamentos, são atalhos do vim incorporados. Tente um número seguido por gt . Por exemplo: 3gt leva você até a terceira guia. Você também pode fazer apenas gt para ir para a próxima guia ou gT para ir para a anterior.

(Desde o 7.vim do vim, as abas foram criadas mesmo na versão não-gvim do modo de texto.)

    
por 24.01.2014 / 01:39