-
Notifications
You must be signed in to change notification settings - Fork 27
/
Copy pathlearn-vi-01-Basic.html
59 lines (57 loc) · 7.75 KB
/
learn-vi-01-Basic.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh" xml:lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="learn-vi.css" />
<title>VIM学习笔记 基本编辑命令</title>
</head>
<body>
<p style="font-weight:bold; border-bottom:1px solid lightgray; border-left:6px solid lightgray; padding:0 0 3px 5px">启动</p>
<p>可以在终端窗口中,输入命令<code class="inset">vim</code>,直接在终端窗口打开Vim程序。或者在菜单中找到gvim,点击打开vim的图形界面。</p>
<p><a href="https://www.flickr.com/photos/yyq123/29749635914/in/dateposted/" title="gvim_8.0.2"><img src="https://c3.staticflickr.com/9/8416/29749635914_d35d355939.jpg" width="500" height="336" alt="gvim_8.0.2"></a></p>
<p style="font-weight:bold; border-bottom:1px solid lightgray; border-left:6px solid lightgray; padding:0 0 3px 5px">编辑</p>
<p>在启动Vim以后,将默认进入常规模式。这时可以输入<code class="inset">i</code>(insert)命令进入插入模式进行文本输入。在插入模式下,可以使用<kbd>Backspace</kbd>键或<kbd>Delete</kbd>键来删除一个字符。用方向键来控制光标。也就是说,你可以毫无障碍地将vim当作普通的文本编辑器来使用。当然,这完全没有发挥出vim的强大威力,也无法保证你能高效地完成文本编辑。</p>
<p>使用<code class="inset">i</code>命令,将在当前字符的左边新增文本。而使用<code class="inset">I</code>命令,则在当前行的开头新增文本。使用<code class="inset">a</code>命令,可以在当前光标所在的字符后面进入插入状态,而<code class="inset">A</code>命令,则是在一行的末尾进入插入状态。使用<code class="inset">o</code>命令,可以在当前行的下面新增一行并进入插入模式;而使用<code class="inset">O</code>命令,则可以在当前行的上一行新增一行并进入插入模式。</p>
<p>在插入模式下,点击<kbd>Esc</kbd>键可以返回到常规模式。</p>
<p>在常规模式下,我们强烈建议您用字母键(而非方向键)<code class="inset">h</code>(left),<code class="inset">j</code>(down),<code class="inset">k</code>(up),<code class="inset">l</code>(right)来移动光标。这样你的双手就不用离开字母录入区域,再去敲击遥远的方向键了。减少双手的移动距离,将大大提高你的编辑效率。</p>
<p><a href="https://www.flickr.com/photos/yyq123/29747863023/in/dateposted/" title="hjkl"><img src="https://c8.staticflickr.com/9/8552/29747863023_af5bf42a66_n.jpg" width="320" height="250" alt="hjkl"></a></p>
<p>灵活使用数字和命令组合,将进一步提高编辑的效率。例如<code class="inset">3h</code>命令,就可向左移动3个字符。同理,使用数字和其他的移动命令进行组合,将可以大大提高移的速度。</p>
<p>我们可以使用<code class="inset">x</code>命令,删除当前字符。也可以使用<code class="inset">X</code>命令,删除当前光标前的一个字符。将数字和命令组合则可以一次删除多个字符。例如<code class="inset">3x</code>命令,则可以删除3个字符。<p>
<p>使用<code class="inset">dd</code>命令,可以删除整个当前行。而<code class="inset">D</code>命令,则只删除当前光标到本行结尾的所有文字。</p>
<p>如果我们想要恢复先前的改动,那么可以使用<code class="inset">u</code>命令来撤销上一次的修改;而<code class="inset">U</code>命令则将撤销进入当前行以后对该行做的所有修改。当光标离开该行之后,就无法再用此命令恢复在该行的操作了。如果我们想要重做某些工作,那么可以使用<kbd>CTRL+R</kbd>命令。</p>
<p style="font-weight:bold; border-bottom:1px solid lightgray; border-left:6px solid lightgray; padding:0 0 3px 5px">获得帮助</p>
<p>在常规模式下,输入<code class="inset">:help</code>命令,可以查看vim的联机帮助。为得到更明确的帮助,我们可以指明所需要知道的内容。例如输入<code class="inset">:help x</code>命令来获得指定命令的详细帮助信息。如果想要退出帮助,则可以输入<code class="inset">:q</code>退出命令。</p>
<p>Vim命令中的前导冒号将使光标移动到屏幕底端最后一行的下面,随后键入的命令也随之显示在屏幕上,按回车键将执行此命令。如果需要取消一个冒号命令,则需要重复按<kbd>ESC</kbd>键或<kbd>CTRL+H</kbd>,直到光标返回到文档的最后一行。</p>
<p style="font-weight:bold; border-bottom:1px solid lightgray; border-left:6px solid lightgray; padding:0 0 3px 5px">退出</p>
<p>在完成文本编辑之后,可以使用<code class="inset">:q</code>命令退出vim。如果你有未保存的修改,那么就会在窗口底部显示错误信息。提示你使用<code class="inset">:q!</code>命令,放弃改动并强制退出。</p>
<p><a href="https://www.flickr.com/photos/yyq123/29748828773/in/dateposted/" title="E37"><img src="https://c2.staticflickr.com/6/5447/29748828773_8269a78cdd_o.png" width="429" height="20" alt="E37"></a></p>
<p>你可以使用<code class="inset">:w</code>命令,保存改动但并不退出vim。而使用<code class="inset">:wq</code>命令,则保存修改并退出程序。</p>
<p>命令<code class="inset">:x</code>也用于保存并退出,但只有在文件已修改时,才会执行保存操作。也就是说,对于未修改的文件执行此命令,并不会更改最后修改日期,这对于代码的版本管理是有意义的。</p>
<table summary="Commands" border="2" frame="hsides" rules="all" cellspacing="0" cellpadding="3">
<caption>命令小结</caption>
<tr><td><code class="inset">:q</code></td><td>退出</td></tr>
<tr><td><code class="inset">:q!</code></td><td>不保存退出</td></tr>
<tr><td><code class="inset">:w</code></td><td>保存</td></tr>
<tr><td><code class="inset">:wq</code></td><td>保存并退出</td></tr>
<tr><td><code class="inset">i</code></td><td>进入插入模式</td></tr>
<tr><td><code class="inset">I</code></td><td>在当前行开头添加</td></tr>
<tr><td><code class="inset">h</code></td><td>左</td></tr>
<tr><td><code class="inset">j</code></td><td>下</td></tr>
<tr><td><code class="inset">k</code></td><td>上</td></tr>
<tr><td><code class="inset">l</code></td><td>右</td></tr>
<tr><td><code class="inset">x</code></td><td>删除当前光标上的字符</td></tr>
<tr><td><code class="inset">X</code></td><td>删除当前光标前的字符</td></tr>
<tr><td><code class="inset">dd</code></td><td>删除一行</td></tr>
<tr><td><code class="inset">D</code></td><td>删除光标处到行尾的所有字符</td></tr>
<tr><td><code class="inset">u</code></td><td>撤销上一次的编辑</td></tr>
<tr><td><code class="inset">U</code></td><td>撤销所有的编辑</td></tr>
<tr><td><code class="inset">a</code></td><td>在当前光标后进入插入状态</td></tr>
<tr><td><code class="inset">A</code></td><td>在一行的末尾进入插入状态</td></tr>
<tr><td><code class="inset">o</code></td><td>在文本的下面新增一行</td></tr>
<tr><td><code class="inset">O</code></td><td>在文本的上面新增一行</td></tr>
<tr><td><code class="inset">:help</code></td><td>在线帮助</td></tr>
</table>
<p style="border-top:1px solid lightgray"><span style="float:right">Ver: 1.0</span><span><<a title="()" href="">上一篇</a> |<a title="笔记列表" href="http://yyq123.github.com/learn-vim/learn-vi-00-List.html"> 目录 </a>| <a title="移动和修改" href="http://yyq123.blogspot.com/2009/02/vim_23.html">下一篇</a>></span></p>
</body>
</html>