Як я можу зберігати список буферів за вікном у Vim?


15

Я здивований, що мені не вдалося знайти відповідь на це, але, можливо, я пропускаю щось очевидне: чи можна зберігати список буферів у кожному вікні ? У мене часто буває близько 4 розщеплень, і кожен зазвичай виконує певну мету: CSS в одному, JS в іншому, HTML у кількох інших тощо.

Я, мабуть, шукаю плагін, який виконує це. Останнім часом я використовую BufExplorer, у якого є налаштування, що дозволяє зберігати його список буферів на вкладку, але не на вікно.

Мені дуже подобається перелік MRU, який має BufExplorer, але мені здається, що це дратує те, що він базується на моєму глобальному списку буферів - те, що я хочу, це історія MRU за вікном.


Ви не можете його знайти, оскільки він ще не побудований. Більшість найближчих сусідів визначені в цьому запитанні та питаннях
Нова Олександрія,

Відповіді:


1

ІМХО, що вам дійсно потрібно - це менеджер робочого простору.

ви можете знайти його для vim @ http://www.vim.org/scripts/script.php?script_id=1410

Він надасть вам наступні команди:

:WsAddFile              Add a new file to the workspace.                  
:WsAddGroup             Add a new group to the workspace.                 
:WsClose                Close the workspace window.                       
:WsInsertFile           Insert a file.                                    
:WsInsertGroup  Insert a group.                                           
:WsOpen         Open a workspace and display it in a window.              
:WsRun          Run a command using the selected unquoted file names.     
:WsRunq         Run a command using the selected quoted file names.       
:WsSave         Save the workspace.                                       
:WsSessionOpen  Open the workspace and Vim session.                       
:WsSessionSave  Save the workspace and the Vim session.                   
:WsToggle               Open or Close the workspace window. 

У мене знімок екрана роботи з менеджером Workspace з 4+ вікнами, розміщеними на моєму fb , ви можете переглянути його там (який є загальнодоступним).

Це не зовсім перелік буферів, як ви цього хотіли, але ви можете відкривати файли в різних вікнах і в декількох буферах в одному вікні.

У подальшому випадку менеджер робочої області буде виконувати функції буферного списку. Як ви бачите на скріншоті, я згрупував файли в різні групи.

Це так само близько, як ви можете отримати, АФІК.

Хороший день.


0

Чому слід взувати цей рівень управління вікнами у vim? Я інколи використовую розділені вікна - у мене Ctrl-F відображається на команду grep у знаходженні у файлах, яка з’являється у розділеному вікні, а також використовую vimdiff при нагоді.

Але ви дійсно хочете постійного управління вікнами у vim? Менеджер з'єднань PuTTY та всілякі емулятори терміналів дозволяють розділити термінали так, як вам потрібно, а потім запустити окремі сеанси vim у кожному.


Чи можете ви поділитися регістрами між примірниками vim? Це завжди моя причина номер один для того, щоб не хотіти декількох примірників запуску vim: я не можу yankі putв одному, і в іншому.
brianmearns

0

відкрити ліворуч NERDTree. >

У мене відкрито кілька буферів (у головному вікні видно лише один ... називаємо це "буфер 1")

Тепер я переходжу до NERDTree і вибираю інший файл, з якого я просто хочу подивитися дуже швидко або скопіювати щось із цього. Тому я відкриваю цей файл з NERDTree і buffer1 правильно прихований, і я зараз дивлюся на буфер, який я щойно відкрив (називаємо його буфером 2)

Тепер я хочу повністю вийти з цього буфера 2 і повернутися до редагування буфера 1, але коли я це роблю: q на буфері 2, я переглядаю лише один великий NERDTree, і мені потрібно повторно відобразити буфер1. ... [показати решту цитати]

Я не використовую Nerdtree, але це здається, що вам слід набрати Ctrl- ^ (можливо, Ctrl + клавіша 6), щоб повернутися назад до буфера1.


0

Я не знаю про такий плагін.

Одним із швидких способів відкрити буфер певного файлу є використання команди FuzzyFinder: FufBuffer. Він відкриє список усіх відкритих буферів (крім того, у поточному вікні) для легкого доступу. Мене зобов’язано, фн. Це дозволило б мені, наприклад, швидко переглядати всі файли css, fncss або всі js-файли, fnjs. FuzzyFinder чудово підходить для отримання файлу / буфера / каталогу / тощо з мінімальними зусиллями (не тільки для цього конкретного випадку використання).

Однак, я підозрюю, що ви шукаєте щось, що дозволить вам використовувати: bn та: bN (або все, що у вас є, на яке відображено, не можу пригадати, чи є ctrl-n / p за замовчуванням чи моїм користувачем) для перемикання між вашими буферами конкретний тип файлу.

Можливо, ви могли б зробити плагін, який дає команди, щоб дозволити перемикатися на попередні / наступні буфери того ж типу, що і файл поточного буфера в поточному вікні.


До речі, я думаю, що управління цими окремими буферними списками буде більшим, ніж полегшенням.
Ганнес

-1

Це не загальна відповідь, але, схоже, vim зберігає окремі буфери # і% для кожного вікна. Таким чином, ви можете швидко чергувати два файли в одному вікні (використовуючи CTRL- ^) і два різні файли в іншому вікні. Список буфера все ще є всіма буферами, які ви додали.


Це дійсно коментар, але я поки не можу прокоментувати, тому я розміщую відповідь, яка стає голосовою, оскільки вона не відповідає на питання. Піди розберися.
mondaugen
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.