z: use `zoxide` instead of `z.lua`
This commit is contained in:
parent
be437fe6c2
commit
a5e05b1b0b
|
@ -43,7 +43,7 @@
|
||||||
- **Shell prompt:** [starship](https://starship.rs/)
|
- **Shell prompt:** [starship](https://starship.rs/)
|
||||||
- **Anime/Manga/Wallpaper:** [gallery-dl](https://github.com/mikf/gallery-dl) / [mangadl-bash](https://github.com/Akianonymus/mangadl-bash), [anime-downloader](https://github.com/anime-dl/anime-downloader) + [trackma](https://github.com/z411/trackma) + [adl](https://github.com/RaitaroH/adl) / [anigrab](https://github.com/ngomile/anigrab)
|
- **Anime/Manga/Wallpaper:** [gallery-dl](https://github.com/mikf/gallery-dl) / [mangadl-bash](https://github.com/Akianonymus/mangadl-bash), [anime-downloader](https://github.com/anime-dl/anime-downloader) + [trackma](https://github.com/z411/trackma) + [adl](https://github.com/RaitaroH/adl) / [anigrab](https://github.com/ngomile/anigrab)
|
||||||
- **CLI/TUI for the Internet:** [translate-shell](https://github.com/soimort/translate-shell) / [argos-translate](https://github.com/argosopentech/argos-translate), [ddgr](https://github.com/jarun/ddgr), [howdoi](https://github.com/gleitz/howdoi), [amfora](https://github.com/makeworld-the-better-one/amfora), [cointop](https://github.com/miguelmota/cointop), [newsboat](https://github.com/newsboat/newsboat), [youtube-dl](https://github.com/ytdl-org/youtube-dl) + [ytmdl](https://github.com/deepjyoti30/ytmdl), [github-cli](https://github.com/cli/cli), [pup](https://github.com/ericchiang/pup), [weechat](https://github.com/weechat/weechat), [curl](https://curl.haxx.se) / [wget](https://www.gnu.org/software/wget/wget.html) / [aria2](https://github.com/aria2/aria2), [tremc](https://github.com/tremc/tremc) + [transmission](https://github.com/transmission/transmission) / [rtorrent](https://github.com/rakshasa/rtorrent), [goaccess](https://github.com/allinurl/goaccess)
|
- **CLI/TUI for the Internet:** [translate-shell](https://github.com/soimort/translate-shell) / [argos-translate](https://github.com/argosopentech/argos-translate), [ddgr](https://github.com/jarun/ddgr), [howdoi](https://github.com/gleitz/howdoi), [amfora](https://github.com/makeworld-the-better-one/amfora), [cointop](https://github.com/miguelmota/cointop), [newsboat](https://github.com/newsboat/newsboat), [youtube-dl](https://github.com/ytdl-org/youtube-dl) + [ytmdl](https://github.com/deepjyoti30/ytmdl), [github-cli](https://github.com/cli/cli), [pup](https://github.com/ericchiang/pup), [weechat](https://github.com/weechat/weechat), [curl](https://curl.haxx.se) / [wget](https://www.gnu.org/software/wget/wget.html) / [aria2](https://github.com/aria2/aria2), [tremc](https://github.com/tremc/tremc) + [transmission](https://github.com/transmission/transmission) / [rtorrent](https://github.com/rakshasa/rtorrent), [goaccess](https://github.com/allinurl/goaccess)
|
||||||
- **CLI/TUI for other things:** [tt](https://github.com/runrin/tt), [forgit](https://github.com/wfxr/forgit), [borg](https://github.com/borgbackup/borg), [wendy](https://git.z3bra.org/wendy/log.html), [tokei](https://github.com/XAMPPRocky/tokei), [onefetch](https://github.com/o2sh/onefetch), [calcurse](https://github.com/lfos/calcurse), [qalculate](https://github.com/Qalculate/libqalculate), [fzf](https://github.com/junegunn/fzf), [fd](https://github.com/sharkdp/fd), [ripgrep](https://github.com/BurntSushi/ripgrep), [atool](http://www.nongnu.org/atool/), [rsync](https://rsync.samba.org/), [bottom](https://github.com/clementtsang/bottom), [hyperfine](https://github.com/sharkdp/hyperfine), [delta](https://github.com/dandavison/delta), [bat](https://github.com/sharkdp/bat), [glow](https://github.com/charmbracelet/glow) / [mdcat](https://github.com/lunaryorn/mdcat) / [mdr](https://github.com/MichaelMure/mdr), [exa](https://github.com/ogham/exa), [pandoc](https://github.com/jgm/pandoc), [csview](https://github.com/wfxr/csview), [libsixel](https://github.com/saitoha/libsixel), [buku](https://github.com/jarun/buku), [jq](https://github.com/stedolan/jq), sysstat, psmisc, wireless_tools, tree
|
- **CLI/TUI for other things:** [tt](https://github.com/runrin/tt), [forgit](https://github.com/wfxr/forgit), [borg](https://github.com/borgbackup/borg), [wendy](https://git.z3bra.org/wendy/log.html), [tokei](https://github.com/XAMPPRocky/tokei), [onefetch](https://github.com/o2sh/onefetch), [calcurse](https://github.com/lfos/calcurse), [qalculate](https://github.com/Qalculate/libqalculate), [fzf](https://github.com/junegunn/fzf), [fd](https://github.com/sharkdp/fd), [ripgrep](https://github.com/BurntSushi/ripgrep), [atool](http://www.nongnu.org/atool/), [rsync](https://rsync.samba.org/), [bottom](https://github.com/clementtsang/bottom), [hyperfine](https://github.com/sharkdp/hyperfine), [delta](https://github.com/dandavison/delta), [bat](https://github.com/sharkdp/bat), [glow](https://github.com/charmbracelet/glow) / [mdcat](https://github.com/lunaryorn/mdcat) / [mdr](https://github.com/MichaelMure/mdr), [exa](https://github.com/ogham/exa), [pandoc](https://github.com/jgm/pandoc), [csview](https://github.com/wfxr/csview), [libsixel](https://github.com/saitoha/libsixel), [buku](https://github.com/jarun/buku), [jq](https://github.com/stedolan/jq), [zoxide](https://github.com/ajeetdsouza/zoxide) / [z.lua](https://github.com/skywind3000/z.lua), sysstat, psmisc, wireless_tools, tree
|
||||||
- **Selfhosted service:** [LibreTranslate](https://github.com/uav4geo/LibreTranslate), [searx](https://github.com/searx/searx), [yacy](https://github.com/yacy/yacy_search_server), [synapse](https://github.com/matrix-org/synapse), [mastodon](https://github.com/tootsuite/mastodon), [gitea](https://gitea.io/)
|
- **Selfhosted service:** [LibreTranslate](https://github.com/uav4geo/LibreTranslate), [searx](https://github.com/searx/searx), [yacy](https://github.com/yacy/yacy_search_server), [synapse](https://github.com/matrix-org/synapse), [mastodon](https://github.com/tootsuite/mastodon), [gitea](https://gitea.io/)
|
||||||
|
|
||||||
> `Emacs` deserves its own set of dependencies listed, but I'm lazy -> Check my Doom config for details
|
> `Emacs` deserves its own set of dependencies listed, but I'm lazy -> Check my Doom config for details
|
||||||
|
|
|
@ -74,14 +74,19 @@ export QT_QPA_PLATFORMTHEME=qt5ct
|
||||||
export QT_PLATFORM_PLUGIN=qt5ct
|
export QT_PLATFORM_PLUGIN=qt5ct
|
||||||
# .NET
|
# .NET
|
||||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||||
|
# zoxide
|
||||||
|
export _ZO_DATA_DIR="$HOME/.local/share/zoxide"
|
||||||
|
export _ZO_ECHO=1
|
||||||
|
export _ZO_FZF_OPTS="--no-multi"
|
||||||
|
export _ZO_RESOLVE_SYMLINKS=1
|
||||||
# z.lua
|
# z.lua
|
||||||
export _ZL_DATA="$HOME/.local/share/zlua/zlua"
|
# export _ZL_DATA="$HOME/.local/share/zlua/zlua"
|
||||||
export _ZL_HYPHEN=1
|
# export _ZL_HYPHEN=1
|
||||||
export _ZL_MATCH_MODE=1
|
# export _ZL_MATCH_MODE=1
|
||||||
export _ZL_FZF_FLAG="-e"
|
# export _ZL_FZF_FLAG="-e"
|
||||||
export _ZL_INT_SORT=1
|
# export _ZL_INT_SORT=1
|
||||||
export _ZL_ROOT_MARKERS=".git,.svn,.hg,.root,package.json,.projectile,.pro"
|
# export _ZL_ROOT_MARKERS=".git,.svn,.hg,.root,package.json,.projectile,.pro"
|
||||||
export RANGER_ZLUA="$HOME/.local/share/bash/z.lua"
|
# export RANGER_ZLUA="$HOME/.local/share/bash/z.lua"
|
||||||
# Basher
|
# Basher
|
||||||
export BASHER_ROOT="$HOME/.local/share/bash/basher"
|
export BASHER_ROOT="$HOME/.local/share/bash/basher"
|
||||||
# nodenv
|
# nodenv
|
||||||
|
@ -380,7 +385,7 @@ alias mkdir="mkdir -pv"
|
||||||
alias no="grep -viP"
|
alias no="grep -viP"
|
||||||
alias wttr="curl wttr.in"
|
alias wttr="curl wttr.in"
|
||||||
alias myip="curl ipinfo.io/geo"
|
alias myip="curl ipinfo.io/geo"
|
||||||
alias latest_pkg="expac --timefmt='%Y-%m-%d %T' '%l\t%n' | sort | tail -n 30"
|
# alias latest_pkg="expac --timefmt='%Y-%m-%d %T' '%l\t%n' | sort | tail -n 30"
|
||||||
alias yarn="yarn --use-yarnrc $XDG_CONFIG_HOME/yarn/config"
|
alias yarn="yarn --use-yarnrc $XDG_CONFIG_HOME/yarn/config"
|
||||||
alias tmux="TERM=screen-256color tmux"
|
alias tmux="TERM=screen-256color tmux"
|
||||||
alias catc="bat --style plain --color=always"
|
alias catc="bat --style plain --color=always"
|
||||||
|
@ -408,14 +413,6 @@ alias yoump3="youtube-dl --extract-audio --audio-format mp3 --embed-thumbnail"
|
||||||
alias youflac="youtube-dl --extract-audio --audio-format flac"
|
alias youflac="youtube-dl --extract-audio --audio-format flac"
|
||||||
alias youbest="youtube-dl -f bestvideo+bestaudio"
|
alias youbest="youtube-dl -f bestvideo+bestaudio"
|
||||||
alias youlist="youtube-dl -f bestvideo+bestaudio --yes-playlist"
|
alias youlist="youtube-dl -f bestvideo+bestaudio --yes-playlist"
|
||||||
# z.lua
|
|
||||||
alias zz='z -c' # restrict matches to subdirs of $PWD
|
|
||||||
alias zi='z -i' # cd with interactive selection
|
|
||||||
alias zf='z -I' # use fzf to select in multiple matches
|
|
||||||
alias zb='z -b' # quickly cd to the parent directory
|
|
||||||
# nnn
|
|
||||||
alias nnn="nnn -Hc"
|
|
||||||
alias ncp="cat ${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection} | tr '\0' '\n'"
|
|
||||||
|
|
||||||
# Lazy cd-ing
|
# Lazy cd-ing
|
||||||
alias ..='cd ..'
|
alias ..='cd ..'
|
||||||
|
@ -528,40 +525,44 @@ basherpacks_update() {
|
||||||
}
|
}
|
||||||
|
|
||||||
# nnn with cd on quit
|
# nnn with cd on quit
|
||||||
n ()
|
if command -v nnn >/dev/null; then
|
||||||
{
|
alias nnn="nnn -Hc"
|
||||||
# Block nesting of nnn in subshells
|
alias ncp="cat ${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection} | tr '\0' '\n'"
|
||||||
if [[ -n $NNNLVL ]] && [ "${NNNLVL:-0}" -ge 1 ]; then
|
|
||||||
echo "nnn is already running"
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
# The default behaviour is to cd on quit (nnn checks if NNN_TMPFILE is set)
|
n () {
|
||||||
# To cd on quit only on ^G, remove the "export" as in:
|
# Block nesting of nnn in subshells
|
||||||
# NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
|
if [[ -n $NNNLVL ]] && [ "${NNNLVL:-0}" -ge 1 ]; then
|
||||||
# NOTE: NNN_TMPFILE is fixed, should not be modified
|
echo "nnn is already running"
|
||||||
export NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
# Unmask ^Q (, ^V etc.) (if required, see `stty -a`) to Quit nnn
|
# The default behaviour is to cd on quit (nnn checks if NNN_TMPFILE is set)
|
||||||
# stty start undef
|
# To cd on quit only on ^G, remove the "export" as in:
|
||||||
# stty stop undef
|
# NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
|
||||||
# stty lwrap undef
|
# NOTE: NNN_TMPFILE is fixed, should not be modified
|
||||||
# stty lnext undef
|
export NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
|
||||||
|
|
||||||
nnn "$@"
|
# Unmask ^Q (, ^V etc.) (if required, see `stty -a`) to Quit nnn
|
||||||
|
# stty start undef
|
||||||
|
# stty stop undef
|
||||||
|
# stty lwrap undef
|
||||||
|
# stty lnext undef
|
||||||
|
|
||||||
if [ -f "$NNN_TMPFILE" ]; then
|
nnn "$@"
|
||||||
. "$NNN_TMPFILE"
|
|
||||||
rm -f "$NNN_TMPFILE" > /dev/null
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# nnn in dual pane mode (tmux)
|
if [ -f "$NNN_TMPFILE" ]; then
|
||||||
n2() {
|
. "$NNN_TMPFILE"
|
||||||
tmux new-session -d -s nnn -n nnn "nnn -Hc"
|
rm -f "$NNN_TMPFILE" > /dev/null
|
||||||
tmux split-window -h "nnn -Hc"
|
fi
|
||||||
TERM=screen-256color tmux attach -t nnn:nnn
|
}
|
||||||
}
|
|
||||||
|
# nnn in dual pane mode (tmux)
|
||||||
|
n2() {
|
||||||
|
tmux new-session -d -s nnn -n nnn "nnn -Hc"
|
||||||
|
tmux split-window -h "nnn -Hc"
|
||||||
|
TERM=screen-256color tmux attach -t nnn:nnn
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
# typing speed testing
|
# typing speed testing
|
||||||
tt() {
|
tt() {
|
||||||
|
@ -605,18 +606,22 @@ mkdir -p "$BASH_COMPLETION_USER_DIR/completions"
|
||||||
if command -v gh >/dev/null && [ ! -f "$BASH_COMPLETION_USER_DIR/completions/gh" ]; then
|
if command -v gh >/dev/null && [ ! -f "$BASH_COMPLETION_USER_DIR/completions/gh" ]; then
|
||||||
gh completion -s bash > "$BASH_COMPLETION_USER_DIR/completions/gh"
|
gh completion -s bash > "$BASH_COMPLETION_USER_DIR/completions/gh"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# kitten from kitty
|
# kitten from kitty
|
||||||
if command -v kitty > /dev/null; then
|
if command -v kitty > /dev/null; then
|
||||||
source <(kitty + complete setup bash)
|
source <(kitty + complete setup bash)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Starship prompt
|
# Starship prompt
|
||||||
if command -v starship > /dev/null; then
|
if command -v starship > /dev/null; then
|
||||||
eval "$(starship init bash --print-full-init)"
|
eval "$(starship init bash --print-full-init)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# direnv
|
# direnv
|
||||||
if command -v direnv >/dev/null ; then
|
if command -v direnv >/dev/null ; then
|
||||||
eval "$(direnv hook bash)"
|
eval "$(direnv hook bash)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# poetry
|
# poetry
|
||||||
# if [ ! -d "$POETRY_HOME" ]; then
|
# if [ ! -d "$POETRY_HOME" ]; then
|
||||||
# curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
|
# curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
|
||||||
|
@ -624,6 +629,7 @@ fi
|
||||||
# if [[ ! -f $BASH_COMPLETION_USER_DIR/completions/poetry ]]; then
|
# if [[ ! -f $BASH_COMPLETION_USER_DIR/completions/poetry ]]; then
|
||||||
# poetry completions bash > "$BASH_COMPLETION_USER_DIR/completions/poetry"
|
# poetry completions bash > "$BASH_COMPLETION_USER_DIR/completions/poetry"
|
||||||
# fi
|
# fi
|
||||||
|
|
||||||
# pyenv
|
# pyenv
|
||||||
# if [[ ! -d $PYENV_ROOT ]]; then
|
# if [[ ! -d $PYENV_ROOT ]]; then
|
||||||
# git clone https://github.com/pyenv/pyenv.git $PYENV_ROOT
|
# git clone https://github.com/pyenv/pyenv.git $PYENV_ROOT
|
||||||
|
@ -632,6 +638,7 @@ fi
|
||||||
# fi
|
# fi
|
||||||
# eval "$(pyenv init -)"
|
# eval "$(pyenv init -)"
|
||||||
# eval "$(pyenv virtualenv-init -)"
|
# eval "$(pyenv virtualenv-init -)"
|
||||||
|
|
||||||
# nodenv
|
# nodenv
|
||||||
# if [[ ! -d $NODENV_ROOT ]]; then
|
# if [[ ! -d $NODENV_ROOT ]]; then
|
||||||
# git clone https://github.com/nodenv/nodenv.git $NODENV_ROOT
|
# git clone https://github.com/nodenv/nodenv.git $NODENV_ROOT
|
||||||
|
@ -645,12 +652,35 @@ fi
|
||||||
# git clone https://github.com/nodenv/nodenv-vars.git $NODENV_ROOT/plugins/nodenv-vars
|
# git clone https://github.com/nodenv/nodenv-vars.git $NODENV_ROOT/plugins/nodenv-vars
|
||||||
# fi
|
# fi
|
||||||
# eval "$(nodenv init -)"
|
# eval "$(nodenv init -)"
|
||||||
|
|
||||||
# z.lua
|
# z.lua
|
||||||
if [[ ! -f "$HOME/.local/share/bash/z.lua" ]]; then
|
# if [[ ! -f "$HOME/.local/share/bash/z.lua" ]]; then
|
||||||
curl -sfLo $HOME/.local/share/bash/z.lua https://raw.githubusercontent.com/skywind3000/z.lua/master/z.lua
|
# curl -fLo $HOME/.local/share/bash/z.lua https://raw.githubusercontent.com/skywind3000/z.lua/master/z.lua
|
||||||
mkdir -p $HOME/.local/share/zlua
|
# mkdir -p $HOME/.local/share/zlua
|
||||||
|
# fi
|
||||||
|
# eval "$(lua $HOME/.local/share/bash/z.lua --init bash fzf)"
|
||||||
|
# if command -v ranger >/dev/null; then
|
||||||
|
# if [ ! -f "$HOME/.config/ranger/plugins/ranger_zlua.py" ]; then
|
||||||
|
# curl -fLo $HOME/.config/ranger/plugins/ranger_zlua.py https://github.com/skywind3000/z.lua/raw/master/ranger_zlua.py
|
||||||
|
# chmod 755 $HOME/.config/ranger/plugins/ranger_zlua.py
|
||||||
|
# fi
|
||||||
|
# fi
|
||||||
|
# alias zz='z -c' # restrict matches to subdirs of $PWD
|
||||||
|
# alias zi='z -i' # cd with interactive selection
|
||||||
|
# alias zf='z -I' # use fzf to select in multiple matches
|
||||||
|
# alias zb='z -b' # quickly cd to the parent directory
|
||||||
|
|
||||||
|
# zoxide
|
||||||
|
if command -v zoxide >/dev/null; then
|
||||||
|
eval "$(zoxide init bash)"
|
||||||
|
if command -v ranger >/dev/null; then
|
||||||
|
if [ ! -f "$HOME/.config/ranger/plugins/ranger_zoxide.py" ]; then
|
||||||
|
curl -fLo $HOME/.config/ranger/plugins/ranger_zoxide.py https://github.com/ajeetdsouza/zoxide/raw/master/contrib/ranger.py
|
||||||
|
chmod 755 $HOME/.config/ranger/plugins/ranger_zoxide.py
|
||||||
|
fi
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
eval "$(lua $HOME/.local/share/bash/z.lua --init bash fzf)"
|
|
||||||
# autostart gpg-agent at login
|
# autostart gpg-agent at login
|
||||||
if ! pgrep -u "$USER" gpg-agent >/dev/null; then
|
if ! pgrep -u "$USER" gpg-agent >/dev/null; then
|
||||||
gpg-agent --daemon --enable-ssh-support >/dev/null
|
gpg-agent --daemon --enable-ssh-support >/dev/null
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
;; Font settings
|
;; Font settings
|
||||||
(setq doom-font (font-spec :family "Iosevka" :size 16)
|
(setq doom-font (font-spec :family "Iosevka" :size 16)
|
||||||
doom-variable-pitch-font (font-spec :family "sans" :size 16)
|
doom-variable-pitch-font (font-spec :family "Iosevka Aile" :size 16)
|
||||||
doom-big-font (font-spec :family "Iosevka" :size 24))
|
doom-big-font (font-spec :family "Iosevka" :size 24))
|
||||||
;;(setq inhibit-compacting-font-caches t)
|
;;(setq inhibit-compacting-font-caches t)
|
||||||
(custom-set-faces!
|
(custom-set-faces!
|
||||||
|
@ -74,8 +74,7 @@
|
||||||
|
|
||||||
;; Use ranger.el instead of default dired
|
;; Use ranger.el instead of default dired
|
||||||
(after! ranger
|
(after! ranger
|
||||||
(setq ranger-override-dired-mode t
|
(setq ranger-parent-depth 0
|
||||||
ranger-parent-depth 0
|
|
||||||
ranger-cleanup-eagerly t
|
ranger-cleanup-eagerly t
|
||||||
ranger-show-hidden t
|
ranger-show-hidden t
|
||||||
ranger-max-preview-size 20
|
ranger-max-preview-size 20
|
||||||
|
|
|
@ -36,8 +36,8 @@
|
||||||
doom-quit ; DOOM quit-message prompts when you quit Emacs
|
doom-quit ; DOOM quit-message prompts when you quit Emacs
|
||||||
(emoji ; :)
|
(emoji ; :)
|
||||||
+unicode
|
+unicode
|
||||||
+github
|
;;+ascii
|
||||||
+ascii)
|
+github)
|
||||||
;;fill-column ; a `fill-column' indicator
|
;;fill-column ; a `fill-column' indicator
|
||||||
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
||||||
;;hydra
|
;;hydra
|
||||||
|
|
|
@ -17,7 +17,7 @@ alias mv='mv -vi'
|
||||||
alias rm='rm -vr'
|
alias rm='rm -vr'
|
||||||
alias mkdir='mkdir -pv'
|
alias mkdir='mkdir -pv'
|
||||||
abbr no 'grep -viP'
|
abbr no 'grep -viP'
|
||||||
abbr latest_pkg "expac --timefmt='%Y-%m-%d %T' '%l\t%n' | sort | tail -n 30"
|
# abbr latest_pkg "expac --timefmt='%Y-%m-%d %T' '%l\t%n' | sort | tail -n 30"
|
||||||
alias yarn='yarn --use-yarnrc $HOME/.config/yarn/config'
|
alias yarn='yarn --use-yarnrc $HOME/.config/yarn/config'
|
||||||
abbr tmux 'TERM=screen-256color command tmux'
|
abbr tmux 'TERM=screen-256color command tmux'
|
||||||
alias catc='bat --style plain --color=always'
|
alias catc='bat --style plain --color=always'
|
||||||
|
@ -47,13 +47,6 @@ abbr youlist 'youtube-dl -f bestvideo+bestaudio --yes-playlist'
|
||||||
# nnn
|
# nnn
|
||||||
abbr nnn 'nnn -Hc'
|
abbr nnn 'nnn -Hc'
|
||||||
alias ncp="cat $XDG_CONFIG_HOME/nnn/.selection | tr '\0' '\n'"
|
alias ncp="cat $XDG_CONFIG_HOME/nnn/.selection | tr '\0' '\n'"
|
||||||
# zlua
|
|
||||||
alias zc='z -c' # restrict matches to subdirs of $PWD
|
|
||||||
alias zz='z -i' # cd with interactive selection
|
|
||||||
alias zf='z -I' # use fzf to select in multiple matches
|
|
||||||
alias zb='z -b' # quickly cd to the parent directory
|
|
||||||
alias zbi='z -b -i' # interactive jump backward
|
|
||||||
alias zbf='z -b -I' # interactive jump backward with fzf
|
|
||||||
|
|
||||||
# Lazy cd-ing
|
# Lazy cd-ing
|
||||||
function .. ; cd .. ; end
|
function .. ; cd .. ; end
|
||||||
|
|
|
@ -12,7 +12,7 @@ set -g fish_cursor_visual block
|
||||||
set -g fish_vi_force_cursor
|
set -g fish_vi_force_cursor
|
||||||
|
|
||||||
# no greeting
|
# no greeting
|
||||||
set -g fish_greeting
|
# set -g fish_greeting
|
||||||
|
|
||||||
# XDG thingy
|
# XDG thingy
|
||||||
set -gx XDG_CONFIG_HOME $HOME/.config
|
set -gx XDG_CONFIG_HOME $HOME/.config
|
||||||
|
@ -86,14 +86,19 @@ set -gx NODENV_ROOT $XDG_DATA_HOME/nodenv
|
||||||
set -gx PYENV_ROOT $XDG_DATA_HOME/pyenv
|
set -gx PYENV_ROOT $XDG_DATA_HOME/pyenv
|
||||||
# poetry
|
# poetry
|
||||||
set -gx POETRY_HOME $XDG_DATA_HOME/poetry
|
set -gx POETRY_HOME $XDG_DATA_HOME/poetry
|
||||||
|
# zoxide
|
||||||
|
set -gx _ZO_DATA_DIR $HOME/.local/share/zoxide
|
||||||
|
set -gx _ZO_ECHO 1
|
||||||
|
set -gx _ZO_FZF_OPTS "--no-multi"
|
||||||
|
set -gx _ZO_RESOLVE_SYMLINKS 1
|
||||||
# z.lua
|
# z.lua
|
||||||
set -gx _ZL_DATA $HOME/.local/share/zlua/zlua
|
# set -gx _ZL_DATA $HOME/.local/share/zlua/zlua
|
||||||
set -gx _ZL_HYPHEN 1
|
# set -gx _ZL_HYPHEN 1
|
||||||
set -gx _ZL_MATCH_MODE 1
|
# set -gx _ZL_MATCH_MODE 1
|
||||||
set -gx _ZL_FZF_FLAG '-e'
|
# set -gx _ZL_FZF_FLAG '-e'
|
||||||
set -gx _ZL_INT_SORT 1
|
# set -gx _ZL_INT_SORT 1
|
||||||
set -gx _ZL_ROOT_MARKERS ".git,.svn,.hg,.root,package.json,.projectile,.pro"
|
# set -gx _ZL_ROOT_MARKERS ".git,.svn,.hg,.root,package.json,.projectile,.pro"
|
||||||
set -gx RANGER_ZLUA $HOME/.config/fish/z.lua
|
# set -gx RANGER_ZLUA $HOME/.config/fish/z.lua
|
||||||
# nnn
|
# nnn
|
||||||
if command -v nnn >/dev/null
|
if command -v nnn >/dev/null
|
||||||
set -gx TERMINAL alacritty
|
set -gx TERMINAL alacritty
|
||||||
|
|
|
@ -54,13 +54,36 @@ fish_vi_key_bindings
|
||||||
|
|
||||||
# fzf
|
# fzf
|
||||||
if not test -f "$HOME/.config/fish/functions/fzf_key_bindings.fish"
|
if not test -f "$HOME/.config/fish/functions/fzf_key_bindings.fish"
|
||||||
curl -sfLo $HOME/.config/fish/functions/fzf_key_bindings.fish https://raw.githubusercontent.com/junegunn/fzf/master/shell/key-bindings.fish
|
curl -fLo $HOME/.config/fish/functions/fzf_key_bindings.fish https://raw.githubusercontent.com/junegunn/fzf/master/shell/key-bindings.fish
|
||||||
end
|
end
|
||||||
fzf_key_bindings
|
fzf_key_bindings
|
||||||
|
|
||||||
# z.lua
|
# z.lua
|
||||||
if not test -f "$HOME/.config/fish/z.lua"
|
# if not test -f "$HOME/.config/fish/z.lua"
|
||||||
curl -sfLo $HOME/.config/fish/z.lua https://raw.githubusercontent.com/skywind3000/z.lua/master/z.lua
|
# curl -fLo $HOME/.config/fish/z.lua https://raw.githubusercontent.com/skywind3000/z.lua/master/z.lua
|
||||||
mkdir -p $HOME/.local/share/zlua
|
# mkdir -p $HOME/.local/share/zlua
|
||||||
|
# end
|
||||||
|
# lua $HOME/.config/fish/z.lua --init fish | source
|
||||||
|
# if command -v ranger >/dev/null
|
||||||
|
# if not test -f "$HOME/.config/ranger/plugins/ranger_zlua.py"
|
||||||
|
# curl -fLo $HOME/.config/ranger/plugins/ranger_zlua.py https://github.com/skywind3000/z.lua/raw/master/ranger_zlua.py
|
||||||
|
# chmod 755 $HOME/.config/ranger/plugins/ranger_zlua.py
|
||||||
|
# end
|
||||||
|
# end
|
||||||
|
# alias zc='z -c' # restrict matches to subdirs of $PWD
|
||||||
|
# alias zz='z -i' # cd with interactive selection
|
||||||
|
# alias zf='z -I' # use fzf to select in multiple matches
|
||||||
|
# alias zb='z -b' # quickly cd to the parent directory
|
||||||
|
# alias zbi='z -b -i' # interactive jump backward
|
||||||
|
# alias zbf='z -b -I' # interactive jump backward with fzf
|
||||||
|
|
||||||
|
# zoxide
|
||||||
|
if command -v zoxide >/dev/null
|
||||||
|
zoxide init fish | source
|
||||||
|
if command -v ranger >/dev/null
|
||||||
|
if not test -f "$HOME/.config/ranger/plugins/ranger_zoxide.py"
|
||||||
|
curl -fLo $HOME/.config/ranger/plugins/ranger_zoxide.py https://github.com/ajeetdsouza/zoxide/raw/master/contrib/ranger.py
|
||||||
|
chmod 755 $HOME/.config/ranger/plugins/ranger_zoxide.py
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
lua $HOME/.config/fish/z.lua --init fish | source
|
|
||||||
|
|
|
@ -1,87 +0,0 @@
|
||||||
import time, sys, os
|
|
||||||
import ranger.api
|
|
||||||
import subprocess
|
|
||||||
|
|
||||||
old_hook_init = ranger.api.hook_init
|
|
||||||
|
|
||||||
PATH_LUA = os.environ.get('RANGER_LUA')
|
|
||||||
PATH_ZLUA = os.environ.get('RANGER_ZLUA')
|
|
||||||
|
|
||||||
if not PATH_LUA:
|
|
||||||
for path in os.environ.get('PATH', '').split(os.path.pathsep):
|
|
||||||
for name in ('lua', 'luajit', 'lua5.3', 'lua5.2', 'lua5.1'):
|
|
||||||
test = os.path.join(path, name)
|
|
||||||
test = test + (sys.platform[:3] == 'win' and ".exe" or "")
|
|
||||||
if os.path.exists(test):
|
|
||||||
PATH_LUA = test
|
|
||||||
break
|
|
||||||
|
|
||||||
if not PATH_LUA:
|
|
||||||
sys.stderr.write('Please install lua or set $RANGER_LUA.\n')
|
|
||||||
sys.exit()
|
|
||||||
|
|
||||||
if (not PATH_ZLUA) or (not os.path.exists(PATH_ZLUA)):
|
|
||||||
sys.stderr.write('Not find z.lua, please set $RANGER_ZLUA to absolute path of z.lua.\n')
|
|
||||||
sys.exit()
|
|
||||||
|
|
||||||
|
|
||||||
def hook_init(fm):
|
|
||||||
def update_zlua(signal):
|
|
||||||
import os, random
|
|
||||||
os.environ['_ZL_RANDOM'] = str(random.randint(0, 0x7fffffff))
|
|
||||||
p = subprocess.Popen([PATH_LUA, PATH_ZLUA, "--add", signal.new.path])
|
|
||||||
p.wait()
|
|
||||||
if PATH_ZLUA and PATH_LUA and os.path.exists(PATH_ZLUA):
|
|
||||||
fm.signal_bind('cd', update_zlua)
|
|
||||||
return old_hook_init(fm)
|
|
||||||
|
|
||||||
ranger.api.hook_init = hook_init
|
|
||||||
|
|
||||||
class z(ranger.api.commands.Command):
|
|
||||||
def execute (self):
|
|
||||||
import sys, os, time
|
|
||||||
args = self.args[1:]
|
|
||||||
if args:
|
|
||||||
mode = ''
|
|
||||||
for arg in args:
|
|
||||||
if arg in ('-l', '-e', '-x', '-h', '--help', '--'):
|
|
||||||
mode = arg
|
|
||||||
break
|
|
||||||
elif arg in ('-I', '-i'):
|
|
||||||
mode = arg
|
|
||||||
elif arg[:1] != '-':
|
|
||||||
break
|
|
||||||
if mode:
|
|
||||||
cmd = '"%s" "%s" '%(PATH_LUA, PATH_ZLUA)
|
|
||||||
if mode in ('-I', '-i', '--'):
|
|
||||||
cmd += ' --cd'
|
|
||||||
for arg in args:
|
|
||||||
cmd += ' "%s"'%arg
|
|
||||||
if mode in ('-e', '-x'):
|
|
||||||
path = subprocess.check_output([PATH_LUA, PATH_ZLUA, '--cd'] + args)
|
|
||||||
path = path.decode("utf-8", "ignore")
|
|
||||||
path = path.rstrip('\n')
|
|
||||||
self.fm.notify(path)
|
|
||||||
elif mode in ('-h', '-l', '--help'):
|
|
||||||
p = self.fm.execute_command(cmd + '| less +G', universal_newlines=True)
|
|
||||||
stdout, stderr = p.communicate()
|
|
||||||
elif mode == '--':
|
|
||||||
p = self.fm.execute_command(cmd + ' 2>&1 | less +G', universal_newlines=True)
|
|
||||||
stdout, stderr = p.communicate()
|
|
||||||
else:
|
|
||||||
p = self.fm.execute_command(cmd, universal_newlines=True, stdout=subprocess.PIPE)
|
|
||||||
stdout, stderr = p.communicate()
|
|
||||||
path = stdout.rstrip('\n')
|
|
||||||
self.fm.execute_console('redraw_window')
|
|
||||||
if path and os.path.exists(path):
|
|
||||||
self.fm.cd(path)
|
|
||||||
else:
|
|
||||||
path = subprocess.check_output([PATH_LUA, PATH_ZLUA, '--cd'] + args)
|
|
||||||
path = path.decode("utf-8", "ignore")
|
|
||||||
path = path.rstrip('\n')
|
|
||||||
if path and os.path.exists(path):
|
|
||||||
self.fm.cd(path)
|
|
||||||
else:
|
|
||||||
self.fm.notify('No matching found', bad = True)
|
|
||||||
return True
|
|
||||||
|
|
|
@ -76,6 +76,11 @@ export NODENV_ROOT=$XDG_DATA_HOME/nodenv
|
||||||
export PYENV_ROOT=$XDG_DATA_HOME/pyenv
|
export PYENV_ROOT=$XDG_DATA_HOME/pyenv
|
||||||
# poetry
|
# poetry
|
||||||
export POETRY_HOME=$XDG_DATA_HOME/poetry
|
export POETRY_HOME=$XDG_DATA_HOME/poetry
|
||||||
|
# zoxide
|
||||||
|
export _ZO_DATA_DIR="$HOME/.local/share/zoxide"
|
||||||
|
export _ZO_ECHO=1
|
||||||
|
export _ZO_FZF_OPTS="--no-multi"
|
||||||
|
export _ZO_RESOLVE_SYMLINKS=1
|
||||||
# nnn
|
# nnn
|
||||||
if command -v nnn >/dev/null
|
if command -v nnn >/dev/null
|
||||||
then
|
then
|
||||||
|
@ -368,13 +373,13 @@ export ZSH_PLUGINS_ALIAS_TIPS_TEXT="💡 => "
|
||||||
export ZSH_AUTOSUGGEST_STRATEGY=(history completion)
|
export ZSH_AUTOSUGGEST_STRATEGY=(history completion)
|
||||||
export ZSH_AUTOSUGGEST_USE_ASYNC=1
|
export ZSH_AUTOSUGGEST_USE_ASYNC=1
|
||||||
# z.lua
|
# z.lua
|
||||||
export _ZL_DATA="$HOME/.local/share/zlua/zlua"
|
# export _ZL_DATA="$HOME/.local/share/zlua/zlua"
|
||||||
export _ZL_HYPHEN=1
|
# export _ZL_HYPHEN=1
|
||||||
export _ZL_MATCH_MODE=1
|
# export _ZL_MATCH_MODE=1
|
||||||
export _ZL_FZF_FLAG="-e"
|
# export _ZL_FZF_FLAG="-e"
|
||||||
export _ZL_INT_SORT=1
|
# export _ZL_INT_SORT=1
|
||||||
export _ZL_ROOT_MARKERS=".git,.svn,.hg,.root,package.json,.projectile,.pro"
|
# export _ZL_ROOT_MARKERS=".git,.svn,.hg,.root,package.json,.projectile,.pro"
|
||||||
export RANGER_ZLUA="$HOME/.local/share/zsh/zinit/plugins/skywind3000---z.lua/z.lua"
|
# export RANGER_ZLUA="$HOME/.local/share/zsh/zinit/plugins/skywind3000---z.lua/z.lua"
|
||||||
# zsh-abbr
|
# zsh-abbr
|
||||||
export ABBR_USER_ABBREVIATIONS_FILE="$HOME/.local/share/zsh/abbreviations"
|
export ABBR_USER_ABBREVIATIONS_FILE="$HOME/.local/share/zsh/abbreviations"
|
||||||
# gencomp
|
# gencomp
|
||||||
|
|
|
@ -40,6 +40,17 @@ if command -v direnv > /dev/null; then
|
||||||
eval "$(direnv hook zsh)"
|
eval "$(direnv hook zsh)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# zoxide
|
||||||
|
if command -v zoxide >/dev/null; then
|
||||||
|
eval "$(zoxide init zsh)"
|
||||||
|
if command -v ranger >/dev/null; then
|
||||||
|
if [ ! -f "$HOME/.config/ranger/plugins/ranger_zoxide.py" ]; then
|
||||||
|
curl -fLo $HOME/.config/ranger/plugins/ranger_zoxide.py https://github.com/ajeetdsouza/zoxide/raw/master/contrib/ranger.py
|
||||||
|
chmod 755 $HOME/.config/ranger/plugins/ranger_zoxide.py
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# poetry
|
# poetry
|
||||||
# if [ ! -d $POETRY_HOME ]; then
|
# if [ ! -d $POETRY_HOME ]; then
|
||||||
# curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
|
# curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
|
||||||
|
@ -150,8 +161,14 @@ zinit light unixorn/git-extra-commands
|
||||||
zinit light olets/zsh-abbr
|
zinit light olets/zsh-abbr
|
||||||
# zinit light djui/alias-tips
|
# zinit light djui/alias-tips
|
||||||
|
|
||||||
# cd around faster
|
# cd around faster with zlua
|
||||||
zinit light skywind3000/z.lua
|
# zinit light skywind3000/z.lua
|
||||||
|
# if command -v ranger >/dev/null; then
|
||||||
|
# if [ ! -f "$HOME/.config/ranger/plugins/ranger_zlua.py" ]; then
|
||||||
|
# curl -fLo $HOME/.config/ranger/plugins/ranger_zlua.py https://github.com/skywind3000/z.lua/raw/master/ranger_zlua.py
|
||||||
|
# chmod 755 $HOME/.config/ranger/plugins/ranger_zlua.py
|
||||||
|
# fi
|
||||||
|
# fi
|
||||||
|
|
||||||
# Plugins' configurations
|
# Plugins' configurations
|
||||||
source $ZDOTDIR/plugins.zsh
|
source $ZDOTDIR/plugins.zsh
|
||||||
|
|
|
@ -12,7 +12,7 @@ alias rm="rm -vr"
|
||||||
alias mkdir="mkdir -pv"
|
alias mkdir="mkdir -pv"
|
||||||
alias no="grep -viP"
|
alias no="grep -viP"
|
||||||
alias wttr="curl wttr.in"
|
alias wttr="curl wttr.in"
|
||||||
alias latest_pkg="expac --timefmt='%Y-%m-%d %T' '%l\t%n' | sort | tail -n 30"
|
# alias latest_pkg="expac --timefmt='%Y-%m-%d %T' '%l\t%n' | sort | tail -n 30"
|
||||||
alias yarn="yarn --use-yarnrc $HOME/.config/yarn/config"
|
alias yarn="yarn --use-yarnrc $HOME/.config/yarn/config"
|
||||||
alias tmux="TERM=screen-256color tmux"
|
alias tmux="TERM=screen-256color tmux"
|
||||||
alias catc="bat --style plain --color=always"
|
alias catc="bat --style plain --color=always"
|
||||||
|
@ -39,9 +39,6 @@ alias yoump3="youtube-dl --extract-audio --audio-format mp3 --embed-thumbnail"
|
||||||
alias youflac="youtube-dl --extract-audio --audio-format flac"
|
alias youflac="youtube-dl --extract-audio --audio-format flac"
|
||||||
alias youbest="youtube-dl -f bestvideo+bestaudio"
|
alias youbest="youtube-dl -f bestvideo+bestaudio"
|
||||||
alias youlist="youtube-dl -f bestvideo+bestaudio --yes-playlist"
|
alias youlist="youtube-dl -f bestvideo+bestaudio --yes-playlist"
|
||||||
# nnn
|
|
||||||
alias nnn="nnn -Hc"
|
|
||||||
alias ncp="cat ${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection} | tr '\0' '\n'"
|
|
||||||
|
|
||||||
# Lazy cd-ing
|
# Lazy cd-ing
|
||||||
alias ..='cd ..'
|
alias ..='cd ..'
|
||||||
|
@ -66,40 +63,44 @@ zman() {
|
||||||
}
|
}
|
||||||
|
|
||||||
# nnn with cd on quit
|
# nnn with cd on quit
|
||||||
n ()
|
if command -v nnn >/dev/null; then
|
||||||
{
|
alias nnn="nnn -Hc"
|
||||||
# Block nesting of nnn in subshells
|
alias ncp="cat ${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection} | tr '\0' '\n'"
|
||||||
if [ -n $NNNLVL ] && [ "${NNNLVL:-0}" -ge 1 ]; then
|
|
||||||
echo "nnn is already running"
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
# The default behaviour is to cd on quit (nnn checks if NNN_TMPFILE is set)
|
n () {
|
||||||
# To cd on quit only on ^G, remove the "export" as in:
|
# Block nesting of nnn in subshells
|
||||||
# NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
|
if [ -n $NNNLVL ] && [ "${NNNLVL:-0}" -ge 1 ]; then
|
||||||
# NOTE: NNN_TMPFILE is fixed, should not be modified
|
echo "nnn is already running"
|
||||||
export NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
# Unmask ^Q (, ^V etc.) (if required, see `stty -a`) to Quit nnn
|
# The default behaviour is to cd on quit (nnn checks if NNN_TMPFILE is set)
|
||||||
# stty start undef
|
# To cd on quit only on ^G, remove the "export" as in:
|
||||||
# stty stop undef
|
# NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
|
||||||
# stty lwrap undef
|
# NOTE: NNN_TMPFILE is fixed, should not be modified
|
||||||
# stty lnext undef
|
export NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
|
||||||
|
|
||||||
nnn "$@"
|
# Unmask ^Q (, ^V etc.) (if required, see `stty -a`) to Quit nnn
|
||||||
|
# stty start undef
|
||||||
|
# stty stop undef
|
||||||
|
# stty lwrap undef
|
||||||
|
# stty lnext undef
|
||||||
|
|
||||||
if [ -f "$NNN_TMPFILE" ]; then
|
nnn "$@"
|
||||||
. "$NNN_TMPFILE"
|
|
||||||
rm -f "$NNN_TMPFILE" > /dev/null
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# nnn in dual pane mode (tmux)
|
if [ -f "$NNN_TMPFILE" ]; then
|
||||||
n2() {
|
. "$NNN_TMPFILE"
|
||||||
tmux new-session -d -s nnn -n nnn "nnn -Hc"
|
rm -f "$NNN_TMPFILE" > /dev/null
|
||||||
tmux split-window -h "nnn -Hc"
|
fi
|
||||||
TERM=screen-256color tmux attach -t nnn:nnn
|
}
|
||||||
}
|
|
||||||
|
# nnn in dual pane mode (tmux)
|
||||||
|
n2() {
|
||||||
|
tmux new-session -d -s nnn -n nnn "nnn -Hc"
|
||||||
|
tmux split-window -h "nnn -Hc"
|
||||||
|
TERM=screen-256color tmux attach -t nnn:nnn
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
# typing speed testing
|
# typing speed testing
|
||||||
tt() {
|
tt() {
|
||||||
|
|
Reference in New Issue