|
|||||||
vim команды
Время создания: 19.04.2017 18:33
Раздел: Linux - Работа с программами
Запись: xintrea/mytetra_db_mcold/master/base/1492615987152u9flmdk/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
## vim команды ``` Файл настройки: ~/.vimrc Можно редактировать файлы через сеть, например :e <scp|ftp|ftps>://user@host/path/to/the/file.txt :Ex или :e ./ - файловый менеджер == Основы == hjkl перемещение в разные стороны i режим вставки I добавление в начало строки a режим добавления A добавление в конец строки o добавить строку сразу за текущей O добавить строку перед текущей R писать поверх имеющегося текста u, :u[ndo] отмена предыдущего действия (undo) CTR-R, :red[o] отмена отмены предыдущего действия (redo) dd вырезать (удалить) строку cc удалить и начать редактирование yy копировать строку p вставить из буфера обмена <n>d удалить n+1 строку <n>y скопировать n+1 строку ESC перейти в режим просмотра DEL удалить следующий символ :<n> перейти на строку #n % перейти к парной скобке :e **/filename.c редактировать файл (с поиском по имени) :w [fname] записать изменения :wa сохранить изменения во всех файлах :q выйти из редактора :q! выйти из редактора, не сохраняя изменения :color <name> выбор цветовой схемы. цветвые схемы: /usr/local/share/vim/vim72/colors/*.vim :pwd текущий каталог :cd [path] перейти в другой каталог :!команда выполнить команду - man, git, и так далее стрелочками веерх и вниз можно автодополнять команды и искать по истории CTR+p или CTR+n автоматическое дополнение текста (в режиме редактирования) CTR+r,=,<expr> вставить выражение, например 5*2 - 3 (в режиме редактирования) CTR+u, CTR+d Page Up / Page Down CTR+y, CTR+e Перемотка вверх/вниз без движения курсора == Подсветка синтаксиса == :syntax on включить подсветку :syntax off выключить подсветку (по умолчанию) == Перенос строк == :set wrap разрешить word wrap (по умолчанию) :set nowrap запретить word wrap == Печать == :ha[rdcopy] распечатать документ :set printoptions=duplex:off отключить двустороннюю печать == Сворачивание == zc свернуть блок zo развернуть блок zM закрыть все блоки zR открыть все блоки za инвертирование zf см :set foldmethod=manual :set foldenable включить свoрачивание :set foldmethod=syntax сворачивание на основе синтаксиса :set foldmethod=indent сворачивание на основе отступов :set foldmethod=manual выделяем участок с помощью v и говорим zf :set foldmethod=marker сворачивание на основе маркеров в тексте :set foldmarker=bigin,end задаем маркеры начала и конца блока == Маркеры == ma установить локальный маркер a mB установить глобальный маркер B `c перейти к локальному маркеру c `0 вернуться на позицию, на которой закончили работу при закрытии vim :marks просмотр маркеров set viminfo='1000,f1 маркеры пишутся в ~/.viminfo, восстанавливаясь при следующем запуске vim. маркер " хранит последнюю позицию курсора в файле == Сессии == mksession file.session сохранить текущую сессию source file.session восстановить ранее сохраненную сессию == Макросы == qa записать макрос с именем a q в режиме записи макроса: закончить запись @a выполнить макрос с именем a @@ повторить последний макрос == Регистры == "ayy скопировать строку в регистр a "bdd вырезать строку и поместить в регистр b "С2d вырезать три строки и дописать в конец регистра C :reg [name1][name2][...] просмотреть содержимое регистров == Выделение == v + hjkl выделение текста SHIFT + v выделить строку CTR + v выделение прямоугольника p вставить y копировать d удалить gu к нижнему регистру gU к верхнему регистру == Отступы == [#]> сдвинуть выделенное вправо [#]< сдвинуть выделенное влево [#]>> сдвинуть строку вправо [#]<< сдвинуть строку влево set tabstop=# для табуляции используется # пробелов set shiftwidth=# в командах отступа используется # пробелов set [no]expandtab заменять ли табуляцию на соответствующее число пробелов == Поиск и замена в файле == /Выражение поиск выражения в файле \cВыражение поиск без учета регистра n следующее совпадение N предыдущее совпадение :%s/foo/bar/gi замена строк, см http://eax.me/regular-expr/ == Поиск по всему проекту == :vimgrep /EXPR/ **/*.c поиск по регулярному выражению :copen показать все найденные места :close скрыть все найденные места :cn переход к следующему результату :cp переход к предыдущему результату == Нумерация строк == :set number включить нумерацию строк :set nonumber отключить нумерацию строк == Работа с вкладками (a.k.a табами) == :tabnew [fname] создать таб :tabs вывести список табов :tabn следующий таб :tabp предыдущий таб <n>gt перейти на таб #n gt следующий таб gT предыдущий таб :tabm +1 переместить таб вперед на одну позицию :tabm -1 переместить таб назад на одну позицию :tabm 2 переместить таб на заданную позицию (нумерация начинается с нуля) == Работа с окнами == :split горизонтальное разбиение :vsplit вертикальное разбиение Ctr+W, затем с закрыть окно +- изменение высоты текущего окна <> изменение ширины текущего окна = установить равный размер окон hjkl или стрелочки перемещение между окнами == Проверка орфографии == 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 :set spell spelllang=ru,en включить проверку орфографии :set nospell выключить проверку орфографии ]s следующее слово с ошибкой [s предыдущее слово с ошибкой z= замена слова на альтернативу из списка zg good word zw wrong word zG ignore word == Работа с кодировкой == e ++enc=<имя кодировки> Редактирование файла в ??? кодировке w ++enc=<имя кодировки> Сохранить файл в новой кодировке set fileencodings=utf-8,koi8-r Список автоматически определяемых кодировок в порядке убывания приоритета == Другое == :set [no]wildmenu При авто-дополнении в командной строке над ней выводятся возможные варианты :set list Отображать табуляцию и переводы строк q: История команд . Повторение последней команды |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|