z: use `zoxide` instead of `z.lua`

This commit is contained in:
Hoang Nguyen 2021-03-09 00:18:17 +03:00
parent dcc6d87aa3
commit 766a8dedaa
No known key found for this signature in database
GPG Key ID: 813CF484F4993419
12 changed files with 191 additions and 205 deletions

View File

@ -43,7 +43,7 @@
- **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)
- **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/)
> `Emacs` deserves its own set of dependencies listed, but I'm lazy -> Check my Doom config for details

View File

@ -74,14 +74,19 @@ export QT_QPA_PLATFORMTHEME=qt5ct
export QT_PLATFORM_PLUGIN=qt5ct
# .NET
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
export _ZL_DATA="$HOME/.local/share/zlua/zlua"
export _ZL_HYPHEN=1
export _ZL_MATCH_MODE=1
export _ZL_FZF_FLAG="-e"
export _ZL_INT_SORT=1
export _ZL_ROOT_MARKERS=".git,.svn,.hg,.root,package.json,.projectile,.pro"
export RANGER_ZLUA="$HOME/.local/share/bash/z.lua"
# export _ZL_DATA="$HOME/.local/share/zlua/zlua"
# export _ZL_HYPHEN=1
# export _ZL_MATCH_MODE=1
# export _ZL_FZF_FLAG="-e"
# export _ZL_INT_SORT=1
# export _ZL_ROOT_MARKERS=".git,.svn,.hg,.root,package.json,.projectile,.pro"
# export RANGER_ZLUA="$HOME/.local/share/bash/z.lua"
# Basher
export BASHER_ROOT="$HOME/.local/share/bash/basher"
# nodenv
@ -380,7 +385,7 @@ alias mkdir="mkdir -pv"
alias no="grep -viP"
alias wttr="curl wttr.in"
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 tmux="TERM=screen-256color tmux"
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 youbest="youtube-dl -f bestvideo+bestaudio"
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
alias ..='cd ..'
@ -528,40 +525,44 @@ basherpacks_update() {
}
# nnn with cd on quit
n ()
{
# Block nesting of nnn in subshells
if [[ -n $NNNLVL ]] && [ "${NNNLVL:-0}" -ge 1 ]; then
echo "nnn is already running"
return
fi
if command -v nnn >/dev/null; then
alias nnn="nnn -Hc"
alias ncp="cat ${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection} | tr '\0' '\n'"
# The default behaviour is to cd on quit (nnn checks if NNN_TMPFILE is set)
# To cd on quit only on ^G, remove the "export" as in:
# NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
# NOTE: NNN_TMPFILE is fixed, should not be modified
export NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
n () {
# Block nesting of nnn in subshells
if [[ -n $NNNLVL ]] && [ "${NNNLVL:-0}" -ge 1 ]; then
echo "nnn is already running"
return
fi
# Unmask ^Q (, ^V etc.) (if required, see `stty -a`) to Quit nnn
# stty start undef
# stty stop undef
# stty lwrap undef
# stty lnext undef
# The default behaviour is to cd on quit (nnn checks if NNN_TMPFILE is set)
# To cd on quit only on ^G, remove the "export" as in:
# NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
# NOTE: NNN_TMPFILE is fixed, should not be modified
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_TMPFILE"
rm -f "$NNN_TMPFILE" > /dev/null
fi
}
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
}
if [ -f "$NNN_TMPFILE" ]; then
. "$NNN_TMPFILE"
rm -f "$NNN_TMPFILE" > /dev/null
fi
}
# 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
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
gh completion -s bash > "$BASH_COMPLETION_USER_DIR/completions/gh"
fi
# kitten from kitty
if command -v kitty > /dev/null; then
source <(kitty + complete setup bash)
fi
# Starship prompt
if command -v starship > /dev/null; then
eval "$(starship init bash --print-full-init)"
fi
# direnv
if command -v direnv >/dev/null ; then
eval "$(direnv hook bash)"
fi
# poetry
# if [ ! -d "$POETRY_HOME" ]; then
# 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
# poetry completions bash > "$BASH_COMPLETION_USER_DIR/completions/poetry"
# fi
# pyenv
# if [[ ! -d $PYENV_ROOT ]]; then
# git clone https://github.com/pyenv/pyenv.git $PYENV_ROOT
@ -632,6 +638,7 @@ fi
# fi
# eval "$(pyenv init -)"
# eval "$(pyenv virtualenv-init -)"
# nodenv
# if [[ ! -d $NODENV_ROOT ]]; then
# 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
# fi
# eval "$(nodenv init -)"
# z.lua
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
mkdir -p $HOME/.local/share/zlua
# if [[ ! -f "$HOME/.local/share/bash/z.lua" ]]; then
# curl -fLo $HOME/.local/share/bash/z.lua https://raw.githubusercontent.com/skywind3000/z.lua/master/z.lua
# 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
eval "$(lua $HOME/.local/share/bash/z.lua --init bash fzf)"
# autostart gpg-agent at login
if ! pgrep -u "$USER" gpg-agent >/dev/null; then
gpg-agent --daemon --enable-ssh-support >/dev/null

View File

@ -10,7 +10,7 @@
;; Font settings
(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))
;;(setq inhibit-compacting-font-caches t)
(custom-set-faces!
@ -74,8 +74,7 @@
;; Use ranger.el instead of default dired
(after! ranger
(setq ranger-override-dired-mode t
ranger-parent-depth 0
(setq ranger-parent-depth 0
ranger-cleanup-eagerly t
ranger-show-hidden t
ranger-max-preview-size 20

View File

@ -36,8 +36,8 @@
doom-quit ; DOOM quit-message prompts when you quit Emacs
(emoji ; :)
+unicode
+github
+ascii)
;;+ascii
+github)
;;fill-column ; a `fill-column' indicator
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
;;hydra

View File

@ -17,7 +17,7 @@ alias mv='mv -vi'
alias rm='rm -vr'
alias mkdir='mkdir -pv'
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'
abbr tmux 'TERM=screen-256color command tmux'
alias catc='bat --style plain --color=always'
@ -47,13 +47,6 @@ abbr youlist 'youtube-dl -f bestvideo+bestaudio --yes-playlist'
# nnn
abbr nnn 'nnn -Hc'
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
function .. ; cd .. ; end

View File

@ -12,7 +12,7 @@ set -g fish_cursor_visual block
set -g fish_vi_force_cursor
# no greeting
set -g fish_greeting
# set -g fish_greeting
# XDG thingy
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
# 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
set -gx _ZL_DATA $HOME/.local/share/zlua/zlua
set -gx _ZL_HYPHEN 1
set -gx _ZL_MATCH_MODE 1
set -gx _ZL_FZF_FLAG '-e'
set -gx _ZL_INT_SORT 1
set -gx _ZL_ROOT_MARKERS ".git,.svn,.hg,.root,package.json,.projectile,.pro"
set -gx RANGER_ZLUA $HOME/.config/fish/z.lua
# set -gx _ZL_DATA $HOME/.local/share/zlua/zlua
# set -gx _ZL_HYPHEN 1
# set -gx _ZL_MATCH_MODE 1
# set -gx _ZL_FZF_FLAG '-e'
# set -gx _ZL_INT_SORT 1
# set -gx _ZL_ROOT_MARKERS ".git,.svn,.hg,.root,package.json,.projectile,.pro"
# set -gx RANGER_ZLUA $HOME/.config/fish/z.lua
# nnn
if command -v nnn >/dev/null
set -gx TERMINAL alacritty

View File

@ -54,13 +54,36 @@ fish_vi_key_bindings
# fzf
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
fzf_key_bindings
# 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
mkdir -p $HOME/.local/share/zlua
# if not test -f "$HOME/.config/fish/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
# 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
lua $HOME/.config/fish/z.lua --init fish | source

View File

@ -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

View File

@ -76,6 +76,11 @@ export NODENV_ROOT=$XDG_DATA_HOME/nodenv
export PYENV_ROOT=$XDG_DATA_HOME/pyenv
# 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
if command -v nnn >/dev/null
then
@ -368,13 +373,13 @@ export ZSH_PLUGINS_ALIAS_TIPS_TEXT="💡 => "
export ZSH_AUTOSUGGEST_STRATEGY=(history completion)
export ZSH_AUTOSUGGEST_USE_ASYNC=1
# z.lua
export _ZL_DATA="$HOME/.local/share/zlua/zlua"
export _ZL_HYPHEN=1
export _ZL_MATCH_MODE=1
export _ZL_FZF_FLAG="-e"
export _ZL_INT_SORT=1
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 _ZL_DATA="$HOME/.local/share/zlua/zlua"
# export _ZL_HYPHEN=1
# export _ZL_MATCH_MODE=1
# export _ZL_FZF_FLAG="-e"
# export _ZL_INT_SORT=1
# 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"
# zsh-abbr
export ABBR_USER_ABBREVIATIONS_FILE="$HOME/.local/share/zsh/abbreviations"
# gencomp

View File

@ -40,6 +40,17 @@ if command -v direnv > /dev/null; then
eval "$(direnv hook zsh)"
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
# if [ ! -d $POETRY_HOME ]; then
# 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 djui/alias-tips
# cd around faster
zinit light skywind3000/z.lua
# cd around faster with zlua
# 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
source $ZDOTDIR/plugins.zsh

View File

@ -12,7 +12,7 @@ alias rm="rm -vr"
alias mkdir="mkdir -pv"
alias no="grep -viP"
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 tmux="TERM=screen-256color tmux"
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 youbest="youtube-dl -f bestvideo+bestaudio"
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
alias ..='cd ..'
@ -66,40 +63,44 @@ zman() {
}
# nnn with cd on quit
n ()
{
# Block nesting of nnn in subshells
if [ -n $NNNLVL ] && [ "${NNNLVL:-0}" -ge 1 ]; then
echo "nnn is already running"
return
fi
if command -v nnn >/dev/null; then
alias nnn="nnn -Hc"
alias ncp="cat ${NNN_SEL:-${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.selection} | tr '\0' '\n'"
# The default behaviour is to cd on quit (nnn checks if NNN_TMPFILE is set)
# To cd on quit only on ^G, remove the "export" as in:
# NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
# NOTE: NNN_TMPFILE is fixed, should not be modified
export NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
n () {
# Block nesting of nnn in subshells
if [ -n $NNNLVL ] && [ "${NNNLVL:-0}" -ge 1 ]; then
echo "nnn is already running"
return
fi
# Unmask ^Q (, ^V etc.) (if required, see `stty -a`) to Quit nnn
# stty start undef
# stty stop undef
# stty lwrap undef
# stty lnext undef
# The default behaviour is to cd on quit (nnn checks if NNN_TMPFILE is set)
# To cd on quit only on ^G, remove the "export" as in:
# NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
# NOTE: NNN_TMPFILE is fixed, should not be modified
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_TMPFILE"
rm -f "$NNN_TMPFILE" > /dev/null
fi
}
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
}
if [ -f "$NNN_TMPFILE" ]; then
. "$NNN_TMPFILE"
rm -f "$NNN_TMPFILE" > /dev/null
fi
}
# 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
tt() {