У терміналі я можу це зробити, натискаючи shift + home та shift + end, але це, здається, не працює в vim. Домашня та кінцева клавіші прокручують лише вікно терміналу. Я хотів би перейти в режим редагування.
У терміналі я можу це зробити, натискаючи shift + home та shift + end, але це, здається, не працює в vim. Домашня та кінцева клавіші прокручують лише вікно терміналу. Я хотів би перейти в режим редагування.
Відповіді:
Ця відповідь передбачає, що ви використовуєте vim у вікні терміналу .
Прив'язки для дому та кінця за замовчуванням трохи відрізняються від того, що очікувала б програма, грунтуючись на звичайному налаштуваннях TERM (тобто варіант xterm). Якщо ви хочете дотримуватися прив’язки за замовчуванням (і використовувати варіанти Shift у терміналі ), ви можете спробувати помістити щось подібне у свій .vimrc
:
:" map Mac OS X Terminal.app default Home and End
:map <ESC>[H <Home>
:map <ESC>[F <End>
:imap <ESC>[H <C-O><Home>
:imap <ESC>[F <C-O><End>
:cmap <ESC>[H <Home>
:cmap <ESC>[F <End>
В іншому випадку ви можете спробувати коригувати коди, які термінал надсилає, коли ви використовуєте « Дім і Кінець» (навіть без змін, якщо вам це подобається). Шукати, ймовірно, з'явиться в деяких місцях, де описано, як це зробити ( ось одне ). Основна ідея полягає в тому, що ви хочете, щоб термінал надсилав ESC [1 ~ замість ESC [H для дому та ESC [4 ~ замість ESC [F для кінця (або Shift-Home / Shift-End, якщо ви хочете зберегти дім / Кінець для доступу до прокрутки). Я б описав процес більш докладно, але у мене є лише 10,4, і я знаю, що Термінал сильно змінився в 10.5 і пізніше.
використовуйте 0 і $ для переходу до початку та кінця рядка. Перейдіть на цей сайт: http://alvinalexander.com/linux/vi-vim-editor-end-of-line .
0
і $
.
Як додаток до відповіді Кріса , ви також можете досягти навігації по словах (за допомогою Option+arrow
клавіш), просто додавши ці чотири рядки:
:map <ESC>f el
:imap <ESC>b <C-o>b
:imap <ESC>f <C-o>el
:cmap <ESC>f el
Зверніть увагу на o
нижній регістр, щоб він не вийшов з insert
режиму для операції. Ви також можете змінити великі регістри O
в оригінальній відповіді для того ж ефекту.
У MacVim ви можете використовувати команду "Стрілка вліво" та команду "Стрілка вправо", щоб перейти до початку та кінця рядка, перебуваючи в режимі редагування.
Перейдіть до терміналу -> Налаштування -> Профілі -> Клавіатура та додайте:
Ключ: ↖ Дія: \ 033OH
Ключ: ↗ Дія: \ 033OF