Я использую 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запуске в более обычном эмуляторе терминала; Я не уверен, почему вы бы видели другое поведение. Какую оболочку вы используете, и как она настроена с учетом истории?