unix 2016-11-25 22-11-14
Основные команды vi vim
Основные команды vi vim
Команды | Выполняемые функции |
---|---|
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
Команда | Действие |
---|---|
Прокрутка | |
^f | Прокрутка экрана вперед на полное окно. Откры- вается новое окно с текстом, расположенным ниже текущего окна |
^d | Прокрутка текста вниз на пол-окна. Открываются строки, расположенные ниже текущего окна |
^b | Прокрутка экрана назад на полное окно. Откры- вается новое окно с текстом, расположенным выше текущего окна |
^d | Прокрутка текста вверх на пол-окна. Открываются строки, расположенные выше текущего окна |
Позиционирование с помощью номера строки | |
1G | Перейти к первой строке в файле |
G | Перейти к последней строке в файле |
^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 | Заменить оставшиеся символы в строке от курсора до конца строки |
Команда | Функция |
---|---|
nyx | Копирование n-го объекта текста типа x (предложение или параграф) |
yw | Создание копии слова |
yy | Создание копии текущей строки |
nyy | Копирование n строк |
y) | Создание копии всего текста до конца предложения |
y} | Создание копии всего текста до конца параграфа |
Команда | Функция |
---|---|
p | Помещает содержимое временного буфера, полученное с помощью команды y и команд удаления, в текст после курсора |
yy | Создает копию строки текста и помещает во временный буфер |
nyx | Создает копию n-го объекта текста типа x и помещает ее во временный буфер |
"xyn | Помещает копию объекта текста типа n в в регистр с именем x |
"xp | Помещает содержимое регистра x после курсора |
Команда | Функция |
---|---|
. | Повторить последнюю команду |
j | Соединить текущую строку со строкой, расположенной ниже |
^l | Очистить и восстановить текущее окно |
~ | Заменить нижний регистр на верхний |
Команда | Функция |
---|---|
: | Обозначает, что следующая за ней команда является командой построчного редактора |
:sh<CR> | Временный возврат к shell для выполнения команд shell |
^d | Возврат из временного shell в текущее окно vi для продолжения редактирования |
: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/s//new_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 file1 file2 file3<CR> | Ввести три файла (file1 file2 и file3) в буфер vi для редактирования |
:w<CR> | Записать текущий файл и начать |
:n<CR> | редактирование следующего файла |
vi -r file1<CR> | Восстановить изменения, сделанные в файле file1 |
view file<CR> | Осуществить просмотр файла с помощью опции "только чтение" чтобы предотвратить случайные изменения в файле file |