87 lines
5.0 KiB
Markdown
87 lines
5.0 KiB
Markdown
---
|
||
title: Motions
|
||
localeTitle: Ходатайства
|
||
---
|
||
# Vim Basic Motions
|
||
|
||
### Движения курсоров
|
||
|
||
Сначала в VIM мы можем использовать клавиши со стрелками, если нам нравится перемещаться по текстовому файлу, но это не лучший способ сделать это, и мы потеряли преимущество коммандных команд, которые предоставляет VIM.
|
||
|
||
Вместо этого по умолчанию и наилучшим способом перемещения по тексту используются клавиши `h` (слева), `j` (вниз), `k` (вверх) и `l` (справа).
|
||
```
|
||
^
|
||
|
|
||
k
|
||
<- h l ->
|
||
j
|
||
|
|
||
v
|
||
```
|
||
|
||
Преимущество использования этих клавиш вместо клавиш со стрелками заключается в том, что вы можете комбинировать движения с другими командами, например:
|
||
|
||
* `d2j` -> удалить 2 строки вниз
|
||
* `y10k` -> копировать 10 строк вверх
|
||
* `10l` -> переместить 10 символов вправо
|
||
* `2h` -> переместить 2 символа влево
|
||
|
||
### Слова
|
||
|
||
Слово состоит из последовательности букв, цифр и символов подчеркивания или последовательность других непустых символов, разделенных пробелом (пробелы, вкладки, конец строки). Пустая строка также считается словом.
|
||
|
||
Это можно переместить с помощью этих commnads:
|
||
|
||
* `w` -> перейти к следующему слову
|
||
* `W` -> перейти к следующему **WORD** \*
|
||
* `e` -> перейти к концу следующего слова
|
||
* `E` -> перейти в конец следующего **СЛОВА**
|
||
* `b` -> перейти к предыдущему слову
|
||
* `B` -> перейти к предыдущему **WORD**
|
||
* `ge` -> перейти к концу предыдущего слова
|
||
* `gE` -> перейти в конец предыдущего **WORD**
|
||
|
||
\* **WORD** состоит из последовательности непустых символов, разделенных белым пространство. Пустая строка также считается **WORD** , то есть: `quux(foo,` `bar,` `foo);`
|
||
|
||
С помощью этих движений в сочетании с другими командами вы можете делать такие вещи, как:
|
||
|
||
* `dw` -> удалить слово
|
||
* `5e` -> перейти к концу 5-го слова отсюда
|
||
|
||
### Поисковые запросы
|
||
|
||
Другой способ перемещения по интересующей вас позиции - это использование поисковых движений, поисковые движения состоят в движение + символ для поиска
|
||
|
||
* `fx` -> перейти к следующему `x`
|
||
* `tx` -> перейти к первой позиции до следующего `x`
|
||
* `;` -> следующий x
|
||
* `Fx` -> перейти к предыдущему `x`
|
||
* `Tx` -> перейти в первую позицию после предыдущего `x`
|
||
* `,` -> предыдущий x
|
||
|
||
### Начало и конец строк
|
||
|
||
Вы также можете перейти к началу или концу строки с помощью VIM, с помощью следующих команд:
|
||
|
||
* `0` -> Начало строки
|
||
* `^` -> Первый нечерный символ линии
|
||
* `$` -> Конец строки
|
||
|
||
### Движения файлов
|
||
|
||
В VIM вы можете перемещаться по файлу с помощью следующих команд:
|
||
|
||
* `gg` -> перейти в первую строку файла
|
||
* `G` -> перейти к последней строке файла
|
||
* `<ctrl> + f` -> переместить одну страницу вниз
|
||
* `<ctrl> + b` -> переместить одну страницу вверх
|
||
* `/text` -> найти `text`
|
||
* `n` -> перейти к следующему вводу `text` (предыдущая команда)
|
||
* `?text` -> найти предыдущий `text`
|
||
* `N` -> перейти к предыдущему вложению `text`
|
||
* `{` -> переместить один абзац вверх
|
||
* `}` -> переместить один абзац вниз
|
||
* `(` -> переместить одно предложение вверх
|
||
* `)` -> переместить одно нажатие вниз
|
||
* `#` -> найти слово под курсором вверх
|
||
* `*` -> найти слово под курсором вниз |