1

При выполнении команды оболочки в VIM она ожидает завершения команды. Вы можете нажать Enter, чтобы переключиться обратно в VIM, но он вернется только после завершения команды. В случае более продолжительной задачи оболочки было бы выгоднее вернуться в VIM, чтобы продолжить работу, и проверить выход оболочки позже.

Какой самый простой способ:

  1. Запустите команду оболочки (:!jshint %)
  2. Вернитесь к VIM до завершения команды.
  3. Перепроверьте на выходе позже. (Простой способ, который я нашел :!)

1 ответ1

6

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

:! (long_running command) & 

и вернитесь обратно к vim.

Хотя вы должны заметить, что если команды что-то выводят, vim будет выглядеть беспорядочно. Если ваша команда ничего не выводит, думаю, с вами все будет в порядке.

Если ваша команда выводит текст, вы можете подумать:

:! (long_running command >output 2>&1) &

если вы хотите иметь стандартный stdout а также стандартный stderr в одном файле или

:! (long_running command >output.stdout 2>output.stderr) &

если вы хотите, чтобы они были в отдельных файлах.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .