vim学习笔记——入门
一 删除
1 dw: 在normal模式下删除一个词,从光标所在位置删到下一个词第一个字母之前;
2 de:在normal模式下删除一个词,从光标所在位置删到当前词最后一个字母之后;
3 d$:删除一行,只删除有文本的行;
dd:删除一行,空白行也可以删除。
小结:关于OPERATORS和MOTION
vim中一些命令是根据操作符(OPERATOR)+方向(MOTION)形成的。如d操作符。
d MOTION
MOTION:
w--到下一个词的第一个字母;
e--到当前词的最后一个字母;
$--到当前行的最后一个字母。
如果在normal模式下,没有d操作符,则会光标如上所述移动。
另外,加上计数可以让命令重复操作,有两种格式,如下:
d COUNT MOTION
COUNT d MOTION
示例:d2w,删除包括当前词在内的两个词;2dw,同样。
二 撤销
1 u:恢复前一个命令所作的修改,譬如,使用x连续删除三个字符,那么连按三次u之后就会恢复;
2 U:在当前行的当前状态和前一状态间切换。譬如我在一行中连续删除两个字符,那么按U会恢复这两个字符;再次按U会回到删除后的状态。
3 CTRL+R:恢复u所作的动作。譬如,我删除了三个字符,使用u恢复,那么再按CTRL+R,就恢复到删除后的状态。
三 PUT命令
当执行删除操作的时候,会把删除的文本存放到寄存器中;当执行p命令的时候,会把寄存器中的文本粘贴到光标之后。
譬如,使用dw或de删除一个词,将光标移动到另一个地方,执行p命令,会粘贴到光标之后;
如果使用d$或dd删除一行,那么移动光标到另外一行执行p命令,会粘贴到当前行的下一行。
四 REPLACE命令
rx(x是一个字符)会用x替换掉光标当前所在的字符。
Rxxxxxxx替换掉多个字符。
五 CHANGE命令
ce 删除当前字符到当前词的最后一个字符(包含),将模式置为INSERT模式。
其实就是c MOTION这种命令格式,譬如cw,c$。
也可以使用c COUNT MOTION的格式。实质上相当于d COUNT MOTION命令之后再按i进入INSERT模式。
六 光标位置和文件状态
ctrl + g会在屏幕底行显示文件信息,包括总行数,当前行号,百分比,列数等;
直接按G会到达文件底部;
按gg会到达文件顶部;
“行号 G” 和“行号 gg”会到达指定的行号。
七 搜查命令
/word:从当前位置自上往下搜索;
?word:从当前位置自下往上搜索;
n:根据当前方向搜索下一个;
N:往当前反方向搜索上一个;
ctrl+o:回到上一个位置;
ctrl+I:回到下一个位置。譬如你按ctrl+o回到上一个位置,可以按ctrl+I到达前一个位置。
八 %命令
查找当前的小括号、中括号和大括号(),[],{}的配对。
九 正规表达式替换
:s/old/new 替换当前行的第一个old。old表示要被替换的词,new表示用来替换的词。
:s/old/new/g 替换当前行的所有old。
:#,#s/old/new/g #表示行号,替换这两个行(包含在内)中所有的old。
:%s/old/new/g 替换全文的old。
:%s/old/new/gc 替换全文的old,每次替换都询问。
九 执行外部命令
:! command 能够在vim中执行任何外部命令。
譬如,你在根目录下启动vim,那么:! pwd将会显示/root
十 另存为
:w filename可以将当前文件另存为filename
十一 在当前窗口中打开多个文件
:sp file 将以horizontal打开另一个文件
:vsp file 以vertical打开另一个文件
十二 选择文本行
在normal模式下直接按v,将进入visual选择模式,你只需移动光标,就会选择文本(高亮)
选择文本之后,可以针对这些文本进行操作,譬如d,删除这些文本;w filename 另存为一个文件等
十三 检索和合并文件
:r filename 将会在光标所在行的下一行插入filename文件中的文本
:r !command 只会将命令的输出插入。
十四 插入文本
a 在当前光标后插入
i 在当前光标前插入
A 在当前行行尾插入
十五 复制和粘贴
y 复制操作符
yw 复制一个词(包括下一个词之前的空格)
ye 同样复制一个词(不包括当前词后面的空格)
y$ 从当前光标位置复制到行尾
yy 复制当前行整行
p 在当前光标位置后粘贴
十六 设置选项
搜查一个词,譬如am,使用命令::/am
然后:set ic,按n,则不论am,Am,aM,AM都会被搜索到,如果取消,则用set noic
如果想要全文高亮,则设置hlserch和incserch,:set hls is
十七 自动完整命令
首先必须将vim设置为非兼容模式,set compatible?可以查询是否是兼容模式。set nocp设置为非兼容模式。set cp设置为兼容模式。
:e 然后按CTRL-D将会列出所有以e开头的命令
:e 然后按TAB将会自动完成命令,当然,如果e开头的命令有多个,那么将会自动选择第一个。
至此,你基本上会使用vim这个强大的文本编辑器了,呵呵

浙公网安备 33010602011771号