h---将光标向左移一个字符
j---将光标向下移一个字符
k---将光标向上移一个字符
l---将光标向右移一个字符
w---将光标向前移一个单词
b---将光标向后移一个单词
e---将光标移到下一个单词之后
0---将光标移到行首
$---将光标移到行末)
)---将光标移到下一句句首
(---将光标移到上一句句首
}---将光标移到下一段开始处
{---将光标移到下一段开始处
G---将光标移到当前文档的底部
^---将光标移到行内非空格的第一个字符
H---将光标移到屏幕上第一行
L---将光标移到屏幕上最后一行
在vi中滚动屏幕:
z然后按回车---移至屏幕顶部
z然后按"-"---移至屏幕底部
z然后按"."---移至屏幕中部
Ctrl+u------向上滚动半屏
Ctrl+d------向下滚动半屏
Ctrl+f------向前滚动全屏
Ctrl+b------向后滚动全屏
Ctrl+e------向下滚动一行
Ctrl+y------向上滚动一行
vi的文本编辑命令:
D------从光标定位的行末删除文本
dd------行删除光标定位的当前行
ndd-----n代表即将删除的行数
rc------光标下方的字符将被替换为r后面的字符c
R------R后键入的文本将改写当前文本,直到按下Escape返回命令模式为止
S------删除当前行,并开始在当前的空白行插入文本
x------删除光标下方的字符,并将字符右移填空
X------删除光标前的字符,并移动字符,令光标下方的字符来填空
~------更改光标下方的字母的大小写
J------将当前行和前一行连接起来,并删除因此而来的空行
vi中的文件操作:
ZZ------保存对当前文件的更改,然后退出
:wq-----保存对当前文件的更改,然后退出vi(和ZZ一样)
:w------保存对当前文件的更改
:w!-----保存对当前文件的更改,如果有同名文件存在的话,就改写他
:q------退出vi。如果有未保存的更改,vi将发出抱怨,并"拒绝"退出
:q!-----退出vi,即使还有尚未保存的更改。所有未保存的更改将被丢失
:e filename-把指定文件载入vi进行编辑。如果指定文件不存在,将创建一个新文件
:e!-----丢失所有更改,并从硬盘中重载已保存的文件
vi中的查找和替换命令
/pattern--------pattern(样式)指代的是要查找的内容。vi将在文件中向前查找与指定内容匹配的第一样式
/-----------重复上一次查找,在文件中查找下一个匹配样式
?pattern--------pattern(样式)指代的是要查找的内容。vi将在文件中向后查找与指定内容匹配的第一样式
?-----------重复上一次查找,在文件中查找与上一次查找内容匹配的样式
%-----------把当前光标移至匹配的圆括号或方括号。对程序员来说,该命令非常有用
:s/pattern1/pattern2--用pattern2替换当前行中与pattern1匹配的每个内容
:%s/pattern1/pattern2--用pattern2替换整个文件中与pattern1匹配的每个内容
vi中的yank命令
yw-------把光标当前所在的单词移到缓冲区
y$-------把当前行及其以前的所有文本移到缓冲区
yy-------把当前行整行移到缓冲区
nyy-------n代表打算移到缓冲区的文本的行数。例如5yy将把当前行和紧随其后的4行移到缓冲区