导航:首页 > 程序命令 > vi命令使用方法

vi命令使用方法

发布时间:2022-06-06 16:23:45

linux vi命令的使用方法

一般模式常用操作

【h(或向左方向键)】 光标左移一个字符

【j(或向下方向键)】 光标下移一个字符

【k(或向上方向键)】 光标上移一个字符

【l(或向右方向键)】 光标右移一个字符

【[Ctrl] + f】 屏幕向下移动一页(相当于Page Down键)

【[Ctrl] + b】 屏幕向上移动一页(相当于Page Up键)

【[0]或[Home]】 光标移动到当前行的最前面

【[$]或[End]】 光标移动到当前行的末尾

【G】 光标移动到文件的最后一行(第一个字符处)

【nG】 n为数字(下同),移动到当前文件中第n行

【gg】 移动到文件的第一行,相当于"1G"

【n[Enter]】 光标向下移动n行

⑵ linux的vi命令怎样使用

先按ESC 然后按shift+;键 输入wq保存后就退出了

⑶ Vi命令的命令大全

本编辑器是所有计算机系统中最常用的一种工具。UNIX下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi,而vi命令繁多,论坛里好像这方面的总结不多,以下稍做总结,以资共享!渴望更正和补充!
进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi 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:(注意是数字零)光标移至当前行首
$:光标移至当前行尾
屏幕翻滚类命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。
插入文本类命令
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
ncw或nCW:修改指定数目的字
nCC:修改指定数目的行
删除命令
ndw或ndW:删除光标处开始及其后的n-1个字
d0:删至行首
d$:删至行尾
ndd:删除当前行及其后n-1行
x或X:删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u:删除输入方式下所输入的文本
搜索及替换命令
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
:s/p1/p2/g:将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换
选项设置
all:列出所有选项设置情况
term:设置终端类型
ignorance:在搜索中忽略大小写
list:显示制表位(Ctrl+I)和行尾标志($)
number:显示行号
report:显示由面向行的命令修改过的数目
terse:显示简短的警告信息
warn:在转到别的文件时若没保存当前文件则显示NO write信息
nomagic:允许在搜索模式中,使用前面不带“”的特殊字符
nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始
mesg:允许vi显示其他用户用write写到自己终端上的信息
最后行方式命令
:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d :将n1行到n2行之间的内容删除
:w :保存当前文件
:e filename:打开文件filename进行编辑
:x:保存当前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:!command:执行shell命令command
:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入
:r!command:将命令command的输出结果放到当前行
寄存器操作
?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字
?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字
?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字
?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字
ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。
tags 用法
在函数中移动光标
[{ 转到上一个位于第一列的{
}] 转到下一个位于第一列的{
{ 转到上一个空行
} 转到下一个空行 ([ and ] 也分别是两个指令)
ctrl+t 跳回
gd 转到当前光标所指的局部变量的定义
* 转到当前光标所指的单词下一次出现的地方
# 转到当前光标所指的单词上一次出现的地方
Vim 的创造者是一名计算机程序员,因此这就不奇怪 Vim 中有许多帮助编写程序的功能:
跳转到标识符被定义和使用的地方;在另一个窗口中预览有关的声明等等。

⑷ 如何在linux中vi使用方法

vi 的工作模式
Vi 在初始启动后首先进入编辑模式,这时用户可以利用一些预先定义的按键来移动光标、删除文字、 复制或粘贴文字等。这些按键均是普通的字符,例如 l 是向右移动光标,相当于向右箭头键,k 是 向下移动光标,相当于向下箭头键。在编辑模式下,用户还可以利用一些特殊按键选定文字,然后 再进行删除、或复制等操作。
当用户在编辑模式下键入 i, a, o 等命令之后,可进入插入模式;键入 : 可进入命名模式。 在插入模式下,用户随后输入的,除 Esc 之外的任何字符均将被看成是插入到编辑缓冲区中 的字符。按 Esc 之后,从插入模式切换到编辑模式。
在命令模式,Vi 将把光标挪到屏幕的最下方,并在第一个字符的位置显示一个 :(冒号)。这时, 用户就可以键入一些命令。这些命令可用来保存文件、读取文件内容、执行 Shell 命令、设置 Vi 参数、以正则表达式的方式查找字符串或替换字符串等。
编辑模式
1. 移动光标
要对正文内容进行修改,首先必须把光标移动到指定位置。移动光标的最简单的方式是按键盘的上、下、左、

右箭头键。除了这种最原始的方法之外,用户还可以利用 vi 提供的众多字符组合键,在正文中移动光标,迅

速到达指定的行或列,实现定位。例如:

k、j、h、l 功能分别等同于上、下、左、右箭头键

Ctrl+b 在文件中向上移动一页(相当于 PageUp 键)

Ctrl+f 在文件中向下移动一页(相当于 PageDown 键)

H 将光标移到屏幕的最上行(Highest)

nH 将光标移到屏幕的第 n 行

2H 将光标移到屏幕的第 2 行

M 将光标移到屏幕的中间(Middle)

L 将光标移到屏幕的最下行(Lowest)

nL 将光标移到屏幕的倒数第 n 行

3L 将光标移到屏幕的倒数第 3 行

w 在指定行内右移光标,到下一个字的开头

e 在指定行内右移光标,到一个字的末尾

b 在指定行内左移光标,到前一个字的开头

0 数字0,左移光标,到本行的开头

$ 右移光标,到本行的末尾

^ 移动光标,到本行的第一个非空字符

2. 替换和删除
将光标定位于文件内指定位置后,可以用其他字符来替换光标所指向的字符,或从当前光标位置删除一个或多

个字符。例如:

rc 用 c 替换光标所指向的当前字符

nrc 用 c 替换光标所指向的前 n 个字符

5rc 用 c 替换光标所指向的前 5 个字符

x 删除光标所指向的当前字符

nx 删除光标所指向的前 n 个字符

3x 删除光标所指向的前 3 个字符

dw 删除光标右侧的字

ndw 删除光标右侧的 n 个字

3dw 删除光标右侧的 3 个字

db 删除光标左侧的字

ndb 删除光标左侧的 n 个字

5db 删除光标左侧的 5 个字

dd 删除光标所在行,并去除空隙

ndd 删除 n 行内容,并去除空隙

3dd 删除 3 行内容,并去除空隙

3. 粘贴和复制
从正文中删除的内容(如字符、字或行)并没有真正丢失,而是被剪切并复制到了一个内存缓冲区中。用户可

将其粘贴到正文中的指定位置。完成这一操作的命令是:

p 小写字母 p,将缓冲区的内容粘贴到光标的后面

P 大写字母 P,将缓冲区的内容粘贴到光标的前面

如果缓冲区的内容是字符或字,直接粘贴在光标的前面或后面;如果缓冲区的内容为整行正文,则粘贴在当前

光标所在行的上一行或下一行。

注意上述两个命令中字母的大小写。vi 编辑器经常以一对大、小写字母(如 p 和 P)来提供一对相似的功能

。通常,小写命令在光标的后面进行操作,大写命令在光标的前面进行操作。

有时需要复制一段正文到新位置,同时保留原有位置的内容。这种情况下,首先应当把指定内容复制(而不是

剪切)到内存缓冲区。完成这一操作的命令是:

yy 复制当前行到内存缓冲区

nyy 复制 n 行内容到内存缓冲区

5yy 复制 5 行内容到内存缓冲区

4. 搜索字符串
和许多先进的编辑器一样,vi 提供了强大的字符串搜索功能。要查找文件中指定字或短语出现的位置,可以

用 vi 直接进行搜索,而不必以手工方式进行。搜索方法是:键入字符 / ,后面跟以要搜索的字符串,然后

按回车键。编辑程序执行正向搜索(即朝文件末尾方向),并在找到指定字符串后,将光标停到该字符串的

开头;键入 n 命令可以继续执行搜索,找出这一字符串下次出现的位置。用字符 ? 取代 / ,可以实现反向

搜索(朝文件开头方向)。例如:

/str1 正向搜索字符串 str1

n 继续搜索,找出 str1 字符串下次出现的位置

?str2 反向搜索字符串 str2

无论搜索方向如何,当到达文件末尾或开头时,搜索工作会循环到文件的另一端并继续执行。

5. 撤销和重复
在编辑文档的过程中,为消除某个错误的编辑命令造成的后果,可以用撤消命令。另外,如果用户希望在新

的光标位置重复前面执行过的编辑命令,可用重复命令。

u 撤消前一条命令的结果

. 重复最后一条修改正文的命令

6. 文本选中
vi 可进入到一种成为 Visual 的模式,在该模式下,用户可以用光标移动命令可视地选择文本,然后再 执行其他编辑操作,例如删除、复制等。 v 字符选中命令 V 行选中命令
插入模式
1. 进入插入模式
在编辑模式下正确定位光标之后,可用以下命令切换到插入模式:

i 在光标左侧输入正文

a 在光标右侧输入正文

o 在光标所在行的下一行增添新行

O 在光标所在行的上一行增添新行

I 在光标所在行的开头输入正文

A 在光标所在行的末尾输入正文

上面介绍了几种切换到插入模式的简单方法。另外还有一些命令,它们允许在进入插入模式之前首先删去一段

正文,从而实现正文的替换。这些命令包括:

s 用输入的正文替换光标所指向的字符

ns 用输入的正文替换光标右侧 n 个字符

cw 用输入的正文替换光标右侧的字

ncw 用输入的正文替换光标右侧的 n 个字

cb 用输入的正文替换光标左侧的字

ncb 用输入的正文替换光标左侧的 n 个字

cd 用输入的正文替换光标的所在行

ncd 用输入的正文替换光标下面的 n 行

c$ 用输入的正文替换从光标开始到本行末尾的所有字符

c0 用输入的正文替换从本行开头到光标的所有字符

2. 退出插入模式
退出插入模式的方法是,按 ESC 键或组合键Ctrl+[ 。

1.6.4 命令模式
在 vi 的命令模式下,可以使用复杂的命令。在编辑模式下键入“:”,光标就跳到屏幕最后一行,并在 那里显示冒号,此时已进入命令模式。命令模式又称“末行模式”,用户输入的内容均显示在屏幕的最后 一行,按回车键,vi 执行命令。
1. 退出命令
在编辑模式下可以用 ZZ 命令退出 vi 编辑程序,该命令保存对正文所作的修改,覆盖原始文件。如果只需要

退出编辑程序,而不打算保存编辑的内容,可用下面的命令:

: q 在未作修改的情况下退出

: q! 放弃所有修改,退出编辑程序

2. 行号与文件
编辑中的每一行正文都有自己的行号,用下列命令可以移动光标到指定行:

: n 将光标移到第 n 行

命令模式下,可以规定命令操作的行号范围。数值用来指定绝对行号;字符“.”表示光标所在行的行号;字符

符“___FCKpd___8rdquo;表示正文最后一行的行号;简单的表达式,例如“.+5”表示当前行往下的第 5 行。例如:

:345 将光标移到第 345 行

:345w file 将第 345 行写入 file 文件

:3,5w file 将第 3 行至第 5 行写入 file 文件

:1,.w file 将第 1 行至当前行写入 file 文件

:.,$w file 将当前行至最后一行写入 file 文件

:.,.+5w file 从当前行开始将 6 行内容写入 file 文件

:1,$w file 将所有内容写入 file 文件,相当于 :w file 命令

在命令模式下,允许从文件中读取正文,或将正文写入文件。例如:

:w 将编辑的内容写入原始文件,用来保存编辑的中间结果

:wq 将编辑的内容写入原始文件并退出编辑程序(相当于 ZZ 命令)

:w file 将编辑的内容写入 file 文件,保持原有文件的内容不变

:a,bw file 将第 a 行至第 b 行的内容写入 file 文件

:r file 读取 file 文件的内容,插入当前光标所在行的后面

:e file 编辑新文件 file 代替原有内容

:f file 将当前文件重命名为 file

:f 打印当前文件名称和状态,如文件的行数、光标所在的行号等

3. 字符串搜索
给出一个字符串,可以通过搜索该字符串到达指定行。如果希望进行正向搜索,将待搜索的字符串置于两个“

/”之间;如果希望反向搜索,则将字符串放在两个“?”之间。例如:

:/str/ 正向搜索,将光标移到下一个包含字符串 str 的行

:?str? 反向搜索,将光标移到上一个包含字符串 str 的行

:/str/w file 正向搜索,并将第一个包含字符串 str 的行写入 file 文件

:/str1/,/str2/w file 正向搜索,并将包含字符串 str1 的行至包含字符串 str2 的行写

入 file 文件

4. 正文替换
利用 :s 命令可以实现字符串的替换。具体的用法包括:

:s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1

:s/str1/str2/g 用字符串 str2 替换行中所有出现的字符串 str1

:.,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1

:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1

:g/str1/s//str2/g 功能同上

从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索

字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

5. 删除正文
在命令模式下,同样可以删除正文中的内容。例如:

:d 删除光标所在行

:3d 删除 3 行

:.,$d 删除当前行至正文的末尾

:/str1/,/str2/d 删除从字符串 str1 到 str2 的所有行

6. 恢复文件
vi 在编辑某个文件时,会另外生成一个临时文件,这个文件的名称通常以 . 开头,并以 .swp 结尾。vi 在

正常退出时,该文件被删除,若意外退出,而没有保存文件的最新修改内容,则可以使用恢复命令:

:recover 恢复文件

也可以在启动 vi 时利用 -r 选项。

选项设置
为控制不同的编辑功能,vi 提供了很多内部选项。利用 :set 命令可以设置选项。基本语法为:

:set option 设置选项 option

常见的功能选项包括:

autoindent 设置该选项,则正文自动缩进

ignorecase 设置该选项,则忽略规则表达式中大小写字母的区别

number 设置该选项,则显示正文行号

ruler 设置该选项,则在屏幕底部显示光标所在行、列的位置

tabstop 设置按 Tab 键跳过的空格数。例如 :set tabstop=n,n 默认值为 8

mk 将选项保存在当前目录的 .exrc 文件中

shell 切换
在编辑正文时,利用 vi 命令模式下提供的 shell 切换命令,无须退出 vi 即可执行 Linux 命令,十分

方便。语法格式为:

:! command 执行完 shell 命令 command 后回到 vi

另外,在编辑模式下,键入 K ,可命令 vi 查找光标所在单词的手册页,相当于运行 man命令。

vim 和 gvim 的高级特色
Vim 代表 Vi IMproved,如同其名称所暗示的那样,Vim 作为标准 UNIX 系统 vi 编辑器的提高版而存在。 Vim 除提供和 vi 编辑器一样强大的功能外,还提供有多级恢复、命令行历史以及命令及文件名补全等 功能。
gvim 是 vi 的 X Window 版本,该版本支持鼠标选中,一些高级光标移动功能,并且带有菜单和工具按钮。

⑸ Linux vi 操作命令

进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个和pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi 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:(注意是数字零)光标移至当前行首
$:光标移至当前行尾
屏幕翻滚类命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。
插入文本类命令
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
ncw或nCW:修改指定数目的字
nCC:修改指定数目的行
删除命令
ndw或ndW:删除光标处开始及其后的n-1个字
do:删至行首
d$:删至行尾
ndd:删除当前行及其后n-1行
x或X:删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u:删除输入方式下所输入的文本
搜索及替换命令
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
:s/p1/p2/g:将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换
选项设置
all:列出所有选项设置情况
term:设置终端类型
ignorance:在搜索中忽略大小写
list:显示制表位(Ctrl+I)和行尾标志($)
number:显示行号
report:显示由面向行的命令修改过的数目
terse:显示简短的警告信息
warn:在转到别的文件时若没保存当前文件则显示NO write信息
nomagic:允许在搜索模式中,使用前面不带“”的特别字符
nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始
mesg:允许vi显示其他用户用write写到自己终端上的信息
最后行方式命令
:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d :将n1行到n2行之间的内容删除
:w :保存当前文件
:e filename:打开文件filename进行编辑
:x:保存当前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:!command:执行shell命令command
:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入
:r!command:将命令command的输出结果放到当前行
寄存器操作
"?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字
"?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字
"?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字
"?p:取出寄存器?中的内容并将其放到光标位置处。这里?能是个字母,也能是个数字
ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。
进入vi
vi test
离开vi
:q! 离开vi,并放弃刚在缓冲区内编辑的内容。
:wq 将缓冲区内的资料写入磁盘中,并离开vi。
:ZZ 同wq
同wq
:w 将缓冲区内的资料写入磁盘中,但并不离开vi。
:q 离开vi,若文件被修改过,则会被需求确认是否放弃修改的内容,此指令可和: w 配合使用。
Vi 的操作模式
Vi 提供两种操作模式:
输入模式(insert mode)
指令模式(command mode)
当使用者进入vi后,既处于指令模式下,此刻键入所有字符皆被视为指令。
输入模式:a(append) 游标之后加入资料。
A 该行之末加入资料
i (insert) 游标之前加入资料
I 该行之首加入资料
o (open) 新增一行和该行之下供输入资料
O 新增一行和该行之上供输入资料
指令模式:B 移至该行第一个字符,若光标在该行第一字符则光标移至上一行第一字符。
b 由游标所在位置之前一个字串的第一个字符
cc 删除整行,修改整行的内容。
D 以行为单位,删除游标在内后面的所有字符。
db 删除该行光标前字符
dd 删除该行
de 删除自光标开始后面的字符
d加字符删除光标所在位置至字符之间的单
E移至该行最后字符,若光标在该行最后字符则光标移至下一行最后字符
e由游标所在位置至该字串的最后一个字符
G 移至该档案的最后一行
h 向前移一个字符
j 向下移一个字符
k 向上移一个字符
0 移至该行之首
M 移至视窗的中间那行
L 移至视窗的最后一行
l 向后移一个字符
0 由游标所在位置该行的第一个字符
nG 移至该档案的第n行
n+ 自游标所在位置向后移n行至该行的第一字符
n- 自游标所在位置向前移n行至该行的第一字符
R 进入取代状态,直到《ESC》为止
s 删除游标所在字符,并进入取代模式直到《ESC》
S 删除游标所在之该行资料,并进入输入模式直到《ESC》
w 由游标所在位置之下一个字串的第一个字符
x 删除游标所在该字符。
X 删除游标所在之前一字符。
r 用接于此指令之后的字符取代(replace)游标所在字符
yy yank整行,使游标所在该行复制到记忆体缓冲区
显示该行之行号、档案名称、档案中最末之行号、游标所在行号占
总行号之百分比
$ 由游标所在位置至该行的最后一个字符。
) 由游标所在位置至下一个句子的第一个字符。
( 由游标所在位置至该句子的第一个字符。
{ 由游标所在位置至该段落的最后一个字符。
} 由游标所在位置至该段落的第一个字符
yank和delete可将指定的资料复制到记忆体缓冲区,而藉有put指令可将缓冲区内的资料复制到荧幕上
例如:搬移一行 :在该行执行dd
游标移至目的地
执行p
复制一行 :在该行执行yy
游标移至目的地
执行p
视窗移动:
视窗往下卷一页
视窗往上卷一页
视窗往下卷半页
视窗往上卷半页
视窗往下卷一行
视窗往上卷一行
删除、复制及修改指令介绍:
d(delete)、c(change)和y(yank)这一类的指令在vi 中的指令格式为:
operation+scope=command
(运算子)(范围)
运算子:
d 删除指令。删除资料,但会将删除资料复制到记忆体缓冲区。
y 将资料(字组、行列、句子或段落)复制到缓冲区。
p 放置(put)指令,和d和y配合使用。可将最后delete或yank的资料放置于游标所在位置之行列下。
c 修改(change)指令,类似delete于insert的组合。删除一个字组、句子等资料,并插入新键入的

⑹ linux系统使用vi命令进入文件后怎么修改保存

1、查看目录下文件file.txt的内容,使用cat file.txt(ls // 表示查看当前目录下的文件目录 ; cat file.txt // 表示查看该文件的内容)发现内容是hello world

(6)vi命令使用方法扩展阅读:

linux系统的常用命

1、date :print or set the system date and time

2、stty -a: 可以查看或者打印控制字符(Ctrl-C, Ctrl-D, Ctrl-Z等)

3、 passwd: print or set the system date and time (用passwd -h查看)

4、logout, login: 登录shell的登录和注销命令

5、pwd: print working directory

6、more, less, head tail: 显示或部分显示文件内容.

7、lp/lpstat/cancel, lpr/lpq/lprm: 打印文件.

8、 更改文件权限: chmod u+x...

9、删除非空目录:rm -fr dir

10、拷贝目录: cp -R dir

⑺ 怎样使用vi

你要在什么系统下使用VI 都要区分好的

学习 vi —— “学习清单”式

1、起点

介绍

这篇指南要向你介绍 vi ——一个强大的可视化编辑器——的使用方法。通过一种特殊的循序渐进的“作弊纸”模式,这篇指南让你在短时间内迅速成为 vi 高手。在这篇指南里面,你将学到如何浏览、编辑文字、使用“插入”模式、复制粘贴以及使用一些重要的 vi 插件(譬如:可视化插件)和多窗口编辑。

如果你不知道,或者对 vi 感到不爽,那么赶快利用这篇指南,让这个 Linux/UNIX 平台最流行、最强大的可视化浏览器为你的工作添油加速吧!

关于这篇指南

学习 vi 的最大难点在于——vi 的繁多的指令。为了有效利用 vi,你需要记住其中不少的一些。这可能需要不少时间;而偏偏这篇指南的目的之一就是在于利用尽可能少的时间。所以,从一开始,我们将面对一个挑战——我怎么帮助你在短期内记住大量的命令。

为了在这篇指南的过程中解决这个难题,我们会逐渐一点一点积累起一张关于 vi 的知识清单。这张清单会包含所有重要的 vi 命令。当你完成了这份指南,当你忘记某个 vi 命令的时候,你可以很轻松得从这份清单中查找特定的命令。逐渐地,随着你记住这些命令,你会越来越少依赖这份清单。通过使用“知识清单”技术,你可以前所未有的速度学会使用 vi !

学习过程

在这份指南中,我会使用一些帮助你学习的办法。首先,如同你所期待的,我会介绍一条命令是如何工作的。然后,我会请你在 vi 中练习使用这条命令,之后把这条命令记录在知识清单中,以备日后参考。一一执行这些步骤对于你快速学习 vi 有莫大的帮助。试验并且记录这些命令会帮助你记住它们。

介绍 vim

Vi 有很多不同版本,而我要向你介绍的是一个叫做 vim 的版本。vim 非常流行;它有相当多的扩展模块使得 vi 更棒(当我展示一个 vim 独有的命令的时候,我会特别指出)。如果你需要安装 vim,你可以从 www.vim.org 得到它。除了一个增强版本的命令行 vi,vim 还有一个叫做 gvim 的、漂亮的、基于 GTK+ 的 GUI 版本。下面是一张我系统中 gvim 的截图:

插图 1.1:VIM 截图
[img]http://www.ibiblio.org/web-gentoo/images/vishot.png[/img]

如果你是一个 vim 新手,试着在你的系统上运行 gvim。从 GUI 使用可以让新手觉得轻松一点。

2、第一步

打开一个文件

在使用 vi 编辑文件之前,你需要知道如何使用 vi 浏览一个文件。vi 有很多移动命令,而我们会接触它们中的不少。在指南的这部分中,找一个无关紧要的文本文件,然后用 vi 打开它:

代码 2.1: 用 vi 装入一个文件
[code]$ vi myfile.txt [/code]

如果你安装了 vim,输入 vim myfile.txt。如果你决定使用 gvim,输入 gvim myfile.txt。myfile.txt 是你系统中的一个文件名。

在 vi 中

启动 vi 之后,你应该看到文件的一部分显示在你的显示屏上。恭喜——你进入了 vi!不像其它很多编辑器,当 vi 启动的时候会进入一个特别的“命令模式”。这意味着如果你键盘上的 1,vi 不会在当前光标位置输入一个 1,而会将光标向右移动一位。在命令模式,从键盘输入的字符会作为命令传递给 vi,而不是向文件中插入文字。移动命令是所有命令中最基本的一类,让我们来看一看。

3、来回移动

在 vi 中移动,第一部分

在命令模式中,你可以用 h、j、k 和 l 键将光标分别向左、下、上和右侧移动。如果你使用的是一个现代版本的 vi,你也可以用方向键达到相同的目的。h、j、k 和 l 键很有用:当你习惯了它们的时候,你可以不必将你的手从键盘基本键位移开就可以在文件中移动。试着使用 h、j、k 和 l 键(以及方向键)在文件中移动光标。试着用 h 移动到行首。注意 vi 不允许你用 h 键从行首自动退回到上一行。相似的,你不能用 l 从行末自动转到下一行。

在 vi 中移动,第二部分

vi 为跳至行首、尾提供了特殊的快捷键。你可以按0(零)跳到行首,$ 跳到行末。试试看。因为 vi 有这么多的移动命令,我们可以把它作为一个好的“分页”程序(就像 more 或者 less 命令)。把 vi 作为一个分页程序也可以帮助你飞快地学习这些移动命令。

你也可以用 <CTR>F 和 <CTR>B 向前后一次移动一整页。新的一些版本(譬如 vim)也支持用 PGUP 和 PGDOWN 键达到相同的目的。

按单词移动,第一部分

vi 也允许你按照单词长度来左右移动。要移动到下一个单词的第一个字母,按 w 键。到下一个单词的最后一个字母,按 e 键。移动到前一个单词的第一个字母,按 b 键。试试。

按单词移动,第二部分

试过这些移动命令之后,你可能注意到,vi 把 foo-bar-oni 这样的单词作为五个单独的单词!这是因为 vi 默认以空格或者标点符号作为单词分界,是以 foo-bar-oni 备分解成五个单词:foo、-、bar、- 和 oni。

有的时候这是你所期望的,有时候不是。幸运的是,vi 能够理解“长单词”的概念。vi 仅仅以空格或换行作为长单词的分界。这意味着虽然 foo-bar-oni 会被当作五个 vi 单词,它也可以作为一个长单词处理。

按单词移动,第三部分

你可以使用大写的单词移动命令在长单词之间跳跃移动。W 跳到下一个长单词的第一个字母,E 跳到最后一个字母,B 移动到前一个单词的第一个字母。试试看,和普通单词范围的移动进行比较,直到你明白它们的区别。

更大范围的移动

在我们把所学过的东西归纳到清单里面之前还有几个命令要看看。你可以用 ( 和 ) 移动到前后两句的开始。此外,用 { 或 } 可以跳到当前或者下一个段落的开头。试试它们。

4、退出
我们已经说了基本的移动命令,但是还有一些命令是你需要知道的。输入 :q 可以退出 vi。如果这样不能退出,可能是因为你修改过这个文件。要让 vi 退出而不保存修改,输入 :q!。这样你应该退出到了命令提示符。

在 vi 中,以 : 开头的命令被称为 ex-模式命令。这是因为 vi 内置了一个叫做 ex 的非可视化的编辑器。我们可以像使用 sed 一样地使用 ex 进行按行编辑文本。不仅如此,它也可以用来退出 vi,就像我们刚刚看见的。当你在命令模式按下 Q 键,就可以进入 ex 模式。这时,你会看见一个提示符 :;如果你按下回车键,整个屏幕会向上滚动。要回到熟悉的 vi 模式,只要输入 vi 然后回车就可以了。

5、知识清单

清单的开头

我们已经提到了很多命令;现在到了把它们加入清单的时候了。你可以用一张 A4 或者 US 信纸来制作这份清单,因为我们会在里面写很多内容!这是一份我的清单,里面包含了上面提到的所有命令。尽可能参考我的格式,这样我们可以把所有东西都集中在一张纸上。

插图 5.1:知识清单
[img]http://www.ibiblio.org/web-gentoo/images/vicheat-first.png[/img]

繁复的 vi (Miscellaneous vi)
让我们继续我们快速的命令行学习过程。在命令模式你可以用 G 跳至特定行。要跳到文件的第一行,输入 1G。注意 G 是大写字母。

如果你要搜索某个特定字符串模式在文件中的位置,输入 /<regexp> 然后回车。用一个正则表达式来替换你要搜索的模式。如果你不会使用正则表达式,不用烦恼——直接输入 /foo 会移动到下一个 foo 出现的地方。唯一需要注意的是,如果你需要寻找字面上的 ^、.、$ 或者 \,你需要在它们之前加上一个反斜线(\)。譬如,/foo\.gif 会寻找“foo.gif”的下一个出现位置。

要继续向下寻找,按 n。要继续向上寻找,输入 N。还是一样,用你自己的 vi 编辑器试验这些命令。你也可以用 // 来重复上一次的搜索。

6、保存和编辑

“保存”和“另存为...”
我们提到过,你可以用 ex 命令 :q 退出 vi。如果你要保存你做的改变,输入 :w。如果你要保存你的更改后的文本到另外一个文件,输入 :w filename.txt 会把文本保存为 filename.txt。如果你想保存后退出,输入 :x 或者 :wq。

在 vim (以及其它一些高级的编辑器,例如 elvis):w,你可以同时打开几个缓存。要在一个新窗口中打开文件,输入 :sp filename.txt。filename.txt 会在一个分割开的新窗口中打开以供编辑。要在窗口之间切换,输入 <CTR>w<CTR>w(按两次 control-w)。:q、:q!、:w 和 :x 中的任一个都只作用于当前活动的窗口。

简单的编辑

现在是我们学习一些简单编辑命令的时候了。我们将要提到的命令被称为“简单”是因为这些命令只需要你呆在命令模式。更复杂的编辑命令会让你自动进入插入模式——一个允许你从键盘输入文本的模式。我们会在一会儿提到这些内容。

现在,试着移过一些字符然后反复按 x 键。你会看见 x 会删除当前光标位置的字符。现在移动到你打开的文件的一个段落中间的某处然后点 J(大写)。你会发现 J 命令让 vi 把下一行接在这一行的结尾。现在,把光标移过一段文字然后点 r,再输入一个新的字母,你会看见原来的内容被替换了。最后,移动到文件的任一位置然后输入 dd。你会发现 dd 会删除当前一行文字。

替换和删除

你可以点 . 来重复任何一个编辑命令。如果你试试,你会看见 dd... 会删除四行文字,而 J...... 会连接四行(译者注:搞不懂ing,哪位大侠解释一下为什么不是六行)。和往常一样,vi 提供了非常顺手的快捷方式。

要删除文本,你可以用 d 命令结合任何的移动命令。例如,dw 会删除从当前光标位置到下一个单词开始处的内容;d) 会删除到下一个句子结束的地方;d} 会删除这个段落的剩余内容。试着用 d 命令和其它编辑命令直到你熟悉了它们。

撤销!

我们正在试验删除命令,而这正是一个学习撤销改变的好时候。按 u 键,传统的 vi 会仅仅允许你撤销最后一次操作。然而,新版本的 vi 譬如 vim 允许你用重复的 u 命令撤销你对文件作出的更改。把 d 和 u 命令一起试试。

升级你的知识清单

到了更新你的知识清单的时候了!添加上我们刚刚说过的那些命令,你的知识清单应该看起来是这个样子:

插图 6.1:加入了编辑命令的知识清单
[img]http://www.ibiblio.org/web-gentoo/images/vicheat-edit.png[/img]

7、插入模式

到目前为止,我们知道了如何在 vi 中移动光标,进行读写文件,还有一些基本的编辑操作。但是,我还没有向你们展示如何输入自由格式文本!这是我故意的,因为 vi 的插入模式在开始的时候会显得有些复杂。不过,一旦你熟悉了插入模式,它的复杂度(以及可用性)会成为非常有用的东西。

在 vi 的插入模式,你将可以直接将文字输入到屏幕,就像其它很多可视化编辑器一样。当你完成了你输入的内容,可以用 Esc 键退回到命令模式。i 或 a 可以让你进入插入模式。如果按 i,你的文本会插入在当前字符之前;而 a 会让你的文本插入在当前字符之后。记住,完成输入之后,用 Esc 键回到命令模式。

插入模式的优点

去试试 a 和 i 命令。按其中任意一个,输入一些文字,然后按退出键回到命令模式。按 a 或 i 之后试着按回车键看看会发生什么。试着用方向键和 Del 键感觉一下插入模式怎么工作。利用方向键和 Del 键,你可以不必退出到命令模式而完成相当多的编辑工作。

插入选项

这里有其它一些方便的进入插入模式的方法。按 A(大写)从当前一行的末尾开始插入内容而不管你当前的位置。相似的,I(大写)让你在当前行的开始插入。按 o 会在当前一行的下方新建一个空行以供插入,而 O 会在上方建立新行。要用新的空白行替代当前整行文字,输入 cc。要替代从当前位置到当前行的结束,输入 c$。要替换从当前位置到行的开始,输入 c0。

除了上述提到的功能,上面的所有命令都会让你进入 vi 的插入模式。输入完成之后,按 Esc 键回到命令模式。

改变文本

我们在前面尝试过 c 修改命令,例如 cc、c0 和 c$。cc 是修改命令的一个特殊形式,类似 dd。c0 和 c$ 命令是组合使用修改命令和移动命令的示例。从这个角度来看,c 和 d 的工作方式相似,除了一点:它让你停留在插入模式。这样,你可以输入用来替代删除部分的文本。试着把一些移动命令和 c 结合起来在你的文件中试试看(例如:cW、ce、c( )。

8、复合命令

当你开始使用复合(“combo”)命令(类似 d{ 和 cw 之类)的时候,vi 才真正显示它的强大。不仅是这些命令,我们还可以用一个数字与移动命令组合,例如 3w 会让 vi 向右侧跳过三个单词。12b、4j 是其它一些数字和移动命令形成的组合命令。

vi,除了支持(数字)(移动命令)组合之外,还允许 d 和 c 与一个数字或者移动命令组合。d3w 会删除下面三个单词,d2j 会删除当前和下面两行,等等。试试这些 c 和 d 的组合命令,看看 vi 能让你的文本编辑变得如何简单轻松。当这些命令变得顺手的时候,你将可以以一种难以置信的速度编辑文件。

更新知识清单

又到了更新知识清单的时间。它现在看起来应该是这个样子:

插图 8.1:加入了复合命令的知识清单
[img]http://www.ibiblio.org/web-gentoo/images/vicheat-compound.png[/img]

提高生产力的特色

到目前为止,我们已经学会了移动光标、保存和退出、进行简单的编辑和删除操作,以及使用插入模式。利用知识清单上面的内容,你几乎可以用 vi 完成所有的任务。

不过,vi 还有许多更强大的命令。在这个章节中,你将学会如何剪切、复制和粘贴,搜索和替换,以及使用“自动缩进”等特点。这些命令让 vi 变得更有趣而有用。

可视化模式

使用剪贴的最方便的办法是使用可视化模式,一个加入现代版本 vi(譬如 vim 和 elvis)的特殊模式。你可以把可视化模式想象成“高亮文本”模式。当文本被反白,我们可以复制或者删除它,然后粘贴。如果你在使用 gvim,你可以轻松地按住鼠标左键拖动来达到反白一段文字的效果:

插图 8.2:VIM 与反白文本
[img]http://www.ibiblio.org/web-gentoo/images/vihighlight.png[/img]

除此之外,你也可以通过按 v (如果你通过控制台调用 vi,这可能是你唯一的选择)。然后,用移动命令(尤其是方向键)控制光标,你可以反白一段文字。反白之后,我们就可以复制或者剪切这段文字了。

如果要复制这段文字,按 y(表示“yank”,猛拉)。要剪切,点 d。你会就此回到命令模式。现在,移动到你想要粘贴刚刚复制/剪切的内容的地方,然后按 P 在光标后插入内容,或者 p 将内容插入在光标之前。瞧,剪贴复制,就是这么轻松!在进入下面一小节内容之前,多试试剪切复制粘贴操作。

替换文本

我们用 ex 模式进行文本替换。如果你要替换当前行出现的第一个匹配模式,输入 :s/<regexp>/<replacement>/ 然后按回车。这里 <regexp> 是你要匹配的模式,而 <replacement> 是你用来替换的字符串。要替换当前行的所有匹配处,输入 :s/<regexp>/<replacement>/g 然后回车。要替换文件中所有匹配位置(这通常是你需要的),输入 :%s/<regexp>/<replacement>/g。如果你希望在全局替换过程中,vi 在每次替换之前进行提示,输入 :%s/<regexp>/<replacement>/gc (c 表示 confirm 确认)然后回车。

缩排

vi 支持自动缩排;当你编辑程序源码的时候可能需要这个功能。多数现代版本的 vi(例如 vim)会在你打开一个源码文件(例如 .c 文件)自动启用自动缩排功能。当自动缩排启动之后,你可以用 <CTR>d(control-d)向左移动一个缩排级别,或者 <CTR>t(control-t)向右移动一个缩排级别。如果自动缩排模式没有自动启用,你可以用 ex 模式命令 :set autoindent 来启动它。你还可以用 :set tabstop 命令告诉 vi 你习惯的 tab 宽度;:set tabstop=4 是一个相当流行的设置。

我们的最终版知识清单

Well,我们完成了我们的 vi 指南!加入了所有的高级编辑功能之后,这份清单应该看着像这个样子:

插图 8.3:最终版知识清单
[img]http://www.ibiblio.org/web-gentoo/images/vicheat-final.png[/img]

把这份清单放在手边,然后开始用 vi 编辑文档、写 email。当你需要的时候参考这份清单;你会发现在这一周之内,你会记住几乎所有这些命令,而 vi 的生产力会让你飞翔天际!

如果你像把 vi 作为你的默认编辑器,修改你的 /etc/rc.conf

代码片断 8.1:设置 vi 成默认编辑器
(设置 EDITOR 为你选择的编辑器。)
#EDITOR="/bin/nano"
EDITOR="/usr/bin/vim"
#EDITOR="/usr/bin/emacs"

参考资料

这里有一些你可能认为有助于继续学习 vi 的资料:
·vi 主页,关于 vi 的一切的好地方
·vim 主页是你寻找 vim 相关信息的地方
·如果你在找一本好的过时的书,《Learning the vi Editor, 6th Edition》会是一个不错的选择,覆盖了不少 vi 和 vi 变种的信息。

关于这份文档

这份原始文档作为 Westtech Information Services 的所有,最初发表在 IBM developerWorks。这一份是更新过的文档,包含了很多 Gentoo Linux 文档团队的改进。

⑻ Vi编辑器的使用方法

vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的, 因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。 基本上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)。 a) 进入vi
在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:
$ vi myfile
不过有一点要特别注意,就是您进入vi之后,是处于[命令行模式(command mode)],您要切换到[插入模式(Insert mode)]才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到 [插入模式(Insert mode)]再说吧!
b) 切换至插入模式(Insert mode)编辑文件
在[命令行模式(command mode)]下按一下字母i就可以进入[插入模式(Insert mode)],这时候你就可以开始输入文字了。
c) Insert 的切换
您目前处于[插入模式(Insert mode)],您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下[ESC]键转到[命令行模式(command mode)]再删除文字。
d) 退出vi及保存文件
命令行模式下保存并退出:输入ZZ
在[命令行模式(command mode)]下,按一下[:]冒号键进入[Last line mode],例如:
: w filename (输入 [w filename]将文章以指定的文件名filename保存)
: wq (输入[wq],存盘并退出vi)
: q! (输入q!, 不存盘强制退出vi)
:x (执行保存并退出vi编辑器) 1). 插入模式
按切换进入插入模式,按“i”进入插入模式后是从光标当前位置开始输入文件;
按[a]进入插入模式后,是从当前光标所在位置的下一个位置开始输入文字;
按[o]进入插入模式后,是插入新的一行,从行首开始输入文字。
2). 从插入模式切换为命令行模式
按[ESC]键。
3). 移动光标
vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母[h]、[j]、[k]、[l],分别控制光标左、下、上、右移一格。
按[ctrl]+[b]:屏幕往“后”移动一页。
按[ctrl]+[f]:屏幕往“前”移动一页。
按[ctrl]+[u]:屏幕往“后”移动半页。
按[ctrl]+[d]:屏幕往“前”移动半页。
按[gg]:移动到文章的首行。(可能只在Vim中有效)
按[G]:移动到文章的最后。
按[$]:移动到光标所在行的“行尾”。
按[^]:移动到光标所在行的“行首”
按[w]:光标跳到下个字的开头
按[e]:光标跳到下个字的字尾
按[b]:光标回到上个字的开头
按[#l]:光标移到该行的第#个位置,如:5l,56l。
Vi还提供了三个关于光标在全屏幕上移动并且文件本身不发生滚动的命令。它们分别是H、M和L命令。
(1)H命令
该命令将光标移至屏幕首行的行首(即左上角),也就是当前屏幕的第一行,而不是整个文件的第一行。利用此命令可以快速将光标移至屏幕顶部。若在H命令之前加上数字n,则将光标移至第n行的行首。值得一提的是,使用命令dH将会删除从光标当前所在行至所显示屏幕首行的全部内容。
(2)M命令
该命令将光标移至屏幕显示文件的中间行的行首。即如果当前屏幕已经充满,则移动到整个屏幕的中间行;如果并未充满,则移动到文本的那些行的中间行。利用此命令可以快速地将光标从屏幕的任意位置移至屏幕显示文件的中间行的行首。例如,在上面屏幕显示的情况下(不论光标在屏幕的何处),在命令模式下,输入命令M之后,光标都将移到add这一行的字母a上。同样值得一提的是,使用命令dM将会删除从光标当前所在行至屏幕显示文件的中间行的全部内容。
(3)L命令
当文件显示内容超过一屏时,该命令将光标移至屏幕上的最底行的行首;当文件显示内容不足一屏时,该命令将光标移至文件的最后一行的行首。可见,利用此命令可以快速准确地将光标移至屏幕底部或文件的最后一行。若在L命令之前加上数字n,则将光标移至从屏幕底部算起第n行的行首。同样值得一提的是,使用命令dL将会删除从光标当前行至屏幕底行的全部内容。
4). 删除文字
[x]:每按一次,删除光标所在位置的“后面”一个字符。
[#x]:例如,[6x]表示删除光标所在位置的“后面”6个字符。
[X]:大写的X,每按一次,删除光标所在位置的“前面”一个字符。
[#X]:例如,[20X]表示删除光标所在位置的“前面”20个字符。
[dd]:删除光标所在行。
[#dd]:从光标所在行开始删除#行
5). 复制
[yw]:将光标所在之处到字尾的字符复制到缓冲区中。
[#yw]:复制#个字到缓冲区
[yy]:复制光标所在行到缓冲区。
[#yy]:例如,[6yy]表示拷贝从光标所在的该行“往下数”6行文字。
[p]:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
6). 替换
[r]:替换光标所在处的字符。
[R]:替换光标所到之处的字符,直到按下[ESC]键为止。
7). 恢复上一次操作
[u]:如果您误执行一个命令,可以马上按下,回到上一个操作。按多次“u”可以执行多次回复。
8). 更改
[cw]:更改光标所在处的字到字尾处
[c#w]:例如,[c3w]表示更改3个字
9).撤销更改
[u]:撤销上一次更改,可以一直按[u],一直撤销到最旧修改状态。
[ctrl]+[r]:恢复撤销的更改,可以一直按该组合键达到最新的改变。
10). 跳至指定的行
[ctrl]+[g]列出光标所在行的行号。
[#G]:例如,[15G],表示移动光标至文章的第15行行首。
4、Last line mode下命令简介
在使用[last line mode]之前,请记住先按[ESC]键确定您已经处于[command mode]下后,再按[:]冒号即可进入[last line mode]。
A) 列出行号
[set nu]:输入[set nu]后,会在文件中的每一行前面列出行号。
B) 跳到文件中的某一行
[#]:[#]号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。
C) 查找字符
[/关键字]:先按[/]键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按[n]会往后寻找到您要的关键字为止。
[?关键字]:先按[?]键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按[n]会往前寻找到您要的关键字为止。
D) 保存文件
[w]:在冒号输入字母[w]就可以将文件保存起来。
E) 离开vi
[q]:按[q]就是退出,如果无法离开vi,可以在[q]后跟一个[!]强制离开vi。
[wq]:一般建议离开时,搭配[w]一起使用,这样在退出的时候还可以保存文件,可以在后面再跟[!]强制保存退出。
[ZZ]:保存并退出vi。
F) 语法加亮
[syntax on]:vi编辑器默认不打开语法加亮功能,打开vi编辑器后在[last line mode]下使用[syntax on]命令即可打开语法加亮功能,此时编辑器会高亮显示文件中的关键字,方便编程使用,用[syntax off]命令可关闭该功能。

⑼ vi命令行模式怎么用

任何时候,不管用户处于何种模式,只要按一下ESC键,即可使Vi进入命令模式;我们在shell环境(提示符为$)下输入启动Vi命令,进入编辑器时,也是处于该模式下。在该模式下,用户可以输入各种合法的Vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则Vi在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是Vi的合法命令,Vi会响铃报警。(BY三人行慕课)

⑽ linux命令vi文本编辑器的使用方法

trkg5581jvlj

阅读全文

与vi命令使用方法相关的资料

热点内容
java的图形用户界面设计 浏览:768
算数游戏源码 浏览:998
压缩机工作声音判断 浏览:984
事业单位程序员 浏览:505
易语言取相似颜色源码 浏览:772
pyodbclinux 浏览:584
vivo为什么把服务器沉到深海 浏览:459
程序员能为电商做什么 浏览:400
腾讯直充qq号加密码 浏览:139
qt搭建msvc编译器环境 浏览:337
单片机晶振坏了会不会工作不稳定 浏览:769
天天影迷APP显示连接服务器失败怎么回事 浏览:960
钢铁命令同盟第七关怎么过 浏览:6
android底部控件弹出 浏览:42
为程序员而自豪 浏览:582
可以进行c语言编译的文件名 浏览:383
如何使用网络服务器运行程序 浏览:370
江西人社app什么时候开始年审 浏览:500
程序员浪漫求婚 浏览:955
什么是通知app 浏览:582