vim入门

本文介绍了Vim,一个强大的可定制文本编辑器,讲述了其与Emacs的竞争历史以及基本的模式(命令、插入、底线)和常用命令。作者强调了实践的重要性,并详细讲解了如何在不同模式下操作,包括如何在终端中开始使用Vim。
摘要由CSDN通过智能技术生成

什么是vim

Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, Vim和Emacs在文本编辑方面都是非常优秀的。

上述是百度百科的解释,简单的讲vim就是在vi的基础上改进的、高度定制化的一个文本编辑器,也是一个上古神器。想要驾驭vim,前提是你得花时间学习和动手去操作才能够掌握。”纸上得来终觉浅,绝知此事要躬行“,如果只看了教程,但手不去动,是没办法学会的,而不看教程就去操作vim那也如同无头苍蝇一样,打开vim就到处乱飞,说到这里我已经有了第一次打开vim操作时的画面感了。所以,看了这篇文章或者别的教程之后,还需要你花上1~2天的时间去练习,才能真正的入门。这个过程可能会很难受或者很痛苦,但这一切都是值得的,借用往届大佬说过的一句话,“学会它后,你将在Linux的世界里畅行无阻。”

如何使用?

首先我们需要了解vim的三种模式和一些常用的命令:

  1. 命令模式(Command mode)我更喜欢称之为: 正常模式(Normal mode)

启动vim时便是正常模式,当前模式的键盘动作都是vim的命令,例如:通过键盘hjkl移动光标,x删除当前光标的字符…,或者输入i进入插入模式,输入英文冒号:进入底线命令模式,其他模式可以使用Esc键返回正常模式。

常用命令:

移动光标 h、j、k、l 键:
         ^
         k              提示: h 的键位于左边,每次按下就会向左移动。
   < h       l >              l 的键位于右边,每次按下就会向右移动。
         j                    j 键看起来很象一支尖端方向朝下的箭头。
         v
x 删除当前字符
dd 删除当前行
yy 复制当前行
p 粘贴到光标前
  1. 输入模式(Insert mode) 我更喜欢称之为: 插入模式(Insert mode)

在正常模式输入小写i键进入插入模式,所谓插入模式,顾名思义,跟我们平时使用IDE或记事本一样,可以用平时的操作方式移动、剪切、粘贴、换行和输入文本。常用命令也就是跟我们平时使用记事本一样,当然IDE里的一些组合键是没办法使用的。

  1. 底线命令模式(Last line mode)

正常模式中输入英文的冒号即可进入,该模式可以输入单个或多个字符命令进行文本操作或者设置vim的操作。

常用命令:

:q 退出
:q! 强制退出
:w 保存 后面可接文件名
:wq 强制性写入文件并退出
:x 写入文件并退出
:e 打开文件 后面可接文件名
:set number 显示行号
:set nonumber 禁止显示行号

总结:正常模式可以使用vim的各种文本操作命令,插入模式就和记事本一样,底线命令模式可以对文本进行保存退出和一些设置命令…

这三种模式的运作逻辑应该都明白了,后面会细讲一些常用的使用命令。

开始使用vim

一般情况下,系统都自带vim,所以我们可以直接通过终端输入vim进入。

  1. 终端下输入vim进入,只是一个欢迎界面,不要慌…

或者我们也可以在终端输入vim into_pit.txt回车,就不会看到上面的欢迎界面了。

  1. 摁i键进入插入模式,输入文字看看效果。

可能有人发现了 我的界面底部有个–INSERT-- 而自己的终端是没有的,这个就要用到底线命令模式去设置了。

  1. Esc键返回正常模式。

  2. 输入: set showmode回车 (打开底部显示当前模式,这个设置对于像我这种新手很有帮助)。

  1. 回车后回到了正常模式,摁i键就可以看到底部显示当前是插入模式了,输入空格。

为什么不是在位置的末尾输入?这时候就需要了解的常用的几个进入插入命令:

i 光标处进入插入模式 大写I行首
a 光标后进入插入模式 大写A行末
o 在下一行插入新行并进入插入模式 大写O上一行

插入模式基础的命令就差不多了,当然还有一些其他进入插入模式的组合命令例如ce向后删除字符并进入插入模式,当然想了解插入模式其他摁键例如shift+方向键翻页等组合键操作,可以自行去了解一下。

  1. 保存并退出vim,输入:wq(或者:x) 如果提示没有文件名则在末尾加上文件名,这时候就可以退出vim了。

恭喜你,底线命令模式和插入模式都学会了,接下来开始学习正常模式。

  1. 使用终端输入vim into_pit.txt 回到该文件。

这时候我们可以使用vim的一些移动或者删除的命令,可以使用hjkl移动光标或者gg跳到首行,G跳到末行。

通过移动将光标跳到其中的一个空行输入dd可删除当行,多删几个。

将光标移动到-以下都是回车- 双击y 单击p,多粘贴几行。

可以看到如下效果:

一些常用的命令,需要自己多去玩玩和动手操作操作:

移动光标 h、j、k、l 键:
         ^
         k              提示: h 的键位于左边,每次按下就会向左移动。
   < h       l >              l 的键位于右边,每次按下就会向右移动。
         j                    j 键看起来很象一支尖端方向朝下的箭头。
         v
0 数字0 跳到行首
^ 跳到从行首开始第一个非空白字符
$ 跳到行尾
gm 跳到行中
gg 跳到第一行
G 跳到最后一行
nG 跳到第n行
:n 跳到第n行
gj 下行
gk 上行

w 跳到下个单词开头(小写w标点或空格分离的单词,大写W空格分离的单词)
b 跳到上个单词开头 同w相反
e 跳到下个单词尾部 同上
ge 跳到上个单词尾部
fx 跳到下一个为x的字符(大写F为上一个)
tx 跳到下一个为x的字符前 同上

gd 光标定义
ctrl+o 跳转到上一个位置
ctrl+i 跳转到下一个位置

ctrl+f 下一页
ctrl+b 上一页

[[ 跳转到上一个顶级函数(比如C语言以大括号分隔)
]] 跳转到下一个顶级函数
[{ 跳转到上一处未匹配的{ ( 同理还有{(/ )
]} 跳转到下一处未匹配的} 同上

yy 复制整行
dd 删除当前行 并复制到寄存器
p 粘贴到光标后 大写P光标前
x 删除当前单词 大写X向前删除

u 撤销操作
U 撤销整行操作
CTRL-R 恢复到撤销操作前

cc 改写当前行并进入插入模式
s 替换字符(删除光标处字符,并进入插入模式,前可接数量)

v 标记(大写V按行标记)
v0 标记当前位置到行首(v$到行末...)
viw 选中当前单词(vi] 选中中括号...)

ctrl+v 区域、列选择 通过hjkl移动光标后进行操作,例如x删除
(大写i进入插入字符#双击Esc可添加多行注释)

还有很多正常模式下的移动命令和文本编辑操作大家可以多挖掘一下,我就不一一举例了,很多命令都是有规律的,很快就记得住了。先动动手指感受一下hjkl的魅力,可以选择上述其中一些常用命令先入门,也可以在终端输入vimtutor,进入vim自带的交互式教程了解更全面的入门基础教程。如果喜欢折腾的小伙伴,vim的高度定制化也会给你很多伸展的空间。vim现在也可以当做IDE使用,包括很多插件可以给你提供开发所需的功能场景,例如SpaceVim就是现成开箱即可食用的Vim-IDE。也可以将自己的IDE设置成vim模式,vscode的扩展搜索vim即可安装并使用vim模式。

我相信,看完这篇文章并强制将自己的IDE设置成vim模式,士别三日后,定当刮目相待,你的编码操作也会行云流水、炉火纯青,用上此远古神器后功力大增并力压群雄。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值