Переключение на определенную вкладку в VIM - PullRequest
55 голосов
/ 05 января 2010

Я пытался переключиться с вкладки на другую вкладку (которая может не находиться рядом с предыдущей вкладкой) в VIM. Есть ли для этого ярлык, например, у нас есть Ctrl - p / Ctrl - n для переключения на соседние вкладки?

Кроме того, я пытался написать сопоставление клавиш, которое даст переменную в качестве входных данных для функции и выполнит операцию. Например, скажем, я нажимаю Ctrl - 5 , и функция (написанная пользователем) будет вызвана и передана в качестве ввода 5, а курсор перейдет на вкладку 5 (если открыта 5-я вкладка).

Подскажите, пожалуйста, как это можно сделать?

Ответы [ 3 ]

78 голосов
/ 05 января 2010

используйте 5gt для переключения на вкладку 5

: tabn [ext] {count}

{счетчик} GT

Перейти на закладку {count}. Первая вкладка имеет номер 1.

Вы также можете связать его с ключом:

:map <C-5> 5gt
:imap <C-5> <C-O>5gt

(Отображение Ctrl-<number> может быть другим / невозможно для некоторых терминалов. Рассмотрим Alt-<number> тогда)

19 голосов
/ 05 января 2010

Отвечая только на ваш первый вопрос и цитируя help tabs в vim:

{count}gt       Go to tab page {count}.  The first tab page has number one.
{count}gT       Go {count} tab pages back.  Wraps around from the first one
                to the last one.

т.е., набрав 3gt, вы перейдете на третью вкладку, 3gT вернется на 3 вкладки от текущей вкладки.

2 голосов
/ 08 ноября 2013

Просто для совместного использования клавиш для непосредственного перехода на конкретную вкладку. Пожалуйста, поместите их в _vimrc и заставьте его работать.

" Jump to particular tab directly
"NORMAL mode bindings for gvim
noremap <unique> <M-1> 1gt
noremap <unique> <M-2> 2gt
noremap <unique> <M-3> 3gt
noremap <unique> <M-4> 4gt
noremap <unique> <M-5> 5gt
noremap <unique> <M-6> 6gt
noremap <unique> <M-7> 7gt
noremap <unique> <M-8> 8gt
noremap <unique> <M-9> 9gt
noremap <unique> <M-0> 10gt

"INSERT mode bindings for gvim
inoremap <unique> <M-1> <C-O>1gt
inoremap <unique> <M-2> <C-O>2gt
inoremap <unique> <M-3> <C-O>3gt
inoremap <unique> <M-4> <C-O>4gt
inoremap <unique> <M-5> <C-O>5gt
inoremap <unique> <M-6> <C-O>6gt
inoremap <unique> <M-7> <C-O>7gt
inoremap <unique> <M-8> <C-O>8gt
inoremap <unique> <M-9> <C-O>9gt
inoremap <unique> <M-0> <C-O>10gt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...