| 1. Режим работы редактора vi 2. Основы vi 3. Перемещение по документу 4. Вставка и замена текста 5. Поиск (и замена) текста 6. Процедуры вырезания и вставки 7. Макросы 8. Другие важные команды Режимы работы редактора vi Если вы работаете с многорежимньгм редактором, символы, вводимые с клавиатуры, После запуска vi всегда оказывается в командном режиме. В каком режиме он Просто наберите vi, чтобы вернуться к нормальному состоянию. Скорее всего, вы Основы vi Имя vi - это сокращение от "visual interface" ("визуальный интерфейс"). Редактор В большинство реализации ОС UNIX включается три версии vi. Стандартная, которой Да. Просто включите имена всех файлов, с которыми хотите работать, в командную vi *.cat Можно организовать и значительно более хитрый отбор файлов, если использовать Используйте команду :n в командном режиме. Этот простой прием сохраняет уйму Да. Введите в командном режиме :е#. Знак # - это сокращение для "предыдущий Введем :е!% в командной строке. Здесь мы опять используем внешний режим, указав Следует говорить "бэнг". Да. Попробуйте :args. Конечно, здорово загрузить сразу кучу файлов, набрав одну Да, Просто прокрутите список файлов назад. Чтобы сделать это, используйте Перемещение по документу Основные клавиши для перемещения курсора в командном режиме - это -"j", "k", Используйте CTRL-F, чтобы переместиться на экран вперед, и CTRL-B, чтобы Да, используйте CTRL-D для перемещения вниз и CTRL-U для перемещения вверх. Чтобы перейти в начало файла, наберите 1G. Это частный случай общей команды G ( Чтобы попасть в начало текущей строки, нажмите 0 или |. Ноль - это сокращение. Да. Нажмите CTRL-L, для того чтобы вызвать обновление экрана. Обычно таким Существует еще много разных команд, например, М, чтобы перейти в строку, Нет! Выучите основные команды перемещения и используйте их. Если вы привыкнетек Да, нажмите CTRL-G. Это даст вам еще кое-какую дополнительную информацию типа Поместите курсор на второй символ и наберите в командном режиме хр. Это сотрет Используйте команду - (тильда). Как и для большинства команд vi, перед ней Вставка и замена текста Примечание Это две самые важные возможности любого редактора текста. При вводе Вот краткий список основных команд: Практически все эти команды вставки текста работают одним и тем же образом. Они Нажмите CTRL-W, чтобы перепечатать его. Это один из немногих случаев, когда вы Нажмите CTRL-U. Другой способ состоит в том, чтобы вернуться в командный режим, Попробуйте, находясь в командном режиме, нажать U. Это обходит ограничения Да, используйте команду s. Мы знаем, что можно заменить один символ командой г, Используйте S. Это сотрет текущую строку, переместит курсор к первой позиции и Эта команда может изменить слово, строку или предложение. В дсйсгйи-гельности, Таблица 4.1. Команда замены cw Заменяет текст от текущей позиции курсора до конца текущего слова Для большинства версий vi в тексте, которым нужно заменить исходный, за Да. Используйте команду-точку (.). Этот простой прием экономит уйму времени. Поиск (и замена) текста Ну вот, теперь мы переходим во внешний режим. И будем использовать набор команд Образец для поиска searchpattern может быть простым кусочком текста, например, Конечно, Ищите один образец и заменяйте его другим, используя команду подстановки х, ys/searchpattern/replace/options где х,у - это начало и конец зоны поиска и замены, searchpattern - искомый 1,$s/catbrain/Priscilla/g В качестве замены для 1,S в этой команде можно использовать %, если экономия Нет. Используйте "." (точку) для обозначения текущей строки, а затем прикажите .,+l0s/fishbreath/Alfie/g Чтобы быть уверенным, что вы не меняете что-либо из того, что не имели в виду, Используйте "глобальную"- команду :g. Она даст вам возможность произвсти поиск :g/Priscilla/y A возьмет все строки, содержащие "Priscilia", и поместит их в конец буфера A, Эта :g/^[0-9]/s/^/ /g После использования этой команды текст на Fig. 4.1 будет отформатирован, как Widget Sales Report Fig. 4,1, Текст до глобальной команды переформатирования Widget Sales Report s:g/"I:0-9J/s/~/ /g Fig. 4.2. После выполнения глобальной команды пронумерованные строки сдвинуты Давайте поближе познакомимся с этой командой: : Выполнить эту команду в режиме ex. Как вы могли заметить, эта команда дает нам великолепную возможность манипулировать Процедуры вырезания и вставки Просто - dd. Она вырезает одну строку текста. Ах, вы хотите еще 10 последующих Да, нажмите уу. Команда yank, вызываемая таким образом, работает точно так же, Используйте команду х. Она сотрет символ, на котором находится курсор, а строка Совет - Буфер вставки имеет глубину в один уровень. Кая только вы выполняете Если вы копируете текст, в стек он не попадает, и можно использовать лишь то, Вне всяких сомнений. Использовать вышеописанные процедуры удаления и копировани Поместите перед командой вставки "а, где а - поименованный буфер. Если текст, Да, используйте команду р. Если вы вырезали или скопировали только часть строки, Используйте dw. В действительности это лишь частный пример более общего правила. Настройка редактора текста - задача индивидуальная. То, что годится для одного Используйте ее, чтобы установить всевозможные параметры. Их список может слегка Таблица 4.2. Параметры vi Параметр Описание аi Автоматический отступ: вновь создаваемые строки выравниваются А теперь, когда вы знаете, какие у vi параметры, выслушайте несколько бесплатных - Установите параметр showmode в положение "включено". Какая досада обнаружить, - Используйте режим автоотступа, когда пишете командные файлы или программы, - Используйте showmatch, чтобы обнаружить парные скобки, когда набираете - Поместите все "нормальные" установки параметров в. ехгс в вашем домашнем - Если для разных задач, которые вы решаете с помощью vi, используются - Используйте комментарии в файле .ехгс, чтобы его было легче понять, Каждая Формат файла .ехrс такой же, как если бы вы вводили команды в vi, находясь в :set ai Fig, 4.3. Макросы Макросы нужны для того, чтобы автоматизировать ввод часто используемых последовательностей Используйте команду :mар. Ее синтаксис: :mар key replacement Клавиша key может быть практически любой клавишей нa клавиатуре, но если это :mар #^ G:w!^M:r !spell %M Нажатие клавиши ENTER вызовет окончание процесса назначения, поэтому вам следует Ну а что, собственно, выполняет эта команда? Да. используйте команду :map!. Например, если вы относитесь к людям, которые :map! #= ^ [:w!^Ma Эта команда, которая назначается плавите F3, начинается с escape, чтобы перейти Было бы удобно узнать, в какой точке файла вы находитесь, не переходя в командный :map! ^G ^[^V^Ga Здесь есть небольшая хитрость. Поскольку у CTRL-Q имеется специальное значение, Используйте :аbbr. Это настолько просто, что вы должны делать это, не задумываясь, :аbbr vvi .pgvi.pgx Когда вы набираете текст, сокращения автоматически разворачиваются до полного Другие важные команды Чтобы сохранить результаты работы и выйти из редактора, можно использовать ZZ в Да. Используйте команду :r (read - читать). Этот прием очень удобен, если вы, > Можно ли переписать часть текущего файла в новый файл? Конечно. Вам нужно лишь указать команде write, какую часть и куда. Чтобы переписать :.,+10w junк В результате текущая строка и десять следующих за ней будут записаны в файл с Используйте команду :q! для выхода без сохранения. Это всегда помогает. Используйте :х, если хотите сохранить текущий файл, в случае когда он был Вы можете пропустить файл через утилиту UNIX для подсчета слов - wc, чтобы $ we -lwc *.cat Результат: 14 34 57J alfiR.cat Этот листинг показывает, что у нас в семи файлах в сумме 1386 строк, 78Э6 слов Быстро! Используйте команду восстановления. Если процесс выхода из vi был | |
| Категория: Интересные статьи | Просмотров: 285 | |
Главная » FAQ по использованию редактора vi