Read-only mirror of zsh-config

Alexander Rosenberg 8bc2b5efe5 Update aliases hai 2 semanas
plugins cd640456b1 Update submodules hai 2 semanas
.gitignore 4551e24f7a Initial commit %!s(int64=2) %!d(string=hai) anos
.gitmodules bc925168c3 Update .gitmodules hai 11 meses
LICENSE 4551e24f7a Initial commit %!s(int64=2) %!d(string=hai) anos
README.md 6a35848f7a Add fzf to README.md hai 1 ano
arch.zsh 1b290bcf23 Fix debuginfod.sh hai 4 meses
early-init.zsh b67571bd7a Remove old ssh stuff in early-init.zsh hai 7 meses
emacs-bookmark.zsh 6b7760784a Use the new server-eval-args-left hai 2 semanas
init.zsh 8bc2b5efe5 Update aliases hai 2 semanas
lazy-ros2.zsh c3a8204ad2 Update lazy-ros2.zsh hai 4 semanas

README.md

zsh-config

This is my personal zsh configuraton.

Requirements

  • starship - a pretty and fast prompt
  • direnv* - runs on cd, safely set enviroment
  • eza* - better ls
  • bat* - better cat, less, man, etc.
  • trash-cli* - safer deletion
  • fzf* - better auto-complete

(* = optional)

Installation

  1. Clone this repo and init the submodules sh git clone 'https://git.zander.im/Zander671/zsh-config.git' git submodule init && git submodule update
  2. Create a .zshrc and fill it with something like this: zsh ZSH_CONFIG_DIR="path/to/this/repo" # This variable *MUST* be set source "${ZSH_CONFIG_DIR}/init.zsh"
  3. Optionally, set some other variables (before the source line):
    • ZSH_BOOKMARK_DIR: Bookmark directory (default: ~/.cache/zsh/bookmarks)
    • ZSH_BOOKMARK_LS: If true, run ls after jumping to a bookmark (default: true)
    • ZSH_GRAPHICAL_LOGIN: Whether or not to enable starting a graphical session when a login shell is started (default: true)

Aliases

I use a lot of aliases. Because a lot of the aliases are only enabled if the corresponding piece of software is installed (see above), it is hard to give a full list. Therefore you should think of the following list as a guide and read init.zsh if you want a full list.

  • ls: eza --git -F
  • la: eza --git -Fa
  • l: eza --git -Fl
  • ll: eza --git -Fla
  • cat: bat --paging=never
  • pcat: bat -pp
  • ncat: bat -pp --color=never
  • e: emacsclient -a nvim -nw
  • n: emacsclient -a nvim -nw
  • emacs: emacsclient -a nvim -nw
  • d: start dired in either the current or provided directory
  • dired: start dired in either the current or provided directory
  • se: sudoedit
  • mv: mv -i
  • cp: cp -i
  • rm: disabled if trash-cli is installed
  • tp: trash-put
  • trr: trash-restore
  • trl: trash-list
  • tre: trash-empty
  • trm: trash-rm
  • gt: git status
  • ga: git add
  • gaa: git add -A
  • gc: git commit
  • gf: git fetch
  • gu: git pull
  • gp: git push
  • gcm: git commit -m, but treat all following args as the message (like echo)
  • gacm: git commit -am, but treat all following args as the message (like echo)

Configuration

Previous versions of this configuration supported files that were not under version control to be run during initialization of the shell. However the current version does not support this. Configuring the shell requires editing either init.zsh or early-init.zsh.