148 lines
12 KiB
Markdown
148 lines
12 KiB
Markdown
---
|
||
title: Useful Commands
|
||
localeTitle: Полезные команды
|
||
---
|
||
# Полезные команды
|
||
|
||
## Основные функции
|
||
|
||
Скорее всего, вы окажетесь в «нормальном» режиме, он позволяет вводить команды, нажимая клавишу двоеточия `:` Чтобы перейти из других режимов, вы можете ввести `ctrl + c` или `escape` .
|
||
|
||
Чтобы отредактировать текст и передвигаться знакомым способом, нажмите `i` для режима «вставки». Попробуйте передвигаться с помощью клавиш со стрелками в режиме «вставки» - подробности см. В разделе «Навигация» ниже.
|
||
|
||
В зависимости от конфигурации вы можете ввести браузер файлов, введя и введя команду `:e .` в «нормальном» режиме. «E» означает редактирование, а также период для файла или каталога.
|
||
|
||
## навигация
|
||
|
||
* Движение курсора: вы можете использовать клавиши со стрелками или `h` , `j` , `k` , `l` (влево, вниз, вверх, вправо)
|
||
* `gg` приводит вас к началу файла
|
||
* `G` приводит вас к концу файла
|
||
* `:(num)` приводит вас к определенной строке в вашем файле (например: 42 приводит вас к строке 42)
|
||
|
||
## экономия
|
||
|
||
1. Нажмите `Escape` чтобы убедиться, что вы находитесь в `normal mode` ;
|
||
2. Введите `:w` («w» означает «write»);
|
||
3. Нажмите `Enter` .
|
||
|
||
## Сохранение (в новый файл)
|
||
|
||
1. Нажмите `Escape` чтобы убедиться, что вы находитесь в `normal mode` .
|
||
2. Введите `:w newfilename` (newfilename - имя файла нового файла, который вы хотите сохранить).
|
||
3. Нажмите `Enter` .
|
||
|
||
## Выход из Ви, Вима, Нвима, Гвима
|
||
|
||
1. Нажмите escape, чтобы перейти в «обычный» режим
|
||
2. `:q` будет мягким выйти из vim
|
||
3. `:q!` заставит выйти из vim
|
||
4. `:qa` это закрывает все открытые файлы
|
||
5. `:qa!` закрывает все файлы, оставляя изменения
|
||
6. `:q` сохраняет и закрывает текущий файл
|
||
|
||
(ПРИМЕЧАНИЕ: Команда `:q!` Заставит Vim выйти без сохранения. Обязательно сохраните сначала, набрав команду `:w` если вы не хотите терять какие-либо изменения, которые вы сделали.)
|
||
|
||
**ИЛИ**
|
||
|
||
* Тип ZZ (сохранение и выход)
|
||
* Тип `:wq` / `:x` (сохранение и выход, но использование с использованием обычно используемых команд «w» и «q»)
|
||
|
||
## Вырезать, скопировать и вставить
|
||
|
||
* `dd` удаляет (сокращает) одну строку
|
||
* `yy` yanks (копии) одной строки
|
||
* вы можете использовать `yy` и `dd` предшествует число, чтобы вырезать или скопировать несколько строк (ex- `13dd` сократит 13 строк)
|
||
* `p` вставляет все из буфера
|
||
|
||
## Вставка блоков кода
|
||
|
||
Очень часто вы обнаружите, что ищете решения проблем, и найти кого-то написал блок кода, который делает именно то, что вы хотите. Если вы попытаетесь скопировать и вставить код непосредственно в Vim, вы можете обнаружить, что код странно отформатирован или не был вставлен правильно. Это связано с тем, что Vim читает каждый символ, который вы вставляете один за другим, что означает, что будут выполняться любые комбинации клавиш, которые активируют ярлык Vim, и Vim будет пытаться (и отказываться) автоматически отступать от вставленного кода.
|
||
|
||
Чтобы преодолеть это, вы можете использовать **режим вставки** Vim, который вы можете активировать, введя нормальный режим (нажмите `escape` или `crtl + c` ) и введите `:set paste` , затем нажмите ENTER. Теперь вы находитесь в режиме _вставки_ . Затем вы можете войти в режим вставки с `i` и вставить блок текста / кода без каких-либо проблем! Чтобы вернуться в обычный режим Vim без вставки, вы можете войти в обычный режим ( `escape` или `crtl + c` ) и ввести `:set nopaste` и нажать ENTER.
|
||
|
||
## Установка номеров линий
|
||
|
||
1. Нажмите escape, чтобы перейти в «обычный» режим
|
||
2. Тип `:set number` , нажать enter
|
||
|
||
Чтобы установить номера строк по умолчанию:
|
||
|
||
1. Откройте / создайте конфигурационный файл `vim ~/.vimrc` с помощью `vim ~/.vimrc`
|
||
2. Добавьте `set number` строк, нажмите enter
|
||
|
||
## Открытие файла в VIM
|
||
|
||
В VIM вы можете открыть файл в том же окне, установив курсор на путь и набрав `gf` . Это сообщит VIM, что текущий текст, который находится курсором, является файлом, который вы хотите открыть. Файл откроется внутри терминала VIM, поэтому, если вы хотите вернуться в предыдущее окно, просто введите `ctrl+o` . Это позволит VIM перейти к предыдущему экрану.
|
||
|
||
## Как разделить окна
|
||
|
||
Вы можете разделить окна vim и одновременно редактировать 2 или более файлов.
|
||
|
||
* `:split` -> split window (горизонтальное)
|
||
* `:vsplit` -> разделенное окно (вертикальное)
|
||
* `:vertical` new -> открыть новый файл в новом окне
|
||
|
||
Для перемещения между окнами вы можете использовать следующие команды:
|
||
|
||
* `CTRL-W h` - перейти в окно слева
|
||
* `CTRL-W j` - перейти к окну ниже
|
||
* `CTRL-W k` - перейти к окну выше
|
||
* `CTRL-W l` - переход в окно справа
|
||
* `CTRL-W t` - переход в верхнее окно
|
||
* `CTRL-W b` - переход в нижнее окно
|
||
|
||
## Отменить повторить
|
||
|
||
Эти действия должны выполняться в **обычном режиме** .
|
||
|
||
**Отменить** : нажмите `u` или введите `:undo` и нажмите `Enter` .
|
||
|
||
**Повторить** : Нажмите `U` ( `Shift` + `u` ) или введите `:redo` и нажмите `Enter` .
|
||
|
||
## Открытие файла в определенной строке
|
||
|
||
* vi filename + n, где n - номер строки
|
||
|
||
## Открытие файла, ищущего слово / срок
|
||
|
||
* vi filename + / word, где слово - это то, что вы ищете. Курсор будет располагаться при первом появлении слова.
|
||
|
||
## Поиск файла в Vim
|
||
|
||
В нормальном режиме (нажмите клавишу `escape` чтобы убедиться), вы можете искать любой термин в документе, введя `/` , затем следуя термину, который вы ищете, а затем нажмите `enter` . Например, введите `/hello` и нажмите `enter` чтобы найти слово «hello» в текущем файле.
|
||
|
||
Вы можете перейти к следующему появлению вашего поискового запроса, нажав `n` или предыдущее вхождение, нажав `N` `*` ищет слово под курсором.
|
||
|
||
Если вы хотите выделить все типы совпадений поиска `:set hlsearch` или используйте сокращенную команду `:set hls` . Используйте `:set noh` чтобы отключить подсветку до следующего поиска.
|
||
|
||
## Компиляция проекта
|
||
|
||
Vim имеет очень тесную интеграцию с `make` инструментом автоматизации сборки. Если ваш проект использует Makefile, вы можете ввести `:make` в командной строке Vim, чтобы запустить инструмент `make` вашей системы. Vim распечатает вывод `make` на экране и доведёт до первой ошибки, если таковая имеется, когда команда `make` завершена. Затем вы можете перейти через ошибки компиляции и предупреждения в код вашего проекта, используя команды `:cn` и `:cp` для следующих и предыдущих проблем соответственно.
|
||
|
||
## Найти и заменить
|
||
|
||
1. Нажмите `Escape` чтобы убедиться, что вы находитесь в `normal mode` ;
|
||
2. Введите `:` (вы переключитесь в `command mode` );
|
||
3. Введите `%s,word_to_be_replaced,new_word,g` ;
|
||
4. Нажмите `ENTER` .
|
||
|
||
Важно: если вы хотите заменить первое появление слова, удалите `g` в конце.
|
||
|
||
## Я хочу узнать Vim!
|
||
|
||
Для начинающих, Vim имеет встроенный учебник! Вы можете получить к нему доступ, запустив `vimtutor` с вашего терминала, и это запустит интерактивный учебник о _том, как начать работу с Vim_ (требуется около 15 минут для работы).
|
||
|
||
Если вы не так уверены в английском, вы можете позволить себе `vimtutor` на вашем языке выбора. Например, `vimtutor fr` запустит учебник на французском языке!
|
||
|
||
## Другие полезные команды
|
||
|
||
* `gg=G` фиксирует отступ всего файла
|
||
* Если вы хотите узнать больше о конкретной команде, введите `:help` а затем имя команды (ex-: help: w)
|
||
|
||
Прочтите остальные наши Vim Guides, чтобы лучше понять этот мощный редактор.
|
||
|
||
## Другие источники
|
||
|
||
* [Vim Golf](https://vimgolf.com/) - хороший способ научиться делать vim-вызовы, чтобы получить наименьшее количество нажатий клавиш. Вы можете видеть решения, представленные другими, если вы не можете понять вызов.
|
||
* [Vim Adventures](https://vim-adventures.com/) - забавный и увлекательный подход к изучению Vim, где вы можете разыгрывать различные штрихи с каждым новым уровнем в игре.
|
||
* [Open Vim](http://www.openvim.com/) - интерактивный учебник vim, в котором описываются основные команды |