vi或vim是linux下非常强大,使用非常普遍的一个全屏幕文本编辑器,vim是vi的高级版本。
多数的linux操作系统都自带vi编辑器。可见其强大与普遍。
下面我们就来学习一下这个神秘的文本年编辑器,网上有人说它很复杂,让我们pai不急待的开始吧。
提示:vi下没有菜单,只有命令。
首先要讲的是vi的三种模式:
- 命令行模式【有的管这个叫编辑模式或者最后一行模式】
- 命令模式
- 插入模式
其实命令行模式和命令模式的唯一区别就是命令是否可见。命令模式下我们看不到我们输入的命令,命令行模式下我们可以看见我们的命令。
因此有的也将vi分为命令模式和插入模式两个模式。
三种模式的切换方式如下图【非常重要】
对于上面的图,我们简单的解释一下,
- 当我们用vi file打开一个文件的时候,默认进入的模式就是命令模式,在这个模式下所敲的键盘上的任何字符都是命令(当然不存在的命令是不会被执行的)
- 当在命令行模式下敲了 I、i、A、a、O、o 任何一个键,就会进入插入模式。他们的不同意义我们稍后再详解,在插入模式中我们可以编辑我们的文本。
- 插入模式下按ESC键回到命令模式。(ESC键在我们的linux系统中用的非常的频繁)
- 命令模式键入冒号,就进入命令行模式,在命令行模式下可以输入好多编辑命令,稍后详解,输入编辑命令后回车即可回到命令模式。
- 命令行模式下输入“:q!”或者“ :wq”即可退出vi。
下面开始详细学习一下几个重要的知识点。
插入命令:
- i 小写的i在光标前插入文本
- I 大写的i在光标后插入文本
- a 小写的a在光标后附加文本
- A 大写的A在行末添加文本
- o 在光标下插入新行
- O 在光标上插入新行
插入命令中我们一直没离开光标这个词,那我们怎么移动光标呢,看下面的图我们就知道了。
注意上面的命令都是在命令模式下才有用。
上述的khjl均属于移动命令,定位命令,具体的总结如下:
定位命令:
- h 向左移动光标
- j 向下移动光标
- l 向右移动光标
- k 向上移动光标
- $ 光标移动到行尾
- 0 光标移动到行首
- H 移动到屏幕的顶部
- M 移动到屏幕的中间
- L 移动到屏幕的底端
上面的定位命令都比较简单,或者说移动的范围都是本屏幕内。下面的则更强大。
- :set nu ,设置显示行号,:set nonu表示不显示行号。
- gg 到文本的第一行
- G 到文本的最后一行
- nG 到第n行
- :n 到第n行(建议大家使用这个)
删除命令:
vi中的删除命令,除了在插入模式中直接使用退格来操作外,还有大量实用的命令。
- x 删除当前字符,即光标所在的位置
- nx 删除光标后面多n个字符。
- dd 删除光标所在行
- dG 删除光标所在行到末尾的内容
- :n1,n2d 删除n1 到 n2的行。
复制黏贴命令:
vi对复制粘贴支持的也非常不错,具体如下:
- yy、Y 复制当前行
- nyy、nY 复制当前行下面n行
- dd 剪切当前行
- ndd 剪切当前行下面n行
- p、P粘贴光标所在行下或者行上。
替换命令:
- r 替换光标所在处的命令,按完r后直接输入要替换的命令既可以,直后按esc
- R 替换光标及以后的字符,esc结束。
撤销命令:
vi中的撤销命令是u(undo),其中vi可以撤掉一次,vim可以撤掉多次。
相关推荐
亦步亦趋的代码移植——从Linux到Windows的代码移植.pdf
亦步亦趋也是个问题.doc
主板芯片组与CPU的亦步亦趋.pdf
本书是在“思想方法学”这一软件工程尚未涉足过的领域中的实习之作。 在缺乏独立思维、对国外工程理论亦步亦趋的国内工程界、开发业界,该书无疑是一份激荡新思的佳作。 本书是第一本讨论软件工程思想本源的书籍,也...
用户可以通过飞机票订购系统选择自己要去的目的地,选择一个时间合适价格优惠的航班,开始轻松愉快之旅,做到对旅客同志们的多放心,航空公司可以挺过这款系统,赚取票价利益,时刻发布最新航班信息,让旅客不到飞机...
如果技术人员有发展的轨迹,那么他要么“看透工具的本质,把关注点转移到‘团队’的圈子里去”,要么“顺着代码铺就的道路,亦步亦趋地成为良匠大师”。仅以技术方向而言,你大概可以做到架构师、总架构师甚至首席...
这是一个我用业余时间,慢慢打磨的项目,几乎所有的编程工作都会以B站 / 的形式共享出来,所以你会看到一个程序员亦步亦趋编写代码的全过程,故而命名为Geekwalk 反向代理服务器,在实际项目中主要扮演网关——...
人们在自己的工作中和处理问题时,应该像一个成熟的成年人一样,因此它并不涉及具体的软件开发技术和人员沟通、期望管理、问题冲突等管理技能,这些都需要其他相关理论和技能来补充。来自英式橄榄球运动,本质含义...
尽管两书所涉及领域完全不同,但却有着完全一致的目标,即希望在数学和工程之间架设一座可以自如跨越的桥梁。对于数学重点在于领会思想,理解概念;而对于工程则在于建好模型,善于应用。复数理论从跟着实数亦步亦趋...
简单的Access入门教程,适合零基础人员学习,浅显易懂,亦步亦趋,不错的教程
最快速的c语言调用mysql的教程,亦步亦趋,可以在最短时间链接mysql与c语言的关系,其中内容包括怎么样用c语言插入,更新,删除mysql的数据表,并且在范例中有select出mysql的数据并且打印显示出来!!非常简明易懂...
2011 年8 月31 日,索尼、东芝和日立三家公司宣布...本面板企业此次整合对于一直尾随在外资其后,亦步亦趋的中国面板商而言,无疑带来很 大冲击。要提高在面板市场的实力,大陆面板企业应通过战略联盟,确保技术能力
不管你现在的编程技能有多么的高超,曾经你也是个亦步亦趋,不断的学习的初学者。在编程这条曲折的道路上,我想你肯定犯过一些低级的错误、遇见过一些普通的编码陷阱。本文作者跨越多个语言,为大家总结了20条...