Поиск по сайту:

Использование истории команд в Zsh


Не получаете историю команд в Zsh? Вот как это включить.

Когда я перешел на zsh, меня шокировало то, что в zsh нет файла для хранения истории выполненных команд, а для таких, как я, история является одной из наиболее важных частей использования терминала.

Не волнуйся! Zsh, являясь одной из наиболее настраиваемых оболочек, позволяет создать файл истории для хранения ранее выполненных команд.

Итак, в этом уроке я расскажу вам, как включить историю в zsh.

Как включить историю в zsh

Если вы используете такой плагин, как Oh My Zsh, то в вашей системе уже есть файл истории. Так как же определить, есть оно у вас или нет?

Просто распечатайте значение переменной HISTFILE, используя следующее:

echo $HISTFILE

Если вы получаете пустой вывод, как у меня, значит, у вас нет файла истории и обратитесь к инструкции, которой я собираюсь поделиться.

Чтобы настроить файл истории, сначала откройте файл zshrc с помощью следующей команды:

nano ~/.zshrc

Открыв файл zshrc, перейдите в конец файла в редакторе nano, нажав Alt + /, и вставьте следующие строки:

# History file for zsh
HISTFILE=~/.zsh_history

Далее сохраните изменения и выйдите из редактора nano. Создайте исходный файл, чтобы изменения, которые вы только что внесли, вступили в силу:

source ~/.zshrc

Укажите, сколько хранить в истории

Чтобы указать, сколько команд вы хотите сохранить в истории zsh, вам нужно будет указать значение через две переменные: HISTSIZE и SAVEHIST.

Сначала откройте файл конфигурации, используя следующее:

nano ~/.zshrc

Перейдите в конец строки и вставьте следующее:

# How many commands to store in history
HISTSIZE=10000
SAVEHIST=10000

Здесь,

  • HISTSIZE: он определяет количество команд, которые будут сохранены в вашей памяти для текущего сеанса zsh.

  • SAVEHIST: здесь вы указываете количество команд, которые будут сохранены в файле истории.

Не стесняйтесь менять цифры в соответствии с вашими потребностями 😃.

После этого сохраните изменения и выйдите из файла.

Делитесь одной и той же историей в каждом сеансе терминала

Если вы хотите поделиться историей каждого сеанса терминала, вам нужно использовать опцию SHARE_HISTORY.

Сначала откройте файл конфигурации zshrc, перейдите в конец файла и вставьте следующую строку кода:

# Share history in every terminal session
setopt SHARE_HISTORY

Сохраните изменения, выйдите из редактора и не забудьте сохранить исходный файл.

Собираем все вместе

Вот краткое изложение этого руководства на случай, если вы захотите скопировать все и мгновенно сделать свою конфигурацию похожей на мою:

# History file for zsh
HISTFILE=~/.zsh_history

# How many commands to store in history
HISTSIZE=10000
SAVEHIST=10000

# Share history in every terminal session
setopt SHARE_HISTORY

Есть вопрос или предложение? Оставьте комментарий.

Статьи по данной тематике: