From ae78dbbff81196f1d7bc8fabf84d05e6b9f3ca03 Mon Sep 17 00:00:00 2001 From: TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> Date: Tue, 28 Apr 2026 15:42:50 +0900 Subject: updates --- fedora/.config/zsh/keymaps.zsh | 342 ----------------------------------------- 1 file changed, 342 deletions(-) delete mode 100644 fedora/.config/zsh/keymaps.zsh (limited to 'fedora/.config/zsh/keymaps.zsh') diff --git a/fedora/.config/zsh/keymaps.zsh b/fedora/.config/zsh/keymaps.zsh deleted file mode 100644 index 81b3027..0000000 --- a/fedora/.config/zsh/keymaps.zsh +++ /dev/null @@ -1,342 +0,0 @@ -#!/bin/zsh - -### --- CUSTOM FUNCTIONS --- ### -# man -function man-command-line() { pre_cmd "man"; } - -# sudo -function sudo-command-line() { pre_cmd "sudo"; } - -# clears the shell and displays the dir tree with level 2 -function clear-tree-2() { - clear - tree -L 2 - zle reset-prompt -} -zle -N clear-tree-2 - -# clears the shell and displays the dir tree with level 3 -function clear-tree-3() { clear && tree -L 3 && zle reset-prompt; } -zle -N clear-tree-3 - -# prints the current date in ISO 8601 -function print-current-date() { LBUFFER+=$(date -I); } -zle -N print-current-date - -# prints the current Unix timestamp -function print-unix-timestamp() { LBUFFER+=$(date +%s); } -zle -N print-unix-timestamp - -# git status -function git-status() { clear && git status && zle reset-prompt; } -zle -N git-status - -# appends the clipboard contents to the buffer -function vi-append-clip-selection() { char=${RBUFFER:0:1} && RBUFFER=${RBUFFER:1} && RBUFFER=$char$(clippaste)$RBUFFER; } - -# copy -function detect-clipboard() { - emulate -L zsh - - if [[ "${OSTYPE}" == darwin* ]] && (( ${+commands[pbcopy]} )) && (( ${+commands[pbpaste]} )); then - function clipcopy() { cat "${1:-/dev/stdin}" | pbcopy; } - function clippaste() { pbpaste; } - elif [[ "${OSTYPE}" == (cygwin|msys)* ]]; then - function clipcopy() { cat "${1:-/dev/stdin}" > /dev/clipboard; } - function clippaste() { cat /dev/clipboard; } - elif (( $+commands[clip.exe] )) && (( $+commands[powershell.exe] )); then - function clipcopy() { cat "${1:-/dev/stdin}" | clip.exe; } - function clippaste() { powershell.exe -noprofile -command Get-Clipboard; } - elif [ -n "${WAYLAND_DISPLAY:-}" ] && (( ${+commands[wl-copy]} )) && (( ${+commands[wl-paste]} )); then - function clipcopy() { cat "${1:-/dev/stdin}" | wl-copy &>/dev/null &|; } - function clippaste() { wl-paste --no-newline; } - elif [ -n "${DISPLAY:-}" ] && (( ${+commands[xsel]} )); then - function clipcopy() { cat "${1:-/dev/stdin}" | xsel --clipboard --input; } - function clippaste() { xsel --clipboard --output; } - elif [ -n "${DISPLAY:-}" ] && (( ${+commands[xclip]} )); then - function clipcopy() { cat "${1:-/dev/stdin}" | xclip -selection clipboard -in &>/dev/null &|; } - function clippaste() { xclip -out -selection clipboard; } - elif (( ${+commands[lemonade]} )); then - function clipcopy() { cat "${1:-/dev/stdin}" | lemonade copy; } - function clippaste() { lemonade paste; } - elif (( ${+commands[doitclient]} )); then - function clipcopy() { cat "${1:-/dev/stdin}" | doitclient wclip; } - function clippaste() { doitclient wclip -r; } - elif (( ${+commands[win32yank]} )); then - function clipcopy() { cat "${1:-/dev/stdin}" | win32yank -i; } - function clippaste() { win32yank -o; } - elif [[ $OSTYPE == linux-android* ]] && (( $+commands[termux-clipboard-set] )); then - function clipcopy() { cat "${1:-/dev/stdin}" | termux-clipboard-set; } - function clippaste() { termux-clipboard-get; } - elif [ -n "${TMUX:-}" ] && (( ${+commands[tmux]} )); then - function clipcopy() { tmux load-buffer "${1:--}"; } - function clippaste() { tmux save-buffer -; } - else - function _retry_clipboard_detection_or_fail() { - local clipcmd="${1}"; shift - if detect-clipboard; then - "${clipcmd}" "$@" - else - print "${clipcmd}: Platform $OSTYPE not supported or xclip/xsel not installed" >&2 - return 1 - fi - } - function clipcopy() { _retry_clipboard_detection_or_fail clipcopy "$@"; } - function clippaste() { _retry_clipboard_detection_or_fail clippaste "$@"; } - return 1 - fi -} - -function clipcopy clippaste { - unfunction clipcopy clippaste - detect-clipboard || true # let one retry - "$0" "$@" -} - -function copybuffer () { - if builtin which clipcopy &>/dev/null; then - printf "%s" "$BUFFER" | clipcopy - fi -} - -# Function to switch to the left tmux pane and maximize it -function tmux_left_pane() { - export TMUX_PANE_DIRECTION="right" - if [[ $TMUX_PANE_DIRECTION == "right" ]]; then - tmux select-pane -L # Move to the left (opposite of right) - elif [[ $TMUX_PANE_DIRECTION == "bottom" ]]; then - tmux select-pane -U # Move to the top (opposite of bottom) - fi - tmux resize-pane -Z -} - - -### --- GLOBAL --- ### -# emacs style -bindkey '^a' beginning-of-line -bindkey '^e' end-of-line - -# function key bindings -bindkey '^X^E' clear-tree-2 -bindkey '^X^W' clear-tree-3 -bindkey '^X^S' git-status -bindkey '^X^X^T' print-current-date -bindkey '^X^X^U' print-unix-timestamp - - -### --- VI-MODE --- ### -if [[ -f "${ZPLUGINDIR:-${HOME}/.local/bin/zsh}/zsh-vi-mode/zsh-vi-mode.plugin.zsh" ]]; then - ### --- ZSH-VI-MODE--- ### - # config - ZVM_INIT_MODE=sourcing - ZVM_VI_ESCAPE_BINDKEY=jk - ZVM_VI_INSERT_ESCAPE_BINDKEY=$ZVM_VI_ESCAPE_BINDKEY - ZVM_VI_VISUAL_ESCAPE_BINDKEY=$ZVM_VI_ESCAPE_BINDKEY - ZVM_VI_OPPEND_ESCAPE_BINDKEY=$ZVM_VI_ESCAPE_BINDKEY - ZVM_INSERT_MODE_CURSOR=$ZVM_CURSOR_BLINKING_BEAM - ZVM_NORMAL_MODE_CURSOR=$ZVM_CURSOR_BLOCK - ZVM_OPPEND_MODE_CURSOR=$ZVM_CURSOR_UNDERLINE - ZVM_LAZY_KEYBINDINGS=false - # ZVM_VI_HIGHLIGHT_BACKGROUND=#458588 - - - function zvm_bind_script() { - local keymap="$1" - local key="$2" - local script="$3" - - # Dynamically define a widget to run the script - eval "function run_script_${keymap}_${key//\^/}() { - zle -I - $script - zle reset-prompt - }" - - # Register the widget with zsh-vi-mode - zvm_define_widget "run_script_${keymap}_${key//\^/}" - zvm_bindkey "$keymap" "$key" "run_script_${keymap}_${key//\^/}" - } - - function zvm_after_init() { - ### --- KEY BINDINGS --- ### - # programs & scripts - bindkey -s '^B' '^ubc -lq\n' - bindkey -s '^D' '^ucdi\n' - bindkey -s '^F' '^ufzffiles\n' - bindkey -s '^G' '^ulf\n' - # bindkey -s '^G' '^uyazi\n' - bindkey -s '^N' '^ulastfiles\n' - bindkey -s '^O' '^utmo\n' - bindkey -s '^P' '^ufzfpass\n' - bindkey -s '^Q' '^uhtop\n' - bindkey -s '^T' '^usessionizer\n' - bindkey -s '^Y' '^ulfcd\n' - # bindkey -s '^Y' '^uyazicd\n' - bindkey -s '^Z' '^upd\n' - # bindkey -s '^_' '^u\n' - - # ctrl+x key bindings - zvm_bind_script viins '^X^A' 'ali' - zvm_bind_script viins '^X^B' 'gitopenbranch' - zvm_bind_script viins '^X^D' 'fD' - zvm_bind_script viins '^X^F' 'gitfiles' - zvm_bind_script viins '^X^G' 'rgafiles ' - zvm_bind_script viins '^X^L' 'gloac' - zvm_bind_script viins '^X^N' 'lastfiles -l' - # zvm_bind_script viins '^X^O' '^u\n' - zvm_bind_script viins '^X^Q' 'fpkill' - zvm_bind_script viins '^X^R' 'fgst' - zvm_bind_script viins '^X^T' 'gitstagedfiles' - zvm_bind_script viins '^X^U' 'gitupdate' - # zvm_bind_script viins '^X^]' '^u\n' - zvm_bind_script viins '^X^_' 'fzffns' - zvm_bind_script viins '^X^X^B' 'rbackup' - zvm_bind_script viins '^X^X^P' 'pcyr' - zvm_bind_script viins '^X^X^R' 'rbackup -r' - zvm_bind_script viins '^X^X^S' 'sshadd' - zvm_bind_script viins '^X^X^Y' 'yay -Syu && remaps' - - # widgets - zvm_define_widget sudo-command-line - zvm_bindkey vicmd '^S' sudo-command-line - zvm_bindkey viins '^S' sudo-command-line - zvm_define_widget insert_last_command_output - zvm_bindkey viins '^]' insert_last_command_output - zvm_define_widget tmux_left_pane - zvm_bindkey vicmd '^[\' tmux_left_pane - zvm_bindkey viins '^[\' tmux_left_pane - zvm_define_widget man-command-line - zvm_bindkey vicmd '^X^M' man-command-line - zvm_bindkey viins '^X^M' man-command-line - zvm_define_widget vi-append-clip-selection - zvm_bindkey viins "^X^P" vi-append-clip-selection - zvm_bindkey vicmd "^X^P" vi-append-clip-selection - zvm_define_widget copybuffer - zvm_bindkey viins "^X^Y" copybuffer - zvm_bindkey vicmd "^X^Y" copybuffer - } - - # key bindings (lazy) - # function zvm_after_lazy_keybindings() { - # - # } - - # Append a command directly - # Since the default initialization mode, this plugin will overwrite the previous key - # bindings, this causes the key bindings of other plugins (i.e. fzf, zsh-autocomplete, etc.) to fail. - # zvm_after_init_commands+=('[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh') - # function zvm_after_init() { - # [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh - # } -else - ### --- Built-in --- ### - # Cursor shape - bindkey -v # activate vim mode. - KEYTIMEOUT=5 - - # Change cursor shape for different vi modes. - function zle-keymap-select () { - case "$KEYMAP $1" in - vicmd*|*block) echo -ne '\e[1 q' ;; # block - viins*|main*|''|*beam) echo -ne '\e[5 q' ;; # beam - esac - } - zle -N zle-keymap-select - - function zle-line-init() { - zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere) - echo -ne "\e[5 q" - } - zle -N zle-line-init - echo -ne '\e[5 q' # Use beam shape cursor on startup. - function preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt. - - - ### --- VI-MODE KEY BINDINGS --- ### - bindkey -M menuselect 'h' vi-backward-char - bindkey -M menuselect 'l' vi-forward-char - bindkey -M menuselect 'k' vi-up-line-or-history - bindkey -M menuselect 'j' vi-down-line-or-history - bindkey -v '^?' backward-delete-char - bindkey '^[[P' delete-char - - # edit line in vim with ctrl-v in viins and ctrl-e in vicmd - autoload edit-command-line - zle -N edit-command-line - bindkey '^X^V' edit-command-line # ctrl-v - bindkey -M vicmd '^[[P' vi-delete-char # delete - bindkey -M vicmd '^e' edit-command-line # ctrl-e - bindkey -M visual '^[[P' vi-delete # delete - bindkey -M viins 'jk' vi-cmd-mode # normal mode - - # last command output - zle -N insert_last_command_output - bindkey -M viins '^]' insert_last_command_output - - # man - zle -N man-command-line - bindkey -M emacs '^X^M' man-command-line - bindkey -M vicmd '^X^M' man-command-line - bindkey -M viins '^X^M' man-command-line - - # sudo - zle -N sudo-command-line - bindkey -M emacs '^S' sudo-command-line - bindkey -M vicmd '^S' sudo-command-line - bindkey -M viins '^S' sudo-command-line - - # bind y/Y to yank until end of line/yank whole line - # bindkey -M vicmd y zsh-system-clipboard-vicmd-vi-yank-eol - # bindkey -M vicmd Y zsh-system-clipboard-vicmd-vi-yank-whole-line - - # appends the clipboard contents to the buffer - zle -N vi-append-clip-selection - bindkey -M emacs "^X^P" vi-append-clip-selection - bindkey -M viins "^X^P" vi-append-clip-selection - bindkey -M vicmd "^X^P" vi-append-clip-selection - - # copy buffer - zle -N copybuffer - bindkey -M emacs "^X^Y" copybuffer - bindkey -M viins "^X^Y" copybuffer - bindkey -M vicmd "^X^Y" copybuffer - - # Register the function as a ZLE widget - zle -N tmux_left_pane - bindkey -M vicmd '^[\' tmux_left_pane - bindkey -M viins '^[\' tmux_left_pane - - ### --- DEFAULT KEY BINDINGS --- ### - # programs & scripts - bindkey -s '^B' '^ubc -lq\n' - bindkey -s '^D' '^ucdi\n' - bindkey -s '^F' '^ufzffiles\n' - bindkey -s '^G' '^ulf\n' - bindkey -s '^N' '^ulastfiles\n' - bindkey -s '^O' '^utmo\n' - bindkey -s '^P' '^ufzfpass\n' - bindkey -s '^Q' '^uhtop\n' - bindkey -s '^T' '^usessionizer\n' - bindkey -s '^Y' '^ulfcd\n' - bindkey -s '^Z' '^upd\n' - bindkey -s '^_' '^ucht\n' - bindkey -s '^X^A' '^uali\n' - bindkey -s '^X^B' '^ugitopenbranch\n' - bindkey -s '^X^D' '^ufD\n' - bindkey -s '^X^F' '^ugitfiles\n' - bindkey -s '^X^G' '^urgafiles ' - bindkey -s '^X^L' '^ugloac\n' - bindkey -s '^X^N' '^ulastfiles -l\n' - # bindkey -s '^X^O' '^u\n' - bindkey -s '^X^Q' '^ufpkill\n' - bindkey -s '^X^R' '^ufgst\n' - bindkey -s '^X^T' '^ugitstagedfiles\n' - bindkey -s '^X^U' '^ugitupdate\n' - # bindkey -s '^X^]' '^u\n' - bindkey -s '^X^_' '^ufzffns\n' - bindkey -s '^X^X^B' '^urbackup\n' - bindkey -s '^X^X^P' '^upcyr\n' - bindkey -s '^X^X^R' '^urbackup -r\n' - bindkey -s '^X^X^S' '^usshadd\n' - bindkey -s '^X^X^Y' '^uyay -Syu && remaps\n' -fi -- cgit v1.2.3