Галерея диаграмм связей Использование редактора VIM
Он подробно описывает использование и сочетания клавиш редактора vim. Заинтересованные друзья могут обратиться к нему!
Отредактировано в 2023-11-27 15:02:34Использование ВИМ
Нормальный режим
роуминг
ч слева
Джей вниз
ОК
я направо
w Перейти к началу следующего слова
W похож на w, прыгая через интервалы пробельных символов.
e Перейти к концу следующего слова
E похож на e, прыгая через пробелы.
b Перейти к началу предыдущего слова
B похож на b, прыгая через интервалы между символами пробелов.
100h означает перемещение на 100 символов влево, а 100j — на 100 строк вниз.
0 Перейти к началу строки
^ Перейти к первому непустому символу в начале строки.
$ перейти в конец строки
gg переходит к началу первой строки файла
G Быстрый переход к концу последней строки файла
% соответствует перемещению скобок, включая (,{,[
*|# соответствует слову, в котором в данный момент находится курсор, и перемещает курсор к следующему слову * — следующее слово, а # — предыдущее.
ctrl f Просмотр содержимого следующей страницы
ctrl b Просмотр содержимого предыдущей страницы
100G Перейти в начало 100-й строки.
`. Перейти к последней измененной точке текста.
'. Переход к последней измененной строке текста.
`` Перейти к двум последним измененным позициям
. отмечает последнюю измененную позицию текста.
g; переход вперед и назад по всему списку изменений документа;
г, аналогично г в противоположном направлении;
В списке изменений указывается, где документ был изменен.
Ctrl o переход на предыдущую позицию
Ctrl, я перехожу в следующую локацию
При совместном использовании вы можете переключаться между кодами.
копировать
yy копирует всю строку, где находится курсор
100yy копирует строку, где находится курсор, и в общей сложности 100 строк ниже.
yw копирует первое слово, начиная с курсора
y$ копирует курсор в конец строки
yG копирует строку, где находится курсор, в конец текста
yH Копирует текст, начиная с текста, до строки, где находится курсор.
fa перемещает курсор к следующему символу в этой строке
Fa перемещает курсор вперед к символу a
nfa перемещает курсор на следующий n-й символ a
nFa перемещает курсор вперед к n-му символу a
ta перемещает курсор на символ перед символом a
nta перемещает курсор на символ перед n-ным символом
Ta перемещает курсор вперед к символу, следующему за символом a.
nTa перемещается вперед на один символ после появления n-го символа.
yfB копирует курсор в содержимое между первой заглавной буквой B
y2fB копирует курсор в содержимое между второй заглавной буквой B
резать
x сокращает один символ назад или вперед, если это конец строки
3x разрезать три
xp меняет два символа в конце нестрочки, если это bs программирование sb
удалить
dd удаляет строку под курсором
200dd удаляет строку, где находится курсор, и в общей сложности 100 строк ниже.
dw удалить слово
dnw удалить n слов
df" удалить до позиции, где появляется первая двойная кавычка
dnf» удалить до позиции, где появляется n-я двойная кавычка
d$ удаляет курсор до конца строки
d^ удаляет курсор в начало строки
dH удаляет текст от начала текста до строки, где находится курсор
dG удаляет строку под курсором до конца текста
Вставить
p Вставка скопированного или вырезанного содержимого
3p Вставьте скопированный или вырезанный контент три раза.
P начинает вставку перед курсором
3P Начните вставку 3 раза перед курсором.
отступ
<< отступ слева
>> Отступ справа
Отступ блока может быть достигнут при выборе блока.
оконные команды
Ctrl W — разделить окно по горизонтали
Ctrl w w переключение окон
Ctrl w q закрывает текущий разделенный экран, если это последний разделенный экран, выйдите из VIM
Ctrl w c закрыть текущий разделенный экран
Ctrl w v разделить окно по вертикали
ctrl j|k можно использовать для переключения между верхним и нижним окнами
ctrl h|l можно использовать для переключения горизонтальных окон.
ctrl w H|L можно использовать для перемещения текущего разделенного экрана влево или вправо.
Ctrl w J|K может перемещать текущий разделенный экран вверх и вниз.
Сохранение файла
ZZ Заглавная буква ZZ, сохранить текущий файл.
ZQ Заглавная буква ZQ, отменяет изменения в файле и завершает работу.
Отменить и восстановить
u Отменить предыдущую операцию
ctrl r Отменить операцию отмены
Удалить символы и заменить
x удаляет символ, на котором в данный момент находится курсор
r заменяет символ, на котором в данный момент находится курсор
R заменяет все символы, начиная с курсора, если только <ESC> не завершается.
Преобразование корпуса
~ Изменить регистр буквы под курсором
3~ Измените регистр трех букв, начиная с позиции курсора.
g~~ Изменить регистр букв в текущей строке
gUU Изменить буквы текущей строки на прописные.
guu меняет буквы текущей строки на строчные
3gUU изменит три строки букв под курсором на прописные.
gUw Изменить слово под курсором на верхний регистр
guw переводит слово под курсором в нижний регистр
Функция складывания
zf5G сворачивает текущую строку курсора в строку 5. Вы можете свернуть по номеру строки или по выделению текста.
zo открывает складку в позиции курсора
zO открывает складку в позиции курсора, а также все вложенные складки.
zc закрывает складку в позиции курсора
zC закрывает складку в позиции курсора и все вложенные складки.
zd Удалить складку в позиции курсора
zD удаляет складку в позиции курсора и все вложенные складки.
za Когда курсор находится на закрытой створке, откройте складку, в противном случае закройте складку.
zA аналогичен za, открывает и закрывает все складки, включая вложенные.
zv открывает складку в текущей позиции курсора, открывая только столько сгибов, чтобы линия, в которой находится курсор, не была свернута.
zr Вложенные складки раскрываются слой за слоем
zR Открыть все складки
zm вложенные складки закрываются слой за слоем
zM Закрыть все складки
Он будет управлять переменной, называемой уровнем сгиба в VIM, а zR установит уровень сгиба на самый высокий уровень. При закрытии всех сгибов уровень сгиба будет установлен на 0.
zE удаляет все складки
zF создает складку на линии, находящейся под курсором. Таким образом, вы можете сначала создать пару символов сгиба, а затем записать содержимое внутри.
2,10fo складывает второй ряд в десятый.
[z Переместите курсор в начальную позицию открытой в данный момент складки
]z перемещает курсор в конечное положение открытой в данный момент складки
zj перемещает курсор в начальную позицию следующего сгиба
zk перемещает курсор в конец предыдущего сгиба
Запись и воспроизведение макросов
Для записи макроса нажмите клавишу q в обычном режиме (запись макроса начинается клавишей q), затем нажмите букву w (буква необязательна), что означает, что макрос зарегистрирован как w, а затем снова нажмите q после завершение операции для завершения операции записи.
Воспроизведение макроса в обычном режиме нажмите @w для выполнения всех операций записи макроса. @@ — это повторение последнего макроса. n@w, выполнит макрос w n раз.
Комментарии блока кода
Нажмите ESC, чтобы войти в обычный режим, Ctrl V, чтобы войти в режим выбора визуального блока, выберите строку, которую нужно прокомментировать, затем нажмите Shift i или s, чтобы войти в режим вставки, введите символ комментария # в начале первой строки выбора блока, затем нажмите ESC и подождите. Вы можете завершить комментарий блока кода. Этот метод можно использовать для вставки одного и того же символа в указанную позицию в каждой строке.
Чтобы раскомментировать, нажмите ESC, чтобы войти в обычный режим, нажмите CTRL V, чтобы войти в режим визуального блока, выберите комментарий в начале строки блока кода, а затем нажмите d, чтобы завершить раскомментирование.
g ctrl g байтовая статистика, последний ctrl g — это комбинация клавиш
ggvG= код формата
«0p несколько вставлено последней копией», зарегистрируйтесь
Командный режим
:%s/$/sth/ Добавить sth в конец строки
:%s/^M//g заменяет символ новой строки dos, ^M можно ввести с помощью Ctrl v Ctrl m
:g/^/s*$/d удалить пустые строки и строки только с пробелами
:n1,n2 s/str1/str2/gic Замените строку str1 между номерами строк от n1 до n2 на str2. Ключевое слово g означает, что если в строке имеется несколько вхождений, замените их все. Если g нет, то замените только строку. первый будет заменен. Ключевое слово i означает регистронезависимость, то есть игнорирование регистра, а заглавная буква I означает регистрозависимость, что также является значением по умолчанию. Ключевое слово c указывает на подтверждение перед заменой. Каждое ключевое слово можно использовать индивидуально
:%s/#.*//g Удалить символы после #
Формат: [адрес]s/исходная строка/целевая строка/[опция] «s» представляет собой операцию замены и является сокращением от «substitute». [адрес] содержит: «n,m»: указывает от строки n до строки m. «%»: представляет весь файл, что эквивалентно «1,$». «.,$»: указывает от текущей строки до конца файла. [варианты] включают в себя: «g»:глобус означает глобальную замену «c»:confirm означает интерактивное подтверждение перед заменой. «p»: указывает на построчное отображение (вы можете нажать CTRL L, чтобы восстановить экран) «i»: игнорировать, регистр не учитывается Если этот параметр опущен, это означает замену первой совпадающей строки.
/hansen ищет строку hansen, n ищет следующее совпадение, N ищет предыдущее совпадение, а 2n ищет второе совпадение ниже.
:help set Просмотр справочной информации по команде set.
:set отображает параметры настройки, которые отличаются от значений системы по умолчанию, то есть настроек, которые вы изменили.
:syntax on|off Включает и выключает подсветку синтаксиса программы.
:set bg=dark|light Установить разные цвета фона
Операции с файлами
:w записывает отредактированное содержимое в файл
:w! Принудительная запись в файл, когда он находится в состоянии только для чтения. Фактическая запись зависит от прав доступа к документу.
:q Оставь vim
:qa Выйдите из всех файлов и сохраните все файлы без изменений.
:x Выйти из файла и сохранить изменения в файле.
:e fn открывает другой файл
:n перейти к следующему файлу
:N Перейти к предыдущему файлу
:bn переход к следующему файлу
:bp Перейти к предыдущему файлу
:ls выводит список всех открытых файлов
:b2 отображает второй файл
:q Выход из измененного файла с отменой всех изменений.
:wq Выйти после сохранения
:w fn Сохранить файл под именем fn
:r fn Прочитать файл fn и добавить его к курсору текущего редактируемого файла.
:n1, n2 w fn Сохранение содержимого от n1 до n2 в виде файла fn.
:n1,n2 d Удалить все содержимое строк с n1 по n2, d — ключевое слово удаления.
:! команда отображает выход из редактора и выполнение команды команды.
Команда :r! выполняет команду команды и добавляет результат выполнения после курсора.
:sp fn1 разделить экран вверх и вниз, чтобы открыть другой файл
:vsp fn1 разделить экран влево и вправо, чтобы открыть другой файл
:set nu включает отображение номеров строк
:set hlsearch Искомые ключевые слова выделяются
:set autoindent включает автоматическое отступы
:set курсорная линия включает горизонтальные линии
:set Backup Автоматическое сохранение файлов. Если этот параметр включен, каждый раз, когда файл открывается для редактирования, исходный файл будет называться fn~.
:set линейка открывает и закрывает описание строки состояния в правом нижнем углу.
:set ic учитывает регистр при поиске по ключевым словам
:set showmode включает и выключает состояние после переключения режима. Например, при входе в режим вставки в левом нижнем углу будет отображаться --INSERT--.
:set Wrap устанавливает перенос строк, то есть строка текста выходит за пределы экрана и отображается на следующей строке. Это также значение по умолчанию.
:set Spell Включить обнаружение орфографии текста
:set list отображает в тексте невидимые символы, например символы новой строки.
Вы можете добавить no перед параметром, чтобы добиться обратной настройки, например: установите nonu, чтобы отключить отображение номеров строк.
:set backspace=(012) Войти в режим редактирования. Вы можете использовать Backspace для удаления любых символов нажатием клавиш, но некоторые дистрибутивы не позволяют этого. В настоящее время вы можете добиться этой функции, установив backspace. =2 означает удаление любых символов. Когда =0|1, вы можете удалить только введенные символы, но не символы, существующие в исходном тексте.
:set fdm=marker включает метку сгиба и автоматически добавляет три последовательные фигурные скобки в качестве маркеров в начале и конце сгиба. Информация о сгибе все равно может быть записана после закрытия текста. Вам необходимо устанавливать эту среду каждый раз. откройте его. Вы также можете поместить его. Это добавляется в ~/.vimrc и загружается автоматически каждый раз, когда открывается редактор vim. Вы можете добавлять комментарии и номера уровней в сложенном виде «#comments{{{1» после отметки
:set fenc Кодировка документа запроса
:set enc=utf8 Преобразовать в указанную кодировку
:set fileformat=unix используется для переключения символов новой строки, поддерживает форматы файлов dos, unix и mac, которые можно сократить до ff.
:setsidescroll=0 Когда курсор достигает края экрана, автоматически расширяется и отображается половина текста на экране. Установите значение 1, чтобы обеспечить более плавное посимвольное отображение.
:set Scrolloff=3 Установить количество строк прокрутки
:set linebreak заставляет VIM разрывать строки в соответствующей позиции, то есть ^|!*-;:./? Эти символы разрывают строки.
:setbreakat-=_ Устанавливает удаление подчеркиваний из разрывов строк.
:set showbreak=-> Отображение инструкций в позиции разрыва
:set nolinebreak восстановить пользовательские разрывы строк
Установите сгиб. Вы можете переместить его внутри сгиба с помощью gj или g<Down> и переместить его вверх с помощью gk или g<Up>.
:set ts=4 устанавливает длину TAB в четыре пробела
:setexpandtab заменяет TAB на пробелы. После установки табуляция заменяется соответствующим количеством пробелов.
%retab Перезагрузите TAB, чтобы исходный TAB был заменен соответствующим количеством пробелов.
Замените TAB пробелами! Используется для обработки TAB после непустых символов, то есть всех TAB, если они не добавлены! , то будет обрабатываться только TAB в начале строки
:set ts=4
:set noexpandtab
:%ретаб!
Заменить пробелы на TAB
tabe fn Используйте минибуфер подключаемого модуля VIM для создания новой вкладки и редактирования файла fn на новой вкладке.
перейти на следующую вкладку
gT Перейти на предыдущую вкладку
:tabr переключиться на первую вкладку
:table переключает на последнюю вкладку
:tabm [N] Переместить текущую вкладку после N-й вкладки.
:map ^M I#<ESC> Установите сочетание клавиш Ctrl m для вставки # (# представляет комментарий) в начале строки, где находится курсор, а затем выйдите из состояния редактирования. карта — это ключевое слово, за которым следуют ключ и значение. Ключ соответствует ^M. Этот ключ вводится с помощью сочетания клавиш Ctrl v M, которое представляет собой сочетание клавиш Ctrl M. Значение соответствует I#<ESC>, что означает последовательное выполнение этих сочетаний клавиш. I означает переключить курсор в начало строки и войти в состояние редактирования, # означает вход #, а <ESC> означает выход из состояния редактирования.
:ab электронная почта hualong1009@foxmail.com ab — ключевое слово. После выполнения команды она перейдет в режим редактирования. После ввода электронной почты электронная почта будет автоматически заменена адресом электронной почты hualong1009@foxmail.com. Подходит для частого ввода одного и того же сценария длинной строки.
:sort r /regex/ regex — регулярное выражение для сортировки текста в редакторе vim.
:toHTML Преобразовать текущую страницу в HTML
:reg Просмотр состояния всех регистров. Регистры — это области памяти, используемые Vim для хранения текста или деталей операций. Каждое пространство имеет идентификатор, чтобы к нему можно было получить доступ впоследствии.
Режим вставки
ctrl [или сочетание клавиш ctrl c реализует функцию клавиши ESC, то есть выходит из состояния редактирования
комбинация клавиш Ctrl D отступ слева
комбинация клавиш Ctrl T отступ вправо
Завершение ключевого слова и пути
ctrl x -> ctrl n использует содержимое файла, редактируемого в данный момент, в качестве завершения библиотеки ключей.
ctrl n также можно использовать для быстрого завершения без подсказок.
ctrl x -> ctrl f использует файлы в текущем каталоге в качестве ключевых слов для завершения пути к файлу.
ctrl x -> ctrl o использует имя файла в качестве синтаксического дополнения и дополняет его встроенными ключевыми словами wim.
Ctrl x i завершение строки
ctrl w удаляет слово вперед от позиции курсора
ctrl u удаляет позицию курсора до начала строки
Визуальный режим
Используйте клавиши со стрелками или h, j, k, l для перемещения и выбора соответствующего содержимого. Вы также можете использовать gg и G для перехода непосредственно к началу или концу файла.
ctrl v режим блока, блочная операция, то же, что и блочная операция UE
o Перейти курсором к другой конечной точке выбранного блока.
U Преобразовать содержимое выбранного блока в верхний регистр
O переводит курсор на другой конец блока
оу выбирает слово
ab выбирает все в скобках {}, включая сами скобки
aB Выберите все, что находится в скобках {}.
ib выбирает содержимое в скобках, исключая скобки
iB выбирает все, что в скобках
va Когда курсор находится в "",'',(),{},[], va означает выбор всего содержимого в "" включая двойные кавычки.
vi Когда курсор находится в "",'',(),{},[], va означает выбор всего содержимого в "" без двойных кавычек.
> Блокировать правый сдвиг
< блокировать сдвиг влево
y копировать блок
удалить блок
~ Переключить регистр содержимого в блоке
В этом режиме выберите область и непосредственно введите:, VIM автоматически завершит ее как: '<,'> Это операция замены выделения в визуальном режиме, указывающая диапазон операции, аналогично указанию n1, n2
vim редактировать текст
vim-файл редактировать файл
vim fn1 fn2 ... Одновременное редактирование нескольких файлов. По умолчанию отображается только первый файл — file1.
vim -on fn1 fn2 ... разделить экран вверх и вниз для одновременного редактирования нескольких файлов
vim -On fn1 fn2 ... открыть несколько файлов в левом и правом разделенном экране
vim -b ... открыть документ в двоичном формате
vim num открывает документ и находит строку с номером
vimdiff a.txt b.txt сравнить текст
сравнение текста vimdiff
zc свернуть строку
зо открытая складка
]c Перейти к следующему отличию
[c Перейти к предыдущей разнице
Ctrl w w переключает окна влево и вправо или вверх и вниз.
dp копирует строку, в которой находится курсор, в соответствующую строку другого файла.
do Скопируйте строку, соответствующую файлу сравнения, в строку в позиции курсора