Здесь ссылки на Cygwin, плагины node-js, snipmate... на которые я вышел после двухдневного изучения онлайн справочников команд и утилиты vimtutor... Здесь еще неудачный копипаст поста из чужого справочника.
Published on Jun 4, 2012 Ведущий: Олег Мохов (Яндекс) Конференция DUMP Екатеринбург 25.05.2012
Interactiv Tutorial
Материал из Викиучебника
Небольшой справочник
Консольный VIM в Windows
node.js development Here be various snippets for use with Vim SnipMate to make node.js development quicker and easier
Продуктивная работа в vim с использованием snipMate
pathogen.vim
Полезные советы для VIM #4
cygwin
In []:
!vimtutor
In []:
*help.txt* For Vim version 7.3. Last change: 2010 Jul 20
VIM - main help file
k
Move around: Use the cursor keys, or "h" to go left, h l
"j" to go down, "k" to go up, "l" to go right. j
Close this window: Use ":q<Enter>".
Get out of Vim: Use ":qa!<Enter>" (careful, all changes are lost!).
Jump to a subject: Position the cursor on a tag (e.g. |bars|) and hit CTRL-].
With the mouse: ":set mouse=a" to enable the mouse (in xterm or GUI).
Double-click the left mouse button on a tag, e.g. |bars|.
Jump back: Type CTRL-T or CTRL-O (repeat to go further back).
Get specific help: It is possible to go directly to whatever you want help
on, by giving an argument to the |:help| command.
It is possible to further specify the context:
*help-context*
WHAT PREPEND EXAMPLE
Normal mode command (nothing) :help x
Visual mode command v_ :help v_u
Insert mode command i_ :help i_<Esc>
Command-line command : :help :quit
Command-line editing c_ :help c_<Del>
Vim command argument - :help -r
Option ' :help 'textwidth'
Search for help: Type ":help word", then hit CTRL-D to see matching
help entries for "word".
Or use ":helpgrep word". |:helpgrep|
VIM stands for Vi IMproved. Most of VIM was made by Bram Moolenaar, but only
through the help of many others. See |credits|.
------------------------------------------------------------------------------
*doc-file-list* *Q_ct*
BASIC:
|quickref| Overview of the most common commands you will use
|tutor| 30 minutes training course for beginners
|copying| About copyrights
|iccf| Helping poor children in Uganda
|sponsor| Sponsor Vim development, become a registered Vim user
|www| Vim on the World Wide Web
|bugs| Where to send bug reports
USER MANUAL: These files explain how to accomplish an editing task.
|usr_toc.txt| Table Of Contents
Getting Started
|usr_01.txt| About the manuals
|usr_02.txt| The first steps in Vim
|usr_03.txt| Moving around
|usr_04.txt| Making small changes
|usr_05.txt| Set your settings
|usr_06.txt| Using syntax highlighting
|usr_07.txt| Editing more than one file
|usr_08.txt| Splitting windows
|usr_09.txt| Using the GUI
|usr_10.txt| Making big changes
|usr_11.txt| Recovering from a crash
|usr_12.txt| Clever tricks
Editing Effectively
|usr_20.txt| Typing command-line commands quickly
|usr_21.txt| Go away and come back
|usr_22.txt| Finding the file to edit
|usr_23.txt| Editing other files
|usr_24.txt| Inserting quickly
|usr_25.txt| Editing formatted text
|usr_26.txt| Repeating
|usr_27.txt| Search commands and patterns
|usr_28.txt| Folding
|usr_29.txt| Moving through programs
|usr_30.txt| Editing programs
|usr_31.txt| Exploiting the GUI
|usr_32.txt| The undo tree
Tuning Vim
|usr_40.txt| Make new commands
|usr_41.txt| Write a Vim script
|usr_42.txt| Add new menus
|usr_43.txt| Using filetypes
|usr_44.txt| Your own syntax highlighted
|usr_45.txt| Select your language
Making Vim Run
|usr_90.txt| Installing Vim
REFERENCE MANUAL: These files explain every detail of Vim. *reference_toc*
General subjects
|intro.txt| general introduction to Vim; notation used in help files
|help.txt| overview and quick reference (this file)
|helphelp.txt| about using the help files
|index.txt| alphabetical index of all commands
|help-tags| all the tags you can jump to (index of tags)
|howto.txt| how to do the most common editing tasks
|tips.txt| various tips on using Vim
|message.txt| (error) messages and explanations
|quotes.txt| remarks from users of Vim
|todo.txt| known problems and desired extensions
|develop.txt| development of Vim
|debug.txt| debugging Vim itself
|uganda.txt| Vim distribution conditions and what to do with your money
Basic editing
|starting.txt| starting Vim, Vim command arguments, initialisation
|editing.txt| editing and writing files
|motion.txt| commands for moving around
|scroll.txt| scrolling the text in the window
|insert.txt| Insert and Replace mode
|change.txt| deleting and replacing text
|indent.txt| automatic indenting for C and other languages
|undo.txt| Undo and Redo
|repeat.txt| repeating commands, Vim scripts and debugging
|visual.txt| using the Visual mode (selecting a text area)
|various.txt| various remaining commands
|recover.txt| recovering from a crash
Advanced editing
|cmdline.txt| Command-line editing
|options.txt| description of all options
|pattern.txt| regexp patterns and search commands
|map.txt| key mapping and abbreviations
|tagsrch.txt| tags and special searches
|quickfix.txt| commands for a quick edit-compile-fix cycle
|windows.txt| commands for using multiple windows and buffers
|tabpage.txt| commands for using multiple tab pages
|syntax.txt| syntax highlighting
|spell.txt| spell checking
|diff.txt| working with two to four versions of the same file
|autocmd.txt| automatically executing commands on an event
|filetype.txt| settings done specifically for a type of file
|eval.txt| expression evaluation, conditional commands
|fold.txt| hide (fold) ranges of lines
Special issues
|print.txt| printing
|remote.txt| using Vim as a server or client
|term.txt| using different terminals and mice
|digraph.txt| list of available digraphs
|mbyte.txt| multi-byte text support
|mlang.txt| non-English language support
|arabic.txt| Arabic language support and editing
|farsi.txt| Farsi (Persian) editing
|hebrew.txt| Hebrew language support and editing
|russian.txt| Russian language support and editing
|ft_ada.txt| Ada (the programming language) support
|ft_sql.txt| about the SQL filetype plugin
|hangulin.txt| Hangul (Korean) input mode
|rileft.txt| right-to-left editing mode
GUI
|gui.txt| Graphical User Interface (GUI)
|gui_w16.txt| Windows 3.1 GUI
|gui_w32.txt| Win32 GUI
|gui_x11.txt| X11 GUI
Interfaces
|if_cscop.txt| using Cscope with Vim
|if_lua.txt| Lua interface
|if_mzsch.txt| MzScheme interface
|if_perl.txt| Perl interface
|if_pyth.txt| Python interface
|if_sniff.txt| SNiFF+ interface
|if_tcl.txt| Tcl interface
|if_ole.txt| OLE automation interface for Win32
|if_ruby.txt| Ruby interface
|debugger.txt| Interface with a debugger
|workshop.txt| Sun Visual Workshop interface
|netbeans.txt| NetBeans External Editor interface
|sign.txt| debugging signs
Versions
|vi_diff.txt| Main differences between Vim and Vi
|version4.txt| Differences between Vim version 3.0 and 4.x
|version5.txt| Differences between Vim version 4.6 and 5.x
|version6.txt| Differences between Vim version 5.7 and 6.x
|version7.txt| Differences between Vim version 6.4 and 7.x
*sys-file-list*
Remarks about specific systems
|os_390.txt| OS/390 Unix
|os_amiga.txt| Amiga
|os_beos.txt| BeOS and BeBox
|os_dos.txt| MS-DOS and MS-Windows NT/95 common items
|os_mac.txt| Macintosh
|os_mint.txt| Atari MiNT
|os_msdos.txt| MS-DOS (plain DOS and DOS box under Windows)
|os_os2.txt| OS/2
|os_qnx.txt| QNX
|os_risc.txt| RISC-OS
|os_unix.txt| Unix
|os_vms.txt| VMS
|os_win32.txt| MS-Windows 95/98/NT
*standard-plugin-list*
Standard plugins
|pi_getscript.txt| Downloading latest version of Vim scripts
|pi_gzip.txt| Reading and writing compressed files
|pi_netrw.txt| Reading and writing files over a network
|pi_paren.txt| Highlight matching parens
|pi_tar.txt| Tar file explorer
|pi_vimball.txt| Create a self-installing Vim script
|pi_zip.txt| Zip archive explorer
LOCAL ADDITIONS: *local-additions*
------------------------------------------------------------------------------
*bars* Bars example
Now that you've jumped here with CTRL-] or a double mouse click, you can use
CTRL-T, CTRL-O, g<RightMouse>, or <C-RightMouse> to go back to where you were.
Note that tags are within | characters, but when highlighting is enabled these
characters are hidden. That makes it easier to read a command.
Anyway, you can use CTRL-] on any word, also when it is not within |, and Vim
will try to find help for it. Especially for options in single quotes, e.g.
'compatible'.
------------------------------------------------------------------------------
vim:tw=78:fo=tcq2:isk=!-~,^*,^\|,^\":ts=8:ft=help:norl:
Я давно использую Vim в качестве основного редактора. И хотя над большими проектами работаю в eclipse, для внесения незначительных правок проще использовать Vim, чем ждать загрузки eclipse. Но Vim не совсем "простой текстовый редактор" у него три режима работы и множество команд. Изучение команд и возможностей Vim занимает время, но потраченное на изучение время быстро окупается.
Основные команды Vim очень простые, но сочетание простых команд может быть довольно мощным инструментом.
Для переключения из командного режима в режим редактирования нажмите одну из клавиш:
Есть множество команд доступных для перемещения в Vim, я приведу основные, если вам нужно что-то специфическое, смотрите в справочной системе Vim.
Обратите внимание, что многие команды из описанных здесь на самом деле являются более мощными. Например вы можете указать в какой регистр скопировать текст. При вводе "ayy копия строки сохраниться в регистре a, что бы вставить текст из этого регистра необходимо ввести "ap. Vim помнит несколько последних команд удаления и копирования в автоматических регистрах. Что бы посмотреть содержимое регистров наберите :registers. Вы так же можете использовать автоматические регистры для вставки старых фрагментов текста.
Например, мы выбрали прямоугольную область (использую + или + в windows), мы можем нажав (переключившись в режим вставки) вставить свой текст. Как только выйдем из режима вставки, текст будет добавлен ко всем выбранным строкам. Для ввода текста после выделенной области нужно использовать . Для выделений используются клавиши , , и курсорные клавиши в визуальном режиме не работают.
Другой удобной функцией является замена всего выбранного блока новым текстом. Для этого нужно выделить блок и нажать , Vim переключиться в режим вставки и можно вводить текст. После выхода из режима вставки Vim вставит введённый текст во все строки.
Если мы хотим добавить текст в конце строк, то можно использовать + (или + в windows) указывает на концы строк, а + (или + ) работает со столбцами, игнорируя текст.
Используем + :
Одним из важных объектов является внутреннее слово: iw. Для выделения слова под курсором достаточно набрать yiw (v — визуальный режим, iw — внутреннее слово), аналогично для удаления: diw.
Разница между i-словом/блоком и a-словом/блоком в том, что внутренний (i) вариант выбирает символы и слово (без пробелов) или содержимое скобок, не включая внешние пробелы и скобки. a-вариант выбирает блоки с внешними пробелами и скобками.
Для вывода результат выполнения внешней команды :!command, будет показан вывод команды.
Для фильтрации текста через внешнюю команду :!sort %.
Для вставки вывода внешней команды в текст :r!command (например :r!ping ya.ru)
Для получения подробной информации по фильтрации выполните :h filter.
Если установлена опция 'incsearch', то Vim сразу же переходит к первому совпадению, когда вы начинаете вводить термин. Если установлена опция 'hlsearch', то будут подсвечиваться все совпадения. Что бы удалить подсвечивание, наберите :nohl.
Замена текста тоже не представляет трудности, если вы знакомы с регулярными выражениями.
Для замены с использованием регулярных выражений, наберите :%s/старый текст/новый текст/gc. Эта команда выполнит поиск во всём файле % и произведёт замену s фразы "старый текст" на "новый текст", будет искать более одного совпадения в каждой строке g и спрашивать перед заменой, действительно ли вы хотите заменить фразу c.
Для замены текста в выбранной области, выберите область и наберите :s/старый текст/новый текст/g. В командной строке это должно выглядеть как :'<,'>s/старый текст/новый текст/g. Что означает '< и '> вы поймёте после прочтения раздела Метки.
Если вы не уверены в правильности написания слова, можно включить проверку орфографии :set spell и при нажатии комбинации + и + Vim выполнит поиск в словаре. Механизм завершения слов существенно улучшился в 7 версии Vim.
Обратите внимание, что команды завершения работают в режиме вставки, в командном режиме у них другое назначение!
Некоторые метки Vim ставит автоматически:
Основные команды Vim очень простые, но сочетание простых команд может быть довольно мощным инструментом.
Режимы
В Vim имеется три режима работы с текстом:- Командный режим: все нажатия клавиш интерпретируются как команды
- Режим вставки: используется для ввода текста
- Визуальный режим: используется для выделения текста или блока текста, этот режим можно рассматривать как под режим командного режима
Для переключения из командного режима в режим редактирования нажмите одну из клавиш:
- — переключает в режима вставки перед текущей позицией курсора
- — переключает в режим вставки после текущей позиции курсора
- — перескакивает к первому не пробельному символу в текущей строке и переключает в режим вставки
- — перескакивает к последнему символу в текущей строке и переключает в режим вставки
- — переключает в визуальный режим (выделение символов)
- — переключает в визуальный режим (выделение строк)
- + — переключает в блочный визуальный режим (выделение прямоугольных областей текста)
Перемещения
Простейшие команды перемещения:- — курсор влево
- — курсор вправо
- — курсор вверх
- — курсор вниз
Есть множество команд доступных для перемещения в Vim, я приведу основные, если вам нужно что-то специфическое, смотрите в справочной системе Vim.
- — перемещения курсора вверх страницы
- — перемещение курсора в средину страницы
- — перемещение курсора в низ страницы
- + — на 1 строку вниз
- + — на 1/2 страницы вниз
- + — на 1 страницу вниз
- + — на 1 строку вверх
- + — на 1/2 страницы вверх
- + — на 1 страницу вверх
- 0 — первый символ строки
- ^ — первый не пробельный символ строки
- w — перескакивает к следующему слову
- W — перескакивает к следующему слову, игнорируя символы пунктуации
- e — перескакивает к конц слова
- E — перескакивает к концу слова, игнорируя символы пунктуации
- b — перескакивает к началу слова
- B — перескакивает к началу слова, игнорируя символы пунктуации
- ge — перескакивает к концу предыдущего слова
- gE — перескакивает к концу предыдущего слова, игнорируя символы пунктуации
- g_ — перескакивает к последнему не пробельному символу строки
- \(</span> — перескакивает к последнему символу строки</li> </ul><p>Если запомнить хотя бы несколько из этих команд, то можно быстро перемещаться из точки А в точку Б. Так же важным фактом является то, что эти команды задают диапазон для других команд.</p><h3>Редактирование</h3><p>Вставка текста осуществляется в <strong>Vim</strong> довольно просто, нажал <span class="button">i</span> и начал печатать. Но для редактирования <strong>Vim</strong> предлагает довольно сложные команды.</p><ul> <li><span class="monospace">d</span> — удалить символ от текущей позиции курсора, до позиции заданной следующей командой (например: <span class="monospace">d\) удалит все символы от текущей позиции до конца строки)
- c — изменить символ от текущей позиции до позиции заданной следующей командой
- x — удалить символ под курсором
- X — удалить символ перед курсором
- y — копировать символы от текущей позиции до позиции заданной следующей командой
- p — вставить удалённый или скопированный текст после текущей позиции курсора
- P — вставить удалённый или скопированный текст перед текущей позицией курсора
- r — заменить символ под курсором на новый, введённый
- s — заменить текст с текущей позиции курсора до позиции заданной следующей командой введённым текстом
- . — повторить последнюю команду вставки или редактирования (x,d,p...)
Обратите внимание, что многие команды из описанных здесь на самом деле являются более мощными. Например вы можете указать в какой регистр скопировать текст. При вводе "ayy копия строки сохраниться в регистре a, что бы вставить текст из этого регистра необходимо ввести "ap. Vim помнит несколько последних команд удаления и копирования в автоматических регистрах. Что бы посмотреть содержимое регистров наберите :registers. Вы так же можете использовать автоматические регистры для вставки старых фрагментов текста.
Визуальный режим
Используя визуальный режим можно вставлять текст в каждую строку выделенного фрагмента.Например, мы выбрали прямоугольную область (использую + или + в windows), мы можем нажав (переключившись в режим вставки) вставить свой текст. Как только выйдем из режима вставки, текст будет добавлен ко всем выбранным строкам. Для ввода текста после выделенной области нужно использовать . Для выделений используются клавиши , , и курсорные клавиши в визуальном режиме не работают.
Другой удобной функцией является замена всего выбранного блока новым текстом. Для этого нужно выделить блок и нажать , Vim переключиться в режим вставки и можно вводить текст. После выхода из режима вставки Vim вставит введённый текст во все строки.
Если мы хотим добавить текст в конце строк, то можно использовать + (или + в windows) указывает на концы строк, а + (или + ) работает со столбцами, игнорируя текст.
Используем + :
Тестовый текстВСТАВЛЕННЫЙ ТЕКСТА Ещё строка ВСТАВЛЕННЫЙ ТЕКСТА Текст ВСТАВЛЕННЫЙ ТЕКСТАИспользуем +
Тестовый текстВСТАВЛЕННЫЙ ТЕКСТА Ещё строкаВСТАВЛЕННЫЙ ТЕКСТА ТекстВСТАВЛЕННЫЙ ТЕКСТА
Текстовые объекты
Команды Vim оперируют такими текстовыми объектами как символ, слово, предложения, разделённые скобками фрагменты и т.д.Одним из важных объектов является внутреннее слово: iw. Для выделения слова под курсором достаточно набрать yiw (v — визуальный режим, iw — внутреннее слово), аналогично для удаления: diw.
Разница между i-словом/блоком и a-словом/блоком в том, что внутренний (i) вариант выбирает символы и слово (без пробелов) или содержимое скобок, не включая внешние пробелы и скобки. a-вариант выбирает блоки с внешними пробелами и скобками.
- iw — внутреннее слово
- aw — a слово
- iW — внутреннее СЛОВО
- aW — a СЛОВО
- is — внутреннее предложение
- as — a предложение
- ip — внутренний параграф
- ap — a параграф
- i( или i) — внутренний блок
- a( или a) — a блок
- i< или i> — внутренний блок
- a< или a> — a блок
- i{ или i} — внутренний блок
- a{ или a} — a блок
- i" или i" — внутренний блок
- a" или a" — a блок
- i' или i' — внутренний блок
- a' или a' — a блок
Команда Текстовый объект iw Это [тестовое] предложение. aw Это [тестовое ]предложение. iW Это[ тестовое ]предложение aW Это[ тестовое ]предложение. is ...предложение. [Это тестовое предложение.] Это... as ...предложение. [Это тестовое предложение. ]Это... конец предыдущего параграфа ip [Это параграф. Содержащий два предложения.] следующий параграф. конец предыдущего параграфа ap [Этот параграф. Содержит два предложения ]следующий параграф i( or i) 1 * ([2 + 3]) a( or a) 1 * [(2 + 3)] i< or i> The <[tag]> a< or i> The [<tag>] i{ or i} some {[ code block ]} a{ or a} some [{ code block }] i" The "[best]" a" The[ “best”] i` The `[best]` a` The[ `best`]Пробуйте эти команды и запоминайте, они помогут сэкономить много времени.
Отмена и Возврат
Отменить можно почти все команды ( + ), в командном режиме можно даже отменить отмененную команду ( + )Выполнение внешних команд
В Vim легко получить результат выполнения внешних команд или использовать часть строки в качестве аргумента внешней программы.Для вывода результат выполнения внешней команды :!command, будет показан вывод команды.
Для фильтрации текста через внешнюю команду :!sort %.
Для вставки вывода внешней команды в текст :r!command (например :r!ping ya.ru)
Для получения подробной информации по фильтрации выполните :h filter.
Поиск и замена
Поиск в Vim организован очень просто. Нажмите в командном режиме и вставьте термин который хотите найти. Vim выполнит поиск по файлу в прямом направлении. Для поиска в обратном направлении используйте . Используя или можно повторить поиск в том же обратном направлении.Если установлена опция 'incsearch', то Vim сразу же переходит к первому совпадению, когда вы начинаете вводить термин. Если установлена опция 'hlsearch', то будут подсвечиваться все совпадения. Что бы удалить подсвечивание, наберите :nohl.
Замена текста тоже не представляет трудности, если вы знакомы с регулярными выражениями.
Для замены с использованием регулярных выражений, наберите :%s/старый текст/новый текст/gc. Эта команда выполнит поиск во всём файле % и произведёт замену s фразы "старый текст" на "новый текст", будет искать более одного совпадения в каждой строке g и спрашивать перед заменой, действительно ли вы хотите заменить фразу c.
Для замены текста в выбранной области, выберите область и наберите :s/старый текст/новый текст/g. В командной строке это должно выглядеть как :'<,'>s/старый текст/новый текст/g. Что означает '< и '> вы поймёте после прочтения раздела Метки.
Завершения
Когда вы набираете текст, то довольно часто приходится набирать одни и те же слова. При нажатии + Vim будет искать продолжение слова, которое мы набираем, в набранном ранее тексте. + и + завершит набранный текст до конца строки.Если вы не уверены в правильности написания слова, можно включить проверку орфографии :set spell и при нажатии комбинации + и + Vim выполнит поиск в словаре. Механизм завершения слов существенно улучшился в 7 версии Vim.
Обратите внимание, что команды завершения работают в режиме вставки, в командном режиме у них другое назначение!
Метки
Для быстрого перехода в разные места документа или между документами, можно выставлять метки.Некоторые метки Vim ставит автоматически:
- {0-9} — 10 последних позиций в закрытых файлах (0 последний файл, 1 предпоследний и т.д.)
- < и > — левая и правая позиции помеченного текста.
- ( и ) — начало и конец текущего предложения
- { и } — начало и конец текущего параграфа
- [ и ] — первый и последний символы скопированного или изменённого текста
- . — позиция последней замены
-
' или
</span> — позиция перед последним переходом</li> <li><span class="monospace">"</span> — позиция перед последним выходом из файла</li> <li><span class="monospace">^</span> — позиция последней стоп-вставки</li> </ul><p>Для установки ручной метки используйте <span class="monospace">m{a-zA-Z}</span> (после m следует либо a,b..z или A, B..Z). Для перехода между метками используются <span class="monospace">'</span> и <span class="monospace">
.- ' — устанавливает курсор на первый не пробельный символ в отмеченной строке
-
</span> — устанавливает курсор на место где была установлена метка</li> </ul><p>Существует различие между строчными и заглавными символами меток:</p><ul> <li><span class="monospace">{a - z}</span> — локальный файл</li> <li><span class="monospace">{A - Z}</span> — сохраняется и доступно между сессиями (ассоциированы с файлами)</li> </ul><p>Можно использовать метку <span class="monospace">L</span> для ведения рабочего журнала и <span class="monospace">T</span> для своего расписания и быстро обновлять информацию в них.</p><p>Например можно легко перейти к позиции курсора перед закрытием файла, набрав <span class="monospace">
" (в настройках Vim легко сделать, что бы при открытии файла курсор автоматически перемещался в эту позицию) Для получения списка всех меток можно набрать команду :marks. Для удаления меток используется :delmarks. :delmarks a b c удалит метки a, b и c, для удаления всех меток используйте :delmarks!
Вкладки, буферы и окна
С седьмой версии в Vim появились вкладки. Вкладки Vim сильно отличаются от вкладок в других редакторах, они скорее похожи на копии Vim в терминальном окне с вкладками. Например каждая вкладка может иметь свой макет. Например в первая вкладка у вас может быть разделена на два окна с html кодом и стилем css. Во второй вкладке можно держать одно окно с js скриптом и т.д. В разных вкладках можно держать одинаковые открытые файлы. В общем вкладки в Vim более мощные чем у большинства других редакторов.
Для открытия нескольких файлов во вкладках можно использовать командрую строку vim -p *.css
Для переключения между вкладками можно использовать мышь или набрать gt.
Для создания новой вкладки наберите команду :tabnew, для открытия файла в новой вкладке :tabe имя_файла
Буферы и окна в Vim немного сложнее для понимания. Окно это то, что вы виде запустив Vim, когда вы запускаете систему справки (например набрав :help buffers), вы получите два окна. Таким образом они скорее не окна, а видимые области.
Вы можете открыть окно и разделить его по горизонтали :sp или вертикали :vsp. Vim отобразит один буфер в двух разных окнах. Так же можно открывать новый файл :sp имя_файла или :vsp имя_файла. Для переключения между окна используется мышь или + { , , , } в командном режиме.
Буфер это файл (в большинстве случаев), но не обязательно видимый. Обычно используется больше буферов, чем окон. Для отображения другого буфера в текущем окне используйте :b номер_буфера. Номер буфера можно узнать из списка буферов :buffers. В стандартной конфигурации Vim сохраняет текущий буфер при переключении на другой. Для отключения сохранения буфера используйте команду :set hidden, но будьте осторожны.
Вот некоторые команды из справочной системы:
- :b N — переключает на буфер N
- :buffers — показывает список буферов. Разъяснения:
- % — текущее окно
- # — альтернативный буфер (переключается :e# или :b#)
- a — активный буфер (загружен и видим)
- h — скрытый буфер (загружен, но не видим)
- + — изменённый
- :bd — выгружает буфер и удаляет его из списка буферов (не закрывает Vim, даже если это последний буфер)
- :bun — выгружает буфер, но оставляет его в списке буферов
- :sp #N — делит текущее окно по горизонтали и открывает в нём буфер N
- :w — записывает текущий буфер на диск
- :e имя_файла — загружает файл с диска
- :q — закрывает текущее окно (и Vim, если оно было последним)
- :new — новое пустое окно
- :on — закрывает все окна, кроме активного ( + )
- + { , , , } - перемещение между окнами
Макросы
Vim позволяет выполнять некоторые команды используя (точка). Для повторения более чем одной команды можно использовать макросы.
Начать запись макроса можно с помощью и одной из меток {0-9a-zA-Z}, например запишет макрос помеченный как "q". Нажав можно остановить запись.
Теперь макрос можно повторить в любой момент используя .
Заключение
Надеюсь этот материал поможет в освоении возможностей одного из самых интересных и сложных текстовых редакторов.
Посты чуть ниже также могут вас заинтересовать
I love reading through your blog. It’s very interesting blog. Thanks for sharing valuable information to us.
ОтветитьУдалитьminute taking training course