首页 > 代码库 > 1. vi 与 vim 有什么区别呢,它们之间有什么关系?

1. vi 与 vim 有什么区别呢,它们之间有什么关系?

1. vi 与 vim 有什么区别呢,它们之间有什么关系?

答:简单的讲,vi编辑器是UNIX早期自带的文本编辑器,更能简单,不支持语法颜色;vim编辑器是在vi的基础上改进的版本,比vi功能更强大,支持语法颜色。vim是vi的升级版。

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

答:vim --version 或者 rpm -qa |grep vim

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

答:1,$s/abc/def/g或者%s/abc/def/g,不加g就只替换每行第一个“abc”

4. 当搜索某个关键词时,光标所定位的关键词所在的行是如何决定的?也就是说,光标是定位到最顶端出现的关键词的那行还是最底端关键词出现的那行,还是另外的情况?如果想从当前关键词移动到下一个关键词怎么操作?移动到上一个关键词又怎么操作?

答:1.正搜索使用/,光标定位到最顶端出现关键词的行,n移到下一个关键词,N移到上一个关键词

2.逆搜索使用?,光标定位到最低端出现关键词的行,N移到下一个关键词,n移到上一个关键词

5. 当编辑完文档后,按ESC进入命令模式,输入命令 :x  会怎么样?

答:命令:x会保存退出,相等于命令:wq

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

答:向左移动10个字符:10h或10←

向右移动10个字符:10l或10→

7. vim + filename 表示什么含义, vim +10 filename 将会发生什么?

答:vim filename表示以vim编辑器打开文件filename,如果不存在则创建,光标定位到第一行行首。vim +10 filename表示以vim编辑器打开文件filename,如果不存在则创建,如果内容行数大于等于10行则光标定位到第10行行首,如果不足10行则光标定位到最后一行行首。

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

答:让光标调到第20行:20G

让光标调到最后一行:G

9. vim 打开文档后,默认是不显示行号的,如何做让它显示行号?

答:命令模式下输入:set no

10. vim打开文档后,我想把20-50行中的第一个‘abc‘ 替换为 ‘efg‘ 怎么操作?如果是想替换所有呢?

答:(1) 20,50s/abc/efg/

(2) 20,50s/abc/efg/g 替换20-50行所有‘abc‘为‘efg‘

1,$s/abc/efg/g 或%s/abc/efg/g 替换全文所有‘abc‘为‘efg‘

11. vim打开文档后,如何快速删除前100行?

答:将光标定位到第一行,然后输入100dd

12. vim打开文档后,如何复制一行,并粘贴到第20行的下面?

答:首先将光标定位到要复制的行,然后输入 yy 复制该行,接着输入 "20G"指定到第20行,最后按小写字母“P”粘贴即可。


1. vi 与 vim 有什么区别呢,它们之间有什么关系?