3

Для меня познавательный процесс необходимости явного хранения и извлечения значений из именованных регистров в Vim все еще ощущается как бремя после 3 лет и нескольких книг Vim. Я знаю, что у него есть потенциал, но процесс хранения и восстановления нарушает мой поток и вредит моему мозгу.

Возьмите, например, вставку:
В Emacs пользователь просто спамит кнопку вставки, чтобы перебрать список уничтожений. Хотя, возможно, "тупой", мне все еще нравится это. Это жидкость, не требует планирования и минимального мышления.

В Vim пользователь из первых рук должен сохранить указанное значение в именованном регистре, и есть из чего выбирать. Какой из них вы выбираете? Либо вы просто используете 1-3 "любимых" регистра и вставляете в них все, что все еще в некоторой степени "глупо". Если нет, вы должны выбрать именованный регистр на основе значения, которое вы храните, или какой-либо другой способ запоминания / связывания значения для последующего извлечения.

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

Я просто недостаточно умен, чтобы справиться с Vim? Я знаю о плагине YankStack , но я не хочу имитировать Emacs если нет другого пути. Как вы идете об этом?

3 ответа3

3

Дело в том, что vi никогда не отводит глаз от экрана. Я скажу это снова по-другому - это похоже на "разум слияния" Спока из TOS ("Оригинальная серия") - я связан с намерением моего редактирования буфера, и мои пальцы находятся на клавишах управления для Королевство. На самом деле, они (мои пальцы) - просто протокол более низкого уровня, о котором я редко беспокоюсь ...

Вот мой типичный умственный процесс.

Мне нужен этот кусок данных, и, как правило, я думаю о блоке данных как о наборе строк. Итак, во-первых, мой разум на 95% думает с точки зрения ряда линий. Остальные 5% времени я буду вырезать слово или два в буфер янк (вывод), чтобы поместить его где-то еще в той же строке - просто для перемещения слова или буквы вокруг - как правило. Я даже баловался с рывками в командной строке, но я не использую это достаточно, чтобы запомнить это.

Итак, что касается случая с 95% - случая диапазона линий - лично для меня я придумал ...

Я хочу эти строки, от "b"(начало) до "e"(nd) - поэтому я буду отмечать начало диапазона строк с пометкой "b" и конец с "e", и я либо удаляю в регистры, начинающиеся с диапазонов регистров, созданных ForTran'ом, но обычно я буду использовать, например: "Я собираю вещи в регистры", "a", "b", "c" и т. д. (или "i", « j "," k ", ... или" u "," v "," w ", ...) и в конечном итоге вставит эти регистры в другое место. Вместо "b" - "e" я выберу "a" - "z". Но в любом случае, в моем автоматическом способе маркировки вещей (почти отключенных от моего мозга) - я устанавливаю диапазон - или использую предопределенные диапазоны, такие как «%», и автоматически зацикливаю в диапазоне регистров.

Затем - я просто пойду туда, где я хочу начать вставку, и начну выдергивать из буферов регистров - и начинать с "a", затем "b", затем "c" - пока у меня не закончатся вещи для вставки. Или, «в зависимости от того, была ли у меня пицца прошлой ночью», я буду использовать другое специальное "соглашение", которое работает для меня в то время ...

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

И мой ответ - я постоянно использую регистры в vi. Фактически, когда я не добавляю контент, я, как правило, взаимодействую с регистром одним способом, формой или формой. Регистры хороши. Для меня они намного лучше, чем поиск через окно потенциального содержимого буфера вставки. Потому что с vi, если я ошибаюсь, это одно "u", и они пробуют другую из моих обычных буферных букв - пока я не получу правильную. Этот последний случай обычно является единичным случаем - я обычно правильно понимаю название буквы буфера.

Веселитесь вместе с vi. Vi, особенно с возможностью взаимодействия с фильтрами среды (некоторые из моих любимых - sort, fmt и grep) - эй, теперь есть мысль - я обычно задаю диапазон строк для обработки моего внешнего фильтра. Интересно, смогу ли я обработать буфер через фильтр в другой буфер? Затем вставьте содержимое отфильтрованного буфера туда, где оно мне нужно. Что-то, о чем нужно подумать, когда я использую vi в следующий раз - например, через минуту или около того ... Я даже Vi (за) мои сессии в XEmacs. :-) Болен, большинству, но вчера я видел этот забавный график, который кажется таким подходящим - ах - поэзия UNIX:

Классические кривые обучения для некоторых распространенных редакторов

1

Я редко использую именованные регистры сознательно для поиска / размещения, но другие регистры, такие как "0 , который содержит последний удар "+ который содержит то, что находится в буфере обмена системы или "= , регистр выражений, являются важными частями моего рабочего процесса.

Я склонен резервировать именованные регистры для макросов, которые я часто использую.

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

0

Я использую регистры. Я обычно использую «а» для хранения текста. Если я усложняюсь [1] и хочу запомнить несколько вещей, я использую либо последовательные буквы, либо мнемонические буквы - в зависимости от того, как долго я оцениваю, мне нужно будет запомнить их значения.

:registers тоже пригодятся.

[1] ... и я стараюсь не усложнять.

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