vim的基本快捷操作(一)
一。光标移动
^ 到该行第一个非空格字符处。
+ 到下一行的第一个非空格字符处
- 到上一行的第一个非空格字符处
`. 到上次修改点
<c-o> 到上次所停留位置, <c-i> 返回到后来的位置
m{a-z} 标记i一个位置,`{a-z} 回到标记的位置
`` 到光标上一个标记处
:n+enter 到第n行(等于nG), n+enter 到下面第n行
gd 到函数定义处(暂时未用)
w 后一个词的开头,W 后一个词的开头(忽略标点)
w 后一个词的结尾,W 后一个词的结尾(忽略标点)
b 前一个词的开头,B 前一个词的开头(忽略标点)
fx 到本行第一次出现x的位置
nfx 到本行第n次出现x的位置
二。屏幕定位
<c-e> 屏幕上滚一行
<c-y> 屏幕下滚一行
zz 当前行作为屏幕中央
zt 当前行作为屏幕顶行
zb 当前行作为屏幕底行
(以上三条命令前加数字,意思是“第n行”)
三。缩进
>> 向后缩进,<< 向前缩进
== 自动对齐
四。多窗口
<c-w> n +/- 增加/减少当前窗口n行高度
<c-w> n >/< 增加/减少当前窗口n列宽度
<c-w>+r/x/R 与隔壁的窗口轮换
<c-w>+H/J/K/L 将当前窗口移动到最边缘并占据所有宽度/高度
五。 替换
(1):s/vivian/sky/ 替换当前行第一个 vivian 为 sky
:s/vivian/sky/g 替换当前行所有 vivian 为 sky
(2):n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
(n 为数字,若 n 为 .,表示从当前行开始到最后一行)
(3):%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky
:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky
(4)可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/