首页 > 代码库 > 第十章 文本编辑工具vim

第十章 文本编辑工具vim

1. vi 与 vim 有什么区别呢,它们之间有什么关系?
 Vim是从Vi发展出来的一个文本编辑器,可以看作是vi的升级版。Vim的主要功能与原始的Vi完全兼容,与Vi不同的是,vi不会显示颜色,而vim会根据文件内容显示不同颜色,方便阅读和编辑。而且Vim具有代码补完、编译及错误跳转等方便编程的丰富功能,在程序员中被广泛使用。( Vim和Emacs并列成为类Unix系统用户最喜欢的编辑器。)

2. 如何查看当前系统vim的版本?
 vim --version

3. 如果想把文档中出现的全部"abc"替换成"def"怎么做?又如何只替换每行中出现的第一个"abc"呢?
   全部替换 :1,$s/abc/def/g

   替换一个 :1,$s/abc/def
4. 当搜索某个关键词时,光标所定位的关键词所在的行是如何决定的?也就是说,光标是定位到最顶端出现的关键词的那行还是最底端关键词出现的那行,还是另外的情况?如果想从当前关键词移动到下一个关键词怎么操作?移动到上一个关键词又怎么操作?
需要看vim进入文档时,光标所在位置,定位关键词是依据于光标所在的位置。
如果使用/搜索关键词,则按‘n‘向下移动,按shift + n 向上,如果使用?搜索关键词,和前者正好相反。

5. 当编辑完文档后,按ESC进入命令模式,输入命令 :x  会怎么样?
输入命令:x后也能保存文件并退出,有点类似:wq ,但两者有区别。
              :x       #写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间。
              :wq     #强制性写入文件并退出。即使文件没有被修改也强制写入,并更新文件的修改时间。

6. 在一般模式下如何快速的把光标快速的向右或向左移动10个字符?
 向右:10空格
  向左:10l

7. vim + filename 表示什么含义, vim +10 filename 将会发生什么?
   vim +    进入文档后,定位到最后一行
      vim +10 进入文档后,光标定位到第10行

8. 用vim打开一个文档后,我想让光标跳到第20行,怎么做?跳到最后一行怎么做?
   跳到20行,输入20G
      最后一行,输入G

9. vim 打开文档后,默认是不显示行号的,如何做让它显示行号?
   :set nu
10. vim打开文档后,我想把20-50行中的第一个‘abc‘ 替换为 ‘efg‘ 怎么操作?如果是想替换所有呢?
   替换第一个  :20,50s/abc/efg

   所有替换    :20,50s/abc/efg/g
11. vim打开文档后,如何快速删除前100行?
   先按‘gg‘ 到第一行,然后输入100d

12. vim打开文档后,如何复制一行,并粘贴到第20行的下面?
   定位到要复制的行,然后输入yy,然后输入20G,再输入小写p

扩展阅读:

1.  更多关于vim的知识点 http://www.lishiming.net/thread-5482-1-1.html

2. vim的设置 http://www.lishiming.net/thread-5483-1-1.html

vim 应用:

1. vim 设置自动缩进 http://www.lishiming.net/thread-3616-1-1.html

2. vim 快速删除指定的一段字符 http://www.lishiming.net/thread-842-1-2.html

3. 分享几个vim里常用的快捷键  http://www.lishiming.net/thread-407-1-1.html

本文出自 “helin” 博客,转载请与作者联系!

第十章 文本编辑工具vim