/ 写在前面 – 我热爱技术、热爱开源。我也相信开源能使技术变得更好、共享能使知识传播得更远。但是开源并不意味着某些商业机构/个人可以为了自身的利益而一味地索取,甚至直接剽窃大家曾为之辛勤付出的知识成果,所以本文未经允许,不得转载,谢谢/


下面这张图简要说明了Vim三个模式之间如何进行切换:
image.png

在命令模式下, hjkl 分别代表 ⬅️ 、⬇️ 、⬆️ 、➡️ 。

命令模式下常用的命令:

  • dd :删除(剪切)光标所在整行
  • 5dd :删除(剪切)从光标处开始的 5 行
  • yy :复制光标所在整行
  • 5yy :复制从光标处开始的 5 行
  • n :显示搜索命令定位到的下一个字符串
  • N :显示搜索命令定位到的上一个字符串
  • u :撤销上一步的操作
  • p :将之前删除(dd)或复制(yy)过的数据粘贴到光标后面

命令模式切换到输入模式

  • i :定位至光标当前位置
  • a :定位至光标后一位
  • o :在光标的下面再创一个空行,并定位过去

末行模式主要用于保存或退出文件,以及设置Vim的工作环境:

  • :w :保存
  • :q :退出
  • :q! :强制退出(放弃对文档的修改内容)
  • :wq! :强制保存退出
  • :set nu :显示行号
  • :set nonu :不显示行号
  • :命令 :执行该命令
  • :整数 :跳转到该行

How to temporarily exit Vim and go back - Stack Overflow:

  • Method 1
    • Ctrl + Z : SUSP
    • $ fg : foreground
  • Method 2
    • :sh
    • $ exit

memo

在 shell 中输入vim --version可以查看相关配置文件的位置。

以 Windows 为例:

  1. 系统 vimrc 文件: "$VIM\vimrc"
  2. 用户 vimrc 文件: "$HOME\_vimrc"
  3. 第二用户 vimrc 文件: "$HOME\vimfiles\vimrc"
  4. 第三用户 vimrc 文件: "$VIM\_vimrc"
  5. 用户 exrc 文件: "$HOME\_exrc"
  6. 第二用户 exrc 文件: "$VIM\_exrc"
  7. defaults file: "$VIMRUNTIME\defaults.vim"