помощь vim
version available in : en it zh es ja de nl fr
date of creation : 20220618- date of update : 20220618- generation date : 20240612_171233
vim vim_25_presentation_by_bram_moolenaar_on_2016_november_2 mastering_the_vim_language
- vi - стандартный редактор в любом дистрибутиве UNIX. vi не развивался с момента своего создания, что делает его деревенским редактором.3.начало работы с vim
Но его первоначальный дизайн очень сильно соответствует духу unix"^..
- эволюция vi - редактор vim (улучшенный Брэмом Муленаром)см. ниже.
- запустить редактор с именем обрабатываемого файла в качестве аргумента "vi toto.txt" - редактор запускает полноэкранное окно, в котором появляются строки текста. Пустые строки, начинающиеся с "~" видны, если число количество строк в файле меньше, чем количество строк в окне.
- по умолчанию мы находимся в командном режиме редактора, т.е. все клавиши на клавиатуре являются командой.
- например, для перемещения используйте клавиши h,j,k,l . touches de déplacement vi - для вставки текста используйте, например, ключ "i" для "вставки", "a для добавления", "R" для замены - по окончании редактирования текста нажмите клавишу "esc"^ для выхода из режима редактирования.
- под vi, необходимо выйти из режима редактирования, чтобы изменить строку: чтобы сделать ход, нужно переключиться обратно в командный режим.
К счастью, в vim это ограничение снимается.
- для всех заказов см. . vimaz - существует также . mode ligne de commande vi который можно получить, набрав клавишу ":" и который позволяет запускать глобальные команды на выборке строк в файле.
- в заключение этого вступления хочу сказать, что под деревенским, даже архаичным внешним видом vi скрывается уникальный по своей концепции редактор, тип редактора в своем собственном праве сам по себе. Именно благодаря этому первоначальному дизайну vim признан самым мощным из доступных редакторов.
Вы только что вошли в редактор vim.
Вы можете использовать клавиши со стрелками (стрелки и пагинация) для перемещения по тексту.
Самое важное, что нужно знать, что делает vim (vi) уникальным является тот факт, что vim (vi) это многорежимный редактор.
Основная особенность редактора vim (vi) будет работать преимущественно в . mode commande vi Можно сказать, что существует два вида редакторов, которые работают по умолчанию и в основном в режиме редактирования (вы набираете текст на клавиатуре, и она пишет текст) и те, которые работают по умолчанию и в основном в командном режиме (вы набираете текст на клавиатуре, и она выполняет действия).
В первом случае есть все редакторы, кроме vi и vim. (emacs, ultraedit, notepad, ...начало работы с vim) во втором - vi и vim..
vim - это историческое расширение, развитие оригинального vi из системы unix, который не развивался, за исключением vim.
Режимы работы vim следующие:
В vim режим ввода идентичен редактору типа блокнота.5.режим командной строки vi
Вход в этот режим осуществляется из . mode commande vi введя следующие команды: - "a"^ для добавления текста (добавляет после текущего символа) - "i"^ для вставки текста (вставляет непосредственно перед текущим символом) - "R" для замены текста (заменяет текст, начиная с текущего символа) - "o"^ для открытия новой строки ( "O"^, чтобы открыть его выше текущего) - "s" для замены (эквивалентно "R").
Текст вводится с помощью обычных клавиш, а движение осуществляется с помощью стрелки, клавиши подкачки, можно изменить режим "вставки".
"заменить", удалить символ с . Suppr и использовать меню, чтобы сохранить изменения, выйти и выполнить поиск, выделять с помощью мыши, использовать копирование и вставку.
Поэтому мы можем считать, что vim является супермножеством блокнота.
Поэтому нет причин продолжать использовать блокнот, если у вас есть vim..
Выход из режима ввода с помощью клавиши escape . ESCAPE .
На самом деле это команды редактора "teletype", предшественника vi, редактора "ed"^..
Когда компьютерный ввод можно было просматривать на экране, а не на телетайпе, "ed" превратился в "vi". (что является аббревиатурой от "визуальный".).
Это означает, что "vi" содержит гены из "ed"..
ed, кстати, породило команду "sed", которая может означать "stream ed", например.
Доступ к этому режиму осуществляется путем ввода символа ".:" от . mode commande vi .
В vim можно получить уже введенные команды, перемещаясь с помощью стрелок вверх и вниз..
Можно даже ввести начало команды, а затем с помощью стрелок выбрать только те команды, которые соответствуют введенному префиксу.
заказать note_ru действие
:b nn возвращает буфер в нормальное состояние (fichier) идентифицируется как "nn", список буферов см. в команде :ls
:е файл редактирует файл, путь к которому введен :g/expr/ глобальный : выбирает строки, содержащие регулярное выражение "exp" и : :g/expr/l - перечисляет строки :g/expr/d - разрушает линии :g/expr/s/// - применяет команду подстановки "s" к выбранным строкам :ls перечисляет буферы, уже отредактированные во время сеанса, и показывает их номер (см. заказ :b nn) :n next - выводит следующий буфер, если было запрошено несколько файлов :q покиньте редактор ":q!" принудительный вывод без сохранения :r перемотка - возврат к первому буферу, запрошенному при открытии vi или при заказе ":n файл" :s . substitution de chaine :w сохраняет текущий файл ":w!" принудительное переписывание в случае предупреждения :x eXit сохраняет текущий буфер и выходит из vi :map_ru создает новый . mode commande vi комбинацией команд в этом режиме ! . shell vi позволяет взаимодействовать с внешней средой программы vi, предлагает безграничные возможности / или :/ поиск . expression régulière (цели отображаются желтым цветом) команда "n"^ позволяет перемещаться по поиску
vim
специфический :gf перейти к файлу, открывает файл, путь к которому находится под курсором :sp split , разделяет рабочую область на две части, чтобы открыть второй буфер, переключаемый ctrl-W w :tabnew добавлена вкладка рабочего пространства
5.1.режим командной строки tip vi
Использование символа "!" в различных контекстах позволяет вам отдавать системные команды.
В командной строке vi, например, введите ":!dir ", чтобы открыть оболочку и выполнить команду dir.
или в . mode commande vi , "!", за которым следует команда перемещения (ne
если бы только ENTER) отображает приглашение, в котором вы можете ввести команду
система. Буфер, выбранный при перемещении, отправляется на стандартный вход в программе (stdin)
и стандартный вывод (stdout) извлекается и помещает результат в разграниченный буфер
путём перемещения (старый буфер теряется).
Мы можем запустить SQL-запрос с помощью команды isql, преобразовать текст с помощью perl-скрипта,
писать программы на языке Си для создания новых команд редактирования, ... Возможности безграничны.
приказ :карта позволяет создать новую команду.
Например, команда :"map І j.
" создает команду "²", которая определяет местоположение последней команды на следующей строке.
5.3.1.пример карты команд аналогия vim mq
Я не могу не провести здесь забавную аналогию с <mécanique_quantique_ru_nweb>(fr.wikipedia.org/wiki/M%C30X0P+09canique_quantique) и оператор гамильтониана H
ответственные за эволюцию во времени. Этот оператор можно рассматривать как комбинацию операторов создания и разрушения энергетических состояний (или частицы в квантовой теории поля).
Энергии часто составляют H = потенциальная энергия кинетическая энергия = a² b² и с комплексной факторизацией или i²=-1 H = (a ib)(a-ib) = C * D, C и D - операторы создания и уничтожения..
Если мы рассмотрим строку текста в vim и команду "x" для удаления символа (разрушение),
команда вставки содержимого буфера по умолчанию "p"^ (создание)
и их комбинация "xp" в команде ".:карта
мы создадим новую команду ": эволюция.
Но здесь пространство символизируется чертой подчеркивания и, например, символом o в виде частицы :
путем применения команды ".
Вы также можете создать обратный оператор с помощью ":карта
__________________________________o___________________________________________________________________
- выполнить макросы на "o"^. (квантовая частица :-квантовая механика nweb)
- для компиляции макросов без копирования их в командную строку можно использовать макрос [xlm_ru] поместив себя в строку макроса.
карта
карта
- Траектория может быть определена следующим образом
карта #H
- Циклическая траектория (осцилляция) рекурсивным макросом:
карта #S #H#S
- Внимание: этот рекурсивный макрос может быть прерван только с помощью CTRL-C
мы замечаем, что остановка макроса может оставить систему с уничтоженной частицей, "o" исчезла (он вернулся в квантовый вакуум) или создан, "o" присутствует, но, вероятно, в другом месте, а не в своем первоначальном положении.
Это говорит нам о том, что когда макрос прерывается, это происходит на "атомарной" команде, а не на макросе, вызываемом макросом.
Я думаю, что этот пример очень хорошо показывает динамику макросов.
В Vim есть другой способ записи последовательности команд.
Это команда "q"^, которая позволяет записать последовательность команд, которые затем будут набраны на клавиатуре (ввод еще одного "q"^ останавливает регистрацию) и команда "@"^, которая позволяет выполнять такие команды.
Команды хранятся в буферах, названных буквенно-цифровым символом, который должен быть указан в сочетании с командами "q" и "@"..
Например, q03dwj сохраняет в буфере 0 команду 3dwjbbb, которая удаляет 3 слова и переходит к следующей строке, возвращаясь на 3 слова назад при выполнении такой последовательности.
команда @0 повторяет последовательность.
Команда ":s/chaine1/chaine2/" замена цепочки1 на цепочку2 дает очень мощные возможности: Если вы хотите внести изменения в символ "/", вы должны использовать "\\/" для указания этого символа или использовать другой символ-разделитель строк ":s.
цепь1.
канал2.
"
:s/toto/titi/ заменить "^тото" на "тити" в строке
:с/тото/тити/г заменить все "тото" на "тити" в строке :1,$/тото/тити/г заменить все "тото" на "тити" во всем файле :., 10/toto/titi/g заменяет все "тото" на "тити" начиная с текущей строки на десять строк :g/tata/s/to/titi/g заменить все "тото" на "тити" во всех строках, содержащих строку "тата" :'a,'bg/tata/s/to/titi/g заменяет все "тото" на "тити" во всех строках, содержащих строку "тата" между строками, хранящимися по индексам "a" и "b"
5.4.1.. expression régulière : регулярное выражение
Регулярные выражения можно использовать для задания сложных строк поиска.
Символ "." используется для указания любого символа.
Символ "*"^ используется для указания любой последовательности символов.
Символ ""^ используется для указания начала строки
Символ "^$"^ используется для указания конца строки
Блок "" используется для указания возможного набора символов в регулярном выражении.
Например :
Например, "тото.*titi" относится к части строк, которые начинаются с toto и заканчиваются titi.
Например "^.*это.*тити.*" обозначает строки, которые содержат и toto, и titi в таком порядке.
Например, "^тото.*titi$" обозначает линии, которые начинаются с toto и заканчиваются titi.
|" (backslash-pipe)
так что "^тото.|тити.*toto" позволяет, например, в команде g//s/////.
вносить изменения только в строки, соответствующие критерию.
Мы находимся почти на уровне запросчика текстового режима.
Можно разбить строку или часть строки на подполя в регулярном выражении
в команде ":s".
Пример:
цепь целей: "Прекрасная маркиза, твои прекрасные глаза заставляют меня умирать от любви".
(B.)(v.)()()()"
который называется \\1 \\2 \\3 \\4 \\5
Команда ":(B.)(v.)()()()/\\5 \\4\\3/" со всеми перестановки подполей порождают менее красивые формы прозы первого предложения: любви твои прекрасные глаза умирают, делая меня прекрасной маркизой.
Именно этот режим объясняет возможности vim.
Каждый ключ - это команда.
Существуют основные типы команд:
Команды разных типов можно комбинировать: изменение*перемещение, например : Команды перемещения, см. тип "d" в списке . vimaz можно комбинировать с другими командами изменения для формирования новой команды изменения.
Клавиши со стрелками, конечно, являются рабочими и работают в сочетании с клавишами SHIFT, CTRL.
Команды модификации, см. тип "m" в списке . vimaz
6.3.исследовательский заказ vi
Команды поиска, см. тип "r" в списке . vimaz
6.4.команда управления буфером vi
Команды буфера, см. тип "g" в списке . vimaz
6.5.. vimaz :Я прошел от А до Я
Алфавит vim.
Когда вы находитесь в . mode commande vi каждая буква - это команда :
колонка описание
. lettre
письмо-заказ. Это может быть одиночная буква, удвоенная, за которой следует другая буква, за которой следует тип приказа
Двойная буква, упомянутая ², которая не используется в vim Буква, за которой следует любая другая буква - последний случай обозначается наличием "ундерскора", например, f_ Далее следует тип команды "d", например, для перемещения, в этом случае действуют все команды перемещения . commande type
тип заказа : d Перемещение, m Редактирование, r Поиск, g Управление буфером . note vim
полезность или мощность порядка, упомянутого серией более ... или меньше . mnemo
происхождение использования буквы для обозначения команд, мнемонических средств, в английском языке, конечно же
. lettre . type cmd . mnemo . note vim действие
. caractère non alphabétique vi
. m повторяет последнюю команду изменения ~ m верхний регистр нижний регистр обратный. Используется с "g" : g~d ^ d переходит в начало строки $ d переходит в конец строки * r vim ищет слово под курсором : все цели окрашены в желтый цвет . Смотрите здесь g* '_ d "cote", за которым следует буква, перемещает курсор на строку, сохраненную этой буквой см. m_ "_yd g "двойное измерение" за которым следует буква, а затем "y" yank за которым следует команда move сохраняет перемещаемый текст в буфере, названном этой буквой "ayfo g пример: "afo сохраняет в буфере "a" от текущего символа до следующего "o" в текущей строке "byy g "byy сохраняет текущую строку в буфере b "by'b g "b'b сохраняет в буфере b от текущей строки до строки, хранящейся под индексом b . caractère alphabétique vi
a m добавить добавляет текст после текущего символа и переключается в режим . mode de saisie vi A md Добавить добавляет текст в конец строки переключается на . mode de saisie vi b d назад перемещает курсор на одно слово назад, если . majuscule слова просто разделены пробелами и пробелами B d Назад idem "b" si . majuscule слова, определяемые тем, что разделено пробелами и пробелами c_ m изменить - "c"^ с последующим . commande de déplacement vi изменяет текст от текущего символа до конца перемещения C m Изменить - изменяет текст от текущего символа до конца строки dd m удалить "d" с последующим . commande de déplacement vi удаляет текст от текущего символа до конца перемещения d² m удалить "d" удвоенная удаляет текущую строку D m удалить удаляет текст от текущего символа до конца строки e d конец перемещает курсор в конец текущего слова E d Конец перемещает курсор в конец ".. mot large " ток f_ r найти "f" с последующим символом перемещает курсор вниз по строке к символу, если он существует F_ r найти "F" то же, что и "f", но перемещается в начало строки g² d перейти перемещает курсор в начало файла G d перейти перемещает курсор в конец файла g* r глобальный (vim) то же самое, что и "*"^, но поиск ведется не по слову, а по строке (если оно встречается в слове) g~d m глобальный меняет местами прописные и строчные буквы до тех пор, пока не произойдет перемещение gf d перейти к файлу редактирует файл, путь к которому находится под курсором i m вставить вставляет символы, набранные позже, до того, как текущий символ переключится на . mode de saisie vi I md Вставка вставка символов, набранных позже, в начало строки переключается на . mode de saisie vi J m присоединяйтесь к конкатенирует текущую строку со следующей строкой (объединение двух линий) между двумя строками вставляется пробел смещаемая клавиатура : hjkl jk:вверх вниз , hl влево вправо (для использования в макросе вместо стрелок) оригинальная клавиатура без трекпада . touches de déplacement vi
h d стрелка влево j d стрелка вверх k d стрелка вниз l d стрелка вправо m_ d запомнить "m"^ с последующей буквой запоминает следующую строку с этой буквой в качестве индекса, вызов осуществляется с помощью символа "cote": ' o m открыть открывает или вставляет строку после текущей строки O m Открыть открывает или вставляет строку ПЕРЕД текущей строкой p m разместить вставляет содержимое текущего буфера r_ m заменить заменяет текущий символ, переключение остается в режиме . mode commande vi R m Заменить заменяет текст с текущей позиции, переключается на . mode de saisie vi s m заменять заменяет текст с текущей позиции, переключается на . mode de saisie vi S m Субститут - заменяет текущую строку набранными позже символами переключается на . mode de saisie vi t_ r на "t"^ с последующим символом перемещает курсор на строку непосредственно перед символом, если он существует T_ r На "T" то же самое, что и "t", но перемещается в начало строки (полезность в сочетании с двойным управлением u m отменить "undo" отменяет последнее изменение. undo отменяет все изменения с момента последнего редактирования файла . "redo" ctrl-r - это обратная операция отмены v g (vim) переходит в режим выбора текста (линейное представление текста) ctrl-v в режиме выбора прямоугольного блока (поверхностный взгляд на текст) w d конец перемещает курсор в конец текущего слова W d Конец перемещает курсор в конец ".. mot large " ток x m удаляет письмо yd g янк "y" с последующим . commande de déplacement vi сохраняет в буфере по умолчанию текст, связанный с перемещением, используется совместно с буферами с именем "_ z² "z." или "zz" центрирует окно на текущей строке z. ENTER
позиционирует текущую строку в верхней части окна z- позиционирует текущую строку в нижней части окна . commandes utilisant la touche CTRL
CTRL-R "редо"" обратная сторона "у"" "ундо"" CTRL-A увеличивает число под курсором CTRL-X уменьшает число под курсором
Как легко перемещаться по файлу, над которым вы работаете.
слово, определяемое только тем, что разделено пробелами и пробелами.
пример: "с утра понедельника"
В vi изменение клавиши с помощью shift (верхний регистр) изменяет команду, соответствующую строчной букве.
Изменения могут быть нескольких типов, но результирующий порядок близок к первоначальному.
возможное изменение: