Chinaunix首页 | 论坛 | 博客
  • 博客访问: 635654
  • 博文数量: 54
  • 博客积分: 3812
  • 博客等级: 上校
  • 技术积分: 992
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-16 20:53
文章分类

全部博文(54)

文章存档

2010年(10)

2009年(24)

2008年(20)

分类: LINUX

2008-05-05 20:05:49

读《鸟哥的Linux私房菜》时所作的笔记。
 

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

h或向左方向键

光标向左移动一个字符

j或向下方向键

光标向下移动一个字符

k或向上方向键

光标向上移动一个字符

l或向右方向键

光标向右移动一个字符

如果想要进行多次移动的话,例如向下移动20行,可以使用“20j”的组合键,即加上想要进行的次数后,操作即可

[ctrl]+[f]

屏幕向下移动一页

[ctrl]+[b]

屏幕向上移动一页

[ctrl]+[d]

屏幕向下移动半页

[ctrl]+[u]

屏幕向上移动半页

+

光标移到非空格符的下一行

光标移到非空格符的上一行

n

n表示数字,例如20,按下数字后再按键,光标会向右移动这一行的n个字符。例如20则光标会向后面移动20个字符距离

0

这是数字0,移动到这一行的最前面字符处

$

移动到这一行最后面字符处

H

光标移动到这个屏幕的最上方那一行

M

光标移动到这个屏幕中央那一行

L

光标移动到这个屏幕最下面那一行

G

移动到这个文件的最后一行

nG

n为数字,移动到这个文件的第n

gg

移动到这个文件的第一行,相当于1G

n

n为数字,光标向下移动n

 

一般模式:搜索和替换

/word

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

?word

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

n

n是英文按键,表示“重复前一个搜索的动作”

N

这个N是英文按键,与n刚好相反,为“反向”进行前一个搜索操作

:n1,n2 s/word1/word2/g

n1n2为数字,在第n1n2行之间寻找word1这个字符串,并将该字符串替换为word2

:1, $ s/word1/word2/g

从第一行到最后一行寻找word1字符串,并将该字符串替换成word2

:1, $ s/word1/word2/gc

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

 

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

x,X

在一行字中,x为向后删除一个字符,X为向前删除一个字符

nx

n为数字,连续向后删除n个字符,如要连续删除10个字符,则输入“10x

dd

删除光标所在的那一整行

ndd

n为数字,从光标位置开始,删除向下n

d1G

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

dG

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

d$

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

d0

删除光标所在位置到该行的最前面一个字符

yy

复制光标所在的那一行

nyy

复制光标所在的向下n

y1G

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

yG

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

y0

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

y$

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

p,P

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

J

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

c

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

u

复原前一个操作

[ctrl]+r

重做上一个动作

.

小数点,意思是重复前一个动作,如果想重复删除、重复粘贴,按下小数点就可以了

 

进入编辑模式

i,I

插入,在当前光标处插入输入文字,已存在的文字会向后退,其中,i为“从当前光标所在处插入”,I为在当前所在行的第一个非空格符处开始插入

a,A

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

o,O

o为在当前光标所在的下一行处插入新的一行,O为在当前光标所在的上一行插入新的一行

r,R

替换,r会替换光标所在的那一个字符,R会一直替换光标的居的文字,直到按下Esc为止

 

命令行命令模式

:w

将编辑的数据写入硬盘文件中

:w!

若文件属性为只读时,强制写入该文件

:q

离开vi

:q!

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

:wq

将文件存储后离开

:e!

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

ZZ

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

:w [filename]

将编辑的数据存储成另一个文件(类似于另存新文件)

:r [filename]

在编辑的数据中,读入另一个文件的数据,即将“filename”这个文件内容加到光标所在行的后面

:n1, n2 w [filename]

n1 n2的内容存储到filename文件

:!command

暂时离开vi到命令行模式下执行command的显示结果

:set nu

显示行号,设置之后,会在每一行的前缀显示该行的行号

:set nonu

set nu相反, 为取消行号

 

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