...
При работе с конфигурационными файлами гипревизора Горизонт-ВС, используется редактор vim
...
Горячие клавиши Vim
...
Vim имеет разные режимы работы, каждому из которых соответствует свой набор горячие клавиш (хоткейсов). А ещё у вима своя собственная терминология, на базе которой организованы группы хоткейсов. Так, копирование в Vim — это yank, а хоткейсы для копирования начинается
...
с y. Удаление — delete. Хоткейсы для удаления и вырезания начинаются с
...
d. Вставка — put. Хоткейсы для вставки начинаются
...
с p. Визуальный режим — visual. Хоткейсы для работы в визуальном режиме начинаются
...
с v. Поначалу эта система кажется запутанной, но немного поработав в ней — вы привыкнете, и руки сами запомнят все нужные комбинации. Перейдем к рассмотрению хоткейсов. Начнём с горячих клавиш для «обычного режима». *Горячие клавиши «обычного режима»*
...
...
...
Обычный режим — это базовый режим, в который пользователь попадает сразу после запуска вима. Этот режим позволяет перемещаться по документу и вносить в него некоторые изменения. Базовые хоткейсы для этого режима: h,j,k,
...
l — замена классических стрелок для навигации по документу
...
w — сдвиг курсора на слово вправо
...
b — сдвиг курсора на слово влево
...
Shift + w — сдвиг курсора до пробела вправо
...
Shift + b — сдвиг курсора до пробела влево
...
^ (
...
Shift +
...
6) — переместить курсор к первому пробелу в начале строки
...
0 — переместить курсор к началу строки
...
$ (
...
Shift +
...
4) — переместить курсор в конец строки
...
Ctrl + y — переместить курсор на строку вверх, с сохранением позиции
...
Ctrl + e — переместить курсор на строку вниз, с сохранением позиции \{
...
— переместить курсор на абзац вверх \}
...
— переместить курсор на абзац вниз
...
Ctrl + d — переместить курсор на полстраницы (экрана) вниз
...
Ctrl + u — переместить курсор на полстраницы (экрана) вверх
...
Ctrl + f — переместить курсор на страницу (экран) вниз
...
Ctrl + b — переместить курсор на страницу (экран) вверх
...
gg — перейти в начало файла
...
G (Shift+
...
g)— перейти в конец файла
...
номер строки +
...
G — переместить курсор на конкретную строку /
...
искомый текст ↵ Enter — найти текст и переместиться к нему ?
...
искомый текст ↵ Enter — то же самое, но искать с конца документа
...
n — повторить поиск текста (сразу переместит к искомому тексту)
...
N — повторить поиск назад (сразу переместит к искомому тексту)
...
g~~ — инвертировать регистр строки
...
ggguG — перевести весь текст в нижний регистр
...
gggUG — перевести весь текст в верхний регистр
...
Разберем отдельно хоткейсы и команды поиска и удаления. Начнем с команд поиска: /jo\[ha\]
...
n> — искать "john" или "joan". /\
...
<for — найти слово, начинающиеся на for. Если перед for будет стоять пробел — будет найден вложенный for (Python). Чтобы был найден for с любым количеством пробелом перед ним, укажите следующую конструкцию:
...
/\ * for. /end\
...
> — искать слово, оканчивающиеся на end /\
...
— искать pagination (точное совпадение) /\<...\
...
> — искать слово из 3 символов (кол-во точек = кол-во знаков) Хоткейсы для удаления:
...
d^ (
...
Shift +
...
6) — удалить все символы от курсора до начала строки
...
d$ — удалить все символы от курсора до конца строки d/
...
слово — удалить всё от курсора до введенного слова
...
df символ — удалить всё от курсора до указанного символа
...
Перемещать быстро по документу — это искусство, которое может многих впечатлить, но без навыков быстрого редактирования, оно будет выглядеть неполноценным. Для входа в режим редактирования существует целый блок хоткейсов.
...
Для быстрого перехода в режим редактирования достаточно нажать горячую кнопку i, а чтобы выйти — Esc.
...
Перейти в режим редактирования можно также с помощью следующих хоткейсов:
...
Shift + i — перейти в режим редактирования текста сначала строки
...
a — перейти в режим редактирования текста после курсора
...
Shift + a — перейти в режим редактирования текста с конца строки
...
o — перейти в режим редактирования текста с новой строки под курсором
...
O (
...
Shift +
...
o) — перейти в режим редактирования текста с новой строки над курсором
...
число s ↵ Enter — удалить заданное кол-во символов после курсора и перейти в режим редактирования
...
число S (Shift + s) ↵ Enter — удалить заданное кол-во строк вместе с текущей и перейти в режим редактирования
...
R — заменить символы после курсора и перейти в режим редактирования
...
r — заменить один символ и перейти в режим редактирования
...
cc — удалить строку и перейти в режим редактирования
...
C (
...
Shift +
...
c) — удалить символы от курсора до конца строки и перейти в режим редактирования
...
Для удаления символов, слов и строк существует целый набор хоткейсов:
...
x — удалить символ под курсором
...
число x — удалить заданное кол-во символов
...
X (
...
Shift +
...
x) — удалить символ перед курсором
...
число X — удалить заданное кол-во символов перед курсором
...
de — удалить символы с текущего до конца слова, не включая пунктуацию и пробел в конце слова
...
dE — удалить символы с текущего до конца слова, включая пунктуацию и пробел в конце слова
...
dw — аналог de с удаление пробела в конце
...
di w — удалить слово под курсором
...
d d — вырезать текущую строку
...
числ dd — вырезать заданное кол-во строк, начиная с текущей
...
db — удалить символы с текущей позиции курсора до начала слова
...
dO — удалить символы с текущей позиции курсора до начала строки
...
D (
...
Shift +
...
d) — удалить символы с текущей позиции курсора до конца строки
...
Так же как и для удаления, для копирования и вставка существует свой отдельный блокхоткейсов:
...
yiw — скопировать слова целиком
...
yw — скопировать символы от курсора до конца слова
...
y^ (
...
Shift +
...
6) — скопировать все от курсора до конца строки
...
yy — копировать строку целиком, включая символ новой строки
...
число yy — скопировать заданное кол-во строк, включая текущую
...
y$ (
...
Shift +
...
4) — скопировать всё от курсора до конца строки y)
...
(
...
Shift +
...
0) — скопировать всё от курсора до конца абзаца y(
...
(
...
Shift +
...
9) — скопировать всё от курсора до начала абзаца
...
p — вставить содержимое буфера после курсора
...
P — вставить содержимое буфера перед курсором
...
J — слить текущую строку с последующей
...
число J — слить заданное кол-во строк. А вот и небольшой лафхак, связанный с информационной строкой внизу окна вима. Если нужно слить все строки в абзаце — установите курсор в начале абзаца и воспользуйтесь сочетанием клавиш
...
y). В внизу окна вима выведется кол-во скопированных строк, а теперь воспользуйтесь хоткейсом для слияния заданного кол-ва строк —
...
число J. Теперь мы знаем множество хоткейсов для навигации и редактирования текста, однако отменять последние действия мы пока ещё не умеем. Для отмены последнего действия существует несколько хоткеев:
...
u — отмена последнего действия
...
U — отмена всех действий в строке. Если строка удалена — команда не сработает. Обычный режим позволяет редактировать текст командами, однако иногда необходимо выделить часть строки или часть блока текста. Сделать это можно в специальном режиме — визуальном. *Горячие клавиши визуального режима* Визуальный режим позволяет выбирать текст и управлять им. Установите курсор в место визуального выделения текста и нажмите
...
v. Смещение курсора влево или вправо — выделяет текст посимвольно, смещение курсора вверх и вниз — выделяет текст построчно. Можно войти в визуальный режим сразу сразу с функции построчного выделения текста —
...
Shift +
...
v. Помимо посимвольного и построчного выделения текста, существует режим блочного выделения текста — Ctrl
...
+
...
v. Режим визуального выделения текста очень хорошо сочетается с хоткейсами обычного режима. Например, чтобы быстро выделить весь абзац достаточно установить курсор в начало абзаца нажать v и
...
\}.
Часто необходимо провести какие-то манипуляции с текстом целиком или с его отдельными блоками. Например, изменить регистр во всем документе. Вот некоторые хоткейсы визуального режима:
...
Vu — перевести строку в нижний регистр
...
VU — перевести строку в верхний регистр
...
vEU — перевести слово под курсором в верхний регистр
...
vE~ — инвертировать регистр слова
...
Итак, мы рассмотрели два режима: обычный режим и визуальный. Оба режима позволяют редактировать текст внутри документа. Теперь рассмотрим режим, который позволяет управлять состоянием документа. *Команды режима управления (командный режим)*
...
Чтобы перейти в командный режим, находясь в обычном режиме — нажмите:
...
(Shift;). В нижней строке состояния Vim должно появиться двоеточие. Это означает, что командный режим активирован и ожидает ввода команд. !worddavdb99161040797e5916b3901e7f66ab95.png|height=98,width=653
...
! Если двоеточие не появилось — нажмите несколько раз
...
Esc, а затем повторите ввод двоеточия. Ввод команды подтверждается, нажатием кнопки
...
↵ Enter.
...
Возможности командного режима намного шире, чем просто сохранение файла и выход из Vim. Поэтому рассмотрим помимо команд работы с документом ещё команды замены текста. *Команды работы с документом*
...
Существует множество команд для работы с документом. Все команды начинаются с:. Приведем основные команды для работы с документами:
...
ZQ или q! — выйти без сохранения qa!
...
— выйти из всех файлов без сохранения
...
ZZ или wq или x — записать и выйти
...
w — записать файл
...
sav имя_файла — сохранить как w!
...
— сохранить в новый файл
...
sh — свернуть Vim и перейти в командную оболочку
...
Ctrl + d или exit q — выйти из редактора e!
...
— отменить все изменения в текущей сессии 1,
...
10w имя_файла — создать файл и скопировать в него содержимое текущего файла с 1 по 10 строки 1,
...
10w>> имя_файла — добавить в файл с 1 по 10 строки из текущего файла
...
r название_файла — вставить содержимое из файла
...
23r название_файла — вставить содержимое файла после 23
...
строки *Команды для замены частей текста*
...
Основной конструкцией для составления поискового запроса в командном режиме является
...
— :%s. Далее идут аргументы запроса. Все команды запроса вводятся в командном режиме, с активным:
...
Приведём популярные команды поиска и замены: %s/искомое_слово/слово_замена/
...
g — найти и заменить все искомые слова на слова замены 5,10s/искомое_слово/слово_замена/
...
g — найти и заменить все искомые слова на слова замены между 5 и 10 строчками 5,$s/искомое_слово/слово_замена/
...
g — найти и заменить все искомые слова на слова замены, начиная с 5 строчки и до конца файла %s/искомое_слово/слово_замена/
...
gi — заменить искомое слово на слово замену с учетом регистра %s/ *$//
...
g — убрать все пробелы из файла %s/\r//
...
g — убрать все возвраты каретки из файла %s#>\[^<\]\+
...
>##g — убрать html-теги из документа %s/\<./\u&/
...
g — перевести первую букву каждого слова в верхний регистр %s/\<./\l&/
...
g — перевести первую букву каждого слова в нижний регистр %s/.*/\u&
...
— перевести первую букву первого слова в каждой строке в верхний регистр %s/.*/\l&
...
— перевести первую букву первого слова в каждой строке в нижний регистр