Vi编辑器常用命令
在shell环境下是用vi编辑器的常用
#vi file(文件名)'进入编辑环境
#vi 'vi 命令如果不指定参数,将新建一个未命名的空文件
加强版的vim编辑器,统称为vi编辑器
:q '在末行模式下按q命令可以推出vi编辑环境
#vi myfile '如果vi的参数文件名不存在,将打开空文件并指定参数为刚刚建立的文件名:e filename '当完成了一个文件的编辑后,打开一个新的文件
:!e filename '如果没有保存原文件,也强制打开一个新文件不提示
:r filename '把新文件插入但前行下面进行读写
:w [filename] '不加参数时是保存原文件,如果加参数文件名时是另存为一个新的文件:wq '保存原文件退出
:q! '强制退出不保存
:wq! '保存后强制退出
光标的移动方法
h:方向向左
j:方下向下
k:方向向上
l:方向向右
^:将光标快速移到本行行首字符
$:将光标快速移到本行行尾字符
w:将光标快速移当前的后一个单词首字符
b:将光标快速移当前的前一个单词首字符
e:将光标快速移当前的后一个单词尾字符
3w:光标将向后移3个单词定位到单词首字符
3b:光标将向前移3个单词定位到单词首字符
3e:光标将向后移3个单词定位到单词尾字符
整屏幕的移动:
ctrl+f:向前翻页
ctrl+b:向后翻页
ctrl+u:向前翻半页
ctrl+d:向后翻半页
一个屏幕内的大体位置的移动:
h '光标移动到此屏幕的头部
m '光标移动到此屏幕的中间
l '光标移动到此屏幕的尾部
:set nu 显示行号
:set nonu 不显示行号
G:'命令光标跳到文件的末尾行
1G:'命令光标跳到文件的首行
nG:光标跳到文件的第"n"行
在vi编辑器的命令模式下,可以使用以下命令进入输入模式:
i:命令在当前光标处进入插入状态
a:命令在当前光标后进入插入状态
A:命令将光标移动到当前的行末,并进入插入状态
o:命令在当前行的下面插入新行,光标移动到新行的行首,进入插入状态
O:命令在当前行的上面插入新行,光标移动到新行的行首,进入插入状态
cw:命令删除当前光标到所在的单词尾部的字符,并进入插入状态
c$:命令删除当前光标到行尾的字符,并进入插入状态
c^:命令删除当前光标之前到行首的字符,并进入插入状态
按ESC建退出输入模式,进入命令模式
输入模式的操作
使用"上下左右"键快速定位光标到行首和行尾
使用Page Up 和 Page Down 键进行文本上下翻页
使用backspace建进行光标左侧字符的删除
使用Delete键删除光标位置的字符
删除操作
在vi编辑器的命令模式下,可以使用以下命令完成删除操作
x:命令删除光标处的单个字符
dd:命令删除光标所在的行
dw:命令删除当前字符到单词尾的所有字符(包括空格)
de:命令删除当前字符到单词尾的所有字符(不包括空格)
d$:命令删除当前字符到行尾的所有字符
d^:命令删除当前字符到行首的所有字符
J:命令删除光标所在的行行尾的换行符,相当于合并当前行和下一行的内容
结合应用:
3x:删除当前光标处向右的3个字符
2dd:从当前行开始向下删除两行文本
3dw:删除当前光标向右的3个单词
2de:删除当前光标向右的2单词,并保留被删除的最后一个单词右面一个单词的空格符5J:通过删除行尾的换行符来合并从当前行开始连续的5行的文本到同一行
撤销操作
在vi编辑器命令模式下,可以使用以下命令完成对已进行操作的撤销
u:命令取消最近的一次操作,并恢复操作的结果,可以多次使用u命令恢复已惊醒的多步操作
U:命令取消对当前行进行的所有操作
Ctrl+R:命令组合命令对使用的u命令撤销的操作进行恢复
复制操作
在vi编辑器命令模式下,可以使用以下命令进行文本的复制操作
yy:命令复制当前整行的内容到vi缓冲区
yw:命令复制当前光标到单词尾字符的内容到vi缓冲区
y$:命令复制当前光标到行尾的内容到vi缓冲区
y^ :命令复制当前光标到行首的内容到vi缓冲区
结合应用
5yy:复制当前行及后续共5行的文本内容到vi缓冲区
3yw:复制当前光标开始的3个单词到vi缓冲区
:m,ny '复制从m行到文件的n行(在末行模式)
暂帖操作:
p:粘贴复制的内容
np:粘贴复制的内容n次
查找与替换:
注查找在命令模式下
"/ 字符" 'vi编辑器的查找命令需要由"/"开始,后面跟着哟按查找的字符串,最后回车执行命令
步骤:
1>输入"/word",查找命令从上而下在文件中查找指定的字符串
输入n命令,查找下一个匹配的字符串(由上而下)
输入N命令,反向查找下一个匹配的字符串(由下而上)
2>"?字符" '它的查找方向和"/字符"的查找方向相反是由下而上的
步骤:
输入:"?字符"查找命令从下而上在文件中查找指定的字符串
输入n命令,查找下一个匹配的字符串(由下而上)
输入N命令,反向查找下一个匹配的字符(由上而上)
普通替换操作:(在末行模式下)
普通替换操作命令由s开始,候命跟被替换的字符串和要替换的字符串,之间用 / 号分隔开。:s/old/new '替换当前行匹配第一个字符串
:s/old/new '替换当前行的所有匹配的字符串
:n,m s/old/new '替换n到m行的每行的第一个匹配的字符串
:n,m s/old/new/g '替换n到m行的所有匹配的字符串
:% s/old/new/g '替换整篇文本的所有匹配的字符串
使用替换的确认功能
:s/old/new/c
:s/old/new/gc
:n,m s/old/new/gc
:% s/old/new/gc
使用确认的替换命令后,vi编辑器将在屏幕的末行显示替换的确认界面
replace with st01 (y/n/a/q/l/^E/^Y) ?
常用的选择:
y:替换当前已经定位的匹配字符串
n:不替换当前已经定位的匹配字符串
a:替换指定范围内的所有匹配的字符串
q:退出确认界面,并取消当前命令的所有的替换操作
使用vi编辑器在线帮助
(1)安装vi编辑器的其它软件包,将RHEL4的第2张安装光盘收入主机的光盘驱动器,
并使用管理员root权限执行以下命令操作,可安装光盘vi程序的软件的附加包
#mount -t iso9660 /dev/cdrom /media/cdrom
#cd /media/cdrom/RedHat/RPMS/
#rpm -i vim-common-6.3.035-3.i386.rpm vim-enhanced-6.3.035-3.i396.rpm
#cd
#umount /media/cdrom
(2)使用vi编辑器的在线帮助:(两种方式)
.在vi编辑器中选择F1功能键,进入vi的在线帮助
.在vi编辑器中输入“help”末行命令,进入vi的在线帮助
提示:vi编辑器的在线帮组其实是在vi编辑器中以只读方式打开vi的帮助文本文件“help.txt”,
该文件只是vi编辑器众多帮助文件的首页和索引,vi帮助文件的每个主题内容使用独立的文件保存。
编辑器的多个文档操作:
(1)
#vi -o 1.txt 2.txt '此时文件间是以纵向打开的方式
#vi -O 1.txt 2.txt '此时的文件间是以横向打开的方式
注意:按ctrl+w 再按ctrl+w进行文件之间的切换
(2)
#vi [arguments] [file ...]
例如