【Linux】一篇文章教你快速上手vim

在这里插入图片描述

👦个人主页:Weraphael
✍🏻作者简介:目前正在学习c++和算法
✈️专栏:Linux
🐋 希望大家多多支持,咱一起进步!😁
如果文章有啥瑕疵,希望大佬指点一二
如果文章对你有帮助的话
欢迎 评论💬 点赞👍🏻 收藏 📂 加关注😍


一、vim的三种模式

基本上vim共分3种模式,分别是命令模式、编辑模式与底行模式。这3种模式的作用分别是:

  • 命令模式(command mode

输入指令vim [文件]就可以直接进入命令模式(默认模式)。在这个模式中,你是不能进行编辑操作的,但你可以使用【上下左右】按键来移动光标;你还可以使用vim的【删除、复制、粘贴】等指令来处理你的文件内容(后面会详细介绍)

在这里插入图片描述

  • 编辑模式(insert mode

在命令模式下,只需要按下i后(按键有很多种,记住一个即可),界面的左下方会出现【INSERT】字样,这是提示你可以对文件进行编辑。。而如果要返回命令模式,则需要按下【Esc】按键即可退出编辑模式。

在这里插入图片描述

  • 底行模式(command-line mode)

在命令模式中,只要你输入【: / ?】三个其中一个按键,就可以进入底行模式。你会发现左下角会有光标。在这个模式中(命令行模式)中,可以退出vim、还可以有设置行号、查找等操作(这些操作后面都会提到)

在这里插入图片描述

简单地说,我们可以将这三个模式关系用下面这幅图来表示:

在这里插入图片描述

注意:命令模式可与编辑模式及底行模式切换,但编辑模式与底行模式之间不可互相转换

二、命令模式下常用的按键

2.1 上下左右移动光标的方法

h /光标左移
j / 光标下移
k / 光标上移
l / 光标右移

如果想要进行多次用的话,例如向下移动30行,可以使用30j或者30↓

2.2 屏幕移动的方法

Ctrl + f向下翻
Ctrl + b向上翻

2.3 光标在行内移动的方法

shift + $定位到当前行末尾
shift + ^定位当前行开头
w以单词为单位向右移动
b以单词为单位向左移动

2.4 光标在整个文本移动的方法

gg定位到整个文本的开头
shift +g定位到整个文本的最后一行的开头
n + shift + g将光标移动到指定行n

2.5 删除/剪切的方法

x删除光标下的字符
dd剪切 / 删除光标所在行
ndd删除 / 剪切光标后的n行(包括光标所在行)

2.6 复制

yy复制光标所在行
nyy复制光标所在行的向下n行(包括光标所在行)

2.7 粘贴

p(小写)粘贴到光标所在行的下一行
np粘贴n

2.8 撤销

u撤销
ctrl + r对撤销操作进行撤销

2.9 对字符进行操作

shift + ~小写转大写,大写转小写 (转换后光标会自动后移)
r + 任意字符将光标下的字符修改成你期望的字符
shift + r进入替换模式,可以尽情修改当前行的所有内容。按esc退出替换模式

三、底行模式的常用按键

3.1 保存与退出(常用)

:w保存
:q!强制退出不保存
:wq!强制保存并退出
:wq保存并退出

3.2 在底行模式下执行基本指令

  • :! command - 不退出vim的命令行模式,从而执行外部命令行指令command

以下是编译代码 + ls + 执行可执行文件的动图演示

在这里插入图片描述

3.3 分屏操作

  • :vs [文件名] - 多个文件编辑窗口
  • ctrl + ww - 切换编辑窗口

在这里插入图片描述

3.4 设置行号(vim环境的修改 )

  • :set nu - 显示行号

  • :set nonu - 取消行号

3.5 查找

/word向光标之下寻找名称为word的字符串
?word向光标之上寻找名称为word的字符串
n重复前一个查找操作。例如:一开始执行/word,按下n则会继续向下查找word
shift + n反向进行前一个查找操作。例如:执行完/word后,按下N,则是向上查找

3.6 替换字符

:n1,n2s/word1/word2/gn1n2行寻找word1,并将该字符替换成word2
:n,$s/word1/word2/g在第n行到最后一行寻找word1字符串,并将该字符替换成word2
:n,$s/word1/word2/gc在其基础上加上了询问

四、补充:命令模式下的批量化操作

常见的使用场景:批量化注释

  1. ctrl+v进入VISUAL BLOCK可视块模式

  2. 此时只能选择hjkl来进行上下左右移动选择文本。(此时你可以使用命令行中的任意命令进行编辑)

  3. 选中文本后按shift + i,输入你想输入的文本内容,比如注释//

  4. 完成第三步后,按两下ESC即可完成批量化操作

五、vim的配置

5.1 自定义配置

我们发现,裸vim下写代码非常难受,没有行号、没有高亮、没有补全、没有缩进等功能。我们可以自己配置一个。(注意:不建议给超级用户root做配置

  • 先需要找到vim的配置文件。这个配置文件在自己的家目录下,有一个 隐藏文件.vimrc(如果没有就自己创建一个)
# 进入用户的家目录
cd ~
# 查看隐藏文件
ll -a

在这里插入图片描述

  • 然后vim .vimrc输入配置选项进行配置,保存并退出即可,配置在保存后会立即生效

比如我可以配置以下功能:

  • set nu - 设置行号
  • set autoindent - 自动缩进
  • set cursorline - 突出显示当前行
  • 还有很多功能大家可以自行上百度搜索

在这里插入图片描述

配置完后,我们往后打开vim,就会有以上功能

在这里插入图片描述

注意:是在自己的家目录路径下创建.vimrc文件,这个配置只对当前用户生效

5.2 自动化配置

我们也可以直接copy别人的配置。以下有一个我认为比较好用的配置(只适合CentOs 7.x的用户)

  1. 复制指令(不要在root用户下执行)
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
  1. 输入root密码

在这里插入图片描述

  1. 最后手动执行以下命令就完成了
source ~/.bashrc

在这里插入图片描述

但是以上配置有个缺陷,那么是缩减是2个字符,本人比较喜欢4个字符。如果你也喜欢,那就跟着我一起修改吧 ~

  • 进入.vimrc配置文件
vim .vimrc
  • 大概在50行,修改内容如下:

在这里插入图片描述

  • 22
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值