Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Чекает грамматику в "Как войти в Vim" #5478

Merged
merged 1 commit into from
Aug 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 22 additions & 22 deletions tools/how-to-enter-to-vim/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ keywords:

[Vim](https://www.vim.org/) — сложный, но очень интересный инструмент. Он позволяет сильно ускорить вашу работу с текстом. В этой статье познакомимся с общими принципами работы в Vim, изучим режимы работы, посмотрим на некоторые команды и их поведение.

Горячие клавиши есть в любом IDE, но Vim можно использовать в любом редакторе, что снимает с вас необходимость изучения шорткатов.
Горячие клавиши есть в любой IDE, но Vim можно использовать в любом редакторе, что снимает с вас необходимость изучения шорткатов.

## Как войти

Все мы с вами сталкиваемся с Vim: при создании коммита или при работе на удалённом сервере. Однако, мало кто задумывался почему этот инструмент настолько популярен. Его поклонники до сих пор существуют и продвигают Vim в массы.
Все мы с вами сталкиваемся с Vim: при создании коммита или при работе на удалённом сервере. Однако мало кто задумывается почему этот инструмент настолько популярен. Его поклонники до сих пор существуют и продвигают Vim в массы.

## Как выйти

Expand All @@ -32,24 +32,24 @@ keywords:

</details>

Если вы никогда не работали в Vim, то с большой долей вероятности не сможете из него выйти сами. Почему так? У Vim своя идеология, сильно отличающаяся от обычных текстовых редакторов. Но поняв приняв) её Vim может стать вашим любимым редактором.
Если вы никогда не работали в Vim, то с большой долей вероятности не сможете из него выйти сами. Почему так? У Vim своя идеология, сильно отличающаяся от обычных текстовых редакторов. Но если вы её поймёте примете), Vim может стать вашим любимым редактором.

## Общая концепция

Основная идея Vim заключается в том, что редактирование текста (в нашем случае кода) более сложная задача чем его создание. С нуля писать просто — сосредоточился и тыкаешь правильные кнопочки в правильной последовательности. А для редактирования нужно понять, куда вносить правки, навести мышь на эту часть кода, начать удалять буквы удерживая Backspace, и только после этого можно будет вводить другой код. Повторить до успешного результата.
Основная идея Vim заключается в том, что редактирование текста (в нашем случае кода) более сложная задача, чем его создание. С нуля писать просто — сосредоточился и тыкаешь правильные кнопочки в правильной последовательности. А для редактирования нужно понять, куда вносить правки, навести мышь на эту часть кода, начать удалять буквы, удерживая Backspace, и только после этого можно будет вводить другой код. Повторять до достижения успешного результата.

Однако перемещение и редактирование может происходить гораздо быстрее в случае, если не придётся трогать мышь или тачпад. Подумал и бац, уже редактируешь код в правильном месте. Магия вне Хогвартса не иначе.
Однако перемещение и редактирование может происходить гораздо быстрее в случае, если не придётся трогать мышь или тачпад. Подумал и бацуже редактируешь код в правильном месте. Магия вне Хогвартса, не иначе.

## Принцип команд

Большинство команд при работе в Vim это обычные глаголы и существительные в английском языке.

- Удалить слово: delete word — <kbd>dw</kbd>.
- Заменить два слова: change 2 word — <kbd>c2w</kbd>.
- Ввести текст: insert — <kbd>i</kbd>.
- Удалить всё в скобках: delete inside ( — <kbd>di(</kbd>.
- удалить слово, delete word — <kbd>dw</kbd>;
- заменить два слова, change 2 word — <kbd>c2w</kbd>;
- ввести текст, insert — <kbd>i</kbd>;
- удалить всё в скобках, delete inside ( — <kbd>di(</kbd>.

Иногда важно расположение курсора для той или иной команды. Например, если курсор находится в середине слова, то <kbd>dw</kbd> отработает не совсем ожидаемо: удалится часть слова после курсора _включая букву под курсором_. Чтобы достичь желаемого поведения, достаточно вспомнить, что мы находимся в середине слова и поэтому нам понадобиться команда <kbd>diw</kbd>.
Иногда важно расположение курсора для той или иной команды. Например, если курсор находится в середине слова, то <kbd>dw</kbd> отработает не совсем ожидаемо: удалится часть слова после курсора, _включая букву под курсором_. Чтобы достичь желаемого поведения, достаточно вспомнить, что мы находимся в середине слова и поэтому нам понадобится команда <kbd>diw</kbd>.

<video controls width="700">
<source src="video/diw-di.mp4" type="video/mp4">
Expand All @@ -58,12 +58,12 @@ keywords:

## Клавиши hjkl

Клавиши <kbd>h</kbd><kbd>j</kbd><kbd>k</kbd><kbd>l</kbd> — это основные команды для движения по открытому файлу в визуальном режиме (подробнее о режимах Vim поговорим ниже). Использование именно этих клавиш это историческая особенность. Когда <!-- yaspeller ignore:start -->[Билл Джой](https://ru.wikipedia.org/wiki/Джой,_Билл)<!-- yaspeller ignore:end --> создавал редактор vi, стрелочки на его машине [ADM-3](https://ru.wikipedia.org/wiki/ADM-3) были именно на этих кнопках.
Клавиши <kbd>h</kbd>, <kbd>j</kbd>, <kbd>k</kbd>, <kbd>l</kbd> — это основные команды для движения по открытому файлу в визуальном режиме (подробнее о режимах Vim поговорим ниже). Использование именно этих клавиш это историческая особенность. Когда <!-- yaspeller ignore:start -->[Билл Джой](https://ru.wikipedia.org/wiki/Джой,_Билл)<!-- yaspeller ignore:end --> создавал редактор vi, стрелочки на его машине [ADM-3](https://ru.wikipedia.org/wiki/ADM-3) были именно на этих кнопках.

- h — ←
- j — ↓
- k — ↑
- l — →
- h — ←,
- j — ↓,
- k — ↑,
- l — →.

![Схема клавиатуры со стрелками, нанесёнными на клавиши h, j, k, l](images/hjkl-keyboard.svg)

Expand Down Expand Up @@ -92,16 +92,16 @@ keywords:

## Как же выйти из Vim?

Как было сказано ранее, все в Vim это глаголы и существительные английского языка. Сохранение и выход не исключение. Эти операции совершаются в режиме команд. Войти в этот режим можно через кнопку <kbd>:</kbd>.
Как было сказано ранее, всё в Vim это глаголы и существительные английского языка. Сохранение и выход не исключение. Эти операции совершаются в режиме команд. Войти в этот режим можно через кнопку <kbd>:</kbd>.

- <kbd>w</kbd> — write, сохранить;
- <kbd>q</kbd> — quit, выйти;
- <kbd>q!</kbd> — выйти без сохранения изменений;
- <kbd>wq</kbd> — выйти и сохранить.
- write, сохранить — <kbd>w</kbd>;
- quit, выйти — <kbd>q</kbd>;
- выйти без сохранения изменений — <kbd>q!</kbd>;
- выйти и сохранить — <kbd>wq</kbd>.

## Навигация по тексту

Передвигаться по тексту в Vim можно очень быстро. За пару комбинаций можно перепрыгнуть на место в коде о котором вы подумали и тут же начать его редактировать. Все комбинации работают в режимах _normal_ и _visual_.
Передвигаться по тексту в Vim можно очень быстро. За пару комбинаций клавиш можно перепрыгнуть на место в коде, о котором вы подумали, и тут же начать его редактировать. Все комбинации работают в режимах _normal_ и _visual_.

### Прыгаем по словам

Expand Down Expand Up @@ -149,7 +149,7 @@ keywords:

- _вверх_ к следующей пустой строке — <kbd>{</kbd>;
- _вниз_ к следующей пустой строке — <kbd>}</kbd>;
- вернутся к прошлому месту курсора — <kbd>Ctrl o</kbd>;
- вернуться к прошлому месту курсора — <kbd>Ctrl o</kbd>;
- обратное команде выше, к прошлому месту курсора — <kbd>Ctrl i</kbd>.

## Заключение
Expand Down
8 changes: 4 additions & 4 deletions tools/how-to-enter-to-vim/practice/anatoly-kor.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
🛠 Чтобы не настраивать систему каждый раз заново, используйте _.dotfiles_. Это инструмент позволяет создать шаблон для ваших инструментов и развернуть его на любой машине, будь то рабочая, сервер или новый персональный компьютер.
🛠 Чтобы не настраивать систему каждый раз заново, используйте _.dotfiles_. Этот инструмент позволяет создать шаблон для ваших инструментов и развернуть его на любой машине, будь то рабочая, сервер или новый персональный компьютер.

Всего три команды и ваше привычное окружение там где вы пожелаете:
Всего три команды и ваше привычное окружение развернётся там, где вы пожелаете:

1. `git clone <репозиторий с вашими дот-файлами>`;
1. `cd dotfiles`;
1. `git clone <репозиторий с вашими дот-файлами>`.
1. `cd dotfiles`.
1. `./install`.

С примером конфигурации Vim, tmux, скриптов вы можете ознакомиться в [моём .dotfiles](https://github.com/anatoly-kor/dotfiles). Он довольно обширный, но разделён на логические части. Подглядывайте и копируйте себе полезные для вас команды и инструменты.
Loading