vim
Это старая версия документа!
Содержание
Vim
Отличия от Vi
В сравнении с классическим vi Vim отличается следующими улучшениями:
- Работа со многими файлами одновременно. Разбиение окон редактирования может производиться многократно как по горизонтали, так и по вертикали.
- Поддержка Unicode.
- Поддержка визуального режима, который позволяет, например, выполнять операции над блоками текста.
- Неограниченная глубина отмены (undo) и возврата (redo) действий.
- Режим сравнения двух файлов, перенос отдельных изменений из одного файла в другой.
- Широкая файловая поддержка (файл со справкой и более 200 файлов с описанием синтаксиса).
- Подсветка синтаксиса, автоматическое определение величины отступа для каждой строки в зависимости от языка программирования (изначально поддерживает более 200 языков программирования и форматов конфигурационных файлов).
- Интеграция с операционной системой, дающая возможности, близкие к интегрированным средам разработки, такие как поиск ошибки по сообщению компилятора, автодополнение идентификаторов и др.
- Поддержка языка сценариев; возможность написания модулей расширения — плагинов.
- Автоматическое продолжение команд, слов, строк целиком и имён файлов.
- Автоматический вызов внешних команд (например, автоматическая распаковка файла перед редактированием).
- Распознавание и преобразование файлов различных форматов.
- Удобный механизм истории команд, поисковых слов и т. д.
- Запись и исполнение макросов.
- Возможность сохранения настроек и сеанса.
- Возможна интеграция с языками программирования Perl, Tcl, Python и Ruby.
- Поддержка языков с письмом справа налево (арабских и других).
- Сворачивание (folding) текста для лучшего обзора.
- Возможно использование графического интерфейса в специальных версиях (GTK, Motif, …).
- Хорошо конфигурируется и настраивается под нужды пользователя.
- Для программистов: поддержка цикла разработки «редактирование — компиляция — исправление» программ. Автоматическое выполнение сборки/компиляции, обнаружение и распознавание ошибок, переход к строкам ошибок в тексте программы.
- Для поклонников vi: практически стопроцентная совместимость с vi.
Горячие клавиши
| Помощь | |
|---|---|
| :help | Вывести краткую справку и завершить работу. То же, что и «-h». |
| :help j | Вывести справку по команде 'j'. |
| :help :split | Вывести справку по команде ':split'. |
| :help z* | Вывести справку по всем командам, начинающимся с 'z'. |
| <C-]> | Перейти к тэгу под курсором. |
| <C-o> | Перейти на предыдущую страницу справки. |
| <C-i> | Перейти на следующую страницу справки. |
| Отмена и повтор операции | |
| u | Отменить действие. |
| <C-r> | Восстановить отменённое действие / повторить последнюю команду редактирования. |
| :redo | Восстановить отменённое действие / повторить последнюю команду редактирования. |
| Перемещение между строками | |
| 0 | Перейти в начало текущей строки. |
| ^ | Перейти к первому непробульному символу в текущей строке. |
| $ | Перейти в конец текущей строки. |
| gg | Перейти на первую строку в файле. |
| G | Перейти на последнюю строку в файле. |
| 47G | Перейти на строку 47. |
| :47 | Перейти на строку 47 (альтернативный способ). |
| Перемещение между символами | |
| f [char] | Поиск вперёд в строке символа [char] и установка курсора на него. |
| 3f [char] | Поиск вперёд в строке третий символ [char] и установка курсора на него. |
| F [char] | Поиск назад в строке символа [char] и установка курсора на него. |
| t [char] | Поиск вперёд в строке символа [char] и установка курсора после него. |
| T [char | Поиск назад в строке символа [char] и установка курсора после него. |
| ; | Повтор поиска вперёд символа, найденного при помощи f/t/F/T. |
| , | Повтор поиска назад символа, найденного при помощи f/t/F/T. |
| Перемещение между словами и навигация в тексте | |
| w | Перейти к началу следующего слова. |
| W | Перейти к началу следующего слова, отделённого пробельными символами с двух сторон. |
| e | Перейти к концу ближайшего слова. |
| E | Перейти к концу ближайшего слова, отделённого пробельными символами с двух сторон. |
| b | Перейти к началу предыдущего слова. |
| B | Перейти к началу предыдущего слова, отделённого пробельными символами с двух сторон. |
| ( | Перейти на первую точку слева от курсора (если она есть, в противном случае на начало абзаца). |
| ) | Перейти на первую точку справа от курсора (если она есть, в противном случае на конец абзаца). |
| { | Перейти на абзац назад до пустой строки. |
| } | Перейти на абзац вперёд до пустой строки. |
| Перемещение по программному коду | |
| % | Перемещение между открытием / закрытием парных скобками: (),[] или {}. |
| [[ | Перейти к предыдущей функции. |
| ]] | Перейти к следующей функции. |
| [{ | Перейти к началу текущего блока кода. |
| ]} | Перейти в конец текущего блока кода. |
| Поиск | |
| / | Поиск. |
| ? | Поиск в обратном направлении. |
| n | Перейти к следующему совпадению. |
| N | Повторить поиск назад. |
| * | Перейти к следующему вхождению слова под курсором. |
| # | Перейти к предыдущему вхождению слова под курсором. |
Источники
vim.1450968142.txt.gz · Последнее изменение: 2015/12/24 00:00 (внешнее изменение)

