Как просмотреть номера строк в vi



Попробуйте наш инструмент устранения неполадок

Споры о vi против vim могут быть такими же жаркими среди некоторых людей, как и споры о vi против emacs, но независимо от того, где вы стоите, есть несколько ситуаций, в которых вы можете оказаться с vi и никаким другим вариантом. Это стандартная часть POSIX, и поэтому она включена практически во все реализации Unix и Linux, когда-либо созданные в современную эпоху. Если вы когда-нибудь устраняете проблемы со встроенной системой, например беспроводным маршрутизатором или чем-то подобным, вам нужно будет использовать чистый vi.



Чистая, хотя и урезанная форма vi также включена в busybox, поэтому, если вы когда-либо работали с ограниченной командной строкой восстановления в системе Linux, вы могли использовать ее только в качестве редактора. Вам не нужно беспокоиться, если вы окажетесь в любом из предыдущих случаев, потому что вы все еще можете просматривать номера строк в vi и восстанавливать некоторые другие тонкости, к которым вы привыкли, если вы являетесь обычным пользователем vim.



Метод 1: проверка номеров строк в vi

Если вы когда-нибудь видели, чтобы кто-то участвовал в дебатах между vi и 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 заменяется фактическим именем файла, чтобы загрузить любой текстовый файл, с которым вам нужно работать. Вы можете ничего не увидеть внизу, но вам не следует сразу переходить в режим вставки. Во всем, что основано на оригинальном 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, вам вполне может понравиться это после небольшой практики.

4 минуты на чтение