Что делает:q1 делает в Vim?

Я просто заметил, что вход :q1 закрывает файл, который у меня в данный момент открыт (я нашел это, опечатав :q!)

На основе таких команд, как 2dd (удалить две строки) или 2j (двигаться вниз на две строки), я бы ожидал :2q "выйти из двух файлов" (хотя, если я открою два файла с vi -O testfile1 testfile2, :2q закрываеттолько один из них - и так :q2).

Число после :q просто выбрасывается? Или это имеет какой-то эффект, который я не смог определить?

И, в целом, - как я могу ответить на этот вопрос для себя? Я проверил usr_21.txt| Go away and come back в Vim помогу, но ничего не нашел об этом поведении. Я даже проверил знаменитый вопрос, но никто ничего не упомянул об этом.

1 ответ

Решение

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
Другие вопросы по тегам