gpt4 book ai didi

Vim 关闭缓冲区但不拆分窗口

转载 作者:行者123 更新时间:2023-12-03 10:53:36 26 4
gpt4 key购买 nike

如果我有 2 个水平/垂直拆分的缓冲区并想要关闭其中一个,但我不想关闭窗口。我想保持拆分窗口的位置与关闭缓冲区之前相同。

如果我按 :bd ,关闭缓冲区的窗口也会关闭。

最佳答案

像@RusAlex 我不喜欢插件。我也想知道我输入的代码实际上是做什么的。
nmap ,d :b#<bar>bd#<CR>
总之这将键映射添加到 vim 的正常模式等待键序列 ,d .执行时,这将切换到先前打开的缓冲区并尝试删除您切换的缓冲区。

删除屏幕外缓冲区可保持屏幕按原样分割。

该命令由三个空格分隔的部分组成:

  • nmap - 添加/更改模式正常的键映射
  • ,d - react 的关键序列;第一个 , (逗号),然后是 d
  • :b#<bar>bd#<CR> - 要执行的键序列

  • 要执行的命令由五部分组成:
  • : - 将 vim 切换到命令行模式
  • b# - 将窗口切换到先前打开的缓冲区
  • <bar> - 期待后续命令;代表| (管道字符);用于链接命令
  • bd# - 删除之前打开的缓冲区,即刚刚从
  • 切换的缓冲区
  • <CR> - 执行命令;代表回车,基本上是键ReturnEnter

  • 该命令采用配置文件中使用的格式,如 ~/.vimrc .如果要从 vim 中添加映射,请在前面添加 : (冒号) - 退出 vim 时映射将丢失:
    :nmap ,d :b#<bar>bd#<CR>
    当您打开 vim 时,它通常处于正常模式,而不是模式插入(按 -- INSERT -- 后在屏幕底部由 i 指示),视觉等。 nnmap指定仅添加到正常模式的键映射。查找更多关于映射 here

    重要提示:
  • b#如果它是唯一已知的缓冲区,将切换到当前缓冲区。
  • b#可以切换到隐藏/关闭的缓冲区,例如您刚刚通过按 ,d 关闭的那个.
  • bd#如果它是唯一已知的不分割屏幕的缓冲区,则将关闭当前缓冲区,从而为您留下一个空缓冲区。
  • bd#如果切换出的缓冲区是隐藏/关闭的缓冲区,则会失败。
  • bd#如果在切换另一个窗口后显示要关闭的缓冲区,仍将不拆分。

  • 补充笔记:
  • :windo b#将所有窗口切换到先前打开的缓冲区。不确定如何与 bd 结合使用.
  • <CR>可以省略,在这种情况下您必须手动按 ReturnEnter执行。
  • :nmap ,显示所有以 , 开头的普通模式映射.
  • :ls列出打开的缓冲区。
  • 关于Vim 关闭缓冲区但不拆分窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4298910/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com