vi 常用命令总结

上一篇 / 下一篇  2010-10-16 21:57:44 / 个人分类:Linux

powerful vi,  I love it!!!

1.进入vi 的命令:
vi filename :      打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n 行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern 匹配的串处
vi -r filename :         在上次正用vi 编辑时发生系统崩溃,恢复filename
vi filename....filename :打开多个文件,依次进行编辑
:e!                                   reload the current file.
:e file.txt                         open the file.txt at current window

2.移动光标类命令:
h :光标左移一个字符
l : 光标右移一个字符
space:光标右移一个字符
Backspace:光标左移一个字符
k 或Ctrl+p:光标上移一行
j 或Ctrl+n :光标下移一行
Enter :光标下移一行
w 或W :光标右移一个字至字首
b 或B :光标左移一个字至字首
e 或E :光标右移一个字至字尾
) :光标移至句尾
( :光标移至句首
):光标移至段落开头
{:光标移至段落结尾
nG:光标移至第n 行首
n+:光标下移n 行
n-:光标上移n 行
n$:光标移至第n 行尾
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾

3.屏幕翻滚类命令:
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n 行滚至屏幕顶部,不指定n 时将当前行滚至屏幕顶部。
[ [ 连续按两下 到页首
] ]连续按两下到页末

4.插入文本类命令:
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC 键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
ncw 或nCW:修改指定数目的字
nCC:修改指定数目的行

5.删除命令:
ndw 或ndW:删除光标处开始及其后的n-1 个字
do:删至行首
d$:删至行尾 ( 相当于大写的D)
ndd:删除当前行及其后n-1 行
x 或X:删除一个字符,x 删除光标后的,而X 删除光标前的
Ctrl+u:删除输入方式下所输入的文本

6.搜索及替换命令:
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
:s/p1/p2/g:      将当前行中所有p1 均用p2 替代
:n1,n2s/p1/p2/g:将第n1 至n2 行中所有p1 均用p2 替代
:g/p1/s//p2/g:将文件中所有p1 均用p2 替换

7. 拷贝与粘贴:
</yw>  将光标所在单词拷入剪贴板
<y$> 将光标至行尾的字符拷入剪贴板(copy one line)
<Y>  作用同<y$>
<yy> 将当前行拷贝到剪贴板
 3yy表示将当前行往下3行拷贝到剪贴板 (copy 3 lines)
<p> 将剪贴板中的内容粘贴在光标后面
<P>  将剪贴板中的内容粘贴在光标前面


TAG:

 

评分:0

我来说两句

日历

« 2024-05-13  
   1234
567891011
12131415161718
19202122232425
262728293031 

我的存档

数据统计

  • 访问量: 18234
  • 日志数: 32
  • 建立时间: 2010-10-12
  • 更新时间: 2010-10-16

RSS订阅

Open Toolbar