详细命令列表可在线查阅:
http://wiki.ubuntu.org.cn/index.php?title=UbuntuSkills&variant=zh-cn
vim:
进入vim
%vim test 此刻屏幕上会出现 vim 的编辑视窗,同时 vim 会将文件复制一份至记忆体中的缓冲区 (buffer) 。 vim会保留在磁盘中的文件不变,而先对缓冲区的文件作编辑,编辑完成后,使用者可决定是否要取代原来旧有的文件。
离开vim 若在输入模式下,则先利用《ESC》进入指令模式,而后即可选用下列指令离开vim。
:q! 离开vim,并放弃刚在缓冲区内编辑的内容。
:wq 将缓冲区内的资料写入磁盘中,并离开vim。
:ZZ 同wq。
:x 同wq。
:w 将缓冲区内的资料写入磁盘中,但并不离开vim。
:q 离开vim,若文件被修改过,则会被要求确认是否放弃修改的内容。
vim 的操作模式
vim 提供两种操作模式:输入模式(insert mode)和指令模式(command mode)。当使用者进入 vim 后,即处在指令模式下,此刻键入之任何字符皆被视为指令。在此模式下可进行删除、修改等动作。若要输入资料,则需进入输入模式。
输入模式
如何进入输入模式
a (append) 由光标之后加入资料。
A 由该行之末加入资料。
i (insert) 由光标之前加入资料。
I 由该行之首加入资料。
o (open) 新增一行于该行之下供输入资料之用。
O 新增一行于该行之上供输入资料之用。
如何离开输入模式
《ESC》 结束输入模式。
指令模式
光标之移动
h 向左移一个字符。
J 向上移一个字符。
K 向下移一个字符。
L 向右移一个字符。
移至该行之首
$ 移至该行之末。
^ 移至该行的第一个字符处。
H 移至视窗的第一列。
M 移至视窗的中间那列。
L 移至视窗的最后一列。
G 移至该文件的最后一列。
+ 移至下一列的第一个字符处。
- 移至上一列的第一个字符处。
( 移至该句之首。 (注一)
) 移至该句之末。
{ 移至该段落之首。 (注二)
} 移至该段落之末。
nG 移至该文件的第 n 列。
n+ 移至光标所在位置之后的第 n 列。
n- 移至光标所在位置之前的第 n 列。
注一:句子(sentence)在vim中是指以『!』、『.』或『?』结束的一串字。
注二:段落(paragraph)在vim中是指以空白行隔开的文字.
视窗的移动
^F 视窗往下卷一页(front)
^B 视窗往上卷一页(back)
^D 视窗往下卷半页(down)
^U 视窗往上卷半页(up)
^E 视窗往下卷一行
^Y 视窗往上卷一行
^表示Ctrl
Operator + Scope command
运算子:
d 删除指令。删除资料,但会将删除资料复制到记忆体缓冲区。
y 将资料(字组、行列、句子或段落)复制到缓冲区。
p 放置(put)指令,与 d 和 y 配和使用。可将最后delete或yank的资料放置于光标所在位置之行列下。
c 修改(change)指令,类似delete与insert的组和。删除一个字组、句子等之资料,并插入新键资料。
范围:
e 由光标所在位置至该字串的最后一个字符。
w 由光标所在位置至下一个字串的第一个字符。
b 由光标所在位置至前一个字串的第一个字符。
$ 由光标所在位置至该行的最后一个字符。
由光标所在位置至该行的第一个字符。
) 由光标所在位置至下一个句子的第一个字符。
( 由光标所在位置至该句子的第一个字符。
{ 由光标所在位置至该段落的最后一个字符。
} 由光标所在位置至该段落的第一个字符。
整行动作:
dd 删除整行。
D 以行为单位,删除光标后之所有字符。
cc 修改整行的内容。
yy yank整行,使光标所在该行复制到记忆体缓冲区。
删除与修改
x 删除光标所在该字符。
X 删除光标所在之前一字符。
dd 删除光标所在该行。
r 用接于此指令之后的字符取代(replace)光标所在字符。如: ra 将光标所在字符以 a 取代之。
R 进入取代状态,直到《ESC》为止。
s 删除光标所在之字符,并进入输入模式直到《ESC》。
S 删除光标所在之该行资料,并进入输入模式直到《ESC》。
取消前一动作(Undo) 即复原执行上一指令前的内容。
u 恢复最后一个指令之前的结果。
U 恢复光标该行之所有改变。
搜寻 在vim中可搜寻某一字串,使光标移至该处。
/字串 往光标之后寻找该字串。
?字串 往光标之前寻找该字串。
n 往下继续寻找下一个相同的字串。
N 往上继续寻找下一个相同的字串。
环境的设定
:set nu 设定资料的行号。
:set nonu 取消行号设定。
:set ai 自动内缩。
:set noai 取消自动内缩。
自动内缩(automatic indentation)
删除、复制及移动
:10,20d 删除第10行至第20行的资料。
:10d 删除第10行的资料。
:%d 删除整个编辑缓冲区。
:10,20co30 将第10行至第20行的资料复制至第30行之后。
:10,20mo30 将第10行至第20行的资料移动至第30行之后。
详细命令列表可在线查阅:
http://wiki.ubuntu.org.cn/index.php?title=UbuntuSkills&variant=zh-cn