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 ...]

例如

#cd /etc/

#vi passwd fstab inittab

1.显示多个文件信息

在进行vi编辑器中的多文件转换之前,

应使用args命令查看vi编辑器的多文件饿状态命令如下:

:args

2.显示结果如下

[passwd] fstab inittab

可以看见3个文件的顺序,其中【passwd】文件是vi编辑器当前显示文件,

用【 】括起来表示。

3.前后切换多文件

vi编辑器中使用"next"和"prev"末行命令对vi中打开的多个文件进行向后和向前的切换

命令如下:

:next '向后切换

:prev '向前切换

注:在vi编辑器中对多个文件进行编辑时,从一个文件切换到另一个文件之前

应该保存当前的文件已经保存了修改的内容,如果需要丢弃当前文件的修改并

进行文件切换,可以使用下面的命令:

:next!

:prev!

4.定位首文件和尾文件

vi编辑器的"first"和 "list"命令可将当前文件直接切换到vi编辑器

打开的首文件或尾文件,命令格式如下:

:first

:list

5.快速文件切换

在vi编辑器中已经使用魔个文件切换命令对当前文件进行切换后,

使用vi命令模式下的ctrl+^z组合键命令可以快速切换当编辑器切换前的位置

ctrl+^组合键命令尤其适合在vi编辑器中打开两个文件、并相互参照进行文本修改

的环境用。

在图行界面下编辑文本

1.在图形终端程序中使用vi

2.使用gedit图形编辑器

打开方式:

1>在图形终端程序中使用命令"gedit"启动

2>菜单启动(【Applications】-【accessories】-【text Editor】)

  

                                                                 

猜你喜欢

转载自qianjiangbing.iteye.com/blog/2305896