Gnome-zacisku, można po prostu wcisnąć Alt+ ( 1, 2, 3, itd.), Aby przełączać się pomiędzy kartami. Mogę również używać Ctrl+ ( PgUp/ PgDn) do przechodzenia między kartami (co prawda mniej wygodne, ale można je odwzorować).
Jeśli chcę używać kart vim zamiast kart terminal-gnome, pisanie :tabn
i :tabp
jest dość kłopotliwe. Mogę odwzorować je na skróty klawiaturowe, ale wciąż jest to o wiele mniej wygodne niż przejście bezpośrednio do karty 4 za pomocą Alt+ 4.
Czy istnieje szybszy sposób przełączania się między kartami w vimie?
nnn
g
t
, ale chcę to zrobić szybko , tj .Alt + nnn
LubCtrl + nnn
. AleAlt + n
jest już zajęty przez terminal gnome, a wiązanie się z nimCtrl + n
nie wydaje się mieć żadnego efektu.nnn
g
t
? Np:map <F2> 2gt
. Istnieje problem<F1>
często odwzorowywany przez GNOME na narzędzie pomocy. Albo można wybrać jakiś klawisz nie często wykorzystywaną w normalnym trybie, powiedzmy przecinek i map to tak::map , gt
. Następnie1,
przejdziesz do zakładki 1,2,
zakładki 2 i tak dalej.Dlaczego nie skorzystać z twojego lidera (mój lider jest zmapowany Space):
Możesz użyć poniższych ustawień, aby przełączać między bieżącą a ostatnią aktywną kartą (tutaj jest odwzorowana na Ctrl+ L, tj.
<c-l>
):źródło
au TabLeave * let g:lasttab = tabpagenr()
doc-l
pracy: stackoverflow.com/questions/2119754/...<leader>h/l
dogT
igt
To najłatwiejszy sposób, jaki znalazłem, aby szybciej i łatwiej przełączać się między kartami.
Dodaj kolejne wiersze do .vimrc i ciesz się, więcej sztuczek na temat kart vim tutaj .
Teraz możesz użyć, Ctrl ←aby przejść w lewo i Ctrl →w prawo.
Lub po prostu użyj:
1gtaby przejść do zakładki pierwszej,
2gtprzejść do zakładki drugiej,
3gtprzejść do zakładki trzeciej itp. Teraz masz pomysł.
źródło
Ponieważ jestem na komputerze Mac i nie używam MacVima (ale zwykłego vima w terminalu), miałem pewne trudności z tym, że kombinacje klawiszy nie były przesyłane do terminala.
Najbardziej kompatybilny (i dla mnie najwygodniejszy) sposób szybkiego przełączania kart pochodzi z witryny Vim Wikia .
Umieść w swoim
.vimrc
pliku:Teraz
Shift-h
(kapitał H) iShift-l
(kapitał L) a przejdziesz szybko między kartami i następuje konwencję, żeh
il
odpowiadać na lewo i prawo w vim na zwykłej klawiaturze QWERTY.źródło
(Niestety) vim używa również CtrlPgDn/ PgUpdo przełączania kart. Musisz użyć
map
do mapowaniatabn
/tabp
do czegoś użytecznego.źródło
Jeśli używasz gvim lub podobnego (tj. Czegoś poza terminalem), możesz naśladować
gnome-terminal
zachowanie, które opisujesz:alt-1
Skacze więc do pierwszej karty itp. Alealt-9
skacze do ostatniej karty (jak w Chrome).Możesz to owinąć
if has("gui_running")
(choć wydaje się, że to nie działa z Neovimem) lub włączyć.gvimrc
.źródło
Dodaj je do .vimrc, aby włączyć klawisze skrótu do nawigacji po kartach:
" tab navigation: Alt or Ctrl+Shift may not work in terminal: " http://vim.wikia.com/wiki/Alternative_tab_navigation " Tab navigation like Firefox: only 'open new tab' works in terminal nnoremap <C-t> :tabnew<CR> inoremap <C-t> <Esc>:tabnew<CR> " move to the previous/next tabpage. nnoremap <C-j> gT nnoremap <C-k> gt " Go to last active tab au TabLeave * let g:lasttab = tabpagenr() nnoremap <silent> <c-l> :exe "tabn ".g:lasttab<cr> vnoremap <silent> <c-l> :exe "tabn ".g:lasttab<cr>
źródło
nnoremap <silent> <C-Tab> :exe "tabn ".g:lasttab<cr>
ivnoremap <silent> <C-Tab> :exe "tabn ".g:lasttab<cr>
bez powodzenia.