高效使用Vim编辑器--Vim编辑器常用命令学习笔记

熟练掌握Vim编辑器的常用命令能大大提高我们文本编辑的效率。

基本操作

我们最初接触Vim编辑器时,首先学到的不乏以下一些操作:

刚进入Vim编辑器时,我们处于普通模式,在键盘上按下i,我们便进入插入模式。在插入模式下,如果按下Esc,则又回到普通模式。
这里写图片描述

在插入模式下,我们可以键入文本。

在普通模式下,我们则可以利用一些命令来快捷操作我们的文本,如:

x : 删除当前光标所在的一个字符

:wq : 保存并退出 (:w 保存,:q 退出,且以:开始的命令需要输入回车)

dd : 删除当前行,并把删除的行保存到剪贴板里

p : 粘贴剪贴板里的内容

h(向左)、j(向下)、k(向上)、l(向右)移动光标,当然,我们还可以利用↑、↓、←、→来移动

这里写图片描述

更进一步

在了解了Vim编辑器的基本操作后,我们需要学习更多的命令来更进一步。

1.不同的插入模式

i : 在光标所在位置插入

a : 在光标所在位置后插入

o : 在当前行后插入一行新行

O : 在当前行前插入一行新行

cw : 把光标所在位置到下一个单词之前的内容删掉,并进入插入模式

示例:cw命令

光标当前位置
这里写图片描述

使用cw命令后
这里写图片描述

2.快速移动光标
想要快速移动光标提高效率,我们移动光标的操作应不仅限于h、j、k、l / ↑、↓、←、→。

0(数字零) : 移动到行头

^ : 移动到本行第一个不是blank字符的位置

$ : 移动到本行行尾

g_ : 移动到本行最后一个不是blank字符的位置。

/要查找的字符串 : 查找字符串(如果搜索出多个匹配,可按n键移动到下一个)

示例:查找字符串

在打开的文本中查找 Thread 字符串,命令为 /Thread
这里写图片描述

查找到的结果会高亮显示,我们可以按n键移动到下一个匹配(:nohl命令取消高亮显示)
这里写图片描述

3.复制/粘贴

p/P : 粘贴(p与P的区别在于,p是粘贴到当前位置之后,P是粘贴到当前位置之前)

yy : 复制当前行的内容

4.撤销/恢复

u : undo,撤销之前的操作

Ctrl+r : redo,恢复之前的操作

5.文件的打开/保存/退出

:e filename : 在 Vim 编辑器里打开一个文件

:saveas filename : 另存为

:x,ZZ 或 :wq : 保存并退出 (ZZ不需要输入冒号并回车)
:x和:wq的区别在于:wq会强制性写入文件并退出,即使文件没有被修改也强制写入,并更新文件的修改时间

:q! : 退出不保存 
:qa! : 强行退出所有的正在编辑的文件,就算别的文件有更改

:bn 和:bp : 当Vim同时打开很多文件时,可以使用这两个命令来切换到下一个或上一个文件

示例:打开多个文件

首先在命令行使用命令 vim Thread.cc 在Vim编辑器打开文件Thread.cc
这里写图片描述

在Vim普通模式下,输入:e ./Atomic.h,就打开了当前目录下的文件Atomic.h
这里写图片描述

这里写图片描述

提高效率

1.重复操作
有些情况下,我们需要对某一操作重复执行多次,譬如删除多行、多次输入同一文本行……那么Vim是怎样重复操作的呢?

一种方式是按下.,就会重复上次的命令;
另一种方式是 n+command ,在执行某命令之前输入想执行的次数n,该命令便会执行n次。

示例:
2dd : 删除2行

4p : 粘贴文本4次

10ilove<Esc> : 会写入“lovelovelovelovelovelovelovelovelovelove”(命令中的i是指切换到插入模式)
这时按下 . ,会再写入10次“love”

2.更快地移动光标
除了上面我们介绍的一些快速移动光标的命令外,还有一些更快速、移动范围更大的光标移动命令值得我们了解。

gg : 移动到文本开头

G : 移动到文本末尾

n+G:n :移动到第n行

w : 按单词移动,移动到下一个单词的开头

e : 按单词移动,移动到下一个单词的末尾

我们要着重介绍的是下面两个光标移动命令:

% : 匹配括号移动,包括 (, {, [. (使用前你需要把光标先移到括号上)

* 和 # : 匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配的位置(*是下一个,#是上一个)

示例:使用 % 来匹配括号移动
首先将光标移动到某一括号上
这里写图片描述

按下 % ,可以看到光标移动到该括号匹配的括号处
这里写图片描述

示例:使用 * 来匹配单词并在单词间移动
使用前,我们需要将光标移动到某一单词上,我们移动到 Thread 上
这里写图片描述

然后按下 * ,可以看到 Thread 所有的匹配都高亮显示了,我们可以继续按下 * 移动到下一个匹配
这里写图片描述

3.命令的组合使用
我们可以利用学到的光标移动命令,与其他命令组合使用,从而实现高效的编辑,例如下面光标移动与复制命令的组合使用:

(1)0y$ 命令意味着:

0 → 先到行头
y → 从这里开始拷贝
$ → 拷贝到本行最后一个字符

(2)ye 命令则意味着从当前位置拷贝到本单词的最后一个字符

(3)还可以输入 y2/foo 来拷贝2个 “foo” 之间的字符串

示例:在打开的文本里使用命令 y2/Thread
红框标识了光标的当前位置和邻近的两个“Thread”字符串的位置
这里写图片描述

执行命令 y2/Thread
这里写图片描述

将光标移到空白行,按下粘贴操作 p ,看看复制了什么内容
这里写图片描述

4.自动补全
例如:我们想输入 Thread ,当我们键入单词的开头,再按下Ctrl+p或者Ctrl+n,就能进入自动补全的选择了。
这里写图片描述

5.可视化选择
普通模式下按下 v、V或者Ctrl+v会进入可视模式。在可视模式下,随着光标的移动,可以选中行、块、区域。
这里写图片描述

一旦选好了,我们就可以执行一些操作了,例如之前介绍的y复制、d删除,另外还有下面介绍的一些操作

J : 把所有选中的行连接起来(变成一行)

< 或 > : 向左或右缩进

= : 自动缩进

gu : 变小写

gU : 变大写

示例:选中几行内容,将其都变为大写
进入可视行,选中内容
这里写图片描述

执行命令 gU
这里写图片描述


参考资料:
酷壳-简明 Vim 练级攻略:http://coolshell.cn/articles/5426.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值