summaryrefslogtreecommitdiffstats
path: root/.config/zsh/.zshrc
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--.config/zsh/.zshrc80
1 files changed, 75 insertions, 5 deletions
diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc
index 4f09b46..3eda548 100644
--- a/.config/zsh/.zshrc
+++ b/.config/zsh/.zshrc
@@ -40,6 +40,35 @@ LESS_TERMCAP_se=$(printf '\e[0m'); export LESS_TERMCAP_se
LESS_TERMCAP_us=$(printf '\e[0;4;35m'); export LESS_TERMCAP_us
LESS_TERMCAP_ue=$(printf '\e[0m'); export LESS_TERMCAP_ue
+_gen_fzf_default_opts() {
+local color00='#1d2021'
+local color01='#282828'
+local color02='#504945'
+local color03='#665c54'
+local color04='#a89984'
+local color05='#bdae93'
+local color06='#ebdbb2'
+local color07='#fbf1c7'
+local color08='#cc241d'
+local color09='#fe8019'
+local color0A='#d79921'
+local color0B='#98971a'
+local color0C='#689d6a'
+local color0D='#458588'
+local color0E='#b16286'
+local color0F='#d65d0e'
+
+export FZF_DEFAULT_OPTS="$FZF_DEFAULT_OPTS"\
+" --color=bg+:$color00,bg:$color00"\
+" --color=fg:$color05,fg+:$color06"\
+" --color=hl:$color08,hl+:$color08"\
+" --color=spinner:$color0D"\
+" --color=header:$color08,info:$color03,pointer:$color08"\
+" --color=marker:$color0C,prompt:$color0A"
+}
+
+_gen_fzf_default_opts
+
autoload -U history-search-end
zle -N history-beginning-search-backward-end history-search-end
zle -N history-beginning-search-forward-end history-search-end
@@ -79,6 +108,16 @@ eza_after_cd() {
}
add-zsh-hook chpwd eza_after_cd
+_fzf_comprun() {
+ local command=$1
+ shift
+
+ case "$command" in
+ cd) fzf "$@" --preview 'tree -C {} | head -200' ;;
+ *) fzf "$@" ;;
+ esac
+}
+
autoload -Uz url-quote-magic
zle -N self-insert url-quote-magic
autoload -Uz bracketed-paste-magic
@@ -88,10 +127,10 @@ zle -N bracketed-paste bracketed-paste-magic
[ -f "$ZDOTDIR"/plugins.zsh ] && source "$ZDOTDIR"/plugins.zsh
[ -f "$XDG_PACKAGE_HOME"/fzf/shell/completion.zsh ] && source "$XDG_PACKAGE_HOME"/fzf/shell/completion.zsh
[ -f "$XDG_PACKAGE_HOME"/fzf/shell/key-bindings.zsh ] && source "$XDG_PACKAGE_HOME"/fzf/shell/key-bindings.zsh
-[ -f "$XDG_CONFIG_HOME"/lf/icons ] && {
- LF_ICONS="$(tr '\n' ':' <"$XDG_CONFIG_HOME"/lf/icons)" \
- && export LF_ICONS
-}
+# [ -f "$XDG_CONFIG_HOME"/lf/icons ] && {
+# LF_ICONS="$(tr '\n' ':' <"$XDG_CONFIG_HOME"/lf/icons)" \
+# && export LF_ICONS
+# }
globalias() {
if [[ $LBUFFER =~ ^[a-z0-9]+$ ]]; then
@@ -113,7 +152,38 @@ lfcd () {
[ -d "$dir" ] && [ "$dir" != "$(pwd)" ] && cd "$dir"
fi
}
-bindkey -s '^o' '^ulfcd\n'
+
+nnncd ()
+{
+ # Block nesting of nnn in subshells
+ [ "${NNNLVL:-0}" -eq 0 ] || {
+ echo "nnn is already running"
+ return
+ }
+
+ # The behaviour is set to cd on quit (nnn checks if NNN_TMPFILE is set)
+ # If NNN_TMPFILE is set to a custom path, it must be exported for nnn to
+ # see. To cd on quit only on ^G, remove the "export" and make sure not to
+ # use a custom path, i.e. set NNN_TMPFILE *exactly* as follows:
+ # NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
+ export NNN_TMPFILE="/tmp/nnn_lastd"
+
+ # 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 command builtin allows one to alias nnn to n, if desired, without
+ # making an infinitely recursive alias
+ command nnn "$@"
+
+ [ ! -f "$NNN_TMPFILE" ] || {
+ . "$NNN_TMPFILE"
+ rm -f -- "$NNN_TMPFILE" > /dev/null
+ }
+}
+bindkey -s '^o' '^unnncd\n'
bindkey -v "^ " globalias
bindkey -v " " magic-space