4

Иногда я хочу установить начальную отметку, затем ввести слово (обычно длинное имя переменной), после окончания слова я могу установить конечную отметку. Затем я могу сохранить слово в своем регистре, чтобы вставить его без лишних движений, переключения режимов и т.д.

Как я могу это сделать? Или есть лучший «вим-путь» для достижения подобного эффекта?

Спасибо.

4 ответа4

4

В режиме INSERT вы можете использовать Ctrl-N или Ctrl-P для запуска автозаполнения.
Это очень полезно, когда вы перепечатываете длинные слова.

2

Следующие два сопоставления позволяют записать любой фрагмент текста, который вы вводите в режиме вставки, а не обязательно одно слово, и сохранить его в регистр o .

inoremap <C-K> <C-O>qo
inoremap <C-L> <Esc>q:let @o=@o[:-2]<CR>a

Начните запись с помощью Ctrl K, завершите запись с помощью Ctrl L. Вставьте записанный текст в режиме вставки с помощью Ctrl R o .

2

Используйте m и y .

  1. Введите Ctrl+O (выйти из режима вставки для 1 команды)
  2. Введите mk чтобы установить маркер k в текущее местоположение
  3. Введите свое слово
  4. Введите Ctrl+O
  5. Наберите y`k чтобы вырвать маркер k до вашего текущего местоположения

http://www.marksanborn.net/software/using-markers-in-vim/

0

С помощью <C-o> вы можете временно выйти из режима вставки для одной команды. Затем вы можете выполнить команду yiw (внутреннее слово yank), и у вас будет последнее слово, которое вы набираете в регистре по умолчанию (или любом другом, который вы указываете с помощью "x).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .