summaryrefslogtreecommitdiff
path: root/.zshrc
diff options
context:
space:
mode:
Diffstat (limited to '.zshrc')
-rw-r--r--.zshrc49
1 files changed, 38 insertions, 11 deletions
diff --git a/.zshrc b/.zshrc
index c9f2e6e..e3683a1 100644
--- a/.zshrc
+++ b/.zshrc
@@ -1,10 +1,10 @@
-# Created by gogo for 5.8
-
-# Profiling
-#zmodload zsh/zprof
-if [ -z "${WAYLAND_DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
+if [[ -o login && -z $WAYLAND_DISPLAY && ${XDG_VTNR:-0} -eq 1 ]]; then
export XDG_CURRENT_DESKTOP=sway
- dbus-run-session sway
+ exec dbus-run-session sway
+fi
+
+if [[ -o interactive && -z "$SSH_AUTH_SOCK" ]]; then
+ eval "$(keychain --eval --quiet id_ed25519)"
fi
## Use vim mode
@@ -12,7 +12,7 @@ bindkey -v
# Yank to the system clipboard
function vi-yank-xclip {
zle vi-yank
- echo "$CUTBUFFER" | wl-copy -n
+ print -rn -- "$CUTBUFFER" | wl-copy -n
}
zle -N vi-yank-xclip
@@ -20,6 +20,37 @@ bindkey -M vicmd 'y' vi-yank-xclip
export KEYTIMEOUT=1
# FZF integration
+export FZF_DEFAULT_OPTS="
+ --inline-info
+ --preview-window=right:60%:wrap
+ --bind=ctrl-u:preview-page-up,ctrl-d:preview-page-down
+ --bind=ctrl-/:toggle-preview
+ --bind 'ctrl-o:execute(nvim {})'
+ --color=fg:#d0d0d0,bg:#121212,hl:#5fd7ff
+ --color=fg+:#ffffff,bg+:#262626,hl+:#ffaf00
+ --color=info:#87afff,prompt:#5fd7ff,pointer:#ff5f5f
+ --color=marker:#ffaf00,spinner:#5fd7ff,header:#87afaf
+ --preview '
+ if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
+ git diff --color=always {} | sed 1,200p
+ elif [[ -d {} ]]; then
+ tree -C {} | head -200
+ else
+ bat --style=numbers --color=always --line-range :500 {}
+ fi
+ '
+"
+export FZF_DEFAULT_COMMAND='fd --type f --hidden --exclude .git'
+export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
+export FZF_ALT_C_OPTS="
+ --preview 'tree -C {} | head -200'
+"
+export FZF_CTRL_R_OPTS="
+ --preview 'echo {}'
+ --preview-window=down:3:hidden:wrap
+ --bind 'ctrl-/:toggle-preview'
+ --bind 'ctrl-y:execute-silent(echo -n {2..} | wl-copy)+abort'
+"
source <(fzf --zsh)
## Source other configs
@@ -30,7 +61,3 @@ source $HOME/.config/zsh/prompt.zsh
source $HOME/.config/zsh/history_search.zsh
source $HOME/.config/zsh/aliases.zsh
source $HOME/.config/zsh/help_command.zsh
-
-# Profiling
-#zprof
-#time zsh -i -c exit