Как я могу получить мою подсказку после запуска Emacs из командной строки?

1

После того, как я напечатал emacs somefileв командной строке и нажал Enter, я не получаю свою подсказку, пока Emacs не закроется.

Как я могу запустить Emacs, чтобы получить приглашение сразу же после запуска Emacs?

В * nix системах я могу набрать emacs somefile &для этого.

Персона
источник

Ответы:

1

По умолчанию запущенный процесс будет использовать ваше текущее окно консоли. Вы можете избежать этого, просто используя startдля запуска отдельный процесс, то есть вместо emacs myfileзапуска start emacs myfile, который вы запускаете , что откроет новое окно консоли для процесса. Затем вы сразу же вернетесь в командную строку, как в Unix-системах.

В качестве альтернативы вы можете установить версию bash для Windows (например, через MSys) и использовать синтаксис, к которому вы привыкли.

Марио
источник
1

Как я могу запустить Emacs, чтобы получить приглашение сразу же после запуска Emacs?

Используйте следующую команду:

cmd /k emacs somefile

Если в имени файла есть пробелы, используйте:

cmd /k emacs "some file"

Запустите новую оболочку CMD и (необязательно) запустите командную / исполняемую программу.

Синтаксис

CMD [charset] [options]

CMD [charset] [options] [/C Command]

CMD [charset] [options] [/K Command]

Параметры

/C Запустите команду и затем завершите

/K Выполните команду и затем вернитесь к приглашению CMD. Это полезно для тестирования, чтобы изучить переменные

Command: Команда, программа или пакетный скрипт для запуска. Это может даже быть несколько команд, разделенных '&' (целое также должно быть заключено в "кавычки")

Исходный cmd


Дальнейшее чтение

ДэвидПостилл
источник
Это не сработает, как ожидалось, так как вы все равно повторно используете текущее окно оболочки. Чтобы просто запустить emacs, вы также можете просто использовать меню «Пуск» или диалог запуска без обхода вызова cmd.
Марио
@Mario "Я не получаю приглашение до тех пор, пока Emacs не закроется." - вышеприведенное делает именно то, о чем просил OP (Как я могу запустить Emacs, чтобы я сразу же получил приглашение после запуска Emacs?). Использование меню «Пуск» или «Выполнить» не отвечает на его вопрос.
DavidPostill
Может быть, я не понял вас тогда. Если вы откроете консольное окно, используя, cmdа затем запустите cmdс любыми параметрами, вы получите один экземпляр, работающий внутри другого, но вы не вернетесь обратно в командную строку, если emacs не закроется. Если вы введете свою командную строку в диалог запуска, вы можете просто пропустить ее cmd /kи запустить emacs. По крайней мере, я так думаю об этом решении.
Марио
@Mario /kПереключатель приводит к немедленному завершению «дочернего» cmd (не дожидаясь завершения «Command» - как в unix &). Это оставляет нас с "родительским" cmd и emacs все еще работающим. Попробуйте и посмотрите;)
DavidPostill
Хорошо, тогда emacs ведет себя иначе, чем я ожидал, так как я думал, что он не вернется к вызывающему экземпляру cmd(который, следовательно, не завершится вовремя).
Марио