zsh не открывает vim или gvim, пока терминал не будет закрыт [закрыт]

Когда я пытаюсь запустить vim или gvim из терминала (или программа пытается сделать это, например, git rebase --interactive). Он не открывается, пока не закроется терминал, он просто сидит и думает, что программа запущена.

Программа даже не открывается, если я добавляю &, за исключением того, что я могу использовать терминал как обычно.

Как я могу это исправить или, по крайней мере, понять, что происходит?


В соответствии с запросом вывод type vim:

vim is /usr/bin/vim
3
задан 05.05.2020, 03:45

2 ответа

Может быть, установить shellcmdflag?

Я думаю, что есть дополнительные ключи, которые вы можете использовать в .vimrc для установки аргументов командной строки оболочки.

set shell=zsh
set shellcmdflag=-i

В vim вы можете прочитать больше об этих опциях, :help shell и :help shellcmdflag`.

Вызов оболочки напрямую с тем, что вы хотите, через -c

В качестве альтернативы вы можете получить доступ к оболочке следующим образом:

:!bash -c ". ~/.alias; gitlog"

Где псевдоним gitlog находится в файл ~/.alias. Измените это на zsh, чтобы удовлетворить ваши потребности, я просто покажу вам подход.

2 другие альтернативы

В этих SO и SU Q & amp; A обсуждались еще 2 метода, которые также могут быть полезны.

Ссылки

1
ответ дан 05.05.2020, 03:45

Это было связано со следующей строкой в ​​моем .vimrc: set shell=zsh\ -i

Я должен установить оболочку в интерактивном режиме, чтобы убедиться, что загружен .zprofile, в противном случае дополнения к $PATH не установлен, и поэтому я не могу использовать определенные команды из gVim.

Так что, к сожалению, мне тоже нужно:

  • Использовать другой редактор из терминала
  • Не устанавливать оболочку vim как интерактивную
2
ответ дан 05.05.2020, 03:46
  • 1
    zsh -i doesn' t загрузка .zprofile, [только 112] (и .zshenv). Если Gvim isn' t наблюдение Ваших переменных среды, Вы - not' t установка их в правильном месте. Можно установить их в ~/.profile или ~/.pam_environment, оба файла читаются в начале сессии. Для добавления каталогов к PATH сделайте это в ~/.profile.pam_environment, можно только установить переменные на постоянные величины, не добавляют к ним). Таким образом, Ваши переменные среды будут видимы к каждой программе, не только те запустили с интерактивной оболочки. – e.James 05.05.2020, 03:46

Теги

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