VI编辑器的三种模式:命令模式、输入模式、末行模式。

1、命令模式:vi启动后默认进入的是命令模式,从这个模式使用命令可以切换到另外两种模式,同时无论在何种模式下,【Esc】键都可以回到命令模式。在命令模式中输入“i”,“insert”都可以进入输入模式编辑文件。
2、输入模式:在这个模式下,可以编辑、修改、输入等编辑工作,在编辑器最后一行显示一个“--INSERT--”标志着vi进入了输入模式。当我们完成修改输入等操作的时候我们需要保存文件,这是我们需要先返回命令模式,在进入末行模式保存。
3、末行模式:在命令模式输入“:”即可进入该模式,在末行模式中有很多好用的命令。

VI编辑操作:

进入输入模命令:

- i 插入命令
- a 附加命令
- o 打开命令
- c 修改命令
- r 取代命令
- s 替换命令
- Esc 退出命令

行号操作:

- :set nu 显示所有行号
- :nu 显示当前行号
- :m 定位到第m行

删除操作:(命令模式使用):

- x 删除光标处的单个字符
- dd 删除光标所在的行
- dw 删除当前字符到单词尾包括空格的所有字符
- *x 例如3x删除光标处向右的三个字符
- *dd 例如3dd从当前行开始向下删除三行文本

撤销操作:

- u 取消最近一次的操作,可以使用多次来恢复原有的操作
- U 取消所有操作
- Ctrl+R 可以恢复对使用u命令的操作

复制操作:

- yy 复制当前整行内容到vi缓冲区
- yw 复制当前光标所在位置到单词尾字符的内容到vi缓冲区,相当于复制一个单词
- y$ 复制光标所在位置到行尾内容到缓冲区
- y^ 复制光标所在位置到行首内容到缓冲区
- *yy 例如5yy就是复制5行
- #yw 例如2yw就是复制两个单词
- 如果要复制第m行到第n行之间的内容,可以在末行模式中输入m,ny例如5,8y复制第5行到第8行到缓冲区

查找和替换:

vi的查找和替换功能主要在命令模式下完成:

查找操作:

- 至上而下的查找
- / 要查找的字符串,其中/代表从光标的位置开始查找,例如:/work
- 至下而上的查找
- ?要查找的字符串,例如:?work

替换操作:

- :s/old/new 用new替换行中首次出现的old
- :s/old/new/g 用new替换行中所有出现的old
- :m,n s/old/new/g 用new替换从第m行到第n行中出现的old
- :%s/old/new/g 用new替换整编中出现的old
- 如果替换的范围较大时,在所有的命令尾加一个c命令,强制每个替换需要用户进行确认,例如:s/old/new/c或s/old/new/gc

恢复文件操作:

vi在编辑某一个文件时,会生成一个临时文件,这个文件以 . 开头并以.swp结尾。正常退出该文件自动删除,如果意外退出例如忽然断电,该文件不会删除,我们在下次编辑时可以选择以下命令处理:
- O 只读打开,不改变文件内容
- E 继续编辑文件,不恢复.swp文件保存的内容
- R 将恢复上次编辑以后未保存文件内容
- Q 退出vi
- D 删除.swp文件或者使用 vi -r 文件名 来恢复未保存的内容

Linux下 VI 编辑器操作的更多相关文章

  1. Linux下vi编辑器粘贴复制剪切功能

    RedHat 9.0 Linux下vi编辑器实现简单的粘贴复制剪切功能": 如果想把文件内的第三行内容黏贴到第十五行: 1.进入你的文件,(处于命令模式,而不是编辑模式) 2.将你的光标移到 ...

  2. linux下VI编辑器的使用

    一.VI编辑器简述       VI 编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界面,使它成了效率很高的文本编辑器.尽管在Linux上也有很多图形界面的编辑器可 ...

  3. linux下vi编辑器常用命令

    最近折腾云主机centOS,不得不接触到各种命令,特别是vi编辑器. 时常悔恨当时没好好听金老伯的linux课,导致现在操作命令用的十分生疏,甚至跳转行首行尾都要查一查才知道. 所以〒▽〒有了下面这篇 ...

  4. linux 下 vi 编辑器 使用

    命令模式(command mode).插入模式(Insert mode)和底行模式(last line mode) 1.进入插入模式 按「i」切换进入插入模式「insert mode」,按“i”进入插 ...

  5. Linux系统下vi编辑器的一些简单使用操作

    Linux系统安装vi编辑器 打开终端,输入: sudo apt install vim 然后输入Y等待安装即可 Linux系统下使用vi编辑器的使用 安装好vim后,终端中输入vim即可进入vim编 ...

  6. Linux 中 Vi 编辑器的简单操作

    Linux 中 Vi 编辑器的简单操作 Vi 编辑器一共有3种模式:命名模式(默认),尾行模式,编辑模式.3种模式彼此需要切换. 一.进入 Vi 编辑器的的命令 vi  filename //打开或新 ...

  7. Linux下vi替换字符命令操作实例

    在Linux下的开发中,经常涉及到对文件里的字符进行处理,当中,对字符的替换操作也是非常的频繁. 本文以一个实际的文件为例,具体介绍了Linux下经常使用的vi替换字符命令,为相关的开发工作提供给了參 ...

  8. linux下的shell操作mysql

    (1)MySQL的启动 重启了一次服务器后,使用> mysql -u root -p登陆是出现下面的错误: ERROR 2002 (HY000): Can't connect to local ...

  9. Linux启动vi编辑器时提示E325: ATTENTION解决方案

    Linux启动vi编辑器时提示E325: ATTENTION解决方案 Vi编辑器是Linux的文本编辑器,在Linux系统的运用非常广泛,不少朋友在打开Vi编辑器的时候提示E325: ATTENTIO ...

随机推荐

  1. 前台异步传过来的URL中获取token/获取string链接中的token

    1.链接例子: string url = "http://domainName:port/1/2/3/4.htm?sysCode=1001020&token=QXJzemR3YXlW ...

  2. MacOS python自动补全设置

    1. 新建python自动补全脚步 $ cd <workdir> $ touch tab.py $ vim tab.py,输入如下内容后保存 $ chmod +x tab.py #!/us ...

  3. Spring-cloud之Ribbon负载均衡的使用及负载均衡策略配置(与Eurka配合使用)

    什么是Ribbon,ribbon有什么用,个人先总结一下(不正确请提出讨论):Ribbon是基于客户端的负载均衡器,为我们提供了多样的负载均衡的方案,比如轮询,最小的并发请求的server,随机ser ...

  4. 单元测试模拟request后台

    编写测试单元 @RunWith(SpringJUnit4ClassRunner.class) 让测试运行于Spring测试环境 @WebAppConfiguration是一个类级别的注释,用于声明Ap ...

  5. 超详细Hexo+Github博客搭建小白教程

    原文链接:超详细Hexo+Github博客搭建小白教程 去年9月的时候开始搭建了第一个自己的独立博客,到现在也稍微像模像样了.很多小伙伴应该也想过搭建一个自己的博客,网上也有一堆详细教程.我在此稍稍总 ...

  6. react-native —— 在Mac上搭建React Native Android开发环境

    需要:JDK,Android SDK,Node.js   1.安装JDK 去Java官网下载列表选择Mac OS X x64版   2.安装Android SDK 虽然现在谷歌推荐使用Android ...

  7. [topcoder]TheConsecutiveIntegersDivOne

    http://community.topcoder.com/stat?c=problem_statement&pm=13625&rd=16278 首先,如果记得曼哈顿距离最小值那个问题 ...

  8. 新人学习微信小程序开发之框架篇

    大家好我是智哥,一名专注于前端领域的一名码农. 咱们今天主要来说说微信小程序, 最近一段时间微信群里的小程序,小游戏各种分享是突然一下子就爆发了,现在来看小程序作为微信的重磅功能无疑又是下一个风口.咱 ...

  9. PHP : url中出现乱码问题

    例子: 在html中,将数据传到url中 当我点击“提交回复”后,跳转页面中将显示: 我们获取这个参数: 但是由于传过来的参数是中文,url会进行自动的解析成二进制的代码,那我们后台接受到的数据是解析 ...

  10. April 8 2017 Week 14 Saturday

    Life is the art of drawing without an eraser. 人生如画,落笔无悔. Yesterday I watched a film from Japan, Afte ...