现在的位置: 首页 > 综合 > 正文

读书笔记之VIM入门

2016年02月05日 ⁄ 综合 ⁄ 共 2417字 ⁄ 字号 评论关闭

//这个是本人第一篇读书笔记,参考了一些资料(The linux command line )转载前请注明来源,虽然本文内容质量不很高。

//本人接受建议,但是不接受意见。

//主要是针对vim新手,大神请无情地无视它。原谅第一次写博客排版的粗糙,我已经很努力的排了,尽量让它不影响阅读体验。

//有错误请无情地告诉我吧,虽然这是一件很尴尬的事情

1)背景介绍:

第一版 vi 是在 1976 由 Bill Joy 写成的,当时他是加州大学伯克利分校的学生,后来他共同创建了 Sun 微系统公司。 vi 这个名字来源于单词“visual”,因为它打算在带有可移动光标的视频终端上编辑文本。在发明可视化编辑器之前,有一次只能操作一行文本的行编辑器。为了指定一个修改,我们告诉行编辑器到一个特殊行并且说明做什么修改,比方说添加或删除文本。视频终端(而不是基于打印机的终端,像电传打印机)的出现,可视化编辑成为可能。
vi实际上整合了一个强大的叫做 ex 行编辑器, 所以我们在使用vi 时能运行行编辑命令。大多数 Linux 发行版不包含真正的 vi;而是自带一款高级替代版本,叫做vim(它是“viimproved”的简写)由 Bram Moolenaar 开发的。 vim 相对于传统的 Unix vi 来说,取得了实质性进步。通常, vim 在 Linux 系统中是“vi”的符号链接(或别名)。在随后的讨论中,我们将会假定我们有一个叫做“vi”的程序,但它其实是vim。

2)启动和退出VIM:

     输入命令VIM即可。屏幕会出现这样一个界面。表明启动成功。推出请在ex命令模式下输入:q(注意冒号是命令的一部分)强制推出请用命令:q!。ps:如果用户不能确认自己所处的模式,请按ESC键两次返回初始状态。

3)编辑模式:

在命令行模式下输入vim foo.txt这样将会创建一个名为foo.txt的文件(如果文件已经存在,那就是打开文件,此方法可以用来创建新文件)。

打开后看到如下界面:

其中~表示此行无任何内容。ps:在此模式下请慎重按键盘,此时的键盘输入都是命令,乱按可能会把文件弄的一团糟。

4)进入插入模式:

用i(小写,VIM中大小写严格区分)进入插入模式,注意底部的屏幕变化出现了这个:

现在可以进行输入。输入完毕请记得按ESC键返回到命令模式。

4.1)保存:

在命令模式底端输入:w命令进行保存。之后会得到一条确认信息如下:

如果你阅读vim 的文档,你注意到(混淆地)命令模式被叫做普通模式, ex 命令叫做命令模式。本文中不加以详细区分。

5)移动光标:

为什么h,j,k,和l 按键被用来移动光标呢?因为在开发 vi 之初,并不是所有的视频终端都有箭头按键,熟练的打字员可以使用规则的键盘按键来移动光标,他们的手从不需要移开键盘。vim中的许多命令都可以在前面加上一个数字,比方说上面提到的 “G” 命令。在命令之前加上一个数字,我们就可以指定命令执行的次数。例如,命令“5j” 导致 vi 向下移动 5 行。

6)基本的编辑命令:

大多数编辑工作由一些基本的操作组成,比如说插入文本,删除文本和通过剪切和粘贴来移动文本。vi,当然,以它自己的独特方式来支持持所有的操作。vim 也提供了撤销形式,u命令(小写)。

6.1)添加文本:

i命令和a命令。如果我们想要在这个句子的末尾添加一些文本,我们会发现i 命令不能完成任务,因为我们不能把光标移到行尾。vi 提供了追加文本的命令,明智地命名为 “a” 命令。如果我们把光标移动到行尾,输入”a”,光标就会越过行尾, vi 进入插入模式。vim 提供了一种快捷方式来移动到当前行的末尾,并且能添加文本。它是“A” 命令.记得按ESC键推出。

6.2)插入一行:

  o(小)当前行的下方打开一行。O(大)当前行的上方打开一行。

6.3)删除命令:

同样支持数字组合。见上文例子。

6.4)剪切,复制和粘贴文本:

输入大写的P 命令把所复制的文本粘贴到当前行之上。输入小写的p 把复制的一行粘贴到当前行的下面。(其中d是剪切,y是复制)

6.5)合并行:

  使用大写的J命令进行合并。

7)查找替换:

  VIM有能力把光标移到搜索到的匹配项上。vim可以在单一行或整个文件中运用这个功能。它也可以在有或没有用户确认的情况下实现文本替换

7.1)行内搜索:

  f命令查找一行,移动光标到下一个所指定的字符上。例如,命令 fa 会把光标定位到同一行中下一个出现的“a” 字符上。在一行中执行了字符的查找命令之后,通过输入分号来重复这个查找。

7.2)搜索整个文件:

  使用/命令如/xx,查找xx,通过小写n进行重复先前的查找。

7.3)全局搜索和替换:

  如 :%S/line/Line/gc命令。


小写c请求用户确认。括号中的每个字符都是一个可能的选择,如下所示: replace with Line (y/n/a/q/l/^E/^Y)?、

 

8)编辑多个文件:

  vim file1 file2 file3...(。。。表明可以打开多个)

8.1)文件切换:

  在ex命令下输入:n(往下切换):N(往上切换)注意冒号!!  buffers 命令可以查看正在编辑的文件。buffer命令加上文件的数字编号可以切换。详情见图:

8.2)载入更多的文件:

在已经打开一个文件的情况下,在命令模式底下输入:e ls.txt  命令可以打开新文件。ps(在此模式下只能是用buffer命令切换文件,对N和n命令无响应)

8.3)文件之间的内容复制:

使用y命令,详情见上文。

8.4)插入整个文件:

使用命令:r foo.txt (主要冒号)r(read缩写)

9)保存工作:

:w命令保存。:wq保存推出。 另一个方式大写的ZZ命令可以保存推出。 其中:w命令加上一个新的文件名,类似于另存为的操作。如果继续编辑文档,还是在原先的文档基础上进行编辑,不是在后保存的基础上编辑。

10)拓展阅读学习:

即使把所学的内容都加起来,我们也只是学了vi 和 vim 的一点儿皮毛而已。这里有一些在线的资料,你可以用来继续vi 学习之旅。

【上篇】
【下篇】

抱歉!评论已关闭.