Vim 缓冲区与窗口管理速查

Vim 缓冲区与窗口管理速查

🔹 缓冲区(Buffer)

缓冲区是 Vim 打开的文件在内存中的表示。

  • :ls → 列出所有缓冲区
  • :bN → 切换到编号为 N 的缓冲区
  • :bn → 切换到下一个缓冲区
  • :bp → 切换到上一个缓冲区
  • :bd → 删除缓冲区(关闭文件但不退出 Vim)
  • :bdelete N → 删除指定缓冲区

🔹 窗口分割(Split)

  • :split:sp → 水平分割窗口
  • :vsplit:vsp → 垂直分割窗口
  • Ctrl-w s → 水平分割当前窗口
  • Ctrl-w v → 垂直分割当前窗口

窗口切换:

  • Ctrl-w h → 切换到左边窗口
  • Ctrl-w l → 切换到右边窗口
  • Ctrl-w j → 切换到下方窗口
  • Ctrl-w k → 切换到上方窗口

窗口操作:

  • Ctrl-w q → 关闭当前窗口
  • Ctrl-w o → 只保留当前窗口,关闭其他窗口
  • Ctrl-w = → 调整所有窗口大小相等
  • Ctrl-w + / Ctrl-w - → 增加/减少当前窗口高度
  • Ctrl-w > / Ctrl-w < → 增加/减少当前窗口宽度

🔹 标签页(Tab)

标签页是更高层次的窗口管理方式。

  • :tabnew → 新建标签页
  • :tabn → 切换到下一个标签页
  • :tabp → 切换到上一个标签页
  • :tabclose → 关闭当前标签页
  • :tabonly → 只保留当前标签页,关闭其他标签页
  • :tabmove N → 将当前标签页移动到第 N 个位置

🔹 多文件编辑工作流

  • 打开多个文件:
    vim file1 file2 file3
    
  • 在文件之间切换:
    :next      " 下一个文件
    :prev      " 上一个文件
    :first     " 第一个文件
    :last      " 最后一个文件
    

🔹 总结

  • 缓冲区:ls, :bN, :bn, :bp, :bd
  • 窗口分割:split, :vsplit, Ctrl-w 系列命令
  • 标签页:tabnew, :tabn, :tabp, :tabclose
  • 多文件编辑:next, :prev, :first, :last