ZSH - Z Shell - ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, которая прСдоставляСт Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ инструмСнтария, Ρ‡Π΅ΠΌ Bash

  • Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎΠ΅ контСкстноС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… ΠΈΠΌΠ΅Π½ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄
  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎ tab ΡŽΠ·Π΅Ρ€Ρƒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²: позволяСт Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ сторонними ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ создаСт ΠΊΠΎΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚Π΅ΠΌ
  • ΠšΠ°ΡΡ‚ΠΎΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ скриптов O my Zch

Π”Π°Π»Π΅Π΅ устанавливаСм zsh Π½Π° Π½Π°ΡˆΡƒ систСму, Ссли Π½Π΅ установлСн ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π² качСствС Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°

sudo apt install zsh
chsh -s $(which zsh)

УстанавливаСм OMZSH

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Π”Π°Π»Π΅Π΅ устанавливаСм NVM ΠΈ Ρ‚Π΅ΠΌΡƒ powerlevel10k

Π”Π°Π»Π΅Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ для zsh

~/.zshrc

if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
  source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
 
export ZSH="$HOME/.oh-my-zsh"
 
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
ZSH_THEME="powerlevel10k/powerlevel10k"
source ~/powerlevel10k/powerlevel10k.zsh-theme
 
plugins=(git z docker fzf fzf-zsh-plugin zsh-autosuggestions history)
 
source $ZSH/oh-my-zsh.sh
 
alias ls="eza --tree --level=1 --icons=always --no-time --no-user --no-permissions"
 
export PATH="/usr/local/opt/openjdk/bin:$PATH"
export PATH=/bin:/usr/bin:/usr/local/bin:/sbin:${PATH}
export BUN_INSTALL="$HOME/.bun"
export PATH="$BUN_INSTALL/bin:$PATH"
 
eval "$(fzf --zsh)"
function yy() {
	local tmp="$(mktemp -t "yazi-cwd.XXXXXX")"
	yazi "$@" --cwd-file="$tmp"
	if cwd="$(cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
		cd -- "$cwd"
	fi
	rm -f -- "$tmp"
}
 
# alias nvc="NVIM_APPNAME=nvchad nvim"
alias nv="nvim"
 
function nvims() {
  items=("default" "nv")
  config=$(printf "%s\n" "${items[@]}" | fzf --prompt=" Neovim Config  " --height=~50% --layout=reverse --border --exit-0)
  if [[ -z $config ]]; then
    echo "Nothing selected"
    return 0
  elif [[ $config == "default" ]]; then
    config=""
  fi
  NVIM_APPNAME=$config nvim $@
}
 
function htt() {
  httpyac $1 --json -a | jq -r ".requests[0].response.body" | jq | bat --language=json
}
 
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
 
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
 
# pnpm
export PNPM_HOME="/home/zeizel/.local/share/pnpm"
case ":$PATH:" in
  *":$PNPM_HOME:"*) ;;
  *) export PATH="$PNPM_HOME:$PATH" ;;
esac
# pnpm end

И ΡΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ с ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ git z docker fzf thefuck zsh-autosuggestions history (строчка plugins = (...)) Π² ΠΏΠ°ΠΏΠΊΡƒ ~/.oh-my-zsh/custom/plugins

https://github.com/nvbn/thefuck
https://github.com/zsh-users/zsh-autosuggestions
https://github.com/agkozak/zsh-z
https://github.com/unixorn/fzf-zsh-plugin
https://github.com/romkatv/powerlevel10k

ctrl+r - Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ поиск ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ

Π’Π°ΠΊ ΠΆΠ΅ вмСстС с OMZsh Ρƒ нас ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»Π°ΡΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° z, которая Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΏΡƒΡ‚ΠΈ Π΄ΠΎ Π½Π°ΡˆΠΈΡ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ Π½Π°ΠΌ ввСсти Ρ‚ΠΎΠ»ΡŒΠΊΠΎ z <имя_рСпозитория>, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с git (ΠΏΠΎ Π½Π΅ΠΌΡƒ ΠΈ производится поиск) Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя.