Esistono delle scorciatoie per passare da una scheda all'altra in MacVim?
Eventuali suggerimenti per associare le scorciatoie a me stesso in .vimrc come ⌘ + 1 per la scheda 1 e ⌘ + 2 per la scheda 2. Ad esempio, come cambiare le schede del browser.
Esistono delle scorciatoie per passare da una scheda all'altra in MacVim?
Eventuali suggerimenti per associare le scorciatoie a me stesso in .vimrc come ⌘ + 1 per la scheda 1 e ⌘ + 2 per la scheda 2. Ad esempio, come cambiare le schede del browser.
Risposte:
Poiché MacVim è un vero programma su Mac OS, è possibile mappare le schede cambiando allo stesso modo in cui si mappano i comandi in qualsiasi programma (di cui ho appena appreso personalmente di recente).
Apri Preferenze di Sistema, seleziona "Tastiera", quindi "Collegamenti alle applicazioni" (nel menu a sinistra). Nel menu a destra, fai clic sul segno più (+) per aggiungere un nuovo comando. Scegli MacVim per l'applicazione e, per il titolo del menu, digita "Seleziona scheda successiva" e scegli un collegamento (ho scelto Cmd + freccia destra). Quindi fai la stessa cosa per il comando "Seleziona scheda precedente".
"Seleziona scheda successiva" e "Seleziona scheda precedente" si trovano in MacVim nel menu "Finestra". Qualsiasi opzione visualizzata in uno dei menu di un'app può essere rimappata utilizzando questo metodo.
Puoi ovviamente cambiare le scorciatoie con le preferenze di sistema OSX per la tua tastiera come mostrato qui: Come rimappare qualsiasi scorciatoia da tastiera in Mac OS X
Alcuni potrebbero preferire farlo tramite il loro .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
Puoi selezionare la scheda successiva con ⌘+ }e selezionare la scheda precedente con ⌘+{
Il tasto Maiusc è necessario non solo per premere un [invece di un }
Quindi il collegamento è ⌘+ shift+ ]o ⌘+ shift+ [
Questo collegamento funziona in molte app, ad esempio nel Terminale
Ho il seguente nel mio ~ / .vimrc per Linux. Dovresti essere in grado di cambiare la " <M-
" sequenza in " <D-
" per ottenere ciò che desideri:
" 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
Oltre a creare le tue mappature, ci sono scorciatoie Vim integrate. Prova un numero seguito da gt
. Ad esempio: 3gt
ti porta alla terza scheda. Puoi anche fare solo gt
per andare alla scheda successiva ogT
per passare a quella precedente.
(Da vim 7.something, le schede sono state inserite anche nella versione non gvim in modalità testo.)