vim编辑和命令模式、实践

本文详细介绍Vim编辑器的编辑模式与命令模式操作,包括文本插入、位置定位、内容搜索与替换等实用技巧。同时,文章还讲解了Vim的扩展知识,如快速注释文本、代码缩进调整、文件加密解密等高级功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

9月29日任务

5.5 进入编辑模式

5.6 vim命令模式

5.7 vim实践

 

Vim编辑模式

进入编辑模式

操作

说明

i

在光标所在字符前插入内容

I

在光标所在行行首插入内容

a

在光标所在字符后插入内容

A

在光标所在行行尾插入内容

o

在光标所在行及下一行之间插入一个新行,并在该行行首处进行编辑

O

在光标所在行及上一行之间插入一个新行,并在该行行首处进行编辑

退出编辑模式

按ESC键即可

 

vim命令模式

位置定位

一般模式下,输入**:n**(n为行号),然后按回车键,光标自动定位到n行行首。

内容搜索(高亮显示)

在一般模式下输入/或?进行内容的搜索

  • /搜索内容

e38da80aab6edec180b056d5c4a002ee64a.jpg

n向下搜索,N向上搜索

  • ?搜索内容

c1a6dcf865deac272c0aa06bfdbfd0f950d.jpg

n向上搜索,N向上搜索

内容替换

在一般模式下输入“:”加 s可以进行替换操作

格式 “ :范围 s/替换前/替换后/g ”

(s替换,g全部,不加g只替换一行中最先出现的那个)

:替换/etc/passwd的拷贝文件中1-10行内所有的/sbin为/test

初始数据如下:

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
  • 加g的效果

:1,10 s#/sbin#/test#g

72455cb58b869d76c098adea16c97b57589.jpg

  • 不加g的效果

:1,10 s#/sbin#/test#

bf272d04353b40f9b577722d87d38be6545.jpg

只替换了当行的第一个匹配项

当替换的内容里包含/,有两种方法解决:

  • 在内容的/前加\进行转义

  • 使用其他字符(#%*)进行分割如s#/root#/home#g

其他命令
  • :wq | :wq! 保存退出

  • :set nu 显示行号

  • :set nonu 不显示行号

  • :nohl 取消高亮

  • :x

    • 文件被修改了 跟:wq效果一致

    • ==文件未被修改== :wq会修改mtime,:x不会

 

vim扩展知识

常用快捷键

快速注释文本内所有的行
  • ctrl+v (进入可视块编辑模式)

  • j/k (向下移动选择每行行首)

  • shift+i + # (在第一行插入#)

  • 按esc (每行自动插入第一行插入的#)

查看光标所在位置单词(命令)的man手册

shift+k

删除光标所在字符到某个字符之间的所有字符
#  删除前
sync:x:5:0:sync:/sbin:/bin/sync

d + f + /
删除了中间的“sync:/”

# 删除后
sync:x:5:0:sbin:/bin/sync
删除光标后的所有字符

D 或 shfit+d

删除当前光标所在位置的单词

d + i + w

选中当前光标上的单词

v + i + w

自动代码缩进导致黏贴代码缩进混乱的2种解决
  1. :set noai nosi (黏贴前执行)

  2. :set paste

 

文件加密、解密

加密

  1. vim/vi file

  2. :X 回车,输入密码并确认

  3. 保存退出

  4. 再次使用vim/vi编辑,不输入密码回车会显示为乱码

解密

  1. vim/vi file

  2. :set key= 设置密码为空

  3. 保存退出

 

更多使用操作,可以查看《Vim实用技巧》一书。 

 

转载于:https://my.oschina.net/u/3964535/blog/2221381

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值