it-swarm.com.ru

Переключение на определенную вкладку в VIM

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

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

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

55
Sumit

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

: tabn [ext] {count}

{} Количество GT

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

вы также можете привязать его к ключу:

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

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

78
Antony Hatchkins

Решение только вашего первого вопроса и цитирование из 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 вкладки с текущей вкладки.

19
James Polley

Просто для того, чтобы поделиться отображением клавиш, чтобы перейти непосредственно к определенной вкладке. Пожалуйста, поместите их в _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
2
Alfred Chan