Chinaunix首页 | 论坛 | 博客
  • 博客访问: 57231
  • 博文数量: 35
  • 博客积分: 1440
  • 博客等级: 上尉
  • 技术积分: 290
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-14 07:30
文章分类

全部博文(35)

文章存档

2011年(1)

2010年(2)

2009年(32)

我的朋友

分类:

2009-11-24 18:26:51

一般模式:移动光标的方法

h (<)
光标向左移动一个字符:   光标向左移动一个字符
j  (V)
光标向下移动一个字符:   光标向下移动一个字符
k ( ^)
光标向上移动一个字符:  光标向上移动一个字符
l  (>)
光标向右移动一个字符:   光标向右移动一个字符

 

如果想要进行多次移动的话,例如向下移动30行,可以使用“30j”或“30(V下箭头)的组合键,即加上想要进行的行数(数字)

 

ctrl+f 屏幕“向下”移动一页,相当于【page down】按键

ctrl+b 屏幕“向上”移动一页,相当于【page up】按键

ctrl+d 屏幕“向下”移动半页

ctrl+u 屏幕“向上”移动半页

  

   其中[ctrl]+f,[ctrl]+b常用

 

+               光标移动到非空格符的下一行
-               
光标移动到非空格符的上一行
n n
表示“数字”,按下数字后再按空格键,光
                
标会向右移动这一行的n个字符
,20
                
则光标会向后面移动20个字符距离

0              
数字“0”,移动到这一行的最前面字符处            
                 (
常用
)
$              
移动到这一行的最后面字符处(常用)

 

H             光标移动到这个屏幕的最上方那一行
M           
光标移动到这个屏幕的中央那一行
L             
光标移动到这个屏幕的最下方那一行
G            
移动到这个文件的最后一行(常用)
nG           n
为数字,移动到这个文件第n行。例如20G

               
会移动到这个文件的第20(配合:set nu使用)
gg           
移动到这个文件的第一行,相当于
1G
n n
为数字,光标向下移动n

 

/word     从光标位置开始,向下寻找一个名为word的字符串。

               如非编辑模式下键入/num,则查找num的字符串。

               (常用)

           从光标位置开始,向上寻找一个名为word的字符串

n            n为键盘上的按键,表示重复前一个搜索的动作。如 

              通过/word查找某个字符串,n为继续向下搜索下个

              名为word的字符串,同理,如果前一个命令式执行?

               Word,则按下n为继续向上搜索下一个为word的字

              符串

N           N为键盘上的按键,表示反向进行前一个搜索操作,

              n相反。

 

:n1,n2s/word1/word2/g
n1
n2为数字。在第n1n2行之间寻找word1字符串,并将该字符串替换为word2.

:1,$s/word1/word2/g
从第一行到最后一行寻找word1字符串,并将该字符串替换为word2

:1,$s/word1/word2/gc
 
从第一行到最后一行寻找word1字符串,并将该字符串替换为word2.且在替换前显示提示符给用户确认是否需要替换

 


一般模式:删除,复制与粘贴

 

xX        在一行字中,x为向后删除一个字符,相当于                    

              del, X为向前删除一个字符,相当【backspace

                (常用)

nx            n为数字,连续相后删除n个字符。

dd           删除光标所在的那一整行(常用)

ndd         n为数字。从光标位置开始,删除向下n行,例如

               20dd则是删除20(常用)

d1G        删除光标所在位置到第一行的所有数据

dG          删除光标所在位置到最后一行的所有数据

d$          删除光标所在位置到该行的最后一个字符

d0          d的后面是数字0,删除光标所在处到该行的最前面

              一个字符

yy             复制光标所在的那一行(常用)

nyy           n为数字。复制光标所在的向下n行,例如20yy

                 则是复制20(常用)

y1G           复制光标所在行到第一行的所有数据

yG             复制光标所在行到最后一行的所有数据

y0             复制光标所在的那个字符到该行首的所有数据

y$             复制光标所在的那个字符到该行行尾的所有数

                

pP          p为将已复制的数据粘贴到光标的下一行,P则为贴在光标上

                  一行。举例来说,当前光标在第20行,且已经复制了10行数

                  据。则按下p后, 10行数据会贴在原来的20行之后,即由

                  21行开始贴。但如果按下P 那么原来的第20行会被变成30

                  行。 (常用)

J                将光标所在行与下一列的数据结合成同一行

c                重复删除多个数据,例如向下删除10行,10cj

u                复原前一个操作(常用)

ctrl+r  重做上一个操作(常用)

u与【ctrl+r是很常用的命令。一个是复原,另一个则是重做一次。

.                 这就是小数点。意思是重复前一个动作。如果想重复删除,

                  重复粘贴,小数点"."就可以。


进入编辑模式

i,I         插入;在当前光标所在处插入文字,已存在的文字会向后

            退;其中,i为”从当前光标所在处插入“,I为“在当前所

            在行的第一个非空格符处开始插入” (常用)

a,A       a为“从当前光标所在的下一个字符处开始插入",A"从光

            标所在行的最后一个字符处开始插入" (常用)

o,O      英文字母o的大小写。o为“在当前光标所在的下一行处插

            入新的一行”;O为“在当前光标所在处的上一行插入新的

            一行” (常用)

r,R        替换:r为替换光标所在的那一个字符;R会一直替换光标

            所在的文字,知道按下Esc键为止(常用)

使用上面这些按键时,在vi画面的左下角处会出现“--INSERT--"或”--REPLACE--"的字样。通过名称就知道是什么操作。

Esc   退出编辑模式,回到一般模式中(常用)


命令行命令模式

 

w       将编辑的数据写入硬盘文件中(常用)

w    若文件属性为“只读”时,强制写入该文件。最终能不能写入,与文件权限有关。

q       离开vi (常用)

q!      若曾修改过文件,又不想存储,使用!为强

             制离开不存储修改过的文件

wq     存储后离开,若为:wq!则为强制存储后离

             (常用)

e    将文件还原到最原始的状态

ZZ        若文件没有更改,则不存储离开,若文件已

            经更改,则存储后离开

w [filename]         将编辑的数据存储成另一个文件

r [filename]          在编辑的数据中,读入另一个文件

                                数据。即将“filename”这个文

                                件内容加到光标所在行的后面

n1,n2w[filename] n1n2的内容存储成filename

                               

:! command        暂时离开vi到命令行模式下执行

                                command的显示结果。

                                例如“:!ls /home",即可在vi中查看

                                ls输出的/home中的文件信息

set nu                   显示行号,设置之后,会在每一行    

                                的前缀显示该行的行号

set nonu              set nu相反,为取消行号

 

阅读(462) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~