Skip to content

Commit 656cacc

Browse files
添加使用方法
1 parent 87a19fb commit 656cacc

1 file changed

Lines changed: 124 additions & 0 deletions

File tree

myVim/README.md

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,127 @@
4343
源码来自 https://github.com/humiaozuzu/dot-vimrc
4444

4545

46+
47+
#vim 使用
48+
49+
###命令行模式:
50+
| 提示符 | 说明 |
51+
| :------ | :---------- |
52+
|| 执行一条Ex命令 |
53+
| / | 执行正向查找 |
54+
|| 执行反向查找 |
55+
| = | 对一个vim 脚本表达式求值,在插入模式下安<C-r>=才能进入,只能计算加减乘 |
56+
| :s/target/repl | 执行行内替换 (&重复做、u撤销) |
57+
58+
59+
###普通模式:
60+
| 命令 | 说明 |
61+
| :------------- | :--------------- |
62+
| . | 重复上一个操作 |
63+
| C 等效 c$ | 向后删除 |
64+
| s 等效 cl | 删除当前光标下的字符,并进入插入模式 |
65+
| S 等效 ^C | 从当前行的行首删除整行内容,并进入插入模式 |
66+
| I 等效 ^i | 将光标移到当前行行首,并进入插入模式 |
67+
| A 等效 $a | 将光标移到当前行行尾,并进入插入模式 |
68+
| o 等效 A<CR> | 向下新增一行,并进入插入模式 |
69+
| O 等效 ko | 向上新增一行,并进入插入模式 |
70+
| vit | 选中一对html标签之间的文本 |
71+
| >G | 缩进光标所在行及以下的所有行 |
72+
| daw | 删除当前光标所在的整个单词 (delete a word) |
73+
| cit | 删除HTML标签里的内容 |
74+
| \<C-a>/\<C-x> | 对当前数字加1/减1 |
75+
| zz | 显示当前所在行的上下文 |
76+
| r | 替换当前字符 |
77+
| p/P | 向光标后/前粘贴内容 |
78+
| R | 进入替换模式,可以连续替换 |
79+
| # | 高亮与当前光标所在单词相同的所有单词 |
80+
| * | 选中当前光标所在单词一样的单词 |
81+
| U | 将当前选中的字符转为大写 |
82+
| u | 将当前选中的字符转为小写 |
83+
| `. | 回到上次修改的地方 |
84+
| mk | 把当前光标所在位置,设置一个名字为k的标记,使用`k可以跳回这里,最多26个标记。 |
85+
| mB | 把当前文件,设置一个名字为B的标记,在其他文件下使用`B可以跳到这个文件来,最多26个标记。 |
86+
| {/} | 跳到上一段/下一段的开头 |
87+
| H/M/L | 跳到屏幕的上/中/下 |
88+
| "+yy | 复制光标所在行到系统剪贴板 |
89+
| "+p | 将系统剪贴板的内容粘贴到vim来 |
90+
91+
92+
###插入模式下:
93+
| 命令 | 说明 |
94+
| :----- | :------ |
95+
| \<C-h> | 删除前一个字符 |
96+
| \<C-w> | 删除前一个单词 |
97+
| \<C-u> | 删除至行首 |
98+
| \<C-[>/\<C-o> | 替代ESC |
99+
| \<C-v>u{1234} | 插入特殊字符,例如:\<C-v>u00bf |
100+
101+
102+
###可视化模式:
103+
| 命令 | 说明 |
104+
| :----- | :------ |
105+
| viw | 选中当前单词 |
106+
| v | 激活面向字符的可视模式 |
107+
| V | 激活面向行的可视模式 |
108+
| \<C-v> | 激活面向列块的可视模式 |
109+
| vb | 以-个单词为单位,往前选中,如:vbbb,选中前3个单词 |
110+
| ve | 以-个单词为单位,往后选中,如:vee,选中前2个单词 |
111+
| o | 在上面三种操作中,移动光标到选中区域的首或尾 |
112+
| gv | 重选上次的高亮选区 |
113+
| \<C-v> j j $ A ; \<ESC> | 在长短不一的行后都加上一个;号 |
114+
115+
116+
###操作符:
117+
| 命令 | 说明 |
118+
| :----- | :------ |
119+
| c | 修改 |
120+
| d | 删除 |
121+
| y | 复制到寄存器 |
122+
| g~ | 反转大小写 |
123+
| gu | 转换为小写 |
124+
| gU | 转换为大写 |
125+
| > | 增加缩进 |
126+
| < | 减小缩进 |
127+
| = | 自动缩进 |
128+
| ! | 使用外部程序过滤动作命令所跨越的行 |
129+
130+
###动作命令:(配合操作符c,d,y,v使用)
131+
| 命令 | 说明 |
132+
| :----- | :------ |
133+
| iw | 当前单词 |
134+
| iW | 当前字符串(以空格为分界) |
135+
| is | 当前句子 |
136+
| ip | 当前段落 |
137+
| aw | 当前单词 + 一个空格 |
138+
| aW | 当前字符串 + 一个空格(以空格为分界) |
139+
| as | 当前句子 + 一个空格 |
140+
| ap | 当前段落 + 一个空行 |
141+
142+
143+
144+
###命令行模式:
145+
| 命令 | 说明 |
146+
| :----- | :------ |
147+
| :3d | 删除第三行 |
148+
| :2,5p | 2~5行 |
149+
| :.,$p | 当前行到最后一行 |
150+
| :%p | 所有行 |
151+
| :ls | 查看在缓冲区的所有文件 |
152+
| :buffer N | 结合:ls 使用,调到指定的文件进行编辑 |
153+
| :e. | 打开当前路径的文件目录 |
154+
| :g/andy/d | 删除有"andy"字符的行 |
155+
| :v/andy/d | 只保留有"andy"字符的行 |
156+
| :sort | (vi{,:sort) 对css的属性按字母排序 |
157+
158+
159+
160+
###其他:
161+
vim 中提到的 `缓冲区` 就是vim在编辑某个文件时,实际上是在编辑.swap文件,保存时才被写入到实际的文件中的。
162+
163+
164+
vim -u NONE -N 以出厂配置来使用vim
165+
166+
操作符号 + 动作命令 = 操作
167+
168+
169+

0 commit comments

Comments
 (0)