vim操作
-
常用操作
i - 光标插入
x - 当前光标删除一个字符
X - 删除当前光标前一个字符
J - 删除两行之间的换行符s
u - 撤销上一次操作
U - 撤销当前行操作
ctrl + r - 重做上一步,撤销的逆向
a - 当前光标下追加
o - 当前光标的下方新起一行并进入插入模式
O - 当前光标的上方新起一行并进入插入模式
h - 左
j - 下
k - 上
l - 右
以上4个方向如果前面带数字就表示移动多少 ,10j表示向下移动10行ZZ - 保存并退出,相当于 :wq
w - 移动光标到下一个词首
b - 移动光标到上一个词首
e - 移动光标到下一个词末
ge - 移动光标到上一个词末
f +’字符’ - 移动到本行下一个该字符处
% - 移动到括号匹配处(),包括[] 和 {}
gg - 到第一行
G - 到最后一行
数字 + G - 到指定行 , 30G(定位到第三十行)
ctrl+u - 向下滚动半屏 ,其实效果是往上翻半页
ctrl+d - 向上滚动半屏 ,其实效果是往下翻半页
ctrl+f - 正向滚动一整屏
ctrl+b - 反向滚动一整屏
ctrl+e - 向下滚动一行,相当于鼠标滚轮滑一下
ctrl+y - 向上滚动一行,ctrl+e的逆向操作
/ + 单词 - 正向查找单词 , n - 下一处
? + 单词 - 逆向查找单词 , n -下一处
把光标移到那个单词下面使用 “*” 命令。Vim 会取得光标上的 单 词并把它作为被查找的字符串。 “#” 命令在反向完成相同的功能。
”<” 只匹配单词的开头 ,”/<the”表示查找以the开头的词 “>” 匹配单词结尾, ,”/the>“表示查找以the结尾的词
^ + 单词 - 匹配一行,以单词开头的
单词 + $ - 匹配一行,以单词结尾的
可结合其他更强的正则表达式 . , ?, *等
dw - 删除一个单词,若跟量词则删除对应个数的单词,比如d4w,删4个.注意它会删除从当前位置到光标移动到的目标位置的全部内容。
xp - 当前光标字符和下一个字符交换位置
yw - 拷贝当前词,包括空白字符,如果你不想要这个字符,改用 “ye” 命令.
daw - 删除当前光标所在的单词,无论位于单词的哪个部分(delete a word)
“R” 命令启动替换模式
~ - 修改光标下字符的大小写,并移动到下一个字符。这不是一个操作符 (除非设置了 ’tildeop’),所以你不能连接一个动作命令。这个命令在 可视模式下也有效,它会改变被选中的所有文本的大小写。
I 移到当前行的第一个非空字符并启动插入模式。
A 移动到行尾并启动插入模式。
ctrl-v - 进入纵向编辑模式 >进入列编辑模式后,可以用hjkl或者其他命令来选择范围,也可以用w一个单词一个单词选择,最后进行操作,如果想批量插入,在进入列编辑选择了行之后,用I在行首插入
:s/XXX/YYY/g - 替换当前行XXX为YYY
:%s/XXX/YYY/g - 替换所有行XXX为YYY
C - 修改当前行,会抹掉当前当前光标至行尾的内容,立即进入插入模式
ct + 字母 - 修改当前光标到字母之间的内容,立即进入插入模式
s - 替换当前字符,相当于 x+i,删掉当前字符立即进入插入模式
cis - 删掉整行,移动到行首并进入插入模式
p - 粘贴的起始位置从你当前光标位置之后开始,根据你拷贝的内容,你要么粘贴字符或单词,要么粘贴行或列。如果想撤销粘贴,使用通用撤销命令“u”就可以了。
x + p -相当于剪切,vim的x会把删掉的存在缓冲区中,再粘贴就是刚才删掉的内容
ddp - 快速交换两行位置
ctrl+o+o - 插入模式中快速新起一行
ctrl+w - 插入模式中删掉光标前一个单词
ctrl+u - 插入模式中删掉光标所在行
> 增加缩进,”x>”表示增加以下x行的缩进
< 减少缩进,”x<”表示减少以下x行的缩进