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. tcp建立连接为什么需要三次握手和四次挥手

    前言 众所周知tcp传输层协议在建立连接的时候需要三次才能建立起一个真正的可靠连接,可是为什么是三次呢,不可以是两次,四次等等呢,可以自己思考一番,带着疑问可以看下文. 三次握手 在<计算机网络 ...

  2. 面向对象--有参数的__init__方法

    有参数的__init__()方法 class Hero(object): """定义了一个英雄类,可以移动和攻击""" def __init ...

  3. Vue和d3.js(v4)力导向图force结合使用,v3版本升级v4【一】

    前段时间因为参与项目涉密,所以一直没有更新博客,有些博友给我私信或者留言要部分博文的源码,因为我的电脑更换,demo的源码没有备份 所以无法提供.大家可针对具体问题问我,有空我定会回复的.另外转发文章 ...

  4. matplotlib | Python强大的作图工具,让你从此驾驭图表(二)

    今天是数据处理专题的第10篇文章,我们继续来聊聊matplot这个工具库. 在上周的文章当中我们介绍了matplot的基本用法,以及展示了一些简单的例子,让大家直观地了解这个工具包.我们可以简单地将它 ...

  5. 基于JavaScript的表格设计:按序添加或删除班级的学生信息

    目的: 制作一个表格,显示班级的学生信息 功能: 鼠标移到不同行,背景色发生改变,离开恢复原背景色 添加.删除按钮,可添加,可删除. 程序流程: 首先先建立绑定事件函数. 其次建立鼠标移动改变背景色函 ...

  6. 深入理解python语言

    2008年,安卓操作系统诞生:PC时代向移动时代转换 互联网,视窗 2017/5/27柯洁最终0:3AlphaGo 计算机技术的演进过程 不同编程语言的设计初心和适用对象 C语言核心解决的是性能问题, ...

  7. RXJAVA之聚合操作

    concat 按顺序连接多个Observables.需要注意的是Observable.concat(a,b)等价于a.concatWith(b). startWith 在数据序列的开头增加一项数据.s ...

  8. 机器学习可解释性系列 - 是什么&为什么&怎么做

    机器学习可解释性分析 可解释性通常是指使用人类可以理解的方式,基于当前的业务,针对模型的结果进行总结分析: 一般来说,计算机通常无法解释它自身的预测结果,此时就需要一定的人工参与来完成可解释性工作: ...

  9. 手把手教你ASP.NET Core:使用Entity Framework Core进行增删改查

    新建表Todo,如图 添加模型类 在"解决方案资源管理器"中,右键单击项目. 选择"添加" > "新建文件夹". 将文件夹命名为 Mo ...

  10. pytorch和tensorflow的爱恨情仇之张量

    pytorch和tensorflow的爱恨情仇之基本数据类型:https://www.cnblogs.com/xiximayou/p/13759451.html pytorch版本:1.6.0 ten ...