导航:首页 > 程序命令 > vi常用的命令

vi常用的命令

发布时间:2023-01-31 11:49:57

1. 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 中有许多帮助编写程序的功能:
跳转到标识符被定义和使用的地方;在另一个窗口中预览有关的声明等等。

2. vi的用法

vi 命令 是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。

vi编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用vi编辑器就必须熟练掌握着两种模式的切换。默认情况下,打开vi编辑器后自动进入命令模式。从编辑模式切换到命令模式使用“esc”键,从命令模式切换到编辑模式使用"A"、"a"、"O"、"o"、"I"、"i"键。

vi编辑器的三种工作方式之间的转换如图所示。

vi编辑器提供了丰富的内置命令,有些内置命令使用键盘组合键即可完成,有些内置命令则需要以冒号“:”开头输入。常用内置命令如下:

vi(选项)(参数)

知识扩展

vi编辑器有三种工作方式:命令方式、输入方式和ex转义方式。通过相应的命令或操作,在这三种工作方式之间可以进行转换。

命令方式

在Shell提示符后输入命令vi,进入vi编辑器,并处于vi的命令方式。此时,从键盘上输入的任何字符都被作为编辑命令来解释,例如,a(append)表示附加命令,i(insert)表示插入命令,x表示删除字符命令等。如果输入的字符不是vi的合法命令,则机器发出“报警声”,光标不移动。另外,在命令方式下输入的字符(即vi命令)并不在屏幕上显示出来,例如,输入i,屏幕上并无变化,但通过执行i命令,编辑器的工作方式却发生变化:由命令方式变为输入方式。

输入方式

通过输入vi的插入命令(i)、附加命令(a)、打开命令(o)、替换命令(s)、修改命令(c)或取代命令(r)可以从命令方式进入输入方式。在输入方式下,从键盘上输入的所有字符都被插入到正在编辑的缓冲区中,被当做该文件的正文。进入输入方式后,输入的可见字符都在屏幕上显示出来,而编辑命令不再起作用,仅作为普通字母出现。例如,在命令方式下输入字母i,进到输入方式,然后再输入i,就在屏幕上相应光标处添加一个字母i。

由输入方式回到命令方式的办法是按下Esc键。如果已在命令方式下,那么按下Esc键就会发出“嘟嘟”声。为了确保用户想执行的vi命令是在命令方式下输入的,不妨多按几下Esc键,听到嘟声后再输入命令。

ex 转义方式

vi和ex编辑器的功能是相同的,二者的主要区别是用户界面。在vi中,命令通常是单个字母,如a,x,r等。而在ex中,命令是以Enter;键结束的命令行。vi有一个专门的“转义”命令,可访问很多面向行的ex命令。为使用ex转义方式,可输入一个冒号(:)。作为ex命令提示符,冒号出现在状态行(通常在屏幕最下一行)。按下中断键(通常是Del键),可终止正在执行的命令。多数文件管理命令都是在ex转义方式下执行的(例如,读取文件,把编辑缓冲区的内容写到文件中等)。转义命令执行后,自动回到命令方式。例如:

则从文件第一行至文件末尾($)将大写I全部替换成小写i

3. linux用VI编辑后保存退出命令是什么啊

先按ESC进入Command模式,然后输入“:wq”,回车就可以保存并退出了。

vi的其他保存/退出命令:

:w 保存;

:w filename 另存为filename;

:wq! 保存并强制退出;

:wq! filename 注:以filename为文件名保存后强制退出;

:q! 强制退出;

:x 保存并退出(仅当文件有变化时保存)

(3)vi常用的命令扩展阅读:

vi有三种工作模式:命令模式、文本编辑模式和最后行模式。不同工作模式下的操作方法有所不同。

1、命令行模式

该模式是进入vi编辑器后的默认模式。任何时候,不管用户处于何种模式,按下Esc键即可进入命令模式。

在命令模式下,用户可以输入vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释。若输入的字符是合法的vi命令,则vi在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不回显在屏幕上。若输入的字符不是vi的合法命令,vi 会响铃报警。

2、文本输入模式

在命令模式下输入插入命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式。

在该模式下,用户输入的任何字符都被vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按下Esc键即可。

3、末行模式

末行模式也称 ex 转义模式。在命令模式下,用户按:键即可进入末行模式下,此时vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个:作为末行模式的说明符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。

末行命令执行完后,vi 自动回到命令模式。

4. VI命令有那些

一、基本命令介绍

---- 1.光标命令

k、j、h、l——上、下、左、右光标移动命令。虽然您可以在Linux中使用键盘右边的4个光标键,但是记住这4个命令还是非常有用的。这4个键正是右手在键盘上放置的基本位置。
nG——跳转命令。n为行数,该命令立即使光标跳到指定行。
Ctrl+G——光标所在位置的行数和列数报告。
w、b——使光标向前或向后跳过一个单词。
---- 2.编辑命令
i、a、r——在光标的前、后以及所在处插入字符命令(i=insert、a=append、r=replace)。
cw、dw——改变(置换)/删除光标所在处的单词的命令 (c=change、d=delete)。
x、d$、dd——删除一个字符、删除光标所在处到行尾的所有字符以及删除整行的命令。
---- 3.查找命令
---- /string、?string——从光标所在处向后或向前查找相应的字符串的命令。
---- 4.拷贝复制命令
---- yy、p——拷贝一行到剪贴板或取出剪贴板中内容的命令。

二、常见问题及应用技巧

---- 1.在一个新文件中读/etc/passwd中的内容,取出用户名部分。
---- vi file
---- :r /etc/passwd 在打开的文件file中光标所在处读入/etc/passwd
---- :%s/:.*//g 删除/etc/passwd中用户名后面的从冒号开始直到行尾的所有部分。
---- 您也可以在指定的行号后读入文件内容,例如使用命令“:3r /etc/passwd”从新文件的第3行开始读入 /etc/passwd的所有内容。
---- 我们还可以使用以下方法删掉文件中所有的空行及以#开始的注释行。
---- #cat squid.conf.default | grep -v ^$ | grep -v ^#

---- 2.在打开一个文件编辑后才知道登录的用户对该文件没有写的权限,不能存盘,需要将所做修改存入临时文件。
---- vi file
---- :w /tmp/1 保存所做的所有修改,也可以将其中的某一部分修改保存到临时文件,例如仅仅把第20~59行之间的内容存盘成文件/tmp/1,我们可以键入如下命令。
---- vi file
---- :20,59w /tmp/1

---- 3.用VI编辑一个文件,但需要删除大段的内容。
---- 首先利用编辑命令“vi file”打开文件,然后将光标移到需要删除的行处按Ctrl+G显示行号,再到结尾处再按Ctrl+G,显示文件结尾的行号。
---- :23,1045d 假定2次得到的行号为23和1045,则把这期间的内容全删除,也可以在要删除的开始行和结束行中用ma、mb命令标记,然后利用“:a,bd”命令删除。

---- 4.在整个文件的各行或某几行的行首或行尾加一些字符串。
---- vi file
---- :3,$s/^/some string / 在文件的第一行至最后一行的行首插入“some string”。
---- :%s/$/some string/g 在整个文件每一行的行尾添加“some string”。
---- :%s/string1/string2/g 在整个文件中替换“string1”成“string2”。
---- :3,7s/string1/string2/ 仅替换文件中的第3行到第7行中的“string1”成“string2”。
---- 注意: 其中s为substitute,%表示所有行,g表示global。

---- 5.同时编辑2个文件,拷贝一个文件中的文本并粘贴到另一个文件中。
---- vi file1 file2
---- yy 在文件1的光标处拷贝所在行
---- :n 切换到文件2 (n=next)
---- p 在文件2的光标所在处粘贴所拷贝的行
---- :n 切换回文件1

---- 6.替换文件中的路径。
---- 使用命令“:%s#/usr/bin#/bin#g”可以把文件中所有路径/usr/bin换成/bin。也可以使用命令“:%s//usr/bin//bin/g”实现,其中“”是转义字符,表明其后的“/”字符是具有实际意义的字符,不是分隔符。

5. vi 命令大全

vi filename   打开或新建文档,并将光标置于第一行行首
vi +n filename   打开文件,并将光标置于第n行首
vi + filename   打开文件,并将光标置于最后一行首
vi +/pattern filename   打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename   在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename   打开多个文件,依次进行编辑

w   保存当前文件
w /tmp1   另存为/tmp1
20,59w /tmp1   仅将20-59行之间的内存另存为/tmp1
x 或 wq   保存退出
q   退出vi
q!   退出不保存 >
!command   执行shell命令command
n1,n2 w !command   将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入
r !command   将命令command的输出结果放到当前行
w !sudo tee %   保存没权限时,可获取权限再保存

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   删除输入方式下所输入的文本
n1,n2 d   将n1行到n2行之间的内容删除
%d   删除全部内容
1,$d   删除全部内容

yy   复制当前行
nyy   复制当前行开始的n行
  先按 v 然后方向键选择区域,按 y 复制选中行
dd   剪切当前行
p (小)   在当前光标处下面粘贴内容
P (大)   在当前光标处上面粘贴内容
n1,n2 co n3   将n1行到n2行之间的内容拷贝到第n3行下
n1,n2 m n3   将n1行到n2行之间的内容移至到第n3行下

/abc   从光标开始处向文件尾搜索abc
?abc   从光标开始处向文件首搜索abc
//abc   从光标开始处向文件尾搜索/abc,其中/是转义
n   在同一方向重复上一次搜索命令
N   在反方向上重复上一次搜索命令

s/vivian/sky/   替换当前行第一个 vivian 为 sky
s/vivian/sky/g   替换当前行所有 vivian 为 sky
n,$s/vivian/sky/   替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
n,$s/vivian/sky/g   替换第 n 行开始到最后一行中每一行所有 vivian 为sky
%s/vivian/sky/g   (等同于 g/vivian/s//sky/) 替换每一行的每一个 vivian 为 sky
s#vivian/#sky#   替换当前行第一个 vivian/ 为 sky/(可以使用 # 或 + 作为分隔符,此时中间出现的 / 不会作为分隔符)
s/p1/p2/g   将当前行中所有p1均用p2替代
n1,n2s/p1/p2/g   将第n1至n2行中所有p1均用p2替代
g/p1/s//p2/g   将文件中所有p1均用p2替换

"?nyy   将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字
"?nyw   将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字
"?nyl   将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字
"?p   取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字
ndd   将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中

set number   显示行号
set number!   不显示行号,其它选项同理加!号
set all   列出所有选项设置情况
set term   设置终端类型
set ignorance   在搜索中忽略大小写
set list   显示制表位(Ctrl+I)和行尾标志($)
set report   显示由面向行的命令修改过的数目
set terse   显示简短的警告信息
set warn   在转到别的文件时若没保存当前文件则显示NO write信息
set nomagic   允许在搜索模式中,使用前面不带“”的特殊字符
set nowrapscan   禁止vi在搜索到达文件两端时,又从另一端开始
set mesg   允许vi显示其他用户用write写到自己终端上的信息

参考文献:
https://www.cnblogs.com/mondol/p/vi-examples.html

6. VI和VIM命令的操作

vi编辑器是分为三种状态的

h 或 向左箭头键(←) 光标向左移动一个字符
j 或 向下箭头键(↓) 光标向下移动一个字符
k 或 向上箭头键(↑) 光标向上移动一个字符
l 或 向右箭头键(→) 光标向右移动一个字符
[Ctrl] + [d] 屏幕‘向下’移动半页
[Ctrl] + [u] 屏幕‘向上’移动半页

0 或功能键[Home] 这是数字‘ 0 ’:移动到这一行的最前面字符处 (常用)
$ 或功能键[End] 移动到这一行的最后面字符处(常用)

gg 移动到这个档案的第一行 (常用)
n<Enter> n 为数字。光标向下移动 n 行(常用)

n<space> 那个 n 表示‘数字’,光标会向右移动这一行的 n 个字符。
n<Enter> n 为数字。光标向下移动 n 行(常用)

/word 向下寻找某个单词
?word 向下寻找某个单词
n 向下重复执行搜索命令
N 向上重复执行搜索命令

dd 删除游标所在的整列
yy 复制游标所在那行
. 重复上一个动作

主要为一般模式到编辑模式的切换
i,I a,A o,O r,R 都可以实现到编辑模式的切换
其中r,R实现的是取代模式
Esc 为推出编辑模式回到常用模式

:w 编辑的数据写入硬盘
:w! 如果未见为只读的时候强制写入
;q 离开
:q! 不储存强制离开
:wq 储存后离开
:wq! 储存后强制离开
ZZ 若档案没有动过则直接离开,若档案已动过则保存离开
:set nu 设置行号
:set nonu 取消行号

7. VI常用命令有哪些

cp复制cd切换目录mv移动rm删除df查看磁盘剩余空间vivim编辑器还有什么命令:你看看/bin/sbin/usr/bin这几个文件夹就知道了。

8. linux中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 存盘退出vi
a 光标后插入正文
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 写文件之前不作对文件的检查

9. vi编辑命令大全。。

简单的vi编辑命令,希望能帮到你。。

  1. 输入

  2. 移动光标位置

    注意: 移动指令必须在命令模式下使用指令: h (左), j (下), k (上), l (右)

    注意: Unix 系统不支持上, 下, 左, 右四个方向键,Linux 系统为方便用户,在vi 中支持上述方向键

  3. 删除文本

    指令:

    (1) x, X : 删除当前光标所在字符/ 前一个字符

    (2) nx, nX : 删除从当前光标位置开始后n 个字符(包括当前字符) / 前n 个字符(不包括当前字符)

    (3) D : 删除当前光标位置开始后的该行所有字符(包括当前字符)

    (4) dd, ndd : 删除当前光标所在行/ 当前光标所在行开始的后n 行

  4. 复制与粘贴

    指令:

    (1) yy, nyy : 复制光标所在当前行/ 光标所在当前行开始的后n 行(包括当前行)

    (2) yw : 复制光标位置到单词结束的字符

    (3) p: 在当前光标后粘贴

    (4) P: 在当前光标前粘贴

  5. 查找文本

    指令: /字符串, /, ?字符串, ?

  6. 行号

    (1) : set nu —显示行号

    (2) : set nonu —取消行号显示

    (3) : n —将光标移到指定行

    (4) G —将光标移到文档的最后一行

  7. 其他编辑操作

    还原指令: u

  8. 文件保存与其他操作

    (1) : w (write)

    (2) : w filename

    (3) : w! (! 表示强制)

    (4) : q (quit)

    (5) : q!

    (6) : wq

    (7) : x 等价于:wq

10. vi的常用命令

vi的基本操作
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及保存文件

在“命令行模式(command mode)”下,按一下“:”冒号键进入“Last line mode”,例如:

: w filename (输入 “w filename”将文章以指定的文件名filename保存)

: wq (输入“wq”,存盘并退出vi)

: q! (输入q!, 不存盘强制退出vi)

3、命令行模式(command mode)功能键
1). 插入模式

按“i”切换进入插入模式“insert mode”,按“i”进入插入模式后是从光标当前位置开始输入文件;

按“a”进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;

按“o”进入插入模式后,是插入新的一行,从行首开始输入文字。

2). 从插入模式切换为命令行模式

按“ESC”键。

3). 移动光标

vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母“h”、“j”、“k”、“l”,分别控制光标左、下、上、右移一格。

按“ctrl”+“b”:屏幕往“后”移动一页。

按“ctrl”+“f”:屏幕往“前”移动一页。

按“ctrl”+“u”:屏幕往“后”移动半页。

按“ctrl”+“d”:屏幕往“前”移动半页。

按数字“0”:移到文章的开头。

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

按“$”:移动到光标所在行的“行尾”。

按“^”:移动到光标所在行的“行首”

按“w”:光标跳到下个字的开头

按“e”:光标跳到下个字的字尾

按“b”:光标回到上个字的开头

按“#l”:光标移到该行的第#个位置,如:5l,56l。

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”,回到上一个操作。按多次“u”可以执行多次回复。

8). 更改

“cw”:更改光标所在处的字到字尾处

“c#w”:例如,“c3w”表示更改3个字

9). 跳至指定的行

“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。

“qw”:一般建议离开时,搭配“w”一起使用,这样在退出的时候还可以保存文件。

5、vi命令列表
1、下表列出命令模式下的一些键的功能:

h
左移光标一个字符

l
右移光标一个字符

k
光标上移一行

j
光标下移一行

^
光标移动至行首

0
数字“0”,光标移至文章的开头

G
光标移至文章的最后

$
光标移动至行尾

Ctrl+f
向前翻屏

Ctrl+b
向后翻屏

Ctrl+d
向前翻半屏

Ctrl+u
向后翻半屏

i
在光标位置前插入字符

a
在光标所在位置的后一个字符开始增加

o
插入新的一行,从行首开始输入

ESC
从输入状态退至命令状态

x
删除光标后面的字符

#x
删除光标后的#个字符

X
(大写X),删除光标前面的字符

#X
删除光标前面的#个字符

dd
删除光标所在的行

#dd
删除从光标所在行数的#行

yw
复制光标所在位置的一个字

#yw
复制光标所在位置的#个字

yy
复制光标所在位置的一行

#yy
复制从光标所在行数的#行

p
粘贴

u
取消操作

cw
更改光标所在位置的一个字

#cw
更改光标所在位置的#个字

2、下表列出行命令模式下的一些指令
w filename
储存正在编辑的文件为filename

wq filename
储存正在编辑的文件为filename,并退出vi

q!
放弃所有修改,退出vi

set nu
显示行号

/或?
查找,在/后输入要查找的内容

n
与/或?一起使用,如果查找的内容不是想要找的关键字,按n或向后(与/联用)或向前(与?联用)继续查找,直到找到为止。

对于第一次用vi,有几点注意要提醒一下:
1、用vi打开文件后,是处于“命令行模式(command mode)”,您要切换到“插入模式(Insert mode)”才能够输入文字。切换方法:在“命令行模式(command mode)”下按一下字母“i”就可以进入“插入模式(Insert mode)”,这时候你就可以开始输入文字了。
2、编辑好后,需从插入模式切换为命令行模式才能对文件进行保存,切换方法:按“ESC”键。
3、保存并退出文件:在命令模式下输入:wq即可!(别忘了wq前面的:)

阅读全文

与vi常用的命令相关的资料

热点内容
分支限界java 浏览:389
phpdiscuz登录 浏览:182
epr服务器50人要什么配置 浏览:780
云服务器ecs如何转移 浏览:558
android仿应用宝 浏览:379
php连接mysql数据库的方法 浏览:109
螺杆制冷压缩机油镜怎样判断 浏览:126
本地电脑如何做服务器配置 浏览:860
如何对app的版权进行保护 浏览:822
小孩子用什么app软件 浏览:733
androidksoap上传 浏览:464
服务器掉线是什么原因 浏览:33
迷你世界怎么看服务器被炸 浏览:324
和平精英上线服务器是什么 浏览:941
云服务器显存分配 浏览:453
信捷plc编程电缆 浏览:145
学习排序算法 浏览:860
php探针源码 浏览:243
源码编程器积木作品 浏览:430
安卓版ins如何登录 浏览:371