Vim常用快捷键

Visual block (ctrl + v)

  • 选中多行I : multicursor行首 i行尾 ii 全选行尾

退出

  • :q to quit
  • :q! quit without saving
  • :wq write and quit
  • :wq! to write and quit if file has only read permission
  • :x to write and quit
  • :exit same as :x
  • :qa quit all
  • :cq quit without saving and return non-zero error

文件和窗口

  • :write filePath指定文件路径保存

多窗口

  • :sp水平分屏 ctrl+w s
  • :vs垂直分屏 ctrl+w v
  • new {file} 水平分屏
  • :clo关闭当前窗口
  • ctrl+w h/j/k/l切换窗口

多标签

  • :tabnew [++opt选项] [+cmd] 文件
  • :tabc 关闭当前的 tab
  • :tabo 关闭所有其他的 tab
  • :tabs 查看所有打开的 tab
  • :tabp 前一个 tab
  • :tabn 后一个 tab

标准模式下:

  • gT 前一个 tab
  • gt 后一个 tab

Normal: 命令模式

跳跃

  • 跳到屏幕顶部/底部/中间: + H / L / M
  • 跳到文件百分之50:50%
  • 复制第n-m行到第k行:n, m copy k / n, m co k
  • A 跳到行尾并可以编辑
  • 0移到行尾,$移到行首

删除

  • S 清除一行内容
  • x 删除光标所在处字符
  • X 删除光标所在前字符
  • dw 删除到下一个单词开头
  • d 删除一行
  • de 删除到本单词末尾
  • dE 删除到本单词末尾包括标点在内
  • db 删除到前一个单词
  • dB 删除到前一个单词包括标点在内
  • dd 删除并复制一整行
  • D d$ 删除光标位置到本行结尾
  • d0 删除光标位置到本行开头

其他

  • u 撤销
  • :tabp / :tabn 上一个/下一个标签页
  • 搜索 /,不想搜索了输入:noh
  • yy 复制当前行 nyy复制n行 m,ny
  • p 粘贴剪切板
  • :e 打开一个文件
  • y5G:将当前行(包括当前行)至第5行(不包括它)复制

鼠标移动

  • ctrl e逐行下滚 ctrl y逐行上滚
  • ctrl f向下翻页 ctrl b向上翻页
  • 跳到文件首 / 尾gg / G
  • 段落开头 / 结尾} / {
  • 跳到文件百分之50:50%
  • 跳到指定行n:nG / ngg / :n
  • w移动光标到下一个单词的词首,b移动光标到上一个单词的词首;e移动光标到下一个单词的结尾,ge移动光标到上一个单词的结尾。

复制粘贴

  • 全部删除:按esc键后,先按gg(到达顶部),然后dG
  • 全部复制:按esc键后,先按gg,然后ggyG
  • 全选高亮显示:按esc键后,先按gg,然后ggvG或者ggVG

Insert: 可以输入的模式

Command: 正常情况下按下:进入

Else

vim有 12 个粘贴板,分别是 0、1、2、...、9、a、“、+;用:reg 命令可以查看各个粘贴板里的内容。

NERDTree

`
ctrl + w + h 光标 focus 左侧树形目录
ctrl + w + l 光标 focus 右侧文件显示窗口
ctrl + w + w 光标自动在左右侧窗口切换
ctrl + w + r 移动当前窗口的布局位置
o 在已有窗口中打开文件、目录或书签,并跳到该窗口
go 在已有窗口 中打开文件、目录或书签,但不跳到该窗口
t 在新 Tab 中打开选中文件/书签,并跳到新 Tab
T 在新 Tab 中打开选中文件/书签,但不跳到新 Tab
i split 一个新窗口打开选中文件,并跳到该窗口
gi split 一个新窗口打开选中文件,但不跳到该窗口
s vsplit 一个新窗口打开选中文件,并跳到该窗口
gs vsplit 一个新 窗口打开选中文件,但不跳到该窗口
! 执行当前文件
O 递归打开选中 结点下的所有目录
x 合拢选中结点的父目录
X 递归 合拢选中结点下的所有目录
e Edit the current dif

双击 相当于 NERDTree-o
中键 对文件相当于 NERDTree-i,对目录相当于 NERDTree-e

D 删除当前书签

P 跳到根结点
p 跳到父结点
K 跳到当前目录下同级的第一个结点
J 跳到当前目录下同级的最后一个结点
k 跳到当前目录下同级的前一个结点
j 跳到当前目录下同级的后一个结点

C 将选中目录或选中文件的父目录设为根结点
u 将当前根结点的父目录设为根目录,并变成合拢原根结点
U 将当前根结点的父目录设为根目录,但保持展开原根结点
r 递归刷新选中目录
R 递归刷新根结点
m 显示文件系统菜单
cd 将 CWD 设为选中目录
`

Vim中执行shell命令

  • :!zsh {cmd}
  • c-z挂起当前进程 然后fg
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • https://www.cnblogs.com/qiumingcheng/p/6275510.html ctrl ...
    shuff1e阅读 5,585评论 0 3
  • [TOC] 使用前需要知道的 vim 是对vi的扩展,文中的很多操作是vi通用的 vi是区分大小写的命令的,也就是...
    木猫尾巴阅读 19,702评论 4 17
  • 曾经在思科的工厂测试系统`KlemTest` (`SUSE`命令行模式)中使用`VI`/`VIM`超过2年半,现在...
    戈多在地狱阅读 1,867评论 1 13
  • Iterms 官方快捷键 ⌘ + 数字 在各 tab 标签直接来回切换⌘ + f 查找⌘ + d 横着分屏⌘ +...
    Bill_Wang阅读 981评论 0 2
  • 对江南水乡总有一种别样的情怀,也许是唐诗宋词熏染久了罢 文/夏晚歌 千年古镇, 青石孤寂, 细雨轻飘, 风起衣袂飘...
    夏晚歌阅读 202评论 5 2