01前言

在Linux系统中会有很多的文件信息,这些文件的内容如果需要编辑,就必须借助vi或vim编辑命令。

vi是Linux命令行界面下的重要文字编辑器。vim是vi命令的增强版。

【语法格式】

vim [option] [file]
vim [选项] [文件或目录]

02 vim的三种模式

  1. 普通模式

    用vim命令打开一个文件后,默认状态就是普通模式。在该模式中,不能进行编辑输入操作,但可以移动光标,也可以执行一些操作命令进行删除、复制、粘贴等工作。
  2. 编辑模式

    在普通模式中,可以通过按i、I、o、O、a、A、r、R、s、S等字母进入编辑模式,进而可以执行录入文字等编辑操作。

    确定文件是否处于编辑模式的状态有一个显著的特征,就是在窗口左下角有“--INSERT--”的标记。
  3. 命令模式

    在普通模式下,输入:/?时,光标会自动定位在哪一行。再该模式中,可以执行保存、退出、搜索、替换、显示引号等相关操作。

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系统编辑命令使用技巧的更多相关文章

  1. vi/vim基本使用命令

    vi/vim基本使用命令 一.总结 一句话总结:1.记住三种模式:命令行模式.插入模式.底行模式:2.记住两个按键功能:i和esc 二.vi/vim基本使用命令 vi/vim 基本使用方法本文介绍了v ...

  2. vi/vim 光标移动命令(转载)

    转载至:https://www.cnblogs.com/Jacklovely/p/6015037.html vi/vim 光标移动命令 移动光标上:k nk:向上移动n行 9999k或gg可以移到第一 ...

  3. vi/vim 光标移动命令

    vi/vim 光标移动命令 移动光标上:k nk:向上移动n行 9999k或gg可以移到第一行 G移到最后一行下:j nj:向下移动n行左:h nh:向左移动n列右:l nl:向右移动n列 w:光标以 ...

  4. VIM编辑命令的技巧

    vim 选择文本,删除,复制,粘贴   文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v    从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束. V    从光标 ...

  5. $Linux vi/vim编辑器常用命令与用法总结 (Markdown编辑版)

    vi/vim是什么? Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字编辑软件就能够轻松地修改系统的各种配置了,非常方便.vi ...

  6. Linux vi/vim编辑器常用命令与用法总结

    (一)vi/vim是什么?Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字编辑软件就能够轻松地修改系统的各种配置了,非常方便. ...

  7. Linux环境下vi/vim编辑器常用命令

    使用vi文本编辑器 配置文件是Linux系统中的显著特征之一,其作用有点类似于Windows系统中的注册表,只不过注册表是集中管理,而配置文件采用了分散的自由管理方式.那么如何使用Linux字符操作界 ...

  8. vi/vim 查找替换命令

    vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询.    :s/vivian/sky/ 替换当前行第一个 vivian ...

  9. vi/vim复制粘贴命令

    1. 选定文本块.使用v进入可视模式,移动光标键选定内容. 2.复制的命令是y,即yank(提起) ,常用的命令如下:     y      在使用v模式选定了某一块的时候,复制选定块到缓冲区用:   ...

随机推荐

  1. html基础:css样式1

    h't'm'l中用到css样式有三种方式: 1.在header中增加style标签,在style标签中写 2.用link标签引用css样式文件 3.在需要使用css样式的标签添加style属性 一.在 ...

  2. 藏在Java数组的背后,你可能忽略的知识点

    目录 引言 概念 区别于C/C++数组 区别于容器 数组特性 随机访问 Java数组与内存 解惑 数组的本质 Java中的数组是对象吗? Java中数组的类型 Java中数组的继承关系 参考资料 引言 ...

  3. oracle之二数据库审计

    数据库审计audit(PPT-I-320-334) 13.1 审计的功能:监控特定用户在database 的action(操作) 13.2 审计种类: 1)标准数据库审计(语句审计.权限审计.对象审计 ...

  4. [LeetCode]196. 删除重复的电子邮箱(delete)

    题目 编写一个 SQL 查询,来删除 Person 表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个. +----+------------------+ | Id | Email | ...

  5. Linux 系统中环境变量/etc/profile、/etc/bashrc、~/.bashrc的区别

      /etc/profile./etc/bashrc.~/.bashrc的区别   1> etc目录下存放系统管理和配置文件 (系统配置) etc/profile:  profile为所有的用户 ...

  6. 尚硅谷阳哥JVM笔记

    JVM体系结构 类加载器(快递员): 只负责加载java文件,编译后的class文件在文件开头有特定的文件表示,将class文件字节码内容从硬盘加载到JVM内存中并将这些内容转换成方法区的运行时数据结 ...

  7. 升级微服务架构1:搭建Eureka Server服务中心

    Spring Cloud中使用Eureka来做服务注册和发现,来统一管理微服务实例. 1.使用IDEA创建一个空的Maven项目做父模块 (也可以不用父项目,所有模块都用平行结构) 删除父模块src文 ...

  8. kali上密码工具使用例如mudusa,hydra等

    思路 各种密码类别大致数学原理 https://blog.csdn.net/carol980206/article/details/96705859 https://www.jianshu.com/p ...

  9. ABP VNext从单体切换到微服务

    注:此处的微服务只考虑服务部分,不考虑内外层网关.认证等. ABP VNext从单体切换到微服务,提供了相当大的便利性,对于各模块内部不要做任何调整,仅需要调整承载体即可. ABP can help ...

  10. 基于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);还需要添加一个引 ...