Существует ли способ получить доступ к терминалу при использовании Vim?
Мне не нравится открывать другой терминал или сохранять и выходить из текущего терминала.
Можно отправить энергии сигнал SIGTSTP. Вы делаете это путем нажатия ctrl+z. Vim будет временно отстранен в фоновом режиме, и можно использовать терминал. Ввести fg
в терминале для возобновления с энергией.
Бонусная подсказка: Это продолжает работать почти все терминальные приложения. Использовать bg
позволять приложению продолжить работать в фоновом режиме.
В энергии просто введите:
:!sh
:!
запускает внешний процесс - в этом случае sh
, другая оболочка. Управление возвратится к энергии, после того как Вы выходите из оболочки. Если Вы хотите использовать оболочку одновременно с энергией, добавить &
в конец команды sh:
:!sh&
Можно использовать :shell
команда (или краткая форма :sh
). От :help :shell
:
Эта команда запускает оболочку. Когда оболочка выходит (после того, как команда "выхода"), Вы возвращаетесь к Vim. Название команды оболочки происходит от опции 'оболочки'.
По умолчанию, на Ubuntu, это даст Вам удар. ввести exit
возвратиться к энергии, когда Вы сделаны.
Как дополнение ко всем ответам.
Можно установить плагин ConqueTerm
Этот плагин обеспечивает способность запустить интерактивные программы в буферах энергии.
После установки можно добавить это 2 строки к Вашему .vimrc
:
:nnoremap <S-w> :q!<CR>
:nnoremap <S-t> :ConqueTermSplit bash<CR>
И Вы сможете работать bash
путем нажатия Shift + T, и закрывают текущую вкладку Conque путем нажатия Shift + W
Это - perferct, если Вы должны быстро открыться/закрыть bash
.
Вот gif, на который похож показ, как это,
Другая опция или с экраном или с byobu состоит в том, чтобы открыть вкладку в рамках тех программ. Эти программы делают довольно легким сохранить терминальный сеанс c.q. оболочкой открытый и переключатель между теми экранами с клавиатурой.
Начиная с недавней энергии можно теперь сделать:
:terminal
Это было первоначально добавлено в Vim 8.0.693, но с большим количеством ошибок. Посмотрите :help terminal
:
WARNING: THIS IS ONLY PARTLY IMPLEMENTED, ANYTHING CAN STILL CHANGE
The terminal feature is optional, use this to check if your Vim has it:
echo has('terminal')
If the result is "1" you have it.
[...]
The terminal feature requires the +multi_byte, +job and +channel features.
==============================================================================
1. Basic use terminal-use
This feature is for running a terminal emulator in a Vim window. A job can be
started connected to the terminal emulator. For example, to run a shell:
:term bash
Or to run a debugger:
:term gdb vim
The job runs asynchronously from Vim, the window will be updated to show
output from the job, also while editing in any other window.
С новой версией энергии 8.1 все, что необходимо сделать, справедливо :terminal
и вуаля! (это встроено),