首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | linux相关 | linux认证 | 下载中心 | 专题
oklinux
 系统管理:中文环境 系统管理 桌面应用 内核技术 Linux基础:安装配置 常用命令 经验技巧 软件应用 Linux数据库:Mysql POSTGRE
 网络管理:网络安全 网络应用 Linux服务器 编程开发:PHP CC++ Python Perl SHELL 嵌入式开发 | PHP基础 PHP技巧 PHP应用 PHP文摘
 首页 linux资讯动态 Linux专题 | 其他Unix Linux解决方案 硬件相关 Linux认证 企业应用 Apache | 相关下载:资料 参考手册 服务器
 → 当前位置:首页>编程开发>java>正文

使用Vi编辑器

OKLinux www.oklinux.cn 2005-05-05 来源:oklinux收集整理 非你不要    会员收藏 游客收藏

Vi 自产生以来,历经不断革新,现在最新版的 Vi 已经具有很强大的功能,使用户能够更加轻松、
便捷地使用它。

6.1 vi的工作模式

6.1.1 命令模式

开始进入 Vi 时处于命令模式,如果已经处于插入模式或末行模式,按 <ESC> 键可以回到命令
模式。在这种模式下,只能用按键指令,不能输入文字。

6.1.2 插入模式
插入模式就是要把文本插入到要编辑的文件,插入位置根据所用的命令不同而不同。从命令模式
进入插入模式需要键入 i、a、o、r 及 I、A、O、R 等命令。在完成文本的输入后,必须用 <ESC> 键返回命令模式。

6.1.3 末行模式
末行模式因命令出现在屏幕的最底部一行而得名。在命令方式下,键入某些特殊字符,如 /、?、:
等,光标跳到屏幕末行并显示键入的末行字符,此时键入命令后回车,vi 会根据需要在末行显示出一定的响应信息,同时将自动回到命令状态。

6.2 Vi编辑文件的基本过程
在命令行键入 vi testfile,其中 testfile 代表要打开的文件名,如果文件不存在,vi将自动新建
一个名为 testfile 文件。
进入 vi 后,按 i 进入插入模式,就可以编写文件了,光标可以由方向键来移动。<BackSpace> 键可以删去前一个字符。
如果已写好文件,就可以按 <ESC> 回到命令模式,然后用 存档(注意,是冒号命令),这
时还不会离开vi,要离开可按 :q,也可以合起来用 q,代表保存后离开。

6.2.1 光标的移动
注意:本节所述都是在命令模式下的操作。

6.2.1.1 基本的光标移动
左 h Backspace 或 左方向键
下 j Enter 或 + 或 下方向键
上 k - 或上方向键
右 l Space 或 右方向键
向下翻页 Ctrl+f PageDown
向上翻页 Crtl+b PageUp
6.2.1.2 复杂光标移动
0 移至行首,或是 <Home> 键
~ 移至第一个非空白字符
$ 移至行尾,或 <End > 键
G 移至文件尾(最后一行的第一个非空白字符处)
gg 移至文件首(第一行第一个非空白字符处)
w 移至下一个字首
W 同上,但会忽略一些标点符号
e 移至前一个字字尾
E 同上,但会忽略一些标点符号
b 移至前一个字字首
B 同上,但会忽略一些标点符号
H 移至屏幕顶部第一个非空白字符
M 移至屏幕中间第一个非空白字符
L 移至屏幕底第一个非空白字符
n| 移至第 n 个字符处
:n 或 n G 移至第 n 行行首,注:n表示具体数字,如1,2,3……
) 移至下一个句首
( 移至上一个句首
} 移至下一个段落首
{ 移至上一个段落首

6.2.2 基本编辑指令

6.2.2.1 进入插入模式指令
i 在光标所在字符前开始输入文字(insert)
a 在光标所在字符后开始输入文字(append)
o 在光标所在行下开一新行来输入文字(open)
I 在行首开始输入文字
A 在行尾开始输入文字
O 在光标所在行上开一新行来输入文字
J 将下一行整行连接到本行(joint)

6.2.2.2 删除指令
x 删除光标所在处的字符。也可用 <Del> 键。
X 删除光标所在位置前的字符。
dd 删除一整行。
dw 删除一个字(delete word)。
dG 删至文件尾。
D 删至行尾,或d$(含光标所在处字符)。

6.2.2.3 取代及还原
r 取代光标所在处的字符。
R 取代字符直至按 < Esc > 为止。
cc 取代整行内容。或大写 S 亦可。
cw 替换一个英文字。
~ 光标所在处之大小写转换。
C 取代至行尾,即光标所在处以后的字都会被替换。或 c$。
c0 取代至行首,或 c~。
u 撤销前面的操作,即 undo,撤销的次数是没有限制的。
U 在光标没离开本行之前,回复所有编辑动作。

6.2.2.4 复制
Yy 复制光标所在行整行。或一个大写Y。
2yy 或 y2y 复制两行。
y~ 复制至行首,或 y0 ,不含光标所在处字符。
y$ 复制至行尾。含光标所在处字符。
Yw 复制一个字。
Yg 复制至文件尾。
y1G 复制至文件首。

6.2.2.5 查找与替换
查找
/ 在命令模式的情形下,按 / 会在左下角出现一个 / ,键入要查找的字串,按回车开始查找。
? 和 / 相同,只是 / 是向前(下)找,? 则是向后(上)找。
n 继续查找。
N 继续寻找(反向)。
* 寻找光标所在处的字(要完全符合)。
# 同上,但 * 是向前(下)找,# 则是向后(上)找。
g* 同 *,但部分符合即可。
g# 同 #,但部分符合即可。
替换
:[range]s/pattern/string/[c,e,g,i]
用 string 替代 pattern。Range 指的是范围,1,7指从第一行至第七行,1,$ 指从第一行至最后一行,也就是整篇文章,也可以 % 代表;c 每次替换前会询问;e 不显示error;g不询问,整行替换;
i不分大小写。

6.2.3 离开
:q 如文件有修改而没保存,会警告,且无法离开。
:q! 放弃所有修改,强迫离开。
q 保存文件后离开,即使文件没有修改也会再保存一次。
:x 保存文件后离开,但如果文件没有修改,则不会做保存的动作。
:ZZ 和 :x 完全一样。
另存,不加文件名就是写入原文件。
上一篇:C++视频教程《下载》   下一篇:[转载]你该学什么程序语言

收藏于收藏夹】 【评论】 【推荐】 【投稿】 【打印】 【关闭

相关文章
·[转载]你该学什么程序语言
·C++视频教程《下载》
·下载 程序员全集
·程序员的七种武器
·JAVA初学者入门教学
·Java与C的不同点$$$$
·JAVA 视频教学
·JAVA代码编写的30条建议!
·java配置------学习JAVA菜鸟级的!
·java抽取word,pdf的四种武器 @
发表评论
密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。)
站内搜索
阅读排行榜
·Linux 上的 WebSphere MQ
·AspectJ学习笔记之Pointcu
·设定执行Java程序的Linux
·spring中对hibernate的支
·算法--数据结构--图的多重
·Gcc使用的内嵌汇编语法格
·最新visual c++6.0视频教
·c++ builder视频教程
·Java企业应用-Hibernate
·Linux系统中安装JAVA JDK.
最新文章
·Linux系统中安装JAVA JDK.
·Linux下运行JAVA程序 JRE
·设定执行Java程序的Linux
·Linux 上的 WebSphere MQ
·spring中对hibernate的支
·AspectJ学习笔记之Pointcu
·[转载]你该学什么程序语言
·下载 程序员全集
·JAVA初学者入门教学
·JAVA 视频教学
·C++视频教程《下载》
·程序员的七种武器
·Java与C的不同点$$$$
·JAVA代码编写的30条建议!
·面向Web的JMS应用系统----

设为首页 - 加入收藏 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2007 All rights reserved OKLinux.Cn 版权所有