vim


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/ - история команд + поиск
</tr>
J - "Склеивает" строку с пред. строкой Ctrl+g - информация о файле, название, положение
Отмена изменений
u - отменить последнее действие U - отменить несколько последних действий. Не работает в st3
Ctrl+R - отменить отмену. Не работает в st3
:! - выполнить внешнюю команду