Как мне запустить терминал внутри Vim? - PullRequest
273 голосов
/ 06 августа 2009

Я привык к Emacs, но я пытаюсь найти Vim, который мне больше нравится.

Одна вещь, которая мне нравится в Emacs, это возможность запуска терминала внутри Emacs. Это возможно внутри Vim? Я знаю, что вы можете выполнять команды из Vim, но я хотел бы иметь возможность запускать терминал внутри вкладки.

Ответы [ 17 ]

13 голосов
/ 19 мая 2016

Кто-то уже предложил https://github.com/Shougo/vimshell.vim,, но они не упомянули почему. Следовательно, когда я отошел от этого вопроса, я потратил много времени, пытаясь найти другие (гораздо более высокие оценки) варианты.

Shougo / vimshell - это ответ. И вот почему:

В дополнение к тому, что он является эмулятором терминала, VimShell позволяет вам перемещаться по выводу терминала в обычном и визуальном режимах. Таким образом, если команда, которую вы запускаете, приводит к выводу, который вы хотите скопировать и вставить только с клавиатуры ... VimShell покрывает это.

Ни одна из других упомянутых опций, включая команду: Terminal в NeoVim, не делает этого. Неовим: терминал подходит близко, но терпит неудачу, по крайней мере, следующими способами по состоянию на 18.02.2017:

  • Перемещает курсор в конец буфера, вместо того, чтобы в последний раз держать его в том же месте, что и VimShell. Огромная трата времени.

  • Не поддерживает modifiable = 1 см. обсуждение этого на Github , поэтому такие полезные плагины, как vim-easymotion, использовать нельзя.

  • Не поддерживает отображение номеров строк, как Vimshell.

Не тратьте время на другие опции, включая Neovim: терминал. Перейти с VimShell.

9 голосов
/ 10 августа 2009

Возможно, вы захотите взглянуть на команду :sh (см. :help sh в Vim).

Различные команды

7 голосов
/ 06 августа 2009
4 голосов
/ 19 мая 2019

Основной новой функцией Vim 8.1 является поддержка запуска терминала в окне Vim.

:term откроет терминал в другом окне внутри Vim.

4 голосов
/ 06 августа 2009

Единственный известный мне способ - использовать сторонний патч vim-shell .

3 голосов
/ 07 декабря 2014

Я использую это сейчас, вы можете попробовать. VimShell

2 голосов
/ 22 октября 2013

Попробуйте vterm , который является в значительной степени полнофункциональной оболочкой внутри vim. Это немного глючит с его историей и понятными функциями, и все еще находится в разработке, но все еще довольно хорошо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...