vi/vim系统编辑命令使用技巧
01前言
在Linux系统中会有很多的文件信息,这些文件的内容如果需要编辑,就必须借助vi或vim编辑命令。
vi是Linux命令行界面下的重要文字编辑器。vim是vi命令的增强版。
【语法格式】
vim [option] [file]
vim [选项] [文件或目录]
02 vim的三种模式
- 普通模式
用vim命令打开一个文件后,默认状态就是普通模式。在该模式中,不能进行编辑输入操作,但可以移动光标,也可以执行一些操作命令进行删除、复制、粘贴等工作。 - 编辑模式
在普通模式中,可以通过按i、I、o、O、a、A、r、R、s、S等字母进入编辑模式,进而可以执行录入文字等编辑操作。
确定文件是否处于编辑模式的状态有一个显著的特征,就是在窗口左下角有“--INSERT--”的标记。
- 命令模式
在普通模式下,输入:或/或?时,光标会自动定位在哪一行。再该模式中,可以执行保存、退出、搜索、替换、显示引号等相关操作。
03 vim快捷操作技巧
3.1 光标快速移动快捷方式
| 序号 | 操作技巧 | 解释说明 |
|---|---|---|
| ① | G | 快速切换光标到底行 |
| ② | gg | 快速切换光标到首行 |
| ③ | ngg nG (n为具体行数) |
快速切换光标到指定行 |
| ④ | 0 ^ |
切换光标到单行行首 |
| ⑤ | $ | 切换光标到单行行尾 |
3.2 快速编辑文本内容信息
| 序号 | 操作技巧 | 解释说明 |
|---|---|---|
| ① | yy | 复制单行内容 |
| ② | nyy (n为具体行数) |
复制多行内容 |
| ③ | p | 粘贴一次内容 |
| ④ | np (n为具体行数) |
粘贴多次内容 |
| ⑤ | dd | 删除一行内容(实际为剪切操作) |
| ⑥ | ndd (n为具体行数) |
删除多行内容(实际为剪切操作) |
| ⑦ | dG | 删除光标位置到最后一行所有内容 |
| ⑧ | : s#要替换的信息#替换成的信息s#g | 单行信息替换 |
| ⑨ | :n,n#要替换的信息#替换成的信息#g (n为行数区间) |
指定行信息替换 |
| ⑩ | :%s#要替换的信息#替换成的信息#g | 全文本替换 |
3.3 底层模式操作配置指令
| 序号 | 操作技巧 | 解释说明 |
|---|---|---|
| ① | :set nu | 显示文件内容行号 |
| ② | :set nonu | |
| ③ | u | 进行操作撤销 |
| ④ | CTRL+r | 取消操作撤销 |
| ⑤ | # | 单行注释 |
| ⑥ | ①CTRL+v ②移动光标 ③Shift+i ④# ⑤Esc |
批量注释 |
| ⑦ | ①CTRL+v ②移动光标 ③d |
批量取消注释 |
vi/vim系统编辑命令使用技巧的更多相关文章
- vi/vim基本使用命令
vi/vim基本使用命令 一.总结 一句话总结:1.记住三种模式:命令行模式.插入模式.底行模式:2.记住两个按键功能:i和esc 二.vi/vim基本使用命令 vi/vim 基本使用方法本文介绍了v ...
- vi/vim 光标移动命令(转载)
转载至:https://www.cnblogs.com/Jacklovely/p/6015037.html vi/vim 光标移动命令 移动光标上:k nk:向上移动n行 9999k或gg可以移到第一 ...
- vi/vim 光标移动命令
vi/vim 光标移动命令 移动光标上:k nk:向上移动n行 9999k或gg可以移到第一行 G移到最后一行下:j nj:向下移动n行左:h nh:向左移动n列右:l nl:向右移动n列 w:光标以 ...
- VIM编辑命令的技巧
vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v 从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束. V 从光标 ...
- $Linux vi/vim编辑器常用命令与用法总结 (Markdown编辑版)
vi/vim是什么? Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字编辑软件就能够轻松地修改系统的各种配置了,非常方便.vi ...
- Linux vi/vim编辑器常用命令与用法总结
(一)vi/vim是什么?Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字编辑软件就能够轻松地修改系统的各种配置了,非常方便. ...
- Linux环境下vi/vim编辑器常用命令
使用vi文本编辑器 配置文件是Linux系统中的显著特征之一,其作用有点类似于Windows系统中的注册表,只不过注册表是集中管理,而配置文件采用了分散的自由管理方式.那么如何使用Linux字符操作界 ...
- vi/vim 查找替换命令
vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询. :s/vivian/sky/ 替换当前行第一个 vivian ...
- vi/vim复制粘贴命令
1. 选定文本块.使用v进入可视模式,移动光标键选定内容. 2.复制的命令是y,即yank(提起) ,常用的命令如下: y 在使用v模式选定了某一块的时候,复制选定块到缓冲区用: ...
随机推荐
- html基础:css样式1
h't'm'l中用到css样式有三种方式: 1.在header中增加style标签,在style标签中写 2.用link标签引用css样式文件 3.在需要使用css样式的标签添加style属性 一.在 ...
- 藏在Java数组的背后,你可能忽略的知识点
目录 引言 概念 区别于C/C++数组 区别于容器 数组特性 随机访问 Java数组与内存 解惑 数组的本质 Java中的数组是对象吗? Java中数组的类型 Java中数组的继承关系 参考资料 引言 ...
- oracle之二数据库审计
数据库审计audit(PPT-I-320-334) 13.1 审计的功能:监控特定用户在database 的action(操作) 13.2 审计种类: 1)标准数据库审计(语句审计.权限审计.对象审计 ...
- [LeetCode]196. 删除重复的电子邮箱(delete)
题目 编写一个 SQL 查询,来删除 Person 表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个. +----+------------------+ | Id | Email | ...
- Linux 系统中环境变量/etc/profile、/etc/bashrc、~/.bashrc的区别
/etc/profile./etc/bashrc.~/.bashrc的区别 1> etc目录下存放系统管理和配置文件 (系统配置) etc/profile: profile为所有的用户 ...
- 尚硅谷阳哥JVM笔记
JVM体系结构 类加载器(快递员): 只负责加载java文件,编译后的class文件在文件开头有特定的文件表示,将class文件字节码内容从硬盘加载到JVM内存中并将这些内容转换成方法区的运行时数据结 ...
- 升级微服务架构1:搭建Eureka Server服务中心
Spring Cloud中使用Eureka来做服务注册和发现,来统一管理微服务实例. 1.使用IDEA创建一个空的Maven项目做父模块 (也可以不用父项目,所有模块都用平行结构) 删除父模块src文 ...
- kali上密码工具使用例如mudusa,hydra等
思路 各种密码类别大致数学原理 https://blog.csdn.net/carol980206/article/details/96705859 https://www.jianshu.com/p ...
- ABP VNext从单体切换到微服务
注:此处的微服务只考虑服务部分,不考虑内外层网关.认证等. ABP VNext从单体切换到微服务,提供了相当大的便利性,对于各模块内部不要做任何调整,仅需要调整承载体即可. ABP can help ...
- 基于gis的系统开发,程序运行出现问题 ArcGIS product not specified.You must first bind to an ArcGIS version prior to using any ArcGIS components.
在之前初始化的时候添加下面的一行代码:ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);还需要添加一个引 ...