<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.pedromussato.com/index.php?action=history&amp;feed=atom&amp;title=Vim_Cheat_Sheet</id>
	<title>Vim Cheat Sheet - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.pedromussato.com/index.php?action=history&amp;feed=atom&amp;title=Vim_Cheat_Sheet"/>
	<link rel="alternate" type="text/html" href="https://wiki.pedromussato.com/index.php?title=Vim_Cheat_Sheet&amp;action=history"/>
	<updated>2026-04-10T18:47:14Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://wiki.pedromussato.com/index.php?title=Vim_Cheat_Sheet&amp;diff=171&amp;oldid=prev</id>
		<title>413vhcu1lq0463ob at 18:59, 4 November 2024</title>
		<link rel="alternate" type="text/html" href="https://wiki.pedromussato.com/index.php?title=Vim_Cheat_Sheet&amp;diff=171&amp;oldid=prev"/>
		<updated>2024-11-04T18:59:14Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:59, 4 November 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Source ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;from https://vim.rtorr.com/&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Global ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Global ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>413vhcu1lq0463ob</name></author>
	</entry>
	<entry>
		<id>https://wiki.pedromussato.com/index.php?title=Vim_Cheat_Sheet&amp;diff=170&amp;oldid=prev</id>
		<title>413vhcu1lq0463ob: Created page with &quot; == Global ==  * &lt;kbd&gt;:h[elp] keyword&lt;/kbd&gt; - open help for keyword * &lt;kbd&gt;:sav[eas] file&lt;/kbd&gt; - save file as * &lt;kbd&gt;:clo[se]&lt;/kbd&gt; - close current pane * &lt;kbd&gt;:ter[minal]&lt;/kbd&gt; - open a terminal window * &lt;kbd&gt;K&lt;/kbd&gt; - open man page for word under the cursor  &#039;&#039;&#039;Tip&#039;&#039;&#039; Run &lt;kbd&gt;vimtutor&lt;/kbd&gt; in a terminal to learn the first Vim commands.  == Cursor movement ==  * &lt;kbd&gt;h&lt;/kbd&gt; - move cursor left * &lt;kbd&gt;j&lt;/kbd&gt; - move cursor down * &lt;kbd&gt;k&lt;/kbd&gt; - move cursor up * &lt;kbd&gt;l...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.pedromussato.com/index.php?title=Vim_Cheat_Sheet&amp;diff=170&amp;oldid=prev"/>
		<updated>2024-11-04T18:13:42Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot; == Global ==  * &amp;lt;kbd&amp;gt;:h[elp] keyword&amp;lt;/kbd&amp;gt; - open help for keyword * &amp;lt;kbd&amp;gt;:sav[eas] file&amp;lt;/kbd&amp;gt; - save file as * &amp;lt;kbd&amp;gt;:clo[se]&amp;lt;/kbd&amp;gt; - close current pane * &amp;lt;kbd&amp;gt;:ter[minal]&amp;lt;/kbd&amp;gt; - open a terminal window * &amp;lt;kbd&amp;gt;K&amp;lt;/kbd&amp;gt; - open man page for word under the cursor  &amp;#039;&amp;#039;&amp;#039;Tip&amp;#039;&amp;#039;&amp;#039; Run &amp;lt;kbd&amp;gt;vimtutor&amp;lt;/kbd&amp;gt; in a terminal to learn the first Vim commands.  == Cursor movement ==  * &amp;lt;kbd&amp;gt;h&amp;lt;/kbd&amp;gt; - move cursor left * &amp;lt;kbd&amp;gt;j&amp;lt;/kbd&amp;gt; - move cursor down * &amp;lt;kbd&amp;gt;k&amp;lt;/kbd&amp;gt; - move cursor up * &amp;lt;kbd&amp;gt;l...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
== Global ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:h[elp] keyword&amp;lt;/kbd&amp;gt; - open help for keyword&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:sav[eas] file&amp;lt;/kbd&amp;gt; - save file as&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:clo[se]&amp;lt;/kbd&amp;gt; - close current pane&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:ter[minal]&amp;lt;/kbd&amp;gt; - open a terminal window&lt;br /&gt;
* &amp;lt;kbd&amp;gt;K&amp;lt;/kbd&amp;gt; - open man page for word under the cursor&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Tip&amp;#039;&amp;#039;&amp;#039; Run &amp;lt;kbd&amp;gt;vimtutor&amp;lt;/kbd&amp;gt; in a terminal to learn the first Vim commands.&lt;br /&gt;
&lt;br /&gt;
== Cursor movement ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;kbd&amp;gt;h&amp;lt;/kbd&amp;gt; - move cursor left&lt;br /&gt;
* &amp;lt;kbd&amp;gt;j&amp;lt;/kbd&amp;gt; - move cursor down&lt;br /&gt;
* &amp;lt;kbd&amp;gt;k&amp;lt;/kbd&amp;gt; - move cursor up&lt;br /&gt;
* &amp;lt;kbd&amp;gt;l&amp;lt;/kbd&amp;gt; - move cursor right&lt;br /&gt;
* &amp;lt;kbd&amp;gt;gj&amp;lt;/kbd&amp;gt; - move cursor down (multi-line text)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;gk&amp;lt;/kbd&amp;gt; - move cursor up (multi-line text)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;H&amp;lt;/kbd&amp;gt; - move to top of screen&lt;br /&gt;
* &amp;lt;kbd&amp;gt;M&amp;lt;/kbd&amp;gt; - move to middle of screen&lt;br /&gt;
* &amp;lt;kbd&amp;gt;L&amp;lt;/kbd&amp;gt; - move to bottom of screen&lt;br /&gt;
* &amp;lt;kbd&amp;gt;w&amp;lt;/kbd&amp;gt; - jump forwards to the start of a word&lt;br /&gt;
* &amp;lt;kbd&amp;gt;W&amp;lt;/kbd&amp;gt; - jump forwards to the start of a word (words can contain punctuation)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;e&amp;lt;/kbd&amp;gt; - jump forwards to the end of a word&lt;br /&gt;
* &amp;lt;kbd&amp;gt;E&amp;lt;/kbd&amp;gt; - jump forwards to the end of a word (words can contain punctuation)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;b&amp;lt;/kbd&amp;gt; - jump backwards to the start of a word&lt;br /&gt;
* &amp;lt;kbd&amp;gt;B&amp;lt;/kbd&amp;gt; - jump backwards to the start of a word (words can contain punctuation)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;ge&amp;lt;/kbd&amp;gt; - jump backwards to the end of a word&lt;br /&gt;
* &amp;lt;kbd&amp;gt;gE&amp;lt;/kbd&amp;gt; - jump backwards to the end of a word (words can contain punctuation)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;%&amp;lt;/kbd&amp;gt; - move cursor to matching character (default supported pairs: &amp;#039;()&amp;#039;, &amp;#039;{}&amp;#039;, &amp;#039;[]&amp;#039; - use &amp;lt;code&amp;gt;:h matchpairs&amp;lt;/code&amp;gt; in vim for more info)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;0&amp;lt;/kbd&amp;gt; - jump to the start of the line&lt;br /&gt;
* &amp;lt;kbd&amp;gt;^&amp;lt;/kbd&amp;gt; - jump to the first non-blank character of the line&lt;br /&gt;
* &amp;lt;kbd&amp;gt;$&amp;lt;/kbd&amp;gt; - jump to the end of the line&lt;br /&gt;
* &amp;lt;kbd&amp;gt;g_&amp;lt;/kbd&amp;gt; - jump to the last non-blank character of the line&lt;br /&gt;
* &amp;lt;kbd&amp;gt;gg&amp;lt;/kbd&amp;gt; - go to the first line of the document&lt;br /&gt;
* &amp;lt;kbd&amp;gt;G&amp;lt;/kbd&amp;gt; - go to the last line of the document&lt;br /&gt;
* &amp;lt;kbd&amp;gt;5gg&amp;lt;/kbd&amp;gt; or &amp;lt;kbd&amp;gt;5G&amp;lt;/kbd&amp;gt; - go to line 5&lt;br /&gt;
* &amp;lt;kbd&amp;gt;gd&amp;lt;/kbd&amp;gt; - move to local declaration&lt;br /&gt;
* &amp;lt;kbd&amp;gt;gD&amp;lt;/kbd&amp;gt; - move to global declaration&lt;br /&gt;
* &amp;lt;kbd&amp;gt;fx&amp;lt;/kbd&amp;gt; - jump to next occurrence of character x&lt;br /&gt;
* &amp;lt;kbd&amp;gt;tx&amp;lt;/kbd&amp;gt; - jump to before next occurrence of character x&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Fx&amp;lt;/kbd&amp;gt; - jump to the previous occurrence of character x&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Tx&amp;lt;/kbd&amp;gt; - jump to after previous occurrence of character x&lt;br /&gt;
* &amp;lt;kbd&amp;gt;;&amp;lt;/kbd&amp;gt; - repeat previous f, t, F or T movement&lt;br /&gt;
* &amp;lt;kbd&amp;gt;,&amp;lt;/kbd&amp;gt; - repeat previous f, t, F or T movement, backwards&lt;br /&gt;
* &amp;lt;kbd&amp;gt;}&amp;lt;/kbd&amp;gt; - jump to next paragraph (or function/block, when editing code)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;{&amp;lt;/kbd&amp;gt; - jump to previous paragraph (or function/block, when editing code)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;zz&amp;lt;/kbd&amp;gt; - center cursor on screen&lt;br /&gt;
* &amp;lt;kbd&amp;gt;zt&amp;lt;/kbd&amp;gt; - position cursor on top of the screen&lt;br /&gt;
* &amp;lt;kbd&amp;gt;zb&amp;lt;/kbd&amp;gt; - position cursor on bottom of the screen&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;e&amp;lt;/kbd&amp;gt; - move screen down one line (without moving cursor)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;y&amp;lt;/kbd&amp;gt; - move screen up one line (without moving cursor)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;b&amp;lt;/kbd&amp;gt; - move screen up one page (cursor to last line)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;f&amp;lt;/kbd&amp;gt; - move screen down one page (cursor to first line)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;d&amp;lt;/kbd&amp;gt; - move cursor and screen down 1/2 page&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;u&amp;lt;/kbd&amp;gt; - move cursor and screen up 1/2 page&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Tip&amp;#039;&amp;#039;&amp;#039;          Prefix a cursor movement command with a number to repeat it. For example, &amp;lt;kbd&amp;gt;4j&amp;lt;/kbd&amp;gt; moves down 4 lines.&lt;br /&gt;
&lt;br /&gt;
== Insert mode - inserting/appending text ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;kbd&amp;gt;i&amp;lt;/kbd&amp;gt; - insert before the cursor&lt;br /&gt;
* &amp;lt;kbd&amp;gt;I&amp;lt;/kbd&amp;gt; - insert at the beginning of the line&lt;br /&gt;
* &amp;lt;kbd&amp;gt;a&amp;lt;/kbd&amp;gt; - insert (append) after the cursor&lt;br /&gt;
* &amp;lt;kbd&amp;gt;A&amp;lt;/kbd&amp;gt; - insert (append) at the end of the line&lt;br /&gt;
* &amp;lt;kbd&amp;gt;o&amp;lt;/kbd&amp;gt; - append (open) a new line below the current line&lt;br /&gt;
* &amp;lt;kbd&amp;gt;O&amp;lt;/kbd&amp;gt; - append (open) a new line above the current line&lt;br /&gt;
* &amp;lt;kbd&amp;gt;ea&amp;lt;/kbd&amp;gt; - insert (append) at the end of the word&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;h&amp;lt;/kbd&amp;gt; - delete the character before the cursor during insert mode&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;w&amp;lt;/kbd&amp;gt; - delete word before the cursor during insert mode&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;j&amp;lt;/kbd&amp;gt; - add a line break at the cursor position during insert mode&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;t&amp;lt;/kbd&amp;gt; - indent (move right) line one shiftwidth during insert mode&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;d&amp;lt;/kbd&amp;gt; - de-indent (move left) line one shiftwidth during insert mode&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;n&amp;lt;/kbd&amp;gt; - insert (auto-complete) next match before the cursor during insert mode&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;p&amp;lt;/kbd&amp;gt; - insert (auto-complete) previous match before the cursor during insert mode&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;rx&amp;lt;/kbd&amp;gt; - insert the contents of register x&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;ox&amp;lt;/kbd&amp;gt; - Temporarily enter normal mode to issue one normal-mode command x.&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Esc&amp;lt;/kbd&amp;gt; or &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;c&amp;lt;/kbd&amp;gt; - exit insert mode&lt;br /&gt;
&lt;br /&gt;
== Editing ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;kbd&amp;gt;r&amp;lt;/kbd&amp;gt; - replace a single character.&lt;br /&gt;
* &amp;lt;kbd&amp;gt;R&amp;lt;/kbd&amp;gt; - replace more than one character, until &amp;lt;kbd&amp;gt;ESC&amp;lt;/kbd&amp;gt; is pressed.&lt;br /&gt;
* &amp;lt;kbd&amp;gt;J&amp;lt;/kbd&amp;gt; - join line below to the current one with one space in between&lt;br /&gt;
* &amp;lt;kbd&amp;gt;gJ&amp;lt;/kbd&amp;gt; - join line below to the current one without space in between&lt;br /&gt;
* &amp;lt;kbd&amp;gt;gwip&amp;lt;/kbd&amp;gt; - reflow paragraph&lt;br /&gt;
* &amp;lt;kbd&amp;gt;g~&amp;lt;/kbd&amp;gt; - switch case up to motion&lt;br /&gt;
* &amp;lt;kbd&amp;gt;gu&amp;lt;/kbd&amp;gt; - change to lowercase up to motion&lt;br /&gt;
* &amp;lt;kbd&amp;gt;gU&amp;lt;/kbd&amp;gt; - change to uppercase up to motion&lt;br /&gt;
* &amp;lt;kbd&amp;gt;cc&amp;lt;/kbd&amp;gt; - change (replace) entire line&lt;br /&gt;
* &amp;lt;kbd&amp;gt;c$&amp;lt;/kbd&amp;gt; or &amp;lt;kbd&amp;gt;C&amp;lt;/kbd&amp;gt; - change (replace) to the end of the line&lt;br /&gt;
* &amp;lt;kbd&amp;gt;ciw&amp;lt;/kbd&amp;gt; - change (replace) entire word&lt;br /&gt;
* &amp;lt;kbd&amp;gt;cw&amp;lt;/kbd&amp;gt; or &amp;lt;kbd&amp;gt;ce&amp;lt;/kbd&amp;gt; - change (replace) to the end of the word&lt;br /&gt;
* &amp;lt;kbd&amp;gt;s&amp;lt;/kbd&amp;gt; - delete character and substitute text (same as cl)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;S&amp;lt;/kbd&amp;gt; - delete line and substitute text (same as cc)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;xp&amp;lt;/kbd&amp;gt; - transpose two letters (delete and paste)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;u&amp;lt;/kbd&amp;gt; - undo&lt;br /&gt;
* &amp;lt;kbd&amp;gt;U&amp;lt;/kbd&amp;gt; - restore (undo) last changed line&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;r&amp;lt;/kbd&amp;gt; - redo&lt;br /&gt;
* &amp;lt;kbd&amp;gt;.&amp;lt;/kbd&amp;gt; - repeat last command&lt;br /&gt;
&lt;br /&gt;
== Marking text (visual mode) ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;kbd&amp;gt;v&amp;lt;/kbd&amp;gt; - start visual mode, mark lines, then do a command (like y-yank)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;V&amp;lt;/kbd&amp;gt; - start linewise visual mode&lt;br /&gt;
* &amp;lt;kbd&amp;gt;o&amp;lt;/kbd&amp;gt; - move to other end of marked area&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;v&amp;lt;/kbd&amp;gt; - start visual block mode&lt;br /&gt;
* &amp;lt;kbd&amp;gt;O&amp;lt;/kbd&amp;gt; - move to other corner of block&lt;br /&gt;
* &amp;lt;kbd&amp;gt;aw&amp;lt;/kbd&amp;gt; - mark a word&lt;br /&gt;
* &amp;lt;kbd&amp;gt;ab&amp;lt;/kbd&amp;gt; - a block with ()&lt;br /&gt;
* &amp;lt;kbd&amp;gt;aB&amp;lt;/kbd&amp;gt; - a block with {}&lt;br /&gt;
* &amp;lt;kbd&amp;gt;at&amp;lt;/kbd&amp;gt; - a block with &amp;lt;&amp;gt; tags&lt;br /&gt;
* &amp;lt;kbd&amp;gt;ib&amp;lt;/kbd&amp;gt; - inner block with ()&lt;br /&gt;
* &amp;lt;kbd&amp;gt;iB&amp;lt;/kbd&amp;gt; - inner block with {}&lt;br /&gt;
* &amp;lt;kbd&amp;gt;it&amp;lt;/kbd&amp;gt; - inner block with &amp;lt;&amp;gt; tags&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Esc&amp;lt;/kbd&amp;gt; or &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;c&amp;lt;/kbd&amp;gt; - exit visual mode&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Tip&amp;#039;&amp;#039;&amp;#039; Instead of &amp;lt;kbd&amp;gt;b&amp;lt;/kbd&amp;gt; or &amp;lt;kbd&amp;gt;B&amp;lt;/kbd&amp;gt; one can also use &amp;lt;kbd&amp;gt;(&amp;lt;/kbd&amp;gt; or &amp;lt;kbd&amp;gt;{&amp;lt;/kbd&amp;gt; respectively.&lt;br /&gt;
&lt;br /&gt;
== Visual commands ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;kbd&amp;gt;&amp;gt;&amp;lt;/kbd&amp;gt; - shift text right&lt;br /&gt;
* &amp;lt;kbd&amp;gt;&amp;lt;&amp;lt;/kbd&amp;gt; - shift text left&lt;br /&gt;
* &amp;lt;kbd&amp;gt;y&amp;lt;/kbd&amp;gt; - yank (copy) marked text&lt;br /&gt;
* &amp;lt;kbd&amp;gt;d&amp;lt;/kbd&amp;gt; - delete marked text&lt;br /&gt;
* &amp;lt;kbd&amp;gt;~&amp;lt;/kbd&amp;gt; - switch case&lt;br /&gt;
* &amp;lt;kbd&amp;gt;u&amp;lt;/kbd&amp;gt; - change marked text to lowercase&lt;br /&gt;
* &amp;lt;kbd&amp;gt;U&amp;lt;/kbd&amp;gt; - change marked text to uppercase&lt;br /&gt;
&lt;br /&gt;
== Registers ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:reg[isters]&amp;lt;/kbd&amp;gt; - show registers content&lt;br /&gt;
* &amp;lt;kbd&amp;gt;&amp;quot;xy&amp;lt;/kbd&amp;gt; - yank into register x&lt;br /&gt;
* &amp;lt;kbd&amp;gt;&amp;quot;xp&amp;lt;/kbd&amp;gt; - paste contents of register x&lt;br /&gt;
* &amp;lt;kbd&amp;gt;&amp;quot;+y&amp;lt;/kbd&amp;gt; - yank into the system clipboard register&lt;br /&gt;
* &amp;lt;kbd&amp;gt;&amp;quot;+p&amp;lt;/kbd&amp;gt; - paste from the system clipboard register&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Tip&amp;#039;&amp;#039;&amp;#039; Registers are being stored in ~/.viminfo, and will be loaded again on next restart of vim.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Tip&amp;#039;&amp;#039;&amp;#039; Special registers:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;kbd&amp;gt;0&amp;lt;/kbd&amp;gt; - last yank&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;kbd&amp;gt;&amp;quot;&amp;lt;/kbd&amp;gt; - unnamed register, last delete or yank&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;kbd&amp;gt;%&amp;lt;/kbd&amp;gt; - current file name&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;kbd&amp;gt;#&amp;lt;/kbd&amp;gt; - alternate file name&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;kbd&amp;gt;*&amp;lt;/kbd&amp;gt; - clipboard contents (X11 primary)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;kbd&amp;gt;+&amp;lt;/kbd&amp;gt; - clipboard contents (X11 clipboard)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;kbd&amp;gt;/&amp;lt;/kbd&amp;gt; - last search pattern&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;kbd&amp;gt;:&amp;lt;/kbd&amp;gt; - last command-line&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;kbd&amp;gt;.&amp;lt;/kbd&amp;gt; - last inserted text&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;kbd&amp;gt;-&amp;lt;/kbd&amp;gt; - last small (less than a line) delete&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;kbd&amp;gt;=&amp;lt;/kbd&amp;gt; - expression register&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;kbd&amp;gt;_&amp;lt;/kbd&amp;gt; - black hole register&lt;br /&gt;
&lt;br /&gt;
== Marks and positions ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:marks&amp;lt;/kbd&amp;gt; - list of marks&lt;br /&gt;
* &amp;lt;kbd&amp;gt;ma&amp;lt;/kbd&amp;gt; - set current position for mark A&lt;br /&gt;
* &amp;lt;kbd&amp;gt;`a&amp;lt;/kbd&amp;gt; - jump to position of mark A&lt;br /&gt;
* &amp;lt;kbd&amp;gt;y`a&amp;lt;/kbd&amp;gt; - yank text to position of mark A&lt;br /&gt;
* &amp;lt;kbd&amp;gt;`0&amp;lt;/kbd&amp;gt; - go to the position where Vim was previously exited&lt;br /&gt;
* &amp;lt;kbd&amp;gt;`&amp;quot;&amp;lt;/kbd&amp;gt; - go to the position when last editing this file&lt;br /&gt;
* &amp;lt;kbd&amp;gt;`.&amp;lt;/kbd&amp;gt; - go to the position of the last change in this file&lt;br /&gt;
* &amp;lt;kbd&amp;gt;``&amp;lt;/kbd&amp;gt; - go to the position before the last jump&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:ju[mps]&amp;lt;/kbd&amp;gt; - list of jumps&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;i&amp;lt;/kbd&amp;gt; - go to newer position in jump list&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;o&amp;lt;/kbd&amp;gt; - go to older position in jump list&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:changes&amp;lt;/kbd&amp;gt; - list of changes&lt;br /&gt;
* &amp;lt;kbd&amp;gt;g,&amp;lt;/kbd&amp;gt; - go to newer position in change list&lt;br /&gt;
* &amp;lt;kbd&amp;gt;g;&amp;lt;/kbd&amp;gt; - go to older position in change list&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;]&amp;lt;/kbd&amp;gt; - jump to the tag under cursor&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Tip&amp;#039;&amp;#039;&amp;#039; To jump to a mark you can either use a backtick (&amp;lt;kbd&amp;gt;`&amp;lt;/kbd&amp;gt;) or an apostrophe (&amp;lt;kbd&amp;gt;&amp;#039;&amp;lt;/kbd&amp;gt;). Using an apostrophe jumps to the beginning (first non-blank) of the line holding the mark.&lt;br /&gt;
&lt;br /&gt;
== Macros ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;kbd&amp;gt;qa&amp;lt;/kbd&amp;gt; - record macro a&lt;br /&gt;
* &amp;lt;kbd&amp;gt;q&amp;lt;/kbd&amp;gt; - stop recording macro&lt;br /&gt;
* &amp;lt;kbd&amp;gt;@a&amp;lt;/kbd&amp;gt; - run macro a&lt;br /&gt;
* &amp;lt;kbd&amp;gt;@@&amp;lt;/kbd&amp;gt; - rerun last run macro&lt;br /&gt;
&lt;br /&gt;
== Cut and paste ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;kbd&amp;gt;yy&amp;lt;/kbd&amp;gt; - yank (copy) a line&lt;br /&gt;
* &amp;lt;kbd&amp;gt;2yy&amp;lt;/kbd&amp;gt; - yank (copy) 2 lines&lt;br /&gt;
* &amp;lt;kbd&amp;gt;yw&amp;lt;/kbd&amp;gt; - yank (copy) the characters of the word from the cursor position to the start of the next word&lt;br /&gt;
* &amp;lt;kbd&amp;gt;yiw&amp;lt;/kbd&amp;gt; - yank (copy) word under the cursor&lt;br /&gt;
* &amp;lt;kbd&amp;gt;yaw&amp;lt;/kbd&amp;gt; - yank (copy) word under the cursor and the space after or before it&lt;br /&gt;
* &amp;lt;kbd&amp;gt;y$&amp;lt;/kbd&amp;gt; or &amp;lt;kbd&amp;gt;Y&amp;lt;/kbd&amp;gt; - yank (copy) to end of line&lt;br /&gt;
* &amp;lt;kbd&amp;gt;p&amp;lt;/kbd&amp;gt; - put (paste) the clipboard after cursor&lt;br /&gt;
* &amp;lt;kbd&amp;gt;P&amp;lt;/kbd&amp;gt; - put (paste) before cursor&lt;br /&gt;
* &amp;lt;kbd&amp;gt;gp&amp;lt;/kbd&amp;gt; - put (paste) the clipboard after cursor and leave cursor after the new text&lt;br /&gt;
* &amp;lt;kbd&amp;gt;gP&amp;lt;/kbd&amp;gt; - put (paste) before cursor and leave cursor after the new text&lt;br /&gt;
* &amp;lt;kbd&amp;gt;dd&amp;lt;/kbd&amp;gt; - delete (cut) a line&lt;br /&gt;
* &amp;lt;kbd&amp;gt;2dd&amp;lt;/kbd&amp;gt; - delete (cut) 2 lines&lt;br /&gt;
* &amp;lt;kbd&amp;gt;dw&amp;lt;/kbd&amp;gt; - delete (cut) the characters of the word from the cursor position to the start of the next word&lt;br /&gt;
* &amp;lt;kbd&amp;gt;diw&amp;lt;/kbd&amp;gt; - delete (cut) word under the cursor&lt;br /&gt;
* &amp;lt;kbd&amp;gt;daw&amp;lt;/kbd&amp;gt; - delete (cut) word under the cursor and the space after or before it&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:3,5d&amp;lt;/kbd&amp;gt; - delete lines starting from 3 to 5&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Tip&amp;#039;&amp;#039;&amp;#039; You can also use the following characters to specify the range: &lt;br /&gt;
&lt;br /&gt;
e.g. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;kbd&amp;gt;:.,$d&amp;lt;/kbd&amp;gt; - From the current line to the end of the file &lt;br /&gt;
&lt;br /&gt;
&amp;lt;kbd&amp;gt;:.,1d&amp;lt;/kbd&amp;gt; - From the current line to the beginning of the file &lt;br /&gt;
&lt;br /&gt;
&amp;lt;kbd&amp;gt;:10,1d&amp;lt;/kbd&amp;gt; - From the 10th line to the beginning of the file &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:g/{pattern}/d&amp;lt;/kbd&amp;gt; - delete all lines containing pattern&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:g!/{pattern}/d&amp;lt;/kbd&amp;gt; - delete all lines not containing pattern&lt;br /&gt;
* &amp;lt;kbd&amp;gt;d$&amp;lt;/kbd&amp;gt; or &amp;lt;kbd&amp;gt;D&amp;lt;/kbd&amp;gt; - delete (cut) to the end of the line&lt;br /&gt;
* &amp;lt;kbd&amp;gt;x&amp;lt;/kbd&amp;gt; - delete (cut) character&lt;br /&gt;
&lt;br /&gt;
== Indent text ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;kbd&amp;gt;&amp;gt;&amp;gt;&amp;lt;/kbd&amp;gt; - indent (move right) line one shiftwidth&lt;br /&gt;
* &amp;lt;kbd&amp;gt;&amp;lt;&amp;lt;&amp;lt;/kbd&amp;gt; - de-indent (move left) line one shiftwidth&lt;br /&gt;
* &amp;lt;kbd&amp;gt;&amp;gt;%&amp;lt;/kbd&amp;gt; - indent a block with () or {} (cursor on brace)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;&amp;lt;%&amp;lt;/kbd&amp;gt; - de-indent a block with () or {} (cursor on brace)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;&amp;gt;ib&amp;lt;/kbd&amp;gt; - indent inner block with ()&lt;br /&gt;
* &amp;lt;kbd&amp;gt;&amp;gt;at&amp;lt;/kbd&amp;gt; - indent a block with &amp;lt;&amp;gt; tags&lt;br /&gt;
* &amp;lt;kbd&amp;gt;3==&amp;lt;/kbd&amp;gt; - re-indent 3 lines&lt;br /&gt;
* &amp;lt;kbd&amp;gt;=%&amp;lt;/kbd&amp;gt; - re-indent a block with () or {} (cursor on brace)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;=iB&amp;lt;/kbd&amp;gt; - re-indent inner block with {}&lt;br /&gt;
* &amp;lt;kbd&amp;gt;gg=G&amp;lt;/kbd&amp;gt; - re-indent entire buffer&lt;br /&gt;
* &amp;lt;kbd&amp;gt;]p&amp;lt;/kbd&amp;gt; - paste and adjust indent to current line&lt;br /&gt;
&lt;br /&gt;
== Exiting ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:w&amp;lt;/kbd&amp;gt; - write (save) the file, but don&amp;#039;t exit&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:w !sudo tee %&amp;lt;/kbd&amp;gt; - write out the current file using sudo&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:wq&amp;lt;/kbd&amp;gt; or &amp;lt;kbd&amp;gt;:x&amp;lt;/kbd&amp;gt; or &amp;lt;kbd&amp;gt;ZZ&amp;lt;/kbd&amp;gt; - write (save) and quit&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:q&amp;lt;/kbd&amp;gt; - quit (fails if there are unsaved changes)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:q!&amp;lt;/kbd&amp;gt; or &amp;lt;kbd&amp;gt;ZQ&amp;lt;/kbd&amp;gt; - quit and throw away unsaved changes&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:wqa&amp;lt;/kbd&amp;gt; - write (save) and quit on all tabs&lt;br /&gt;
&lt;br /&gt;
== Search and replace ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;kbd&amp;gt;/pattern&amp;lt;/kbd&amp;gt; - search for pattern&lt;br /&gt;
* &amp;lt;kbd&amp;gt;?pattern&amp;lt;/kbd&amp;gt; - search backward for pattern&lt;br /&gt;
* &amp;lt;kbd&amp;gt;\vpattern&amp;lt;/kbd&amp;gt; - &amp;#039;very magic&amp;#039; pattern: non-alphanumeric characters are interpreted as special regex symbols (no escaping needed)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;n&amp;lt;/kbd&amp;gt; - repeat search in same direction&lt;br /&gt;
* &amp;lt;kbd&amp;gt;N&amp;lt;/kbd&amp;gt; - repeat search in opposite direction&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:%s/old/new/g&amp;lt;/kbd&amp;gt; -            replace all old with new throughout file&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:%s/old/new/gc&amp;lt;/kbd&amp;gt; -            replace all old with new throughout file with confirmations&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:noh[lsearch]&amp;lt;/kbd&amp;gt; - remove highlighting of search matches&lt;br /&gt;
&lt;br /&gt;
== Search in multiple files ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:vim[grep] /pattern/ {`{file}`}&amp;lt;/kbd&amp;gt; -            search for pattern in multiple files&lt;br /&gt;
&lt;br /&gt;
e.g.          &amp;lt;kbd&amp;gt;:vim[grep] /foo/ **/*&amp;lt;/kbd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:cn[ext]&amp;lt;/kbd&amp;gt; - jump to the next match&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:cp[revious]&amp;lt;/kbd&amp;gt; - jump to the previous match&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:cope[n]&amp;lt;/kbd&amp;gt; - open a window containing the list of matches&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:ccl[ose]&amp;lt;/kbd&amp;gt; - close the quickfix window&lt;br /&gt;
&lt;br /&gt;
== Tabs ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:tabnew&amp;lt;/kbd&amp;gt; or &amp;lt;kbd&amp;gt;:tabnew {page.words.file}&amp;lt;/kbd&amp;gt; -            open a file in a new tab&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;wT&amp;lt;/kbd&amp;gt; - move the current split window into its own tab&lt;br /&gt;
* &amp;lt;kbd&amp;gt;gt&amp;lt;/kbd&amp;gt; or &amp;lt;kbd&amp;gt;:tabn[ext]&amp;lt;/kbd&amp;gt; - move to the next tab&lt;br /&gt;
* &amp;lt;kbd&amp;gt;gT&amp;lt;/kbd&amp;gt; or &amp;lt;kbd&amp;gt;:tabp[revious]&amp;lt;/kbd&amp;gt; - move to the previous tab&lt;br /&gt;
* &amp;lt;kbd&amp;gt;#gt&amp;lt;/kbd&amp;gt; - move to tab number #&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:tabm[ove] #&amp;lt;/kbd&amp;gt; - move current tab to the #th position (indexed from 0)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:tabc[lose]&amp;lt;/kbd&amp;gt; - close the current tab and all its windows&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:tabo[nly]&amp;lt;/kbd&amp;gt; - close all tabs except for the current one&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:tabdo&amp;lt;/kbd&amp;gt; command - run the &amp;lt;code&amp;gt;command&amp;lt;/code&amp;gt; on all tabs (e.g. &amp;lt;code&amp;gt;:tabdo q&amp;lt;/code&amp;gt; - closes all opened tabs)&lt;br /&gt;
&lt;br /&gt;
== Working with multiple files ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:e[dit] file&amp;lt;/kbd&amp;gt; - edit a file in a new buffer&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:bn[ext]&amp;lt;/kbd&amp;gt; -            go to the next buffer&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:bp[revious]&amp;lt;/kbd&amp;gt; -            go to the previous buffer&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:bd[elete]&amp;lt;/kbd&amp;gt; - delete a buffer (close a file)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:b[uffer]#&amp;lt;/kbd&amp;gt; - go to a buffer by index #&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:b[uffer] file&amp;lt;/kbd&amp;gt; - go to a buffer by file&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:ls&amp;lt;/kbd&amp;gt; or &amp;lt;kbd&amp;gt;:buffers&amp;lt;/kbd&amp;gt; - list all open buffers&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:sp[lit] file&amp;lt;/kbd&amp;gt; - open a file in a new buffer and split window&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:vs[plit] file&amp;lt;/kbd&amp;gt; - open a file in a new buffer and vertically split window&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:vert[ical] ba[ll]&amp;lt;/kbd&amp;gt; - edit all buffers as vertical windows&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:tab ba[ll]&amp;lt;/kbd&amp;gt; - edit all buffers as tabs&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;ws&amp;lt;/kbd&amp;gt; - split window&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;wv&amp;lt;/kbd&amp;gt; - split window vertically&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;ww&amp;lt;/kbd&amp;gt; - switch windows&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;wq&amp;lt;/kbd&amp;gt; - quit a window&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;wx&amp;lt;/kbd&amp;gt; - exchange current window with next one&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;w=&amp;lt;/kbd&amp;gt; - make all windows equal height &amp;amp; width&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;wh&amp;lt;/kbd&amp;gt; - move cursor to the left window (vertical split)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;wl&amp;lt;/kbd&amp;gt; - move cursor to the right window (vertical split)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;wj&amp;lt;/kbd&amp;gt; - move cursor to the window below (horizontal split)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;wk&amp;lt;/kbd&amp;gt; - move cursor to the window above (horizontal split)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;wH&amp;lt;/kbd&amp;gt; - make current window full height at far left (leftmost vertical window)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;wL&amp;lt;/kbd&amp;gt; - make current window full height at far right (rightmost vertical window)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;wJ&amp;lt;/kbd&amp;gt; - make current window full width at the very bottom (bottommost horizontal window)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt; + &amp;lt;kbd&amp;gt;wK&amp;lt;/kbd&amp;gt; - make current window full width at the very top (topmost horizontal window)&lt;br /&gt;
&lt;br /&gt;
== Diff ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;kbd&amp;gt;zf&amp;lt;/kbd&amp;gt; - manually define a fold up to motion&lt;br /&gt;
* &amp;lt;kbd&amp;gt;zd&amp;lt;/kbd&amp;gt; - delete fold under the cursor&lt;br /&gt;
* &amp;lt;kbd&amp;gt;za&amp;lt;/kbd&amp;gt; - toggle fold under the cursor&lt;br /&gt;
* &amp;lt;kbd&amp;gt;zo&amp;lt;/kbd&amp;gt; - open fold under the cursor&lt;br /&gt;
* &amp;lt;kbd&amp;gt;zc&amp;lt;/kbd&amp;gt; - close fold under the cursor&lt;br /&gt;
* &amp;lt;kbd&amp;gt;zr&amp;lt;/kbd&amp;gt; - reduce (open) all folds by one level&lt;br /&gt;
* &amp;lt;kbd&amp;gt;zm&amp;lt;/kbd&amp;gt; - fold more (close) all folds by one level&lt;br /&gt;
* &amp;lt;kbd&amp;gt;zi&amp;lt;/kbd&amp;gt; - toggle folding functionality&lt;br /&gt;
* &amp;lt;kbd&amp;gt;]c&amp;lt;/kbd&amp;gt; - jump to start of next change&lt;br /&gt;
* &amp;lt;kbd&amp;gt;[c&amp;lt;/kbd&amp;gt; - jump to start of previous change&lt;br /&gt;
* &amp;lt;kbd&amp;gt;do&amp;lt;/kbd&amp;gt; or &amp;lt;kbd&amp;gt;:diffg[et]&amp;lt;/kbd&amp;gt; - obtain (get) difference (from other buffer)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;dp&amp;lt;/kbd&amp;gt; or &amp;lt;kbd&amp;gt;:diffpu[t]&amp;lt;/kbd&amp;gt; - put difference (to other buffer)&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:diffthis&amp;lt;/kbd&amp;gt; - make current window part of diff&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:dif[fupdate]&amp;lt;/kbd&amp;gt; - update differences&lt;br /&gt;
* &amp;lt;kbd&amp;gt;:diffo[ff]&amp;lt;/kbd&amp;gt; - switch off diff mode for current window&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Tip&amp;#039;&amp;#039;&amp;#039; The commands for folding (e.g. &amp;lt;kbd&amp;gt;za&amp;lt;/kbd&amp;gt;) operate on one level. To operate on all levels, use uppercase letters (e.g. &amp;lt;kbd&amp;gt;zA&amp;lt;/kbd&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Tip&amp;#039;&amp;#039;&amp;#039; To view the differences of files, one can directly start Vim in diff mode by running &amp;lt;kbd&amp;gt;vimdiff&amp;lt;/kbd&amp;gt; in a terminal. One can even set this as &amp;lt;kbd&amp;gt;git difftool&amp;lt;/kbd&amp;gt;.&lt;/div&gt;</summary>
		<author><name>413vhcu1lq0463ob</name></author>
	</entry>
</feed>