linux中vim命令怎么查找替换,vim命令行快捷操作及查找替换

一、Vim命令行模式常见快捷方式

1. 三种主要模式:

① 命令(Normal)模式:

默认模式,移动光标,剪切/粘贴文本

② 插入(Insert)或编辑模式:

修改文本

③ 扩展命令(extended command )模式:

保存,退出等

2. 模式间转换:

97c891c3ca216e16c3a44116770a4761.png

① 命令模式 --> 插入模式

i insert, 在光标所在处输入

667e518eaf068d9b5ee14f6b72c39c36.png

cae90aa00b0dfea95b2b3b2ba229cecf.png

此处按i键,结果如下

8a3e103f15e97f23ba39857c6435a35d.png

a848954e86f5de321106ace2f4297b02.png

I 在当前光标所在行的行首输入

同理,按I键,结果如下

3e0053e5bef2eba4fbb7ac3bc4134a87.png

954ae17f5e9c1bcb0a7c18e48d87ba6a.png

a append, 在光标所在处后面输入

同理,按a键,结果如下

6a904e3b14d713ccf2d5eb3a8a810c40.png

5af953c5a63fa514048df3a2a79c7e41.png

A 在当前光标所在行的行尾输入

同理,按A键,结果如下

f3237c3394454ea29cfb5f2cf8e713c6.png

bc4ef256c7ae9606620bc4b427b532d5.png

o 在当前光标所在行的下方打开一个新行

同理,按o键,结果如下

51fbda75141a98826c2424e7e2d4bbfe.png

318d28aebded52ebfedef3c2de4fc8de.png

O 在当前光标所在行的上方打开一个新行

同理,按O键,结果如下

5503feecf6135a5c1e2ce06b359e5a36.png

4ca6b84c825b8c2fd040d6887594fd7d.png

② 插入模式 --------> 命令模式

72835ca7c5c529ffa15f9489fb3d85e5.png

按ESC键

371e1807c430abb60f5e640eb08bd648.png 

③ 命令模式 --------> 扩展命令模式

7e9cdabc500f227c111abddcce2cafb9.png 

按:进入扩展命令模式,可输入命令

d2d41656641455aa4ad09d5b7c2e3552.png 

④ 扩展命令模式 --------> 命令模式

按ESC键取消命令或按enter键执行命令可从扩展命令模式进入命令模式

3. 关闭文件方法:

① 扩展命令模式

:q 退出

d2d41656641455aa4ad09d5b7c2e3552.png 

:q! 强制退出,丢弃做出的修改

8a57d7a482d7415124f7d9ce8210f615.png 

:wq 保存退出

5aea1db57ae1bdec0b1a134b8f20364f.png 

:x 保存退出

134953b74b3234964805a672526ecdb5.png 

② 命令模式

ZZ 保存退出

ZQ 不保存退出

4. 扩展命令模式常用命令:

① w 写(存)磁盘文件

7941869c3713a6dcee1d8bc91641289a.png

② wq 写入并退出

见上面的“关闭文件方式”

③ x 写入并退出

见上面的“关闭文件方式”

④ q 退出

见上面的“关闭文件方式”

⑤ q! 不存盘退出,即使更改都将丢失

见上面的“关闭文件方式”

⑥ r filename 读文件内容到当前文件中

489a50f1e8a0626c2e7c895c3e3c0403.png

a35f61c834cca018c5ba40f359bb0397.png

⑦ w filename 将当前文件内容写入另一个文件

94e7063d4412ff45ffc0b6389a791f5b.png

⑧ !command 执行命令

0268444f5d5496adf804006b5dc6d939.png

ea377aaa73acc009caa9304d937325c6.png

⑨ r!command 读入命令的输出

0da1fdaf20fecadf09d4758b00ff1f1d.png

a7951e83b464c648e5f0adaf272e3b34.png

5. 命令模式光标跳转:

① 字符间跳转

h: 左 l: 右 j: 下 k: 上

#COMMAND:跳转由#指定的个数的字符

7c6cbea544532f827dc7a2be36aa85af.png 

例如:按3h即向左跳转3个字符

3c94d94cce5e9c5a62a8700447192ce2.png 

② 单词间跳转

w:下一个单词的词首

4f626001971e6006b5d3dd3a0b6bf646.png

7f45fd4e2b1d2c6386a076249107ff3e.png

e:当前或下一单词的词尾

当前单词词尾:

9991144c051059c189d11f6112daef12.png

de5f6b7a954a471de1dd8163a951a063.png

下个单词词尾:

7dd8e5256f05555eb117c4aa36f94000.png

053dad3dd68fc3d72ad49a01a0f9d767.png

b:当前或前一个单词的词首

当前单词词首

9ac6e0692cf50add24bac1cd50c2010f.png 

b31e527641c94bbe67dfc1cac0edb8bc.png

前一个单词词首

899ebf82b57bf3665c00c5a358215576.png

51f689bb8f222acfc81345fc0b6f2c8c.png

#COMMAND:由#指定一次跳转的单词数

例如:跳转3个单词的词尾,即3e:

393caa63195cbfe3673ff6e6a78eb74c.png

bb987045c29861d6df146d03fce55716.png

③ 当前页跳转

H:页首 M:页中间行 L:页底

zt:将光标所在当前行移到屏幕顶端

e74affd927d6ca339a82d6a212678136.png

6730ed0cb579132090860848cc132675.png

zz:将光标所在当前行移到屏幕中间

1f1f2411e8d467961ae3e432c0d2c31c.png 

6092b9784987a9ffad5f8c92e16ae7dc.png

zb:将光标所在当前行移到屏幕底端

6092b9784987a9ffad5f8c92e16ae7dc.png

a28e39293c37ad141e1c252f24d91fc5.png 

④ 行首行尾跳转

^: 跳转至行首的第一个非空白字符

8f341a5eaf62c3273f22ebb2bbec946b.png

b906c2403d82c95926f0dc19f25aedb5.png

0: 跳转至行首

1aa8bbeea8450358cc535f17a5d34f4b.png 

$: 跳转至行尾

e68676bf2199498bcb378243062fd77b.png

⑤ 行间移动

G:最后一行

1G, gg: 第一行

6. 命令模式翻屏操作:

① Ctrl+f: 向文件尾部翻一屏

② Ctrl+b: 向文件首部翻一屏

③ Ctrl+d: 向文件尾部翻半屏

④ Ctrl+u:向文件首部翻半屏

7. 命令模式编辑操作:

① 字符编辑

x: 删除光标处的字符

1332aa280855abe25d80c448f2c55c81.png

dcdbe88acdd6f54116c9cc70eba6938c.png

#x: 删除光标处起始的#个字符

例如:删除光标处的3个字符,即3x

e57dde282b0e8fca364ed84dd1a81db0.png

xp: 交换光标所在处的字符及其后面字符的位置

e1a97794de91cdd27e47447b0954ec35.png 

~:转换大小写

37bf6e5908cacb643ab17de2d0976776.png 

J:删除当前行后的换行符

a4aa3c12d9bcc69cd78d39fdcd9cc36a.png 

683af617208662e9c3957c816488d8d8.png 

② 替换命令(r, replace)

r: 替换光标所在处的字符

615029a12dc2a14224f8811bcf9f9d5f.png 

例如将光标处的r替换成b,则按rb键

1931dc592d75b4388437c11d242bc335.png 

R:切换成REPLACE模式

在命令模式下按R键进入REPLACE模式,可直接对光标所在处逐一进行替换

082fdec43d119f28eda8639424ca901e.png

4030348e933c94de4cf78b1c88c2e016.png

③ 删除命令

d$: 删除到行尾

b7a6fae41eec50f92d643ef05b0a387d.png

8532544a524a44afc456bcfbf2f1b24c.png

d^:删除到非空行首

618c2b8fb758ace0d7d410fc2934cca4.png

429558e745e85ed74a0d696c631a16df.png

d0:删除到行首

37bc2a67f387e84d16ee8a59a4480ea2.png 

dd: 删除光标所在的行

7a7d74c4610dd2b5662e6b2bd57e9497.png

ff4697087dcaeab062444b78d8a4a864.png

#dd:多行删除

如往下删除三行,按3dd

848382336aa2a12cff8adf8ea0dcd315.png

10f52c7ae8788a5fbc05f5426b9ff56c.png

④ 复制命令(y, yank)

y: 复制,行为相似于d命令

⑤ 粘贴命令(p, paste)

p:缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴

至当前光标所在处的后面

粘贴整行(配合yy命令):

4e028fc46884d628730b16a9e62bfa56.png

651a92bb30e72438f85e75428b1f94ed.png

粘贴光标所在处的后面,例如,将光标所在处至行首位置复制粘贴到光标所在处的后面:

4c7d753d1e44a1cc2fc768bf5c166c07.png 

5e3ee7414ce2c8dc42b88cfb2103f5ca.png 

P:缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴

至当前光标所在处的前面

粘贴整行(配合yy命令):

b110d1fc9fc496b5607ffba8c692d86b.png 

粘贴光标所在处的前面,例如,将光标所在处至行首位置复制粘贴到光标所在处的前面:

ca42650fd6985e6b468252ecc5da5780.png 

⑥ 改变命令(c, change)

c: 修改后切换成插入模式

c$c^c0与之前的d和y类似

cc:删除当前行并输入新内容

a2d5bd3f076a1010a73fd0da477d0bbb.png

65dce70b2cddc0cf602442f76e3d734d.png

C:删除当前光标到行尾,并切换成插入模式

cee06603ab73e4405ffe97815765fced.png

4a64e64f2394fd9e5208d13fc3c6555f.png

二、Vim查找、替换方法

1. 命令模式:查找

① /PATTERN:从当前光标所在处向文件尾部查找

例如:查找“sshd”字符串

8e212c0b4d66a45f1851bafc66a62e12.png 

回车即高亮显示“sshd”字符串

6ed2c9965ca4e47fed642ad08df14499.png 

② ?PATTERN:从当前光标所在处向文件首部查找

同上,/sshd命令改成?sshd,即向上查找包含sshd的字符串

③ n:与命令同方向

上例,/sshd查找时,按n键即向下查找第二个包含sshd的字符串,并将光标指向该处

6b6736ca46be96861f5c6575509fc3b6.png 

如果是?sshd,按n键即向上查找第二个包含sshd的字符串

④ N:与命令反方向

同理,与n键方向相反

2. 扩展命令模式:查找并替换

① s: 在扩展模式下完成查找替换操作

格式:s/要查找的内容/替换为的内容/修饰符

例如:将查找mail字符串并替换成QQ

4e76f194994605db0c41fb2a259e4eea.png

be85538ade81859829e6bb49668b5b39.png

要查找的内容:可使用模式

例如:查找带有数字的字符串,替换为A

bcbe1abc64e030ed2d123eb7a64e2803.png

d953a2ee6d4ec2ebd744d6c9e5e4e1ae.png

替换为的内容:不能使用模式,但可以使用\1, \2, ...等后向引用符号;还可

以使用“&”引用前面查找时查找到的整个内容

例如:查找mail字符串替换为在mail后加上“QQ”

3392abdb02656243ac124c9e458a8430.png

e2220f6e5aba4b42606e75dec501b2ec.png

7cb77cc10ac8e7cd7caf16ce009bf1c1.png

8b253ec3a37db2abc35f53c75a321094.png 

修饰符:

i: 忽略大小写

加上i修饰符后,要查找的字符串无论大小写都匹配

f3b5d685c15de26686549ce9cf5ace4c.png

ceb88e0c427c96d2aa1cdb205ed38864.png

g: 全局替换;默认情况下,每一行只替换第一次出现

例如:将该行中所有的47都替换成99,就需要加上g修饰符,否则只替换最先匹配到的

7a26dfea65349c03db9d8ce95fde2931.png

c195aa897afb701f4e43f337a6d836a9.png

ca3e1489b6bef818fcf7280c39e90a65.png

gc:全局替换,每次替换前询问

960a904d33995b2a65c5ca1098014507.png 

每次匹配到后提示是否替换,按照提示选择替换与否,直至将匹配到的字符都处理完

86706c2b2cf1b1647f90d749b8367c56.png

2496c2e4635d25d7b7c15e37c1036096.png

② s: 查找替换中的分隔符/可替换为其它字符

例如:将/sbin/nologin替换成/bin/bash

a657335f454d87b9b68f12e00b199de5.png

c7bc163dd359a5ec8b80e0b852f127ea.png

0d514473e7f51d540c85dad481fa3dc8.png

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: vim是一种在Linux常用的文本编辑器命令。它可以用于编辑各种类型的文本文件,包括代码文件、配置文件、日志文件等等。vim命令可以通过终端或命令界面来使用,具有强大的编辑功能和快捷键,可以提高编辑效率。常用的vim命令包括打开文件、保存文件、复制粘贴、查找替换、撤销重做等等。学习和掌握vim命令可以提高Linux系统的使用效率和工作效率。 ### 回答2: Vim是一款流的文本编辑器,在Linux系统下被广泛使用。它具有强大的文本编辑能力,能够满足程序员和系统管理员等专业人士的日常需求。 Vim操作使用命令模式和编辑模式,通过按下不同的按键来完成不同的操作。在命令模式下,可以通过输入指令来移动光标、复制粘贴文本、删除字符、搜索替换等。常用的一些命令包括: 1. 移动光标:可以使用h、j、k、l分别向左、下、上、右移动光标,还可以使用gg和G分别跳转到文件的开头和结尾。 2. 插入和编辑文本:按下i,进入编辑模式,可以开始编辑文本。在编辑模式下,可以输入文本,按下ESC键回到命令模式。 3. 复制、粘贴和剪切文本:在命令模式下使用yy来复制一文本,使用dd来剪切一文本,使用p来粘贴。 4. 搜索和替换:在命令模式下输入/加上要搜索的关键字,按下回车可以向下搜索,输入?加上要搜索的关键字,按下回车可以向上搜索。按下:进入命令模式,使用%s/old/new/g可以全局替换文件的old为new。 5. 保存和退出:在命令模式下使用:w命令可以保存文件,使用:q命令可以退出Vim。使用:wq可以保存并退出,使用:q!可以强制退出,不保存修改。 除了以上常用的命令,Vim还支持插件扩展和自定义配置,可以根据个人的需要进设置。总的来说,Vim是一款功能强大的文本编辑器,灵活方便,适用于Linux系统的文本编辑和编程任务。 ### 回答3: Vim是一种功能强大的文本编辑器,是Linux系统最常用的编辑器之一。Vim具有很多命令,用于编辑、保存和退出文件,同时也支持代码高亮和自动补全等功能。 首先,要使用Vim打开一个文件,可以在终端输入`vim 文件名`命令。然后,可以使用`i`命令进入插入模式,在这个模式下可以输入并修改文本。在插入模式下,可以使用方向键或`H`、`J`、`K`、`L`来移动光标。 当需要保存修改后的文件时,可以按下`Esc`键返回到命令模式,并输入`:w`命令来保存文件。如果需要保存并退出Vim,可以输入`:wq`命令。如果只是想退出Vim而不保存修改,可以输入`:q!`命令。 在命令模式下,有一些常用的命令能够帮助我们更高效地编辑文件。例如,可以使用`dd`命令删除当前,`yy`命令复制当前,`p`命令粘贴已复制的。还可以使用`u`命令撤销最近的操作,`Ctrl + r`命令重新执已撤销的操作。 此外,Vim还支持一些更高级的功能。例如,可以按下`Ctrl + p`来进代码自动补全,按下`/`键进入搜索模式进关键字搜索。还可以通过将`set number`命令添加到`.vimrc`配置文件来显示号。 总之,Vim是一个功能强大的文本编辑器,具有众多的命令和功能,可以帮助开发者高效地编辑文件。熟练掌握Vim命令,能够提高编辑效率,并更好地适应Linux系统的编辑工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值