导航:首页 > 程序命令 > vi搜索命令

vi搜索命令

发布时间:2023-10-20 02:49:00

linux系统下 vi文本编辑器搜索单词打什么命令

vi文本编辑器搜索
简单搜索
"/string"用于向下搜索一个字符串,按n按照搜索相同的方向跳转到下一个匹配项,像一般的命令一样,前面加上数字,标示命令计数,比如"2n"代表第三个匹配的目标。按N会和之前命令想法的方向就像搜索下一个。
"?string"用于反向向上搜索字符转,n,N的用法同上。

搜索忽略大小写
:set ignorecase
设置大小写区分
:set noignorecase

命令记录

假设你做过三次的搜索
/one
/two
/there
现在你想再次的重复搜索one,不需要自己输入全部的字符串"/one"
利用命令的记录功能,只需要输入"/"按后通过方向键选择记录,如上,按三次向上方向键即可得到"/one",同样,你可以输入"/o"按后按向上方向键,即可自动匹配第一个以o开头的命令记录。(在:命令模式下,此方法相同使用,命令记录不相混淆)

当你要键入的单词太长时,你可以将光标移到你要搜索的单词上,在普通模式下,按下*键,即可以当前词为搜索向下搜索,#则向上搜索。这种方法上的单词完全匹配,如果你要搜素的字符串可能还包含在一个其他长字符串里面,可以使用g*,g#进行搜索。

在本行搜索某一个字符
fx 在当前行,向前将光标移动到字符x上
Fx 在当前行,向后将光标移动带字符x上
tx 在当前行,向前将光标移动到字符x之前的字符上
Tx 在当前行,向后将光标移动到字符x之后的字符上
, 按照上次搜索(f,F,t,T)的反向进行搜索
; 重复上次搜索

使用"/the"会搜索到there,soothe,the,athea
可以通过不同的方法匹配不同的搜索
"/the/>" 得到结果there
"//<the" 得到结果soothe
"//<the/>" 得到结果the
"/>"是一特殊记法,只匹配一个Word的结束处
"/<"是一特殊记法,只匹配一个Word的开始处

高亮显示搜索结果
将搜索的家国高亮显示,将十分的直观
开启:set hlsearch
关闭:set nohlsearch

调整搜索结果
:set incsearch 这使得你在键入目标字符的时候vim就开始搜索,使用这种方法,可以使你在未完全输入目标的情况下就可以找到一些结果

使用正则表达式
^字符匹配一行的开头
$字符匹配一行的结尾
eg:
将光标移动到下面一句话的第一个the上,输入*
the solder holding one of the chips melted and the
XXX XXX XXX(搜索高亮标记)
输入"/thetiny_mce_markerquot;得到以下匹配结果
the solder holding one of the chips melted and the
XXX(搜索高亮标记)
输入"/^the"则得到以下结果
the solder holding one of the chips melted and the
XXX (搜索高亮标记)
同理输入"/^thetiny_mce_markerquot;将匹配一行内容仅含the的行

/jo[ha]n 将搜索john或者joan
.字符可以匹配任意字符
eg:
"/t.e" 将搜索匹配the tee等
(如果你要搜索的字符串里包含特殊字符,比如.则适应转义字符/房子特殊字符前面)
"//<..../>" 将搜索任何四个字母的字符串

/d代表一个数字
//d 搜索数字 a1a
//</d/> 搜索作为独立单词的一个数字 1
//</d/d/> 搜索作为独立单词的两个数字 12
/^$ 搜索空白行
/^/n 同上
--------
指定重复的次数
--------
要制定重复的次数,可以使用"/{n,m}"这样的形式。"n"和"m"代表数字,其前的项目会被匹配"n"次到"m"次
/^/n/{3} 搜索三个空白行
/ab/{{3,5} 匹配"abbb","abbbb","abbbbb"
如果"n"被忽略,就默认它是0,如果"m"忽略,就默认它是无穷大,如果",m"被忽略,那么精确匹配"n"次重复
/{,4} 0,1,2,3,4次
/{3,} 大于等于3次
/{3,4} 3,4次
/{4} 4次
/= 0或者1
* 0或者多次
/+ 一次或者多次

--------
多选一
--------
在一个操作中的"或"操作符是"/|"。如:
/fred/|joe 将搜索fred或者joe
多个选项能继续串联在一起
/one/|two/|three
/end/(if/|while/|for/) 匹配的是"endif","endwhile","endfor"

--------
字符范围
--------
[a-z] a到z中的一个字符
[^a-z] 除了a到z中的一个字符
预定义字符集
//a 所有字母 /[a-zA-Z]
//d 数字 /[0-9]
//D 非数字 /[^0-9]
//x 十六进制数 /[0-9a-fA-F]
//X 非十六进制数 /[^0-9a-fA-F]
//s 空白字符 /[ ]
//S 非空白字符 /[^ ]
//l 小写字母 /[a-z]
//L 非小写字母 /[^a-z]
//u 大写字母 /[A-Z]
//U 非大写字母 /[^A-Z]
//h /[A-Za-z]
//w /[0-9A-Za-z]

❷ VI 编辑器基本操作及快捷键

在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:
$ vi myfile
不过有一点要特别注意,就是您进入vi之后,是处于 命令行模式(command mode) ,您要切换到 插入模式(Insert mode) 才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到 插入模式(Insert mode) 再说吧!

在 命令行模式(command mode) 下按一下字母 i 就可以进入 插入模式(Insert mode) ,这时候你就可以开始输入文字了。

您目前处于 插入模式(Insert mode) ,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下 ESC 键转到 命令行模式(command mode) 再删除文字。

在 命令行模式(command mode) 下,按一下 : 冒号键进入 Last line mode ,例如:
: w filename (输入 w filename 将文章以指定的文件名filename保存)
: wq (输入 wq ,存盘并退出vi)
: q! (输入 q! , 不存盘强制退出vi)

按 i 切换进入插入模式 insert mode ,按"i"进入插入模式后是从光标当前位置开始输入文件;
按 a 进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
按 o 进入插入模式后,是插入新的一行,从行首开始输入文字。

按 ESC 键。

vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母 h 、 j 、 k 、 l ,分别控制光标左、下、上、右移一格。
按 ctrl + b :屏幕往"后"移动一页。
按 ctrl + f :屏幕往"前"移动一页。
按 ctrl + u :屏幕往"后"移动半页。
按 ctrl + d :屏幕往"前"移动半页。
按数字 0 :移到文章的开头。
按 G :移动到文章的最后。
按 $ :移动到光标所在行的"行尾"。
按 ^ :移动到光标所在行的"行首"
按 w :光标跳到下个字的开头
按 e :光标跳到下个字的字尾
按 b :光标回到上个字的开头
按 #l :光标移到该行的第#个位置,如: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 ,回到上一个操作。按多次"u"可以执行多次回复。

cw :更改光标所在处的字到字尾处
c#w :例如, c3w 表示更改3个字

ctrl + g 列出光标所在行的行号。
#G :例如, 15G ,表示移动光标至文章的第15行行首。

在使用 last line mode 之前,请记住先按 ESC 键确定您已经处于 command mode 下后,再按 : 冒号即可进入 last line mode 。

set nu :输入 set nu 后,会在文件中的每一行前面列出行号。

# : # 号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。

/关键字 :先按 / 键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按 n 会往后寻找到您要的关键字为止。

?关键字 :先按 ? 键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按 n 会往前寻找到您要的关键字为止。

w :在冒号输入字母 w 就可以将文件保存起来。

q :按 q 就是退出,如果无法离开vi,可以在 q 后跟一个 ! 强制离开vi。

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

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
更改光标所在位置的#个字

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使用手册
VI是unix上最常用的文本编辑工具,作为unix软件测试人员,有必要熟练掌握它。

进入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 :光标右移一个字j至字尾
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
nG:光标移至第n行首
n+:光标下移n行
n-:光标上移n行
n :光标移至当前行尾

屏幕翻滚类命令
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的输出结果放到当前行 。

❸ 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 取消行号

❹ 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

❺ 如何在 Vim/Vi 中快速查找和替换文本内容

Vim 是 Vi 多模式命令行 编辑器 的加强版,通常默认的Unix或Linux系统中都默认自带Vi命令编辑器。当然,为了更好的体验,如果系统默认没有安装Vim,建议安装Vim。

通过本文的讲解,你将学会如何在Vim/Vi中快速的使用命令进行查找替换文本。

首先,启动Vim/Vi编辑器,处于正常模式下。如果你不确定是否处于正常模式下,这时你可以按“ESC”,编辑器就会进入正常模式。

替换命令的格式一般如下:

该命令表示在[range]的每一行中搜索{pattern},并将其替换为{string}。 [count]是一个乘以命令的正整数。

如果没有给出[range]和[count],则仅替换当前行中找到的模式。

例如,要搜索当前行中字符串“foo”的首次出现,并将其替换为“bar”,可以使用:

要替换当前行中搜索到的所有内容,可以添加 g 标志:

如果想搜索和替换整个文件中的匹配内容,使用百分比字符 % 作为范围。此字符指示从文件第一行到最后一行的范围:

如果省略 {string} 部分即上面的bar,则将其视为空字符串,相当于将匹配到的内容替换为空,既删除匹配到的内容。

以下命令删除当前行中字符串“foo”的所有实例:

当然,除了作为分隔符外,还可以使用任何其他非字母数字单字节字符,而不是斜杠字符( / )。例如:

要确认每个替换,可以使用 c 标志。

替换前会询问:

按 y 替换匹配项,或按l替换匹配项并退出。 按 n 跳过当前匹配,按 q 或 Esc 退出替换。 a 选项替换匹配项和所有剩余匹配项。

若要向下滚动屏幕,请使用 CTRL + Y ,向上滚动,请使用 CTRL + E 。

还可以使用 正则表达式 作为搜索模式,例如:

^ 符号表示与行首匹配, .* 表示匹配任意数量的字符。

默认情况下,搜索操作区分大小写;搜索“FOO”将与“FOo”不匹配。

要忽略搜索模式的案例,请使用 i 标志:

另一种强制忽略案例的方法是在搜索模式后添加 \c 。例如, /Linux\c 执行忽略大小写搜索。

当未指定范围时,替换命令仅在当前行中操作。

范围可以是一行,也可以是两行之间的范围。 行说明符之间可用英文 , 分隔 ; 字符分割。 可以使用绝对行号或特殊符号指定范围。

例如,要在从第3行到第10行的所有行中将所有出现的“ foo”替换为“ bar”,可以使用:

该范围是包含范围的,这意味着该范围包括第一行和最后一行。

. 字符表示当前行, $ 美元符号表示最后一行。 要在从当前行到最后一行的所有行中替换“ foo”:

也可以使用“ +”或“-”符号来设置行说明符,其后是从前一个行号添加或减去的数字。 如果省略符号后的数字,则默认为1。

例如,从当前行和接下来的四行开始,用“ bar”替换每个“ foo”,键入:

替代命令将模式作为字符串而不是整个单词查找。 例如,如果您正在搜索“ gnu”,则搜索查找匹配“ gnu”嵌入在较大单词(例如“cygnus” 或 “magnum”)中的情况。

要搜索整个单词,请键入\ <标记单词的开头,输入搜索模式,键入>标记单词的结尾:

例如,要搜索单词“ foo”,可以使用 \<foo\> :

Vim会跟踪您在当前会话中运行的所有命令。

要浏览历史记录以查找先前的替代命令,请输入 :s 并使用向上或向下箭头键查找先前的替代操作。 要运行该命令,只需按Enter。 您也可以在执行操作之前编辑命令。

注释行(在行前添加#)从5到20:

取消注释行从5到20,恢复以前的更改:

将“苹果”,“橙色”和“芒果”的所有实例替换为“水果”:

删除每行末尾的空格:

搜索和替换在Vim中是一个非常强大的功能,学会使用它能使您可以快速更改文本,提高自己的工作效率。

欢迎通过查看我个人介绍信息,私信跟我沟通!

❻ Linux如何在vi里搜索关键字

在命令模式下敲斜杆( / )这时在状态栏(也就是屏幕左下脚)就出现了 “/” 然后输入你要查找的关键字敲回车就可以了。

如果你要继续查找此关键字,敲字符 n 就可以继续查找了。

❼ linux中使用vi指令后怎么输入

以下是VI有关文件修改与保存的命令:x0dx0ax0dx0a插入命令x0dx0ax0dx0ai 在当前位置生前插入x0dx0ax0dx0aI 在当前行首插入x0dx0ax0dx0aa 在当前位置后插入x0dx0ax0dx0aA 在当前行尾插入x0dx0ax0dx0ao 在当前行之后插入一行x0dx0ax0dx0aO 在当前行之前插入一行x0dx0ax0dx0a查找命令x0dx0ax0dx0a/text查找text,按n健查找下一个,按N健查找前一个。x0dx0ax0dx0a?text查找text,反向查找,按n健查找下一个,按N健查找前一个。x0dx0ax0dx0avim中有一些特殊字符在查找时需要转义.*[]^%/?~$x0dx0ax0dx0a:set ignorecase忽略大小写的查找x0dx0ax0dx0a:set noignorecase不忽略大小写的查找x0dx0ax0dx0a查找很长的词,如果一个词很长,键入麻烦,可以将光标移动到该词上,按*或#键即可以该单词进行搜索,相当于/搜索。而#命令相当于?搜索。x0dx0ax0dx0a:set hlsearch高亮搜索结果,所有结果都高亮显示,而不是只显示一个匹配。x0dx0ax0dx0a:set nohlsearch关闭高亮搜索显示x0dx0ax0dx0a:nohlsearch关闭当前的高亮显示,如果再次搜索或者按下n或N键,则会再次高亮。x0dx0ax0dx0a:set incsearch逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成。x0dx0ax0dx0a:set wrapscan重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启。x0dx0ax0dx0a替换命令x0dx0ax0dx0ara 将当前字符替换为a,当期字符即光标所在字符。x0dx0ax0dx0as/old/new/ 用old替换new,替换当前行的第一个匹配x0dx0ax0dx0as/old/new/g 用old替换new,替换当前行的所有匹配歼陆x0dx0ax0dx0a%s/old/new/ 用old替换new,替换所有行的第一个匹配x0dx0ax0dx0a%s/old/new/g 用old替换new,替换整个文件的所有匹配x0dx0ax0dx0a:10,20 s/^/ /g 在第10行知第20行每行前面加四个空格,用于缩进。x0dx0ax0dx0addp 交换光标所在行和其下紧邻的一行。x0dx0ax0dx0a移动命令x0dx0ax0dx0ah 左移一个字符x0dx0al 右移一个字符,这个命令很少用,一般用w代替。x0dx0ak 上移一个字符x0dx0aj 下移一个字符x0dx0a以上四个命令可以配合数字使用,比如20j就是向下移动20行,5h就是向左移动5个字符,在Vim中,很多命令都可以配合数字使用,比如删除10个字符10x,在当前位置后插入3个!,3a!,这里的Esc是必须的,否则命令不生效。x0dx0ax0dx0aw 向前移动一个单词(光标停在单词首部),如果已到行尾,则转至下一行行首。此命令悄虚快,可以代替l命令。x0dx0ax0dx0ab 向后移动一个单词 2b 向后移动2个单词x0dx0ax0dx0ae,同w,只不过是光标停在单词尾部x0dx0ax0dx0age,同b,光标启改燃停在单词尾部。x0dx0ax0dx0a^ 移动到本行第一个非空白字符上。x0dx0ax0dx0a0(数字0)移动到本行第一个字符上,x0dx0ax0dx0a 移动到本行第一个字符。同0健。x0dx0ax0dx0a$ 移动到行尾 3$ 移动到下面3行的行尾x0dx0ax0dx0agg 移动到文件头。 = [[x0dx0ax0dx0aG(shift + g) 移动到文件尾。 = ]]x0dx0ax0dx0af(find)命令也可以用于移动,fx将找到光标后第一个为x的字符,3fd将找到第三个为d的字符。x0dx0ax0dx0aF 同f,反向查找。x0dx0ax0dx0a跳到指定行,冒号+行号,回车,比如跳到240行就是 :240回车。另一个方法是行号+G,比如230G跳到230行。x0dx0ax0dx0aCtrl + e 向下滚动一行x0dx0ax0dx0aCtrl + y 向上滚动一行x0dx0ax0dx0aCtrl + d 向下滚动半屏x0dx0ax0dx0aCtrl + u 向上滚动半屏x0dx0ax0dx0aCtrl + f 向下滚动一屏x0dx0ax0dx0aCtrl + b 向上滚动一屏x0dx0ax0dx0a撤销和重做x0dx0ax0dx0au 撤销(Undo)x0dx0aU 撤销对整行的操作x0dx0aCtrl + r 重做(Redo),即撤销的撤销。x0dx0ax0dx0a删除命令x0dx0ax0dx0ax 删除当前字符x0dx0ax0dx0a3x 删除当前光标开始向后三个字符x0dx0ax0dx0aX 删除当前字符的前一个字符。X=dhx0dx0ax0dx0adl 删除当前字符, dl=xx0dx0ax0dx0adh 删除前一个字符x0dx0ax0dx0add 删除当前行x0dx0ax0dx0adj 删除上一行x0dx0ax0dx0adk 删除下一行x0dx0ax0dx0a10d 删除当前行开始的10行。x0dx0ax0dx0aD 删除当前字符至行尾。D=d$x0dx0ax0dx0ad$ 删除当前字符之后的所有字符(本行)x0dx0ax0dx0akdgg 删除当前行之前所有行(不包括当前行)x0dx0ax0dx0ajdG(jd shift + g) 删除当前行之后所有行(不包括当前行)x0dx0ax0dx0a:1,10d 删除1-10行x0dx0ax0dx0a:11,$d 删除11行及以后所有的行x0dx0ax0dx0a:1,$d 删除所有行x0dx0ax0dx0aJ(shift + j)删除两行之间的空行,实际上是合并两行。x0dx0ax0dx0a拷贝和粘贴x0dx0ax0dx0ayy 拷贝当前行x0dx0ax0dx0anyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。x0dx0ax0dx0ap 在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。x0dx0ax0dx0ashift+p 在当前行前粘贴x0dx0ax0dx0a:1,10 co 20 将1-10行插入到第20行之后。x0dx0ax0dx0a:1,$ co $ 将整个文件复制一份并添加到文件尾部。x0dx0ax0dx0a正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制x0dx0ax0dx0addp交换当前行和其下一行x0dx0ax0dx0axp交换当前字符和其后一个字符x0dx0ax0dx0a剪切命令x0dx0ax0dx0a正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按d即可剪切x0dx0ax0dx0andd 剪切当前行之后的n行。利用p命令可以对剪切的内容进行粘贴x0dx0ax0dx0a:1,10d 将1-10行剪切。利用p命令可将剪切后的内容进行粘贴。x0dx0ax0dx0a:1, 10 m 20 将第1-10行移动到第20行之后。x0dx0ax0dx0a退出命令x0dx0ax0dx0a:wq 保存并退出x0dx0ax0dx0aZZ 保存并退出x0dx0ax0dx0a:q! 强制退出并忽略所有更改x0dx0ax0dx0a:e! 放弃所有修改,并打开原来文件。

❽ AIX中的vi常用命令

本文适用于AIX系统的vi编辑器,不兼容vim

测试环境: AIX 7.1

vi编辑器包括三种模式:

在编辑模式/命令模式下,通过ESC返回普通模式

如,右移20列写作 20l

长单词:以空格(space)、制表符(tab)、回车(enter)作为分隔符
短单词:包括*()-等均视为分隔符
例如: if(a > 0) 中,长单词包括 if(a 、 > 、 0) 3个,短单词包括 if 、 ( 、 a 、 > 、 0 、 ) 6个

f=forward,b=backward,u=up,d=down
%适用于大中小三种括号

/+n :正向搜索
/+N :逆向搜索
?+n :逆向搜索
?+N :正向搜索

对于组合命令,可以通过ESC取消

示例:逐词替换

控制字符指ASCII码中0x01-0x1F区间的不可见字符,主要用于程序控制。
在编辑模式下,输入: crtl-v , ctrl-控制字符
例如回车(0x0D)输入: ctrl-v , ctrl-m ,在vi中显示为 ^M

阅读全文

与vi搜索命令相关的资料

热点内容
蜜源app是什么时候创立的 浏览:704
计算机专业学51单片机 浏览:208
程序员不接受反驳 浏览:294
微软自带的压缩软件 浏览:286
中国玩家在日本服务器做什么 浏览:48
12864和单片机 浏览:898
25匹空调压缩机 浏览:649
adkandroid下载 浏览:308
如何在苹果电脑上装python 浏览:327
哪个app的跑步训练内容最丰富 浏览:583
广讯通怎么删除文件夹 浏览:206
解压的视频化妆品 浏览:674
易语言新进程监视源码 浏览:941
turbo码译码算法 浏览:956
stc11f16xe单片机 浏览:282
linuxupdate命令行 浏览:578
pdf转化成wps 浏览:765
php抛出错误 浏览:159
买车看车用什么app 浏览:656
dos怎么清除屏幕上的命令 浏览:813