在Vim中,:q1是什么意思?

15

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

基于像2dd(删除两行)或2j(向下移动两行)这样的命令,我本来期望:2q会“退出两个文件”(尽管如果我用vi -O testfile1 testfile2打开两个文件,:2q只会关闭其中一个 - :q2也是一样)。

usr_21.txt| 离开并回来 Vim 帮助文档中搜索时,是否在:q后面加数字只是被忽略了?还是它会产生一些影响,我无法确定?

更一般地说,我如何自己回答这个问题?我甚至查看了著名的问题,但没有人提到这个。


Stack Overflow是一个关于编程和开发问题的网站。这个问题似乎不属于编程或开发范畴。请参阅帮助中心中的我可以在这里问什么样的问题。也许超级用户Unix&Linux Stack Exchange更适合提问。 - jww
1个回答

18

q 命令加上数字可以关闭对应位置的 split 窗口。

:q<split position> 或者 :<split position>q 会关闭对应位置的 split 窗口。

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

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

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

在退出命令中,分屏位置的顺序不重要。:2q:q2将关闭第二个分屏。

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

例如,在上面的窗口设置中运行q100,其中只有3个分屏,它将关闭最后一个分屏(Split 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

这确实有效,但是我在 :h :q[count] 部分中没有看到它的文档。还有其他地方有记录吗? - Peter Rincker
1
你可以输入 :help :close 命令,然后向上滚动一点。这个命令在 关闭窗口 部分有详细的文档说明。 - Subash

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接