The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

vi (1)
  • vi (1) ( Solaris man: Команды и прикладные программы пользовательского уровня )
  • vi (1) ( FreeBSD man: Команды и прикладные программы пользовательского уровня )
  • >> vi (1) ( Русские man: Команды и прикладные программы пользовательского уровня )
  • vi (1) ( Linux man: Команды и прикладные программы пользовательского уровня )
  • vi (1) ( POSIX man: Команды и прикладные программы пользовательского уровня )
  • Ключ vi обнаружен в базе ключевых слов.
  • vi(1)

    vi(1)

    НАЗВАНИЕ

    vi - экранно-ориентированный (визуальный) дисплейный редактор, основанный на ex

    СИНТАКСИС

    vi [-t тэг] [-r файл] [-l] [-L] [-wn] [-R] [-x] [-C]
        [-c команда] файл ...
    view [-t тэг] [-r файл] [-l] [-L] [-wn] [-R] [-x] [-C]
    [-c команда] файл ...
    vedit [-t тэг] [-r файл] [-l] [-L] [-wn] [-R] [-x] [-C]
    [-c команда] файл ...

    ОПИСАНИЕ

    vi (visual) - экранно-ориентированный текстовый редактор, основанный на базовом редакторе ex. Можно использовать командный режим ex из vi и наоборот. Команды экранного режима описаны на этой странице справочного руководства; установка опций (типа автоматической нумерации строк или автоматического перехода на следующую строку при нажатии Enter), а также все команды строкового редактора ex описаны на странице справочного руководства ex(1).

    При работе в vi, изменения, которые вы делаете в файле, отображаются на экране терминала. Курсор на экране показывает текущую позицию в файле.

    Эти утилиты обрабатывают и показывают символы дополнительного набора в соответствии с локалью, заданной в переменной среды LC_CTYPE (см. LANG в environ(5)), за исключением того, что символ x, задаваемый в командах r, f, F, m, t и T (см. раздел "СВОДКА КОМАНД" ниже) должен быть однобайтовым. Вся обработка, включая поиск шаблонов с использованием регулярных выражений, выполняется над символами, а не над столбцами или байтами. В командном режиме утилиты распознают аргументы, указывающие количество символов. Многостолбцовые символы при использовании всей ширины экрана. Для показа ширины отображаемых многостолбцовых символов, выдается такое же количество ASCII-символов >.

        Опции командной строки

    Редактор vi воспринимает следующие опции командной строки (ранее описывавшиеся в документации опции рассмотрены в разделе "ПРИМЕЧАНИЯ" на этой странице справочного руководства):

    -t тэг Редактирует файл, содержащий тэг, и устанавливает редактор в позицию, соответствующую определению тэга. Примечание: тэги в файле тэгов должны идти в порядке возрастания номеров строк.
    -r файл Редактирует файл после сбоя редактора или системы. (Восстанавливает версию файла, которая была в буфере в момент возникновения сбоя.)
    -l Устанавливает настройки для редактирования программ на языке LISP.
    -L Выдает имена всех файлов, сохраненных в результате сбоя редактора или системы.
    -wn Устанавливает стандартный размер окна в n строк. Эта опция полезна при использовании редактора по низкоскоростной линии.
    -R Режим только для чтения; устанавливается флаг только для чтения, предотвращающий случайную перезапись файла.
    -x Опция шифрования; при ее задании vi имитирует команду X редактора ex и предлагает пользователю ввести ключ. Этот ключ используется для шифрования и дешифрования текста с помощью алгоритма команды crypt. Команда X сама определяет, является ли прочитанный текст зашифрованным или нет. Временный файл буфера также шифруется с использованием преобразованной версии введенного пользователем ключа. См. "ПРИМЕЧАНИЯ" в конце данной страницы справочного руководства.
    -C Опция шифрования; аналогичная опции -x, но vi имитирует команду C редактора ex. Команда C аналогична команде X, но любой прочитанный текст считается зашифрованным.
    -c команда Начинает редактирование с выполнения указанной команды редактора (обычно, команды поиска или позиционирования).

    Аргумент файл задает один или несколько файлов для редактирования.

    Вызов view совпадает с vi, но при этом устанавливается флаг только для чтения.

    Вызов vedit предназначен для начинающих. Он совпадает с vi, но при этом флаг report устанавливается равным 1, устанавливаются флаги showmode и novice, а флаг magic сбрасывается. Такие стандартные установки упрощают изучение vi.

        Режимы vi

    Командный режим Обычный и первоначальный режим. После завершения других режимов происходит возврат в командный режим. Для отмены частично введенной команды используется клавиша ESC.
    Режим ввода Устанавливается при вводе одной из следующих команд: a, A, i, I, o, O, c, C, s, S, R. Затем можно вводить произвольный текст. Режим ввода можно прекратить нормально, нажав клавишу ESC, или аварийно, с помощью прерывания.
    Последняя строка Чтение ввода для :, /, ? или !; заканчивается нажатием клавиши Enter; символ прерывание отменяет выход из режима.

    СВОДКА КОМАНД

    В последующих описаниях CR означает нажатие клавиши Enter, а ESC - нажатие клавиши Esc.

        Примеры команд

    стрелки клавиши со стрелками перемещают курсор
    h, j, k, l то же, что и клавиши со стрелками
    iтекстESC вставка текста
    cwновоеESC замена слова на новое
    easESC преобразование слово в множественное число (перейти в конец слова; добавить s; выйти из режима ввода)
    x удаление символа
    dw удаление слова
    dd удаление строки
    3dd удаление трех строк
    u отмена предыдущего изменения
    ZZ выход из vi с сохранением изменений
    :q!CR выход, изменения игнорируются
    /textCR поиск текста
    ^U, ^D прокрутка вверх или вниз
    :cmdCR любая команда ex или ed

        Счетчики перед командами vi

    Перед некоторыми командами можно указывать числа. Они интерпретируются одним из следующих способов.

    номер строки/столбца z, G, |
    сколько экранов прокрутить ^D, ^U
    количество повторений большинство других команд

        Прерывание, отмена

    ESC прекратить вставку или отменить неполную команду
    DEL прерывание, выход из режима

        Манипулирование файлами

    ZZ если файл изменен, записать и выйти; в противном случае, выйти
    :wCR записать изменения
    :w!CR форсированная запись, если права доступа изначально ее не допускают
    :qCR выход
    :q!CR выход, игнорируя изменения
    :e имяCR редактировать файл имя
    :e!CR повторить редактирование, игнорируя изменения
    :e + имяCR редактировать, начиная с конца
    :e +n имяCR редактировать, начиная со строки n
    :e #CR редактировать другой файл
    :e! #CR редактировать другой файл, игнорируя изменения
    :w имяCR записать файл имя
    :w! имяCR перезаписать файл имя
    :shCR запустить командный интерпретатор, а затем вернуться
    :!командаCR выполнить команду, а затем вернуться
    :nCR редактировать следующий файл в списке аргументов
    :n argsCR задать новый список аргументов
    ^G показать текущий файл и строку
    :ta тэгCR поместить курсор на указанный тэг

    Вообще, можно ввести любую команду ex или ed (такую как подстановка или глобальная команда), если перед ней указать двоеточие и завеpшить ввод нажатием Enter.

        Перемещение по файлу

    ^F на экран вперед
    ^B на экран назад
    ^D прокрутить вниз пол-экрана
    ^U прокрутить вверх пол-экрана
    nG перейти в начало указанной строки (по умолчанию - последней), где n - номер строки
    /шаблон следующая строка, соответствующая шаблону
    ?шаблон предыдущая строка, соответствующая шаблону
    n повторить последнюю команду / или ? в прямом направлении
    N повторить последнюю команду / или ? в обратном направлении
    /шаблон/+n n-ная строка после шаблона
    ?шаблон?-n n-ная строка перед шаблоном
    ]] следующий раздел/функция
    [[ предыдущий раздел/функция
    ( в начало предложения
    ) в конец предложения
    { в начало параграфа
    } в конец параграфа
    % на соответствующую скобку (, ), { или }

        Перерисовка экрана

    ^L очистить и перерисовать окно
    ^R очистить и перерисовать окно, если ^L соответствует клавише стрелка право
    zCR перерисовать экран так, чтобы текущая строка была вверху окна
    z- перерисовать экран так, чтобы текущая строка была внизу окна
    z. перерисовать экран так, чтобы текущая строка была посредине окна
    /шаблон/z-CR переместить строку, соответствующую шаблону, вниз окна
    zn. использовать окно размером n строк
    ^E прокрутить окно вниз на 1 строку
    ^Y прокрутить окно вверх на 1 строку

        Пометка и возврат

    `` переместить курсор на предыдущий контекст
    '' переместить курсор на первый непробельный символ в строке
    mx пометить текущую позицию однобайтовой буквой нижнего регистра x
    `x переместить курсор на метку x
    'x переместить курсор на первый непробельный символ в строке, помеченной буквой x

        Перемещение по строкам

    H на верхнюю строку экрана
    L на последнюю строку экрана
    M на среднюю строку экрана
    + на следующую строку, на первый непробельный символ
    - на предыдущую строку, на первый непробельный символ
    CR то же, что и +
    v или j на следующую строку, в тот же столбец
    ^ или k на предыдущую строку, в тот же столбец

        Посимвольное перемещение

    ^ на первый непробельный символ
    0 в начало строки
    $ в конец строки
    l или -> на символ вперед
    h или <- на символ назад
    ^H то же, что и стрелка влево (клавиша Backspace)
    пробел то же, что и стрелка вправо (пробел)
    fx найти следующий однобайтовый символ x
    Fx найти предыдущий однобайтовый символ x
    tx перейти на символ перед следующим однобайтовым символом x
    Tx перейти на символ после предыдущего однобайтового символа x
    ; повторить последнюю команду f, F, t или T
    , выполнить команду, противоположную последней из команд f, F, t или T
    n| перейти в столбец n
    % перейти на соответствующую скобку

        Слова, предложения, абзацы

    w на слово вперед
    b на слово назад
    e в конец слова
    ) на следующее предложение
    } на следующий абзац
    ( на предыдущее предложение
    { на предыдущий абзац
    W вперед на слово, отделенное пробелом
    B назад на слово, отделенное пробелом
    E в конец слова, отделенного пробелом

        Исправления в ходе вставки

    ^H стереть последний символ (забой - клавиша Backspace)
    ^W стереть последнее слово
    erase символ стирания терминала, то же, что и ^H (забой)
    kill символ удаления строки терминала, стирает введенную строку
    \ маскирует символы стирания и удаления строки
    ESC завершает ввод, возвращает в командный режим
    DEL прерывание, прекращает режим ввода
    ^D обратно на один символ табуляции; переустановить левую границу автоматического выравнивания
    ^^D сиркумфлекс (^) после которого идет Ctrl-d (^D); обратно в начало строки; не переустанавливать левую границу автоматического выравнивания
    0^D обратно в начало строки; переустановить левую границу выравнивания
    ^V замаскировать непечатный символ

    vi использует ввод через Ctrl управляющих символов ASCII, а также восьмеричную запись для непечатных 8-битовых символов.

        Вставка и замена

    a добавление после курсора
    A добавление в конце строки
    i вставка перед курсором
    I вставка перед первым непробельным символом
    o новая строка под текущей
    O новая строка над текущей
    rx заменяет один символ на однобайтовый символ x
    RтекстESC заменяет символы на введенный текст
    ~ изменяет верхний регистр на нижний и наоборот

        Операторы

    После операторов выполняется перемещение курсора, и они влияют на весь перемещаемый текст. Например, поскольку w перемещает курсор на слово вперед, dw удаляет слово, через которое перескакивает курсор. Удвоение оператора, например, dd, оказывает воздействие на целые строки.

    d удаление
    c изменение
    y копирование строк в буфер
    < сдвиг влево
    > сдвиг вправо
    ! фильтрация строк через команду

        Другие операции

    C изменить оставшуюся часть строки (c$)
    D удалить оставшуюся часть строки (d$)
    s подставить символы (cl)
    S подставить строки (cc)
    J соединить строки в одну
    x удалить символы (dl)
    X удалить символы перед курсором (dh)
    Y скопировать строки в буфер (yy)

        Вырезание и вставка

    Вставка вставляет последний удаленный или скопированный текст; однако, если используется именованный буфер (с использованием символа нижнего регистра ASCII a-z), вставляется текст из соответствующего буфера.
    3yy скопировать 3 строки
    3yl скопировать 3 символа
    p вставить текст после курсора
    P вставить текст перед курсором
    "xp вставка из буфера x
    "xy копирование в буфер x
    "xd вырезание в буфер x

        Отмена, повторное выполнение, извлечение

    u отменить последнее изменение
    U восстановить текущую строку
    . повторить последнее изменение
    "dp восстановить d-тое последнее удаление

    АВТОРЫ

    vi и ex базируются на программном обеспечении, разработанном в Калифорнийском университете в Бэркли, отделение компьютерных наук, Department of Electrical Engineering and Computer Science.

    ФАЙЛЫ

    /var/preserve
    стандартный каталог, в котором размещаются временные рабочие файлы; его можно изменить с помощью опции directory (см. описание команды set в ex(1))
    /usr/share/lib/terminfo/?/*
    скомпилированная база данных описаний терминалов
    /usr/share/lib/.COREterm/?/*
    подмножество скомпилированной базы данных описаний терминалов
    /usr/lib/locale/локаль/LC_MESSAGES/uxed.abi
    файл сообщений для текущего языка (См. LANG в environ(5).)

    ССЫЛКИ

    ctags(1), ed(1), edit(1), ex(1)

    ПРИМЕЧАНИЯ

    Две опции, хотя они по-прежнему поддерживаются, были заменены в документации на опции, соответствующие стандарту синтаксиса команд (Command Syntax Standard - см. intro(1)). Опция -r без аргументов заменена опцией -L, а опция +команда - на -c команда.

    Опции шифрования и соответствующие команды поставляются в составе пакета утилит шифрования (Encryption Utilities), который доступен только в Соединенных Штатах.

    Изменение записей в файле /usr/share/lib/terminfo/?/* или /usr/share/lib/.COREterm/?/* (например, изменение или удаление некоторых записей) может повлиять на программы типа vi, предполагающие наличие корректной записи. В частности, удаление "тупого" ("dumb") терминала может вызвать неожиданные проблемы.

    Программные табуляции, задаваемые с помощью ^T, срабатывают только после автоматического выравнивания (autoindent).

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

    Copyright 1994 Novell, Inc.
    Copyright 2000 В. Кравчук, OpenXS Initiative, перевод на русский язык


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру