vim自用

  1. 一、帮助文件
    1. 1. 帮助文件的使用
  2. 二、常用
    1. 1. 插入与替换
    2. 2. 删除与复制、粘贴
    3. 3. 移动与跳转
    4. 4. 搜索
    5. 5. 标记
    6. 6. 特殊字符
    7. 7. 块操作
    8. 8. 大小写
  3. 三、键位图

一、帮助文件

1. 帮助文件的使用

帮助文件方便随时查阅

在命令行输入
:help
或在右边分栏显示
:vert bo h number (:vertical boright help number) vert表示将后面的命令结果垂直分割显示 boright表示窗口在右边

更多
:help x 得到x命令的帮助
:help CTRL-A 得到命令模式下ctrl_a的帮助
:help i_CTRL_H 得到插入模式下ctrl_h的帮助
:h i_<UP> 
:h E37 得到某一个错误的帮助

二、常用

1. 插入与替换

i 光标前插入
I 光标置于当前行的第一个非空白字符进入插入模式
a 光标后插入
A 光标置于行尾进入插入模式
o 下面另起一行,并直接变成插入模式
O 大写,在上面另起一行,并变成插入模式
cw 删除当前word重新编写
C/c$ 删除到行尾重新编写 直接用C可以代替
S/cc 删除整行重新编写,保留缩进 直接用S可以代替
s/cl 修改一个字符
cis 修改整个句子,不包括后面空格,as包括
r 替换,r<ENTER> 直接隔断换行
R 直接进入替换模式,输入内容直接替换直到ESC

PS:命令行计数

3a! 可以直接插入3个!
3x 直接删除3个字符
3k 直接上移3个位置
3w 移动3个word
1$ 移动到当前行的行尾
2$ 移动到下一行的行尾
3fa 向右搜索第三个a出现的位置

33G 跳转到33行
3# 向上搜索单词出现的第三次位置

2. 删除与复制、粘贴

x 光标下的字符删除,或者dl
X 删除光标左边的字符,dh
dd 删除一行
dw 删除光标所在处的word
daw 删除光标所在的整个word!!!
D/d$ 一直删除到末尾,直接大写D
J 两行合并为一行
u 撤销
U 大写,撤销对一行的全部操作,如一行某个单词被x,通过U可以直接恢复
ctrl-r 重做:反转撤销

p 会把x和d删除内容重新put回来放到光标后,P则放到光标前
y 文本复制到寄存器找那个,yanking,yw复制一个word会把word后面的空白字符也复制,用ye可以避免
yy 复制整行
y$ 复制一直到行尾的内容
"*yy 把一行内容复制到剪切板!!!
"*p 从剪切板粘贴

3. 移动与跳转

% 跳转到匹配符号,比如()[] {} 直接跳转到匹配嵌套的符号,常用!!!!!
50% 光标定位到文件中间,90%则是接近尾巴处
H/M/L 定位到文件HOME/MIDDLE/LAST位置


w 以1个word为单位向前移动,移动到下一个单词的首字符
b 同上,但移动到上一个单词的首字符
e 以1个word为单位向前移动,但是移动到下一个单词的末尾字符,end of word
ge 同上,但是移动到上一个单词的末尾字符
W/B E/gE 上面字母大写,表示移动的word内部含有- _ (等符号,即这些符号与word被这些操作认为是新的WORD

$ 类似键盘的end,移动到行尾
0 数字,类似键盘的home,移动到行首,字面意思,不区分空白与非空白字符,直接行首顶格
^ 移动到当前行的第一个非空白的字符上

fy 命令模式下向右直接跳转到第一个y的位置,类似fh则跳转到字符h的位置,F则向左搜索,f的意思是find
ty 同上,但是不是跳转到y的位置,而是跳转到y前一个字符为止,T则向左, t的意思是to
;与, 可以重复上面操作 注:这两个可能会用于其他用途

CTRL-G 显示当前行号
CTRL-U 向上滚动半个屏幕,CTRL-D则是向下,CTRL-E滚动一行,CTRL-Y与其相反
CRRL-F 滚动一个屏,,CTRL-B与其方向相反
zz 定位当前屏幕的正中央,最好不用,因为ZZ是保存与退出,容易误操作
zb 当前行置于屏幕最低部
zt 当前行置于屏幕最顶部

4. 搜索

/ 搜索字符,比如/zh 搜索字符zh .*[]%^?~$ 需要前面加上转义字符\
?搜索字符,方向与/相反
n 跳转到下一个搜索字符,N方向相反
:set ignorecase 忽略大小写 搜索

* 直接光标放到单词位置,按下*即可搜索,#也可以,只不过方向相反
/the\> 只会搜索the结尾,而不会搜索there这种,\表示单词结束
/\<the\> 只会搜索单词the
g* 会搜索到包含单词的部分,比如搜索the,则会高亮到there这种,*和#都是完整匹配一个单词的!!!
:set hlserach高亮设置
:set noh 取消高亮

正则表达式
^include 只会搜索一行开头的include
was$ 只会搜索结尾的was
/^the$ 只会搜索仅有the的字符
. 匹配任何字符,如c.m会找到类似cam,com,cem等字符
特殊字符要加\,比如搜索“ter.”则用ter\.
`` 在两点来回跳转,先用G,在``回到起始位置,推荐ctrl-o,ctrl-i或ctrl-t,或鼠标右键

5. 标记

ma 当前光标下的位置名标记为a,有26字母可选
mb
...
mz 
使用`a,跳到标签a,`z调到标签z,然后``在二者来回跳转!!!
使用单引号’a,跳到标签a所在行首
:marks 查看标记点
:jumps 查看跳转过的位置列表

6. 特殊字符

. 重复操作命令

7. 块操作

v 选择范围
V 大写,选择一行
ctrl-v 选择一个矩形块,然后按hjkl选择,如果想回到起始位置扩大起点可以按o,表示other end另一头!!!

8. 大小写

~ 可以配合块操作一键大写或小写内容

三、键位图

来源:菜鸟教程

入门

进阶

增强版

文字版


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。
github