我刚注意到输入:q1
会关闭我目前打开的文件(我通过拼写错误:q!
找到了这个)
基于2dd
(删除两行)或2j
(向下移动两行)等命令,我希望:2q
能够“退出两个文件”(但是,如果我使用vi -O testfile1 testfile2
打开两个文件,:2q
仅 关闭其中一个文件 - :q2
}也是如此。
:q
之后的数字是否被丢弃?或者它是否有一些我无法确定的效果?
而且,更一般地说 - 我怎么能为自己回答这个问题?我在Vim帮助中检查了usr_21.txt| Go away and come back
,但没有发现这种行为。我甚至检查了famous question,但没有人提到过这个问题。
答案 0 :(得分:14)
带有数字的q
命令将关闭该位置的给定拆分。
:q<split position>
或:<split position>q
将关闭该位置的拆分。
让我们说你的vim窗口布局如下:
-------------------------------------------------
| | | |
-------------------------------------------------
| | | |
| | | |
| Split 1 | Split 2 | Split 3 |
| | | |
-------------------------------------------------
如果您运行q1
命令,它将关闭第一次拆分。 q2
将关闭第二次拆分,反之亦然。
quit命令中拆分位置的顺序无关紧要。 :2q
或:q2
将关闭第二次拆分。
如果传递给命令的分割位置大于当前分割的数量,它将只关闭最后一个分割。
例如,如果您在上面的窗口设置中运行q100
,其中只有3个拆分,它将关闭最后一个拆分(拆分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