vim команды

Дата публикации: 26 05 2012 Автор: PazitiFF

 

Навигация и редактирование:
 
i — перейти в режим ввода с текущей позиции
I — переместиться в начало строки и перейти в режим ввода
a — перейти в режим ввода после курсора
А — переместиться в конец строки и перейти в режим ввода
o — перейти в режим ввода с новой строки под курсором
O — перейти в режим ввода с новой строки над курсором
x — удалить символ под курсором
X — удалить символ влево (удалить символ перед курсором)
v - визуальный режим для выделения
y - скопировать выделение
yy -  скопировать строку
y<число>y — копирование числа строк начиная с текущей в неименованный буфер
p — вставка содержимого неименнованного буфера под курсором
P — вставка содержимого неименнованного буфера перед курсором
dd - вырезать строку
d$ - вырезать до конца строки
d^ - вырезать до начала строки
d5d - вырезать 5 строк вниз (вместо 5 можно подставить любое значение)
d — используется совместно с командами перемещения. Удаляет символы с текущего положения курсора до положения после ввода команды перемещения.
dw - удаляет символы с текущего до конца слова
diw - удаляет слово под курсором
с — команда аналогичная d, но после удаление переходит в режим ввода. Очень удобная альтернатива команде R
R — перейти в режим ввода с забиванием текста
r — заменить один символ
J — слияние текущей строки со следующей
u — отмена последней команды
. — повтор последней команды
0 ("ноль") — в начало текущей строки;
^ — в начало текущей строки (к первому непробельному символу);
$ — в конец текущей строки
w — на слово вправо
b — на слово влево
W — до пробела вправо
B — до пробела влево
} — абзац вниз
{ — абзац вверх
<Ctrl-f> — на страницу (экран) вниз
<Ctrl-b> — на страницу (экран) верх
gg — перейти в начало файла
G — перейти в конец файла
<number>G — перейти на конкретную строку <number>
/<text><CR> — перейти к <text>
 ?<text><CR> — то же самое, но искать назад
n — повторить поиск
N — повторить поиск назад
[[ — в начало функции
“ — к месту выполнения команды [[
:e new_file - создает новый пустой файл
:w  new_file - создаст файл new_file и запишет в него содержимое текущего файла, а затем продолжит работу со старый файлом
:sav filename - Сохранить как...
 
Удаленноне подключение и редактирование:
SFTP
vim sftp://user@examle.com//usr/local/www/index.php
 
FTP
vim ftp://user@exmple.com/
 
 
Поиск
/word Искать слово “word” сверху вниз
?word Искать слово “word” снизу вверх
/jo[ha]n> Искать “john” или “joan”
/\< the Искать слова, начинающееся на “the”
/the\> Искать слова, заканчивающиеся на “the”
/\< the\> Искать “the”
/\< …. \> Искать слова из четырех символов
/fred\|joe Искать “fred” или “joe”
/\<\d\d\d\d\> Искать 4 цифры подряд
/^\n\{3} Искать 3 пустые строки
:bufdo /searchstr/ Искать во всех открытых файлах
Замена
:%s/old/new/g Заменить все вхождения “old” на “new”
:%s/old/new/gw Заменить все вхождения “old” на “new” с запросом подтверждения
:2,35s/old/new/g Заменить все вхождения “old” на “new” между 2 и 35 строками
:5,$s/old/new/g Заменить все вхождения “old” на “new” начиная с 5 строки и до конца файла
:%s/^/hello/g Добавить “hello” в начало каждой строки
:%s/$/Harry/g Добавить “Harry” в конец каждой строки
:%s/onward/forward/gi Заменить “onward” на “forward” с учетом регистра
:%s/ *$//g Убрать все пробелы
:g/string/d Удалить все строки, содержащие “string”
:v/string/d Удалить все строки, не содержащие “string”
:s/Bill/Steve/ Заменить первое вхождение “Bill” на “Steve” в текущей строке
:s/Bill/Steve/g Заменить все вхождения “Bill” на “Steve” в текущей строке
:%s/\r//g Убрать символ возврата каретки (Такие тексты обычно приходят от windows-пользователей)
:%s#>[^<]\+>##g Очистить текст от HTML-тегов
:%s/^\(.*\)\n\1$/\1/ Удалить строки, повторяющиеся дважды
Ctrl+a Увеличить число под курсором на единицу
Ctrl+x Уменьшить число под курсором на единицу
ggVGg? Преобразовать текст в Rot13
Регистр
Vu Перевести строку в нижний регистр
VU Перевести строку в верхний регистр
g~~ Инвертировать регистр
vEU Перевести слово под курсором в верхний регистр
vE~ Инвертировать регистр слова
ggguG Перевести весь текст в нижний регистр
:set ignorecase Регистронезависимый поиск
:set smartcase Игнорировать регистр при поиске, если в искомом выражении нет символов верхнего регистра
:%s/\<./\u&/g Перевести первую букву каждого слова в верхний регистр
:%s/\<./\l&/g Перевести первую букву каждого слова в нижний регистр
:%s/.*/\u& Перевести первую букву первого слова в каждой строке в верхний регистр
:%s/.*/\l& Перевести первую букву первого слова в каждой строке в нижний регистр
Чтение/запись файлов
:1,10 w outfile Записать в outfile с первой по десятую строки
:1,10 w >> outfile Добавить в outfile с первой по десятую строки
:r infile Вставить содержимое файла infile
:23r infile Вставить содержимое файла infile после 23 строки
Навигация по ФС
:e . Открыть встроенный файл-менеджер
:Sex Разбить окно и открыть встроенный файл менеджер
:browse e Графический файл-менеджер
:ls Список буферов
:cd .. Перейти в родительскую директорию
:args Список открытых файлов
:args *.php Открыть все файлы с расширением *.php
:grep expression *.php Показать список файлов с расширением php, содержащих в имени expression
gf Открыть файл с именем, равным слову, находящемуся под курсором
Взаимодействие с ОС
:!pwd Выполнить команду pwd и вернуться
!!pwd Выполнить команду pwd и вставить результат в редактор
:sh Открыть шелл
$exit Вернуться в редактор из шелла
Выравнивание
:%!fmt Выровнять все строки
!}fmt Выровнять все строки в текущей позиции
5!!fmt Выровнять следующие 5 строк
Вкладки
:tabnew Создать новую вкладку
gt Перейти на следующую вкладку
:tabfirst Перейти на первую вкладку
:tablast Перейти на последнюю вкладку
:tabm n(position) Изменить порядок вкладок
:tabdo %s/foo/bar/g Выполнить команду во всех вкладках
:tab ball Поместить все открытые файлы во вкладки
Разделение окна
:e filename Редактировать filename в текущем окне
:split filename Разделить окно и открыть filename
ctrl-w + стрелка ВВЕРХ Переместить курсор в верхнее окно
ctrl-w ctrl-w Переместить курсор в следующее окно
ctrl-w_ Максимизировать текущее окно
ctrl-w= Подогнать окна по размеру
10 ctrl-w+ Увеличить текущее окно на 10 строк
:vsplit file Вертикально разделить окно
:sview file Разделить окно и открыть file только для чтения
:hide Закрыть текущее окно
:only Закрыть все окна, кроме текущего
:b 2 Открыть #2 в текущем окне
Автодополнение
Ctrl+n Ctrl+p (в режиме вставки) Дополнить слово
Ctrl+x Ctrl+l Дополнить строку
:set dictionary=dict Установить словарь
Ctrl+x Ctrl+k Дополнение из словаря
Метки
mk Пометить текущую позиция как k
‘k Перейти к метке k
d’k Удалить все до метки k
Сокращения
:ab mail mail@provider.org Определить mail как сокращение от mail@provider.org
Отступы
:set autoindent Включить автоматическую расстановку отступов
:set smartindent Включить “умную” расстановку отступов
:set shiftwidth=4 Установить отступ равный 4 пробелам
ctrl-t, ctrl-d Убрать/добавить отступ в режиме вставки
<< Добавить отступ
>> Убрать отступ
Подсветка синтаксиса
:syntax on Включить подсветку
:syntax off Выключить подсветку
:set syntax=perl Установить режим подсветки
 
 
Сtrl-w o - развернуть окно
Ctrl-w c - закрыть
Ctrl-w s - разделить окно по горизонтали
Ctrl-w v - тоже, только по вертикали
Ctrl-w ] - разделить и перейти на определение чего-то, что под курсором
Ctrl-w f - разделить и в новом окне открыть файл путь к которому находится под курсором
 
 
gg=G Форматирование текста 

Добавить комментарий

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Вы можете использовать подсветку исходного кода следующими тегами: <code>, <blockcode>, <apache>, <bash>, <css>, <drupal6>, <html5>, <javascript>, <mysql>, <php>.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.