【Linux】手把手教你从零上手Vim编辑器

举报
修修修也 发表于 2024/10/25 15:37:26 2024/10/25
【摘要】 🦄个人主页:修修修也 🎏所属专栏:Linux ⚙️操作环境:Xshell (操作系统:CentOS 7.9 64位)​编辑目录📌 写在前面 📌 Vim是什么 📌 手把手教你开始使用Vim 🎏 使用Vim 编辑 第一个程序 🎏 Normal(命令模式)指令集 🕹️ 插入模式 🕹️ 插入模式切 换为 命令模式 🕹️ 移 动 光 标 🕹️ 删 除文字 🕹️ 复制 🕹️ 替...

🦄个人主:修修修也

🎏所属专栏:Linux

⚙️操作:Xshell (操作系:CentOS 7.9 64位)

​编辑


📌 写在前面

📌 Vim是什么

📌 手把手教你开始使用Vim

🎏 使用Vim 编辑 第一个程序

🎏 Normal(命令模式)指令集

🕹️ 插入模式

🕹️ 插入模式切 换为 命令模式

🕹️

🕹️ 除文字

🕹️ 复制

🕹️

🕹️ 上一次操作

🕹️ 更改

🎏 LastLine(底行模式)指令集

🕹️ 示行号

🕹️ 跳到文件中的某一行

🕹️ 找字符

🕹️ 保存文件

🕹️ 离开Vim

📌 多文件操作

📌 简单 配置 Vim

🎏 Vim配置原理

🎏 配置 Vim

结语


📌写在前面

        点进这篇博客的朋友想来大都是对Vim这个编辑器感到既好奇又迷茫的。首先要明确的是, Vim并不像我以往接触的编辑器那容易在一开始就可以简单的先尝试上手操作。相反地, 因为没有我们熟悉的图形化界面+鼠标辅助操作,Vim的起步度可以说远超其他编辑。如果你想要基本操作一下Vim,你一开始就需要先掌握一定的技能,而不是在使用时才蹒跚起步。下图大概描述了Vim的学习曲线:

编辑

        从坐标轴毫无反馈的走到y轴的起点的路程是令人绝望的, 很多人倒在这段路上。因为他们并不知道学习Vim第一要紧的事是存活下来。但当你越过这段路后,Vim将会成你最后一个使用的文本编辑器。

        "没有比Vim更好的文本编辑器了, 非常地, 但是却不可思地好用。"——

        在正式开始学习Vim之前, 我需要给你一些忠告:

Vim在开始是痛苦的, 因为你不得不推翻自己长时间以来在windows环境下养成的文本编辑习惯, 那种感觉就像我们第一次在Linux里复制时被要求使用Ctrl+insert那样。

Vim需要时间, 需要持不断的练习, 并且这种练习就像小学老师要求课后抄写的汉字一样的枯燥无聊, 只是为了强化肌肉记忆, 但必须坚持。

不要期望能在几天内就将Vim练习的和其他编辑器一高效, 事实上你将花费两周乃至以上的时间重塑你的编辑习惯, 唯有如此, 才能使Vim得心应手。


📌Vim是什么

        Vim是从 Vi 发展出来的一个文本编辑码补全、编译错误等方便程的功能特丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。

        Vim的设计理念是命令的合。用户学习了各种各样的文本/跳的命令和其他的普通模式的编辑命令,并且能够灵活组合使用的话,能够比那些没有模式的编辑器更加高效的进行文本编辑。同时Vim与很多快捷键设置和正则表达式类似,可以辅助记忆。并且Vim针对程序员做了优化。

​编辑


📌手把手教你开始使用Vim

🎏使用Vim编辑第一个程序

        首先确保自己的机器安装了Vim, 然后我们在目录下建一个.c文件:

编辑

        然后我们使用Vim打开.c文件:

编辑

        打开后,我们可以看到这样一个界面:

编辑

        正常情况来讲,打开了编辑器我们就可以输入文本了,但是如果你尝试一下就会发现此时你动键盘输,大概率界面是没有什么反的,这是因为时刚进Vim,它还处Normal(命令模式),Vim有很多种模式,其中主要的三种模式的作用及其关系如下图:

编辑

        了解了三种模式,我们就明白了这时候要想入文本内容,就要先按[ i ]键进insert(插入模式)才可以,我们按下[ i ]键,可以发现此时底行提醒我经进入了insert模式:

编辑

        然后我们尝试输入一段C言代,可以看到,此时就可以正常输入了:

编辑

        在代码输入完成之后,我们此时想要保存并退出Vim编辑器就需要先从Insert(插入模式)回退到Normal(命令模式),回退的方法是, 按[ Esc ], 然后就会发现底部的insert消失了,表示我们回退到了Normal(命令模式):

编辑

        然后我们要从Normal(命令模式)LastLine(底行模式), 按下[ Shift + ; ], 我可以看到此底部出了一个冒号, 表示我们经进入了LastLine(底行模式):

编辑

        这个时候, 我们想要保存文本并退出Vim, 就底行"wq",其中w表示保存文本,q表示退出Vim:

编辑

        输入wq后按下回车, 就成功保存并退出Vim了, 此时我们看一下刚编辑test.c文件, 就可以看到刚刚保存的内容了:

编辑

        然后我们就可以正常的编译运行或者其他的操作,都是完全可以的:

编辑


🎏Normal(命令模式)指令集

🕹️插入模式

• 按「 i 」切换进入插入模式( insert mode ),按[ i ]进入插入模式是从光当前位置开始入文件;

• 按「 a 」进入插入模式后,是从目前光所在位置的下一个位置开始入文字;

• 按「 o 」进入插入模式后,是插入新的一行,从行首开始入文字。


🕹️插入模式切换为命令模式

按[ Esc ]


🕹️

        首先介绍一下,我们在打开Vim之后,界面上显示的这个绿色小方就是光,它在哪里我们就在编辑哪里:

编辑

        下面介绍几种定位的方法(注,操纵光标需要在Normal(命令模式)下进行):

按「 $ 」:移到光所在行的“行尾”

按「^」:移到光所在行的“行首”

按「w」:光跳到下个字的开

按「e」:光跳到下个字的字尾

按「b」:光回到上个字的开

按[ n ]+[ l ]:光移到行的第n位置,如:5l,56l

按[gg]:光到文本开始行

按[shift+g]:光到文本末尾行

按[ n ] + [ Shift + g ] :光文本第n行, 如:5G,45G

按「ctrl」+「b」:屏幕往“后”移

按「ctrl」+「f」:屏幕往“前”移

按「ctrl」+「u」:屏幕往“后”移

按「ctrl」+「d」:屏幕往“前”移

Vim可以直接用键盘上的光来上下左右移,但正Vim是用小写英文字母「h」、「j」、「k」、「l」,分控制光左、下、上、右移一格:​编辑


🕹️除文字

「x」:每按一次,除光所在位置的一个字符

  [ n ]+[ x ]:例如,「6x」表示除光所在位置的“后面(包含自己在内)”6个字符

「 Shift + x 」:大写的X,每按一次,除光所在位置的“前面”一个字符

  [ n ]  +「 Shift + x 」:例如,「20X」表示除光所在位置的“前面”20个字符

「dd」:除光所在行

  [ n ]  +「dd」:从光所在行开始n行,如[ 5dd ]表示从光所在行开始5行


🕹️复制

yw」:将光所在之到字尾的字符复制到冲区中

  [ n ] +「yw」:复制n字到冲区

yy」:复制光所在行到冲区

  [ n ] +「yy」:例如,「6yy」表示拷从光所在的“往下数”6行文字

「p」:将冲区内的字符到光所在位置。注意:所有与“y”有关的复制命令都必“p”配合才能完成复制与粘功能


🕹️

「r」:替所在的字符

  [ Shift ] +「r」:大写的R, 替所到之的字符,直到按下「ESC」键为


🕹️上一次操作

「u」:如果误执一个命令,可以上按下「u」,回到上一个操作。按多次“u”可以行多次撤

「ctrl + r」: 撤的恢复, 如果误执一个撤,可以上按下「ctrl + r」,回到上一个撤前的操作。按多次「ctrl + r」可以行多次恢复撤


🕹️更改

[ c ] + [ w ]:更改光所在的字到字尾

[ c ] + [ n ] + [ w ]:例如,「c3w」表示更改3个字


🎏LastLine(底行模式)指令集

        在使用底行模式之前 ,请记住先按[ESC]确定您已经处于正常模式, 再按「 Shift + ; 」, 即一个冒号, 即可入底行模式。

🕹️示行号

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


🕹️跳到文件中的某一行

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


🕹️找字符

[ / ] + [ 关 ] : 先按「/」,再入您想找的字符,如果第一次找的关字不是您想要的,可以一直按「n」会往后到您要的关止。

[ ? ] + [ 关 ] :先按「?」,再入您想找的字符,如果第一次找的关字不是您想要的,可以一直按「n」会往前到您要的关


🕹️保存文件

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


🕹️离开Vim

「q」:按「q」就是退出,如果无法离开Vim,可以在「q」后跟一个「!」制离开Vim

[ w ] + [ q ]:一般建离开,搭配「w」一起使用,这样在退出的可以保存文件


📌多文件操作

        Vim可以打开一个不存在的文件, 我们使用Vim打开一个不存在的文件:

编辑

        可以成功打开:

编辑

        但它并不会真正帮我们创建,如果我并不保存个文件的, 在退出Vim后就不会生新建的文件:

编辑

编辑

        我们在Vim里面底行模式,同可以打开Vim文件(包括不存在的文件):

编辑

        然后就会出一个code.c的Vim窗口,此时我们就可以行多文件编辑了:​编辑

        多文件编辑下,想文件编辑,按[ Ctrl ] + [ w ] + [ w ]

​编辑


📌简单配置Vim

        相信此时经过一定的熟悉和接触, 或许你会觉得Vim还是有很多不趁手的地方, 比如没有自动缩进, 或者是没有法提示, 或者是不适的主方案。这些问题都可以通配置Vim来解决,我们可以根据自己的使用习惯来配置Vim, 使它变得更加好用一些。


🎏Vim配置原理

        Vim配置是靠用家目里的文件Vimrc来完成的(这也表明一个Vim的配置只一个用生效,不会相互影响), 但这个文件并不是系,而是需要我自己:

编辑

        创建好后我们就可以打开它然后配置Vim了:

编辑

        例如, 我们文件里面"set nu"然后保存:

编辑

        然后退出再重新打开Vim就会发现所有的Vim文件都会自行号了:

编辑

        Vim有很多可以配置的选项,大家感兴趣的话可以在网上自行搜索配置.


🎏配置Vim

        如果有朋友懒得去详细的搜索Vim的配置,这里给大家贴一个成的方案,大家可以用它来一配置Vim:Gitee : VimForCpp https://gitee.com/HGtz2222/VimForCpp         项目概况如下图,详情请点击链接查看:

编辑

       配置步骤,首先复制下面行代:

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

        然后打开命令行窗口, 在确保自己不是root用的情况下, 将代复制到窗口运行:

编辑

        入自己的root账户,就可以开始安装了, 这时它会的帮助我配置相关的插件, 并安装配置好, 我们只需要耐心等待5.6分钟就可以了, 等到它提示我安装完成后, 我们输[ source ~/.bashrc ]后, 就可以使用配置好的Vim了:

编辑

        再打开Vim, 就可以使用已配置好的Vim了:

编辑

        注意,配置好后的根目里会多出一个install.sh文件,这是我们刚才在配置文件时下载的,我们将其藏掉就行:

编辑


结语

希望篇关于 Vim编辑器使用 的博客能大家有所帮助,迎大佬留言或私信与我交流.

学海漫浩浩,我亦苦作舟!关注我,大家一起学,一起!

相关文章推荐

【Linux】一文 底搞懂

【Linux】基本指令(下)

【Linux】基本指令(中)

【Linux】基本指令(上)


​编辑

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。