- 论坛徽章:
- 0
|
[color="#000000"]一般模式:移动光标的方法
[color="#000000"]h或向左方向键(←)
[color="#000000"]光标向左移动一个字符
[color="#000000"]j或向下方向键(↓)
[color="#000000"]光标向下移动一个字符
[color="#000000"]k或向上方向键(↑)
[color="#000000"]光标向上移动一个字符
[color="#000000"]l或向右方向键(→)
[color="#000000"]光标向右移动一个字符
[color="#000000"]如果想要进行多次移动的话,例如向下移动30行,可以使用“30j”或“30↓”的组合键,
[color="#000000"]即加上想要进行的次数(数字)后,操作即可
[Ctrl]
+ [f]
屏幕“向下”移动一页,相当于
[Page
Down] [color="#000000"]按键([color="#000000"]常用[color="#000000"])
[Ctrl]
+
屏幕“向上”移动一页,相当于
[Page
Up] [color="#000000"]按键([color="#000000"]常用[color="#000000"])
[Ctrl]
+ [d]
[color="#000000"]屏幕“向下”移动半页
[Ctrl]
+
[color="#000000"]屏幕“向上”移动半页
[color="#000000"]一般模式:移动光标的方法
[color="#000000"]+
[color="#000000"]光标移动到非空格符的下一行
[color="#000000"]-
[color="#000000"]光标移动到非空格符的上一行
n
[color="#000000"]n表示“数字”,例如20。按下数字后再按空格键,光标会向右移动这一行的n个字符。例如20
则光标会向后面移动20个字符距离
[color="#000000"]0
[color="#000000"]这是数字“0”[color="#000000"]:移动到这一行的最前面字符处([color="#000000"]常用[color="#000000"])
[color="#000000"]$
[color="#000000"]移动到这一行的最后面字符处([color="#000000"]常用[color="#000000"])
[color="#000000"]H
[color="#000000"]光标移动到这个屏幕的最上方那一行
[color="#000000"]M
[color="#000000"]光标移动到这个屏幕的中央那一行
[color="#000000"]L
[color="#000000"]光标移动到这个屏幕的最下方那一行
[color="#000000"]G
[color="#000000"]移动到这个文件的最后一行([color="#000000"]常用[color="#000000"])
[color="#000000"]nG
[color="#000000"]n为数字。移动到这个文件的第n行。例如20G则会移动到这个文件的第20行(可配合
:set
nu)
[color="#000000"]gg
[color="#000000"]移动到这个文件的第一行,相当于1G[color="#000000"]([color="#000000"]常用[color="#000000"])
n
[color="#000000"]n[color="#000000"]为数字。光标向下移动n[color="#000000"]行([color="#000000"]常用[color="#000000"])
[color="#000000"]一般模式:搜索与替换
[color="#000000"]/word
[color="#000000"]从光标位置开始,向下寻找一个名为word[color="#000000"]的字符串。例如要在文件内搜索vbird这个字符串,就输入
/vbird[color="#000000"]即可([color="#000000"]常用[color="#000000"])
[color="#000000"]?word
[color="#000000"]从光标位置开始,向上寻找一个名为word的字符串
[color="#000000"]n
[color="#000000"]n是英文按键。表示“重复前一个搜索的动作”。举例来说,如果刚刚执行
/vbird去向下搜索vbird字符串,则按下n后,会向下继续搜索下一个名称为vbird的字符串。如果是执行
?vbird的话,那么按下n,则会向上继续搜索名称为vbird的字符串
[color="#000000"]N
[color="#000000"]这个N是英文按键。与n刚好相反,为“反向”进行前一个搜索操作。例如
/vbird后,按下N则表示“向上”搜索vbird
[color="#000000"]一般模式:搜索与替换
[color="#000000"]:n1、n2s/word1/word2/g
[color="#000000"]n1[color="#000000"]与n2[color="#000000"]为数字。在第n1[color="#000000"]与n2[color="#000000"]行之间寻找word1[color="#000000"]这个字符串,并将该字符串替换为word2[color="#000000"]。举例来说,在100[color="#000000"]到200[color="#000000"]行之间搜索vbird[color="#000000"]并替换为VBIRD[color="#000000"]则:“:100[color="#000000"]、200s/vbird/VBIRD
/g”[color="#000000"]([color="#000000"]常用[color="#000000"])
[color="#000000"]:1、$s/word1/word2/g
[color="#000000"]从第一行到最后一行寻找word1[color="#000000"]字符串,并将该字符串替换为word2[color="#000000"]([color="#000000"]常用[color="#000000"])
[color="#000000"]:1、$s/word1/word2/gc
[color="#000000"]从第一行到最后一行寻找word1[color="#000000"]字符串,并将该字符串替换为word2[color="#000000"]。且在替换前显示提示符给用户确认(conform[color="#000000"])是否需要替换([color="#000000"]常用[color="#000000"])
[color="#000000"]一般模式:删除、复制与粘贴
x,
X
[color="#000000"]在一行字中,x为向后删除一个字符(相当于
[Del]
[color="#000000"]按键),X为向前删除一个字符(相当于
[backspace]
[color="#000000"]即退格键)([color="#000000"]常用[color="#000000"])
[color="#000000"]nx
[color="#000000"]n为数字,连续向后删除n个字符。举例来说,要连续删除10个字符,则输入“10x”
[color="#000000"]dd
[color="#000000"]删除光标所在的那一整行([color="#000000"]常用[color="#000000"])
[color="#000000"]ndd
[color="#000000"]n[color="#000000"]为数字。从光标位置开始,删除向下n[color="#000000"]列,例如20dd[color="#000000"]则是删除20[color="#000000"]列([color="#000000"]常用[color="#000000"])
[color="#000000"]d1G
[color="#000000"]删除光标所在位置到第一行的所有数据
[color="#000000"]dG
[color="#000000"]删除光标所在位置到最后一行的所有数据
[color="#000000"]d$
[color="#000000"]删除光标所在位置到该行的最后一个字符
[color="#000000"]d0
[color="#000000"]d的后面是数字0,删除光标所在处,到该行的最前面一个字符
[color="#000000"]yy
[color="#000000"]复制光标所在的那一行([color="#000000"]常用[color="#000000"])
[color="#000000"]nyy
[color="#000000"]n[color="#000000"]为数字。复制光标所在的向下n[color="#000000"]行,例如20yy[color="#000000"]则是复制20[color="#000000"]行([color="#000000"]常用[color="#000000"])
[color="#000000"]y1G
[color="#000000"]复制光标所在行到第一行的所有数据
[color="#000000"]yG
[color="#000000"]复制光标所在行到最后一行的所有数据
[color="#000000"]y0
[color="#000000"]复制光标所在的那个字符到该行行首的所有数据
[color="#000000"]y$
[color="#000000"]复制光标所在的那个字符到该行行尾的所有数据
[color="#000000"]一般模式:删除、复制与粘贴
p,
P
[color="#000000"]p[color="#000000"]为将已复制的数据粘贴到光标的下一行,P[color="#000000"]则为贴在光标上一行。举例来说,当前光标在第20[color="#000000"]行,且已经复制了10[color="#000000"]行数据。则按下p[color="#000000"]后,那10[color="#000000"]行数据会贴在原来的20[color="#000000"]行之后,即由21[color="#000000"]行开始贴。但如果是按下P[color="#000000"],那么原来的第20[color="#000000"]行会被变成30[color="#000000"]行([color="#000000"]常用[color="#000000"])
[color="#000000"]J
[color="#000000"]将光标所在行与下一列的数据结合成同一行
[color="#000000"]c
[color="#000000"]重复删除多个数据,例如向下删除10行,[10cj]
[color="#000000"]u
[color="#000000"]复原前一个操作([color="#000000"]常用[color="#000000"])
[color="#000000"][Ctrl]+r
[color="#000000"]重做上一个操作([color="#000000"]常用[color="#000000"])
[color="#000000"]u与
[Ctrl]+r[color="#000000"]是很[color="#000000"]常用[color="#000000"]的命令。一个是复原,另一个则是重做一次。利用这两个功能按键,编辑起来就得心应手。
[color="#000000"].
[color="#000000"]这就是小数点。意思是重复前一个动作。如果想重复删除、重复粘贴,按下小数点“.”[color="#000000"]就可以([color="#000000"]常用[color="#000000"])
[color="#000000"]进入编辑模式
[color="#000000"]i、I
[color="#000000"]插入:在当前光标所在处插入输入文字,已存在的文字会向后退;其中,i[color="#000000"]为“从当前光标所在处插入”,I[color="#000000"]为“在当前所在行的第一个非空格符处开始插入”([color="#000000"]常用[color="#000000"])
[color="#000000"]a、A
[color="#000000"]a[color="#000000"]为“从当前光标所在的下一个字符处开始插入”,A[color="#000000"]为“从光标所在行的最后一个字符处开始插入”([color="#000000"]常用[color="#000000"])
[color="#000000"]o、O
[color="#000000"]这是英文字母o[color="#000000"]的大小写。o[color="#000000"]为“在当前光标所在的下一行处插入新的一行”;O[color="#000000"]为“在当前光标所在处的上一行插入新的一行”([color="#000000"]常用[color="#000000"])
[color="#000000"]r、R
[color="#000000"]替换:r[color="#000000"]会替换光标所在的那一个字符;R[color="#000000"]会一直替换光标所在的文字,直到按下ESC[color="#000000"]键为止([color="#000000"]常用[color="#000000"])
[color="#000000"]使用上面这些按键时,在vi画面的左下角处会出现“--INSERT--”或“--REPLACE--”的字样。通过名称就知道是什么操作。特别注意,上面也提过了,想在文件中输入字符时,一定要在左下角处看到INSERT/REPLACE才能输入。
[color="#000000"]Esc
[color="#000000"]退出编辑模式,回到一般模式中([color="#000000"]常用[color="#000000"])
[color="#000000"]命令行命令模式
[color="#000000"]:w
[color="#000000"]将编辑的数据写入硬盘文件中([color="#000000"]常用[color="#000000"])
[color="#000000"]:w!
[color="#000000"]若文件属性为“只读”时,强制写入该文件。不过,到底能不能写入,与文件权限有关
[color="#000000"]:q
[color="#000000"]离开vi[color="#000000"]([color="#000000"]常用[color="#000000"])
[color="#000000"]:q!
若曾修改过文件,又不想存储,使用
!
为强制离开不存储文件
[color="#000000"]注意一下,那个感叹号(!)在vi当中,常常具有“强制”的意思。
[color="#000000"]:wq
存储后离开,若为
:wq!
[color="#000000"]则为强制存储后离开([color="#000000"]常用[color="#000000"])
[color="#000000"]:e!
[color="#000000"]将文件还原到最原始的状态
[color="#000000"]ZZ
[color="#000000"]若文件没有更改,则不存储离开,若文件已经更改,则存储后离开
:w
[filename]
[color="#000000"]将编辑的数据存储成另一个文件(类似另存新文件)
:r
[filename]
[color="#000000"]在编辑的数据中,读入另一个文件的数据。即将“filename”这个文件内容加到光标所在行的后面
[color="#000000"]:n1、n2
w [filename]
[color="#000000"]将n1到n2的内容存储成filename文件
:!
command
[color="#000000"]暂时离开vi到命令行模式下执行command的显示结果。例如“:!
ls /home”,即可在vi中查看
/home中以ls输出的文件信息
:set
nu
[color="#000000"]显示行号,设置之后,会在每一行的前缀显示该行的行号
:set
nonu
[color="#000000"]与set
nu相反,为取消行号
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/103712/showart_2041686.html |
|