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. windows远程连接Mac、Mac远程连接Mac、Mac连接Windows

    最近因为要进行学习交流,需要用到远程连接,所以找了三种不同的方式,记录如下 1.Windows远程连接Mac 1.mac os x电脑设置 系统偏好设置-共享-勾选“远端管理”,然后在电脑设置—VNC ...

  2. Android基础Activity篇——Intent

    1.显式的Intent intent是用来各各活动之间切换的,还可以用来传递参数. 项目还是使用之前创建的ActivityTest项目,这里新建一个活动SecondActivity.java,并且勾选 ...

  3. 【MATLAB】画信号频谱的子函数

    输入信号序列和采样率,该子函数可以画出该信号的频谱图. function [f,spec,NFFT]=spec_fft_plot(sample,L,Fs) % 输入数据说明: % sample:信号序 ...

  4. Python基础学习之文件(2)

    文件内建方法 1.输入 read()方法用来直接读取字节到字符串中,最多读取给定数目个字节.如果没有给定size参数(默认值为-1)或size值为负,文件将被读取直至末尾. readline()方法读 ...

  5. IOS http协议 总结

    HTTP协议1.面试题常见:聊一下HTTP协议(协议的完整的通信过程) ============================================================ 一.一 ...

  6. 1.06 在WHERE子句中引用取别名的列

    如下查询,会抛出错误: mysql> select sal as salary, comm as commission from emp where salary < 5000;ERROR ...

  7. 使用selenium grid与BrowserMobProxyServer联合使用

    背景:项目主要是做埋点数据,要使用 BrowserMobProxyServer,它相当于做一个代理,在你访问一个网页时,通过代理,获取打开网页的数据,对比你需要对比数据,所以这个工具提供获取页面请求的 ...

  8. 找子串替换(kmp)poj1572

    题目链接:http://poj.org/problem?id=1572 输入数据时要注意,这里是string型 用getline(cin,origin[i]); #include <string ...

  9. 利用python中的PIL进行矩阵与图像之间的转换

    1.图像转换为矩阵 matrix = numpy.asarray(image) 2.矩阵转换为图像 image = Image.fromarray(matrix)

  10. 【PC-x86-x64】JDK 32bit与64bit的区别及x64 PC的发展历程【转】

    一次偶然分析的机会: 在进行Minecraft也就是所谓的我的世界游戏的时候,在对局域网进行开放的时候,我的是64bit的JDK,而我同学的是32bit的JDK,所以在进行局域网链接的时候就会出现In ...