一.基本命令
1.光标命令
k、j、h、l — 上、下、左、右光标移动命令。
Ctrl+G — 光标所在位置的行数和列数报告。
w、b — 使光标向前或向后跳过一个单词。
k、j、h、l — 上、下、左、右光标移动命令。
Ctrl+G — 光标所在位置的行数和列数报告。
w、b — 使光标向前或向后跳过一个单词。
$、^ — 使光标移动到行尾或行首第一个非空字符。
% — 检查括号的配对情况。
gg、G、nG — 光标移动到第一行或最后一行或指定行上。
w、b — 光标以单词向前移动或向后移动。
w、b — 光标以单词向前移动或向后移动。
CTrl + F、CTrl + B — 向前翻页或向后翻页。
2.编辑命令
i、a、r — 在光标的前、后以及所在处插入字符命令(i=insert、a=append、r=replace)。
cw、dw — 改变(置换)/删除光标所在处的单词的命令 (c=change、d=delete)。
x、d$、dd — 删除一个字符、删除光标所在处到行尾的所有字符以及删除整行的命令。
u — 撤销上一次的编辑。
dl — 删除当前光标下的字符。
dh — 删除当前光标左边的字符。
c$ — 修改到行尾。
cl — 修改当前光标下的字符。
cc — 修改一整行。
xp — 交换光标下的字符和它后面的一个字符的位置。
3.查找命令
/string、?string — 从光标所在处向后或向前查找相应的字符串的命令。
/string> — 只匹配单词的末尾。
/string< — 只匹配单词的开头
/<string> — 匹配一个完整的单词。
n — 遍历所有的查找结果。
4.拷贝复制命令
yy、p — 拷贝一行到剪贴板或取出剪贴板中内容的命令。
nyy、p — 拷贝n行到剪切板或取出剪切板中的内容。
4.拷贝复制命令
yy、p — 拷贝一行到剪贴板或取出剪贴板中内容的命令。
nyy、p — 拷贝n行到剪切板或取出剪切板中的内容。
y$ — 拷贝当前光标到行尾。
nyy — 拷贝n行。
5. 拆分窗口
Split — 横向拆分窗口。
Shift + W — 窗口之间切换。
Close — 关闭拆分窗口。
二.
Vim
使用技巧集锦
(%
也可以指定特定行
,
如
: 2s
或
1,3s
)
r /path/file.txt — 在现在打开的文件中光标所在处读入/path/file.txt文件的内容。
x, yd — 删除x行和y行之间的所有内容,包括x和y行。
$s/^/insertstring/ — 给光标当前所在行的开头插入指定的字符串。
x, $s/^/insertstring/ — 从x行开始到结束在每一行的开头插入指定的字符串。
x, ys/^/insertstring/ — 在x行到y行的每一行的开头插入指定的字符串。
%s/$/insertstring/g — 给文件中每一行的结尾添加指定字符串(指定行时不用g)。
%s/string1/string2/g — 将文件中所有的string1替换成string2(指定行时不用g)。
%s#/usr/bin#/bin#g — 把文件中所有路径/usr/bin换成/bin。
help command — 查找命令的帮助信息。
三
. vim
选项
- shiftwidth(缩进的空格数);
- tabstop(制表符的宽度);
- expandtab(是否在缩进和遇到Tab键时使用空格替代;使用noexpandtab取消设置);
- softtabstop(软制表符宽度,设置为非零数值后使用Tab键和Backspace时光标移动的格数等于该数值,但实际插入的字符仍受tabstop和expandtab控制);
- autoindent(自动缩进,即每行的缩进值与上一行相等;使用noautoindent取消设置);
- cindent(使用C语言的缩进方式,根据特殊字符如"{"、"}"、":"和语句是否结束等信息自动调整缩进;在编辑C/C++等类型文件时会自动设定;使用nocindent取消设置);
- cinoptions(C语言缩进的具体方式,请参考":help cinoptions-values");
- paste(粘贴模式,会取消所有上述选项的影响来保证后面的操作--通常是从剪贴板粘贴代码--保持原有代码的风格;使用nopaste取消设置)。