文档章节

Vim 操作模式

吃一堑消化不良
 吃一堑消化不良
发布于 2017/03/16 19:52
字数 1062
阅读 15
收藏 4

一、命令模式

        vi启动后默认进入的是命令模式,从这个模式使用命令可以切换到另外两种模式,同时无论在任何模式下只要按一下[Esc]键都可以返回命令模式。

(1) Home光标到行首,End 光标到行尾
(2) Page UpPage Down上下翻页
(3) Delete删除光标位置的字符

(4) 删除光标处的单个字符,#x 例如 3x 删除光标处向右的三个字符
(5) dd 删除光标所在行,#dd 例如 3dd 从当前行开始向下删除三行文本
(6) dw 删除当前字符到单词尾包括空格的所有字符

(7) yy 命令复制当前整行的内容到vi缓冲区,#yy 例如:5yy 就是复制5行, y5j (复制光标下面6行),5jP(跳到5行后再黏贴)
(8) yw 复制当前光标所在位置到单词尾字符的内容到vi缓存区,相当于复制一个单词,#yw 例如:2yw 就是复制两个单词
(9) y^ 复制光标所在位置到行尾内容到缓存区
(10) y$ 复制光标所在位置到行首内容到缓存区
(11) 将光标移动到要复制的文本开始的地方,按 进入可视模式,将光标移动到要复制的文本的结束的地方,按 复制。此时vim会自动将光标定位到选中文本的开始的地方,并退出可视模式, 我移动光标到文本结束的地方,按 粘贴。

 

二、输入模式

        在命令模式中输入字幕“i”就可以进入vi的输入模式编辑文件。在这个模式中我们可以编辑、修改、输入等编辑工作,在编辑器最后一行显示一个“--INSERT--”标志着vi进入了输入模式。当我们完成修改输入等操作的时候我们需要保存文件,这时我们需要先返回命令模式,在进入末行模式保存。

 

三、末行模式

        在命令模式输入“”即可进入该模式,在末行模式中有好多好用的命令。

(1) 如果要复制第m行到第n行之间的内容,可以在末行模式中输入 m,ny 例如:3,5y复制第三行到第五行内容到缓存区。

(2) 替换,基本语法如下:

[addr]s/源字符串/目的字符串/[option]

全局替换的语法如下:

:%s/源字符串/目的字符串/g

其中[addr] 表示检索范围,省略时表示当前行

     如:“1,20”:表示从第1行到20行

            “%”:表示整个文件,同“1,$”

            “. ,$”:从当前行到文件尾

       s : 表示替换操作

      [option] : 表示操作类型

              g 表示全局替换

              c 表示进行确认

              p 表示替代结果逐行显示(Ctrl + L恢复屏幕)

省略option时仅对每行第一个匹配串进行替换,如果源字符串或目的字符串出现特殊字符,用”\”转义。

下面是替换示例:

a. 替换当前行的第一个符合old模式的字符串为new

:s/old/new/

b. 替换当前行所有符合old的字符串为new

:s/old/new/g

c. 替换所有行的第一个符合old模式的字符串为new

:%s/old/new/

d. 替换所有行所有符合old模式的字符串为new

:%s/old/new/g

e. 替换时再次确认替换

:%s/old/new/c

f. 模式替换

除了可以搜索常量字符串,vi编辑器还可以搜索可变的模式,即正则表达式

例如,删除所有空行

:g/^$/d

例如在每行的开始插入两个空白

:%s/^/  /g

 

四、其它

(1) 自上而下的查找 /,自下而上的查找 ?

(2) 使用鼠标拖动反选要粘贴的内容,按鼠标左键复制选定块到缓冲区,然后将光标移到要粘贴处,按鼠标中键(两键鼠标可同时按左右键),粘贴缓冲区内容
(3) 清空文件内容:首先使用gg调整光标到首行,然后使用dG命令即可

© 著作权归作者所有

吃一堑消化不良
粉丝 28
博文 188
码字总数 112947
作品 0
浦东
程序员
私信 提问
VIM的基本命令操作

在linux系统下常见的文本编辑工具vim,以下是常见的vim编辑命令: • vim主要模式介绍 vim的安装,一般的系统上面已经自带了vim的编辑工具,如果实在没有的话可以根据当前系统的版本进行安装...

一千零一夜个为什么
2016/11/10
3
0
vim编辑器介绍和使用

vi编辑器:全屏的文本编辑器 vi:Visual Interface,可视化界面; S.U.N:Bill Joy,vi,Space,SUNOS(Solaris); vim:vi IMprove vim相对于vi有更多的新特性; 1.语法着色显示; 2.更多的...

Vayne36
2017/10/19
0
0
关于Linux中默认文本编辑工具vi/vim

vi编辑器:全屏的文本编辑器 vi:visual interface,可视化接口; S.U.N:Bill Joy创始人 ,主持研发vi,sparc,SunOS(Solaris) vim:vi IMproved,vi的升级版 vim相对于vi有更多的新特性;...

花花很漂漂
2017/10/20
0
0
跟阿铭学linux 第五课 VIM工具

5.1 VIM简介 1)VIM是Vi的升级版,带有颜色显示 ;也分为 一般模式、编辑模式、命令行模式; 安装指令包, 只安装一个 < yum install -y vim> 此方法,会安装多个vim相关的包 使用方法--编辑...

Iammalt
2017/09/02
0
0
5.1 vim介绍 5.2-5.3 vim颜色显示和移动光标、vim一般模式下移动光标 5.4 vim 一般模式下复制剪切粘贴

5.1 vim介绍 5.2-5.3 vim颜色显示和移动光标、vim一般模式下移动光标 5.4 vim 一般模式下复制剪切粘贴 5.1 vim介绍 vim 是 vi 的升级版 vim 是带有颜色显示的 mini安装的系统,一般都不带有v...

JasonYan86
2018/06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

FPGA 设备 USB Platform Cable USB

lsusbFuture Technology Devices International, Ltd FT232H Single HS USB-UART/FIFO IC

MtrS
今天
4
0
lua web快速开发指南(6) - Cache、DB介绍

"数据库"与"缓存"的基本概念 数据库与缓存是服务端开发人员的必学知识点. 数据库 "数据库"是一种信息记录、存取的虚拟标记地点的集合统称. 比如现实生活中, 我们经常会用到文件柜、书桌等等数...

水果糖的小铺子
今天
5
0
Oracle分页查询语句的写法

Oracle分页查询语句的写法 Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,Oracle分页查询语句基本上可以按本文给出的格式来进行套用。   Oracle分...

康师傅
昨天
5
0
java并发图谱

1527
昨天
2
0
Mybatis之拦截器Interceptor

使用mybatis时用PageHelper进行分页,用到了PageInterceptor,借此了解下mybatis的interceptor。Mybatis的版本是3.4.6,MybatisHelper的版本是5.1.3。 1、PageInterceptor 先上一段代码,如下...

克虏伯
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部