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. DOS常见命令

    dir: 显示一个目录中的文件和子目录 md: 创建目录 rd: 删除目录 cd: 进入指定目录 cd..: 退回到上级目录 cd\: 退回到根目录 del: 删除文件 set: 显示.设置.删除cm ...

  2. JQuery Dialog对话框 不能通过Esc关闭

    背景:想通过Esc键关闭展示中的Dialog对话框,发现有些对话框可以,有些会失效. 原因分析: 1.对话框上可以输入内容的标签元素可以,反之不行. 2.如果鼠标点击对话框后,也可以Esc键关闭. 可 ...

  3. html 01前沿-web介绍

    1. 认识网页 网页主要由文字.图像和超链接等元素构成.当然,除了这些元素,网页中还可以包含音频.视频以及Flash等. 2. 浏览器(显示代码) 浏览器是网页显示.运行的平台,常用的浏览器有IE.火 ...

  4. CSS实现多重边框和内凹圆角

    CSS实现多重边框 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=&q ...

  5. Java1.7新特性

    1.switch语句支持字符串变量 public String getTypeOfDayWithSwitchStatement(String dayOfWeekArg) { String typeOf ...

  6. php中的curl_multi的应用(php多进程)

    相信许多人对PHP手册中语焉不详的curl_multi一族的函数头疼不已,它们文档少,给的例子 更是简单的让你无从借鉴,我也曾经找了许多网页,都没见一个完整的应用例子. curl_multi_add_ ...

  7. Ubuntu小工具

    更好的工具 更多的界面风格: https://github.com/anmoljagetia/Flatabulous 更丰富的终端zsh: https://github.com/robbyrussel ...

  8. ring0 暴力枚举进程

    原理:遍历进程ID,然后openprocess,能打开的都枚举出来 ring0 : #include "EnumProcessByForce.h" extern char* PsG ...

  9. String Painter, Chengdu 2008, LA4394

    题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...

  10. Python 类的高级属性(可选)

    1.slots实例:限制类的实例有合法的属性集,只有__slots__属性列表中的属性才可能成为实例属性. 对象的实例通常没有一个属性字典,可以在__slots__列表中包含一个属性字典__dict_ ...