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

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


vim:basics

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
vim:basics [2022/07/23 14:02] – [Командный режим] so_v_avim:basics [2026/09/01 11:47] (текущий) – so_v_a
Строка 1: Строка 1:
 +<!DOCTYPE markdown>
 +
 # Vim: необходимый минимум знаний # Vim: необходимый минимум знаний
  
Строка 16: Строка 18:
 Команды, которые могут использоваться в командном режиме, можно перечислять очень долго. Но пока что мы ограничимся лишь самым необходимым. Давайте начнём с перемещения по тексту: Команды, которые могут использоваться в командном режиме, можно перечислять очень долго. Но пока что мы ограничимся лишь самым необходимым. Давайте начнём с перемещения по тексту:
  
-  +- **'h'** — перемещение на один символ влево; 
- - **'h'** — перемещение на один символ влево; +- **'l'** — перемещение на один символ вправо; 
- - **'l'** — перемещение на один символ вправо; +- **'j'** — перемещение на один символ вниз; 
- - **'j'** — перемещение на один символ вниз; +- **'k'** — перемещение на один символ вверх;
- - **'k'** — перемещение на один символ вверх; +
  
 Можно смещать курсор не на один символ, а на слово целиком: Можно смещать курсор не на один символ, а на слово целиком:
  
- - **'w'** перемещает на слово вперёд, +- **'w'** перемещает на слово вперёд, 
- - **'b'** — на слово назад.+- **'b'** — на слово назад.
  
  
 Словом в Vim считается любая последовательность алфавитно-цифровых символов. Например, «word» — это слово, а «one-year» — это уже два слова, поскольку они разделены дефисом. Словом в Vim считается любая последовательность алфавитно-цифровых символов. Например, «word» — это слово, а «one-year» — это уже два слова, поскольку они разделены дефисом.
 +
 +
 +### Прочие команды для перемещение курсора
 +
 +  * **gj** - передвинуть курсор на одну видимую строку вниз
 +  * **gk** - передвинуть курсор на одну видимую строку вверх
 +
 +  * **H** - переместиться к началу экрана
 +  * **M** - переместиться к середине экрана
 +  * **L** - переместиться к концу экрана
 +
 +  * **w** - переместиться вперед на начало слова
 +  * **e** - переместиться вперед на конец слова
 +  * **b** - переместиться назад на начало слова
 +
 +  * **%** - переместиться к парному символу (по умолчанию поддерживаются: '()', '{}', '[]' - подробнее по команде :h matchpairs в vim)
 +
 +  * **0** - переместиться на начало строки
 +  * **$** - переместиться на конец строки
 +
 +  * **gg** - переместиться на первую строку документа
 +  * **G** - переместиться на последнюю строку документа
 +  * **5G** - переместить на пятую строку
 +
 +  * **}** - переместиться к следующему параграфу (или функции/блоку при редактировании кода)
 +  * **{** - переместиться к предыдущему параграфу (или функции/блоку при редактировании кода)
 +
 +  * **Ctrl + b** - переместиться назад на целый экран
 +  * **Ctrl + f** - переместиться вперед на целый экран
 +  * **Ctrl + d** - переместиться вперед на половину экрана
 +  * **Ctrl + u** - переместиться назад на половину экрана
 +
 +//Совет//: Добавьте число перед командой перемещения курсора для того, чтобы повторить её. Например, **4j** перемещает курсор на 4 строки вниз.
  
 ## Удаление ## Удаление
Строка 46: Строка 79:
 Копирование и вставку текста в Vim можно выполнять невероятно быстро. Чтобы **переключиться в режим выделения текста**, используйте команду **'v'**, **'V'** или **'Ctrl+v'**. После переключения в режим выделения вы можете выделять текст, перемещая курсор клавишами h, l, j, k или же клавишами со стрелками. Копирование и вставку текста в Vim можно выполнять невероятно быстро. Чтобы **переключиться в режим выделения текста**, используйте команду **'v'**, **'V'** или **'Ctrl+v'**. После переключения в режим выделения вы можете выделять текст, перемещая курсор клавишами h, l, j, k или же клавишами со стрелками.
  
-В режиме ==**'v'**== — будет происходить *«обычное» выделение*, +- В режиме **'v'** — будет происходить *«обычное» выделение*, 
-в режиме ==**'V'**== — *выделение целых строк*,  +- в режиме **'V'** — *выделение целых строк*,  
-а в режиме ==**'Ctrl+v'**== — *блочное выделение*, с его помощью можно выделять вертикальные блоки.+- а в режиме **'Ctrl+v'** — *блочное выделение*, с его помощью можно выделять вертикальные блоки.
  
-После того, как вы выделите нужный текст, используйте команду ==**'y'**== для того, чтобы **скопировать выделенный фрагмент в буфер**.+После того, как вы выделите нужный текст, используйте команду **'y'** для того, чтобы **скопировать выделенный фрагмент в буфер**.
  
-Далее, при помощи команды ==**'p'**== или ==**'P'*==* можно **вставить скопированный текст из буфера**. **'p'** вставит текст после курсора, а **'P'** — перед ним.+Далее, при помощи команды **'p'** или **'P'** можно **вставить скопированный текст из буфера**.   
 +**'p'** вставит текст после курсора, а **'P'** — перед ним.
  
 ## Поиск и замена ## Поиск и замена
  
-Чтобы **переключиться в режим поиска** используйте команду ==**'/'**== — **для поиска в прямом направлении**, или команду ==**'?'**== — **в обратном**; затем введите шаблон поиска.+Чтобы **переключиться в режим поиска** используйте команду **'/'** — **для поиска в прямом направлении**, или команду **'?'** — **в обратном**; затем введите шаблон поиска.
  
-**Поиск и замена** в тексте выполняется при помощи команды ==**':s'**== с заданной областью поиска и замены.+**Поиск и замена** в тексте выполняется при помощи команды **':s'** с заданной областью поиска и замены.
 __Например, чтобы найти «old» и заменить на «new»__, используйте следующую команду: __Например, чтобы найти «old» и заменить на «new»__, используйте следующую команду:
  
Строка 70: Строка 104:
 ``` ```
  
-Имейте ввиду, что _**указанные выше команды заменяют **только** первое найденное вхождение**._+Имейте ввиду, что **указанные выше команды заменяют __только__ первое найденное вхождение**.
  
 Часто бывает нужно **найти и заменить все найденные вхождения** в тексте. Для этого можно воспользоваться «глобальной» заменой, добавив к команде букву **'g'**: Часто бывает нужно **найти и заменить все найденные вхождения** в тексте. Для этого можно воспользоваться «глобальной» заменой, добавив к команде букву **'g'**:
Строка 85: Строка 119:
 ## Откат действий ## Откат действий
  
-Что делать, если вы внесли изменения, которые не нужно было вносить? Воспользуйтесь командой ==**'u'**==, которая **отменит последнее изменение**, сделанное вами.+Что делать, если вы внесли изменения, которые не нужно было вносить? Воспользуйтесь командой **'u'**, которая **отменит последнее изменение**, сделанное вами.
  
-Если же после отката на действие назад вы снова передумали и решили **«отменить отмену», вам поможет** команда ==**'Ctrl+r'**==, которая делает откат в обратную сторону.+Если же после отката на действие назад вы снова передумали и решили **«отменить отмену», вам поможет** команда **'Ctrl+r'**, которая делает откат в обратную сторону.
  
 Имейте ввиду, что если ваш Vim работает в режиме совместимости с Vi, то вы не можете откатиться более, чем на один шаг назад. В своём же «родном» режиме Vim «помнит» и позволяет откатываться на большое количество шагов. Имейте ввиду, что если ваш Vim работает в режиме совместимости с Vi, то вы не можете откатиться более, чем на один шаг назад. В своём же «родном» режиме Vim «помнит» и позволяет откатываться на большое количество шагов.
Строка 95: Строка 129:
 Один из вопросов, который возникает у новичков, первый раз работающих с Vim, звучит примерно: «как мне выйти из него?». Действительно, глядя на экран с редактором, догадаться как именно это делается, невозможно. Это нужно просто знать. Один из вопросов, который возникает у новичков, первый раз работающих с Vim, звучит примерно: «как мне выйти из него?». Действительно, глядя на экран с редактором, догадаться как именно это делается, невозможно. Это нужно просто знать.
  
-Если вы хотите **сохранить внесённые в файл изменения**, используйте команду ==**':w'**==, +Если вы хотите **сохранить внесённые в файл изменения**, используйте команду **':w'**, 
-а чтобы **сохранить изменения и покинуть редактор** — команду ==**':wq'**==.+а чтобы **сохранить изменения и покинуть редактор** — команду **':wq'**.
  
-Не хотите сохранять внесённые исправления? Бывает и такое. При помощи команды ==**':q!'**== можно **выйти из Vim, при этом не сохраняя текущий файл**.+Не хотите сохранять внесённые исправления? Бывает и такое. При помощи команды **':q!'** можно **выйти из Vim, при этом не сохраняя текущий файл**.
  
-Также, если нужно, вы можете **сохранить редактируемый текст в другой файл** при помощи команды ==**':w имя_файла'**==.+Также, если нужно, вы можете **сохранить редактируемый текст в другой файл** при помощи команды **':w имя_файла'**.
  
-#vim+[[0_content|Оглавление]]
/var/www/html/dokuwiki/data/attic/vim/basics.1658584921.txt.gz · Последнее изменение: (внешнее изменение)