【Linux系统】vim编辑器的使用


一、vim编辑器的简单介绍

  1. Linux下的Vim编辑器是一款功能强大的多模式文本编辑器,其核心特点是通过不同模式实现高效编辑。 Vim包含三种主要模式:
  • 普通模式(Normal Mode):默认进入的模式,用于文本导航、复制/粘贴等操作(按Esc返回此模式)
  • 插入模式(Insert Mode):在普通模式下按i/a/o等键进入,可直接编辑文本
  • 命令行模式(Command Mode):在普通模式下按shift+;(相当于:)进入,支持保存文件、退出等指令,也可以进行内容替换,找字符串,列出行号等操作

  1. 再补充两个常用模式:
  • 替换模式(Replace Mode):在普通模式下按shift+r(相当于 R)进入。替换光标所在处的字符,逐个替换光标会自动后移,直到按下「ESC」键退出替换模式为止。

  • 视图模式(Visual Block Mode):在普通模式下按「ctrl + v」进入。视图模式下可以进行批量化操作。

Vim编辑器其实有好多种模式,但基本上掌握以上5种模式就足够使用。
在命令行模式下,输⼊「help vim-modes」 ,可以查看vim编辑器的所有模式。

二、vim的一键化配置方案(目前只支持 Centos7 x86_64)

  1. 在gitee搜索开源项目vimforcp:
    在这里插入图片描述

  2. 点进这个项目下翻到项目简介:在这里插入图片描述

第一步(想在哪个用户下让vim配置生效, 就在哪个用户下执行这个指令。不要在 root 下执行):

[zh@iZbp1dr1jtgcuih41mw88oZ ~]$ curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

第二步(按照提示输入 root 密码):
在这里插入图片描述
第三步(等待安装成功之后,再输入 “source ~/.bashrc”,使 vim 配置生效):
在这里插入图片描述

[zh@iZbp1dr1jtgcuih41mw88oZ ~]$ source ~/.bashrc

三、vim编辑器在各模式下的操作

1.vim的使用 以及 各模式间的切换

  1. vim的使用语法:

(1) vim 文件名(打开指定文件时,光标会停在上次退出该文件时停留的位置):

[zh@iZbp1dr1jtgcuih41mw88oZ ~]$ ls -l
total 4
-rw-rw-r-- 1 zh zh 373 May  4 15:59 code.c
[zh@iZbp1dr1jtgcuih41mw88oZ ~]$ vim code.c

在这里插入图片描述
(2)vim 文件名 +行号(打开指定文件时,光标会默认停在指定行):

[zh@iZbp1dr1jtgcuih41mw88oZ ~]$ vim code.c +10

在这里插入图片描述


  1. vim下各模式间的切换(vim打开文件时,初始默认处于普通模式)
    在这里插入图片描述

2.普通模式(Normal Mode,初始默认处于该模式)

  1. 控制光标的移动:

• vim可以直接用键盘上的方向键来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移⼀格
• 「#h」、「#j」、「#k」、「#l」,分别控制光标左、下、上、右移 # 格
• 「 $ 」:移动到光标所在行的“行尾”
• 「^」:移动到光标所在行的“行首”
• 「w」:光标跳到下个 “单词” 的开头
• 「#w」: 光标跳到下第 # 个 “单词” 的开头
• 「b」:光标回到上个 “单词” 的开头
• 「#b」:光标回到上第 # 个 “单词” 的开头
• 「gg」:光标移动到文本首行开头
• 「shift+g」:光标移动到文本尾行开头
• 「n + shift+g」:光标移动到文本第 n 行开头
• 「ctrl + b」:屏幕往“后”移动一页
• 「ctrl + f」:屏幕往“前”移动一页

// # 代表数字


  1. 删除内容:

• 「x」:每按⼀次,删除光标所在位置的⼀个字符
• 「#x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
• 「X」:大写的X,每按⼀次,删除光标所在位置的“前面”⼀个字符
• 「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符
• 「dd」:删除光标所在行
• 「#dd」:从光标所在行开始删除 # 行


  1. 剪切功能:

•「dd」+ 「p」:剪切一行
•「#dd」+ 「p」:剪切 # 行


  1. 复制粘贴:

「yy」:复制光标所在行到缓冲区。
• 「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
• 「p」:将缓冲区内的字符粘贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
• 「#p」:将缓冲区内的字符从光标所在位置往后粘贴 # 次。


  1. 查找光标处于的 “单词”:

• 「shift+#」:在文本中查找光标处于的 “单词”。(n:跳转到下一个;N:跳转到上一个)注意:此处的 ‘#’ 是字符,不指代数字


  1. 撤销和恢复:

• 「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
• 「ctrl + r」: 撤销的恢复(对「u」操作进行撤销)


  1. 替换字符:

• 「r」:替换光标所在处的字符(输入 r 后,再输入替换后的字符)。
• 「#r」:把光标所在处往后的 # 个字符替换为同一个字符(输入 #r 后,再输入替换后的字符)。


  1. 字母大小写替换:

• 「shift+`」(相当于 ~):从光标位置开始进行字母的大小写替换(长按可以一直替换到行尾)


3.替换模式(Replace Mode) 和 插入模式(Insert Mode)

  1. 在普通模式下,按「shift+r」(相当于 R)切换成替换模式(Replace Mode)。

替换模式:替换光标所在处的字符,逐个替换光标自动后移,直到按下「ESC」键退出替换模式为止。

  1. 在普通模式下,按i/a/o等键均可切换成插入模式(Insert Mode),可直接编辑文本
    // 按o进入插入模式时会另起一行

进入插入模式后,各种命令都无效了,因为全都被视为字符输入到文本内容中。
光标移动只能使用上下左右方向键。


4.视图模式(Visual Block Mode)

在普通模式下,按「ctrl + v」切换成视图模式(Visual Block Mode)。视图模式下可以进行批量化操作。

  1. 同时在多行文本内容前(或 后)添加指定内容(以批量化注释为例):

(1)在普通模式下,按「ctrl + v」切换成视图模式(Visual Block Mode)

在这里插入图片描述
(2)控制光标移动选定区域(普通模式下控制光标移动的方式中除了方向键控制外,均可以使用)

在这里插入图片描述
(3)区域选定结束后,按「shift + i」(相当于 I)切换成到插入模式(在选定内容前添加指定内容)
注: 按「shift + a」(相当于 A)切换成到插入模式是在选定内容后添加指定内容

在这里插入图片描述
(4)进入插入模式后,写入内容(因为我想实现批量化注释,所以写入了 // )

在这里插入图片描述
(5)写入内容之后,按「ESC」键退出插入模式,这时会发现在视图模式下选定的所有行前都添加了 // 内容

在这里插入图片描述


  1. 指定区域删除(以批量化去注释为例):

(1)在普通模式下,按「ctrl + v」切换成视图模式(Visual Block Mode)。控制光标移动选定区域
在这里插入图片描述
(2)选定区域之后,按「d」进行删除,删除后会自动退出到普通模式

在这里插入图片描述


  1. 指定区域内容替换(替换成同一个字符):

(1)在普通模式下,按「ctrl + v」切换成视图模式(Visual Block Mode)。控制光标移动选定区域

在这里插入图片描述
(2)选定区域之后,先按「r」,再输入想替换成的字符(例:示例中输入了 a)。替换后会自动退出到普通模式

在这里插入图片描述


  1. 复制指定区域内容:

(1)在普通模式下,按「ctrl + v」切换成视图模式(Visual Block Mode)。控制光标移动选定区域

在这里插入图片描述
(2)选定区域之后,按下「y」复制指定区域内容。复制后会自动退出到普通模式

在这里插入图片描述
(3)移动光标到目标位置,按「p」粘贴

在这里插入图片描述


  1. 指定区域内容中字母大小写替换:

(1)在普通模式下,按「ctrl + v」切换成视图模式(Visual Block Mode)。控制光标移动选定区域

在这里插入图片描述
(2)选定区域之后,按「shift+`」(相当于 ~)对指定区域内容中字母大小写进行替换。替换后会自动退出到普通模式

在这里插入图片描述


5.命令行模式(Command Mode)

在普通模式下,按「shift+;」(相当于 :)切换成命令行模式(Command Mode)。一定要先切换到命令行模式,才能执行下面的指令:

  1. 保存文件 和 退出文件的操作:

• 「w」: 在冒号输入字母「w」就可以将文件保存起来
• 「q」:按「q」就是退出文件。如果无法离开vim(一般就是文件编辑之后没有保存),可以在「q」后跟⼀个「!」强制离开vim(会导致编辑后未保存的内容恢复为原来内容)。
• 「wq」:⼀般建议离开时,搭配「w」⼀起使用,这样在退出的时候还可以保存文件。
• 「!」:强制执行。「w」、「q」和「wq」后都可以跟「!」


  1. 列出行号 和 取消行号:

• 「set nu」:输⼊「set nu」后,会在文件中的每一行前面列出行号。
• 「set nonu」:输⼊「set nonu」后,会取消文件中的每一行前面的行号。


  1. 跳到文件中的某⼀行:

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


  1. 查找字符串:

• 「/字符串」: 先按「/」键,再输入您想寻找的字符串,如果第⼀次找的字符串不是您想要的,可以⼀直按「n」会往后寻找到您要的字符串为止。
• 「?字符串」:先按「?」键,再输⼊您想寻找的字符串,如果第⼀次找的字符串不是您想要的,可以⼀直按「n」会往前寻找到您要的字符串为止。


  1. 替换字符串:

• 「s/原字符串/目标字符串/」:可以对光标所在的行第一个匹配的原字符串进行替换
• 「s/原字符串/目标字符串/g」:可以对光标所在的行所有匹配的原字符串进行替换
• 「%s/原字符串/目标字符串/g」:可以替换整个文件中所有匹配的原字符串
• 「%s/原字符串/目标字符串/cg」:如果你不想直接替换所有的匹配项,而是希望在每次替换时都进行确认,可以使用这个命令。这样在替换过程中, Vim 会弹出提示,询问你是否要替换每一个匹配的字符串,根据你可以需要输入 y(是)、n(否)等命令来决定是否替换。


  1. vim的命令行模式可以当linux命令行输入linux命令:

•「!命令」:先输入「!」,紧接着就可以输入linux命令并执行了。执行完毕后按任意键返回vim的普通模式

示例演示(在vim的命令模式执行 ls -l 命令行命令):

第一步(在命令模式输入 !ls -l ,再按回车执行该命令)

在这里插入图片描述
在这里插入图片描述
第二步(执行完毕后按任意键返回vim的普通模式)

在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值