贵有恒,何必三更起、五更眠、最无益,只怕一日曝、十日寒。这篇文章主要讲述vim编辑器的常见使用相关的知识,希望能为你提供帮助。
1、vim介绍Vim是从 vi 发展出来的一个文本编辑器,处理文本文件功能强大。
三种主要模式:
Vim打开文件,默认命令(Normal)模式,可以移动光标,剪切和粘贴。
按键i 进入插入(Insert)模式,用户可以编辑文本。
扩展(Extended)命令模式(或末行模式)用户:wq可保存退出,或者:q!强制退出。
Exc按键可退出当前模式。
2、文本操作vim 打开文本文件
vim +# :打开文件,并定位于第#行vim +:打开文件,定位至最后一行vim +/PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首
移动光标(编辑模式)
单个移动: h: 左, l: 右, j: 下, k: 上。
#h: 移动#个字符
w: 移至下一个单词的词首
行内跳转:0: 绝对行首$: 绝对行尾^: 跳转至行首的第一个非空白字符
句间移动:):下一句(:上一句
段落间移动:}:下一段{:上一段
在整个文件里面移动光标
< Ctrl-f> :向下移动一屏。< Ctrl-d> :向下移动半屏。
< Ctrl-b> :向上移动一屏。< Ctrl-u> :向上移动半屏。
G:到文件尾
#G:移动光标到指定的行
gg:到文件首
H:移动光标到屏幕上面
M:移动光标到屏幕中间
L:移动光标到屏幕下面
3、搜索/word:从当前光标处开始搜索字符串 word,按 n移动到下个单词处,N 移动到上一个。
?word:和上面类似,但是是反方向。
4、编辑文本插入模式
i:在当前字符的左边插入
I:在当前行首插入
a:在当前字符的右边插入
A:在当前行尾插入
o:在当前行下面插入一个新行
O:在当前行上面插入一个新行
删除单个字符
x: 删除光标所在处的单个字符
#x: 删除光标所在处及向后的共#个字符
删除命令:
d$: 删除到行尾
d^:删除到非空行首
d0:删除到行首
dd: 删除当前光标所在行
#dd: 删除包括当前光标所在行在内的#行;
剪切和拷贝
y:拷贝选择的内容到剪贴板。
c:剪贴选择的内容到剪贴板并且进入插入模式。
yy:拷贝当前行。
cc:剪切当前行并且进入插入模式。
D:剪切从光标位置到行尾到剪贴板。
Y:拷贝当前行。
C:和 D 类似,最后进入插入模式。
x:剪切当前字符到剪贴板。
粘贴:p
5、Vim多缓冲区编辑剪贴板在 VIM 里面被称为寄存器(Registers)。你可以列出当前定义的所有寄存器名和它们的内容
比如:我们要拷贝当前行到寄存器 a 或者其他字母。你应该按 “ayy。现在当前行已存在寄存器 a 里面直到你又拷贝了一些东西进入寄存器 a。你可以使用命令 “ap 来粘贴寄存器 a 里面的内容到你想要的位置。
6、撤销改变u:撤消前一次的编辑操作
连续u命令可撤消此前的n次编辑操作
#u: 直接撤消最近#次编辑操作
撤消最近一次撤消操作:Ctrl+r
7、多文件编辑vim FILE1 FILE2 FILE3 …
:next 下一个
:prev前一个
:first 第一个
:last 最后一个
:wall 保存所有
:qall退出所有
:wqall
多文件分割
vim -o|-O FILE1 FILE2 …
-o: 水平分割
-O: 垂直分割
在窗口间切换:Ctrl+w, Arrow
单文件窗口分割:
Ctrl+w,s: split, 水平分割
Ctrl+w,v: vertical, 垂直分割
ctrl+w,q:取消相邻窗口
ctrl+w,o:取消全部窗口
:wqall退出
8、编辑命令将当前文件中部分内容另存为另外一个文件
末行模式下使用w命令
:w
:ADDR1,ADDR2w /path/to/somewhere
将另外一个文件的内容填充在当前文件中
:r /path/to/somefile
【vim编辑器的常见使用】跟shell交互 :! COMMAND
推荐阅读
- 使用 du 检查 Linux 上已用的磁盘空间
- 运维常问的面试题目
- Mac OS安装指南
- 智慧军营体能考核系统
- Linux系统调优2——实战
- 没有标题的WordPress动态边栏
- 标头中的WordPress dynamic_sidebar阻止其余主题的渲染
- WordPress不会为父页面选择页面模板
- 无法在移动设备上单击WordPress下拉菜单