由于最近Vim用的比较多,就总结了以下常用的命令,希望和大家一起学习~~
I. Vim的四种操作模式
1.正常模式(Normal-mode)
正常模式主要用来浏览和修改(删除)文本内容的。通常情况下打开Vim都是正常模式。
在任何模式下,只要按下esc键就可以返回正常模式。
2.插入模式(Insert-mode)
插入模式用来向文本中添加(编辑)内容。
正常模式下按以下字母可进入插入模式:
* i 在光标前插入
* a 在光标后插入
* I 在行首插入
* A 在行末插入
* s 删除光标所在字符再插入
* S 删除光标所在行再插入
* o 在当前行之下新建行
* O 在当前行之上新建行
3.可视模式(Visual-mode)
可视模式相当于高亮选取文本后的普通模式。
正常模式下按以下字母可进入可视模式:
* v 可视模式
* V 可视行模式
* Ctrl + v 可视块模式
4.命令模式(Command mode)
正常模式下按':'(冒号)进入命令模式。
命令模式多是对文件的操作,比如:
* wq 保存并退出
* q 直接退出(无修改)
* q! 强制退出,不保存
* e! 放弃修改并打开原来的文件
II. Vim的常用命令(未特别说明均在正常模式下)
移动光标
向左:Backspace(Mac下delete)、h、左方向键
向右:空格、l、右方向键
向上:k、-(上一行首)、上方向键
向下:j、enter(下一行首)、下方向键删除类
x 删除光标所在位置字符
dw 从当前光标当前位置直到下一个单词起始处,不包括它的第一个字符
de 从当前光标当前位置直到单词末尾,包括最后一个字符
d$ 从光标处删到行末
dd 删除整行
2dd 删除两行使用计数指定动作
2w 光标向右移动到第二个单词首字母
2e 光标向右移动到第二个单词尾字母
0 光标回到行首撤销类
u 撤销最后一次执行的命令
U 撤销对整行的修改(没实践明白~)
Ctrl-r 撤消以前的撤消命令置换类
输入 r 和一个字符替换光标所在位置的字符更改类
cw/ce 改变文本直到一个单词的末尾(实际上就是删除到单词末尾进入插入模式)定位类
G 到文件最后一行
gg 到文件第一行搜索类
正常模式下输入 / 字符,比如搜索errroor就输入:/errroor
要查找同上一次的字符串,只需要按 n 键;
要向相反方向查找同上一次的字符串,输入 N ;
逆向查找字符串,使用 ? 代替 / 。
配对括号查找:光标移动到一个一个括号上按%。替换类
:s/old/new/,该命令只改变光标所在行的第一个匹配串;
:s/old/new/g 则是替换全行的匹配串。
:#,#s/old/new/g 其中 #,# 代表的是替换操作的若干行中首尾两行的行号。
:%s/old/new/g 则是替换整个文件中的每个匹配串。
:%s/old/new/gc 会找到整个文件中的每个匹配串,并且对每个匹配串提示是否进行替换。复制粘贴
操作符 y 复制文本,p 粘贴先前复制的文本。
选中文本时需要进入可视模式,高亮的文本为选中的文本。