vim的基本使用概念

70 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第25天,点击查看活动详情


vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows。


基本概念

主要了解vim的三种模式:

命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)


  • 正常/普通/命令模式(Normal mode)
    • 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
  • 插入模式(Insert mode)
    • 只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
  • 底行模式(last line mode)
    • 文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入

在底行模式中输入:

image-20220330082919707

可以查看到vim的模式有什么:


vim的基本操作

进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面

例如:vim test.c

vim后面跟的文件名,如果该文件不存在,则会自动创建文件然后打开, 如果存在,则直接打开

注意:进入vim之后,是处于[正常模式],你要切换到[插入模式]才能够输入文字。


vim的重要性

  1. 培养习惯

作为初级程序员,我还有很多地方需要改进,工作流就是其中一个。在学习VIM之前,我从来不是一个真正利用热键/键绑定来发挥自己优势的人,而非常依赖鼠标。因为我打字一直很快,所以有人向我推荐典型的VIM尖峰时,“把手放在键盘上”这一点对我很有吸引力。

至少,我认为学习VIM不会带来任何负面影响。

  1. 潜力无限

在考虑是否应该学习VIM时,我观摩了一场相关的技术沙龙,它告诉我的是,在今后多年人们都可以持续使用VIM,并不断拓展工具使用范围。

这给了我一些提醒:首先,选择VIM意味着需要投入大量时间,但更重要的是,你始终在寻找提升技能的方法。作为新手开发人员,我想竭尽所能。

这重申了先前的观点,将不同的工具(以VIM为例)集成运用到开发工作流程中,就可以一石二鸟。

  1. Linux服务器上不再需要nano

这点来自于在Linux环境中远程工作多年,负责运行站点或服务器的程序员,是他们不了解VIM其实很烦人。如果需要修改在电脑中运行的服务器配置文件,则要安装nano,在我看来VIM就是:q!.

工作环境

日常工作中,我会将VSCode与VIM插件结合使用。我曾尝试安装诸如coc.nvim之类的插件并通过终端本身进行开发,效果just so so。

我一直非常喜欢在VSCode上编写代码。使用VIM VSCode插件的体验与运行VIM相同,但VSCode提供的生态系统让我受益更多。对我来说,使用此设置不失为两全其美之举。

:上述vim的重要性转载自文章:使用vim的重要性