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

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


vim:additional

Различия

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

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

Следующая версия
Предыдущая версия
vim:additional [2022/07/23 17:00] – создано so_v_avim:additional [2026/09/01 11:47] (текущий) – so_v_a
Строка 1: Строка 1:
 +<!DOCTYPE markdown>
 +
 # Vim: движемся дальше # Vim: движемся дальше
  
Строка 7: Строка 9:
 Хотя изучение Vim и может показаться сложной задачей на первых этапах, будьте уверены в том, что в будущем умение работать с ним сэкономит вам немало времени. Одним из способов, которыми Vim поможет сэкономить вам время, является автозавершение слов. Эта возможность Vim часто используется разработчиками и системными администраторами при редактировании исходных кодов программ или конфигурационных файлов. Хотя изучение Vim и может показаться сложной задачей на первых этапах, будьте уверены в том, что в будущем умение работать с ним сэкономит вам немало времени. Одним из способов, которыми Vim поможет сэкономить вам время, является автозавершение слов. Эта возможность Vim часто используется разработчиками и системными администраторами при редактировании исходных кодов программ или конфигурационных файлов.
  
-Автозаврешение работает следующим образом. Когда вы набираете какое-нибудь длинное слово, которое _**уже встречается где-то в тексте**_, нажмите ==**Ctrl+p**== или ==**Ctrl+n**== в процессе набора слова.  +Автозаврешение работает следующим образом:   
 +Когда вы набираете какое-нибудь длинное слово, которое _**уже встречается где-то в тексте**_, нажмите **Ctrl+p** или **Ctrl+n** в процессе набора слова.
  
 Например, у вас в тексте уже есть слово «searching». Теперь начните вводить это слово где-нибудь в тексте, при этом наберите только первые буквы, например «sea», и нажмите Ctrl+p. Vim автоматически завершит слово «searching» или предложит варианты слов, начинающихся с «sea», если таковые имеются. Например, у вас в тексте уже есть слово «searching». Теперь начните вводить это слово где-нибудь в тексте, при этом наберите только первые буквы, например «sea», и нажмите Ctrl+p. Vim автоматически завершит слово «searching» или предложит варианты слов, начинающихся с «sea», если таковые имеются.
Строка 27: Строка 30:
 ``` ```
  
-Первый аргумент команды ==**:ab**== — это, собственно, само сокращение, а второй — это слово, до которого будет расширено сокращение. Теперь если, набирая текст, вы введёте слово «rlw», Vim автоматически заменит его на «ReallyLongWord». Просто, не правда ли?+Первый аргумент команды **:ab** — это, собственно, само сокращение, а второй — это слово, до которого будет расширено сокращение. Теперь если, набирая текст, вы введёте слово «rlw», Vim автоматически заменит его на «ReallyLongWord». Просто, не правда ли?
  
 Что делать, если сокращение вам больше не нужно и вы хотите его удалить? Просто закройте Vim и все определённые сокращения автоматически удалятся. Также можно _**удалить сокращение**_ не выходя из редактора при помощи команды: Что делать, если сокращение вам больше не нужно и вы хотите его удалить? Просто закройте Vim и все определённые сокращения автоматически удалятся. Также можно _**удалить сокращение**_ не выходя из редактора при помощи команды:
Строка 57: Строка 60:
 ``` ```
  
-Эта строка настраивает мэпинг комбинации Ctrl+n для включения/отключения функции подстветки результатов поиска.    +Эта строка настраивает мэпинг комбинации Ctrl+n для включения/отключения функции подсветки результатов поиска.    
-Сперва «нажимается» клавиша Escape, чттобы переключиться в командный режим, затем даётся команда ==**:call ToggleHLSearch ()**== и «нажимается» возврат каретки, то бишь Enter.+Сперва «нажимается» клавиша Escape, чтобы переключиться в командный режим, затем даётся команда **:call ToggleHLSearch ()** и «нажимается» возврат каретки, то бишь Enter.
  
 Другой, более простой пример. Когда автор редактирует чужие статьи, ему удобно двигаться по тексту, проскакивая по нескольку слов за раз. Для удобства автор настроил у себя следующий мэпинг, _перемещающий курсор на пять слов вперёд за раз_: Другой, более простой пример. Когда автор редактирует чужие статьи, ему удобно двигаться по тексту, проскакивая по нескольку слов за раз. Для удобства автор настроил у себя следующий мэпинг, _перемещающий курсор на пять слов вперёд за раз_:
Строка 68: Строка 71:
 Выглядит слегка странно, использовать два нажатия вместо двух нажатий. Однако, лично автору, неудобно держать палец над цифровой клавишей, а удобней использовать вариант, приведённый в примере. В общем, суть не в этом, а в том, чтобы показать читателю пример. Выглядит слегка странно, использовать два нажатия вместо двух нажатий. Однако, лично автору, неудобно держать палец над цифровой клавишей, а удобней использовать вариант, приведённый в примере. В общем, суть не в этом, а в том, чтобы показать читателю пример.
  
-_`Чтобы настроенные вами мэпинги и сокращения не исчезали после закрытия Vim, вам нужно добавить их в файл **.vimrc**, расположенный в вашем домашнем каталоге.`_ +_Чтобы настроенные вами мэпинги и сокращения не исчезали после закрытия Vim, вам нужно добавить их в файл **.vimrc**, расположенный в вашем домашнем каталоге._
- +
-## Освоение интерфейса Vim +
- +
-Изначально не очевидно, однако в одной сессии Vim можно _**одновременно редактировать несколько файлов**_. Делается это при помощи т. н. «окон» или же при помощи относительно новой возможности Vim, добавленной в 7-й версии — вкладок. +
- +
-Давайте сперва рассмотрим окна. Когда вы открываете Vim для редактирования файла, вы видите одно окно с содержимым файла. Представим, что ==вы редактируете ну очень большой файл и вам нужно редактировать его параллельно в двух местах==. Дайте команду (не забывайте нажимать Ctrl+Esc для перехода в командный режим) +
-``` +
-:split +
-``` +
- +
-и вы увидите один и тот же файл в двух разных окнах. +
- +
-Хорошо, но как теперь **переключиться обратно в предыдущее окно**?  +
-Очень просто. Перейдите в командный режим, **нажмите Ctrl+w** и ==при помощи клавиш со стрелками или клавиш перемещения (h, j, k, l) выберите нужное окно,== на которое хотите переключиться относительно текущего окна. +
- +
-Допустим, ваша Vim-сессия разделена горизонтально на два окна. При помощи команды +
- +
-``` +
-Ctrl+w k +
-``` +
- +
-вы переключитесь на окно, расположенное выше активного, в то время как команда +
-``` +
-Ctrl+w j +
-``` +
- +
-переключит вас на окно, расположенное ниже.  +
-_Двойной повтор команды Ctrl+w переключит вас на следующее окно_. +
- +
-Помимо переключения между окнами вы можете **перемещать сами окна**. +
- +
-Команда +
-``` +
-Ctrl+w r +
-``` +
-вращает окна по часовой стрелке, а команда +
- +
-``` +
-Ctrl+w R +
-``` +
-вращает окна против часовой стрелки. +
- +
-Использование нескольких окон для работы с одним и тем же файлом используется сравнительно редко. Что что используется гораздо чаще, так это **разделение сессии на окна при _редактировании нескольких файлов_.**  +
- +
-Представим, что вам захотелось **открыть во втором окне какой-нибудь другой файл**. Просто передайте путь к нужному файлу в виде параметра команде **:split**.  +
- +
-Например: +
-``` +
-:split /etc/dhcp3/dhclient.conf +
-``` +
- +
-Что делать, если вам понадобилось _вернуться в однооконный вариант_ Vim-сессии? Для это вам нужно всего лишь **закрыть ненужные окна** традиционным способом (при помощи команды :q, :!q или :wq) или же, находясь в окне, которое хотите закрыть, дать команду +
-``` +
-Ctrl+w c +
-``` +
- +
-В случае последней команды Vim не даст вам закрыть изменённый, но не сохранённый файл, что логично. +
- +
- +
-Давайте подытожим список основных команд, используемых при работе с окнами в Vim. +
- +
--   **:split** или **Ctrl+w s** — добавляет в сессию Vim горизонтальное окно +
--   **:vsplit** или **Ctrl+w v** — добавляет в сессию Vim вертикально окно +
--   **:split filename** — добавляет в сессию Vim горизонтальное окно и загружает в него filename +
--   **:vsplit filename** — добавляет в сессию Vim вертикальное окно и загружает в него filename +
--   **Ctrl+w h** — переключает на левое окно, относительно текущего +
--   **Ctrl+w l** — переключает на правое окно, относительно текущего +
--   **Ctrl+w j** — переключает на нижнее окно, относительно текущего +
--   **Ctrl+w k** — переключает на верхнее окно, относительно текущего +
--   **Ctrl+w Ctrl+w** — переключает на следующее окно +
--   **Ctrl+w r** — передвигает окна по часовой стрелке +
--   **Ctrl+w R** — передвигает окна против часовой стрелки +
--   **Ctrl+w c** — закрывает текущее окно    +
-     +
-И сразу ответ тем, кто спросит: «не лучше ли открыть несколько однооконных сессий вместо всей этой возни с окнами?».    +
-Подумайте о том, как иной раз бывает утомительно редактировать несколько файлов, открытых в нескольких отдельных SSH-сессиях к серверу, особенно высоконагруженному. И потом, гораздо удобнее выполнять копирование/вставку между несколькими файлами в пределах одной сессии, когда у вас всё перед глазами и не нужно судорожно переключаться между несколькими терминалами в поисках того,что же вы собирались скопировать и откуда. +
-     +
-## Вкладки +
- +
-Со времён появления вкладок в веб-браузерах пользователи очень привыкли и активно пользуются этим механизмом. Действительно, идея отличная. Так почему бы не использовать их в Vim?  +
-Если вы часто работаете одновременно с несколькими файлами и вам не нужно видеть их все одновременно на одном экране, то использование вкладок — самое то, что вам необходимо. +
-     +
-Для того, чтобы **запустить Vim с несколькими файлами,открытыми в различных вкладках**, запустите его следующей командой: +
-``` +
-$ vim -p filename1 filename2 filename3 +
-``` +
- +
-Если же у вас уже имеется открытая сессия Vim, вы можете **загрузить файл (или создать новый) в новой вкладку**при помощи команды: +
-``` +
-:tabnew filename +
-``` +
- +
-_Если вы не укажете filename, то будет открыта вкладка не связанная с именем файла и вы должны будете указать его при сохранении._ +
- +
-**Переключение между вкладками** также очень простое. +
-Команда ==**gt**== переключит вас **на следующую вкладку**, +
-а команда ==**gT**== — **на предыдущую**. +
- +
-**Закрывать вкладки** можно несколькими способами. Первый способ — это всё то же «традиционное» закрытие при помощи команд **:q**, **:!q** или **:wq**. Второй способ — использование **команды для закрытия текущей вкладки**: +
-``` +
-:tabc +
-``` +
- +
-Как и в случае с окнами, эта команда не даст вам закрыть вкладку, если файл в ней изменялся, но не был сохранён.  +
- +
-Давайте подытожим список команд для работы с вкладками:+
  
-- **vim -p filename1 filename2** — запустит Vim и откроет (или создаст новые) файлы filename1 и filename2 в двух вкладках 
--   **:tabnew** — откроет пустую вкладку 
--   **:tabnew filename** — откроет новую вкладку и загрузит (создаст новый) в ней файл filename 
--   **gt** — переключит на следующую вкладку 
--   **gT** — переключит на предыдущую вкладку 
--   **:tabc** — закроет текущую вкладку 
  
-#vim+[[0_content|Оглавление]]
/var/www/html/dokuwiki/data/attic/vim/additional.1658595649.txt.gz · Последнее изменение: (внешнее изменение)