Мой файл python:
print('HelloWorld')
После выполнения файла в истории терминала:
HelloWorld
Press ENTER or type command to continue
Это нормально.
Теперь, если я запущу файл снова, он также показывает предыдущую историю.
HelloWorld
Press ENTER or type command to continue
HelloWorld
Press ENTER or type command to continue
Он должен возвращать только один "HelloWorld" и очищать прошлую историю.
Пожалуйста, помогите.
Вам необходимо добавить очистить
перед каждой внешней командой, которую вы запускаете. Например, для ls
это будет
:!clear;ls
. По общему мнению, было бы довольно неуклюже вводить это для каждой команды, поэтому карту можно добавить в .vimrc
. Например,
noremap ! :!clear;
отобразит ! в нормальном и визуальном режимах. (Это отменяет поведение по умолчанию ! . Если вы не хотите отменять карты по умолчанию, используйте вместо этого один из неиспользуемых ключей .)
Нет однозначного ответа. Различные оболочки предлагают разные варианты настройки места хранения вашей истории. Как правило, имя файла по умолчанию - .history
или .SHELL_NAME_history
(например. bash_history
). Он будет храниться в вашем домашнем каталоге. Вы можете удалить этот файл, но нет гарантии, что у открытого процесса оболочки нет некоторой кэшированной информации, ожидающей записи.
Запустите команду history, чтобы узнать номер команды, которую вы хотите удалить, а затем введите следующую команду
$ history -d number
Вы также можете просто отредактировать файл истории с помощью vim и удалить все, что хотите:
$ vim $HISTFILE
Или для bash:
$ vim ~/.bash_history