Matrix Wall

Vim使用笔记

我的Vim常用命令

基本操作

移动光标

  • hjkl(←↓↑→)

输入模式

  • i → 插入模式
  • a → 在光标后插入
  • r → 替换当前字符

删除

  • x → 删除光标下的字符
  • dd → 删除(并复制)当前行
  • ndd → 删除接下来 n 行

复制粘贴

  • yy → 复制当前行
  • nyy → 复制接下来 n 行
  • p → 粘贴

其他功能

  • Ctrl-r → 重做
  • u → 撤销
  • . → (小数点)重复上一次命令
  • Ctrl-p → 自动提示(或 Ctrl-n
  • /pattern → 搜索 pattern 的字符串
  • % → 匹配括号移动,包括 [, (, {.
  • *(resp. #) → 移动到下一个(resp. 上一个)当前光标下匹配的单词

行间操作

跨行操作

  • o → 小写字母o,在当前行之后插入一行,并进入输入模式
  • O → 大写字母O,在当前行之前插入一行,并进入输入模式
  • gg → 到第一行
  • G → 到最后一行
  • NG → 到第N行(等同于 :N ,但是要按回车所以还是NG快点~)

当前行上移动光标

  • 0 → 数字0,到行头
  • g_ → 到行尾
  • ^ → 到本行第一个不是 blank 字符的位置
  • $ → 到本行最后一个不是 blank 字符的位置
  • fa → 到下一个为字母 a 的匹配项处, ,(resp. ;) 会移动到下一个(resp. 上一个)
  • t, → 到字符 , 之前
  • dt" → 删除”之前的所有内容

块操作

多行注释

  1. ^ → 到行头
  2. Ctrl-v → 开始块操作
  3. j → 向下移动
  4. I-- [ESC]I是插入,插入--(或者 //,# 等注释符),按ESC键来为每一行生效

文件操作

  • :wq → 保存并退出
  • :e <path/to/file>→ 打开
  • :E → 浏览目录
  • :w → 保存
  • :saveas <path/to/file> → 另存为 <path/to/file>
  • :q! → 强制退出不保存

分屏

分屏启动

  1. 使用大写的O参数来垂直分屏。

vim -On file1 file2 ...

  1. 使用小写的o参数来水平分屏。

vim -on file1 file2 ...

关闭分屏

  1. Ctrl-w q → 关闭当前窗口,如果只剩最后一个则退出Vim
  2. Ctrl-w c → 关闭当前窗口

分屏操作

  1. 上下分割当前打开的文件。

Ctrl+W s

  1. 上下分割,并打开一个新的文件。

:sp filename

  1. 左右分割当前打开的文件。

Ctrl+W v

  1. 左右分割,并打开一个新的文件。

:vsp filename

移动光标

Ctrl-w 后hjkl


写在后面

  • 之前断断续续用过一段时间 Vim,但都因为工作量不算太多,而且一直在 Windows 下所以就改用了 Sublime Text, 但是最近才把 Vim 重新捡起来才发现真的好用,并且也吧 ST 开启了 Vim 模式,很是方便。
  • 但 Emacs 什么的就算了吧。

参考资料

点我