Буферы vs вкладки vs arglist vs windows

9

Так много вариантов! Так запутанно!

  1. Когда один должен использоваться в предпочтении к другому?
  2. Как они связаны друг с другом?
  3. Каковы же различия между ними?
  4. Как они влияют на команды, которые вы вводите?
  5. Как они связаны с регистрами, макросами, метками, параметрами и историей команд?
  6. Какое гнездо внутри других, например, является вкладкой подразделом окна, как в типичных программах с графическим интерфейсом, или окном является подразделом вкладки?
  7. Как это связано с несколькими аргументами командной строки (arglist), доступными через :nextи :prev?
  8. И, наконец, какие из них (если таковые имеются) viсовместимы?
Wildcard
источник
Я собирался «опубликовать стиль вопросов и ответов» и сделать его вики-сообществом, но когда я немного расширил свой список вопросов, я понял, что на самом деле не понимаю их достаточно хорошо, чтобы начать вики. Может быть, немного почистить формулировку, как только она будет сделана.
Wildcard
2
Вы читали это ?
Ромен
1
Нет, список аргументов является подмножеством списка буферов.
Ромен
5
Первоначально каждый аргумент создает буфер, но затем буферы и аргументы начинают иметь свою собственную независимую жизнь. Вы можете изменить список аргументов с помощью :args(который не изменяет буферы), и вы можете удалить буферы, включая те, которые соответствуют аргументам, с помощью :bdelete(который не влияет на список аргументов). Редактирование новых файлов с помощью :eсоздает новые буферы, как и, скажем, открытие справки, но ни один из них не меняет список аргументов. И так далее; Вы не можете полагаться ни на какие отношения между этими двумя за запуском.
Сато Кацура
1
Я на самом деле нашел этот ответ очень бесполезным, все было наслоено в терминах Vim, оскорбляя других текстовых редакторов. Хорошо, если вы уже знаете, что такое вкладки, но бесполезно, если вы пытаетесь учиться. На этот вопрос мне было проще понять ответ Джонатана Бринка .
icc97

Ответы:

1

Я здесь новичок, поэтому не могу комментировать и должен публиковать это как ответ. Я полагаю, что ответ Роменля довольно окончательный, и есть этот пост, который делает его хорошей для новичков: https://dockyard.com/blog/2013/10/22/vim-buffers

И еще есть этот пост, возможно, немного предвзятый, но он довольно хорошо излагает аргумент: https://joshldavis.com/2014/04/05/vim-tab-madness-buffers-vs-tabs/

Нитиш Нату
источник
Вы можете легко преобразовать свой пост в полномасштабный ответ, скопировав самые важные части ссылок здесь. Кстати, запрещены также и ответы только по ссылкам, потому что никто не хочет, чтобы сайт был полон ответов, полных гнилых ссылок. Но обходной путь очень прост (скопируйте и вставьте необходимую часть) и довольно привлекателен для избирателей / рецензентов.
Петер - Восстановить Монику