20 фішок Zsh

💻 20 прихованих фішок Zsh-термінала, які заощадять вам години роботи

Більшість розробників та адмінів вже давно перейшли на Zsh, але часто використовують її просто як гарнішу версію Bash. Проте Zsh має колосальну кількість вбудованих інструментів та шорткатів, які можуть скоротити рутинні дії в кілька разів.

Зібрав найкорисніші прийоми та гарячі клавіші для Zsh (зокрема для тих, хто використовує Oh My Zsh), які реально прискорюють повсякденну роботу.

🚀 Швидке переміщення по командному рядку

Якщо команда довга, не потрібно затискати стрілку ліворуч. Використовуйте стандартні комбінації:

  • Ctrl + A — перейти на початок рядка
  • Ctrl + E — перейти в кінець рядка
  • Alt + B — перейти на одне слово назад
  • Alt + F — перейти на одне слово вперед

Порада для macOS: якщо комбінації з Alt не працюють, у налаштуваннях вашого термінала (iTerm2 або Terminal) увімкніть використання клавіші Option як Meta/Esc.

✂️ Видалення тексту без Backspace

Замість того щоб видаляти символи по одному, очищуйте текст великими блоками:

  • Ctrl + H — видалити символ ліворуч
  • Ctrl + D — видалити символ праворуч
  • Ctrl + W — видалити попереднє слово
  • Ctrl + U — видалити весь рядок (у Zsh це очищує весь рядок одразу)
  • Ctrl + K — видалити все від курсора до кінця рядка

А якщо видалили щось випадково, поверніть текст назад:

  • Ctrl + Y — вставити останній видалений фрагмент

🔍 Інтелектуальний пошук по історії (History Search)

У Zsh є два крутих способи шукати старі команди:

  1. Класичний зворотний пошук:

Bash

Ctrl + R

Почніть вводити частину команди, і Zsh знайде її в історії.

  1. Пошук за початком команди (якщо у вас увімкнено плагін history-substring-search або стандартні налаштування OMZ): Просто введіть, наприклад, docker і натисніть стрілку вгору. Zsh покаже лише ті команди з історії, які починалися з docker.

🧹 Очистити екран миттєво

Замість введення команди вручну:

Bash

clear

Просто натисніть:

Bash

Ctrl + L

Екран очиститься миттєво, а ваш курсор залишиться на місці.

🔑 Забули sudo?

Ввели команду і отримали Permission denied?

Bash

apt update

Замість того, щоб стрілкою повертатися на початок рядка, напишіть:

Bash

sudo !!

Zsh автоматично підставить попередню команду, і вийде: sudo apt update. (Якщо у вас стоїть Oh My Zsh, плагін sudo дозволяє зробити це подвійним натисканням клавіші ESC).

🎯 Магія аргументів: робота з !$

Ви створили нову папку проекту:

Bash

mkdir my-awesome-new-project

Щоб одразу перейти в неї, не потрібно копіювати назву. Наберіть:

Bash

cd !$

Символ !$ автоматично витягує останній аргумент попередньої команди. Це працює і з файлами: nano config.json -> git add !$.

🛠️ Швидке виправлення помилки (Супер-заміна)

Припустимо, ви друкували поспіхом і написали git stats замість git status. Виправте це одним рядком:

Bash

^stats^status

Zsh замінить перше слово на друге і самостійно перезапустить правильну команду.

🛑 Керування процесами: Ctrl+C і Ctrl+Z

Багато хто використовує лише Ctrl + C, яка повністю вбиває процес. Але якщо вам треба просто тимчасово звільнити термінал:

  • Ctrl + Z — ставить поточний процес (наприклад, редактор чи скрипт) на паузу та відправляє його у фон.

Подивитися всі призупинені задачі:

Bash

jobs

Повернути процес назад на екран:

Bash

fg

📂 Супер-навігація та трюки з файлами в Zsh

У Zsh робота з файлами набагато гнучкіша, ніж у звичайному Bash:

  1. Перемикання без cd: У багатьох конфігураціях Zsh можна переходити в папки, просто вказуючи їхній шлях без команди cd:

Bash

/var/log
  1. Повернення назад: Повернутися в попередню локацію:

Bash

cd -
  1. Генерація папок та файлів оптом:

Bash

mkdir {apps,tests,docs}
touch src/{index,app,router}.js
  1. Миттєвий бекап конфігів:

Bash

cp nginx.conf{,.bak}

(розгорнеться в cp nginx.conf nginx.conf.bak)

📝 Редагування довгої команди у повноцінному редакторі

Якщо ви пишете складний цикл або довгу команду на кілька рядків, натисніть:

Bash

Ctrl + X Ctrl + E

Zsh відкриє цей текст у вашому системному редакторі (Vim/Nano). Ви можете редагувати його як звичайний файл, а після збереження й закриття (:wq або Ctrl+O -> Ctrl+X) команда виконається в терміналі.

💡 Висновок

Zsh — це неймовірно потужний інструмент, якщо знати його приховані комбінації. Почніть активно використовувати хоча б Ctrl + R, cd –, !$ та подвійний запуск процесів через Ctrl + Z, і ваша швидкість роботи в консолі зросте вдвічі.