Vim навигация неловкость - PullRequest
5 голосов
/ 31 декабря 2010

Я посвятил себя работе с vim, чтобы быстрее писать код для ruby ​​/ python, и мне трудно ориентироваться в файлах.

В основном я имею в виду переключение между режимом вставки и режимами навигации. Может быть, я просто еще не совсем привык к редактору, но мне очень неловко постоянно переключаться в режим вставки и выходить из него.

Это то, что со временем уйдет? Есть ли какие-то хитрости для ускорения входа и выхода из режима вставки?

Ответы [ 2 ]

7 голосов
/ 31 декабря 2010

Прочитайте часть «Превосходного представления № 1» этой превосходной статьи: http://www.viemu.com/a-why-vi-vim.html

6 голосов
/ 31 декабря 2010

Многие люди любят определять jj или jk как что-то, что нужно напечатать в режиме вставки, чтобы вернуться в нормальный режим (вместо нажатия клавиши escape), это удерживает ваши руки в домашнем ряду и ускоряет процесс.Вы можете поместить это в свой .vimrc, чтобы сделать это сопоставления (или просто выберите один из них):

inoremap jj <ESC>
inoremap jk <ESC>

Если вам действительно нужно набрать любую из этих строк (очень редко для меня), вы можете простовведите первую букву и сделайте паузу на пару секунд, затем наберите 2-ю.

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

С этой целью я бросил вместе обои движения vim, предназначенный для визуального отображения различных команд перемещения относительно текущей позиции курсора (центр экрана).Это помогло мне зафиксировать их в памяти и ускорило намного .

Кроме того, понимание различных основных клавиш вставки поможет вам перейти в режим вставки в нужном месте:

  • i - вставить перед буквой, на которой находится курсор
  • a - добавить после буквы, на которой находится курсор,
  • I - вставить в поленачало текущей строки
  • A - добавить в конец текущей строки
  • o - открыть новую строку ниже текущей строки
  • O - открыть новую строку над текущей строкой

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...