linux中的vi和vim编辑器操作方法

所属分类: 脚本专栏 / linux shell 阅读数: 1283
收藏 0 赞 0 分享

vi:linux内部的文本编辑器;vim:vi的增强版,具有程序编辑的能力。

vi和vim的三种常见模式:

(1)正常模式(一般模式):vim一打开就是这种模式,此模式下可以使用各种快捷键,比如复制粘贴、移动光标、删除整行等操作

(2)编辑模式(插入模式):此模式下可以输入内容,通过i,I,o,O,a,A,r,R等进入到此模式,不过最常用是使用i(insert)。

(3)命令行模式:在此模式下可以完成读取、存盘、替换、显示行号等一些操作。

三种模式的相互转换如下图:(图源来自韩顺平老师上课笔记)

演示一个实例:写一个hello.py的python脚本

在命令行输入:vim hello.py,此时会进入一般模式,但是需要向里面写入内容,需要转化到插入模式,按i即可。最后写入自己的文件内容。

最后我们需要保存并退出的时候,需要切换到命令行模式,方法是:键盘左上角ESC,然后输入   :wq(写入并退出)

:q!(退出但不保存刚才写入的内容)      :q(已经修改但并未保存)

如此这般,下次再想编辑这个文档,就可以再次使用vim + 文件名称的方式。

vim的快捷键使用:

(1)拷贝:yy 是拷贝当前行,5yy是拷贝当前光标下的5行,最后粘贴是 p。

(2)删除:dd是删除当前行,5dd是删除当前光标下的5行。

(3)查找:命令行下面输入/关键字即可,比如     /hello        ,回车即可查找,输入n就是查找下一个的意思!

(4)设置和取消行号:命令行下输入   :set nu  (设置行号)或者  :set nonu(取消行号)

(5)到达文档的首行或者尾行:正常模式下     G是到达最末行,gg是到达首行。

(6)撤销:正常模式输入  u。

(7)快速定位到某一行:a.首先要显示行号  (:set nu)    b.输入定位的行号   c.输入shift+g

以上所述是小编给大家介绍的linux中的vi和vim编辑器操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

更多精彩内容其他人还在看

Shell脚本中计算字符串长度的5种方法

这篇文章主要介绍了Shell脚本中计算字符串长度的5种方法,来自于个人Shell脚本长期的开发经验,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本实现把进程负载均衡到多核CPU中

这篇文章主要介绍了Shell脚本实现把进程负载均衡到多核CPU中,可以把进程指定运行在某个CPU中,需要的朋友可以参考下
收藏 0 赞 0 分享

5个Shell脚本编程入门练习例子

这篇文章主要介绍了5个Shell脚本编程入门例子,涵盖了各种操作,又有一些游戏的性质,作为入门练习例子是不很不错的,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell脚本编程中常用的数学运算实例

这篇文章主要介绍了Shell脚本编程中常用的数学运算实例,包含最基本的加减乘除,还有质数、偶数的判断等,需要的朋友可以参考下
收藏 0 赞 0 分享

5个实用的shell脚本面试题和答案

这篇文章主要介绍了5个实用的shell脚本面试题和答案,给出的脚本堪称编码规范,麻雀虽小,异常处理,友好提示,一应俱全,值得学习,需要的朋友可以参考下
收藏 0 赞 0 分享

使用bash shell删除目录中的特定文件的3种方法

这篇文章主要介绍了使用bash shell删除目录中的特定文件的3种方法,分别为扩展模式匹配符、GLOBIGNORE 变量和find 命令,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell获取文件的文件名和扩展名的例子

这篇文章主要介绍了Shell获取文件的文件名和扩展名的例子,简明版的代码实例,看了就懂,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell多线程操作及线程数控制实例

这篇文章主要介绍了Shell多线程操作及线程数控制实例,文中从单线程实现一个需求开始,不断加入代码实现多线程以及线程数的控制功能,需要的朋友可以参考下
收藏 0 赞 0 分享

阿里云主机一键安装lamp、lnmp环境的shell脚本分享

这篇文章主要介绍了阿里云主机一键安装lamp、lnmp环境的shell脚本分享,需要的朋友可以参考下
收藏 0 赞 0 分享

shell脚本转发80端口数据包给Node.js服务器

开发基于Node.js的WEB应用很方便,但是服务端口问题很蛋疼,由于Linux内核规定普通用户只能使用大于1024的端口号,所以使用普通用户运行Node.js服务就不能监听80端口
收藏 0 赞 0 分享
查看更多