Это может показаться слишком заурядным, но я переключился на vim и теперь очень доволен рабочим процессом. Я стараюсь дисциплинировать себя, чтобы не использовать клавиши со стрелками, так как постоянно держать руки на альфа-клавишах - такая большая вещь при написании. Поэтому, когда мне нужно перейти, я выхожу из режима вставки, перехожу в обычный режим и возвращаюсь в режиме вставки.
Есть исключение, когда это на самом деле более разрушительно: я использую clang complete
с фрагментами, и super tab
это здорово. За исключением того, что каждый раз, когда я заполняю параметры автоматически, я автоматически завершаю функцию, после чего остаюсь с курсором, )
поэтому для продолжения мне нужно переместить курсор на один символ вправо. Как вы можете себе представить, это происходит очень часто .
Единственные варианты, которые у меня есть (насколько я знаю): Esclaили →, и я не рад ни одному из них. Первая заставляет меня нажимать 3 клавиши для простого перемещения курсора на 1 символ, вторая заставляет меня двигать рукой к клавишам со стрелками. Третий вариант - отобразить CTRL-Lили сопоставить с чем- либо →.
Так каков наилучший способ сделать это?
//snippets (clang complete + supertab):
foo($`param1`, $`param2`)
//after completion:
foo(var1, var2|)
^ ^
| |
I am here |
Need to be here
|
обозначает позицию курсора
)
если в функции есть хотя бы один аргумент. Поэтому я печатаю это вручную. Гораздо полезнее сейчас.)
я держу пари, что это пропускает без фактической вставки. (Я не использую этот плагин))
<C-O>l
для выхода в нормальный режим для 1 команды нормального режима.Ответы:
Карта, )чтобы пропустить существующий,
)
если это закрывающая скобкаВзято с: http://vim.wikia.com/wiki/Automatics_append_closing_characters
Старый ответ
:h i_CTRL-O
выполнить одну команду, вернуться в режим вставки.Ctrl-ol переместит вас на один символ вправо, а затем вернет вас в режим вставки.
В качестве альтернативы некоторые плагины кронштейнов позволяют просто ввести закрывающий кронштейн, )и они заменят существующий.
источник
)
последний символ в строке (и это часто случается, когда вы пишете код).CTRL-O a
Однако работает. Итак, я думаю, мы сохранили один ключ. :)del
)
состоит только из двух символов и всегда ставит вас после закрывающей скобки.Введите следующую команду, чтобы найти управляющие клавиши, которые используются в режиме вставки.
Ctrl-b не используется, но вы можете пожертвовать другим ключом.
Это работает, чтобы переместить курсор вправо на один символ. Или нанесите на карту какой-нибудь двойной символ.
источник