Доступ к терминалу, в то время как Вы находитесь на Vim

Существует ли способ получить доступ к терминалу при использовании Vim?

Мне не нравится открывать другой терминал или сохранять и выходить из текущего терминала.

40
задан 18 August 2014 в 08:17

7 ответов

Можно отправить энергии сигнал SIGTSTP. Вы делаете это путем нажатия ctrl+z. Vim будет временно отстранен в фоновом режиме, и можно использовать терминал. Ввести fg в терминале для возобновления с энергией.

Бонусная подсказка: Это продолжает работать почти все терминальные приложения. Использовать bg позволять приложению продолжить работать в фоновом режиме.

67
ответ дан 23 November 2019 в 00:07

В энергии просто введите:

:!sh

:! запускает внешний процесс - в этом случае sh, другая оболочка. Управление возвратится к энергии, после того как Вы выходите из оболочки. Если Вы хотите использовать оболочку одновременно с энергией, добавить & в конец команды sh:

:!sh&
35
ответ дан 23 November 2019 в 00:07

Можно использовать :shell команда (или краткая форма :sh). От :help :shell:

Эта команда запускает оболочку. Когда оболочка выходит (после того, как команда "выхода"), Вы возвращаетесь к Vim. Название команды оболочки происходит от опции 'оболочки'.

По умолчанию, на Ubuntu, это даст Вам удар. ввести exit возвратиться к энергии, когда Вы сделаны.

21
ответ дан 23 November 2019 в 00:07

Как дополнение ко всем ответам.

Можно установить плагин ConqueTerm

Этот плагин обеспечивает способность запустить интерактивные программы в буферах энергии.

После установки можно добавить это 2 строки к Вашему .vimrc:

:nnoremap <S-w> :q!<CR>
:nnoremap <S-t> :ConqueTermSplit bash<CR>

И Вы сможете работать bash путем нажатия Shift + T, и закрывают текущую вкладку Conque путем нажатия Shift + W

Это - perferct, если Вы должны быстро открыться/закрыть bash.

Вот gif, на который похож показ, как это,

7
ответ дан 23 November 2019 в 00:07

Другая опция или с экраном или с byobu состоит в том, чтобы открыть вкладку в рамках тех программ. Эти программы делают довольно легким сохранить терминальный сеанс c.q. оболочкой открытый и переключатель между теми экранами с клавиатурой.

4
ответ дан 23 November 2019 в 00:07

Начиная с недавней энергии можно теперь сделать:

: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
ответ дан 23 November 2019 в 00:07

С новой версией энергии 8.1 все, что необходимо сделать, справедливо :terminal и вуаля! (это встроено),

1
ответ дан 23 November 2019 в 00:07

Другие вопросы по тегам:

Похожие вопросы: