Как вы могли бы повысить свою эффективность, используя Vi в качестве программиста? В этой статье я хотел бы поделиться своим опытом после нескольких лет использования Vi в качестве основного редактора программирования.

Базовая точность

Во-первых, Vi обеспечивает точность в своей основе. Мы должны понимать это даже для того, чтобы начать использовать Vi. Что это значит?

4j // move the cursor 4 lines down
2cw // change the next two words
dt) // delete character till the next )

Вы можете переместить курсор вниз, нажав стрелку Down четыре раза, или, как в Vi, вы можете набрать 4j, чтобы он переместился вниз на четыре строки. Используя подход со стрелкой, мы можем перемещать курсор куда угодно, однако, если вы уверены, что мы хотим переместиться только на четыре строки вниз, тогда 4j показывает гораздо большую уверенность, построенную с точностью. Весьма спорно, какой из этих двух способов более эффективен, поскольку ответ на этот вопрос действительно зависит от ваших личных качеств и типа работы, которую вы выполняете. В конце концов, если вам нравится способ быть точным, и вы считаете, что точность может быть одним из компонентов эффективности, то Vi — это редактор, на который стоит обратить внимание.

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

Вы можете попрактиковаться в перемещении вниз на четыре строки миллион раз, используя стрелку Down, но в целом это 4 нажатия клавиши, поэтому сокращение до 2 нажатий клавиши с помощью 4j кажется немного более надежным и воспроизводимым. Для нас, стремящихся к точности и пытающихся стать лучше всего на 0,1 секунды, Vi дает нам небольшое преимущество из коробки. Конечно, если вы когда-нибудь войдете в мир Vi, вам нужно запомнить так много команд и так много способов что-то сделать, что само по себе дает нам много вещей, которые нужно практиковать, чтобы стать лучше.

Дилемма двух режимов

Точно так же, как в том, что плавает, вы также можете утонуть, эффективность Vi имеет свою собственную дилемму, которая состоит из двух режимов: режима команд и режима вставки. Чтобы поддерживать такие команды, как 4j, нам нужно переключиться в командный режим с помощью Esc. И всякий раз, когда вы готовы печатать, мы можем переключиться в режим вставки, например, используя i.

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

Но бывают ситуации, когда написание и исправление вмешиваются. Например, вы можете писать абзац, в котором вы не знаете, что пишете, поэтому вы можете исправлять себя каждую секунду. В этом случае, строго используя Vi, вы можете постоянно переключаться между двумя режимами. Независимо от того, как вы освоите клавишу Esc, вы все равно можете чувствовать разочарование, что два режима — это перебор. Да, в таком случае мы могли бы пожалеть об изобретении Vi.

Хозяин своей судьбы

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

Это требует некоторого планирования. Если вы допустили ошибку при редактировании, первое, что вы должны сделать, это исправить себя. Но это может быть не умный ход. Может и не быть, а может быть, поэтому нам нужно потренироваться, чтобы знать наверняка. Здесь мы только хотим подчеркнуть случай «может не быть».

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

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

Как видите, это не совсем относится к Vi, это немного более философский подход к редактированию. Человеческий мозг не любит быстро переключаться между двумя разными идеями, это может утомить его или даже свести с ума. Однако переключение на удобную частоту может быть хорошим упражнением для повышения нашей продуктивности, поскольку наш мозг тоже время от времени любит сюрпризы. Таким образом, ключом здесь является частота, которую вы хотите придумать, чтобы чувствовать себя комфортно, а также максимально эффективно.

Краткое содержание

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