Главная страница

Команды по VU. Команды. Можно редактировать файлы через сеть, например


Скачать 25.12 Kb.
НазваниеМожно редактировать файлы через сеть, например
АнкорКоманды по VU
Дата30.10.2022
Размер25.12 Kb.
Формат файлаdocx
Имя файлаКоманды.docx
ТипДокументы
#761816


Файл настройки: /.vimrc







Можно редактировать файлы через сеть, например




:e ://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 вставить из буфера обмена




d удалить n+1 строку




y скопировать n+1 строку




ESC перейти в режим просмотра




DEL удалить следующий символ




: перейти на строку #n




% перейти к парной скобке




:e **/filename.c редактировать файл (с поиском по имени)




:w [fname] записать изменения




:wa сохранить изменения во всех файлах




:q выйти из редактора




:q! выйти из редактора, не сохраняя изменения




:color выбор цветовой схемы. цветвые схемы:




/usr/local/share/vim/vim72/colors/*.vim




:pwd текущий каталог




:cd [path] перейти в другой каталог




:!команда выполнить команду - man, git, и так далее




стрелочками веерх и вниз можно автодополнять




команды и искать по истории




CTR+p или CTR+n автоматическое дополнение текста




(в режиме редактирования)




CTR+r,=, вставить выражение, например 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 предыдущий таб




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: История команд




. Повторение последней команды



написать администратору сайта