Vim не может отобразить <C-Tab> в: tabnext - PullRequest
8 голосов
/ 05 июня 2010

В моем .vimrc есть следующие сопоставления:

map <C-S-Tab> :tabprevious<CR>
nmap <C-S-Tab> :tabprevious<CR>
imap <C-S-Tab> <Esc>:tabprevious<CR>i

map <C-Tab> :tabnext<CR>
nmap <C-Tab> :tabnext<CR>
imap <C-Tab> <Esc>:tabnext<CR>i

Я хочу переключать вкладки с помощью Strg + Tab вперед и с помощью Strg + Shift + Tab назад. Почему это отображение не работает?

Ответы [ 4 ]

9 голосов
/ 07 июля 2010

Вы используете xterm? Если это так, вы не можете отобразить ctrl-tab без большого количества хакерских атак. xterm и многие другие эмуляторы терминала не распознают ctrl-tab и просто отправляют символ tab.

См. Мой ответ здесь для получения более подробной информации: Отображение в моем vimrc не удается в Ubuntu

Или вы можете просто использовать gvim, если это подходит - он должен работать без всяких проблем.

1 голос
/ 05 июня 2010

Возможно, что-то блокирует vim от просмотра C-Tab. Это может быть ваш терминал или ваш оконный менеджер.

В некоторых ОС / WM вы можете устанавливать исключения для ярлыков оконного менеджера, но как это сделать, зависит от WM.

Я не уверен, есть ли решение, если ваш терминал блокирует нажатия клавиш.

0 голосов
/ 12 августа 2015

Все, что вам нужно, это xterm.

Поместите это в файл .Xresources (в этом случае вы можете скопировать и вставить):

xterm*VT100.Translations: #override \
             Ctrl ~Shift <Key>Tab: string(0x1b) string("[27;5;9~") \n\
             Ctrl Shift <Key>Tab: string(0x1b) string("[27;6;9~")

Затем выполните cd ; xrdb .Xresources и перезапустите xterm.


Поместите это в свой .vimrc:

!! Важно - вместо XXXX необходимо набрать CTRL-V , а затем Esc ИЛИ скопировать-вставить весь текст и запустить %s/\(set <F1[34]>=\)XXXX/\=submatch(1) . "\33"/g, который является копией -пастабильно (вставьте его с <CTRL-R> +).

set timeout timeoutlen=1000 ttimeoutlen=100
set <F13>=XXXX[27;5;9~
nnoremap <F13> gt
set <F14>=XXXX[27;6;9~
nnoremap <F14> gT

И перезапустите vim.

Готово.

0 голосов
/ 11 января 2013

о ... это нужно сопоставить?просто используйте эти предопределенные комбинации:

  • GT: ==: tabnext

  • GT: ==: tabprevious

  • [n] gt: == перейти к вкладке N, например, 1gt, 3gt

определить множество коротких клавиш легко, но как вы можете запомнить все из них ине путайте их с «Ctrl + Tab», «Alt + Tab» (обычные и обычные короткие клавиши в большинстве ОС)

проверьте эту страницу для более подробной информации: http://vim.wikia.com/wiki/Alternative_tab_navigation

...