宏指令(Macros):
qa=开始在寄存器A中记录宏
q=结束记录
@a=寄存器A中的重放宏
多文件(Multi-File):
:e文件名=编辑一个新的缓冲区中的文件
:bn =转到下一个缓冲区
:bd=删除缓冲器(关闭文件)
:sp fn=打开新缓冲区和拆分窗口中的文件
窗口命令(ctrl-w - window commands):
ctrl-w s =分裂窗口
ctrl-w w =开关窗口
ctrl-w q =退出窗口
ctrl-w v =垂直分离窗口
选项卡命令(Tab Commands):
:tabe fn=新标签中的编辑文件
gt=下一个选项卡
gT=以前的标签
:tabr =第一个选项卡
:tabl =最后一个选项卡
:tabm [N] =移动当前选项卡到底N个选项卡之后
退出(Exiting)
:w=保存
:wq =保存和退出
:x=保存和退出
:q=退出,但如果未保存,则失败
:q!=强制退出,不保存
搜索/替换(Search/Replace)
/pattern=搜索pattern
? pattern=向后搜索pattern
n=同方向重复搜索
N =相反方向的重复搜索
:s/old/new/g=用new替换整个文件所有old
:s/old/new/gc=用new替换所有old并确认每一个
浏览模式(Visual Mode):
标记文本(Marking Text):
v=启动视觉模式
V =启动行视觉模式
ctrl-v=启动分块视觉模式
o/O=移动到标记区域结束的另一端
U=标记区域的上部
aw=标记单词
ab =带括号的块(括号)
aB=带括号的块(大括号)
ib =内()块
iB=内{}块
命令(Commands):
>=右移
<=左移
y=复制
d=删除
~=切换状态(改变大小写)
剪切和粘贴(Cut and Paste)
dd=删除(剪切)一行
dw =删除当前单词
x=删除当前字符
X=删除以前的字符
D=删除到行结束
yy=复制一行
2yy=复制2行
yw=复制单词
y$=复制到行结束
p=在光标/当前行之后放置剪贴板
P=在光标/当前行之前放置剪贴板
]p=放置剪贴板并适当缩进
"a =使用一个名为a的寄存器,用于下一个复制/粘贴操作
编辑(Editing)
r =替换单个字符(!插入模式)
J=下面的行连接到当前行
cc=改变整行
cw =改变到单词的末尾
c$ =改变到行尾
s=在光标处删除字符替换文本
S =在光标处删除行并替换文本
xp =转换字符位置
u=撤消
ctrl-r =重做
.=重复最后命令
~=切换状态(改变大小写)
g~iw=切换当前单词状态
gUiw=使当前单词大写
guiw=使当前单词小写
>>=向右缩进一列(即tab制表符间隔)
<< =向左缩进一列(即tab制表符间隔)
== =自动缩进当前行
插入模式(Insert Mode)
i=在光标处插入
I=在行的开头插入
a=在光标之后追加
A=在行的末尾追加
o=当前行下方打开空白行
O=当前行上方打开空白行
Esc=退出插入模式
完成然后写入一些字符(Completions(type a few chars then))
ctrl-n=下一个完成
ctrl-p=先前完成
光标移动(Cursor Movement)
h,j,k,l
ctrl-f=向上翻页
ctrl-b=向下翻页
%=跳转到匹配的大括号处
w/W=跳到下一个单词的开始(包括标点符号)
e/E=跳到单词的末尾(包括标点符号)
b/B=跳到单词的开始(包括标点符号)
0=跳到行的开始
^=跳到行的第一个字符
终点=美元
$=跳到行的结束
gg=跳到第一行
gd=跳到函数或者变量的定义
[N]G=跳到第N行或最后一行
fx=将光标移动到当前行上下一个字符X的前面
;=重复最后的查找字符命令即(fx)
tx=将光标移动到当前行上下一个字符X的前一个字符
)/(=将光标移到下/前一个句子
*=读取光标下的字符串并转到下一个相同字符串位置
#=读取光标下的字符串并转到上一个相同字符串位置
`.=跳到最后一次编辑的位置
屏幕上的(Screenwise):
H =将光标移动到屏幕上的最高行
M=将光标移到屏幕中间
L=将光标移动到屏幕的最低行
书签(Bookmarks)
ma=在当前光标位置创建书签名称A
`a=去书签A(背书,不是单引号)
位置符号(./$[-数值] 当前位置/文本末尾[去掉指定数值行数]),位置符号命令符号 从指定位置符号的位置开始到指定位置符号的位置结束执行指定命令符号的命令