1. vi/vim编辑器详细使用讲解

1.1 vi/vim编辑器的3种模式

1.2 vi/vim编辑器操作说明

参数/命令/模式 说明
###普通模式  
:set nu  显示行号
:set nonu 不显示行号
/PATTERN 从当前光标所在处向文件尾部查找(n与命令同向查找下一个,N则相反)
?PATTERN 从当前光标所在处向文件首部查找(n与命令同向查找下一个,N则相反)
###光标移动操作  
0 或 ^  跳到光标所在行行首
$ 跳到光标所在行行尾
gg 跳转至文件开头
G,或shift+g 跳转至文件尾部
ngg (n是所在行的数字) 跳转到指定行
###搜索关键字  
/keyword 使用/搜索,默认向下搜索,按n继续搜索下一个,反向按N向上搜索
###替换字符串(/可使用其他符合如@,#)  注意事项:如果有分组引用,则须转义小括号 \(\)
:%s/A/B/g 把文本中所有的A替换为B(%代表全局替换),/斜线为分隔符,可以用@或#代替
:1,3s/A/B/g 把第1-3行的A替换为B,没有%,就不是全局替换,仅仅将1-3行符合条件的替换
:1,$s/A/B/g 将第1行到结尾符合条件的内容进行替换
###删除  
dd 删除光标所在行单行
ndd 从光标处开始,往后删除n行,n是数字
x 小写x,往后删除字符
X 大写X,往前删除字符
d1G 删除当前行至第一行(往前)
dG 删除当前行至最后一行(往后)
d0 删除当前光标文本至行首(单行)
d$ 删除当前光标文本至行尾(单行)
###剪切  
dd ---> p 使用dd删除(也是剪切),再使用p复制,默认复制到光标所在行的下一行
###撤销(回滚前一个执行的操作)  
u 撤销删除或更改的操作,进行回滚
Ctrl+r 撤销之前的撤销
###复制  
yy 复制光标所在行
nyy 从光标所在行开始,往后复制n行,n是数字
5gg ---> 5yy 跳到第5行,再往后复制5行
5gg ---> shift+g 跳到第5行,再复制往后所有行
###粘贴  
p

小写p,粘贴到光标所在行的下一行(缓冲区存储的是整行);

粘贴到光标所在行的末尾(缓冲区存储的是一段内容)

3p

小写p,粘贴多次内容

P

大写P,粘贴到光标所在行的上一行(缓冲区存储的是整行);

粘贴到光标所在行的行首(缓冲区存储的是一段内容)

###编辑模式操作  
i insert,进入插入模式,在光标所在处输入,进入编辑状态
I 大写I,在当前光标所在行行首输入,进入编辑状态
a append,在光标下一个字符插入,进入编辑状态
A 在当前光标所在行行尾追加输入内容,进入编辑状态
o 小写o,在光标下一行开插入(在当前光标所在行的下方打开一个新行)
O 大写O,在光标上一行开插入(在当前光标所在行的上方打开一个新行)
C 将光标到行尾内容进行删除,并进入编辑状态
cc 将整行内容进行删除并进入编辑状态
Esc  --键盘上Esc键 退出编辑模式
###关闭文件  
:wq 保存退出
:x 保存退出
:q   退出
:q!   强制退出,不保存更改
:w /path 将文件保存至其他路径
ZZ 大写2个ZZ,保存退出
###改变命令(了解,无需掌握)  
c 修改(编辑模式--->输入模式)
###可视化模式(了解)  
v 按字符选定内容(经常结合d,c,y编辑命令)
V 按行选定内容
###翻屏操作  
Ctrl+f 向文件尾部翻一屏
Ctrl+b 向文件首部翻一屏
Ctrl+d 向文件尾部翻半屏
Ctrl+u 向文件首部翻半屏

vi/vim编辑器操作梳理的更多相关文章

  1. 【Linux学习】Vi / Vim编辑器—编辑器工作模式、vi编辑操作

    Vi / Vim编辑器-编辑器工作模式.vi编辑操作 推荐一个很好的学习指南:http://www.oschina.net/translate/learn-vim-progressively 一.编辑 ...

  2. vi/vim编辑器的基本操作

    vi/vim编辑器的基本操作 Contents 1. 工具准备(下载gvim) 2. vi/vim基本入门 2.1. 安装 2.2. 基本使用 3. vi/vim基本命令表 1 工具准备(下载gvim ...

  3. 【转】Linux上vi(vim)编辑器使用教程

    Linux上vi(vim)编辑器使用教程 ------------------------------------------------------------ ikong ------------ ...

  4. windows下vi/vim编辑器的基本操作

    windows下vi/vim编辑器的基本操作 Contents 1. 工具准备(下载gvim) 2. vi/vim基本入门 2.1. 安装 2.2. 基本使用 3. vi/vim基本命令表 1 工具准 ...

  5. linux vi/vim 编辑器学习总结

    linux vi/vim 编辑器学习总结 很多时候我们开发人员不可避免的会涉及到项目部署,这个时候使用的就不是我们所熟知的 Windows 和 Mac OS 操作系统了,而是类 Unix 系统.项目部 ...

  6. vi/vim编辑器基本操作

    一.vi/vim的三种模式 vi编辑器有三种模式:命令模式(command mode).插入模式(Insert mode).底行模式(last line mode). 就是你直接用命令(vi  文件名 ...

  7. Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令

    Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...

  8. 怎么样退出vi/vim编辑器

    怎么样退出vi/vim编辑器 先按   ESC   然后输入  w  q  :wq 就退出来了

  9. Linux随笔 - vi/vim 编辑器显示行号

    显示行号 1. 打开vi 编辑器 2. 输入  :set number 3. 回车 关闭行号显示 1. 打开vi 编辑器 2. 输入  :set nonumber 3. 回车 行号在每次打开 vi/v ...

随机推荐

  1. flink编译支持CDH6.2.0(hadoop3.0.0)

    准备工作 因为在编译时需要下载许多依赖包,在执行编译前最好先配置下代理仓库 <mirrors> <mirror> <id>nexus-aliyun</id&g ...

  2. 修改现有消息类让.net core项目支持Protobuf - 【无需使用 [ProtoBuf.ProtoContract] 的方法】

    前言 第二次发博客,希望大家多多鼓励!!! 又接无上老板的一个需求,需要让.net core消息发送端跟消息接收端通信的消息是protobuf格式的(基于protobuf比json小一倍数据量,独特的 ...

  3. 【红外DDE算法】聊聊红外图像增强算法的历史进程(第一回)

    宽动态红外图像增强算法综述回顾过去带你回顾宽动态红外图像增强算法的历史进程,历来学者的一步步革命(新的算法框架提出),一步步改革(改进优化),从简单粗暴到细致全面.正所谓是:改革没有完成时,只有进行时 ...

  4. [hdu2255] 奔小康赚大钱

    Description 传说在遥远的地方有一个非常富裕的村落,有一天,村长决定进行制度改革:重新分配房子. 这可是一件大事,关系到人民的住房问题啊.村里共有 \(n\) 间房间,刚好有 \(n\) 家 ...

  5. java小心机(5)| 浅谈类成员初始化顺序

    类成员什么时候会被初始化呢?一般来说:"类的代码在初次使用时才被加载",加载过程包括了初始化. 比如说new A()调用构造函数时,类中全部成员都会被初始化. 但对于static域 ...

  6. 玩转Django2.0---Django笔记建站基础十二(Django项目上线部署)

    第十二章 Django项目上线部署 目前部署Django项目有两种主流方案:Nginx+uWsGI+Django或者Apache+uWSGI+Django.Nginx作为服务器最前端,负责接收浏览器的 ...

  7. Ogre 的Node 位移、旋转

    位移旋转有三种方式TS_LOCAL,TS_PARENT,TS_WORLD. TS_LOCAL是指自身坐标系,TS_PARENT是父节点坐标系,TS_WORLD是世界坐标系 比如  translate( ...

  8. WEB Node-JS 服务器搭建

    一.创建express 1.创建一个单独文件 2.打开命令面板,进入该文件 3.npm config set registry = https://registry.npm.taobao.org(设置 ...

  9. sqli_labs学习笔记(一)Less-38~Less-53

    续上,开门见山 堆叠注入,实际上就构成了两条SQL语句 http://43.247.91.228:84/Less-38/?id=1' union select 1,2,3 --+    //未报错 h ...

  10. 浅谈openresty

    浅谈openresty 为什么会有OpenResty? 我们都知道Nginx有很多的特性和好处,但是在Nginx上开发成了一个难题,Nginx模块需要用C开发,而且必须符合一系列复杂的规则,最重要的用 ...