高效使用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
- 高效使用Vim编辑器--Vim编辑器常用命令学习笔记
- 高效使用Vim编辑器学习
- 高效使用VIM编辑器
- vim编辑器学习笔记
- [学习笔记] Vim 编辑器
- vim编辑器学习笔记
- Vim编辑器学习笔记
- vim 编辑器使用学习
- Linux学习笔记(2)-Vi/Vim编辑器的常用命令
- VIM 编辑器学习笔记一
- VIM编辑器基础学习笔记
- Linux学习笔记:vim编辑器
- 高效编辑器vim之标签使用
- Vim编辑器常用命令
- [总结]vim编辑器常用命令
- Vim编辑器常用命令
- vim编辑器常用命令总结
- Vi/Vim编辑器常用命令
- 二分查找模板
- 妙语连珠-机智的回答
- java中级_apache_提供的JDBC框架_DML语句使用
- 【2016-CCPC-B】强连通分量,tarjan(Bomb,hdu 5934)
- 编写函数void change(char *a,char *b,char*c)。 函数功能是首先把b指向的字符串逆向存放,然后将a指向的字符串和b指向的字符串按排列顺序交叉合并到c指向的数组中,两个字
- 高效使用Vim编辑器--Vim编辑器常用命令学习笔记
- 【caffe学习】学习初探
- Android学习之路:android开发工具包分享
- 关于视频的控件SurfaceView及相关
- Android环境搭建
- 将整数转换为相应的一个字符数组。 分析:从个位提取数字,组合字符 符号位的处理 12345=>"12345"
- hdu5945Fxx and game
- 观察者模式浅谈
- 对一个二维数组中的数据排序,方法如下: 将整个数组中值最小的元素所在行调整为数组第一行, 将除第一行外的行中最小元素所在行调整为第2行, 将除第1,2行外的行中最小值元素所在行调整为第3行,以此类推