Я использую emacs почти для всего, но когда я запускаю shell, M-x shell
а затем выхожу из emacs, история не сохраняется, я пытался (savehist-mode 1)
с этой целью, но, похоже, это не работает, есть ли способ сохранить историю Команды, используемые в Emacs и использовать их, когда я использую оболочку вне Emacs?
M-x shell
и когда я убиваю буфер, он не сохраняет историю, единственная попытка, которую я сделал, была поместить (savehist-mode 1)
в .emacs
файл, но все же я не могу смотрите команды, используемые в emacs
savehist-mode
применяется по умолчанию только к вводу минибуфера и, следовательно, здесь не применимо (хотя в целом это может оказаться полезным). Скорее всего, ваша оболочка входа в систему есть bash
, и я часто обнаруживал, что по умолчанию bash
не будет сохранять историю, пока процесс не завершится корректно, то есть при выходе из системы - что не произойдет, если вы уничтожите буфер оболочки с помощью C-x k
или подобным образом; когда это происходит, процесс оболочки уничтожается, а не завершается самостоятельно. Если это то, что вы делаете прямо сейчас, попробуйте сделать это logout
или exit
в своем буфере оболочки, прежде чем уничтожать буфер, и посмотрите, сохраняется ли история.
ps -p $$
помощью командной строки; значение под «CMD» в выходных данных - это оболочка, которую вы используете. Скорее всего, так и будет bash
, но если это не так, добавьте комментарий, чтобы сказать, что это такое и кто-то может быть в состоянии помочь вам дальше оттуда - я использую только bash
себя, поэтому не могу помочь, если вы используете что-то еще.)
~/.bash_history
же, как и приbash
запуске в более обычном эмуляторе терминала; Я не уверен, почему вы бы видели другое поведение. Какую оболочку вы используете, и как она настроена с учетом истории?