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. 分享一款基于aui框架的图文发布界面

    本文出自APICloud官方论坛, 感谢论坛版主 川哥哥 的分享. 分享一款基于aui框架的图文发布界面,可以添加多张图可以删除,类似qq空间发布说说,没做服务器后端,只演示前端操作.需要用到UIMe ...

  2. 《深入浅出话数据结构》系列之什么是B树、B+树?为什么二叉查找树不行?

    本文将为大家介绍B树和B+树,首先介绍了B树的应用场景,为什么需要B树:然后介绍了B树的查询和插入过程:最后谈了B+树针对B树的改进. 在谈B树之前,先说一下B树所针对的应用场景.那么B树是用来做什么 ...

  3. GitHub进阶之利用Git远程仓库篇

    #在上一篇文章,相信大家对GitHub已经有了一个基础的理解 接下来我们来学习一下如何利用git来远程仓库 一,git是什么 git:一个免费的开源版本控制软件 用途:利用Git管理GitHub上的代 ...

  4. 想玩转JAVA高并发,这些概念你必须懂!

    我们在找工作时,经常在招聘信息上看到有这么一条:有构建大型互联网服务及高并发等经验,你第一时间想到的是媒体常说的双十一吗?带着问题,我们一起思考技术…. 高并发高并发 它是互联网分布式系统架构设计中必 ...

  5. MOS 常用链接地址

    主页面类  Exadata主页面 Exadata Database Machine and Exadata Storage Server Supported Versions (Doc ID 8888 ...

  6. kubernetes concepts -- Termination Of Pod

    Pods are the smallest deployable units of computing that can be created and managed in Kubernetes. W ...

  7. 矩阵matrix变换的用法(css3属性transform: matrix)

    参数 2D矩阵的表示 matrix(a,b,c,d,e,f),其中6个参数在矩阵的分布: -- -- | a c e | | b d f | | 0 0 1 | -- -- 在CSS3中矩阵的原始值是 ...

  8. python 3 创建虚拟环境(Win10)

    python 3 创建虚拟环境(Win10) ①为什么要用虚拟环境? 为了解决一个环境多个项目的版本冲突问题 ②如何创建虚拟环境? 用窗口键+R来打开win10的运行窗口,然后在运行输入框输入cmd, ...

  9. 工具之sed

    转自:http://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行 ...

  10. ios--->NStimer用法

    NStimer用法 1.初始化 (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL ...