Brief introduction
Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX systems. Vim is often called a “programmer’s editor,” and so useful for programming that many consider it an entire IDE.
Moving cursor
相当于IDE中鼠标的功能,在Vim中是不能用鼠标直接移动光标的,但是键盘中的上下左右箭头一样可以在Vim中使用。
gg 移动到第一行的开头
Ngg 移动到第N行的开头
:N 移动到第N行的开头
G 移动到最后一行的开头
Ctrl+f 向下翻一页
Ctrl+b 向上翻一页
H 移动到本页的最上面
M 移动到本页的中间
L 移动到本页的最下面
0 移动到本行的开头
$ 移动到本行的末尾
w 移动到下一个字的开头
b 移动到前一个字的开头
Insert
i 在光标左侧插入
I 在光标所在行的开头插入
A 在光标所在行的末尾插入
o 在光标所在行的下一行开始新的一行
O 在光标所在行的上一行开始新的一行
Delete
x 删除光标所在的字符
nx 删除光标所在的前n个字符
dw 删除光标右侧的单词
ndw 删除光标右侧的n个单词
db 删除光标左侧的单词
ndb 删除光标左侧的n个单词
dd 删除当前行
ndd 删除n行内容
d$ 从光标开始,删除到行尾
d0 从光标开始,删除到行头
j 删除本行的回车符,与下一行合并
这个应该很好记,n代表数量,x代表以单个字符为单位的删除,d代表以字符串或者行为单位的删除,0代表行首,$
代表行尾
Replace
替换的命令我个人一般用得不多,如果需要修改文件的话,我一般就用i进入插入模式去修改了
rc 用c来替换光标所指的字母
nrc 用c来替换光标所指的前n个字母
:s/str1/str2 用s//的正则表达式对某一行第一次匹配到的进行替换
:s/str1/str2/g g表示对某一行所有匹配到的都进行替换
:1,$ s/str1/str2/g 1表示头,$表示尾,整句表示对全文中所有匹配到的都进行替换
Search
当然除了能够快速移动光标外,你还经常需要查找特定字符串。
/ 输入想要查找的字符串,正向搜索
? 输入想要查找的字符串,反向搜索
n 搜索下一个
N 搜索上一个
注意也可以用正则表达式搜索
^ 放在字符串前面,匹配行首
$ 放在字符串后面,匹配行尾
. 匹配任何字符
\ 转义字符
* 出现0次或多次
[a-z] 匹配a到z之间的任意字符
[string] 匹配字符串中间的任何字符
\< 匹配一个单词的开头
\> 匹配一个单词的结尾
好了这写就是一个编辑器所应该具备的最基本的功能,即“添删改查”。下面再介绍一下其它我们在编辑器中经常使用的功能
Copy and paste
yy 复制当前行
nyy 复制n行
p 粘贴到光标后面
P 粘贴到光标前面
Redo
u 撤销命令
Repeat
. 重复上一条命令
完整的Vim功能非常非常的丰富,但我在这里只介绍这些最最基本和常用的一些功能,如果感兴趣的话可以继续通过其它方式学习。