LinuxForum.Fans
Тема

VIM Мапинг Alt и Стрелок

Автор: Aspedin 6 сообщений 3905 просмотров
#41884

Нужно сделать сочетания Alt+Right, Alt+Left, Alt+Down
Вариант:

text
nmap <A-Right> <Esc>:tabnext<CR>
nmap <A-Left> <Esc>:tabprevious<CR>

не работает, но и ошибок vim не выдает.

#42084

Здравствуйте, Aspedin.

Я попробовал следущие настройки в gnome-terminal'е и в xterm'е.

text

nmap <A-right> :tabnext<CR>
nmap <A-left> :tabprevious<CR>

imap <A-right> <Esc>:tabnext<CR> imap <A-left> <Esc>:tabprevious<CR>

Всё работает и в нормальном режиме, и в режиме ввода.

#42449

у меня urxvt может из-за этого не пашет

#42753

Aspedin, я нашел решение, которое, возможно, вам подойдет. Только придется отказаться от использования стрелок и заменить их на клавиши «h» для переключения на предыдущую вкладку и «l» на последующую.

Сделать нужно следующее:

1. запустить эмулятор терминала;
2. открыть файл настроек Vim'а ~/.vimrc в Vim'е: vim ~/.vimrc;
3. перейти в режим ввода: i;
4. внести в файл директиву map, но в том её месте, где необходимо указать горячую клавишу, нажать Ctrl+v и затем Alt+<клавиша>;
5. повторить шаг 4 для всех горячих клавиш.

В результате файл настроек ~/.vimrc будет иметь такой вид.

text

nmap ^[l :tabnext<CR>
nmap ^[h :tabprevious<CR>

imap ^[l <Esc>:tabnext<CR> imap ^[h <Esc>:tabprevious<CR>

Обращаю ваше внимание на то, что после nmap/imap для записи шортката нужно нажать Ctrl+v Alt+<клавиша>, а не просто напечатать символы «^», «[» и символ клавиши.

Хочу заметить, что шорткаты с Alt'ом действительно работают не во всех средах. Если я, допустим, использую Vim в gnome-terminal'е, то активны клавиши, назначенные как прямо (<A-<клавиша>>), так и опосредованно (Ctrl+v Alt+<клавиша>). Однако, при запуске Vim'а в мультиплексоре tmux, запущенном в gnome-terminal'е, работают только опосредованные горячие клавиши.

Что касается использования стрелок в качестве горячих клавиш, то отмечу, что указанным способом их можно прицепить к Alt'у, но в некоторых средах это не будет работать. У меня например, в Vim'е, запущенном в tmux'е, данный шорткат не активен. Думаю, у вас он также не заработает.

Напоследок хочу сказать, что шорткат оказался весьма полезным. Я уже перешел на его активное использование.

#42769

Не. Мне именно стрелки надо.
Но всеравно спасибо. Похимичу.

#42774
Aspedin написал:
у меня urxvt может из-за этого не пашет

наверное.
покрутите его настройки - наверняка он перехватывает кнопки первым.

Войдите или зарегистрируйтесь, чтобы ответить.