2

Я просто переключился на Mac и начал использовать sublimetext 2 для кодирования, потому что он имеет командный режим и удобство textmate.

Когда я работал в Windows, у e-texteditor были и эти две черты, но после активации командный режим был бы таким, где курсор всегда находится между символами, мигающая полоса | добрый, а не тот, который всегда подчеркивает буквы.

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

Я уверен, что vim gurus расскажет мне все о том, что это за дизайн или что-то в этом роде, спасибо, но я просто хочу найти решение, я просто хочу использовать курсор типа панели во всем, что я делаю в командном или визуальном режимах. Теперь я даже не могу найти настройки, чтобы изменить это где-либо. Так кто-нибудь сталкивался с такой же проблемой и нашел способ ее изменить?

2 ответа2

1

Курсор Vim всегда находится на символьной ячейке. Как вы и предполагали, это по замыслу. Это не может быть изменено, даже в качестве опции, потому что многое из поведения Vim зависит от этой характеристики. Лучший подход - это принять его и соответствующим образом адаптировать ваши привычки редактирования.

Например, чтобы добавить символ после конца строки, введите A

Тем не менее, есть настройка, которая может вам помочь. В Vim 7 был добавлен новый параметр «virtualedit»: еще onemore . Это позволяет перемещать курсор на одну позицию за концом строки, чтобы вы могли передвигаться за конец строки и набирать i чтобы вставить символ в конце строки. Увидеть

:help new-onemore
:help 'virtualedit'

Команда $ все еще перемещается к фактическому концу строки, поэтому вы можете использовать это отображение:

:nnoremap $ $l

Этот последний символ - строчная буква L.

1

Не нужно быть "гуру вим", чтобы сказать вам, что вам просто нужно изучить путь вим. Это то, что вам нужно делать всякий раз, когда вы берете новый инструмент. Не так ли?

Если вам не нравится поведение Vim по умолчанию, почему вы испытали (относительную) боль включения "винтажного режима" Sublime Text 2? Эта функция представляет собой интересную задачу для пользователей Vim, чтобы побудить их попробовать ST2, а не просто еще один экзотический способ его использования.

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

Чтобы решить вашу непосредственную проблему с использованием $i<right> для входа в режим вставки после конца строки: правильный способ сделать это - набрать A

Правильный способ войти в режим вставки после символа - набрать a .

Исходя из этого и ваших предыдущих знаний о i и $ я полагаю, вы можете найти правильный способ входа в режим вставки перед первым символом строки.

Вот как работает винтажный режим Vim и Sublime Text 2. Курсоры подчеркивания (в винтажном стиле) и прямоугольника (в vim) на персонаже, и все это каскадно связано с этим основным правилом. Если вы решили заменить этот курсор мигающим вертикальной полосы курсор по- прежнему будет рассмотрен ST2/ винтаж / Vim быть на характер , но ее визуальное состояние будет отличаться. Я не думаю, что такая ситуация работоспособна.

Так что да, изучите Vim, если хотите его использовать (или эрзац).

Лучший способ изучить его основы (и основы винтажного режима ST2 с некоторыми ограничениями) - это открыть Terminal.app и запустить vimtutor . Попробуйте, сделайте это пару раз, и вы перестанете раздражаться эксцентричностью Вима.

И, возможно, падение ST2 в процессе.

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