x 删除光标位置的字符
i 在光标位置处插入字符
A 在当前行末尾处插入字符
vim .md 新建 .md文件。
dw 从光标处开始删除至一个单词的末尾
d$ 从光标处删除至行末
d motion
其中:
d -删除操作符
motion -操作符的操作对象
操作对象(!!可单独使用,进行光标的移动) w 从当前光标位置到下一个单词的起始处
e 当前光标位置到当前单词末尾 ge 当前光标移动到前一个单词的末尾
$ 光标位置到行末
即在动作之前输入数字,使它重复那么多次
2w 光标往后移动到第二个单词的起始处
3e 光标向后移动到第三个单词的末尾。
0 移动光标到行首
使用操作符时输入数字可以使它重复那么多次
d number(数字) motion
d2w 删除两个单词
d3d === 3dd 删除3行内容
u 撤销最后执行的命令
U 撤销对整行的修改
ctrl + R 可以重做被撤销的命令,即撤销 撤销命令。
置入类命令 c
p 将寄存器的内容置于光标之后。
(dd => p) 将删除的一行内容,放置到下一行。
输入r和一个字符,替换光标所在位置的字符。
ce 更改文本直到一个单词的末尾。
cw ...
c$ ... ce不仅删除了一个单词,也进入了插入模式。
CTRL + G 显示当前光标所在行位置以及文件状态信息。
G 跳转到文件最后一行
gg 跳转到第一行
number(行号)+ G:例如 198 G 则跳转到198行。
/ 加上字符串可以在当前文件中查找字符串
要继续往后查找该字符串,则按n。
往前查找该字符串,则按N。
逆序查找字符串,可用?替换 / 进行。
CTRL + O 可以回到之前的位置。
CTRL + I 会跳转到较新的位置。 可重复进行回退多步。
4.2 配对括号的查找 ), }, ]
在单个括号处按%,则会跳转到相匹配的另一半括号处。
输入 :s/old/new/g 可以替换old为new
:s/thee/the 将thee变为the,只改变光标所在行第一个匹配串。
:s/thee/the/g 替换当前整行的匹配串。
:#,#s/old/new/g 其中#,#代表替换操作的首尾行号,:5,10s/old/new 将第5行到10行的old变为new
:%s/old/new/g 对整个文件匹配串进行替换
:%s/old/new/gc 找到整个文件的匹配串,并对每个匹配串提示是否进行替换。
5. 在VIM内执行外部的命令
输入:!接着一个外部命令就可以执行外部shell命令
例如: :!ls , :!dir, :rm *.txt.
命令必须以回车键结尾。
:w TEST 将文件保存名为TEST.
v键进入可视模式进行选取
列编辑模式:
ctrl + v 进入列编辑模式,通过方向键选择编辑区域,shift+i,shift+a进行输入,也可以删除.
:r TEST 读取TEST文件的内容,从光标位置开始插入。
读取外部命令的输入,放置到光标下面:
:r !ls, 读取ls的内容写入光标下面。
输入o将在光标的下方打开新的一行并进入插入模式。
输入O大写,可以在光标上方打开新的一行进入插入模式。
a 在光标位置 之后 开始插入。
tips:a,i,A都会进入插入模式,区别在于字符插入的位置。
输入大写的R可连续替换多个字符,替换模式与输入模式类似,不过每个输入的字符都会删除一个已有的字符。
使用操作符y复制文本,使用p粘贴文本
yy复制当前行
y2y复制两行
yw 复制一个单词
可先 v 进入可视模式,移动光标之后按y进行复制。
:set ic 搜索时忽略大小写
:set hls is
is: 显示部分匹配
移除高亮: :nohlsearch
仅在一次搜索中忽略大小写(\c): /ignore\c
选项前加上no可以关闭选项 :set noic
:help
.vimrc