zsh
Created: 2022-02-17 15:48:05 -0800 Modified: 2023-12-21 09:47:01 -0800
Basics
Section titled Basics- Getting started: it’s probably best to install oh-my-zsh to have some nice settings out of the box.
- Prompt colors: You can set prompt colors to arbitrary 3-digit colors (reference):
PS1="%{%F{69}%}%2~%{$reset_color%}%{$fg[cyan]%}\>%{$reset_color%}"
- Overriding an alias temporarily: just precede the command with a backslash, e.g. “cat”.
- Deleting lines from history: to remove sensitive entries/passwords from autosuggestions, just edit
~/.zsh_history
, then make a new shell.- You can prevent lines from ever going to the history by preceding them with a space (reference).
- You can also do this with
HISTORY_IGNORE
, e.g.export HISTORY_IGNORE='*cloudflared service install*'
in your.zshrc
.
Prezto’s Directory plugin (reference)
Section titled Prezto’s Directory plugin (reference)This is very interesting. When enabled:
- You don’t have to type “cd” to switch into directories, so ”..” and “Documents” become valid commands.
- “d” is aliased to “dirs -v”, which lets you see your most recently used directories.
- From here, you can type 1…9 as a command and it’ll go to that directory.
Fzf (fuzzy find) (reference)
Section titled Fzf (fuzzy find) (reference)Basics:
- “fzf” can be used to enter fuzzy-find mode, but so can something like “cd src/**” → pressing tab.
- “fzf” just lets you search through a list, so you can pipe things to it, e.g. “rg —files-without-match blog | fzf”
- Ignore certain results by typing “!term_to_be_ignored” while inside fzf
- When in multi-select mode (“fzf -m”), you can press tab to select multiple files, e.g. “vim
fzf -m
”. - Use a command like this to open some number of files under the current directory:
- vim
rg --files --ignore-vcs --hidden | rg -v ".git" | fzf -m -i
- ripgrep will ignore anything in .gitignore (reference)
- fzf: “-m” is for multi-select and “-i” is for case-insensitivity on matching
- vim