Vim: Свой конфиг под судо
sudo -E vim /etc/some_conf_file
Как заставить Vim отображать русские символы, если локаль не UTF8?
set fileencoding=utf-8
set encoding=utf-8
set termencoding=utf-8
Перейти на строку при открытии
vim ~/.ssh/known_hosts +2
где ++2 - номер строки
Комбинации
- wdb - удалить слово находясь в любом месте слова
- 0w - переместиться к началу строки где есть текст
- ggcG - удалить все содержимое файла и включить режим редактирования
Управление
Перемещение курсора
| h - переместить курсор в лево |
k - переместить курсор в вверх |
| l - переместить курсор в право |
j - переместить курсор в вниз |
| По строке |
| 0 - переместиться к началу строки |
$ - переместиться к концу строки |
| e - переместиться к последнему символу след. слова |
b - переместиться к первому символу пред. слова |
| w - переместиться к началу след. слова |
b - переместиться к началу пред. слова |
| По экрану |
| gg - переместиться к началу файла |
G - переместиться к концу файла |
| H - переместить курсор к началу экрана |
L - переместить курсор к концу экрана |
| M - переместить курсор к середине экрана |
| Ctrl+f - переместиться к концу экрана |
Ctrl+b - переместиться к концу экрана |
| :14 - переместиться к строке 14. Не работает в st3 |
Редактирование текста
| Удаление |
| x - удалить символ под курсором |
X - удалить символ до курсора |
| dd - удалить строку под курсором |
| dw (delete word) - удалить от места под курсором до конца слова |
de - удалить от места под курсором до конца слова НЕ включая след. пробел |
| d$ (или D) - удалить от места под курсором до конца строки |
d^ - удалить от места под курсором до начала строки |
| Вставка |
| i - вставить текст под курсором |
a - вставить текст перед курсором |
| I - вставить текст в начале строки |
A - вставить текст в конце строки |
| o - вставить пустую строку ниже текущей |
O - вставить пустую строку выше текущей |
| Замена |
| r - заменить символ под курсором |
R - заменить несколько символов под курсором |
| Изменение |
| ce - изменить слово от символа под курсором до конца слова |
cb - изменить слово от символа под курсором до начала слова |
Поиск
| Поиск слов |
| / - включение режима поика |
| n - след. вхождение поиска |
| N - пред. вхождение поиска |
| Поиск парных скобок |
| % - ищет парную скобку под курсором |
Копирование и вставка
| yw - копировать слово в буфер |
| p - вставить данные из буфера, перед курсором |
P - вставить данные из буфера, после курсора |
Найти и заменить
| :s/foo/bar - заменит первое найденое foo на bar |
:s/foo/bar/g - заменит найденое foo на bar во всей строке |
| :%s/foo/bar - заменит первое найденое foo на bar в каждой строке |
:%s/foo/bar/g - заменит найденое foo на bar во всем файле |
:%s/foo/bar/gc - поиск и замена с подтверждением.
- y - да, заменить
- n - нет, не заменять
- a - заменить все
- q - отменить замену
- l - заменить и выйти
|
Сохранение файла
| :w TEST - Сохранить файл с именем TEST |
:wq - Сохранить и выйти |
| Сохранить фрагмент |
| v :w TEST - выделить фрагмент текста и сохранить в файл TEST |
| Вставить содержимое файла под курсор |
| :r TEST - вставит содержимое файла TEST |
:r !ls - вставит вывод команды под курсор |
Установки и параметры
| :set ic - игнорировать регистр при поиске |
:set noic - НЕ игнорировать регистр при поиске |
| :set number - показать номера строк |
:set nonumber - НЕ показывать номера строк |
Разное
Обычный режим
| Ctrl+a - Увеличивает число на 1 |
Ctrl+x - Уменьшает число на 1 |
| Ctrl+o - переместиться на пред. положение |
Ctrl+i - переместиться на след. положение |
| q: - история команд |
q/ - история команд + поиск |
| J - "Склеивает" строку с пред. строкой |
Ctrl+g - информация о файле, название, положение |
| Отмена изменений |
u - отменить последнее действие |
U - отменить несколько последних действий. Не работает в st3 |
</tr>
| Ctrl+R - отменить отмену. Не работает в st3 |
| :! - выполнить внешнюю команду |