• 常规操作
    • 光标移动
    • 使用 vim-easymotion 快速跳转
      • 快速跳到网址 (TODO)
  • 常用的成对快捷键
  • 跳转,合并,拆分
    • 跳转
    • 合并,拆分
  • 窗口操作
    • 窗口操作常用快捷键
  • 文件和 Buffer 操作
    • Buffer 操作相关快捷键
    • 新建空白 buffer
    • 特殊 buffer
    • 文件操作相关快捷键
    • Vim 和 SpaceVim 相关文件
  • 文件树
    • 文件树中的常用操作
    • 文件树中打开文件

    常规操作

    光标移动

    光标的移动默认采用 vi 的默认形式:hjkl

    快捷键 描述
    h 向左移动光标(Vim 原生功能,无映射)
    j 向下移动光标(Vim 原生功能,无映射)
    k 向上移动光标(Vim 原生功能,无映射)
    l 向右移动光标(Vim 原生功能,无映射)
    H 光标移至屏幕最上方(Vim 原生功能,无映射)
    L 光标移至屏幕最下方(Vim 原生功能,无映射)
    SPC j 0 跳至行首(并且标记原始位置)
    SPC j $ 跳至行尾(并且标记原始位置)
    SPC t - 锁定光标在屏幕中间(TODO)

    使用 vim-easymotion 快速跳转

    快速跳到网址 (TODO)

    类似于 Firefox 的 vimperator 的 f 键的功能。

    快捷键 描述
    SPC j u/(o for help buffer) 快速跳到/打开url

    常用的成对快捷键

    快捷键 描述
    [ SPC 在当前行或已选区域上方添加空行
    ] SPC 在当前行或已选区域下方添加空行
    [ b 跳至前一 buffer
    ] b 跳至下一 buffer
    [ f 跳至文件夹中的前一个文件
    ] f 跳至文件夹中的下一个文件
    [ l 跳至前一个错误处
    ] l 跳至下一个错误处
    [ c 跳至前一个 vcs hunk (需要 VersionControl 模块)
    ] c 跳至下一个 vcs hunk (需要 VersionControl 模块)
    [ q 跳至前一个错误
    ] q 跳至下一个错误
    [ t 跳至前一个标签页
    ] t 跳至下一个标签页
    [ w 跳至前一个窗口
    ] w 跳至下一个窗口
    [ e 向上移动当前行或者已选择行
    ] e 向下移动当前行或者已选择行
    [ p 粘贴至当前行上方
    ] p 粘贴至当前行下方
    g p 选择粘贴的区域

    跳转,合并,拆分

    SPC j 为前缀的快捷键主要用作:跳转(jumping),合并(joining),拆分(splitting)。

    跳转
    快捷键 描述
    SPC j 0 跳至行首,并且在原始位置留下标签,以便跳回
    SPC j $ 跳至行尾,并且在原始位置留下标签,以便跳回
    SPC j b 向后回跳
    SPC j f 向前跳
    SPC j d 跳至当前目录某个文件夹
    SPC j D 跳至当前目录某个文件夹(在另外窗口展示文件列表)
    SPC j i 跳至当前文件的某个函数,使用 Denite 打开语法树
    SPC j I 跳至所有 Buffer 的语法树(TODO)
    SPC j j 跳至当前窗口的某个字符 (easymotion)
    SPC j J 跳至当前窗口的某两个字符的组合 (easymotion)
    SPC j k 跳至下一行,并且对齐下一行
    SPC j l 跳至某一行 (easymotion)
    SPC j q show the dumb-jump quick look tooltip (TODO)
    SPC j u 跳至窗口某个 url (TODO)
    SPC j v 跳至某个 vim 函数的定义处 (TODO)
    SPC j w 跳至 Buffer 中某个单词 (easymotion)
    合并,拆分
    快捷键 描述
    J 合并当前行和下一行
    SPC j k 跳至下一行,并且对齐该行
    SPC j n 从光标处断开当前行,并且插入空行以及进行对齐
    SPC j o 从光标处拆分该行,光标留在当前行
    SPC j s 从光标处进行拆分 String
    SPC j S 从光标处进行拆分 String,并插入对齐的空行

    窗口操作

    窗口操作常用快捷键

    每一个窗口,都有一个编号,该编号显示在状态栏的最前端,可通过 SPC 编号 进行快速窗口跳转。

    快捷键 描述
    SPC 1 跳至窗口 1
    SPC 2 跳至窗口 2
    SPC 3 跳至窗口 3
    SPC 4 跳至窗口 4
    SPC 5 跳至窗口 5
    SPC 6 跳至窗口 6
    SPC 7 跳至窗口 7
    SPC 8 跳至窗口 8
    SPC 9 跳至窗口 9

    窗口操作相关快捷键(以 SPC w 为前缀):

    快捷键 描述
    SPC w TAB/<Tab> 在统一标签内进行窗口切换
    SPC w = 对齐分离的窗口
    SPC w b force the focus back to the minibuffer (TODO)
    SPC w c 进入阅读模式,浏览当前窗口
    SPC w C 选择某一个窗口,并且进入阅读模式
    SPC w d 删除一个窗口
    SPC u SPC w d delete a window and its current buffer (does not delete the file) (TODO)
    SPC w D 选择一个窗口,并且关闭
    SPC u SPC w D delete another window and its current buffer using vim-choosewin (TODO)
    SPC w t toggle window dedication (dedicated window cannot be reused by a mode) (TODO)
    SPC w f toggle follow mode (TODO)
    SPC w F 新建一个新的标签页
    SPC w h 移至左边窗口
    SPC w H 将窗口向左移动
    SPC w j 移至下方窗口
    SPC w J 将窗口移至下方
    SPC w k 移至上方窗口
    SPC w K 将窗口移至上方
    SPC w l 移至右方窗口
    SPC w L 将窗口移至右方
    SPC w m 最大化/最小化窗口(最大化相当于关闭其他窗口)(TODO, now only support maximize)
    SPC w M 选择窗口进行替换
    SPC w o 按序切换标签页
    SPC w p m open messages buffer in a popup window (TODO)
    SPC w p p close the current sticky popup window (TODO)
    SPC w r 按序切换窗口
    SPC w R 逆序切换窗口
    SPC w s or SPC w - 水平分割窗口
    SPC w S 水平分割窗口,并切换至新窗口
    SPC w u undo window layout (used to effectively undo a closed window) (TODO)
    SPC w U redo window layout (TODO)
    SPC w v or SPC w / 垂直分离窗口
    SPC w V 垂直分离窗口,并切换至新窗口
    SPC w w 切换至前一窗口
    SPC w W 选择一个窗口

    文件和 Buffer 操作

    Buffer 操作相关快捷键

    Buffer 操作相关快捷键都是已 SPC b 为前缀的:

    快捷键 描述
    SPC TAB 切换至前一buffer,可用于两个 buffer 来回切换
    SPC b . 启用 buffer 临时快捷键
    SPC b b 切换至某一 buffer,通过 Unite/Denite 进行筛选
    SPC b d 删除当前 buffer,但保留 Vim 窗口
    SPC u SPC b d kill the current buffer and window (does not delete the visited file) (TODO)
    SPC b D 选择一个窗口,并删除其 buffer
    SPC u SPC b D kill a visible buffer and its window using ace-window(TODO)
    SPC b C-d 删除其他 buffer
    SPC b C-D kill buffers using a regular expression(TODO)
    SPC b e 清除当前 buffer 内容,需要手动确认
    SPC b h 打开 SpaceVim 欢迎界面
    SPC b n 切换至下一个 buffer,排除特殊插件的 buffer
    SPC b m 打开 Messages buffer
    SPC u SPC b m kill all buffers and windows except the current one(TODO)
    SPC b p 切换至前一个 buffer,排除特殊插件的 buffer
    SPC b P 使用剪切板内容替换当前 buffer
    SPC b R 从磁盘重新读取当前 buffer 所对应的文件
    SPC b s switch to the scratch buffer (create it if needed) (TODO)
    SPC b w 切换只读权限
    SPC b Y 将整个 buffer 复制到剪切板
    z f Make current function or comments visible in buffer as much as possible (TODO)
    新建空白 buffer
    快捷键 描述
    SPC b N h 在左侧新建一个窗口,并在其中新建空白 buffer
    SPC b N j 在下方新建一个窗口,并在其中新建空白 buffer
    SPC b N k 在上方新建一个窗口,并在其中新建空白 buffer
    SPC b N l 在右侧新建一个窗口,并在其中新建空白 buffer
    SPC b N n 在当前窗口新建一个空白 buffer
    特殊 buffer

    在 SpaceVim 中,有很多特殊的 buffer,这些 buffer 是由插件或者 SpaceVim 自身新建的,并不会被列出。

    文件操作相关快捷键

    文件操作相关的快捷键都是以 SPC f 为前缀的:

    快捷键 描述
    SPC f b 跳至文件书签
    SPC f c copy current file to a different location(TODO)
    SPC f C d 修改文件编码 unix -> dos
    SPC f C u 修改文件编码 dos -> unix
    SPC f D 删除文件以及 buffer,需要手动确认
    SPC f E open a file with elevated privileges (sudo edit)(TODO)
    SPC f f 打开文件
    SPC f F 打开光标下的文件
    SPC f o open a file using the default external program(TODO)
    SPC f R rename the current file(TODO)
    SPC f s 保存文件
    SPC f S 保存所有文件
    SPC f r 打开文件历史
    SPC f t 切换侧栏文件树
    SPC f T 打开文件树侧栏
    SPC f y 复制当前文件,并且显示当前文件路径
    Vim 和 SpaceVim 相关文件

    SpaceVim 相关的快捷键均以 SPC f v 为前缀,这便于快速访问 SpaceVim 的配置文件:

    快捷键 描述
    SPC f v v 复制并显示当前 SpaceVim 的版本
    SPC f v d 打开 SpaceVim 的用户配置文件

    文件树

    SpaceVim 使用 vimfiler 作为默认的文件树插件,默认的快捷键是 F3, SpaceVim 也提供了另外一组快捷键 SPC f tSPC f T 来打开文件树,如果需要使用 nerdtree 作为默认文件树,需要设置:

    1. # 默认值为 vimfiler
    2. filemanager = "nerdtree"

    SpaceVim 的文件树提供了版本控制信息的借口,但是这一特性需要分析文件夹内容,会使得文件树插件比较慢,因此默认没有打开,如果需要使用这一特性,可向配置文件中加入 enable_vimfiler_gitstatus = true,启用后的截图如下:

    file-tree

    文件树中的常用操作

    文件树中主要以 hjkl 为核心,这类似于 vifm 中常用的快捷键:

    快捷键 描述
    <F3> or SPC f t 切换文件树
    文件树内的快捷键
    <Left> or h 移至父目录,并关闭文件夹
    <Down> or j 向下移动光标
    <Up> or k 向上移动光标
    <Right> or l 展开目录,或打开文件
    Ctrl+j 未使用
    Ctrl+l 未使用
    E 未使用
    . 切换显示隐藏文件
    sv 分屏编辑该文件
    sg 垂直分屏编辑该文件
    p 预览文件
    i 切换至文件夹历史
    v 快速查看
    gx 使用相关程序执行该文件(TODO)
    ' 切换标签
    V 标记该文件
    Ctrl+r 刷新页面
    文件树中打开文件

    如果只有一个可编辑窗口,则在该窗口中打开选择的文件,否则则需要制定窗口来打开文件:

    快捷键 描述
    l or Enter 打开文件
    sg 分屏打开文件
    sv 垂直分屏打开文件