Настройка MacOS [zsh, nvim, tmux, python, fzf, bat]
Установка brew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Добавить в .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/tools/install.sh)" ;\
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.xz -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/plug.vim'
Наполняем файл конфигурацией, затем применение настроек и установка плагинов - команды запускаем внутри vim init.vim
:so %
:PlugInstall
Настройка tmux
Полезное видео с примером: https://www.youtube.com/watch?v=U-omALWIBos
mkdip -p $HOME/.config/tmux ;\
cd $HOME/.config/tmux ;\
touch tmux.conf ;\
git clone https://github.com/tmux-plugins/tpm ~/.config/tmux/plugins/tpm ;\
Перезагрузка конфигурации: 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 **
grep по файлам в vim
, + f - поиск файлах
, + g - поиск в файлах
Ctrl + t - отррыть в новой вкладке vim
Вызов Netrw внутри vim (подробнее)
:Ex
:Vex
:Hex
Полезные материалы
- nvim: удобная навигация в проекте с плагинами Telescope и Fzf
- bat — продвинутая замена cat/less
- How I Use Tmux With Neovim
- 7 Amazing CLI Tools You Need To Try
Большое спасибо всем за внимание! Если вам интересны подобные рассуждения - подписывайтесь на мой канал artydev & Co.