第十章教程地址:http://study.lishiming.net/chapter10.html
本章内容少而精,比较实用,vim这个命令在日常运维工作中使用的较多,希望您能够牢固掌握这一章节的内容,下面阿铭留给您几道练习题请认真完成,另外阿铭也把以前在工作中遇到的问题列出来,分享给您。
作业题:
1. vi 与 vim 有什么区别呢,它们之间有什么关系?
2. 如何查看当前系统vim的版本?
3. 如果想把文档中出现的全部"abc"替换成"def"怎么做?又如何只替换每行中出现的第一个"abc"呢?
4. 当搜索某个关键词时,光标所定位的关键词所在的行是如何决定的?也就是说,光标是定位到最顶端出现的关键词的那行还是最底端关键词出现的那行,还是另外的情况?如果想从当前关键词移动到下一个关键词怎么操作?移动到上一个关键词又怎么操作?
5. 当编辑完文档后,按ESC进入命令模式,输入命令 :x 会怎么样?
6. 在一般模式下如何快速的把光标快速的向右或向左移动10个字符?
7. vim + filename 表示什么含义, vim +10 filename 将会发生什么?
8. 用vim打开一个文档后,我想让光标跳到第20行,怎么做?跳到最后一行怎么做?
9. vim 打开文档后,默认是不显示行号的,如何做让它显示行号?
10. vim打开文档后,我想把20-50行中的第一个'abc' 替换为 'efg' 怎么操作?如果是想替换所有呢?
11. vim打开文档后,如何快速删除前100行?
12. vim打开文档后,如何复制一行,并粘贴到第20行的下面?
扩展阅读:
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
习题答案:
{{{密码回复可见}}}
1. vi 与 vim 有什么区别呢,它们之间有什么关系?
答:vim是vi的升级版本,带有颜色
2. 如何查看当前系统vim的版本?
答:命令rpm -qa |grep vim 或者 vim --version
3. 如果想把文档中出现的全部"abc"替换成"def"怎么做?又如何只替换每行中出现的第一个"abc"呢?
答: :1,$s/abc/def/g :1,$s/abc/def
4. 当搜索某个关键词时,光标所定位的关键词所在的行是如何决定的?也就是说,光标是定位到最顶端
出现的关键词的那行还是最底端关键词出现的那行,还是另外的情况?如果想从当前关键词移动到下一
个关键词怎么操作?移动到上一个关键词又怎么操作?
答:
两种情况:
a,/关键词 光标出现在最顶端的关键词 b,? 光标出现在最末端的关键词
如果想从当前关键词移动到下一个关键词怎么操作:
a,/关键词,回车,按小写字母n b,? /关键词 回车 按大写字母N
移动到上一个关键词又怎么操作:
a,/关键词,回车,按大写字母N b,? /关键词 回车 按小写字母n
5. 当编辑完文档后,按ESC进入命令模式,输入命令 :x 会怎么样?
答:会保存退出 相当于 :wq
6. 在一般模式下如何快速的把光标快速的向右或向左移动10个字符?
答:向右 10l 向左10h
7. vim + filename 表示什么含义, vim +10 filename 将会发生什么?
答:vim +filename 打开该文档移动到该文档的末行
vim+10 filename 定位在文件的第十行
8. 用vim打开一个文档后,我想让光标跳到第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行?
答:100dd
12. vim打开文档后,如何复制一行,并粘贴到第20行的下面?
答:yy复制第一行
20G指定行 按小p粘贴
1、区别是vim有颜色标识,功能一致
2、version
3、:%s/abc/def/g :%s/abc/def/
4、颜色显示定位;光标停留的地方;n向结尾寻找,N向开头寻找
5、退出
6、h、l前加数字10
7、打开编辑文件;会创建filename文件
8、j下k上,前面输入数字20;最后一行G
9、:set nu
10、:20,50s/abc/efg/;后者用g结尾
11、100dd
12、 20 yy
作业题:1. vi 与 vim 有什么区别呢,它们之间有什么关系?答: Vim是从Vi发展出来的一个文本编辑器,可以看作是vi的升级版。Vim的主要功能与原始的Vi完全兼容,与Vi不同的是,vi不会显示颜色,而vim会根据文件内容显示不同颜色,方便阅读和编辑。而且Vim具有代码补完、编译及错误跳转等方便编程的丰富功能,在程序员中被广泛使用。( Vim和Emacs并列成为类Unix系统用户最喜欢的编辑器。)2. 如何查看当前系统vim的版本?答:#vim --version #显示vim版本详细信息 #vim #显示vim信息,包括版本号 :version #在一般模式下输入,显示vim版本详细信息 3. 如果想把文档中出现的全部"abc"替换成"def"怎么做?又如何只替换每行中出现的第一个"abc"呢?答: :1,$s/abc/def #把文档中出现的全部"abc"替换成"def" :1,$s/abc/def/g #只替换每行中出现的第一个"abc"4. 当搜索某个关键词时,光标所定位的关键词所在的行是如何决定的?也就是说,光标是定位到最顶端出现的关键词的那行还是最底端关键词出现的那行,还是另外的情况?如果想从当前关键词移动到下一个关键词怎么操作?移动到上一个关键词又怎么操作?答:搜索关键词时,光标所定位的关键词所在的行是由光标原来位置所在的行和搜索命令(:/或:?)两者共同决定的。 (1)当采用:/命令搜索关键词时,在光标原来位置所在的行的基础上,会向下移动到有该关键词的最近的一行的行首; (2)当采用:?命令搜索关键词时,在光标原来位置所在的行的基础上,会向上移动到有该关键词的最近的一行的行首。 想从当前关键词移动到下一个关键词,可以按‘n’键;移动到上一个关键词,可以按‘SHIFT + n’键。5. 当编辑完文档后,按ESC进入命令模式,输入命令 :x 会怎么样?答:输入命令:x后也能保存文件并退出,有点类似:wq ,但两者有区别。 :x #写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间。 :wq #强制性写入文件并退出。即使文件没有被修改也强制写入,并更新文件的修改时间。 这两者一般情况下没什么不一样,但是在编程方面,对编辑源文件可能会产生重要影响。因为强制更新文件的修改时间,可能会误导对软件进行新版本的编译。6. 在一般模式下如何快速的把光标快速的向右或向左移动10个字符?答: 10h #光标向左移动10个字符 10l #光标向右移动10个字符7. vim + filename 表示什么含义, vim +10 filename 将会发生什么?答: vim + filename #打开filename文档后,光标定位在文档最后一行的行首 vim +10 filename #打开filename文档后,光标定位在文档第10行的行首8. 用vim打开一个文档后,我想让光标跳到第20行,怎么做?跳到最后一行怎么做?答: 20G #光标定位到第20行的行首 G #光标定位到第20行的行首9. vim 打开文档后,默认是不显示行号的,如何做让它显示行号?答: :set nu #显示行号10. vim打开文档后,我想把20-50行中的第一个'abc' 替换为 'efg' 怎么操作?如果是想替换所有呢?答: :20,50s/abc/efg #把20-50行中的第一个'abc' 替换为 'efg' :20,50s/abc/efg/g #把20-50行中的第一个'abc' 替换为 'efg' 11. vim打开文档后,如何快速删除前100行?答: 按gg键将光标定位到行首,然后按100dd键,即可删除前100行。12. vim打开文档后,如何复制一行,并粘贴到第20行的后面?答: 光标定位到需要复制的行,按yy键复制该行,然后按20G定位到第20行,按p键即复制到第20行后面。
1. vi 与 vim 有什么区别呢,它们之间有什么关系? vim就是vi的升级版本,vim编辑一些配置文件时有颜色显示,而vi没有
2. 如何查看当前系统vim的版本?3. 如果想把文档中出现的全部"abc"替换成"def"怎么做?又如何只替换每行中出现的第一个"abc"呢? :%s/abc/def/g ; :1,$s /abc/def/
4. 当搜索某个关键词时,光标所定位的关键词所在的行是如何决定的?也就是说,光标是定位到最顶端出现的关键词的那行还是最底端关键词出现的那行,还是另外的情况?如果想从当前关键词移动到下一个关键词怎么操作?移动到上一个关键词又怎么操作? 5. 当编辑完文档后,按ESC进入命令模式,输入命令 :x 会怎么样? 保存并退出6. 在一般模式下如何快速的把光标快速的向右或向左移动10个字符? 10h/l7. vim + filename 表示什么含义, vim +10 filename 将会发生什么? 进入某个文件中; 进入某个文件中,光标位于第10行。 8. 用vim打开一个文档后,我想让光标跳到第20行,怎么做?跳到最后一行怎么做? 20G; G9. vim 打开文档后,默认是不显示行号的,如何做让它显示行号? 命令行模式下:set nu10. vim打开文档后,我想把20-50行中的第一个'abc' 替换为 'efg' 怎么操作?如果是想替换所有呢? :20,50s/abc/def/ ; :20,50s/abc/def/g
11. vim打开文档后,如何快速删除前100行? 100dd12. vim打开文档后,如何复制一行,并粘贴到第20行的下面?
yy 20G p
1.vi 没有颜色 vim 有颜色 vim是vi的升级版
2.vim --version
3.:$s/abc/def/g :1,$s/abc/def/
4.根据光标所在位置定位关键词 。/关键词 按n 向下 N 向上 ?关键词 n向上 N向下
5.写入文件并退出,并更新修改时间
6.向左:10+h 向右:10+l
7.vim + filename 打开filename文件进入一般模式
vim + 10 filename 打开创建一个10 filename 的缓存文件
8.跳到20行:20+回车 跳到最后一行:G
9.:set nu 设置行号
10. 替换1到20第一个:1,20s/abc/efg/ 替换1到20所有:1,20s/abc/efg/g
11.100+dd
12.yy +9+空格 +p
1. vi 与 vim 有什么区别呢,它们之间有什么关系?vi是早期至今的编辑器 vim功能比vi多 可以显示颜色便于编辑查看 vi的操作都可在vim实现2. 如何查看当前系统vim的版本?vim一个文件 命令行模式 :version3. 如果想把文档中出现的全部"abc"替换成"def"怎么做?又如何只替换每行中出现的第一个"abc"呢?:1,$(%)s/abc/def/g 回车 :%s/abd/def/ 回车4. 当搜索某个关键词时,光标所定位的关键词所在的行是如何决定的?也就是说,光标是定位到最顶端出现的关键词的那行还是最底端关键词出现的那行,还是另外的情况?如果想从当前关键词移动到下一个关键词怎么操作?移动到上一个关键词又怎么操作?/ 顶端 ?低端 n N N n 切换5. 当编辑完文档后,按ESC进入命令模式,输入命令 :x 会怎么样?退出vim6. 在一般模式下如何快速的把光标快速的向右或向左移动10个字符?10+l 10+h7. vim + filename 表示什么含义, vim +10 filename 将会发生什么?光标定位到最末行行首 光标定位到 第10行行首8. 用vim打开一个文档后,我想让光标跳到第20行,怎么做?跳到最后一行怎么做?20+G G9. vim 打开文档后,默认是不显示行号的,如何做让它显示行号?:set nu10. vim打开文档后,我想把20-50行中的第一个'abc' 替换为 'efg' 怎么操作?如果是想替换所有呢?:20,50s/abc/def/ 回车 加g11. vim打开文档后,如何快速删除前100行?100 + dd12. vim打开文档后,如何复制一行,并粘贴到第20行的下面?yy 光标所在行 20 +G p
JerryChan - 广东某工业大学大四拼命找offer的渣渣
我的答案:
1.可以把vim理解成vi的升级版
2.vim --version
3. :1,$s/abc/def/g ; :1,$s/abc/def
4.
5. 相当于:wq,即保存后退出
6.向右快速移动10个字符:10l
向左快速移动10个字符:10h
7.vim + filename 表示:打开该文档且光标移动到该文档末行;
vim +10 filename表示:打开该文档且光标移动到第十行
8.20G,G
9.set nu
10.20,50s/abc/def ; 20,50s/abc/def/g
11.100dd
12.yy 复制需要复制的那行,然后输入 "20G"指定到第20行,最后按小写字母“P”粘贴即可。
1. vi 与 vim 有什么区别呢,它们之间有什么关系?
vim 带颜色 vim是vi的升级版
2. 如何查看当前系统vim的版本?
rpm -qa vim-enhanced
3. 如果想把文档中出现的全部"abc"替换成"def"怎么做?又如何只替换每行中出现的第一个"abc"呢?
:1,$s/abc/def/g 把g去掉
4. 当搜索某个关键词时,光标所定位的关键词所在的行是如何决定的?也就是说,光标是定位到最顶端出现的关键词的那行还是最底端关键词出现的那行,还是另外的情况?如果想从当前关键词移动到下一个关键词怎么操作?移动到上一个关键词又怎么操作?
光标所在的位置不同 用n与N来操作 两个搜索类型N与n是相反的
5. 当编辑完文档后,按ESC进入命令模式,输入命令 :x 会怎么样?
给文档加密 输入密码
6. 在一般模式下如何快速的把光标快速的向右或向左移动10个字符?
10 h 10 l
7. vim + filename 表示什么含义, vim +10 filename 将会发生什么?
打开filename这个文件 打开文件后 光标在第十行
8. 用vim打开一个文档后,我想让光标跳到第20行,怎么做?跳到最后一行怎么做?
20 gg 大G 或者 shift + g
9. vim 打开文档后,默认是不显示行号的,如何做让它显示行号?
:set nu
10. vim打开文档后,我想把20-50行中的第一个'abc' 替换为 'efg' 怎么操作?如果是想替换所有呢?
:20,50s/abc/def/ 后面加上g
11. vim打开文档后,如何快速删除前100行?
100dd
12. vim打开文档后,如何复制一行,并粘贴到第20行的下面?
yy 20k p
1. vi 与 vim 有什么区别呢,它们之间有什么关系?
答:vim包含vi的功能,vim可以显示颜色
2. 如何查看当前系统vim的版本?
答:version
3. 如果想把文档中出现的全部"abc"替换成"def"怎么做?又如何只替换每行中出现的第一个"abc"呢?
答::1,$s/abc/def ,替换每行第一个加上g
4. 当搜索某个关键词时,光标所定位的关键词所在的行是如何决定的?也就是说,光标是定位到最顶端出现的关键词的那行还是最底端关键词出现的那行,还是另外的情况?如果想从当前关键词移动到下一个关键词怎么操作?移动到上一个关键词又怎么操作?
答:
使用/搜索时候,按n键调到下一个关键词,按shift+n跳转到上一关键词
使用?搜索时候,按n键跳到上一个关键词,按shift+n跳转到下一关键词
5. 当编辑完文档后,按ESC进入命令模式,输入命令 :x 会怎么样?
答:也可以保存退出,与输入wq一样
6. 在一般模式下如何快速的把光标快速的向右或向左移动10个字符?
答:向右 6i 向左 6h
7. vim + filename 表示什么含义, vim +10 filename 将会发生什么?
答:打开文件名,打开文件并将光标定位到第10行
8. 用vim打开一个文档后,我想让光标跳到第20行,怎么做?跳到最后一行怎么做?
答:20G,调到最后一行输入G
9. vim 打开文档后,默认是不显示行号的,如何做让它显示行号?
答:set nu
10. vim打开文档后,我想把20-50行中的第一个'abc' 替换为 'efg' 怎么操作?如果是想替换所有呢?
答::20,50s/abc/efg/g
11. vim打开文档后,如何快速删除前100行?
答:将光标定位在第一行,然后输入 100dd
12. vim打开文档后,如何复制一行,并粘贴到第20行的下面?
答:先将光标定位在要复制的这一行,然后输入yy,在将光标定位到20行,然后输入p
1. vi 与 vim 有什么区别呢,它们之间有什么关系?答:vi是早期unix自带的文本编辑器,没有颜色区别,不便于程序员做开发 vim是1991年布莱姆.米勒从vi的基础升级而发布的,人性化,带有颜色区别。 vim跟vi的关系:可以这样理解vim是vi的升级版本2. 如何查看当前系统vim的版本?答:可以用命令:rpm -qa |grep vim 或者 vim --version3. 如果想把文档中出现的全部"abc"替换成"def"怎么做?又如何只替换每行中出现的第一个"abc"呢?全部替换:
:1,$s/abc/def/g
只替换每行中第一个出现的abc:
:1,$s/abc/def
4. 当搜索某个关键词时,光标所定位的关键词所在的行是如何决定的?也就是说,光标是定位到最顶端出现的关键词的那行还是最底端关键词出现的那行,还是另外的情况?如果想从当前关键词移动到下一个关键词怎么操作?移动到上一个关键词又怎么操作?答:两种情况:1、 /关键词 光标定位到最顶端出现的关键词 2、?关键词 光标定位到最底端出现的关键词 如果想从当前关键词移动到下一个关键词: /关键词,回车,按小写字母n 如果想从当前关键词移动到上一个关键词: ?关键词,回车,按小写字母n ?关键词,回车:如果光标所在行上面没有关键字的话 光标会移动到上一行或者上面最近的一行带有关键词上 /关键词,回车:如果光标所在行上面没有关键字的话 光标会移动到下一行或者下面最近的一行带有关键词上 ?关键词,回车;/关键词,回车:如果光标所在行上面有 关键字的话 光标在改行的关键词上5. 当编辑完文档后,按ESC进入命令模式,输入命令 :x 会怎么样?答:会保存退出,相当于:wq6. 在一般模式下如何快速的把光标快速的向右或向左移动10个字符?答:快速向右移动10个字符:10l 快速向左移动10个字符:10h7. vim + filename 表示什么含义, vim +10 filename 将会发生什么?答:vim + filename 表示:打开该文档且光标移动到该文档末行; vim +10 filename表示:打开该文档且光标移动到第十行8. 用vim打开一个文档后,我想让光标跳到第20行,怎么做?跳到最后一行怎么做?答:让光标移动到第20行: 20G 让光标移动到最后一行:G9. vim 打开文档后,默认是不显示行号的,如何做让它显示行号?答:可以输入: :set nu10. vim打开文档后,我想把20-50行中的第一个'abc' 替换为 'efg' 怎么操作?如果是想替换所有呢?答:替换第一个abc: :20,50s/abc/efg 替换所有abc: :20,50s/abc/efg/g11. vim打开文档后,如何快速删除前100行?答:快速删除100行: 100dd12. vim打开文档后,如何复制一行,并粘贴到第20行的后面?答:用命令: yy 复制需要复制的那行,然后输入 "20G"指定到第20行,最后按小写字母“P”粘贴即可。
编辑回复