Я новичок в привязках Vim и хочу начать использовать их в Sublime, но наткнулся на несколько камней преткновения.

Когда я набираю различные типы вложенных токенов, такие как "строковые литералы" или {блоки кода} или (паренсы), я разрабатываю (хорошо?) привычка вводить открывающие и закрывающие символы, нажимать назад и вводить нужные символы. Я делаю это, чтобы никогда не забывать закрывающие символы.

Например, чтобы создать "литерал", я набрал бы «», затем переместил курсор назад на 1 пробел, затем написал слово литерал в кавычках, затем переместил курсор на 1 пробел вперед, чтобы продолжить ввод.

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

У пользователей Vim должен быть хороший подход к этому, иначе они бы уже сошли с ума. Ребята, вы просто вначале отказываетесь от ввода начальных и конечных символов? Необычные привязки клавиш, чтобы выйти из режима вставки, переместиться вперед / назад на 1, а затем вернуться в режим вставки (я хотел бы это одним нажатием клавиши)??

Пожалуйста, дайте мне знать, если я делаю все это неправильно, а также если у вас есть лучшее предложение для заголовка. Не был уверен, как описать эту проблему.

2 ответа2

1

В возвышенном вы можете отредактировать сопоставления, выполнив что-то вроде « shift+space », чтобы переместить курсор вперед на один пробел, используя следующий код, как показано здесь: https://stackoverflow.com/questions/14800608/sublime-text-2-move -cursor-из-скобкой кавычки или скобки-

{ "keys": ["shift+space"], "command": "move", "args": {"by": "characters", "forward": true} }

Работает фантастически для меня.

Редактировать: Это заставит Ctrl+Shift+Пробел переместиться назад на один пробел.

{"keys": ["ctrl+shift+space"], "command": "move", "args": {"by": "characters", "forward": false} }

Сочетание двух делает жизнь намного проще :)

0

В Vim есть множество умных плагинов для "автоматического закрытия", и легко придумать свои собственные простые сопоставления, такие как inoremap () ()<Left> .

Но как в Vim, так и в Sublime вы можете просто ввести () и нажать <Left> . Это, конечно, не так неловко, как выход из режима вставки, чтобы вернуться на один символ назад.

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