vi是一种广泛应用于Unix和Linux上的文本编辑器,有时也称为模式编辑器,因为不同的按键会更改不同的编辑模式并产生相应的操作。
vi的几种常用工作模式:
1、Insert Mode(插入模式)
启动vi程序后,按“i”进入插入模式,也就是可以对文档进行编辑了,比如我们需要编辑一个名为test的文件,直接输入vi test就可以启动并开始编辑,按一下“i”即可写入内容
插入模式下,屏幕左下角会有“INSERT”文字提示,表示当前为Insert Mode
插入模式下的常用操作
  • “i”在当前光标处插入内容
  • “I”在当前行首插入内容
  • “a”在当前光标后一个字符插入内容
  • “A”在当前行尾插入内容
  • “o”在当前行下方另起一行并开始插入内容
  • “O”在当前行上方另起一行并开始插入内容
2、Ex Mode(末行模式)
通常在这种模式下做文件保存和程序退出等操作,要进入这种模式,首先需要退出插入模式,然后输入“:”,后面追加不同的字母代表不同的操作
比如现在我编辑完了test文件的内容,需要将刚做的操作保存
  • 按“Esc”键退出插入模式
  • 输入“:”进入末行模式
  • 输入“w(仅保存)”,然后回车
  • 或者可以直接输入“wq(保存并退出)”,一次就操作完成保存文档和退出程序
末行模式会在屏幕最下方以“:”开头
末行模式下的常用操作
  • “w”保存更改到磁盘
  • “w filename”保存文件为指定名称
  • “wq”保存并退出vi
  • “q!”不做保存并退出vi
  • “wq!”对于只读属性的文件强制保存并退出vi
3、Command Mode(命令模式)
vi的默认模式便是命令模式,该模式下可以做诸如定位光标(按字符、按词、移动到某行、文档首/尾)、复制/粘贴等操作,命令模式下屏幕下方无任何提示,直接将键盘输入解释为相应操作命令并执行
命令模式下的常用操作
  • “5+right_arrow”从光标处定位到向右第5个字符
  • “gg”从光标处定位到首行
  • “G”从光标处定位到末行
  • “xG”调制某行
  • “y$”复制当前光标处至行尾
  • “yy”复制当前行
  • “nyy”向下复制n行
  • “p”粘贴
  • “dd”删除当前行
  • “u”撤销前次操作
  • “ctrl+r”重做前次操作
在一些UNIX系统上,vi的光标定位按键可能与Linux下不太一样,比如linux下面是用上下左右四个方向键来控制光标,而UNIX下是用“h(左)j(下)k(上)l(右)”,貌似是由于早期的键盘只有主键区,没有方向键和小键盘,所以做了这样的keymap设定
vim是从vi基础上发展出来的一个功能更为强大的文本编辑器,全称为“Vi IMproved”,包括支持语法高亮、编译及错误跳转等方便编程的功能(不过我不太用的上,编程基础差^_^)
我个人用得最多的功能实际上就是语法高亮,在编辑一些配置文件时非常好用,帮助你实时检查输入正确性,但是通常我们在启动vi编辑器的时候并不带语法高亮,需要简单设置一下
假设已经装好了vim-X11、vim-common、vim-enhanced这几个包,先用vi编辑/etc/bashrc(当然编辑自己主目录下的.bashrc也行,只对当前用户生效),在最后一行添加程序别名设置,然后使该全局配置文件生效就可以了
alias命令用来设置别名
source命令使配置文件生效
加上颜色高亮后,是不是友好并醒目了很多?
再介绍vim几个简单的高级编辑应用
在命令模式下
搜索
“/keyword”从光标处向文件尾搜索关键字
“?keyword”从光标处向文件首搜索关键字
完成搜索后vi会将所搜索的关键字做高亮显示,可以用“n/N”来向下/向上定位光标至邻近的关键字位置
替换
只介绍一下全文替换吧
在末行模式下输入“%s/keyword1/keyword2/g”,确定后,该命令会将文档中所有的keyword1替换为keyword2,那上面的文件/etc/fstab做个测试,需要把所有的LABEL替换成test(不要保存啊,要不然系统就无法启动了)
修改完后,屏幕下面会提示,一共改了4行中的4处
这时已经可以看到,test的底色为红色,意为警告,有语法错误,嗯……功能不错
其实vi或vim还有很多操作,我就不一一介绍了,这玩意儿得多用多练,才能体会得到程序功能的强大
提供一幅vi操作指令图片的附件,1440x900分辨率,直接设置为宽屏显示器壁纸,随时用随时看
本文部分内容参考了http://zh.wikipedia.org/wiki/Vim中关于vim的介绍

转载于:https://blog.51cto.com/wangwenbo/224059

RH033 Unit 9 vim: An Advanced Text Editor相关推荐

  1. 跟我一起学习VIM - The Life Changing Editor

    前两天同事让我在小组内部分享一下VIM,于是我花了一点时间写了个简短的教程.虽然准备有限,但分享过程中大家大多带着一种惊叹的表情,原来编辑器可以这样强大,这算是对我多年来使用VIM的最大鼓舞吧.所以分 ...

  2. html+txt+编辑器,txtPro Text Editor

    txtPro Text Editor是一款文本编辑器,也是一款多语言代码编辑器.html编辑器.多样化的编辑器,你可以选择需要的代码效果,选择你喜欢的字体编辑.txtPro还附带了键盘快捷方式,并正确 ...

  3. Java Code Geeks通过Twitter赠送了免费的Sublime Text Editor许可

    正在与您的重量级编辑斗争? 然后,我们特别为您准备了一些东西! 我们正在举办比赛,免费赠送 kick-ass Sublime Text Editor 许可证 . Sublime Text是用于代码,标 ...

  4. 【Python CheckiO 题解】Text Editor

    CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...

  5. sublime text_Sublime Text Editor赠品报告和获胜者

    sublime text We had Sublime Text Editor Giveaway going on here, now it's ended and we are here to pr ...

  6. HTML Text Editor

    2019独角兽企业重金招聘Python工程师标准>>> HTML Text Editor 实现了基于 WebView 上的 CKEditor 编辑器的功能. 转载:http://ww ...

  7. Dynamics 365 New Feature之Rich Text Editor Control

    在Dynamics 365(CRM)中富文本的编辑一直是刚需,之前都是通过自定义的方式引入富文本功能,现在MS已经引入了该控件. 该控件支持文本,当然因为single text字数有限,一般都会选择m ...

  8. Download EditPlus Text Editor

    突然发现EditPlus还是很强大的,很好用,破解也很方便,有个牛人做了在线生成验证码,只能说服!! 下边把官网的最新下载地址贴出,当然还有在线生成验证码喽. EditPlus Text Editor ...

  9. 解决vim E492 Not an editor command M

    问题描述 今天修改了一下实验室服务器的vim配置文件,直接将windows下的vim配置文件_vimrc拷贝到了服务器上,重命令为.vimrc,本指望实现共用配置文件.但在启动vim时却报了Not a ...

最新文章

  1. 零基础学习java,这些书一定要看!
  2. assertThat的使用方法
  3. 关联tomcat源代码
  4. iOS实现自定义的弹出视图(popView)
  5. spark ui的访问地址_Spark篇之HA集群搭建
  6. 原生Get请求和Post请求
  7. P5952-[POI2018]水箱【最小生成树】
  8. linux+oracle磁盘空间,Linux下Oracle软件、数据文件等所在的磁盘分区空间不足的解决思路...
  9. html相同标签替换,html替换把多有标签替换成p标签
  10. 编程语言python怎么读-网红编程语言Python将纳入高考你怎么看?
  11. mysql所选路径已经存在_MySQL 入门知识(下) | 周末送资料
  12. 使用ORL人脸库,通过GRNN网络和HOG特征提取的人脸识别算法matlab仿真
  13. JS之 解决fakepath问题,并实现base64图片上传(单图上传)
  14. 工程经济—利润和所得税费用
  15. php调用itunes,使用cURL和PHP检索iTunes App Store XML
  16. 【Java安全技术探索之路系列:Java可扩展安全架构】之八:JCP(一):JCP架构介绍
  17. Embedded Browser WindowsPC内嵌网页
  18. 图解java虚拟机_分享java虚拟机原理图解
  19. 电气阀门定位器调试方法
  20. php 工资条系统下载,发工资条软件

热门文章

  1. XamarinSQLite教程在Xamarin.Android项目中提取数据库文件
  2. Xamarin.Android编译CPU类型选择方式
  3. 手机充值接口 php,首信易支付,话费充值接口
  4. mocha 测试 mysql_mocha 的基本用法 istanbul 生成测试覆盖率报告 mockjs 模拟网络请求...
  5. lol12月25服务器维护,lol12月10日维护到几点 英雄联盟12月10日10.25版本更新维护时间...
  6. 数据结构 排序 java_Java数据结构之排序---希尔排序
  7. 人刚毕业,在小米造狗没有KPI,雷军奖励100万美金
  8. 今年双11,200所大学快递无人送
  9. 2021年度中国计算机大会的技术论坛,值得一谈
  10. 俄罗斯黑客收到500万美元赎金!美国燃油管道商认怂,民众为抢汽油大打出手...