Инструменты пользователя

Инструменты сайта


notes:vi

Основные команды vi

Команды Выполняемые функции
TERM=terminal_name
export TERM Установка конфигурации терминала
tput init Инициализировать терминал как terminal_name
vi filename Вызов редактора vi для редактирования файла filename
a Добавить текст после курсора

h Перемещает курсор на один символ влево j Перемещает курсор вниз на одну строку k Перемещает курсор вверх на одну строку l Перемещает курсор на один символ вправо x Удалить символ <CR> Возврат каретки <ESC> Перейти из режима ввода в командный режим :w Записать в файл :q Завершить работу с редактором :wq Записать буфер в файл и завершить работу с редактором vi ZZ Записать изменения в файл и завершить работу с vi

Команды позиционирования курсора

Команда Действие команды Позиционирование на символ h Перемещает курсор на один символ влево l Перемещает курсор на один символ вправо BACKSPACE Перемещает курсор на один символ влево SPACEBAR Перемещает курсор на один символ вправо fx Осуществляет поиск указанного символа x справа от текущей позиции курсора Fx Осуществляет поиск указанного символа x слева от текущей позиции курсора tx Осуществляет перемещение курсора вправо на символ до указанного символа x Tx Осуществляет перемещение курсора влево на символ до указанного символа x ; Повторяет предыдущий поиск символа. Команда ; запоминает символ и ищет следующее появление символа в текущей строке , Повторяет предыдущий поиск символа, но в обратном направлении j Перемещает курсор вниз на одну строку k Перемещает курсор вверх на одну строку - Перемещает курсор на одну строку вверх, позиционируя его на первом ненулевом символе + Перемещает курсор вниз на одну строку и позиционирует на первый непустой символ <CR> Перемещает курсор вниз на одну строку и позиционирует на первый непустой символ

Позиционирование на строку $ Переместить курсор на последний символ в строке 0(ноль) Переместить курсор на первый символ в строке

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

Позиционирование в окне H Переместить курсор к первой строке экрана M Переместить курсор к средней строке экрана L Переместить курсор к последней строке экрана

Дополнительные команды перемещения курсора в редакторе vi

Команда Действие Прокрутка

Позиционирование с помощью номера строки 1G Перейти к первой строке в файле G Перейти к последней строке в файле

Поиск по шаблону /pattern Поиск вперед в буфере до первого появления шаблона. Курсор помещается на первом символе шаблона ?pattern Поиск назад в буфере до первого появления шаблона. Курсор помещается на первом символе шаблона n Повторить последнюю команду поиска N Повторить последнюю команду поиска в обратном направлении Команды создания текста

Команда Функция a Создать текст после курсора A Создать текст в конце текущей строки i Создать текст перед курсором I Создать текст перед первым ненулевым символом в текущей строке o Создать текст с начала новой строки, расположенной под текущей строкой O Создать текст с начала новой строки, расположенной над текущей строкой <ESC> Возвратить vi в командный режим из режима ввода текста

Команды удаления текста

Команда Функция Режим ввода BACKSPACE Удалить текущий символ 1w Удалить текущее слово @ Удалить текущую строку нового текста или удалить весь новый текст в текущей строке Командный режим u Отменить последнюю команду U Восстановить текущую строку в прежнем состоянии x Удалить текущий символ ndx Удалить n-ый объект текста x dw Удалить слово над курсором и следующий за ним пробел, или знак пунктуации dW Удалить слово и пунктуацию над курсором с последующим за ним пробелом dd Удалить текущую строку D Удалить часть строки справа от курсора d) Удалить текущее предложение от текущей позиции курсора до конца d} Удалить текущий параграф от текущей позиции до конца

Команды изменения текста

Команда Функция r Заменить текущий символ R Заменить те символы, которые введены в режиме ESCAPE s Удалить символ, под которым расположен курсор и добавить текст. Для окончания режима ввода нажмите клавишу ESCAPE S Заменить все символы в строке cc Заменить все символы в строке ncx Заменить n объектов текста типа x (предложение, параграф) cw Заменить слово или оставшиеся символы в слове на новый текст C Заменить оставшиеся символы в строке от курсора до конца строки Команда y

Команда Функция nyx Копирование n-го объекта текста типа x (предложение или параграф) yw Создание копии слова yy Создание копии текущей строки nyy Копирование n строк y) Создание копии всего текста до конца предложения y} Создание копии всего текста до конца параграфа

Команды извлечения и присоединения текста Команда Функция p Помещает содержимое временного буфера, полученное с помощью команды y и команд удаления, в текст после курсора yy Создает копию строки текста и помещает во временный буфер nyx Создает копию n-го объекта текста типа x и помещает ее во временный буфер «xyn Помещает копию объекта текста типа n в в регистр с именем x «xp Помещает содержимое регистра x после курсора Специальные команды

Команда Функция . Повторить последнюю команду j Соединить текущую строку со строкой, расположенной ниже

~ Заменить нижний регистр на верхний Команды построчного редактора

Команда Функция : Обозначает, что следующая за ней команда является командой построчного редактора :sh<CR> Временный возврат к shell для выполнения команд shell

:n<CR> Переход к n-ой строке буфера :x,yw data<CR> Записать строки от номера x до номера y в новый файл data :$<CR> Переход к последней строке буфера :.,$d<CR> Удалить все строки в буфере, начиная с текущей и до послед- ней строки :r shell.file<CR> Вставить содержимое shell.file после текущей строки в буфере :s/text/new_words/<CR> Заменить первое появление символов text в текущей строке на new_words :s/text/new_words/g<CR> Заменить каждое появление символов text в текущей строке на new_words :g/text/snew_words/g<CR> Заменить каждое появление символов text в файле на new_words Команды завершения Команда Функция ZZ Записать буфер в файл, если после последней записи в буфере были сделаны изменения, и завершить работу с vi :wq<CR> Записать буфер в файл и завершить работу с vi :w filename<CR> Записать буфер в новый файл filename :q<CR> и завершить работу с vi :w! filename<CR> Перезаписать содержимое буфера в уже :q<CR> существующий файл filename и завершить работу с vi :q!<CR> Завершить работу с vi без записи буфера в файл, даже если содержимое буфера изменялось :q<CR> Завершить работу с vi без записи буфера в файл, если буфер не изменялся Специальные опции vi Опция Функция vi file1 file2 file3<CR> Ввести три файла (file1 file2 и file3) в буфер vi для редактирования :w<CR> Записать текущий файл и начать :n<CR> редактирование следующего файла vi -r file1<CR> Восстановить изменения, сделанные в файле file1 view file<CR> Осуществить просмотр файла с помощью опции «только чтение» чтобы предотвратить случайные изменения в файле file

notes/vi.txt · Последние изменения: 2015/05/04 20:57 (внешнее изменение)