Я можу відкрити оболонку за допомогою команди: shell у Vim, однак я не можу редагувати файл і одночасно використовувати оболонку.
Чи є спосіб розділити Vim на багато Windows (або вкладки) і відкрити оболонку в одній з них?
Я можу відкрити оболонку за допомогою команди: shell у Vim, однак я не можу редагувати файл і одночасно використовувати оболонку.
Чи є спосіб розділити Vim на багато Windows (або вкладки) і відкрити оболонку в одній з них?
Відповіді:
Neovim і Vim 8.2підтримують це спочатку за допомогою :ter[minal]команди.
Детальніше дивіться terminal-windowв документах.
vsplit term://bashякщо ви використовуєте Neovim.
terminalкоманда розбиває вікно і надає командній оболонці спеціального кольору на панелі стану вікна. Гладкий.
Ну, це залежить від вашої ОС - насправді я не тестував її на MS Windows - але Conque - один з найкращих плагінів там.
Насправді може бути і краще, але працює.
:vspабо :sp- розбиває vim на два екземпляри, але ви не можете використовувати: оболонку лише в одному з них.
Чому б не відобразити іншу вкладку терміналу, а не іншу вкладку vim. Якщо ідея вам сподобалася, ви можете спробувати її: Ctrl-shift-t.і рухайтесь між ними за допомогою Ctrl - pageupтаCtrl - pagedown
Якщо ви хочете лише кілька команд оболонки, ви можете зробити будь-яку команду оболонки у програмі vim !
Наприклад :!./a.out.
vimмагію шляху так::!./%
Ctrlя думаю, ваша відповідь передбачає gnome-terminal або подібний емулятор.
Ви можете використовувати tmuxабо screen(друге вміє робити тільки горизонтальні розбиття без патча) для розділення терміналу. Але я не знаю, як мати один екземпляр Vim на обох панелях.
Якщо ви ще цього не дізналися, ви можете використовувати дивовижний плагін екрану .
Conque також винятковий, але мені здається, що екран набагато практичніший (наприклад, він не "засмічує" ваш буфер, і ви можете просто надсилати команди, які вам дуже потрібні після редагування їх у своєму буфері)
Я думаю, це досить давнє питання, але зараз у 2017 році. У нас є neovim, який є вилкою vim, яка додає термінальну підтримку.
Таким чином, виклик :termвідкриє вікно терміналу. Краса цього рішення на відміну від використання tmux (термінального мультиплексора) полягає в тому, що у вас будуть ті ж прив'язки вікон, що і у вашій vimустановці. neovim сумісний з vim, тому ви в основному можете скопіювати та вставити свій файл, .vimrcі він просто працюватиме.
Більше переваг полягає в тому, що ви можете перейти в звичайний режим на відкритому терміналі і ви можете виконати основне копіювання та редагування. Це також дуже корисно для git здійснює занадто гадаю, оскільки все, що є у вашому буфері, ви можете використовувати в автоматичному заповненні.
Я оновлю цю відповідь, оскільки vim також планує випустити підтримку терміналів, ймовірно, у vim 8.1. Ви можете слідкувати за прогресом тут: https://groups.google.com/forum/#!topic/vim_dev/Q9gUWGCeTXM
Після його випуску я вважаю, що це більш досконала настройка, ніж використання tmux.
Не зовсім те, про що ви просите, але вас може зацікавити мій плагін vim-notebook, який дозволяє користувачеві зберігати фоновий процес живим і змусити його оцінювати частину поточного документа (і записувати вихід у документ). Він призначений для використання в документах у стилі зошита, що містять фрагменти коду, що підлягають оцінці.
Ви можете відкрити програму "екран", розділений екран, відкрити оболонку на одному і vim на іншому. Працює для мене.
Зараз я використовую tmux.
Установка: sudo apt-get install tmux Виконати: tmux
Ctrl + b, а потім Ctr +%: він розділяє вікно вашого терміналу на дві вертикальні половинки.
Ctrl + "стрілка вліво | стрілка вправо": переміщається між терміналами.