Введение / Зачем это нужно
Терминал macOS — мощный инструмент, но многие пользователи не знают о встроенных возможностях, которые могут значительно ускорить повседневную работу. В этой статье мы собрали 10 практических советов, которые помогут вам сэкономить время, избежать повторяющихся действий и сделать взаимодействие с терминалом более комфортным. После выполнения простых настроек вы сможете использовать автодополнение, горячие клавиши и полезные скрипты, чтобы повысить свою продуктивность уже сейчас.
Требования / Подготовка
- Стандартное приложение Terminal (macOS Ventura 13, Monterey 12, Sonoma 14 и выше).
- Доступ к командной строке (любой пользователь может редактировать
~/.zshrc). - Базовое знакомство с основами терминала (команды
ls,cd,pwd). - Редактор текста (например,
nanoилиvim) для редактирования файлов конфигурации.
Шаг 1: Включите автодополнение команд
Включение автодополнения устраняет необходимость полного ввода длинных команд или путей.
# Добавьте в ~/.zshrc
autoload -U compinit
compinit
zle -N expand-or-complete
Перезапустите терминал (source ~/.zshrc). Теперь начните вводить команду или путь и нажмите Tab для автодополнения.
Шаг 2: Настройте автодополнение для путей
Настройки autocd и auto_pushd позволяют быстро перемещаться по файловой системе.
# Добавьте в ~/.zshrc
setopt autocd
setopt auto_pushd
После перезагрузки сессии cd <tab> будет completing директориями, а cd - вернёт вас обратно.
Шаг 3: Создайте полезные алиасы
Алиасы сокращают длинные команды до удобных ярлыков.
# Пример для ~/.zshrc
alias ll='ls -l'
alias py='python3'
alias g='git'
Сохраните файл (Ctrl+O, Enter) и выйдите (Ctrl+X). Перезапустите терминал, и новые алиасы будут доступны.
💡 Совет: Храните часто используемые алиасы в отдельном файле (например,
~/.zsh_aliases) и подключайте его черезsource ~/.zsh_aliases.
Шаг 4: Оптимизируйте историю команд
Без ограничений история может занимать много места на диске. Ограничьте её размер и удалите дубликаты.
# Добавьте в ~/.zshrc
setopt hist_ignore_dups # не сохранять повторяющиеся команды
setopt hist_save_no_dups # не записывать дубликаты в историю
export HISTFILESIZE=100000 # максимальный размер файла истории (~100 КБ)
Перезапустите терминал. Проверить размер истории можно командой wc -l ~/.zsh_history.
Шаг 5: Используйте скрипты и инструменты
Автоматизация повседневных задач позволяет избавиться от рутинных действий.
- Создайте папку для скриптов
mkdir -p ~/bin - Создайте исполняемый скрипт (например,
today_date.sh)#!/bin/bash # ~/bin/today_date.sh echo "Сегодня: $(date '+%Y-%m-%d')" - Сделайте скрипт исполняемым
chmod +x ~/bin/today_date.sh - Добавьте
~/binв$PATH# В ~/.zshrc export PATH="$HOME/bin:$PATH" - Установите полезные инструменты, такие как
thefuck, чтобы исправлять опечатки в командах:pip install thefuck echo 'eval "$(thefuck --alias)"' >> ~/.zshrc
После перезапуска терминала вы сможете вызывать today_date.sh напрямую, а thefuck будет предлагать исправления при ошибках ввода.
Проверка результата
- Нажмите Tab после ввода
ls /usr/l— автодополнение должно завершить команду. - Используйте
llдля просмотра списка в длинном формате. - Проверьте размер истории:
ls -lh ~/.zsh_history. - Запустите новый скрипт:
today_date.sh— должно показать текущую дату. - Попробуйте ввести опечатку, например
git status, и нажмите Esc + b —thefuckпредложит исправление.
Если всё работает, настройки успешно применены.
Возможные проблемы
- Редактирование не того файла конфигурации – убедитесь, что изменения вносятся в
~/.zshrc, а не в~/.bash_profile. macOS по умолчанию используетzsh. - «Команда не найдена» для алиасов – перезапустите терминал или выполните
source ~/.zshrc. $PATHне обновлён – после добавления~/binвPATHвыполнитеecho $PATHили перезапустите терминал.- История не сохраняется – проверьте
setopt hist_append; если она отключена, история перезаписывается при каждом запуске терминала. thefuckне предлагает исправления – убедитесь, что утилита установлена и алиас добавлен (eval "$(thefuck --alias)"). Также убедитесь, что команда, которую вы вводили, входит в список поддерживаемых.
Если одна из этих проблем возникает, исправьте соответствующую настройку и повторите проверку.