title | photos |
---|---|
关于vim的不可不知的快捷键 |
先看几张,可爱的娜娜奇
对于开发人员,linux是不陌生的吧,尤其是写动态页面的,经常要登录linux上面查看,文件是否更新,以及更新的内容变化 因此今天总结一下,这些常用的快捷键
光标移动 | |
---|---|
h,j,k,l(替代箭头) | h表示往左,j表示往下,k表示往上,l表示往右 |
Ctrl+f(翻页) | 下一页 |
Ctrl+b(翻页) | 上一页 |
w, e, W, E(单词内部跳) | 跳到单词的后面,小写包括标点 |
b, B(单词之间跳) | 以单词为单位往前跳动光标,小写包含标点 |
0(好像和下面的^没有啥区别,效果一样) | 跳到本行的头部 |
O(插入一行) | 开启新的一行 |
^ | 一行的开始 |
$ | 一行的结尾 |
gg | 文档的第一行 |
[N]G | 文档的第N行(G 是最后一行),如:27+shift+g |
插入 | |
i(小写相对于光标) | 插入到光标前面 |
I(大写相对于行) | 插入到行的开始位置 |
a | 插入到光标的后面 |
A | 插入到行的最后位置 |
o(相对于行) | 在当前光标的下方插入新一行 |
O(Shift+o) | 在当前光标的上方插入新一行 |
Esc | 关闭插入模式 |
编辑 | |
---|---|
r(单个字符replace) | 在插入模式替换光标所在的一个字符 |
J(行) | 合并下一行到上一行 |
s(单个字符删除进入插入状态) | 删除光标所在的一个字符, 光标还在当行 |
S(整行删除进入插入状态) | 删除光标所在的一行,光标还在当行,不同于dd |
u(类别ctrl+z) | 撤销上一步操作 |
ctrl+r(类别ctrl+y) | 恢复上一步操作 |
.(记忆) | 重复最后一个命令 |
~(单个字符) | 变换为大写 |
[N]>> | 一行或N行往右移动一个tab |
[N]<< | 一行或N行往左移动一个tab |
退出 | |
---|---|
:w | 保存 |
:q | 关闭(前提是,执行了已保存) |
:q! | (强行退,丢失内容)强制关,不保存 |
:wq,:x,ZZ(这三个是等价的) | 保存并关闭 |
查找和搜索 | |
---|---|
/pattern(最常用的) | 搜索(非插入模式) ,支持正则 |
?pattern(区别是按n的时候,方向不一样) | 往前搜索 |
n | 光标到达搜索结果的前一个目标 |
N | 光标到达搜索结果的后一个目标 |
r+p(上面编辑r的用法) | 将光标之后的字符替换为字母p |
:s/word/replace(相对于行) | 光标所在行的第一个 word 替换为replace。 |
:%s/word/replace/(相对于全局) | 全文查找 word 并替换为 replace |
:1,50s/word/replace/(指定范围内,也就是行) | 在第1行和第50行之间(含)进行搜索和替换 |
:45s/word/replace/(固定行) | 表示仅仅在第45行进行搜索和替换。而 1,$ 行号范围和 % 是等价的 |
:%s/^/ 要插入的字符串 | 每行开头插入字符串 |
:%s/$/要插入的字符串 | 每行结尾插入字符串 |
剪切,复制,粘贴 | |
---|---|
dd | 删除一行,同时被删除内容存于剪贴板上 |
de | (不包含之后的空格)删除光标后的单词内容,同时被删除内容存于剪贴板上 |
dw | (包含空格)删除光标后的单词内容以及之后的空格,同时被删除内容存于剪贴板上 |
[N]dd | 删除以当前行开始的n行 |
x | (单字符) 删除后一个字符 |
X | 删除前一个字符 |
D | (区别在于光标不动,还在当前行,和dd相比)删除一行最后一个字符 |
[N]yy | 复制一行或者N行 |
yw | (单词相对于)复制一个单词 |
p | 粘贴 |
窗口操作 | |
---|---|
:vsplit | 水平方向分割出一个窗口 |
:split | 垂直方向分割出一个窗口 |
:close | 关闭窗口 |
Ctrl+W | 切换窗口, h到左边窗口,j到下方窗口,k到上方窗口,l到右边窗口 |