Vim基础入门之详解

一、简介

Vim(Vi[Improved])编辑器是vi的扩展版,比vi功能更加强大,是功能强大的跨平台文本文件编辑工具,可以利用它可以建立、修改文本文件等。Vim有三种操作模式,分别称为 编辑模式插入模式命令模式,当运行Vim时,首会进入命令模式。

二、命令模式

Vim命令模式下可以进行很多操作,例如光标跳动到指定的单词、行;复制、删除某行甚至很多行以及全文都可以,反正功能真的太强大了,以下就作出详解:

(1)光标移动

①如果键盘上有上、下、左、右箭头的导航键,就由这些键来完成光标的移动。另外,可以用下面的键完成同样的 按字符移动 功能:

h       向上移动
j       向下移动
k       向左移动
l       向右移动

②上面这4个键将光标位置每次移动一行或一个字符。Vim还提供稍大范围移动光标的命令:

ctrl+f 向文件尾部翻一屏
ctrl+b 向文件首部翻一屏
ctrl+d 向文件尾部翻半屏
ctrl+u 向文件首部翻半屏

③跳转到文件首行、尾行以及指定某行大范围移动命令:

G 光标跳到文件尾行
gg 光标跳到文件首行
#G “#”指数字,输入随意一个数字就会调到指定的行数

④在屏幕当前一页时,可以用下面的命令快速移动光标:

H 光标跳到当前一页的首行的第一个字母
M 光标跳到当前一页的中间行的第一个字母
L 光标跳到当前一页的尾行的第一个字母 

H M L命令还可以加数字。如 2H 表示将光标移到屏幕的第2行;3M 表示将光标移动到中间行的上面第三行;3L 表示将光标移到屏幕的倒数第3行。

④当将光标移到所要的行是行内移动,光标可以用下面的命令来实现:

w 右移光标到下一个字的开头;
e 右移光标到一个字的末尾;
b 左移光标到前一个字的开头;
^ 移动光标,到本行的第一个非空字符;
$ 右移光标,到本行的末尾;
0 数字0,左移光标到本行的开始。

(2)搜索匹配

vim除了在命令模式下进行光标移动外,还提供了强大的字符串搜索功能。要查找文件中指定字或短语出现的位置,可以用Vim直接进行搜索,而不必以手工方式进行。

搜索方法是:键入字符 / ,后面跟以要搜索的字符串,然后按回车键。编辑程序执行正向搜索(即朝文件末尾方向),并在找到指定字符串后,将光标停到该字符串的开头;键入 n 命令可以继续执行搜索,找出这一字符串下次出现的位置。用字符 ? 取代 / ,可以实现反向搜索(朝文件开头方向)例如:

/root 正向搜索字符串root
n 继续搜索,找出root下次出现在的位置
N 继续搜索,找出root上次出现在的位置
?root 反向搜索字符串root

(3)字符编辑、替换

Vim常规的删除命令是dx(前者删除后者删除字符),结合Vim的其他特性可以实现基础的删除功能。将光标定位于文件内指定位置后,可以用其他字符来替换光标所指向的字符,或从当前光标位置删除一个或多个字符或一行、多行。例如:

x 删除光标处的字符
#x 删除光标处起始的#个字符
xp 交换光标所在处的字符及其后面字符的位置
~ 转换大小写
J 删除当前行后的换行符
r 替换光标所在处的字符
R 切换成REPLACE模式

(4)复制、粘贴

①从正文中删除的内容(如字符、字或行)并没有真正丢失,而是被剪切并复制到了一个内存缓冲区中。用户可将其粘贴到正文中的指定位置。完成这一操作的命令是:

p 小写字母 p,将缓冲区的内容粘贴到光标的后面
P 大写字母 P,将缓冲区的内容粘贴到光标的前面

②有时需要复制一段正文到新位置,同时保留原有位置的内容。这种情况下,首先应当把指定内容复制(而不是剪切)到内存缓冲区。完成这一操作的命令是:

y 复制整行;同时y后面还可以和w,e,b,$,^,等符号连用,例如:yw表示复制光标所在处的一个单词
yy 复制行
#yy "#"表示数字也就是复制几行
#"tyy “#”表示任何数,“t“表示T这个寄容器,linux中有36个剪寄容器,即a-z,0-9;复制行数可以选择放到任何这36个寄容器上;粘贴的话"tp表示将t寄存器内容粘贴到文件中。

(5)撤销和重复

在编辑文档的过程中,为消除某个错误的编辑命令造成的后果,可以用撤消命令。另外,如果用户希望在新的光标位置重复前面执行过的编辑命令,可用重复命令。

u 撤消前一条命令的结果,可以和数字连用。
. 重复最后一条修改正文的命令

三、插入模式(Insert)(编辑模式)

(1)进入插入模式

在编辑模式下正确定位光标之后,可用以下命令切换到插入模式:

i 在光标左侧插入正文
a 在光标右侧插入正文
o 在光标所在行的下一行增添新行
I 在光标所在行的末尾插入
A 在光标所在行的末尾插入
O 在光标所在行的上一行增添新行

(2)退出插入模式

退出插入模式的方法是,按ESC退出插入模式之后,将会进入编辑模式 。

四、扩展命令(extended command )模式

在Vim的命令模式下,可以使用复杂的命令。在命令模式下按shift+ :并显示冒号,此时已进入命令模式。命令模式又称末行模式,用户输入的内容均显示在屏幕的最后一行,按回车键,Vim 执行命令。

(1)打开、保存、退出

:!file
在打开的vim中,如果想看一个文件可以:!后面跟文件。

:r!file
将打开的文件读入到vim中

:w file 将当前文件另存为
时间: 2024-11-09 09:26:40

Vim基础入门之详解的相关文章

(赵小明RHCE笔记)linux基础之四 权限详解

一.special permissions for executables1.special permissions for executables:  -suid:command run with permissions of the owner of the command,not executor of   the command  -sgid:command runs with group affiliation of the group of the commandeg:file:us

Mybatis最入门---配置详解(下)

[一步是咫尺,一步即天涯] 上文我们详细解释了HelloWorld工程中的配置项,本文,我们再来介绍一些更加基础,灵活的配置项.本文,我们先不演示具体的工程,后续的文章中会按照实际应用来配置相关的参数.敬请期待! -----------------------------------------------------------------------------------------------------------------------------------------------

vi和vim区别及命令详解

vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本.vi使用于文本编辑,但是vim更适用于coding.     现将vim的命令行收集于下: vi有3个模式:插入模式.命令模式.低行模式. 插入模式:在此模式下可以输入字符,按ESC将回到命令模式.     命令模式:可以移动光标.删除字符等.     低行模式:可以保存文件.退出vi.设置vi.查找等功能(低行模式也可以看作是命令模式里的). 一.打开文件.保存.关闭文件(vi命令模式下使用) vi file

Linux 程序设计学习笔记----终端及串口编程基础之概念详解

转载请注明出处,谢谢! linux下的终端及串口的相关概念有: tty,控制台,虚拟终端,串口,console(控制台终端)详解 部分内容整理于网络. 终端/控制台 终端和控制台都不是个人电脑的概念,而是多人共用的小型中型大型计算机上的概念. 1.终端 一台主机,连很多终端,终端为主机提供了人机接口,每个人都通过终端使用主机的资源. 终端有字符哑终端和图形终端两种. 控制台是另一种人机接口, 不通过终端与主机相连, 而是通过显示卡-显示器和键盘接口分别与主机相连, 这是人控制主机的第一人机接口.

【第11篇】最全的中文TypeScript入门指南详解案例教程与代码案例

一.最全的中文TypeScript入门指南详解案例教程           文档下载 二.代码案例 源代码下载 手机微信扫一扫有惊喜... ================================================================================================================= 1.详细安装文章请看 http://blog.csdn.net/jilongliang/article/details/219429

java笔记--反射机制之基础总结与详解

一.反射之实例化Class类的5种方式: java的数据类型可以分为两类,即引用类型和原始类型(即基本数据类型). 对于每种类型的对象,java虚拟机会实例化不可变的java.lang.Class对象. 它提供了在运行时检查对象属性的方法,这些属性包括它的成员和类型信息. 更重要的是Class对象是所有反射API的入口. Class类是泛型类,可以使用@SuppressWarnings("unchecked")忽略泛型或者使用Class<V>类型. 获得Class对象的5种

基础拾遗------webservice详解

基础拾遗 基础拾遗------webservice详解 基础拾遗------redis详解 基础拾遗------反射详解 基础拾遗------委托详解 基础拾遗------接口详解 基础拾遗------泛型详解 前言 工作当中常用的服务接口有三个wcf,webservice和webapi.首先第一个接触的就是webservice,今天大致总结一下. 1.webservice概念相关 1.1.Web Service也叫XML Web Service WebService 是一种可以接收从Inter

基础拾遗------redis详解

基础拾遗 基础拾遗------redis详解 基础拾遗------反射详解 基础拾遗------委托详解 基础拾遗------接口详解 基础拾遗------泛型详解 前言 这篇文章和以往的基础拾遗有所不同,以前的介绍的都是c#基础,今天介绍的是redis.因为项目中一只在使用,我想现在大部分项目中都会用到nosql,缓存,今天就介绍一下redis..废话少说下面开始正题. 1.redis是什么? Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. 对的redi

[转帖]基于VIM漏洞CVE-2019-12735的VIM宏后门病毒详解

基于VIM漏洞CVE-2019-12735的VIM宏后门病毒详解 不明觉厉 只要是人做的东西 就会有bug 就会有安全问题 就看发现bug 或者是发现安全问题 有没有收益了 会用linux的都是比较熟悉操作系统等概念的 不容易被钓鱼 反过来 很多用windows的能力会很差, 所以 windows上面显的更加脆弱. 这就好比开丰田车出事故的人 要比开众泰出事故的人要多很多一个道理. 众泰开的少 而且大家都可能会修车了.. https://www.freebuf.com/vuls/205516.h