vi指令说明

合集下载

Linux下的vi编辑器的简单使用操作方法

Linux下的vi编辑器的简单使用操作方法

Linux下的vi编辑器的简单使⽤操作⽅法vi编辑器的使⽤:vi编辑器有三种基本⼯作模式,分别是命令⾏模式、⽂本输⼊模式、末⾏模式。

1.命令⾏模式该模式是进⼊vi编辑器后的默认模式,任何时候,不管⽤户处于何种模式,按下esc键即可进⼊命令⾏模式。

在命令⾏模式下,可以输⼊vi命令来管理⾃⼰的⽂档。

此时在键盘上输⼊任何字符都被当作编辑命令,⽽不是输⼊字符。

输⼊的字符并不会在屏幕上显⽰,若是合法的vi命令,则会完成相应的动作,否则会响铃报警。

2.⽂本输⼊模式命令⾏模式下输⼊以下⼏个命令则会进⼊⽂本输⼊模式。

i: 插⼊命令,会将⽂本插⼊到光标所在位置之前I: 插⼊命令,会将⽂本插⼊到光标所在⾏的⾏⾸a: 追加⽂本命令,会将⽂本追加到光标当前位置之后A: 追加⽂本命令,会将⽂本追加到光标所在⾏的末尾o: 空⾏插⼊命令,将在光标所在⾏的下⾯插⼊⼀个空⾏,并将光标置于该⾏的⾏⾸O: 空⾏插⼊命令,将在光标所在⾏的上⾯插⼊⼀个空⾏,并将光标置于该⾏的⾏⾸c: 修改命令r: 取代命令s: 替换命令在该模式下,⽤户输⼊的任何字符都被当做⽂件内容保存起来,并显⽰在屏幕上。

3.末⾏模式命令⾏模式下,⽤户按下:键即可进⼊末⾏模式,此时vi会在显⽰窗⼝的最后⼀⾏显⽰⼀个:作为末⾏模式的说明符,等待⽤户输⼊命令。

多数⽂件管理命令都是在此模式下执⾏的。

末⾏命令执⾏完后,vi会⾃动回到命令⾏模式4.vi⽂本的删除命令:vi编辑器可以在编辑模式和命令⾏模式下删除⽂本。

命令⾏模式下,vi常⽤删除命令x 删除光标处的字符。

若在x之前加上⼀个数字n,则删除从光标所在位置开始向右的n个字符。

X 删除光标前⾯的字符。

若在X之前加上⼀个数字n,则删除从光标前⾯那个字符开始向左的n个字符。

dd 删除光标所在的整⾏。

前⾯加上数字n,则删除当前⾏以及其后的n-1⾏。

D 或 d$ 删除从光标所在处开始到⾏尾的内容。

d( 删除到上⼀句开始的所有字符d) 删除到下⼀句开始的所有字符d{ 删除到上⼀段开始的所有字符d} 删除到下⼀段开始的所有字符d0 删除从光标前⼀个字符开始到⾏⾸的内容dw 删除⼀个单词。

Vi编辑器的基本使用方法

Vi编辑器的基本使用方法

Vi编辑器的基本使用方法vi 分为三种状态:命令模式(Command mode):控制光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式和底行模式;插入模式(Insert mode):只有在此模式下才可以做文字输入,按「ESC」回到命令行模式;底行模式(Last line mode):将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号等。

进入vi:在系统提示符号$下输入vi myfile,就进入vi 全屏幕编辑画面。

初态为:命令模式。

只有插入模式才能够输入文字。

1、插入模式的命令简介在「命令模式」下:按「i」切换进入插入模式后从光标当前位置开始输入文字;I 从光标所在的列的第一个非空白字符前面开始插入文字。

按「a」进入插入模式后从光标所在位置的下一个位置开始输入文字;A 从光标所在列最后面的地方开始新增资料。

按「o」进入插入模式后并插入新的一行,从行首开始输入文字;O 从光标所在列上方新增1 列并进入插入模式。

在「插入模式」下只能一直输入文字,如果输错了字则只能按「ESC」转到「命令模式」来删除。

2、命令模式的命令简介移动vi 用小写英文字母「h」、「j」、「k」、「光标移到该行的第#个位置,如:5l, 56l 删除「x」:每按一次,删除光标所在位置的“后面”一个字符「#x」:例如,「6x」表示删除光标所在位置的“后面”6个字符「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符「dd」:删除光标所在行「#dd」:从光标所在行开始删除#行复制「yw」:将光标所在之处到字尾的字符复制到缓冲区中「#yw」:复制#个字到缓冲区「yy」:复制光标所在行到缓冲区「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字「p」:将缓冲区内的字符贴到光标所在位置。

注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能替换「r」:替换光标所在处的字符「R」:替换光标所到之处的字符,直到按下「ESC」键为止恢复「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。

vi指令说明(完整版)

vi指令说明(完整版)

vi指令说明(完整版).vi 的操作模式==============vi 提供两种操作模式:输入模式(insert mode)和指令模式(command mode)。

当用户进入vi 后,即处在指令模式下,此刻键入之任何字符皆被视为指令。

在此模式下可进行删除、修改等动作。

若要输入数据,则需进入输入模式。

.输入模式=========如何进入输入模式a (append) 由光标之后加入数据。

A 由该行之末加入数据。

i (insert) 由光标之前加入数据。

I 由该行之首加入数据。

o (open) 新增一行于该行之下供输入数据之用。

O 新增一行于该行之上供输入数据之用。

如何离开输入模式《ESC》结束输入模式。

.指令模式=========光标之移动h 向左移一个字符。

j 向上移一个字符。

k 向下移一个字符。

l 向右移一个字符。

0 移至该行之首$ 移至该行之末。

^ 移至该行的第一个字符处。

H 移至窗口的第一列。

M 移至窗口的中间那列。

L 移至窗口的最后一列。

G 移至该档案的最后一列。

+ 移至下一列的第一个字符处。

- 移至上一列的第一个字符处。

( 移至该句之首。

(注一)) 移至该句之末。

{ 移至该段落之首。

(注二)} 移至该段落之末。

nG 移至该档案的第n 列。

n+ 移至光标所在位置之后的第n 列。

n- 移至光标所在位置之前的第n 列。

<Ctrl><g> 会显示该行之行号、文件名、档案中最末行之行号、游标所在行号占总行号之百分比。

注一:句子(sentence)在vi中是指以『!』、『.』或『?』结束的一串字。

注二:段落(paragraph)在vi中是指以空白行隔开的文字。

.窗口的移动===========<Ctrl><f> 窗口往下卷一页。

<Ctrl><b> 窗口往上卷一页。

<Ctrl><d> 窗口往下卷半页。

<Ctrl><u> 窗口往上卷半页。

Vi常用命令

Vi常用命令

进入vi的命令 (1)移动光标类命令 (1)屏幕翻滚类命令 (2)编辑插入文本类命令 (3)删除命令 (5)搜索及替换命令 (6)选项设置 (8)组合命令 (10)最后行方式命令 (14)寄存器操作 (15)进入vi的命令vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并将光标置于第n行首vi + filename :打开文件,并将光标置于最后一行首vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filenamevi filename....filename :打开多个文件,依次进行编辑移动光标类命令h :光标左移一个字符l :光标右移一个字符space:光标右移一个字符Backspace:光标左移一个字符k或Ctrl+p:光标上移一行j或Ctrl+n :光标下移一行Enter :光标下移一行w或W :光标右移一个字至字首b或B :光标左移一个字至字首e或E :光标右移一个字至字尾) :光标移至句尾( :光标移至句首}:光标移至段落开头{:光标移至段落结尾nG:光标移至第n行首n+:光标下移n行n-:光标上移n行n$:光标移至第n行尾H :光标移至屏幕顶行M :光标移至屏幕中间行L :光标移至屏幕最后行0:(注意是数字零)光标移至当前行首$:光标移至当前行尾^ 光标移到行首f 光标移到当前光标位置后面的第一个指定的字符下F 光标移到当前光标位置前面的第一个指定的字符下t 光标移到当前光标位置后面的第一个指定的字符前T 光标移到当前光标位置前面的第一个指定的字符前% 光标移动到与当前括号匹配的括号处:n 光标移动到指定行按数字:0:移到文章的开头。

按G:移动到文章的最后。

按w:光标跳到下个字的开头按e:光标跳到下个字的字尾按b:光标回到上个字的开头按:#l:光标移到该行的第#个位置,如:5l,56l。

vi常用使用技巧

vi常用使用技巧

vi常用使用技巧金融系统事业部—徐卓兴vi可以说是在Unix操作系统中最常用的文本编辑工具了,但是因为它的命令集众多,很多人都不习惯使用它,特别是习惯了使用windows操作系统下编辑工具的人,在初次接触vi时会觉得非常的不习惯而拒绝使用它,其实您只需要掌握基本命令,然后加以灵活运用,就会发现它的优势,并会逐渐喜欢使用这种方法。

本文介绍了主要介绍使用vi的一些常用技巧。

一、基本命令介绍1.光标命令k、j、h、l——上、下、左、右光标移动命令。

注意:尽量不要使用四个箭头键来移动光标,一方面是四个箭头距离字母区比较远,使用不便,另一方面是在某些终端中不支持箭头的使用。

而k、j、h、l这4个键正是右手在键盘上放置的基本位置,移动非常快捷。

Ctrl+G ——光标所在位置的行数和列数报告。

Ctrl+F ——向后翻一页。

Ctrl+B ——向前翻一页。

Ctrl+L ——刷新屏幕(乱屏时使用):n ——光标定位到第n行。

G ——光标移动到文件最后一行。

0 ——光标移动到行首。

$ ——光标移动到行尾。

2.编辑命令o ——在当前行下面新开一行。

O ——在当前行上面新开一行。

i、a ——在光标的前、后处插入字符。

cw ——改变光标所在处的单词。

dw ——删除光标所在处的单词的命令。

X ——删除一个字符。

D ——删除光标所在处到行尾的所有字符。

dd、ndd——删除整行、删除当前行开始的n行。

n<<、n>> ——从当前行开始的n行全部向左、右调整缩进格式,该命令用于调整源码的缩进格式。

3.查找命令/string、?string ——从光标所在处向后或向前查找相应的字符串的命令。

n ——移动光标到下个匹配的位置。

4.拷贝复制命令yy、p ——拷贝一行到剪贴板或取出剪贴板中内容的命令。

二、常用技巧1.设置tab键和左移(<<)、右移(>>)命令的移动位置。

在登录用户的根目录中建立一新文件.exrc,在文件中添加如下两行set tabstop=4set shiftwidth=4第一行设置tab键的移动位置为4个空格长度,第二行设置左移或右移的单位为4个空格长度。

Vi编辑器的使用(linux)

Vi编辑器的使用(linux)

《操作系统(linux)》实验指导书实验一Vi编辑器的使用一、实验目的●理解Vi的三种运行模式及切换方法;●学会使用Vi的各种操作命令进行文本文件的编辑;●用Vi编写Linux下C程序,会用gcc编译。

二、实验工具一台装有Linux的机器(这里默认是Red Hat Linux 9),系统里面有gcc编译器。

三、预备知识介绍一些常见的实验命令,相关说明可以参考本实验参考资料部分。

1、进入插入模式命令i从光标所在位置前开始插入文本;命令a 在光标当前所在位置之后追加新文本;命令o将在光标所在行的下面新开一行,并将光标置于该行行首,等待输入文本;2、编辑模式下操作命令h、j、k、l 进行光标左移、下移、上移和右移一个字符的定位;命令x 删除光标处字符;命令yy 将当前行的内容复制到缓冲区中;命令p 将缓冲区中的内容写到光标所在的位置;命令zz 存盘退出;3、命令模式下操作命令:n直接跳到n所指向的行(n指行号);命令:q退出vi;四、基本实验首先用合法用户名登陆系统。

1.不保存直接退出(1)在系统提示符下,输入vi,按回车键。

(2)我们会看到vi的界面。

(3)输入:q!不保存直接退出。

2.新建文件hello.c并编辑一段文字进行保存(4)在系统提示符下输入vi hello.c,按回车键。

(5)看到vi的界面,输入i,左下角会出现“插入”。

(6)输入一段文字。

(7)按Esc键,进入命令模式。

这时“插入”就不见了。

(8)输入:wq,按回车键,保存文件。

3.对文件hello.c进行增、删、改操作(9)在系统提示符下输入vi hello.c,按回车键。

(10)看到vi的界面。

输入i,进入插入模式。

(11)输入增加的文字:“vi is very easy to user~!”。

(12)用方向键将光标移到图文字行的任意处。

(13)按Esc键,进入命令模式。

(14)输入命令dd,删除光标所在一行(若连续输入d,d是将光标所在的行及以下所有行删除)。

vi指令说明(完整版)

vi指令说明(完整版)

vi指令说明(完整版)vi指令说明(完整版)⽂章内容来⾃上书⽹址,因为其使⽤的繁体,看着不是很舒服,简单转换成简体,如果有什么转换不清晰的,可以查看繁体版本。

.vi的操作模式vi提供两种操作模式:输⼊模式(insert mode)和指令模式(command mode)。

当使⽤者进⼊vi后,即处在指令模式下,此刻键⼊的任何字皆被视为指令。

在次模式下可进⾏删除、修改等动作。

若要输⼊⽂本,则需进⼊输⼊模式。

.输⼊模式如何进⼊输⼊模式a(append): 在⿏标之后加⼊⽂本A:在该⾏末尾加⼊⽂本i(insert):在⿏标之前加⼊⽂本I:在该⾏开头加⼊⽂本o(open):新增⼀⾏在该⾏之下供输⼊⽂本之⽤O:新增⼀⾏在该⾏之上供输⼊⽂本之⽤如何离开输⼊模式:esc:结束输⼊模式.指令模式⿏标移动h:向左移动⼀位j:向上移动⼀位k:向下移动⼀位l:向右移动⼀位O:移动⾄该⾏之⾸$:移动⾄该⾏末尾^:移到该⾏的第⼀个字符处H:移动到视窗的第⼀列M:移动到视窗的中间那列L:移动到视窗的最后⼀列G:移动到该⽂件的最后⼀列+:移动到下⼀列的第⼀个字符处-:移动到上⼀列的第⼀个字符处(:移动到该句之⾸):移动到该句末尾{:移动到该段落之⾸}:移动到该段落末尾nG:移动到该⽂件的第 n 列n+:移动到⿏标所在位置之后的第 n 列n-:移动到⿏标所在位置之前的第 n 列会显⽰该⾏的⾏号、⽂件名称、⽂件中最末⾏的⾏号、⿏标所在⾏号占总⾏号的百分⽐注⼀:句⼦在 vi 中指以 ! . ? 结束的⼀串字注⼆:段落在 vi 中指以空⽩⾏隔开的⽂字视窗移动视窗往下翻⼀页。

视窗往上翻⼀页。

视窗往上翻⼀页。

视窗往下翻半页。

视窗往上翻半页。

视窗往上翻半页。

视窗往下翻⼀⾏。

视窗往上翻⼀⾏。

.删除、复制及修改指令介绍(较少使⽤)d(delete)、c(change)和 y(yank)这⼀类的指令在 vi 中的指令格式为:Operator + Scope = command运算符 + 范围 = command运算符:d : 删除指令。

vi指令大全

vi指令大全

n !! cmd 执行shell命令cmd。用cmd的输入内容替换从当前行开始的n行文本。n的缺省值是1。如果cmd接收标准输入,则必须用特定的行
【杂项功能点滴】
1. 设置语法高亮显示
在Redhat Linux下需要先安装vim-enhanced,否则syntax on不能用。然后再指令模式下执行
/pattern 移至下一个包含pattern的行
?pattern 移至上一个包含pattern的行
/ 往下重复查找
? 往上重复查找
n 在同一方向重复查找
N 在相反方向重复查找
/pattern/+n 移至下一个pattern所在行后的第n行
?pattern?-n 移至上一个Pattern所在行前的第n行
六个字开始处等等
dd 删除光标所在的行
r 修改光标所在字符,r 后接着要修改的字符
R 进入取代状态,新增内容会覆盖原先内容,直到按 [ESC] 回到指令模式下止
s 删除光标所在字符,并进入输入模式
S 删除光标所在的列,并进入输入模式
u 撤消最近一次对文本的改动。标准版的vi只能执行一级撤消,而vim则可以多级
/pattern/z- 重绘屏幕,使下一个包含pattern的行位于屏幕的最底行
% 移至与光标所在的括弧匹配成对的圆括弧或大括弧
【标记文本】
也可以将某段文本标记起来,方便以后跳转
mchar 用字母char标记当前光标的位置
`char 移至char所标记处
'char 移至char标记所在行的开头处
【指令组成】
现在可以提一下vi的指令组成。上面也看到了,很多指令都是控制键和数字等结合起来控制的。没错!其中很多大致是由指令与范围所构成。例如 dw 是由删除指 d 与范围 w 所组

第三章VI的使用示例

第三章VI的使用示例
▪ 在不同的窗口移动,使用ctrl+w命令
▪ Ctrl+w +:扩大窗口 ▪ Ctrl+w -:缩小窗口 ▪ Ctrl+w h:移动到窗口左边 ▪ Ctrl+w j:移动到窗口下边 ▪ Ctrl+w k:移动到窗口上边 ▪ Ctrl+w l:移动到窗口右边 ▪ Ctrl+w Ctrl+w :在窗口间循环移动
附加(append)命令:a 和A 小写 a 命令: 在光标当前位置之后追加新文本,光标后 的原文将相应的后移。 大写 A 命令 : 把光标挪动到所在行的行尾,从那里开始 插入新文本当输入A的时候,光标自动移动到行尾。 注意:a 和A是唯一把文本插入到行尾的方法
打开 open 命令 : o 和 O :
▪ b代表光标的位置到上一个字的第一个字母
▪ $代表光标的位置到该列的最后一个字母
▪ 0代表光标的位置到该列的第一个字母
▪ )代表光标的位置到下一个句子的第一个字母 ▪ (代表光标所在位置到该句子的第一个字母
▪ {和}光标所在的位置到该段落的最后一个(第一个)字母
3、Shell切换
利用vi提供的shell切换命令,无需退出vi即可执行
按ESC键,回到命令模式,输入“:” 进入末行模式,输入wq存盘退出
回到shell下,用ls命令查看文件 用cat命令显示内容以验证效果
如果只输入vi命令,不跟文件名,则显示基 本的vi帮助信息
第二部分
VI编辑器的命令模式
移动光标:
K,j,h,l
等同上下左右箭头键
Ctrl+b,ctrl+f H.M.L nH nL 数字0 $ ^ w 、e
:f file
将当前文件重命名为file

linux vi命令详解-屏幕文本编辑器Vi

linux vi命令详解-屏幕文本编辑器Vi
虽然 Vi采用了状态切换的方法,但电脑的硬件及操作系统多种多样,某些电脑的 键盘上没有特定的几个功能键!那麽不就有某些功能不能用了?这个问题在 Unix 系 统上也一样,几乎各大电脑厂商都有自己的 Unix 系统,而 vi 的操作方法也会随之有 点出入。这里我们采用 PC 的键盘来说明 vi 的操作,但在具体的环境中还要参考相应 的资料,这一点是值得注意的。
文本输入模式
在命令模式下输入插入命令i、附加命令a 、打开命令o、修改命令c、 取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入 的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本 输入过程中,若想回到命令模式下,按键即可。
末行模式
末行模式也称ex转义模式。
linux vi命令和Ex编辑器的功能是相同的,二者主要区别是用户界 面。在Vi中,命令通常是单个键,例如i、a、o等;而在Ex中,命令是以 按回车键结束的正文行。linux vi命令有一个专门的“转义”命令,可访问很 多面向行的Ex命令。在命令模式下,用户按“:”键即可进入末行模式下, 此时linux vi命令会在显示窗口的最后一行(通常也是屏幕的最后一行)显 示一个“:”作为末行模式的提示符,等待用户输入命令。多数文件管理命令
linux vi命令是Linux系统的第一个全屏幕交互式编辑程序,它从诞生 至今一直得到广大用户的青睐,历经数十年仍然是人们主要使用的文本编 辑工具,足见其生命力之强,而强大的生命力是其强大的功能带来的。
本章中,我们将循序渐进地介绍如何使用linux vi命令来建立、编辑、 显示以及处理文件。(注:文中的大写字母为[shift]键+相应的小写字 母的组合)
linux vi命令没有菜单,只有命令,且命令繁多。Vi有三种基本工作模 式:命令行模式、文本输入模式和末行模式。

VI常用命令和快捷键

VI常用命令和快捷键

语法]:vi [-wn] [-R] 文件…[说明]: vi 是一个基于行编辑器ex 上的全屏幕编辑器,可以在vi 中使用ex,ed的全部命令,vi选项中-wn 指将编辑窗口大小置为n行,-R 为将编辑的文件置为只读模式,vi 工作模式分为命令模式和输入模式,一般情况下在命令模式下,可敲入vi命令,进入输入模式下时可以编辑要编辑的文本,命令a A i I o O c C s S R 可进入输入模式,在输入模式下按ESC 键可推出输入模式,回到命令模式,在命令模式中敲入:命令,则可进入ex方式,在屏幕底部出现提示符:,此时可使用任意ex命令,屏幕底行也用来作/ ? ! 命令的提示行,大多数命令可以在其前面加数字,表示命令执行的重复次数,下面简单介绍一下vi 的命令集:^ 表示(CTRL)键^B 退回前一页,前面加数字表示重复次数,每次换页时保留上一页的两行^D 在命令模式下,表示下滚屏幕的一半,在输入模式下,表示回退至左边的自动缩进处^E 显示屏幕底线之下的一行^F 前进一页,前面加数字表示重复次数,每次换页时保留上一页的两行^G 显示当前文件名,当前行号和文件总行数,并用百分号当前行在整个文件中的位置^H(退格) 在命令模式下,光标左移一格;在输入模式下,删去前面的字符^I(TAB) 在输入模式下,产生一串空格^J(LF) 光标下移一行^L 刷新屏幕,即将屏幕重新显示^M(回车) 在命令模式下,光标移动至下行开头;在输入模式下,开辟一新行^N 光标下移一行^P 光标上移一行^Q 在输入模式下,将其后的非打印字符作为正文插入^R 刷新屏幕^U 屏幕上滚一半,前面加数字时表示上滚的行数,此数字对以后的^D ^U 命令有效^V 在输入模式下,将其后的非打印字符作为正文插入^W 在输入模式下,使光标回退一个字^Y 显示屏幕底线之上的一行^Z 暂停编辑,退回上层Shell^[(ESC) 退出输入模式,回到命令模式! 暂时退出编辑,执行Shell命令(双引号) 用于标志有名缓冲区,编号缓冲区1-9用于保存被删去的正文,字母名缓冲区a-z供用户存放自定义的正文$ 将光标移动到当前行尾,前加数字则表示前移行数,如2$表示移动到下一行行尾% 将光标移动到配对的小括号()或大括号{}上去( 退回句子开头) 前移到句子开头- 退到上一行第一个非空格字符. 重复上一次改变缓冲区内容的命令/ 模式向前搜索模式,将光标移动到模式出现处,模式是一个正规表达式,(参看grep) :在屏幕底部提示:,其后可使用ex命令? 功能同/ ,但方向是向前查找[[ 光标回退至前一节分界处\ 转意符]] 光标前移至节分界处^(不是CTRL) 光标移至当前行第一个非空字符上‘ 连续两个'’表示将光标移至其移动前的位置,’后跟字母表示光标字母标记的行首(参看m 命令)A 在行尾插入正文,进入输入模式B 光标回退一个字C 替换光标后的内容D 删除光标后的内容E 光标前移到字尾F 字符在当前行向左查找指定字符G 光标移动到其前面数字指定的行,若未指定则移动到最后一行H 光标移动到屏幕顶行,若前面有数字,则移动到屏幕上该数字指定的行I 在行开头插入正文J 连接两行,若前面有数字则连接数字指定的行L 光标移动到屏幕底行,若前面有数字,则移动到屏幕底线往上数该数字指定的行M 光标移动到屏幕中线N 使用模式查找/或?时,重复找下一个匹配的模式,但方向与上次相反,其功能同n ,但方向相反O 在当前行上开辟一新行P 将上次被删除的正文插入光标前面,可在其前面加缓冲区编号,编号1-9用于保存被删去的正文,字母名缓冲区a-z供用户存放自定义的正文Q 从vi 推出进入ex命令状态R 替换字符串S 替换整行T 字符向左查找字符U 将当前行恢复至第一次修改前的状态W 光标移至下一个字首X 删除光标前的字符Y 将当前行存入无名缓冲区,前面加数字表示存入的行数,也可用有名缓冲区来保存,以后可用命令p或P将其取出ZZ 存盘退出via 光标后插入正文b 光标回退至上一个字首cw 替换当前字c) 替换当前句子dw 删除一个字dd 删除一行e 光标移到下一个字末f 字符在当前行向前查找字符h 光标左移一格i 在光标前插入正文j 光标下移一行k 光标上移一行l 光标右移一格m 字母用字母标记当前行,以后可用‘字母使光标移动到当前行,(参看’命令) n 重复上次/ 或? 命令o 在当前行下开辟一新行p 将用户缓冲区内容放到光标位置(参看P命令)r 替换当前字符s 用一串字符替换当前字符t 字符光标移动至字符前u 取消上次操作w 光标移至下一字首x 删除当前字符yw 将当前字存入无名缓冲区,前面可加x,表示存入名字为x的有名缓冲区(x为a-z),也可加数字表示存入的字数,以后可用P或p 命令取出yy 将当前行存入无名缓冲区,用法参看yw{ 光标移动至前一段开头| 光标移至行首,若前面加数字,则移到数字指定行的行首} 光标移至下一段开头在:提示符下,常用命令如下::w 当前文件存盘:w! 强制存盘:w 文件将内容写入指定文件:w! 文件强制写入指定文件:x,y w 文件将x至y 行写入指定文件中:r 文件将文件读到光标位置:r ! 命令将系统命令的输出读到光标位置:q 退出编辑:q! 强制退出:x 与命令ZZ相同:e 文件名编辑另一文件:e ! 重新编辑文件,放弃任何改变:sh 执行sh,结束后回到编辑:! 命令执行命令后回到编辑:n 编辑下一文件:n 文件表重新定义待编辑文件表:set 设置vi 的选项,例如set nu 表示每行前显示行号,在选项前加no则表示清除该选项,例如set nonu 表示每行前不显示行号,下面是一些常用的选项:ai 自动缩进aw 编辑下一文件前自动存盘ic 查找字符串时不区分大小写nu 每行前显示行号sm 输入)及}时显示与之配对的( 或{slow 插入时延迟屏幕刷新ws 使查找能绕过文件尾从头进行wa 写文件之前不作对文件的检查:s/old/new用new替换行中首次出现的old:s/old/new/g 用new替换行中所有出现的old:#,# s/old/new/g用new替换从第#行到第#行中出现的old:% s/old/new/g用new替换整篇中出现的old如果替换的范围较大时,在所有的命令尾加一个c命令,强制每个替换需要用户进行确认,例如:s/old/new/c 或s/old/new/gcu 取消操作i插入命令a附加命令o打开命令c修改命令r取代命令s替换命令Esc退出命令G文件尾行1G文件首行#G 文件的#行:set nu :set nonu 显示行号不显示行号Vi 是一个历史悠久且功能强大的UNIX 文书编辑器。

Linux C++编程:编辑器vi详解

Linux C++编程:编辑器vi详解

LINUX vi 编辑器使用说明vi 编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。

由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。

Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。

1、vi的基本概念基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:1) 命令行模式command mode)控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到last line mode。

2) 插入模式(Insert mode)只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。

3) 底行模式(last line mode)将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。

不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。

2、vi的基本操作a) 进入vi 在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:$ vi myfile不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。

初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到「插入模式(Insert mode)」再说吧!b) 切换至插入模式(Insert mode)编辑文件在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。

Vi的编辑命令

Vi的编辑命令

Vi的编辑命令Unix及其相似的操作系统中,为方便各种用户在各个不同的环境中使用,提供了一系列的编辑器,包括ex,edit,ed和vi,其中ex,edit,ed都是行编辑器,现在已很少有人使用,vi是linux中的全屏幕编辑器,其地位如同dos中的edit一样,它可以执行输出、删除、查找、替换、块操作等众多文本操作,它是一个文本编辑程序.Red hat Linux9中提供的是vim,vi是vim的一个符号链接.(8)vi的进入和退出建立新文件:输入命令vi,然后输入内容,最后存盘退出,给出文件名,使用命令:“:wq 文件名”输入命令“vi 文件名”,然后编辑内容,最后存盘退出编辑文件:输入命令“vi 文件名”,此文件已存在,编辑后存盘退出退出命令:存盘退出“:wq”,不存盘退出“:q”注意:vi有两种模式:指令模式和编辑模式,进入后为指令模式,此时输入相关编辑命令,即进入编辑模式,编辑完后按Esc即回到指令模式.(8)进入输入模式、删除和修改指令模式指令:a――从光标所在位置后面开始输入新文本A――从光标所在行的行尾开始输入新的文本i――从光标所在位置前面开始插入数据I――从光标行的第一个非空格字符前面开始插入文本o――在光标所在行下新增一行并进入输入模式O――在光标所在行上方新增一行并进入输入模式删除与修改:x――删除光标处的一个字符dd――删除光标所在行r――修改光标所在字符,r后接着要修正的字符R――进入替代状态,输入的文本会覆盖原来的数据s――删除光标所在字符,并进入输入模式S――删除光标所在的行,并进入输入模式(8)光标的移动光标除可以用方向键进行光标逐字符的移动外,同方向键等同的光标移动命令为h――左移一列, l――右移一列k――上移一列, j――下移一列,如果要快速移动光标,可以在移动命令前加数字,如:3j,6k,10l,3h以单词为单位进行移动:w――将光标移动到下一个单词的开头b――将光标向后移动到一个单词的开头,与w功能相反e――将光标移到下一个单词的末尾最后一个字符处可以在这些命令前加上数字,使光标进行多个单词的移动行内光标的快速移动:$――将光标移动到当前行的行末0――将光标移动到当前行的行首n|――将光标移动到当前行的第n个字符上fm――将光标移动到文本的下一个字符m上使用行号定位::set number――使编辑器显示行号:set nonumber――使编辑器不显示行号nG――将光标移动到第n行G――将光标移动到最后一行:n回车――将光标移动到第n行:$回车――将光标移动到文件的最后一行将光标移动到当前屏幕的某些位置:L――将光标移动到屏幕的最下面一行M――将光标移动到屏幕的中间一行H――将光标移动到屏幕的最上面一行将光标返回到原来位置:‘’――两个单引号,即击单引号两次,用于在一处进行修改后要返回原来的位置让屏幕显示文件的指定位置翻屏: ctrl+d――屏幕定位到文件的下半屏文本ctrl+u――屏幕定位到文件的上半屏文本ctrl+f――屏幕定位到文件的下一屏文本ctrl+b――屏幕定位到文件的上一屏文本(8)字符的查找从文件头向文件尾查找字符串:/字符串回车从文件头向文件尾查找下一个指定字符串: n 从文件尾向文件头反向查找字符串: 字符串回车从文件尾向文件头反向查找下一个指定字符串: N(8)文本的删除命令删除字符: x――删除光标处的一个字符3x――删除从光标开始的3个字符删除行: dd——删除当前行,光标移到下一行,并成为当前行10dd――删除当前行开始的10行,光标移到下一行,并成为当前行删除单词: dw——删除光标处的一个单词,也可以使用数字来扩充该命令注意:如果将光标定位在一个单词的中间某个字符上,使用dw 命令后,vi将删除从光标开始和空格字符结束的所有字符在vi中,所有除空格以外的非字母数字字符,都将视为一个单词.如果当前行的当前光标到行末的单词数不够删除时,vi将删除下一行的单词.删除一行的一部分内容: D――将光标置于一行的中间,输入D,则将删除从光标开始到行末的所有文字.不是整行删除光标至某一个字符之间的文本:dfm——该命令删除从光标到第一个m之间的所有文本包括光标处字母和字母m使用行号删除文本行: :5d——删除第5行的文本:5,10d——删除第5至10行的文本:3dd——删除从光标开始的3行内容:10,$d——删除从第10行开始到行末的内容6文本添加命令:i——在光标的左侧添加文本a——在光标的右侧添加文本I——将光标移到当前的行首,并切换到添加模式A——将光标移到当前的行尾,并切换到添加模式O--在光标的上方插入一个新行o——在光标的下方插入一个新行7撤消和重复命令对于Vi来说,它只能撤消最后一次操作,而vim是它的增强,因此它可以进行多次撤消.撤消命令: u--撤消最后一次修改U——撤消对当前行的所有修改,前提是光标没有移出当前行重复命令:.——英语的点命令“.”,它可以重复执行最后一次文本修改命令.(8)vi的替换命令文本替换命令:①替换字符: r——输入r后,不用切换到编辑模式,紧接着输入你用于替换的字符②逐字符替换文本: R——可以逐字符替换光标后面的文本③多个字符替换单个字符: s——实现删除光标处的一个字符,然后可以插入多个字符,相当于光标后添加,不会替换后面的字符④多个单词替换单个单词: cw——可以删除光标处的一个单词,并进入添加模式.⑤行替换: cc--删除当前行的所有字符,然后切换到插入模式.⑥修改行的剩余部分: C——删除从光标开始到行末的所有字符,进入添加模式删除和替换命令的对照命令类型删除替换字符x r单词dw cw行dd cc从光标到行尾之间的部分D C从光标到字符m之间的部分dfm cfm全局替换命令:①搜索当前行的第一个实例: :s——查找和替换命令:s/字符串——查找文本中的所有字符串:s/字符串1/字符串2——在文本中搜索字符串1,并将光标所在行的第一个字符串1替换成字符串2②搜索指定范围内的第一个实例::1,10s/字符串1/字符串2——搜索第1至10行,将每行内的第一个字符串1替换成字符串2③设置过滤条件进行搜索: :g/过滤条件/s/字符串1/字符串2——将文本内符合过滤条件的行的第一个字符串1替换成字符串2④在同一行中替换所有实例: :s/字符串1/字符串2/g――将光标所在行的所有字符串1替换成字符串2 :1,$s/字符串1/字符串2g ——将全文范围内所有行的字符串1替换成字串2注意:前面1-3命令都只能搜索和替换第一个实例,命令4因为加了参数g,它在末尾,可以替换范围内的所有实例9 移动和复制文本复制是指先将要复制的文本复制到缓冲区,再使用粘贴命令进行粘贴.复制和粘贴行: yy――将光标所在行复制到缓冲区p――将缓冲区的内容粘贴到光标所在位置,可以多次使用p命令将缓冲区内的文本进行粘贴到目标位置P——将复制的行粘贴到光标位置的上一行,而p命令是将复制的行粘贴到光标位置的下一行,总之这两个命令都不会粘到光标当前行剪切和粘贴行: 当删除文本行之后,相当于执行了“剪切”命令,然后再使用p或P命令进行文本粘贴复制字符和单词: yw——复制从当前光标到该单词结束的文字到缓冲区yl——复制当前光标处所在的一个字符到缓冲区yfm——复制当前光标处到第一个字符m处的文字到缓冲区包括m复制文本块: :行号,行号 copy 行号——将第一到第二行的文本复制到第三个行号指定行的后面将文本块复制到第三行号指定行的下面移动文本块: :行号,行号 move 行号——将第一到第二行的文本移动到第三个行号指定行的后面将文本块复制到第三行号指定行的下面注意:在文本块的复制和移动命令中,“.”表示当前行,“$”表示文件尾,“0”表示文件头.10 文件保存命令Vi不仅提供了文件存盘命令,用户也可以使用vi的放弃文件保存命令,或者在已有的文件尾添加内容的命令①保存对文件的修改不退出: :w②保存对文件的修改后退出编辑器::wq③保存新版本文件另存为: :w 文件名——将当前文件另存为文件名所指定的副本④取消对文件的修改: :q或者:q⑤保存文本块: :行号,行号 write 文件名――将指定范围内的文本块保存到一个新文件中,命名为指定的文件名注意:如果要保存到的新文件已存在,要进行覆盖,可在命令后加一个叹号“”⑥向文件追加文本: :行号,行号 write >>文件名――将文本块追加到一个文件的末尾.11vi编辑器和shell的交互①读入文本文件:在编辑文件时,经常需要读入另外一个文件的内容.格式: :行号 read 文件名――将指定的文件的内容读入到当前vi编辑器指定行号的下面②在vi中运行子shell:格式: :命令——在编辑中运行“”后指定的命令,将结果显示在vi中,按回车键后清屏,不影响原来的编辑③读入shell命令行的输出:前面的命令将结果输出到屏幕上,并不影响当前被编辑的文件,也可以将shell命令的输出读入到当前被编辑的文件中.格式: :行号 read 命令——将“”后的命令执行,将结果读入到指定的行后面。

vi-use

vi-use

Vi 简 介vi 做为Linux 系统中一种编辑器,它的使用方法和界面与 Unix 平台十分相似。

在 Linux 中有很多功能强大,界面友好的编辑器,但是vi 还是值得你学习它的使用方法。

初步接触 VI,你觉得它的界面不太友好,不容易掌握,可是一旦你掌握了vi 的命令,你可以感觉到它强大的功能与高效。

而且vi 相对来说较小,无论你使用任何 Linux系统,你总是可以使用vi的。

在很多系统中,可能只有 vi 供你选择。

进 入 与 离 开要 进 入 vi 可 以 直 接 在 系 统 提 示 字 符 下 键 入 vi < 文 件 名 称 >,vi 可 以 自 动 帮 你 载 入 所 要 编 辑 的 文 件 或 是 开 启 一 个 新 文 件。

进 入 vi 後 屏 幕 左 方 会 出 现 波 浪 符 号, 凡 是 列 首 有 该 符 号 就 代 表 此 列 目 前 是 空 的。

要 离 开 vi 可 以 在 指 令 模 式 下 键 入 :q, :wq 指 令 则 是 存 档 後 再 离 开( 注 意 冒 号)。

要 切 换 到 指 令 模 式 下 则 是 用 [ESC] 键, 如 果 不 晓 得 现 在 是 处 於 什 麽 模 式, 可 以 多 按 几 次 [ESC], 系 统 会 发 出 哔 哔 声 以 确 定 进 入 指 令 模 式。

Vi 输 入 模 式如 何 输 入 资 料 呢 ? 有 好 几 个 指 令 可 以 进 入 输 入 模 式:新增 (append)a 从 光 标 所 在 位 置 後 面 开 始 新 增 资 料, 光 标 後 的 资 料 随 新 增 资 料 向 後 移 动。

A 从 光 标 所 在 列 最 後 面 的 地 方 开 始 新 增 资 料。

插 入 (insert)i 从 光 标 所 在 位 置 前 面 开 始 插 入 资 料, 光 标 後 的 资 料 随 新 增 资 料 向 後 移 动。

VI编辑器的使用方法

VI编辑器的使用方法

一、vi的工作模式vi有两种工作模式:编辑模式:用来输入和编辑文件的模式,屏幕上会显示用户的键入,按键不是被解释为命令执行,而是作为文本写到用户的文件中。

指令模式:用来编辑、存盘和退出文件的模式。

运行vi后,首先进入指令模式。

此时输入的任何字符都被视为指令,键入的命令不会在屏幕上显示。

从指令模式切换到编辑模式,则可以按“Insert”键或“i”键,从编辑模式切换到指令模式,可按“Esc”键。

状态行是屏幕底部一行,被vi编辑器用来反馈编辑操作结果。

错误消息或提供信息的消息会在状态行中显示出来。

二、vi的启动和退出1.启动vi在系统图示字符下键入“vi”+“空格”+“文件名”,如:vi test.txtvi可以自动载入所要编辑的文件或是开启一个新文件。

2.退出vi在指令模式下键入如下命令可以退出vi::q 如果用户只是读文件的内容而未对文件进行修改,可以在命令模式下输入“:q”退出vi。

:q! 如果用户对文件的内容作了修改,又决定放弃对文件的修改,则用“:q!”命令。

:w! 强行保存一个vi文件,如果该文件已存在,则进行覆盖。

:wq 保存文件并退出vi。

ZZ 快速保存文件的内容,然后退出vi。

功能和“:wq”相同。

:w filename 相当于“另存为”。

:n,mw filename 将第n-m行的文本保存到指定的文件filename中。

三、vi长指令和短指令长指令:以冒号开头,键入冒号后,在屏幕的最末尾一行会出现冒号提示符,等待用户键入指令,输入完指令后回车,vi会执行该指令。

段指令:与快捷键相似,键入短指令后,vi不会给任何提示就直接执行。

1.输入输出命令a 在光标后输入文本A 在当前行末尾输入文本i 在光标前输入文本I 在当前行开始输入文本o 在当前行后输入新一行O 在当前行前输入新一行2.光标移动命令b 移动到当前单词的开始e 移动到当前单词的结尾w 向后移动一个单词h 向前移动一个字符l 向后移动一个字符j 向下移动一行k 向上移动一行3.删除操作命令x 删除光标所在的字符dw 删除光标所在的单词dd 删除当前行d$ 删除光标至行尾的所有字符D 与“d$”命令相同4.替换操作命令r 替换光标所在的字符R 替换字符序列cw 替换一个单词ce 与“cw”命令相同cb 替换光标所在的前一字符c$ 替换自光标位置至行尾的所有字符C 与“c$”命令相同cc 替换当前行5.查询操作命令/abc 向后查询字符串“abc”?abc 想前查询字符串“abc”n 重复前一次查询N 重复前一次查询,但方向相反6.拷贝粘贴命令yw 将光标所在单词拷入剪贴板y$ 将光标至行尾的字符拷入剪贴板Y 与“y$”命令相同yy 将当前行拷入剪贴板y 将选取的内容拷入剪贴板p 将剪贴板中的内容粘贴在光标后P 将剪贴板中的内容粘贴在光标前7.其他操作命令v 选取文本内容u 取消上一次的操作U 可以恢复对光标所在行的所有改变J 把两行文本链接到一起:set 用来设置或浏览vi系统当前的选项(加参数“all”后查看所有选项的列表) :X 对所编辑的文件进行简单加密四、vi的高级应用1.设置vi环境vi编辑器的行为可以通过设置编辑参数来定义。

VI命令详解

VI命令详解

VI命令详解vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。

由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。

Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。

1、vi的基本概念基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:1) 命令行模式command mode)控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

2) 插入模式(Insert mode)只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。

3) 底行模式(last line mode)将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。

不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。

2、vi的基本操作a) 进入vi在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:$ vi myfile不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。

初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到「插入模式(Insert mode)」再说吧!b) 切换至插入模式(Insert mode)编辑文件在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

vi指令說明(完整版)
.vi 的操作模式
==============
vi 提供兩種操作模式:輸入模式(insert mode)和指令模式(command mode)。

當使用者進入vi 後,即處在指令模式下,此刻鍵入之任何字元皆被視為
指令。

在此模式下可進行刪除、修改等動作。

若要輸入資料,則需進入輸入
模式。

.輸入模式
=========
如何進入輸入模式
a (append) 由游標之後加入資料。

A 由該行之末加入資料。

i (insert) 由游標之前加入資料。

I 由該行之首加入資料。

o (open) 新增一行於該行之下供輸入資料之用。

O 新增一行於該行之上供輸入資料之用。

如何離開輸入模式
《ESC》結束輸入模式。

.指令模式
=========
游標之移動
h 向左移一個字元。

j 向上移一個字元。

k 向下移一個字元。

l 向右移一個字元。

0 移至該行之首
$ 移至該行之末。

^ 移至該行的第一個字元處。

H 移至視窗的第一列。

M 移至視窗的中間那列。

L 移至視窗的最後一列。

G 移至該檔案的最後一列。

+ 移至下一列的第一個字元處。

- 移至上一列的第一個字元處。

( 移至該句之首。

(註一)
) 移至該句之末。

{ 移至該段落之首。

(註二)
} 移至該段落之末。

nG 移至該檔案的第n 列。

n+ 移至游標所在位置之後的第n 列。

n- 移至游標所在位置之前的第n 列。

<Ctrl><g> 會顯示該行之行號、檔案名稱、檔案中最末行之行號、游標
所在行號佔總行號之百分比。

註一:句子(sentence)在vi中是指以『!』、『.』或『?』結束的一串字。

註二:段落(paragraph)在vi中是指以空白行隔開的文字。

.視窗的移動
===========
<Ctrl><f> 視窗往下捲一頁。

<Ctrl><b> 視窗往上捲一頁。

<Ctrl><d> 視窗往下捲半頁。

<Ctrl><u> 視窗往上捲半頁。

<Ctrl><e> 視窗往下捲一行。

<Ctrl><y> 視窗往上捲一行。

.刪除、複製及修改指令介紹(此單元較少使用)
=========================
d(delete)、c(change)和y(yank)這一類的指令在vi 中的指令格式為:
Operator + Scope = command
(運算子) (範圍)
運算子:
d 刪除指令。

刪除資料,但會將刪除資料複製到記憶體緩衝區。

y 將資料(字組、行列、句子或段落)複製到緩衝區。

p 放置(put)指令,與d 和y 配和使用。

可將最後delete或yank的資料放置於游標所在位置之行列下。

c 修改(change)指令,類似delete與insert的組和。

刪除一個字組、句
子等之資料,並插入新鍵資料。

範圍:
e 由游標所在位置至該字串的最後一個字元。

w 由游標所在位置至下一個字串的第一個字元。

b 由游標所在位置至前一個字串的第一個字元。

$ 由游標所在位置至該行的最後一個字元。

0 由游標所在位置至該行的第一個字元。

) 由游標所在位置至下一個句子的第一個字元。

( 由游標所在位置至該句子的第一個字元。

{ 由游標所在位置至該段落的最後一個字元。

} 由游標所在位置至該段落的第一個字元。

整行動作
dd 刪除整行。

D 以行為單位,刪除游標後之所有字元。

cc 修改整行的內容。

yy yank整行,使游標所在該行複製到記憶體緩衝區。

.刪除與修改
===========
x 刪除游標所在該字元。

X 刪除游標所在之前一字元。

dd 刪除游標所在該行。

r 用接於此指令之後的字元取代(replace)游標所在字元。

如:ra 將游標所在字元以a 取代之。

R 進入取代狀態,直到《ESC》為止。

s 刪除游標所在之字元,並進入輸入模式直到《ESC》。

S 刪除游標所在之該行資料,並進入輸入模式直到《ESC》。

.搬移與複製
==========
利用delete 及put 指令可完成資料搬移之目的。

利用yank 及put 指令可完成資料複製之目的。

yank 和delete 可將指定的資料複製到記憶體緩衝區,而藉由put 指令
可將緩衝區內的資料複製到螢幕上。

例:
搬移一行?在該行執行dd
?游標移至目的地
?執行p
複製一行?在該行執行yy
?游標移至目的地
?執行p
.指令重複
=========
在指令模式中,可在指令前面加入一數字n,則此指令動作會重複執行n
次。

例:
刪除10行?10dd
複製10行?10yy
?游標移至目的地
?p
指標往下移10行?10j
.取消前一動作(Undo)
===================
即復原執行上一指令前的內容。

u 恢復最後一個指令之前的結果。

U 恢復游標該行之所有改變。

.搜尋
=====
在vi中可搜尋某一字串,使游標移至該處。

/字串往游標之後尋找該字串。

?字串往游標之前尋找該字串。

n 往下繼續尋找下一個相同的字串。

N 往上繼續尋找下一個相同的字串。

.資料的連接
===========
J 句子的連接。

將游標所在之下一行連接至游標該行的後面。

若某行資料太長亦可將其分成兩行,只要將游標移至分開點,進入輸入模式
(可利用a、i等指令)再按《Enter》即可。

.環境的設定
===========
:set nu 設定資料的行號。

:set nonu 取消行號設定。

:set ai 自動內縮。

:set noai 取消自動內縮。

自動內縮(automatic indentation)
在編輯文件或程式時,有時會遇到需要內縮的狀況,『:set ai』即提供自
動內縮的功能,用下例解釋之:
?vi test
?(進入編輯視窗後)
this is the test for auto indent
《Tab》start indent ←:set ai (設自動內縮)
《Tab》data
《Tab》data
《Tab》data ←:set noai (取消自動內縮)
the end of auto indent.
?註:<Ctrl><d> 可刪除《Tab》字元。

.ex指令
=======
讀寫資料
:w 將緩衝區的資料寫入磁碟中。

:10,20w test 將第10行至第20行的資料寫入test檔案。

:10,20w>>test 將第10行至第20行的資料加在test檔案之後。

:r test 將test檔案的資料讀入編輯緩衝區的最後。

刪除、複製及搬移
:10,20d 刪除第10行至第20行的資料。

:10d 刪除第10行的資料。

:%d 刪除整個編輯緩衝區。

:10,20co30 將第10行至第20行的資料複製至第30行之後。

:10,20mo30 將第10行至第20行的資料搬移至第30行之後。

字串搜尋與取代
s(substitute)指令可搜尋某行列範圍。

g(global)指令則可搜尋整個編輯緩衝區的資料。

s指令以第一個滿足該條件的字串為其取代的對象,若該行有數個滿足該條
件的字串,也僅能取代第一個,若想取代所有的字串則需加上g參數。

:1,$s/old/new/g 將檔案中所有的『old』改成『new』。

:10,20s/^/ / 將第10行至第20行資料的最前面插入5個空白。

:%s/old/new/g 將編輯緩衝區中所有的『old』改成『new』。

.恢復編輯時被中斷的檔案
=======================
在編輯過程中,若系統當掉或連線中斷,而緩衝區的資料並還未
被寫回磁碟時,當再度回到系統,執行下列指令即可回復中斷前
的檔案內容。

%vi -r filename
.編輯多個檔案
=============
vi亦提供同時編輯多個檔案的功能,方法如下:
%vi file1 file2 ..
當第一個檔案編修完成後,可利用『:w』將該緩衝區存檔,而後
再利用『:n』載入下一個檔案。

相关文档
最新文档