|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
Режимы Vim Esc — вернуться в обычный (нормальный) режим. i — режим вставки (ввод текста перед курсором). a — режим вставки после курсора. v — визуальный режим (выделение текста символами). V — визуальный режим (выделение текста строками). : — режим командной строки. Выход и сохранение (вводятся после :) w — сохранить файл. q — выйти из Vim. q! — выйти без сохранения изменений. wq (или x) — сохранить изменения и выйти. Перемещение курсора h / j / k / l — влево / вниз / вверх / вправо. w / b — на слово вперед / назад. 0 / $ — в начало / конец текущей строки. gg / G — в самое начало / самый конец файла. 50G — перейти строго на 50-ю строку. Редактирование, удаление и копирование x — удалить один символ под курсором. dw — удалить слово от курсора до конца. dd — удалить (вырезать) всю строку. d$ (или D) — удалить текст от курсора до конца строки. yy — скопировать всю строку в буфер. p — вставить скопированный/вырезанный текст после курсора. u — отменить последнее действие (Ctrl+Z). Ctrl + r — вернуть отмененное действие (Ctrl+Y). /текст — поиск текста вперед по файлу. ?текст — поиск текста назад по файлу. n / N — переход к следующему / предыдущему совпадению. :%s/что/на_что/g — заменить все совпадения во всем файле. :%s/шаблон/замена/g — заменить все вхождения во всем файле. :%s/шаблон/замена/gc — заменить во всем файле, но с подтверждением для каждого совпадения. :s/шаблон/замена/g — заменить все вхождения только в текущей строке.:s/шаблон/замена/ — заменить только первое вхождение в текущей строке. :5,12s/шаблон/замена/g — заменить все совпадения в диапазоне от 5 до 12 |
Рубрика: vim \ vi
|
1 2 3 4 5 6 7 8 |
vim ~/.vimrc ------------- "color blue "color evening color morning set mouse=v syntax on ------------- |
|
1 2 3 4 5 6 7 |
cat > ~/.vimrc << "EOF" "color blue "color evening color morning set mouse=v syntax on EOF |
Включить проверку орфографии
|
1 2 3 4 5 6 |
Запускаем Vim, делаем: !!! Нам предложат скачать словарь, скачиваем. :setlocal spell spelllang=ru_ru,en_us Дополнительно о проверке орфографии: :help spell</p></body></html> |
|
1 2 3 4 5 6 7 8 |
В тех сборках, которые его поддерживают, указанный регистр (*) является системным буфером обмена. Чтобы скопировать текст из Vim в системный буфер обмена, вы можете выделить текст в визуальном режиме, а затем нажать, ("*y) чтобы скопировать его в системный буфер обмена. И наоборот, используйте ("*p) для вставки текста из системного буфера обмена в Vim. "*y - скопировать в системный буфер "*p - вставить из системного буфера |
|
1 2 |
cat text | vi -c "%s/один/два/g" -c "wq! text" - прочитали файл text с помощью cat, произвели средствами vi замену слова один на слово два и, сохранив изменения в файле. cat * | vi -c "%s/текст1/текст2/g" -c "wq result" - замена текста |
|
1 2 3 |
:edit ++enc=koi8-r filename - В vi уже открыт файл, системная кодировка --- UTF-8, а нам нужно редактировать текст в KOI8-R. vi -c "edit ++enc=koi8-r filename" - открыть файл в кодировке koi8-r iconv -f KOI8-R -t UTF-8 filename | vi - перекодирование filename осуществляется на лету и не сохраняется до тех пор, пока данное указание не поступит от vi |
Рубрики
vim другое
|
1 2 3 4 |
:set [no]wildmenu При авто-дополнении в командной строке над ней выводятся возможные варианты :set list Отображать табуляцию и переводы строк q: История команд . Повторение последней команды |
Рубрики
vim работа с кодировкой
|
1 2 3 |
e ++enc=<имя кодировки> Редактирование файла в ??? кодировке w ++enc=<имя кодировки> Сохранить файл в новой кодировке set fileencodings=utf-8,koi8-r Список автоматически определяемых кодировок в порядке убывания приоритета |
Рубрики
vim проверка орфографии
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
mkdir -p ~/.vim/spell cd ~/.vim/spell wget http://ftp.vim.org/vim/runtime/spell/ru.koi8-r.sug wget http://ftp.vim.org/vim/runtime/spell/ru.koi8-r.spl wget http://ftp.vim.org/vim/runtime/spell/en.ascii.sug wget http://ftp.vim.org/vim/runtime/spell/en.ascii.spl setlocal spell spelllang=ru,en - включить проверку орфографии set spell! вкл/выкл - проверку во время работы ]s - следующее слово с ошибкой [s - предыдущее слово с ошибкой zg good word zw wrong word zG ignore word |
Рубрики
vim работа с окнами
|
1 2 3 4 5 6 7 |
:split - горизонтальное разбиение :vsplit - вертикальное разбиение Ctr+W, - затем с - закрыть окно = - установить равный размер окон hjkl - стрелочки перемещение между окнами |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Работа с Tab'ами нумерация начинается с нуля :tabnew [fname] создать таб :tabs вывести список табов :tabn следующий таб :tabp предыдущий таб <n>gt перейти на таб #n gt следующий таб gT предыдущий таб :tabm +1 переместить таб вперед на одну позицию :tabm -1 переместить таб назад на одну позицию :tabm 2 переместить таб на заданную позицию |
Рубрики
vim нумерация строк
|
1 2 |
:set number - включить нумерацию строк :set nonumber - отключить нумерацию строк |
Рубрики
vim поиск по всему проекту
|
1 2 3 4 5 |
:vimgrep /EXPR/ **/*.c поиск по регулярному выражению :copen показать все найденные места :close скрыть все найденные места :cn переход к следующему результату :cp переход к предыдущему результату |
Рубрики
vim поиск и замена в файле
|
1 2 3 4 5 6 7 8 9 10 11 |
/Выражение поиск выражения в файле \cВыражение поиск без учета регистра n следующее совпадение N предыдущее совпадение :%s/foo/bar/gi замена строк, см http://eax.me/regular-expr/ :%s/шаблон/замена/g — заменить все вхождения во всем файле. :%s/шаблон/замена/gc — заменить во всем файле, но с подтверждением для каждого совпадения. :s/шаблон/замена/g — заменить все вхождения только в текущей строке. :s/шаблон/замена/ — заменить только первое вхождение в текущей строке. :5,12s/шаблон/замена/g — заменить все совпадения в диапазоне от 5 до 12 |
Рубрики
vim отступы
|
1 2 3 4 5 6 7 |
[#]> сдвинуть выделенное вправо [#]< сдвинуть выделенное влево [#]>> сдвинуть строку вправо [#]<< сдвинуть строку влево set tabstop=# для табуляции используется # пробелов set shiftwidth=# в командах отступа используется # пробелов set [no]expandtab заменять ли табуляцию на соответствующее число пробелов |
Рубрики
vim выделение
Выделение:
|
1 2 3 4 5 6 7 8 |
v + hjkl - выделение текста SHIFT + v - выделить строку CTR + v - выделение прямоугольника p - вставить y - копировать d - удалить gu - к нижнему регистру gU - к верхнему регистру |
Рубрики
vim регистры
|
1 2 3 4 |
"ayy - скопировать строку в регистр a "bdd - вырезать строку и поместить в регистр b "С2d - вырезать три строки и дописать в конец регистра C :reg [name1][name2][...] - просмотреть содержимое регистров |
Рубрики
vim макросы
|
1 2 3 4 5 6 7 |
qa записать макрос с именем a q в режиме записи макроса: закончить запись @a выполнить макрос с именем a @@ повторить последний макрос |
Рубрики
vim сессии
|
1 2 |
mksession file.session сохранить текущую сессию source file.session восстановить ранее сохраненную сессию |
Рубрики
vim маркеры
|
1 2 3 4 5 6 7 8 9 10 |
ma установить локальный маркер a mB установить глобальный маркер B `c перейти к локальному маркеру c `0 вернуться на позицию, на которой закончили работу при закрытии vim :marks просмотр маркеров set viminfo='1000,f1 маркеры пишутся в ~/.viminfo, восстанавливаясь при следующем запуске vim. маркер " хранит последнюю позицию курсора в файле |
Рубрики
vim сворачивание
|
1 2 3 4 5 6 7 8 9 10 11 12 |
zc - свернуть блок zo - развернуть блок zM - закрыть все блоки zR - открыть все блоки za - инвертирование zf - см :set foldmethod=manual :set foldenable - включить сворачивание :set foldmethod=syntax - сворачивание на основе синтаксиса :set foldmethod=indent - сворачивание на основе отступов :set foldmethod=manual - выделяем участок с помощью v и говорим zf :set foldmethod=marker - сворачивание на основе маркеров в тексте :set foldmarker=bigin,end - задаем маркеры начала и конца блока |