Створення gvim 'лише для екземпляра'


6

Я хочу зробити, щоб gvim був "лише екземпляр", тобто знав варіант або щось, що відкриває файл у вигляді вкладки на моєму вже відкритому екземплярі gvim замість відкриття нового.

Приклад для уточнення: припустимо, у мене відкрито вікно gvim з одним файлом module1.c. Припустимо, що я перебуваю на терміналі, яку команду мені потрібно ввести, щоб зробити 'module2.c' відкритим у тому самому вікні, яке зараз має module1.c?

PS: Я знаю, що є опція -p, яка дозволяє мені відкривати кілька файлів на декількох вкладках. Але те, що я шукаю, - це спосіб відкрити нову вкладку від OUTSIDE gvim ПІСЛЯ вона вже працює.

Як це зробити? Чи можливо це навіть?

Відповіді:


7

Я хочу зробити, щоб gvim був "лише екземпляр", тобто знав варіант або щось, що відкриває файл у вигляді вкладки на моєму вже відкритому екземплярі gvim замість відкриття нового.

Дозвольте мені якраз тут щось уточнити ... in vim, вкладки - це не те, чого люди очікували б від них. У більшості програм вони є "екземпляром" файлу (одна вкладка / один файл), але в vim вони є лише "точкою зору", у яку можна мати кілька вікон Vim, кожен з яких тримає все, що ви вклали в нього.

Vim, відкриваючи файл, відкриває його в буфері. Один буфер для кожного файлу. Ви можете переглянути список відкритих буферів за допомогою

:ls

Приклад для уточнення: припустимо, у мене відкрито вікно gvim з одним файлом module1.c. Припустимо, що я перебуваю на терміналі, яку команду мені потрібно ввести, щоб зробити 'module2.c' відкритим у тому самому вікні, яке зараз має module1.c?

Знову ми маємо проблему термінології. Для обговорення я вважаю, що ви маєте на увазі "вікно", як у вікні Windows, а не внутрішнє вікно Vim. Якщо ви хочете відкрити файл у вже відкритому екземплярі gvim, спробуйте

gvim first_file.dat
gvim --remote-tab second_file.dat

Це можна легко скоротити, помістивши його у .bat файл (якщо ви знаходитесь у Windows), і тоді вам не доведеться вводити частину "--..." знову і знову.

PS: Я знаю, що є опція -p, яка дозволяє мені відкривати кілька файлів на декількох вкладках. Але те, що я шукаю, - це спосіб відкрити нову вкладку від OUTSIDE gvim ПІСЛЯ вона вже працює.

Цікаво, я про це не знав :)

Як це зробити? Чи можливо це навіть?

Скажіть, якщо це те, що ви шукали.


Так, саме це я шукав! = D Крім того, ви можете скоротити команду за допомогою скрипта оболонки, розміщеного в папці / usr / bin (я назвав мою 'gvimt')
Рафаель Альмейда,

чудово, дякую Я зробив псевдонім = vim = '/ c / Program \ Files \ (x86) /Vim/vim73/gvim.exe --remote-tab' у cygwin
Jay R. Wren

Ви можете виконати "Функцію g {param ($ file) gvim --remote-silent $ file}" в Powershell
Зотов,

3

Vim може це зробити під час запуску в режимі clientserver, якщо він був складений за допомогою параметра + clientserver .

Запустіть перший екземпляр vim за допомогою параметра --servername :

gvim --servername FILES --remote-silent file.txt

Тепер ви можете відкрити подальші файли в цьому випадку, вказавши - ім’я сервера , або просто --remote .

gvim --remote file2.txt

gvim --servername FOOBAR --remote file3.txt

Взяте з документації з vim-документації в режимі сервера клієнтів . Але, нові файли відкриваються як буфери на активній вкладці. Я не впевнений, чи можна налаштувати vim для відкриття вхідних файлів на нових вкладках.

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