Первоначальная настройка терминала iterm2 MacOS для комфортной работы в терминале

Установка brew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/inst...)" Добавить в .zshrc строку:
export PATH="/opt/homebrew/bin:$PATH" Дополнительные настройки zsh
HISTFILE=$HOME/.zsh_history HISTSIZE=5000000 SAVEHIST=$HISTSIZE setopt HIST_EXPIRE_DUPS_FIRST # Expire a duplicate event first when trimming history.
setopt HIST_IGNORE_ALL_DUPS # Delete an old recorded event if a new event is a duplicate. setopt HIST_IGNORE_DUPS # Do not record an event that was just recorded again. setopt HIST_IGNORE_SPACE # Do not record an event starting with a space. setopt HIST_SAVE_NO_DUPS # Do not write a duplicate event to the history file. setopt SHARE_HISTORY # Share history between all sessions. Активировать конфигурацию
source ~/.zshrc Установка zsh powerlevel10k
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/too...)" ;\ brew install powerlevel10k ;\ echo "source $(brew --prefix)/share/powerlevel10k/powerlevel10k.zsh-theme" >>~/.zshrc ;\ brew install zsh-syntax-highlighting ;\ brew install zsh-autosuggestions ;\ echo "source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc ;\ echo "source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc ;\ source ~/.zshrc Пошаговая конфигурация дизайна командной строки
p10k configure Установка необходимых утилит
brew install --cask iterm2 ;\ brew install neovim ;\ brew install fd ;\ brew install bat ;\ brew install fzf ;\ brew install pkg-config ;\ brew install node@22 ;\ brew install ripgrep ;\ brew install tmux ;\ brew install openssl xz gdbm Добавить в .zshrc строку:
export PATH="/opt/homebrew/opt/node@22/bin:$PATH" npm install -g pyright Gruvbox theme for iterm2:
https://github.
com/morhetz/gruvbox-contrib/blob/master/iterm2/gruvbox-dark.itermcolors
Сборка python3.13 из исходников
cd $HOME ;\ mkdir -p temp ;\ cd temp ;\ curl https://www.python.org/ftp/python/3.13.1/Python-3.13.1.tar.x... -o $HOME/temp/Python-3.13.1.tar.xz ;\ tar -xvf Python-3.13.1.tar.xz ;\ cd Python-3.13.1 ;\ brew install pkg-config ;\ ./configure --prefix=/Users/arty/.python3.13 --enable-optimizations ;\ make -j8 ;\ sudo make altinstall Добавить в .zshrc строку:
export PATH=/Users/arty/.python3.13/bin:$PATH Настройка neovim
mkdip -p $HOME/.config/nvim ;\ cd $HOME/.config/nvim ;\ touch init.vim ;\ sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/p... Наполняем файл конфигурацией, затем применение настроек и установка плагинов - команды запускаем внутри vim init.vim
:so % :PlugInstall Настройка tmux
Полезное видео с примером:
mkdip -p $HOME/.config/tmux ;\ cd $HOME/.config/tmux ;\ touch tmux.conf ;\ git clone https://github.com/tmux-plugins/tpm ~/.config/tmux/plugins/tpm ;\ tmux hotkeys
Новая вкладка из tmux: control a + c
Новая вкладка из tmux с кастомным именем: control a + С
Переименовать вкладку (window): control a + ,
Список активных вкладок и сессий: control a + s
Переименовать сессию: control a + $
Перезагрузка конфигурации: control a + r
Установка плагинов: control a + Shift I
Полезные комбинации и команды
Алиас команды для открытия в vim найденного файла:
alias inv='vim $(fzf --preview="bat --color=always {}")' Установка gruvbox темы для bat (либо добавить строку EXPORT BAT_THEME=gruvbox-dark в ~/.zshrc)
bat gruvbox-dark.itermcolors Для активации поиска в зависимости от контекста (использование fzf)
cd ** kill -9 ** export ** unexport ** ssh ** telnet ** Пример: как убить сразу несколько процессов (подробнее на github)
kill -9 ** Для точного совпадения пишем 'value Затем, с помощью tab/shift-tab выделяем нужные процессы vim hotkeys
Перемещение в vim:
0 в начало строки$ в конец строкиw - в начало следующего слокаb - в начало предыдущего словаe - в конец следующего словаgg - в начало файлаG - в конец файла
Переход в режим Insert в vim:i - в начало курсораa - в конец курсораo - под текущую строку (пустую)O - над текущей строкой (пустой)
Редактирование в vim:di{ - удалить внутри {di( - удалить внутри (
Закладки в vim:m + например x - сделать закладку под кнопку x' + x - переместиться на эта закладку
Макросы в vim: q + имя макроса (пишем макрос) + q для завершения.
Применить макрос через @имя макроса.
grep по файлам в vim
, + f - поиск файлах , + g - поиск в файлах Ctrl + t - отррыть в новой вкладке vim Комментирование строк в vim (nerdcommenter)
gc - для комментирования выделенного текста gcip - для комментирования текущего абзаца gcc - комментарий строки Как изменить сразу несколько строк в vim stackoverflow?
- Выделяем нужные строки через Ctrl + v
- Нажамаем I
- Вводим нужные данные
- Нажимаем esc (или jk)
Вызов Netrw внутри vim (подробнее)
:Ex :Vex :Hex - Leader dd: откроет Netrw в каталоге текущего файла.
- Leader da: откроет Netrw в текущем рабочем каталоге.
Запуск команды внутри vim (в дополнительном окне)Ctrl + h - запуск используя расширение файла
:!python test.py :!ls -l Переход по вкладкам внутри vimgt - следующая вкладка gT - предыдущая вкладка Ngt- по номеру вкладки
Использование sed внутри vim
:%s/foo/bar/g Полезные материалы
- nvim: удобная навигация в проекте с плагинами Telescope и Fzf
- bat — продвинутая замена cat/less
- How I Use Tmux With Neovim
- 7 Amazing CLI Tools You Need To Try
- Терминал — ваш лучший друг: 5 утилит командной строки
- How I Setup Neovim On My Mac To Make It Amazing - Complete Guide
Большое спасибо всем за внимание! Если вам интересны подобные рассуждения - подписывайтесь на мой канал artydev & Co.