Vim命令简明手册

Reading time ~8 minutes


普通模式下:

移动游标

  • j k h l 下 上 左 右
  • w 移动到下一个单词
  • b 移动到上一个单词

进入编辑模式

  • i 在当前光标处插入
  • I 在行首插入
  • a 在当前光标后插入
  • A 在行末插入
  • o 在当前行后插入一个新行
  • O 在当前行前插入一个新行
  • cw 替换从光标所在位置后到一个单词结尾的字符

删除文本

  • x Delete 删除游标所在的字符
  • X 删除游标所在前一个字符
  • dd 删除整行
  • d^ 删除至行首
  • d$ D 删除至行尾
  • d1G 删除至文档首部
  • dG 删除至文档结尾处
  • 2dd 一次删除两行

退出Vim

  • Shift+zz

命令模式

退出Vim

  • :q 退出
  • :wq 退出并保存
  • :q! 强制退出不保存
  • :w 另存为

重复命令

  • . 重复执行上次命令
  • N 执行指定次数相同的命令
  • dw daw (delete a word) 删除一个单词
  • dnw 删除n个单词

游标的快速跳转

行间跳转

  • gg 游标移动到第一行
  • G 游标移动到最后一行
  • nG 游标移动到第n行

行内跳转

  • w 到下一个单词的开头
  • e 到下一个单词的结尾
  • b 到前一个单词的开头
  • ge 到前一个单词的结尾
  • 0 ^ 到行头
  • $ 到行尾
  • f<字母> 向后搜索<字母>并跳转到第一个匹配的位置
  • F<字母> 向前搜索<字母>并跳转到第一个匹配的位置
  • t<字母> 向后搜索<字母>并跳转到第一个匹配位置之前的一个字母
  • T<字母> 向前搜索<字母>并跳转到第一个匹配位置之后的一个字母

剪切复制粘贴

剪切

  • dd 剪切一行

复制 y

  • yy 复制所在行
  • nyy 复制n行
  • y^ y0 复制至行首
  • y$ 复制至行尾,含光标所在处字符
  • yw 复制一个单词
  • ynw 复制n个单词
  • yG 复制至文本末
  • y1G 复制至文本开头

粘贴

  • p 粘贴至光标后(下)
  • P 粘贴之光标前(上)

其它

  • :set nu 显示序号
  • Ctrl+o 快速回到上一次光标的所在位置
  • ~ 将游标所在字母变成大写或小写

替换操作

  • r<待替换字母> 将游标所在字母替换为指定字母
  • R 连续替换,直到按下Esc
  • cc 替换整行,即删除游标所在行,并进入插入模式
  • cw 替换一个单词,即删除一个单词,并进入插入模式
  • C 替换游标以后至行尾
  • ~ 反转游标所在字母大小写

撤销操作

  • u 撤销一次操作
  • :u n 撤销n次操作
  • U 撤销当前行的所有修改
  • Ctl+r redo,即撤销undo的操作

缩进操作

  • >> 整行向右缩进
  • << 整行向左缩进
  • :set shiftwidth? 查看缩进字数(可简写为sw)
  • :set shiftwidth=n 设定缩进字数为n(可简写为sw)

调整文本位置

  • :ce 本行内容居中
  • :le 本行内容左对齐
  • :ri 本行内容右对齐

快速查找

  • / 向下查找(n表示继续查找,N表示反向查找)
  • ? 向上查找(n表示继续查找,N表示反向查找)
  • * 向下寻找游标所在处的单词(n表示继续查找,N表示反向查找)
  • # 向上寻找游标所在处的单词(n表示继续查找,N表示反向查找)
  • g* 向下寻找部分符合游标所在处的单词(n表示继续查找,N表示反向查找)【未验证】
  • g# 向上寻找部分符合游标所在处的单词(n表示继续查找,N表示反向查找)【未验证】

编辑多个文件

  • :n 编辑下一个文件,:n!强制转换
  • :N 编辑上一个文件,:N!强制转换

进入Vim后打开新的文件

  • :e <文件名> 打开新的文件
  • :e# 回到前一个文件
  • :ls 列出以前编辑的文件
  • :b <编号><文件名> 直接进入编辑列表里的指定文件进行编辑
  • :bd<编号><文件名> 删除编辑列表里的指定文件
  • :e! <文件名> 放弃正在编辑的文件,新打开文件
  • :f 显示正在编辑的文件名
  • :f <文件名> 改变正在编辑文件的文件名

恢复文件

  • vim -r 进入文档后输入 :ewcover <文件名>来恢复

可视模式

  • v 进入字符选择模式,再次按下v后取消选择
  • Shift+v 进入行选择模式i,再按一次Shift+v取消选择
  • Ctrl+v 进入矩形区域选择模式,再按一次Ctrl+v取消选择
  • d 删除所选区域的内容
  • y 复制所选区域的内容

视窗操作

  • new Ctrl+w 打开新的VIm视窗
  • :sp <文件名> 打开新的横向视窗编辑指定文件
  • :vsp <文件名> 打开你新的纵向视窗编辑指定文件
  • Ctrl+w s 将当前窗口分割成两个水平的窗口
  • Ctrl+w v 将当前窗口分割成两个垂直的窗口
  • Ctrl+w q 即:q结束分割出来的视窗,如果在新视窗中有输入需要使用强制符! 即:q!
  • Ctrl+w o 打开一个视窗并且隐藏之前的所有视窗
  • Ctrl+w j 移至下面视窗
  • Ctrl+w k 移至上面视窗
  • Ctrl+w h 移至左边视窗
  • Ctrl+w l 移至右边视窗
  • Ctrl+w J 将当前视窗移至下面
  • Ctrl+w K 将当前窗口移至下面
  • Ctrl+w H 将当前窗口移至左边
  • Ctrl+w L 将当前窗口移至右边
  • Ctrl+w – 减小视窗的高度
  • Ctrl+w + 增加窗口的高度

Vim功能设定

  • vim配置文件 ~/.vimrc
  • :set nu 显示行数
  • :set :se 显示所有修改过的配置
  • :set all 显示所有设定值
  • :set option? 显示option的设定值
  • :set nooption 取消当前设定值
  • :set autoindent(ai) 设定自动缩进
  • :set autowrite(aw) 设定自动存档,默认未打开
  • :set background=dark light 设置背景风格
  • :set backup(bk) 设置自动备份,默认未打开
  • :set cindent(cin) 设置C语言风格缩进

在Vim执行外部命令

  • :!ls 显示当前目录的内容
  • :!rm <文件名> 用于删除指定文件
  • :w <文件名> 将当前Vim中正在编辑的文件另存为指定文件

查看帮助

  • F1 打开Vim预设的帮助文档
  • :h shiftwidth 打开名为shiftwidth的帮助文件
  • :ver 显示版本及参数

创建加密文件

  • vim -x <文件名> 设置密码后,下一次打开需再次输入密码

How to Use the Proxy SwitchyOmega

Manage and switch between multiple proxies quickly & easily. Both available on Chrome and Firefox.## Install From the Chrome Web Store[Pr...… Continue reading

How to Setup Keybase/GPG

Published on July 16, 2023