Vim初探索

本文作者是按照下面的文章来学习Vim的
https://coolshell.cn/articles/5426.html
本文主要目的是记录实践Vim的点滴,以及对上文进行一定的补充。


现在正文开始

第一级--存活

从一行中的当前位置复制到该行末尾:y$
s 删除一个字符并进入插入模式
F T 往回找

字符串替代

替换当前行

:s/str1/str2/     替换当前行第一个  str1->str2
:s/str1/str2/g     替换当前行所有   str1->str2

替换从第n行开始的所有行

:n,$s/str1/str2/       替换从第n行开始,每行第一个  str1->str2
:n,$s/str1/str2/g      替换从第n行开始的所有  str1->str2
:.,$s/str1/str2/g      替换当前行开始的所有  “.”代表当前行

替换确认:在g后面加上c
如:

:n,$s/str1/str2/gc

缩进

单行

向前 Ctrl+T
向后 Ctrl+D

多行

鼠标选中需要缩进的部分
按<或>(不是方向键,是书名号那个)进行向前或向后缩进。

移动光标,骚气走位

0到行首
n$ 下n行的行尾
n- n+ 移动n行并跳到行首
W 无视一些符号跳过(比如"-"号)E、B同理
f找到后,再用 ; 可以下一个
Ctrl+i Ctrl + o 在历史记录间跳跃
:ls 查看buffer,b数字跳转,bn下一个

删除

D 等价于 d$
cw 删除后立即进入插入模式
ilikeeatorange
dta:delete all content to a,结果字符串为"atorange"
dfa:delete all content from current location, until a is found,结果字符串为"torange"

翻看

Ctrl-u Ctrl-d 上下滚页码
Ctrl-y Ctrl-e 只滚一行

添加书签

快捷键 功能
m {a-zA-Z} 在当前光标位置设置书签,书签名可用一个大小写字母({a-zA-Z})
:marks 列出所有书签
'{a-zA-Z} 跳转到书签 {a-zA-Z}

其他

v virtual
V virtual line
virtual选中后 : norm 对每一行执行操作
vi 选中尖括号/双引号等里的内容 va 选中包括如"<"在内的全部
bve:跳转到单词开头,进入virtual模式,到单词末尾。于是整个单词就被选中了。
qu开始录制宏,再按q结束录制。@u可以重复执行录制的操作
xp 交换两个单词
ddp 交换两行

:make 编译运行
:cw 出现调错窗口

你可能感兴趣的:(Vim初探索)