Смекни!
smekni.com

Работа с редактором Vi. Другие текстовые редакторы UNIX (стр. 5 из 6)

:q<CR> - завершить работу с редактором vi без записи содержимого буфера в файл. Эта команда работает в том случае, если вы не производили изменений в буфере. В противном случае vi выдаст предупреждающее сообщение о том, что вы должны сохранить буфер или воспользоваться для завершения работы с vi командой :q!<CR>. Что нужно сделать, чтобы дать файлу другое имя?

Например, вы хотите записать в новый файл junk. Введите команду:

:w junk<CR>

Затем завершите работу с vi:

:q<CR>

Если вы попытаетесь записать в уже существующий файл, то получите предупреждающее сообщение. Например, если вы попытаетесь записать в файл johnson, система выдаст сообщение:

"johnson" File exists - use "w!johnson"

to overwrite

Если вы хотите заменить содержимое существующего файла на содержимое буфера, то воспользуйтесь командой ":w!":

:w! johnson<CR>

20. Специальные опции для vi

Команда vi имеет специальные опции. Они позволяют:

  • восстановить потерянный файл, если работа vi была прервана;
  • поместить в буфер редактирования несколько файлов и редактировать их по порядку;
  • просмотр файла без риска случайного внесения изменений в него.

20.1. Восстановление потерянного файла

Если случайно произошло прерывание работы редактора vi, то не производится запись текста из буфера обратно в файл. Но vi сохраняет копию буфера. Когда вы вновь зарегистрируетесь в системе UNIX, вы можете восстановить файл с помощью опции -r. Введите:

vi -r filename<CR>

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

20.2. Редактирование нескольких файлов

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

vi file1 file2<CR>

vi ответит, сколько файлов вы будете редактировать.

Например:

2 files to edit

После того, как вы отредактировали первый файл, запишите все изменения из буфера в файл file1:

:w<CR>

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

:n<CR>

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

20.3. Просмотр файла

Один из способов просмотра файла, это воспользоваться командами прокрутки и поиска. Однако вы можете защитить себя от случайного внесения изменений в файл во время сеанса редактирования. Чтобы воспользоваться опцией "только чтение", вызовите редактор следующим образом:

view file<CR>

21.Другие текстовые редакторы Unix

21.1. Редактор ED.

Редактор текстов ed является диалоговой (интерактивной) программой, которая позволяет добавлять, перемещать, удалять текст и извлекать его из других файлов. Имеется возможность замены слова или части слова в тексте как для одной указанной строки, так и для части файла или всего файла. Кроме того, можно просмотреть текстовый файл, напечатать его частично или целиком, напечатать строки, содержащие определенное слово и т.д.

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

Редактор запоминает имя обрабатываемого файла (первоначально - имя исходного загруженного файла). По желанию пользователя это имя можно заменять для получения новых вариантов файла.

Если размер файла превышает размер буфера редактора, файл приходится делить на части с помощью команды split, редактировать его по частям, а затем снова объединять с помощью команды cat.

Пользователь сообщает редактору, что делать с его текстом, с помощью определенных инструкций, называемых "командами". Команды редактора имеют простую структуру, и в большинстве случаев состоят из одной буквы. Каждая команда печатается на отдельной строке. Иногда перед командой указывается информация о том, какая строка или строки должны подвергаться действию команды. ed не отвечает на большинство команд, не печатает подсказки или сообщения типа "готово".

Все вводимые командные строки должны заканчиваться символом <CR>.

21.2. GNU Emacs 19.19

Говоря о текстовых редакторах, разработанных специально под UNIX, в первую очередь упомянем Emacs, который распространяется бесплатно в рамках проекта GNU. Некоторые компании распространяют его на коммерческой основе, исправив имеющиеся ошибки и адаптировав под конкретные платформы с некоторыми улучшениями возможностей "родного" Emacs. Таковым, например, является GNU Emacs 19.19 фирмы Ready-to-Run Software, который распространяется в составе пакета утилит обработки текста. Безусловно, данный редактор предназначен для квалифицированных программистов, обладая мощными средствами разработки программ. Однако GNU Emacs требует основательного изучения; для расширения его возможностей приходится программировать на языке LISP, что не очень нравится даже квалифицированным программистам, а уж обыкновенным пользователям - тем более. Для поклонников Emacs могу сообщить, что исходные тексты версии 19.28 появились на prep.ai.mit.edu: в каталоге pub/gnu.

21.3. UniPress Emacs 2.20e

Немногим отличается от собрата UniPress Emacs 2.20e, выпущенный компанией UniPress Software. В отличие от GNU Emacs данный редактор поставляется с документацией (хотя и неудачно написанной), обладает более привлекательным интерфейсом, имеет поставляемые за дополнительную плату (от 695 до 995 долларов) языко-ориентированные реализации для С, С++, Fortran и Ada. В целом, различия между GNU Emacs и UniPress Emacs незначительны. Если Вы являетесь поклонником Emacs, то, несомненно, будете удовлетворены обеими реализациями.

21.4. Siren Editor 1.0

Siren Editor разработан компанией Siren Software, целиком основан на интерфейсе X/Motif и является интуитивным и легким в использовании. Все команды располагаются в выпадающих меню, хорошо продумана компоновка экрана и работа с мышью. Инсталляция и запуск редактора под силу даже неквалифицированному пользователю. Недостатком редактора Siren является то, что в нем отсутствует какая-либо поддержка процесса программирования, а также базовые средства форматирования текста. Поэтому Siren Editor может быть полезен, главным образом, при первичном наборе и минимальном редактировании текстов. По своей функциональности этот редактор чем-то напоминает NortonEdit из MS-DOS, который очень удобен, когда в текст надо быстро внести пару-другую изменений.

21.5. Iris Х Editor 1.3.7

Редактор Iris Х Editor (разработка Iris Computing Laboratory) предназначен для программистов и имеет собственный интерфейс под Х Window. При запуске Вы увидите чистый экран - ни меню, ни строки статуса - т.е. все нацелено на то, чтобы отобразить на экране как можно больше исходного кода программы. Информация всегда появляется во всплывающих окнах, что поначалу немного раздражает, но потом привыкаешь. Для работы с блоками текста предусмотрено четыре буфера временного хранения (clipboard). Вставку текста из такого буфера можно произвести одним нажатием кнопки мыши, что очень удобно. Недостатком редактора является полное отсутствие базовых средств форматирования.

21.6. Nedit 3.1.1

Этот редактор разработан в Национальной Лаборатории Ферми, распространяется свободно в исходных текстах, имеет стопроцентный графический пользовательский интерфейс под Motif и рассчитан прежде всего на программистов и случайных пользователей. Nedit чрезвычайно прост в установке, изучении и использовании, обладает исчерпывающей Help-системой. И в то же время в нем отсутствует много возможностей, которые являются стандартом для профессиональных текстовых редакторов (макро, прямоугольные блоки, базовые средства форматирования). Nedit имеет реализации практически для любых рабочих станций с UNIX (SGI, Sun, HP, DEC, IBM), а также для VAX/VMS. Перенос на другие платформы с X/Motif не вызывает никаких проблем.

21.7. TED 2.la

Редактор TED разработан английской фирмой Eagle Dynamics, имеющей представительство в Москве, и на сегодняшний день является единственным полностью русифицированным профессиональным текстовым редактором для UNIX, распространяемым в России. Редактор работает как на текстовых терминалах, так и под Х Windows, при этом CUA-интерфейс делает его похожим на редактор MultiEdit для MS-DOS или среду разработки Borland IDE. Это единственный из всех редакторов, у которого имеется документация на русском языке (два тома). TED ориентирован как на профессиональных разработчиков, так и на неподготовленных пользователей, может быть легко перенастроен в соответствии с индивидуальными вкусами. Редактор распространяется практически на любых платформах UNIX. Единственным, но несущественным, по мнению автора, недостатком редактора является отсутствие развитого макроязыка, что, впрочем, компенсируется возможностью создания командных и клавишных макро.

21.8. AUIS ez

В рамках распространяемого бесплатно в исходных текстах для Х11 многофункционального проекта AUIS (The Andrew User Interface System), разработанного Консорциумом Эндрю (Andrew Consortium), имеется текстовый редактор ez с модулями поддержки языков программирования С, С++, Modula-2, и PL/MI. Этот редактор будет интересен разработчикам программного обеспечения благодаря наличию средств цветового и шрифтового выделения синтаксиса, перехвата ошибок компиляции, встроенного набора стандартных языковых конструкций. Средства обработки текстов минимальные, но достаточные для подготовки простых документов. Исходные тексты имеются для большого числа платформ.