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

来源:互联网 发布:淘宝里金小姐正品代购 编辑:程序博客网 时间:2024/05/16 18:27

我们有必要学习一下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键移动到下一个匹配
这里写图片描述

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
这里写图片描述

这里写图片描述

提高效率

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

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

示例:2dd : 删除2行3p : 粘贴文本3次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
原创粉丝点击