Chinaunix首页 | 论坛 | 博客
  • 博客访问: 121436
  • 博文数量: 59
  • 博客积分: 275
  • 博客等级: 二等列兵
  • 技术积分: 345
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-28 21:46
文章存档

2012年(59)

我的朋友

分类: LINUX

2012-09-28 22:04:43

  
  

VI Visual interface的简称,通常称之为VI。它在Linux上的地位就像Edit程序在DOS上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他所没有的。

   VI 编辑器并不是一个排版程序,它不像WordWPS那样可以对、格式、段落等其他属性进行编排,它只是一个文本编辑程序。没有,只有命令,且命令繁多。Vi3种基本工作模式:命令行模式(Command Mode)、文本输入模式(Input Mode)和末行模式(Last line Mode)。

   三种模式之间切换的方法为:

  

指令模式(Command Mode):     输入  aio进入文本输入模式(Input Mode)

文本输入模式(Input Mode):   ESC进入指令模式(Command Mode

 

指令模式(Command Mode:      输入:进入末行模式(Last line Mode

末行模式(Last line Mode:   指令错误则返回指令模式(Command Mode

  

下面列出这三种模式下的常见命令

 

1、指令模式(Command Mode

指令模式主要使用方向键移动光标位置进行文字的编辑,下面列出了常用的操作命令及含义。

0  -----光标移动至行首

h  -----光标左移一格

l  -----光标右移一格

j  -----光标下移一行

k  -----光标上移一行

$+A-----将光标移动到该行最后

PageDn ----- 向下移动一页

PageUp ----- 向上移动一页

d+方向键 -----删除文字

dd -----删除整行

pp -----整行复制

r  -----修改光标所在的字符

S  -----删除光标所在的列,并进入输入模式

 

2、文本输入模式(Input Mode

在指令模式下(Command Mode)按aA键、i/I键、oO键进入文本模式,文本输入模式的命令及其含义如下所示。

a -----在光标后开始插入

A -----在行尾开始插入

i -----从光标所在位置前面开始插入

I -----从光标所在列的第一个非空白字元前面开始插入

o -----在光标所在列下新增一列并进入输入模式

O -----在光标所在列上方新增一列并进入输入模式

ESC -----返回命令行模式

 

3、末行模式(Last line Mode

末行模式主要进行一些文字编辑辅助功能,比如字串搜索、替代、保存文件等操作。主要命令如下

q -----结束Vi程序,如果文件有过修改,先保存文件

q! -----强制退出Vi程序

wq  -----保存修改并退出程序

set nu -----设置行号

 

     需要注意的是,以上指令都是在英文输入模式下才有效,在linux 终端下有时我们用的是中文输入模式,输入中文的“:”就不能转换模式了。

 

 

 

  为了便于查阅,下面对命令模式下常用的命令进行分类总结

  1.************关于退出:*************
:wq! ----强制保存退出
:wq  ----
保存退出
:  x   -----
作用和:wq 一样
ZZ  ----
作用和:wq一样,(注意Z是大写的,并且不是在命令模式)
:q  ----
退出
:q! ---  
强制退出

 

2.*************关于移动:*************
h : 在当前行向左移动一个字符
j:
移动到下一行
k:
移动到上一行
l:
在当前行向右移动一个字符
Ctrl +f:
向前滚动一页
Ctrl +b:
向后滚动一页
:n   
将光标定位到第n
:   $   
将光标定位到最后一行
0   
将光标定位到本行的行首
$   
将光标定位到本行的行尾
G   
将光标定位到本文章的最后一行,与:   $功能相同。
H   
将光标定位到屏幕的顶端
M   
将光标定位到屏幕的中间
L     
将光标定位到屏幕的底端

 

3.*************关于搜索*************
/: 后面跟要查找的东西,在文件中向前搜索
?:
后面跟要查找的东西,在文件中向后搜索
n:
向前重复搜索
N:
向后重复搜索

 

4.*************关于复制*************
yy: 复制光标当前行
nyy:
复制光标当前行到当前行以下的n-1
:1,100 co 200
1~100的内容复制到第200行。
:100,102 co $
100~102行的内容复制到最后一行。

 

5.*************关于粘贴:*************
p :   粘贴到当前行的下一行
P(
) :   粘贴到当前行的 上一行

 

6.*************关于删除.剪切:*************
dd  删除当前行
ndd  
nyy相似
dw  
删除一个单词
ndw  
ndd相似
x   
删除一个字符
nx   
删除n个字符
dG   
删除当前光标到文件末尾的所有内容。
d0   
删除当前光标到本行行首的所有内容
d$   
删除当前光标到本行行尾的所有内容
:1,100d  
删除1~100
:100d   
删除第100
:1,100 mo $  
1~100行的内容移动到最后一行。

 

7.*************关于插入*************
i:  在当前位置的字符前面进入插入模式
I:
在当前行的开头进行插入
a:
在当前位置的字符后面进入插入模式
A:
在当前行的结尾进行插入
o:  
在当前行下面打开一个新行进行插入
O:
在当前行上面打开一个新行进行插入

 

8.*************关于撤销:*************
u: 撤销上一次的更改

 

9.*************关于替换*************
r*egexp:是要匹配的式样
replacement:
是要替换的字符串*
*:s /regexp/replacement  -------------------------
替换当前行出现的第一个式样
:s/regexp/replacement/g-------------------------
替换当前行所有的匹配
:%s/regexp/replacement/g-----------------------
替换文件中所有匹配式样

*PS: 还有一个重要的命令就是"." 命令,这个命令是用来重复上一命令的*

阅读(708) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:makefile 文件

给主人留下些什么吧!~~