2023-02-17 · 4

Vim

vimlinux

这篇文章发布已超过两年,内容可能已过时。

这次简单整理一下服务器管理和开发中都常用的 Vim。

什么是 Vim?

Vim 是 Bram Moolenaar 制作的 vi 兼容文本编辑器。Vim 在兼容 vi 的同时独自添加了多种功能来方便用户。尤其是可以用 Vim 脚本等自由改变编辑环境、扩展的正则表达式语法、强大的语法高亮、多重撤销、包括 Unicode 在内的多语言支持、语法检查等,都是它的强项。

为什么用 Vim?

非用 Vim 不可的理由?没有这种东西。其实如果你已经习惯了 VSC 之类里基本的 Windows 键盘用法,比如“Ctrl + 方向键”“Ctrl + 退格”这些功能,即使不如 Vim 也能快速编码。尽管如此还是用 Vim 的理由,就像前面说的:只靠基本功能赢不了 Vim 的打字速度。写代码时需要的功能——全局修改、删几个单词、只删括号内等——可以认为 Vim 里全都有。而且几乎不用碰鼠标哈哈

Vim 基本用法

来讲讲 Vim 的使用方法。

可用的方式有 2 种。

第一种是在 Linux 系里使用 vim。

第二种是在 VSC 这类 IDE 里额外安装 Vim。

安装后可以看到光标像上图一样变粗了。看 VSC 底部会显示 --NORMAL--,这就是当前状态。在这个状态下键盘输入是打不出字的。

按 i 或 a 就会变成可以再次输入的 --INSERT-- 模式。这时再按 ESC 就切回 --NORMAL-- 模式。

Vim 基本命令

NORMAL 模式 <-> INSERT 模式的切换方法。

  • a : NORMAL 模式下,从光标后面开始进入 INSERT 模式
  • i : NORMAL 模式下,从光标前面开始进入 INSERT 模式。
  • I(大写 i): 在行首进入 INSERT 模式。
  • A(大写 a): 在行尾进入 INSERT 模式。

导航命令。

  • h : 左方向键
  • j : 下方向键
  • k : 上方向键
  • l : 右方向键
  • 0 : 行的最前面
  • $(Shift + 4): 行的最后面
  • w : 一次跳一个单词
  • b : 向后一次跳一个单词
  • [n]w: 重复 n 次,比如 3w 就是跳 3 个单词的意思
  • H(大写 h): 移到屏幕最上方
  • M(大写 m): 移到屏幕正中间
  • L(大写 l): 移到屏幕最下方
  • gg : 移到当前文件最前面
  • G(大写 g): 移到当前文件最后面
  • [n]G : 移到第 n 行,13G 就是移到第 13 行
  • ctrl u : 向上滚动
  • ctrl d : 向下滚动
  • { : 段落开头
  • } : 段落结尾

编辑命令

  • x : 删除光标下的字符
  • dd : 删除光标所在整行(剪切)
  • yy : 复制行(ctrl c 功能)
  • p : 粘贴
  • *p : 粘贴剪贴板内容(VSC 需要额外设置)
  • u : 撤销
  • ctrl r : 重做

Vim 使用进阶版

工作方式按 Command + Object 进行。

  • Command : d delete(cut)、y yank(copy)、c change(change 与其他命令不同,完成后会切到 INSERT 模式)
  • Object : 3w、3b、aw(a word)、at(a tag)、ap(a paragraph)、as(a sentence)、it、i"、ip
  • .(点): 按(点)可以重复上一条命令

示例)

  • d3w: 就是 delete 3 word(删掉三个单词)。
  • dit: delete inner(inside)tags 删掉 <> 标签里的所有内容。
  • daw: delete a word 删除一个单词。
  • d3w: delete 3 word 删除三个单词。
  • d2j: 向下删除 2 行。
  • d2k: 向上删除 2 行。
  • df( : 删到 ((小括号)为止(含括号)
  • dt( : 删到 ((小括号)之前
  • d/(sh: 删到 (sh 为止

补充用法

  • v : 选择(拖拽)
  • vaw : 选择(拖拽)一个单词

参考

https://www.youtube.com/watch?v=cY0JxzENBJg&t=6s


原文(韩语): tistory — 发布于 2023-02-17,已迁移至本博客。本翻译由 AI 协助完成。

评论

删除这条评论?

相关文章

Vim · 나봄하랑