Как очистить историю терминала из vim?

Мой файл 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" и очищать прошлую историю.

Пожалуйста, помогите.

1
задан 1 January 2021 в 21:56

2 ответа

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

:!clear;ls

. По общему мнению, было бы довольно неуклюже вводить это для каждой команды, поэтому карту можно добавить в .vimrc . Например,

noremap ! :!clear;

отобразит ! в нормальном и визуальном режимах. (Это отменяет поведение по умолчанию ! . Если вы не хотите отменять карты по умолчанию, используйте вместо этого один из неиспользуемых ключей .)

1
ответ дан 3 January 2021 в 22:44

Нет однозначного ответа. Различные оболочки предлагают разные варианты настройки места хранения вашей истории. Как правило, имя файла по умолчанию - .history или .SHELL_NAME_history (например. bash_history ). Он будет храниться в вашем домашнем каталоге. Вы можете удалить этот файл, но нет гарантии, что у открытого процесса оболочки нет некоторой кэшированной информации, ожидающей записи. Запустите команду history, чтобы узнать номер команды, которую вы хотите удалить, а затем введите следующую команду

$ history -d number

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

$ vim $HISTFILE

Или для bash:

$ vim ~/.bash_history
​​
-2
ответ дан 3 January 2021 в 22:44

Другие вопросы по тегам:

Похожие вопросы: