Как пользоваться редактором vi linux

Как пользоваться редактором vi linux

фЕЛУФПЧЩН ТЕДБЛФПТПН (text editor) ОБЪЩЧБАФ РТПЗТБННХ, ЛПФПТБС РТЕДОБЪОБЮЕОБ ДМС ТЕДБЛФЙТПЧБОЙС (УПУФБЧМЕОЙС Й ЙЪНЕОЕОЙС) ЖБКМПЧ, УПДЕТЦБЭЙИ ФПМШЛП ФЕЛУФ, ОБРТЙНЕТ: РЙУШНП, РТПЗТБННБ ОБ СЪЩЛЕ C, УЙУФЕНОЩК ЛПОЖЙЗХТБГЙПООЩК ЖБКМ. рТЙ ФПН, ЮФП ЙНЕЕФУС НОПЗП ТБЪМЙЮОЩИ ТЕДБЛФПТПЧ ДМС УЙУФЕНЩ Linux, ЕДЙОУФЧЕООЩК, ЮШЈ РТЙУХФУФЧЙЕ ВХДЕФ ЗБТБОФЙТПЧБОП Ч МАВПК УЙУФЕНЕ UNIX ЙМЙ Linux љ— ЬФП vi (visual editor). тЕДБЛФПТ vi ОЕ СЧМСЕФУС УБНЩН РТПУФЩН Ч ЙУРПМШЪПЧБОЙЙ, Й ЕЗП ЙОФЕТЖЕКУ ОЕ ПЮЕОШ РПОСФЕО УБН РП УЕВЕ. пДОБЛП ЧЧЙДХ УЧПЕК ТБУРТПУФТБОЈООПУФЙ, Б ПФЮБУФЙ Й РПФПНХ, ЮФП ЧМБДЕОЙЕ ЙН Ч ОЕЛПФПТЩИ УЙФХБГЙСИ ОЕПВИПДЙНП, ЕНХ РПУЧСЭБЕФУС ЧОЙНБОЙЕ Ч ЬФПК ЛОЙЗЕ.

чЩВПТ ФЕЛУФПЧПЗП ТЕДБЛФПТБ ПВЩЮОП СЧМСЕФУС ЧПРТПУПН ЙОДЙЧЙДХБМШОПЗП ЧЛХУБ. нОПЗЙЕ РПМШЪПЧБФЕМЙ РТЕДРПЮЙФБАФ РЩЫОЩК, НПЭОЩК Й ОБДЕМЈООЩК РПДУЛБЪЛБНЙ ТЕДБЛФПТ emacs. ьФПФ ТЕДБЛФПТ ЙНЕЕФ ВПМШЫЕ ЖХОЛГЙК, ЮЕН МАВБС ДТХЗБС РТПЗТБННБ Ч НЙТЕ UNIX. л РТЙНЕТХ, Ч ТЕДБЛФПТЕ emacs ЙНЕЕФУС УПВУФЧЕООЩК ЧУФТПЕООЩК ДЙБМЕЛФ СЪЩЛБ РТПЗТБННЙТПЧБОЙС LISP. лТПНЕ ФПЗП, Х ЬФПЗП ТЕДБЛФПТБ ЙНЕЕФУС НОПЦЕУФЧП ТБУЫЙТЕОЙК (ПДОП ЙЪ ОЙИ љ— РТПЗТБННБ ЙУЛХУУФЧЕООПЗП ЙОФЕММЕЛФБ ФЙРБ РТПЗТБННЩ Eliza). пДОБЛП, РПУЛПМШЛХ УБН ТЕДБЛФПТ Й ЖБКМЩ, ЛПФПТЩЕ ЕЗП РПДДЕТЦЙЧБАФ, УТБЧОЙФЕМШОП ЧЕМЙЛЙ, ЬФПФ ТЕДБЛФПТ НПЦЕФ ОЕ ВЩФШ ХУФБОПЧМЕО ОБ ОЕЛПФПТЩИ УЙУФЕНБИ. оБРТПФЙЧ, ТЕДБЛФПТ vi СЧМСЕФУС ОЕВПМШЫЙН Й НПЭОЩН, ПДОБЛП ЙУРПМШЪПЧБФШ ЕЗП УМПЦОЕЕ. фЕН ОЕ НЕОЕЕ, РТЙ ЪОБЛПНУФЧЕ У ТЕДБЛФПТПН vi ПО Ч ДЕКУФЧЙФЕМШОПУФЙ ПЛБЪЩЧБЕФУС ПЮЕОШ РТПУФЩН.

ч ЬФПН ТБЪДЕМЕ ДБЈФУС МЙЫШ ЧЧЕДЕОЙЕ Ч vi љ— НЩ ВХДЕН ПВУХЦДБФШ ОЕ ЧУЕ ЕЗП ЖХОЛГЙЙ, Б МЙЫШ ОХЦОЩЕ ДМС ФПЗП, ЮФПВЩ ОБЮБФШ ТБВПФБФШ Ч ОЕН. дПРПМОЙФЕМШОХА ЙОЖПТНБГЙА НПЦОП РПМХЮЙФШ ЙЪ ЬЛТБООПК ДПЛХНЕОФБГЙЙ Л ЛПНБОДЕ vi .

пУОПЧОЩЕ РПОСФЙС

ч МАВПК НПНЕОФ РТЙ ТБВПФЕ Ч ТЕДБЛФПТЕ vi ЧЩ ОБИПДЙФЕУШ Ч ПДОПН ЙЪ ФТЈИ ТЕЦЙНПЧ ТЕДБЛФПТБ: ЛПНБОДОЩК ТЕЦЙН (command mode), ТЕЦЙН ЧЧПДБ (insert mode) Й ТЕЦЙН РПУМЕДОЕК УФТПЛЙ (last line mode).

рТЙ ЪБРХУЛЕ ТЕДБЛФПТБ vi ЧЩ ПЛБЪЩЧБЕФЕУШ Ч ЛПНБОДОПН ТЕЦЙНЕ. ч ЬФПН ТЕЦЙНЕ НПЦОП ДБЧБФШ ЛПНБОДЩ ДМС ТЕДБЛФЙТПЧБОЙС ЖБКМПЧ ЙМЙ РЕТЕКФЙ Ч ДТХЗПК ТЕЦЙН. оБРТЙНЕТ, ЧЧПДС x Ч ЛПНБОДОПН ТЕЦЙНЕ НЩ ХДБМСЕН УЙНЧПМ, ОБ ЛПФПТЩК ХЛБЪЩЧБЕФ ЛХТУПТ. лМБЧЙЫЙ-УФТЕМЛЙ РЕТЕНЕЭБАФ ЛХТУПТ РП ТЕДБЛФЙТХЕНПНХ ЖБКМХ. лБЛ РТБЧЙМП, ЛПНБОДЩ, ЙУРПМШЪХЕНЩЕ Ч ЛПНБОДОПН ТЕЦЙНЕ, УПУФПСФ ЙЪ ПДОПЗП ЙМЙ ДЧХИ УЙНЧПМПЧ.

пУОПЧОПК ЧЧПД Й ТЕДБЛФЙТПЧБОЙЕ ФЕЛУФБ ПУХЭЕУФЧМСЕФУС Ч ТЕЦЙНЕ ЧЧПДБ. рТЙ ЙУРПМШЪПЧБОЙЙ ТЕДБЛФПТБ vi ПУОПЧОПЕ ЧТЕНС, УЛПТЕЕ ЧУЕЗП, ВХДЕФ РТПЧПДЙФШУС ЙНЕООП Ч ЬФПН ТЕЦЙНЕ. рЕТЕИПД Ч ТЕЦЙН ЧЧПДБ ЙЪ ЛПНБОДОПЗП ТЕЦЙНБ ПУХЭЕУФЧМСЕФУС ЛПНБОДПК i (ПФ УМПЧБ insert). оБИПДСУШ Ч ТЕЦЙНЕ ЧЧПДБ, НПЦОП ЧЧПДЙФШ ФЕЛУФ Ч ФП НЕУФП, ЛХДБ ХЛБЪЩЧБЕФ ЛХТУПТ. чЩИПД ЙЪ ТЕЦЙНБ ЧЧПДБ Ч ЛПНБОДОЩК ТЕЦЙН ПУХЭЕУФЧМСЕФУС ЛМБЧЙЫЕК Esc .

тЕЦЙН РПУМЕДОЕК УФТПЛЙ љ— ЬФП УРЕГЙБМШОЩК ТЕЦЙН, Ч ЛПФПТПН ТЕДБЛФПТХ ДБАФУС УМПЦОЩЕ ЛПНБОДЩ. рТЙ ЧЧПДЕ ЬФЙИ ЛПНБОД ПОЙ ПФПВТБЦБАФУС Ч РПУМЕДОЕК УФТПЛЕ ЬЛТБОБ (ПФУАДБ РПЫМП ОБЪЧБОЙЕ ТЕЦЙНБ). оБРТЙНЕТ, ЕУМЙ ЧЧЕУФЙ Ч ЛПНБОДОПН ТЕЦЙНЕ ЛПНБОДХ : , ФП ПУХЭЕУФЧЙФУС РЕТЕИПД Ч ТЕЦЙН РПУМЕДОЕК УФТПЛЙ, Й НПЦОП ВХДЕФ ЧЧПДЙФШ ФБЛЙЕ ЛПНБОДЩ, ЛБЛ wq (ЪБРЙУБФШ ЖБКМ Й РПЛЙОХФШ ТЕДБЛФПТ vi ) ЙМЙ q! (ЧЩКФЙ ЙЪ ТЕДБЛФПТБ vi ВЕЪ УПИТБОЕОЙС ЙЪНЕОЕОЙК). ч ТЕЦЙНЕ РПУМЕДОЕК УФТПЛЙ ПВЩЮОП ЧЧПДСФУС ЛПНБОДЩ, ОБЪЧБОЙЕ ЛПФПТЩИ УПУФПЙФ ЙЪ ОЕУЛПМШЛЙИ УЙНЧПМПЧ. ч ЬФПН ТЕЦЙНЕ Ч РПУМЕДОАА УФТПЛХ ЧЧПДЙФУС ЛПНБОДБ, РПУМЕ ЮЕЗП ОБЦЙНБЕФУС ЛМБЧЙЫБ Enter , Й ЛПНБОДБ ЙУРПМОСЕФУС.

ъБРХУЛ ТЕДБЛФПТБ vi

оБЙМХЮЫЙН УРПУПВПН ХСУОЙФШ ДМС УЕВС ЧУЕ ЛПОГЕРГЙЙ ТЕДБЛФПТБ vi ВХДЕФ ЪБРХУФЙФШ ЕЗП Й ПФТЕДБЛФЙТПЧБФШ Ч ОЕН ОЕЛПФПТЩК ЖБКМ. ч РТЙЧПДЙНЩИ ОЙЦЕ « ЬЛТБОЮЙЛБИ » ВХДЕФ РПЛБЪБОП ЧУЕЗП ОЕУЛПМШЛП УФТПЛ ФЕЛУФБ, ЛБЛ ВХДФП ФЕЛУФПЧЩК ЬЛТБО ЙНЕЕФ РП ЧЩУПФЕ ЧУЕЗП 6 УФТПЛ ЧНЕУФП 24. уЙОФБЛУЙУ ТЕДБЛФПТБ vi ФБЛПЧ:

Читайте также:  Системное имя windows store

ЗДЕ filenameљ— ЙНС ЖБКМБ, ЛПФПТЩК ОБДП ТЕДБЛФЙТПЧБФШ.

ъБРХУФЙН ТЕДБЛФПТ vi Й УПЪДБДЙН ОПЧЩК ЖБКМ РП ЙНЕОЙ test ЛПНБОДПК

оБ ЬЛТБОЕ ВХДЕФ РТЙНЕТОП УМЕДХАЭБС ЛБТФЙОЛБ:

ПВПЪОБЮБЕФ РХУФЩЕ УФТПЛЙ, ЙОБЮЕ ЗПЧПТС, ХЛБЪЩЧБЕФ, ЮФП НЩ ОБИПДЙНУС Ч ЛПОГЕ ЖБКМБ. уЙНЧПМ _ ПВПЪОБЮБЕФ ЛХТУПТ.

Источник

Работа с редактором vi

Текстовым редактором (text editor) называют программу, которая предназначена для редактирования (составления и изменения) файлов, содержащих только текст, например: письмо, программа на языке C, системный конфигурационный файл. При том, что имеется много различных редакторов для системы Linux, единственный, чьё присутствие будет гарантировано в любой системе UNIX или Linux═ — это vi (visual editor). Редактор vi не является самым простым в использовании, и его интерфейс не очень понятен сам по себе. Однако ввиду своей распространённости, а отчасти и потому, что владение им в некоторых ситуациях необходимо, ему посвящается внимание в этой книге.

Выбор текстового редактора обычно является вопросом индивидуального вкуса. Многие пользователи предпочитают пышный, мощный и наделённый подсказками редактор emacs. Этот редактор имеет больше функций, чем любая другая программа в мире UNIX. К примеру, в редакторе emacs имеется собственный встроенный диалект языка программирования LISP. Кроме того, у этого редактора имеется множество расширений (одно из них═ — программа искусственного интеллекта типа программы Eliza). Однако, поскольку сам редактор и файлы, которые его поддерживают, сравнительно велики, этот редактор может не быть установлен на некоторых системах. Напротив, редактор vi является небольшим и мощным, однако использовать его сложнее. Тем не менее, при знакомстве с редактором vi он в действительности оказывается очень простым.

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

Основные понятия

В любой момент при работе в редакторе vi вы находитесь в одном из трёх режимов редактора: командный режим (command mode), режим ввода (insert mode) и режим последней строки (last line mode).

При запуске редактора vi вы оказываетесь в командном режиме. В этом режиме можно давать команды для редактирования файлов или перейти в другой режим. Например, вводя x в командном режиме мы удаляем символ, на который указывает курсор. Клавиши-стрелки перемещают курсор по редактируемому файлу. Как правило, команды, используемые в командном режиме, состоят из одного или двух символов.

Основной ввод и редактирование текста осуществляется в режиме ввода. При использовании редактора vi основное время, скорее всего, будет проводиться именно в этом режиме. Переход в режим ввода из командного режима осуществляется командой i (от слова insert). Находясь в режиме ввода, можно вводить текст в то место, куда указывает курсор. Выход из режима ввода в командный режим осуществляется клавишей Esc .

Режим последней строки═ — это специальный режим, в котором редактору даются сложные команды. При вводе этих команд они отображаются в последней строке экрана (отсюда пошло название режима). Например, если ввести в командном режиме команду : , то осуществится переход в режим последней строки, и можно будет вводить такие команды, как wq (записать файл и покинуть редактор vi ) или q! (выйти из редактора vi без сохранения изменений). В режиме последней строки обычно вводятся команды, название которых состоит из нескольких символов. В этом режиме в последнюю строку вводится команда, после чего нажимается клавиша Enter , и команда исполняется.

Запуск редактора vi

Наилучшим способом уяснить для себя все концепции редактора vi будет запустить его и отредактировать в нем некоторый файл. В приводимых ниже « экранчиках » будет показано всего несколько строк текста, как будто текстовый экран имеет по высоте всего 6 строк вместо 24. Синтаксис редактора vi таков:

Читайте также:  Kms activator windows 10 как пользоваться

где filename — имя файла, который надо редактировать.

Запустим редактор vi и создадим новый файл по имени test командой

На экране будет примерно следующая картинка:

обозначает пустые строки, иначе говоря, указывает, что мы находимся в конце файла. Символ _ обозначает курсор.

Ввод текста

Редактор vi сейчас находится в командном режиме. Нажмём клавишу i , и редактор перейдёт в режим ввода текста. Теперь вводим, например, следующий текст:

Введите любое количество строк, после каждой нажимая клавишу Enter . Исправлять опечатки можно с помощью клавиши Backspace. Для выхода из режима ввода и возвращения в командный режим нажмём клавишу Esc .

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

Помимо команды i , есть ещё несколько способов вставить текст. Так, команда a начинает вставлять текст после текущего положения курсора, а не прямо в текущую. Например, приведём с помощью клавиш-стрелок курсор к пробелу, разделяющему слова good и men:

Нажмём теперь клавишу a (редактор перейдёт в режим ввода) и введём wo, после чего нажмём клавишу Esc и вернёмся в командный режим. На экране будет следующее:

Для того, чтобы начать вводить текст со следующей строки, используем команду o . Нажмём эту клавишу и введём одну-две строки текста:

Удаление текста

В командном режиме нажатие клавиши x удаляет символ, на который указывает курсор. Если нажать клавишу x пять раз, то на экране останется:

Теперь нажмём клавишу a и введём некоторый текст, после чего опять нажмём клавишу Esc :

Можно удалять целые строки командой dd (т. е. нажав клавишу d два раза подряд). Если курсор стоит на второй строке, и вы введёте команду dd , на экране останется следующее:

Для того, чтобы удалить слово, на которое показывает курсор, можно использовать команду dw . Подведите курсор к слову good и введите dw . Результат будет следующим:

Изменение текста

Отдельные части текста можно заменять на другие; для этого используется команда R . Подведите курсор к первому символу в слове meeting, нажмите клавишу R и введите слово session.

Действие команды R напоминает действие команд i и a , однако при команде R новый текст не вставляется, а стирает старый.

Команда r заменяет один символ, а именно тот, на который указывает курсор. Например, подведём курсор к началу слова Now, введём команду r и за ней букву C. На экране возникнет следующее:

С помощью команды

можно поменять регистр буквы, на которую указывает курсор (с верхнего на нижний и наоборот). Например, если подвести курсор к букве o в слове Cow и нажимать клавишу

, то в конце концов возникнет:

Команды для движения курсора

Вы уже знаете, что передвигаться по экрану (и по документу) можно с помощью клавиш-стрелок. В дополнение можно для движения курсора использовать клавиши h , j , k и l . Они будут сдвигать курсор соответственно влево, вниз, вверх и вправо. Этими командами можно воспользоваться, если (по какой-нибудь причине) клавиши-стрелки действуют неправильно. Команда w перемещает курсор на начало следующего слова; команда b перемещает курсор на начало предыдущего слова.

Команда 0 (клавиша ноль) перемещает курсор на начало текущей строки, а команда $ перемещает курсор в её конец.

При редактировании больших файлов вам, возможно, захочется « перелистывать » целые экраны вперёд (т. е. вниз) и назад (вверх); для этого используются команды соответственно Ctrl — F и Ctrl — B .

Для того, чтобы переместить курсор в конец файла, используется команда G . Можно также поместить курсор на строку с данным номером; например, команда 10G поместит курсор на строку с номером 10. Для того, чтобы переместить курсор в начало файла, можно использовать команду 1G .

Читайте также:  Windows doctor repack rus

Команды движения курсора можно совмещать с другими командами, например, с командами удаления текста. Например, команда d$ удалит все, что находится между текущим положением курсора и концом строки; команда dG удалит все, что находится между текущим положением курсора и концом файла и т. д.

Сохранение изменений и выход из редактора vi

Для выхода из редактора vi без сохранения изменений, сделанных в файле, используется команда :q! . Когда вводится команда : , курсор переходит на последнюю строку экрана, и таким образом редактор оказывается в режиме последней строки:

В этом режиме возможно вводить некоторые расширенные команды. Одна из них — команда q! , которой завершается работа с редактором vi без сохранения сделанных изменений. Команда :wq сначала сохраняет файл со сделанными изменениями, а затем выходит из редактора vi . Команда ZZ (выданная в командном режиме, т. е. без введения команды : ) эквивалентна команде :wq . Если файл со времени последней модификации не изменялся, то время создания файла также не будет изменено. Напомним, что в режиме последней строки введение команды завершается клавишей Enter .

Чтобы сохранить файл, но не выходить из редактора vi , используется команда :w .

Переключение между файлами

Для того, чтобы приступить к редактированию другого файла, используется команда :e . Например, чтобы прекратить редактирование файла test и вместо этого начать редактирование файла foo, надо ввести команду

Если команда :e будет введена без предварительного сохранения файла на диск, будет выдано сообщение об ошибке:

Это сообщение означает, что после последней модификации не было сохранения файла, и редактор vi отказывается приступить к редактированию другого файла. Сейчас можно либо сохранить сделанные изменения командой :w и затем вводить команду :e , либо использовать команду

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

Вставка содержимого других файлов

Включить в текущий файл содержимое другого файла можно командой :r . Например, команда

вставит содержимое файла foo.txt в текст начиная с текущего положения курсора.

Запуск команд оболочки

Из редактора vi можно выполнять команды оболочки. Команда :r! работает аналогично команде :r , но вместо содержимого другого файла она вставляет в редактируемый файл выдачу некоторой команды. Например, введя команду

мы получим следующее:

Можно также « временно выйти » из редактора, запустить команду и затем вернуться обратно. Например, если будет введена команда

то команда ls -F будет исполнена, её результат будет выдан на экран, но выдача вставлена в файл не будет. Если используется команда

то редактор vi запускает сеанс (instance) командной оболочки, прерывая редактирование на время исполнения команд. Для выхода из оболочки и возвращения к редактированию надо ввести команду exit .

Помощь в работе с редактором vi

Как и в случае с любой программой в системе Linux в первую очередь следует обратиться к экранной документации к программе vi . Следует знать также, что редактор vi является пользовательским интерфейсом редактора ex , который выполняет многие из команд режима последней строки редактора vi . Поэтому, в дополнение к сказанному выше, можно также читать экранную документацию к редактору ex . Обычно (кроме режимов восстановления после системных сбоев) вам доступна более современная и улучшенная версия vi — vim , который имеет аналогичный vi интерфейс, поддерживает все команды vi и кроме того — массу дополнительных возможностей. Подробное руководство по vim можно получить, запустив этот редактор и отдав команду :help .

Источник

Оцените статью