Чи можливо vim створити розділений вигляд для використання командного рядка?


12

Я знаю про варіант :!ls, але я хотів би використовувати один з розділеного інтерфейсу (після використовується :sp) як вікно командного рядка. Чи можливо це? Якщо це так, як це зробити?


3
Для цього є плагіни та / або патчі. Але ви рано чи пізно відчуєте якісь примхи. Моя пропозиція - замість цього використовувати повнофункціональний легкий термінал або екран / tmux.
Марко

vim8 має вбудований термінальний режим. Дивіться тут: superuser.com/a/1312655/658319
alpha_989

Відповіді:


9

На відміну від Emacs, Vim намагається бути трохи мінімальним, коли справа стосується роботи з оболонкою. У нього немає можливості включати інтерактивну оболонку всередині однієї з вкладок або буферів.

Хоча для цього є обхідні шляхи. Так само, як і ви, мені дуже подобається мати bashвікно в тому ж термінальному сеансі, як і у мене Vim. Це дуже корисно під час редагування вихідних файлів. У моєму випадку мені дуже подобається запускати середовище Ruby REPL, щоб я міг перевірити заяви, перш ніж помістити їх у вихідні файли.

Я використовую Tmux для створення розділеного вікна. У Tmux я створюю розділене вікно (ключ за замовчуванням - ctrl + b, "). Це відкриє 2 інтерактивні сеанси оболонки так само, як розділене вікно у Vim. Потім я запускаю Vim на одному з сеансів і все налаштовано.

На малюнку нижче видно, що я розділив вікно по горизонталі, а bashзверху - Vim.

введіть тут опис зображення

Я також використовую Tmux для підтримки парного програмування з іншими. Ви можете прочитати більше про моє налаштування в моєму блозі на веб-сайті http://jjasonclark.com/Remote-Pairing-with-SSH-and-Tmux-on-a-Mac .


8

У Vim 8 вбудований термінальний режим.

Ви можете ввести, :terщоб отримати доступ до терміналу.

Для переміщення по командах у стандартній оболонці j,k.

Додаткову інформацію можна отримати, ввівши :h terVIM8.

Примітка . Ваш VIM8 повинен мати +terminalдля цього роботу.


7

Не впевнений, чи шукали ви рішення екрана GNU чи рішення, використовуючи вбудовані розбиття Vim, але якщо ви шукаєте останнє, це працювало для мене:

vim -O file_a.js file_b.js

Що a відкриває обидва файли з вертикальним розділенням. Для звичайного (горизонтального розколу) просто використовуйте -oзамість нього нижній регістр .

PS Ctrl+ w, wщоб переключитися між двома (я вважаю, що це хороший спосіб розмежувати розділення екрана та vim спліти).


5
Хоча це не відповідає початковому запитанню, ця відповідь відповіла на мій пошуковий запит google, який мене тут привів. :)
Міхай Олександру Борсан

Дітто - спасибі!
CaseyR


3

Я довго це шукав і, наскільки я можу сказати, нічого хорошого насправді неможливо. Я спробував багато плагінів / аддонів для vim, але ніхто не працював так, як я хотів.

Цей хороший, хоча: ConqueTerm

Однак вона має певну невідповідність кольорам. Спробуйте, можливо, у вас це виходить.



1

Ви можете використовувати NeoVim, він має вбудований термінальний режим, подібний до emacs (хоча дуже новий) - це дозволяє мати його у вікні, як і будь-який інший буфер vim

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