【问题标题】:What does :q1 do in Vim?:q1 在 Vim 中做什么?
【发布时间】:2018-07-23 06:04:18
【问题描述】:

我刚刚注意到输入:q1 会关闭我当前打开的文件(我是通过拼写:q! 找到的)

基于2dd(删除两行)或2j(下移两行)之类的命令,我本来希望:2q“退出两个文件”(不过,如果我用@987654330 打开两个文件@, :2q 关闭其中一个 - :q2) 也是如此。

:q 后面的数字是不是就被丢弃了?还是有一些我无法确定的影响?

而且,更一般地说 - 我如何自己回答这个问题?我在 Vim 帮助中检查了usr_21.txt| Go away and come back,但没有发现任何关于这种行为的信息。我什至检查了famous question,但没有人提到过这个。

【问题讨论】:

标签: vim


【解决方案1】:

带有数字的q 命令关闭该位置的给定拆分。

:q<split position>:<split position>q 将关闭该位置的拆分。

假设你的 vim 窗口布局如下:

-------------------------------------------------
|               |               |               |
-------------------------------------------------
|               |               |               |
|               |               |               |
|    Split 1    |    Split 2    |     Split 3   |
|               |               |               |
-------------------------------------------------

如果您运行q1 命令,它将关闭第一个拆分。 q2 将关闭第二个拆分,反之亦然。

退出命令中拆分位置的顺序无关紧要。 :2q:q2 将关闭第二个拆分。

如果您传递给命令的拆分位置大于当前拆分的数量,它将简单地关闭最后一个拆分。

例如,如果您在上面只有 3 个拆分的窗口设置上运行 q100,它将关闭最后一个拆分(拆分 3)。

这是 vim 文档中列出的内容。您可以通过键入 :help :close 找到文档,然后向上滚动以找到 Closing a window 部分。

If [count] is greater than the last window number the last
window will be closed:
¦ ¦ :1quit  " quit the first window
¦ ¦ :$quit  " quit the last window
¦ ¦ :9quit  " quit the last window
     " if there are fewer than 9 windows opened
¦ ¦ :-quit  " quit the previous window
¦ ¦ :+quit  " quit the next window
¦ ¦ :+2quit " quit the second next window

【讨论】:

  • 这确实有效,但是我没有看到它为:q 记录在[count]:h :q。还有其他地方记录吗?
  • 你可以做:help :close。然后向上滚动一点。它记录在Closing a Window 部分。
猜你喜欢
  • 2022-11-18
  • 2014-01-22
  • 1970-01-01
  • 1970-01-01
  • 2011-03-17
  • 2014-04-29
  • 1970-01-01
  • 2020-09-07
  • 1970-01-01
相关资源
最近更新 更多