Споры о vi и vim могут быть такими же жаркими среди некоторых людей, как и споры о vi и emacs, но независимо от того, где вы стоите, есть несколько ситуаций, когда вы можете оказаться с vi и никаким другим вариантом. Это стандартная часть POSIX, и поэтому она включена практически во все реализации Unix и Linux, когда-либо созданные в современную эпоху. Если вы когда-нибудь устраняете проблемы со встроенной системой, такой как беспроводной маршрутизатор или что-то подобное, вам нужно будет использовать чистый vi.
Чистая, хотя и урезанная форма vi также включена в busybox, поэтому, если вы когда-либо работали с ограниченной командной строкой восстановления в системе Linux, вы можете использовать его только в качестве редактора. Вам не нужно беспокоиться, если вы окажетесь в любом из предыдущих случаев, потому что вы все еще можете просматривать номера строк в vi и восстанавливать некоторые другие тонкости, к которым вы привыкли, если вы обычный пользователь vim.
Метод 1: проверка номеров строк в vi
Если вы когда-нибудь видели, чтобы кто-то участвовал в дебатах vi vs vim, то вы, вероятно, видели, как кто-то привносит команду vim set ruler в качестве огромного преимущества для vim по сравнению с исходным vi. К счастью, вы можете просматривать номера строк и в чистом vi. Если вы работаете на встроенном устройстве, то, вероятно, увидите какое-то приглашение для входа в систему. Если нет, то вы можете нажать Ctrl + Alt + F1 или F2, чтобы добраться туда, куда вам нужно. Пользователи графических версий Linux могут захотеть нажать Ctrl + Alt + T или Super + T, чтобы открыть терминал. Вы также можете выполнить поиск по слову терминал в Ubuntu Unity Dash, но имейте в виду, что если вы просто наберете vi в полнофункциональной версии Linux, вы вполне можете получить вместо этого vim. Вы всегда можете запустить команду busybox vi , как уже указали многие гуру Linux.
Обычно вы можете ввести vi fileName , где fileName заменяется фактическим именем файла, чтобы загрузить любой текстовый файл, с которым вам нужно работать. Вы можете ничего не увидеть внизу, но вам не следует сразу переходить в режим вставки. Во всем, что основано на оригинальном vi, например, используемом на AIX, HPUX, Solaris и некоторых машинах OpenIndiana, вы можете нажать Ctrl + G, чтобы открыть панель, которая должна точно сказать вам, где вы находитесь в файле.
Используйте привязки клавиш vi или клавиши курсора, если они доступны, для перехода к новую позицию, а затем снова нажмите Ctrl + G. Эта примитивная форма линейки не будет обновляться динамически так же, как в vim, но она должна работать, чтобы позволить вам достаточно хорошо проверять номера строк в vi, как это было.
Если бы вы вы работаете в Linux, а не в чистом Unix, и вы использовали busybox vi для открытия файла, тогда у вас автоматически появляется очень примитивная линейка внизу, без необходимости нажимать какую-либо комбинацию клавиш. Это не скажет вам позицию столбца, но даст вам знать, где вы находитесь в файле, и даст вам процент, который говорит вам, сколько еще вам нужно пройти. Этот процент должен быть доступен и в других версиях, и это позволяет очень легко увидеть, сколько времени вам нужно на чтение документации. Вы можете иногда столкнуться с этой проблемой, если устанавливаете что-то на маршрутизатор или автономный сервер и еще не имеете справочных страниц, на которые можно было бы ссылаться.
Метод 2: Удаление строки
Если вы привыкли использовать ключевые команды в vim, то вы уже знаете больше всего из тех, которые вам понадобятся для обычного ортодоксального vi. Нажмите: d, чтобы удалить текущую строку. В зависимости от вашей версии вы также можете просто набрать dd, и вы увидите, что линия внезапно исчезает на ваших глазах.
При этом у вас также есть доступ к предположительно примитивному форма буфера обмена, с которым многим программистам Unix гораздо проще работать по сравнению с графическим буфером обмена, который есть во многих других типах программ.
Если вы хотите удалить строку текста и выдернуть ее. чтобы вы могли поместить его в другое место, что фактически сокращает его, тогда вы можете использовать: y или yy в зависимости от вашей версии. Пользователи, находящиеся в режиме вставки и обнаружившие эти буквы в документе, могут просто нажать Esc, чтобы сначала вернуться в командный режим.
После того, как вы выдернули текст, перейдите к новой позиции, в которой вы хотите его разместить. Как только вы окажетесь там, введите p, чтобы поместить текст после текущей позиции. Вы можете использовать заглавную букву P, если собираетесь расположить текст перед текущим местом, где находится ваш курсор.
Имейте в виду, что если вы привыкли к сочетаниям клавиш Ctrl + C, Ctrl + X и Ctrl + V, которые распространены в Windows и Среды Macintosh вы не сможете использовать их здесь. Редактор vi является модальным, что означает, что есть отдельные команды и режим вставки. С другой стороны, если у вас возникли небольшие трудности с навигацией, поместите пальцы на клавиши h, j, k и l.
Используйте h как стрелку вправо, l как левую. стрелка, j, чтобы переместиться вниз по строке, а затем k, чтобы переместиться вверх, когда вы хотите выбрать строку для удаления. Это может показаться немного нелогичным, но эти сочетания клавиш были созданы в то время, когда клавиши управления курсором не были универсальными. Подавляющее большинство пользователей vi на самом деле предпочитают их, потому что они не требуют, чтобы вы убирали пальцы с домашней строки.
Хотя удаление и перемещение текста таким способом не обязательно может быть таким сложным, как он находится в vim, вам вполне может понравиться, если немного попрактиковаться.