summaryrefslogtreecommitdiff
path: root/fedora/.config
diff options
context:
space:
mode:
Diffstat (limited to 'fedora/.config')
-rw-r--r--fedora/.config/bash/bash_profile110
-rw-r--r--fedora/.config/bash/bashrc1
-rw-r--r--fedora/.config/bash/keymaps.bash226
-rw-r--r--fedora/.config/bash/scripts.bash336
-rw-r--r--fedora/.config/shell/aliasrc22
-rw-r--r--fedora/.config/shell/bm-dirs1
-rw-r--r--fedora/.config/shell/profile151
-rw-r--r--fedora/.config/shell/scripts.bash54
-rw-r--r--fedora/.config/tmux/tmux.conf91
-rw-r--r--fedora/.config/vim/init.vim403
10 files changed, 527 insertions, 868 deletions
diff --git a/fedora/.config/bash/bash_profile b/fedora/.config/bash/bash_profile
index 068e3f5..2e8eab7 100644
--- a/fedora/.config/bash/bash_profile
+++ b/fedora/.config/bash/bash_profile
@@ -1,34 +1,107 @@
-#!/bin/sh
+#!/bin/bash
umask 022
-#######################################################
-# EXPORTS
-#######################################################
+###################################################
+### --- ENV PATH --- ###
+###################################################
+# Add all directories in each subdirectory to $PATH
+export PATH="$PATH:$(find ~/.local/bin -path '*/.git*' -prune -o \( -type f -o -type l \) -perm -u=x -exec dirname {} \; | sort -u | paste -sd ':' -)"
+export PATH="$PATH:$(find ~/.local/share/.password-store -type d -name '.extensions' | paste -sd ':' -)"
+command -v asdf >/dev/null 2>&1 && export PATH="$PATH:$(find -L ~/.local/share/asdf/installs -name bin -type d -print 2>/dev/null | sort -u | paste -s -d ':' -)"
+command -v npm >/dev/null 2>&1 && export PATH="$PATH:$(find -L ~/.local/share/npm -name bin -type d -print 2>/dev/null | sort -u | paste -s -d ':' -)"
+
+unsetopt PROMPT_SP 2>/dev/null
+###################################################
+### --- DEFAULT PROGRAMS --- ###
+###################################################
+if command -v nvim >/dev/null 2>&1; then
+ export EDITOR="nvim"
+elif command -v vim >/dev/null 2>&1; then
+ export EDITOR="vim"
+else
+ export EDITOR="vi"
+fi
+# export FILE_MANAGER="lf $(lf -version)"
+export KEYTIMEOUT=10
+export SUDO_EDITOR=$EDITOR
+export TERM="xterm-256color"
+export VISUAL=$EDITOR
+export TERM="xterm-256color"
+export GVIMINIT='let $MYGVIMRC="$XDG_CONFIG_HOME/vim/gvimrc" | source $MYGVIMRC'
+export VIMINIT='let $MYVIMRC="$XDG_CONFIG_HOME/vim/vimrc" | source $MYVIMRC'
+
+###################################################
+### --- XDG ENV PATHES --- ###
+###################################################
+### --- XDG DEFAULT --- ###
export XDG_CACHE_HOME="$HOME/.cache"
export XDG_CONFIG_HOME="$HOME/.config"
export XDG_DATA_HOME="$HOME/.local/share"
export XDG_STATE_HOME="$HOME/.local/state"
+
+### --- XDG CUSTOMS --- ###
+export XDG_DOTFILES_DIR="$HOME/.dotfiles"
+export XDG_SCRIPTS_HOME="$HOME/.local/bin"
+export XDG_SOURCES_HOME="$HOME/.local/src"
+export XDG_DESKTOP_DIR="$HOME/Desktop"
+export XDG_DOCUMENTS_DIR="$HOME/Documents"
+export XDG_DOWNLOAD_DIR="$HOME/Downloads"
+export XDG_MUSIC_DIR="$HOME/Music"
+export XDG_PICTURES_DIR="$HOME/Pictures"
+export XDG_PUBLICSHARE_DIR="$HOME/Public"
+export XDG_TEMPLATES_DIR="$HOME/Templates"
+export XDG_VIDEOS_DIR="$HOME/Videos"
+
+#######################################################
+# EXPORTS
+#######################################################
+
export CLICOLOR=1
-export EDITOR="vim"
export HISTFILE="${XDG_DATA_HOME:-${HOME}/.local/share}/history/sh_history"
export INPUTRC="${XDG_CONFIG_HOME:-${HOME}/.config}/shell/inputrc"
-export LESS="R"
-export LESS_TERMCAP_mb="$(printf '%b' '')"
-export LESS_TERMCAP_md="$(printf '%b' '')"
-export LESS_TERMCAP_me="$(printf '%b' '')"
-export LESS_TERMCAP_so="$(printf '%b' '')"
-export LESS_TERMCAP_se="$(printf '%b' '')"
-export LESS_TERMCAP_us="$(printf '%b' '')"
-export LESS_TERMCAP_ue="$(printf '%b' '')"
-export LESSOPEN="| /usr/bin/highlight -O ansi %s 2>/dev/null"
+
+### --- MANPAGER --- ###
+([ -x "$(command -v batcat)" ] || [ -x "$(command -v batman)" ]) && {
+ export MANPAGER="sh -c 'col -bx | bat -l man -p'"
+ export MANROFFOPT="-c"
+} || {
+ export MANPAGER='less -s'
+ export LESS="R"
+ export LESS_TERMCAP_mb="$(printf '%b' '')"
+ export LESS_TERMCAP_md="$(printf '%b' '')"
+ export LESS_TERMCAP_me="$(printf '%b' '')"
+ export LESS_TERMCAP_so="$(printf '%b' '')"
+ export LESS_TERMCAP_se="$(printf '%b' '')"
+ export LESS_TERMCAP_us="$(printf '%b' '')"
+ export LESS_TERMCAP_ue="$(printf '%b' '')"
+ export LESSOPEN="| lesspipe.sh %s"
+}
+
export LS_COLORS="no=00:fi=00:di=00;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.ogg=01;35:*.mp3=01;35:*.wav=01;35:*.xml=00;31:"
export LS_OPTIONS="--color=auto"
-export TERM="xterm-256color"
-export GVIMINIT='let $MYGVIMRC="$XDG_CONFIG_HOME/vim/gvimrc" | source $MYGVIMRC'
-export VIMINIT='let $MYVIMRC="$XDG_CONFIG_HOME/vim/vimrc" | source $MYVIMRC'
-export VISUAL=$EDITOR
+
+### --- PASSWORD STORE --- ###
+export PASSWORD_STORE_DIR="$XDG_DATA_HOME/.password-store"
+export PASSWORD_STORE_CLIP_TIME=180 # Specifies the number of seconds to wait before restoring the clipboard, by default 45 seconds.
+# export PASSWORD_STORE_GENERATED_LENGTH=18 # by default 25.
+# export PASSWORD_STORE_CHARACTER_SET='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_=+[]{};:,.<>?'
+# export PASSWORD_STORE_CHARACTER_SET_NO_SYMBOLS='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_=+[]{};:,.<>?'
+export PASSWORD_STORE_ENABLE_EXTENSIONS="true"
+# export PASSWORD_STORE_EXTENSIONS_DIR="$PASSWORD_STORE_DIR/.extensions"
+# export BASH_COMPLETION_USER_DIR=$XDG_DATA_HOME/bash-completion/completions
+
+### --- TMUX --- ###
+export TMUX_TMPDIR="$XDG_RUNTIME_DIR"
+
+### --- VIM --- ###
+# export GVIMINIT='let $MYGVIMRC = !has("nvim") ? "$XDG_CONFIG_HOME/vim/gvimrc" : "$XDG_CONFIG_HOME/nvim/init.lua" | so $MYGVIMRC'
+# export VIMINIT='let $MYVIMRC = !has("nvim") ? "$XDG_CONFIG_HOME/vim/vimrc" : "$XDG_CONFIG_HOME/nvim/init.lua" | so $MYVIMRC'
+
+### --- ZSH --- ###
+export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
+export ZPLUGINDIR="$XDG_SCRIPTS_HOME/zsh"
#######################################################
# Source global/local definitions
@@ -38,3 +111,4 @@ export VISUAL=$EDITOR
[ -f /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion
[ -f /etc/bash/bashrc ] && . /etc/bash/bashrc
[ -f "${XDG_CONFIG_HOME:-${HOME}/.config}/bash/bashrc" ] && . "${XDG_CONFIG_HOME:-${HOME}/.config}/bash/bashrc"
+[ ! -f "$XDG_CONFIG_HOME/shell/shortcutrc" ] && setsid -f bmshortcuts >/dev/null 2>&1
diff --git a/fedora/.config/bash/bashrc b/fedora/.config/bash/bashrc
index 2c60286..9343b1a 100644
--- a/fedora/.config/bash/bashrc
+++ b/fedora/.config/bash/bashrc
@@ -32,7 +32,6 @@ bind "set show-all-if-ambiguous on"
#######################################################
# Set command prompt
#######################################################
-alias cpu="grep 'cpu ' /proc/stat | awk '{usage=(\$2+\$4)*100/(\$2+\$4+\$5)} END {print usage}' | awk '{printf(\"%.1f\n\", \$1)}'"
function __setprompt {
local LAST_COMMAND=$? # Must come first!
diff --git a/fedora/.config/bash/keymaps.bash b/fedora/.config/bash/keymaps.bash
index cf355ad..8335f3e 100644
--- a/fedora/.config/bash/keymaps.bash
+++ b/fedora/.config/bash/keymaps.bash
@@ -11,101 +11,133 @@ PROMPT_COMMAND='echo -ne "\e[5 q"'
# ---------- helper: pre_cmd ----------
pre_cmd() {
- local txt="$1"
- if [[ -z "${READLINE_LINE+set}" ]]; then
- printf '%s ' "$txt"
- return
- fi
- local left=${READLINE_LINE:0:READLINE_POINT}
- local right=${READLINE_LINE:READLINE_POINT}
- READLINE_LINE="${left}${txt} ${right}"
- READLINE_POINT=$(( READLINE_POINT + ${#txt} + 1 ))
+ local txt="$1"
+ if [[ -z "${READLINE_LINE+set}" ]]; then
+ printf '%s ' "$txt"
+ return
+ fi
+ local left=${READLINE_LINE:0:READLINE_POINT}
+ local right=${READLINE_LINE:READLINE_POINT}
+ READLINE_LINE="${left}${txt} ${right}"
+ READLINE_POINT=$((READLINE_POINT + ${#txt} + 1))
}
# ---------- Clipboard detection ----------
_detect_clipboard_setup() {
- if command -v pbcopy >/dev/null 2>&1 && command -v pbpaste >/dev/null 2>&1; then
- clipcopy() { cat "${1:-/dev/stdin}" | pbcopy; }
- clippaste() { pbaste; }
- return 0
- fi
- if command -v wl-copy >/dev/null 2>&1 && command -v wl-paste >/dev/null 2>&1; then
- clipcopy() { cat "${1:-/dev/stdin}" | wl-copy; }
- clippaste() { wl-paste --no-newline; }
- return 0
- fi
- if command -v xclip >/dev/null 2>&1; then
- clipcopy() { cat "${1:-/dev/stdin}" | xclip -selection clipboard; }
- clippaste() { xclip -selection clipboard -out; }
- return 0
- fi
- if command -v xsel >/dev/null 2>&1; then
- clipcopy() { cat "${1:-/dev/stdin}" | xsel --clipboard --input; }
- clippaste() { xsel --clipboard --output; }
- return 0
- fi
- if command -v clip.exe >/dev/null 2>&1; then
- clipcopy() { cat "${1:-/dev/stdin}" | clip.exe; }
- clippaste() { powershell.exe -noprofile -command Get-Clipboard 2>/dev/null; }
- return 0
- fi
- if command -v tmux >/dev/null 2>&1 && [ -n "${TMUX:-}" ]; then
- clipcopy() { tmux load-buffer -; }
- clippaste() { tmux save-buffer -; }
- return 0
- fi
- return 1
+ if command -v pbcopy >/dev/null 2>&1 && command -v pbpaste >/dev/null 2>&1; then
+ clipcopy() { cat "${1:-/dev/stdin}" | pbcopy; }
+ clippaste() { pbaste; }
+ return 0
+ fi
+ if command -v wl-copy >/dev/null 2>&1 && command -v wl-paste >/dev/null 2>&1; then
+ clipcopy() { cat "${1:-/dev/stdin}" | wl-copy; }
+ clippaste() { wl-paste --no-newline; }
+ return 0
+ fi
+ if command -v xclip >/dev/null 2>&1; then
+ clipcopy() { cat "${1:-/dev/stdin}" | xclip -selection clipboard; }
+ clippaste() { xclip -selection clipboard -out; }
+ return 0
+ fi
+ if command -v xsel >/dev/null 2>&1; then
+ clipcopy() { cat "${1:-/dev/stdin}" | xsel --clipboard --input; }
+ clippaste() { xsel --clipboard --output; }
+ return 0
+ fi
+ if command -v clip.exe >/dev/null 2>&1; then
+ clipcopy() { cat "${1:-/dev/stdin}" | clip.exe; }
+ clippaste() { powershell.exe -noprofile -command Get-Clipboard 2>/dev/null; }
+ return 0
+ fi
+ if command -v tmux >/dev/null 2>&1 && [ -n "${TMUX:-}" ]; then
+ clipcopy() { tmux load-buffer -; }
+ clippaste() { tmux save-buffer -; }
+ return 0
+ fi
+ return 1
}
_detect_clipboard_setup || true
paste_clipboard_to_readline() {
- if ! command -v clippaste >/dev/null 2>&1; then
- _detect_clipboard_setup || { printf 'No clipboard helper found\n' >&2; return 1; }
- fi
- local clip
- clip=$(clippaste 2>/dev/null) || return 1
- clip="${clip%$'\n'}"
- if [[ -z "${READLINE_LINE+set}" ]]; then
- printf '%s' "$clip"
- return
- fi
- local left=${READLINE_LINE:0:READLINE_POINT}
- local right=${READLINE_LINE:READLINE_POINT}
- READLINE_LINE="${left}${clip}${right}"
- READLINE_POINT=$(( READLINE_POINT + ${#clip} ))
+ if ! command -v clippaste >/dev/null 2>&1; then
+ _detect_clipboard_setup || {
+ printf 'No clipboard helper found\n' >&2
+ return 1
+ }
+ fi
+ local clip
+ clip=$(clippaste 2>/dev/null) || return 1
+ clip="${clip%$'\n'}"
+ if [[ -z "${READLINE_LINE+set}" ]]; then
+ printf '%s' "$clip"
+ return
+ fi
+ local left=${READLINE_LINE:0:READLINE_POINT}
+ local right=${READLINE_LINE:READLINE_POINT}
+ READLINE_LINE="${left}${clip}${right}"
+ READLINE_POINT=$((READLINE_POINT + ${#clip}))
}
copy_readline_to_clipboard() {
- if [[ -z "${READLINE_LINE+set}" ]]; then
- printf 'No current line to copy\n' >&2
- return 1
- fi
- if ! command -v clipcopy >/dev/null 2>&1; then
- _detect_clipboard_setup || { printf 'No clipboard helper found\n' >&2; return 1; }
- fi
- printf '%s' "${READLINE_LINE}" | clipcopy
+ if [[ -z "${READLINE_LINE+set}" ]]; then
+ printf 'No current line to copy\n' >&2
+ return 1
+ fi
+ if ! command -v clipcopy >/dev/null 2>&1; then
+ _detect_clipboard_setup || {
+ printf 'No clipboard helper found\n' >&2
+ return 1
+ }
+ fi
+ printf '%s' "${READLINE_LINE}" | clipcopy
}
# ---------- basic utilities ----------
-clear_tree_2() { clear; tree -L 2 2>/dev/null || true; }
-clear_tree_3() { clear; tree -L 3 2>/dev/null || true; }
+clear_tree_2() {
+ clear
+ tree -L 2 2>/dev/null || true
+}
+clear_tree_3() {
+ clear
+ tree -L 3 2>/dev/null || true
+}
insert_current_date() {
- local txt="$(date -I)"
- if [[ -z "${READLINE_LINE+set}" ]]; then printf '%s' "$txt"; return; fi
- local left=${READLINE_LINE:0:READLINE_POINT}; local right=${READLINE_LINE:READLINE_POINT}
- READLINE_LINE="${left}${txt}${right}"; READLINE_POINT=$(( READLINE_POINT + ${#txt} ))
+ local txt="$(date -I)"
+ if [[ -z "${READLINE_LINE+set}" ]]; then
+ printf '%s' "$txt"
+ return
+ fi
+ local left=${READLINE_LINE:0:READLINE_POINT}
+ local right=${READLINE_LINE:READLINE_POINT}
+ READLINE_LINE="${left}${txt}${right}"
+ READLINE_POINT=$((READLINE_POINT + ${#txt}))
}
insert_unix_timestamp() {
- local txt="$(date +%s)"
- if [[ -z "${READLINE_LINE+set}" ]]; then printf '%s' "$txt"; return; fi
- local left=${READLINE_LINE:0:READLINE_POINT}; local right=${READLINE_LINE:READLINE_POINT}
- READLINE_LINE="${left}${txt}${right}"; READLINE_POINT=$(( READLINE_POINT + ${#txt} ))
+ local txt="$(date +%s)"
+ if [[ -z "${READLINE_LINE+set}" ]]; then
+ printf '%s' "$txt"
+ return
+ fi
+ local left=${READLINE_LINE:0:READLINE_POINT}
+ local right=${READLINE_LINE:READLINE_POINT}
+ READLINE_LINE="${left}${txt}${right}"
+ READLINE_POINT=$((READLINE_POINT + ${#txt}))
+}
+git_status_clear() {
+ clear
+ git status 2>/dev/null || git status --short 2>/dev/null || true
+}
+tmux_left_pane() {
+ tmux select-pane -L 2>/dev/null || true
+ tmux resize-pane -Z 2>/dev/null || true
}
-git_status_clear() { clear; git status 2>/dev/null || git status --short 2>/dev/null || true; }
-tmux_left_pane() { tmux select-pane -L 2>/dev/null || true; tmux resize-pane -Z 2>/dev/null || true; }
vi_append_clip_selection() { paste_clipboard_to_readline; }
copybuffer() { copy_readline_to_clipboard; }
-background_start() { local cmd="$1"; shift || return 0; for arg in "$@"; do "$cmd" "$arg" &>/dev/null & done; }
+background_start() {
+ local cmd="$1"
+ shift || return 0
+ for arg in "$@"; do "$cmd" "$arg" &>/dev/null & done
+}
# ---------- pre_cmd widgets ----------
man_command_line() { pre_cmd "man"; }
@@ -114,15 +146,15 @@ sudo_command_line() { pre_cmd "sudo"; }
# ---------- wrappers (u-prefix REMOVED) ----------
bc() { command -v bc >/dev/null 2>&1 && /usr/bin/env bc "$@" || printf 'bc: not found\n' >&2; }
cdi() { command -v cdi >/dev/null 2>&1 && cdi "$@" || printf 'cdi: not found\n' >&2; }
-lastvim() { command -v lastnvim >/dev/null 2>&1 && lastvim "$@" || printf 'lastvim: not found\n' >&2; }
+lastvim() { command -v lastvim >/dev/null 2>&1 && lastvim "$@" || printf 'lastvim: not found\n' >&2; }
htop() { command -v htop >/dev/null 2>&1 && htop "$@" || printf 'htop: not found\n' >&2; }
sessionizer() { command -v sessionizer >/dev/null 2>&1 && sessionizer "$@" || printf 'sessionizer: not found\n' >&2; }
upd() { command -v upd >/dev/null 2>&1 && upd "$@" || printf 'upd: not found\n' >&2; }
-cht() { command -v cht >/dev/null 2>&1 && cht "$@" || printf 'cht: not found\n' >&2; } # from '^ucht' -> 'cht'
+cht() { command -v cht >/dev/null 2>&1 && cht "$@" || printf 'cht: not found\n' >&2; } # from '^ucht' -> 'cht'
ali() { command -v ali >/dev/null 2>&1 && ali "$@" || printf 'ali: not found\n' >&2; }
fD() { command -v fD >/dev/null 2>&1 && fD "$@" || printf 'fD: not found\n' >&2; }
rgafiles() { command -v rgafiles >/dev/null 2>&1 && rgafiles "$@" || printf 'rgafiles: not found\n' >&2; }
-lastvim_l() { command -v lastnvim >/dev/null 2>&1 && lastvim -l || printf 'lastvim: not found\n' >&2; }
+lastvim_l() { command -v lastvim >/dev/null 2>&1 && lastvim -l || printf 'lastvim: not found\n' >&2; }
# ---------- Readline key bindings (bind -x) ----------
# basic movement
@@ -133,44 +165,44 @@ bind '"\C-e": end-of-line'
bind -x '"\C-x\C-e":clear_tree_2'
bind -x '"\C-x\C-w":clear_tree_3'
bind -x '"\C-x\C-s":git_status_clear'
-bind -x '"\C-x\C-x\C-t":insert_current_date' # ^X^X^T (alternate: C-x C-t)
+bind -x '"\C-x\C-x\C-t":insert_current_date' # ^X^X^T (alternate: C-x C-t)
bind -x '"\C-x\C-t":insert_current_date'
bind -x '"\C-x\C-x\C-u":insert_unix_timestamp' # ^X^X^U
bind -x '"\C-x\C-u":insert_unix_timestamp'
# clipboard binds
-bind -x '"\C-x\C-p":paste_clipboard_to_readline' # ^X^P
-bind -x '"\C-x\C-y":copy_readline_to_clipboard' # ^X^Y
+bind -x '"\C-x\C-p":paste_clipboard_to_readline' # ^X^P
+bind -x '"\C-x\C-y":copy_readline_to_clipboard' # ^X^Y
# edit in editor
edit_command_line() {
- local tmp content
- tmp=$(mktemp /tmp/bash-edit.XXXXXX) || return
- printf '%s' "${READLINE_LINE:-}" > "$tmp"
- "${EDITOR:-vim}" "$tmp"
- content=$(<"$tmp")
- READLINE_LINE="$content"
- READLINE_POINT=${#content}
- rm -f "$tmp"
+ local tmp content
+ tmp=$(mktemp /tmp/bash-edit.XXXXXX) || return
+ printf '%s' "${READLINE_LINE:-}" >"$tmp"
+ "${EDITOR:-vim}" "$tmp"
+ content=$(<"$tmp")
+ READLINE_LINE="$content"
+ READLINE_POINT=${#content}
+ rm -f "$tmp"
}
-bind -x '"\C-x\C-v":edit_command_line' # ^X^V
+bind -x '"\C-x\C-v":edit_command_line' # ^X^V
# man & sudo insertion
-bind -x '"\C-x\C-m":man_command_line' # ^X^M
+bind -x '"\C-x\C-m":man_command_line' # ^X^M
stty -ixon 2>/dev/null || true
-bind -x '"\C-s":sudo_command_line' # ^S (stty -ixon to avoid flow control)
+bind -x '"\C-s":sudo_command_line' # ^S (stty -ixon to avoid flow control)
# tmux left pane (bind ESC + backslash)
bind -x $'\e\\':tmux_left_pane
# ---------- mappings of the original bindkey -s lines (u removed) ----------
-bind -x '"\C-b":__bc' # will call function __bc below
+bind -x '"\C-b":__bc' # will call function __bc below
__bc() { bc -lq "$@"; }
bind -x '"\C-d":cdi'
bind -x '"\C-f":fzffiles'
bind -x '"\C-g":lf'
-bind -x '"\C-n":lastnvim'
+bind -x '"\C-n":lastvim'
bind -x '"\C-o":tmo'
bind -x '"\C-p":fzfpass'
bind -x '"\C-q":htop'
@@ -187,14 +219,14 @@ bind -x '"\C-x\C-d":fD'
bind -x '"\C-x\C-f":gitfiles'
bind -x '"\C-x\C-g":rgafiles'
bind -x '"\C-x\C-l":gloac'
-bind -x '"\C-x\C-n":lastnvim_l'
+bind -x '"\C-x\C-n":lastvim_l'
bind -x '"\C-x\C-q":fpkill'
bind -x '"\C-x\C-r":fgst'
bind -x '"\C-x\C-t":gitstagedfiles'
bind -x '"\C-x\C-u":gitupdate'
-bind -x '"\C-x\C-_":fzffns' # ^X^_
+bind -x '"\C-x\C-_":fzffns' # ^X^_
bind -x '"\C-x\C-x\C-b":rbackup'
bind -x '"\C-x\C-x\C-p":pcyr'
-bind -x '"\C-x\C-x\C-r":rbackup' # rbackup -r not directly supported via bind -x args; call rbackup then ask user for flags if needed
+bind -x '"\C-x\C-x\C-r":rbackup' # rbackup -r not directly supported via bind -x args; call rbackup then ask user for flags if needed
bind -x '"\C-x\C-x\C-s":sshadd'
bind -x '"\C-x\C-x\C-y":yay_remaps'
diff --git a/fedora/.config/bash/scripts.bash b/fedora/.config/bash/scripts.bash
index fa0abbc..76644e3 100644
--- a/fedora/.config/bash/scripts.bash
+++ b/fedora/.config/bash/scripts.bash
@@ -1,97 +1,64 @@
#!/bin/bash
-# Use the best version of pico installed
-edit() {
- if [ "$(type -t jpico)" = "file" ]; then
- # Use JOE text editor http://joe-editor.sourceforge.net/
- jpico -nonotice -linums -nobackups "$@"
- elif [ "$(type -t nano)" = "file" ]; then
- nano -c "$@"
- elif [ "$(type -t pico)" = "file" ]; then
- pico "$@"
+###########################################################################################
+###########################################################################################
+### --- APACHE --- ###
+# View Apache logs
+apachelog() {
+ if [ -f /etc/httpd/conf/httpd.conf ]; then
+ cd /var/log/httpd && ls -xAh && multitail --no-repeat -c -s 2 /var/log/httpd/*_log
else
- vim "$@"
+ cd /var/log/apache2 && ls -xAh && multitail --no-repeat -c -s 2 /var/log/apache2/*.log
fi
}
-sedit() {
- if [ "$(type -t jpico)" = "file" ]; then
- # Use JOE text editor http://joe-editor.sourceforge.net/
- sudo jpico -nonotice -linums -nobackups "$@"
- elif [ "$(type -t nano)" = "file" ]; then
- sudo nano -c "$@"
- elif [ "$(type -t pico)" = "file" ]; then
- sudo pico "$@"
+# Edit the Apache configuration
+apacheconfig() {
+ if [ -f /etc/httpd/conf/httpd.conf ]; then
+ sedit /etc/httpd/conf/httpd.conf
+ elif [ -f /etc/apache2/apache2.conf ]; then
+ sedit /etc/apache2/apache2.conf
else
- sudo vim "$@"
+ echo "Error: Apache config file could not be found."
+ echo "Searching for possible locations:"
+ sudo updatedb && locate httpd.conf && locate apache2.conf
fi
}
-# Extracts any archive(s) (if unp isn't installed)
-extract() {
- for archive in $*; do
- if [ -f $archive ]; then
- case $archive in
- *.tar.bz2) tar xvjf $archive ;;
- *.tar.gz) tar xvzf $archive ;;
- *.bz2) bunzip2 $archive ;;
- *.rar) rar x $archive ;;
- *.gz) gunzip $archive ;;
- *.tar) tar xvf $archive ;;
- *.tbz2) tar xvjf $archive ;;
- *.tgz) tar xvzf $archive ;;
- *.zip) unzip $archive ;;
- *.Z) uncompress $archive ;;
- *.7z) 7z x $archive ;;
- *) echo "don't know how to extract '$archive'..." ;;
- esac
- else
- echo "'$archive' is not a valid file!"
- fi
- done
-}
-
-# Searches for text in all files in the current folder
-ftext() {
- # -i case-insensitive
- # -I ignore binary files
- # -H causes filename to be printed
- # -r recursive search
- # -n causes line number to be printed
- # optional: -F treat search term as a literal, not a regular expression
- # optional: -l only print filenames and not the matching lines ex. grep -irl "$1" *
- grep -iIHrn --color=always "$1" . | less -r
-}
-
-# Copy file with a progress bar
-cpf() {
- set -e
- strace -q -ewrite cp -- "${1}" "${2}" 2>&1 |
- awk '{
- count += $NF
- if (count % 10 == 0) {
- percent = count / total_size * 100
- printf "%3d%% [", percent
- for (i=0;i<=percent;i++)
- printf "="
- printf ">"
- for (i=percent;i<100;i++)
- printf " "
- printf "]\r"
- }
- }
- END { print "" }' total_size=$(stat -c '%s' "${1}") count=0
-}
+###########################################################################################
+###########################################################################################
+### --- BASH --- ###
+# Automatically install the needed support files for this .bashrc file
+install_bashrc_support() {
+ local dtype
+ dtype=$(distribution)
-# Copy and go to the directory
-cpg() {
- if [ -d "$2" ]; then
- cp $1 $2 && cd $2
+ if [ $dtype == "redhat" ]; then
+ sudo yum install multitail tree joe
+ elif [ $dtype == "suse" ]; then
+ sudo zypper install multitail
+ sudo zypper install tree
+ sudo zypper install joe
+ elif [ $dtype == "debian" ]; then
+ sudo apt-get install multitail tree joe
+ elif [ $dtype == "gentoo" ]; then
+ sudo emerge multitail
+ sudo emerge tree
+ sudo emerge joe
+ elif [ $dtype == "mandriva" ]; then
+ sudo urpmi multitail
+ sudo urpmi tree
+ sudo urpmi joe
+ elif [ $dtype == "slackware" ]; then
+ echo "No install support for Slackware"
else
- cp $1 $2
+ echo "Unknown distribution"
fi
}
+###########################################################################################
+###########################################################################################
+### --- CD --- ###
# Move and go to the directory
mvg() {
if [ -d "$2" ]; then
@@ -106,7 +73,7 @@ mc() {
mkdir -p $1 && cd $1
}
-# Goes up a specified number of directories (i.e. up 4)
+# Go up a specified number of directories (i.e. up 4)
up() {
local d=""
limit=$1
@@ -134,6 +101,61 @@ pwdtail() {
pwd | awk -F/ '{nlast = NF -1;print $nlast"/"$NF}'
}
+###########################################################################################
+###########################################################################################
+### --- COMMAND OUTPUT --- ###
+alias ilco=insert_last_command_output
+insert_last_command_output() {
+ local last_cmd
+ last_cmd=$(history | tail -n 2 | head -n 1 | sed 's/^[ ]*[0-9]\+[ ]*//')
+ eval "$last_cmd"
+}
+
+###########################################################################################
+###########################################################################################
+### --- COPY --- ###
+# Copy file with a progress bar
+cpf() {
+ set -e
+ strace -q -ewrite cp -- "${1}" "${2}" 2>&1 |
+ awk '{
+ count += $NF
+ if (count % 10 == 0) {
+ percent = count / total_size * 100
+ printf "%3d%% [", percent
+ for (i=0;i<=percent;i++)
+ printf "="
+ printf ">"
+ for (i=percent;i<100;i++)
+ printf " "
+ printf "]\r"
+ }
+ }
+ END { print "" }' total_size=$(stat -c '%s' "${1}") count=0
+}
+
+# Copy and go to the directory
+cpg() {
+ if [ -d "$2" ]; then
+ cp $1 $2 && cd $2
+ else
+ cp $1 $2
+ fi
+}
+
+###########################################################################################
+###########################################################################################
+### --- CREATE --- ###
+alias mc=mkcd
+mkcd() { mkdir -p "$1" && cd "$1" || return; }
+
+mkdt() {
+ mkdir -p "${1:+$1/}$(date +%F)"
+}
+
+###########################################################################################
+###########################################################################################
+### --- DISTRIBUTION --- ###
# Show the current distribution
distribution() {
local dtype
@@ -206,34 +228,64 @@ ver() {
fi
}
-# Automatically install the needed support files for this .bashrc file
-install_bashrc_support() {
- local dtype
- dtype=$(distribution)
+###########################################################################################
+###########################################################################################
+### --- EDIT --- ###
+edit() {
+ if [ "$(type -t jpico)" = "file" ]; then
+ # Use JOE text editor http://joe-editor.sourceforge.net/
+ jpico -nonotice -linums -nobackups "$@"
+ elif [ "$(type -t nano)" = "file" ]; then
+ nano -c "$@"
+ elif [ "$(type -t pico)" = "file" ]; then
+ pico "$@"
+ else
+ vim "$@"
+ fi
+}
- if [ $dtype == "redhat" ]; then
- sudo yum install multitail tree joe
- elif [ $dtype == "suse" ]; then
- sudo zypper install multitail
- sudo zypper install tree
- sudo zypper install joe
- elif [ $dtype == "debian" ]; then
- sudo apt-get install multitail tree joe
- elif [ $dtype == "gentoo" ]; then
- sudo emerge multitail
- sudo emerge tree
- sudo emerge joe
- elif [ $dtype == "mandriva" ]; then
- sudo urpmi multitail
- sudo urpmi tree
- sudo urpmi joe
- elif [ $dtype == "slackware" ]; then
- echo "No install support for Slackware"
+sedit() {
+ if [ "$(type -t jpico)" = "file" ]; then
+ # Use JOE text editor http://joe-editor.sourceforge.net/
+ sudo jpico -nonotice -linums -nobackups "$@"
+ elif [ "$(type -t nano)" = "file" ]; then
+ sudo nano -c "$@"
+ elif [ "$(type -t pico)" = "file" ]; then
+ sudo pico "$@"
else
- echo "Unknown distribution"
+ sudo vim "$@"
fi
}
+###########################################################################################
+###########################################################################################
+### --- EXTRACT --- ###
+extract() {
+ for archive in $*; do
+ if [ -f $archive ]; then
+ case $archive in
+ *.tar.bz2) tar xvjf $archive ;;
+ *.tar.gz) tar xvzf $archive ;;
+ *.bz2) bunzip2 $archive ;;
+ *.rar) rar x $archive ;;
+ *.gz) gunzip $archive ;;
+ *.tar) tar xvf $archive ;;
+ *.tbz2) tar xvjf $archive ;;
+ *.tgz) tar xvzf $archive ;;
+ *.zip) unzip $archive ;;
+ *.Z) uncompress $archive ;;
+ *.7z) 7z x $archive ;;
+ *) echo "don't know how to extract '$archive'..." ;;
+ esac
+ else
+ echo "'$archive' is not a valid file!"
+ fi
+ done
+}
+
+###########################################################################################
+###########################################################################################
+### --- NETWORK --- ###
# Show current network information
netinfo() {
echo "--------------- Network Information ---------------"
@@ -262,28 +314,18 @@ function whatsmyip() {
wget http://smart-ip.net/myip -O - -q
}
-# View Apache logs
-apachelog() {
- if [ -f /etc/httpd/conf/httpd.conf ]; then
- cd /var/log/httpd && ls -xAh && multitail --no-repeat -c -s 2 /var/log/httpd/*_log
- else
- cd /var/log/apache2 && ls -xAh && multitail --no-repeat -c -s 2 /var/log/apache2/*.log
- fi
-}
+###########################################################################################
+###########################################################################################
+### --- PASS --- ###
+pass_otp() { pass otp uri -q "$1"; }
+pass_otp_insert() { pass otp insert "$1"; }
-# Edit the Apache configuration
-apacheconfig() {
- if [ -f /etc/httpd/conf/httpd.conf ]; then
- sedit /etc/httpd/conf/httpd.conf
- elif [ -f /etc/apache2/apache2.conf ]; then
- sedit /etc/apache2/apache2.conf
- else
- echo "Error: Apache config file could not be found."
- echo "Searching for possible locations:"
- sudo updatedb && locate httpd.conf && locate apache2.conf
- fi
-}
+alias cpqr=pass_qr
+pass_qr() { qrencode -o "$1.png" -t png -Sv 40 <"$1.pgp"; }
+###########################################################################################
+###########################################################################################
+### --- PHP --- ###
# Edit the PHP configuration file
phpconfig() {
if [ -f /etc/php.ini ]; then
@@ -303,6 +345,23 @@ phpconfig() {
fi
}
+###########################################################################################
+###########################################################################################
+### --- SEARCH --- ###
+ftext() {
+ # -i case-insensitive
+ # -I ignore binary files
+ # -H causes filename to be printed
+ # -r recursive search
+ # -n causes line number to be printed
+ # optional: -F treat search term as a literal, not a regular expression
+ # optional: -l only print filenames and not the matching lines ex. grep -irl "$1" *
+ grep -iIHrn --color=always "$1" . | less -r
+}
+
+###########################################################################################
+###########################################################################################
+### --- SQL --- ###
# Edit the MySQL configuration file
mysqlconfig() {
if [ -f /etc/my.cnf ]; then
@@ -324,16 +383,33 @@ mysqlconfig() {
fi
}
-# For some reason, rot13 pops up everywhere
-rot13() {
- if [ $# -eq 0 ]; then
- tr '[a-m][n-z][A-M][N-Z]' '[n-z][a-m][N-Z][A-M]'
- else
- echo $* | tr '[a-m][n-z][A-M][N-Z]' '[n-z][a-m][N-Z][A-M]'
+###########################################################################################
+###########################################################################################
+### --- STOW --- ###
+alias dstw=dotfiles_stw
+dotfiles_stw() {
+ "${XDG_DOTFILES_DIR:-${HOME}/.dotfiles}/$(whereami)/.local/bin/stw"
+}
+
+###########################################################################################
+###########################################################################################
+### --- SUDO --- ###
+pre_cmd() {
+ local prepend_command="$1"
+ local buffer="${READLINE_LINE:-}"
+
+ if [ -z "$buffer" ]; then
+ buffer=$(history | tail -n 2 | head -n 1 | sed 's/^[ ]*[0-9]\+[ ]*//')
fi
+
+ READLINE_LINE="$prepend_command $buffer"
+ READLINE_POINT=${#READLINE_LINE}
}
+bind -x '"\es":pre_cmd sudo'
-# Trim leading and trailing spaces (for scripts)
+###########################################################################################
+###########################################################################################
+### --- TRIM --- ###
trim() {
local var=$@
var='${var#"${var%%[![:space:]]*}"}' # remove leading whitespace characters
diff --git a/fedora/.config/shell/aliasrc b/fedora/.config/shell/aliasrc
index 6b35701..7d9e652 100644
--- a/fedora/.config/shell/aliasrc
+++ b/fedora/.config/shell/aliasrc
@@ -58,6 +58,9 @@ alias pwdc='pwd | xclip -selection clipboard'
# count
alias countfiles="for t in files links directories; do echo \`find . -type \${t:0:1} | wc -l\` \$t; done 2> /dev/null"
+# cpu
+alias cpu="grep 'cpu ' /proc/stat | awk '{usage=(\$2+\$4)*100/(\$2+\$4+\$5)} END {print usage}' | awk '{printf(\"%.1f\n\", \$1)}'"
+
# curl
ialias curl='curl --silent --show-error'
balias clh='curl localhost:'
@@ -225,10 +228,6 @@ alias mv="mv -i"
alias ping="ping -c 10"
alias ps="ps auxf"
alias rm="rm -iv"
-alias svi="sudo vi"
-alias v="vim"
-alias vi="vim"
-alias vis="vim '+set si'"
# move
ialias mv='mv -iv'
@@ -236,19 +235,12 @@ ialias mv='mv -iv'
# nginx
alias ngx="cd /etc/nginx"
-# nvim
+# vim
alias v='$EDITOR'
alias v.='$EDITOR .'
alias ve='$EDITOR -c enew'
-alias nv.='nvim .'
-alias nve='nvim -c enew'
-alias nts='NVIM_APPNAME=TheSiahxyz nvim'
-alias nav='NVIM_APPNAME=AstroNvim nvim'
-alias nlu='NVIM_APPNAME=LunarVim nvim'
-alias nlv='NVIM_APPNAME=LazyVim nvim'
-alias nnc='NVIM_APPNAME=NvChad nvim'
-alias snv='sudo nvim'
-alias vll='lastnvim -l'
+alias vis="$EDITOR '+set si'"
+alias vll='lastvim -l'
alias vln='$EDITOR -c '\''execute "edit " . v:oldfiles[0] | normal ''0'\'
# ports
@@ -362,7 +354,7 @@ alias -g C='| xclip -selection clipboard'
alias -g Fj='| jq .'
alias -g Fy='| yq .'
alias -g Fx='| xmllint --format -'
-alias -g V='| nvim -'
+alias -g V='| vim -'
# unzip
alias uz='unzip'
diff --git a/fedora/.config/shell/bm-dirs b/fedora/.config/shell/bm-dirs
index 2afa0b0..72558e9 100644
--- a/fedora/.config/shell/bm-dirs
+++ b/fedora/.config/shell/bm-dirs
@@ -6,7 +6,6 @@ cac ${XDG_CACHE_HOME:-${HOME}/.cache}
cbc ${XDG_CONFIG_HOME:-${HOME}/.config}/bash
cfg ${XDG_CONFIG_HOME:-${HOME}/.config}
cgc ${XDG_CONFIG_HOME:-${HOME}/.config}/git
-cnv ${XDG_CONFIG_HOME:-${HOME}/.config}/nvim
csh ${XDG_CONFIG_HOME:-${HOME}/.config}/shell
ctm ${XDG_CONFIG_HOME:-${HOME}/.config}/tmux
cts ${XDG_CONFIG_HOME:-${HOME}/.config}/TheSiahxyz
diff --git a/fedora/.config/shell/profile b/fedora/.config/shell/profile
deleted file mode 100644
index 677943a..0000000
--- a/fedora/.config/shell/profile
+++ /dev/null
@@ -1,151 +0,0 @@
-###################################################
-### --- PROFILE --- ###
-###################################################
-[ "$(tty)" = "/dev/tty1" ] && set -e # Exit immediately if a command exits with a non-zero status.
-
-###################################################
-### --- ENV PATH --- ###
-###################################################
-# Add all directories in each subdirectory to $PATH
-export PATH="$PATH:$(find ~/.local/bin -path '*/.git*' -prune -o \( -type f -o -type l \) -perm -u=x -exec dirname {} \; | sort -u | paste -sd ':' -)"
-export PATH="$PATH:$(find ~/.local/share/.password-store -type d -name '.extensions' | paste -sd ':' -)"
-command -v asdf >/dev/null 2>&1 && export PATH="$PATH:$(find -L ~/.local/share/asdf/installs -name bin -type d -print 2>/dev/null | sort -u | paste -s -d ':' -)"
-command -v npm >/dev/null 2>&1 && export PATH="$PATH:$(find -L ~/.local/share/npm -name bin -type d -print 2>/dev/null | sort -u | paste -s -d ':' -)"
-
-unsetopt PROMPT_SP 2>/dev/null
-
-###################################################
-### --- DEFAULT PROGRAMS --- ###
-###################################################
-export EDITOR="nvim"
-export EDITOR2="vim"
-# export FILE_MANAGER="lf $(lf -version)"
-export KEYTIMEOUT=10
-export SUDO_EDITOR=$EDITOR
-export TERM="xterm-256color"
-export VISUAL=$EDITOR
-
-###################################################
-### --- XDG ENV PATHES --- ###
-###################################################
-### --- XDG DEFAULT --- ###
-export XDG_CACHE_HOME="$HOME/.cache"
-export XDG_CONFIG_HOME="$HOME/.config"
-export XDG_DATA_HOME="$HOME/.local/share"
-export XDG_STATE_HOME="$HOME/.local/state"
-
-### --- XDG CUSTOMS --- ###
-export XDG_DOTFILES_DIR="$HOME/.dotfiles"
-export XDG_SCRIPTS_HOME="$HOME/.local/bin"
-export XDG_SOURCES_HOME="$HOME/.local/src"
-export XDG_DESKTOP_DIR="$HOME/Desktop"
-export XDG_DOCUMENTS_DIR="$HOME/Documents"
-export XDG_DOWNLOAD_DIR="$HOME/Downloads"
-export XDG_MUSIC_DIR="$HOME/Music"
-export XDG_PICTURES_DIR="$HOME/Pictures"
-export XDG_PUBLICSHARE_DIR="$HOME/Public"
-export XDG_TEMPLATES_DIR="$HOME/Templates"
-export XDG_VIDEOS_DIR="$HOME/Videos"
-
-###################################################
-### --- DEFAULT ENV PATHES FOR ALL PROGRAMS --- ###
-###################################################
-### --- ANDROID --- ###
-export ANDROID_SDK_HOME="$XDG_CONFIG_HOME/android"
-
-### --- ANSIBLE --- ###
-export ANSIBLE_CONFIG="$XDG_CONFIG_HOME/ansible/ansible.cfg"
-
-### --- BAT --- ###
-export BAT_CONFIG_PATH="$XDG_CONFIG_HOME/bat/config"
-
-### --- CARGO --- ###
-export CARGO_HOME="$XDG_DATA_HOME/cargo"
-
-### --- DICS --- ###
-export DICS="/usr/share/stardict/dic/"
-
-### --- ELECTRUM --- ###
-export ELECTRUMDIR="$XDG_DATA_HOME/electrum"
-
-### --- HISTORY --- ###
-export HISTFILE="$XDG_DATA_HOME/history/sh_history"
-
-### --- INPUTRC --- ###
-export INPUTRC="$XDG_CONFIG_HOME/shell/inputrc"
-
-### --- JAVA --- ###
-export AWT_TOOLKIT="MToolkit wmname LG3D" # May have to install wmname
-export _JAVA_AWT_WM_NONREPARENTING=1 # Fix for Java applications in dwm
-
-### --- MANPAGER --- ###
-([ -x "$(command -v batcat)" ] || [ -x "$(command -v batman)" ]) && {
- export MANPAGER="sh -c 'col -bx | bat -l man -p'"
- export MANROFFOPT="-c"
-} || {
- export MANPAGER='less -s'
- export LESS="R"
- export LESS_TERMCAP_mb="$(printf '%b' '')"
- export LESS_TERMCAP_md="$(printf '%b' '')"
- export LESS_TERMCAP_me="$(printf '%b' '')"
- export LESS_TERMCAP_so="$(printf '%b' '')"
- export LESS_TERMCAP_se="$(printf '%b' '')"
- export LESS_TERMCAP_us="$(printf '%b' '')"
- export LESS_TERMCAP_ue="$(printf '%b' '')"
- export LESSOPEN="| lesspipe.sh %s"
-}
-
-### --- NPM --- ###
-export NPM_CONFIG_USERCONFIG="~/.config/npm/.npmrc"
-
-### --- NVM --- ###
-export NVM_DIR="$XDG_CONFIG_HOME/nvm"
-
-### --- PASSWORD STORE --- ###
-export PASSWORD_STORE_DIR="$XDG_DATA_HOME/.password-store"
-export PASSWORD_STORE_CLIP_TIME=180 # Specifies the number of seconds to wait before restoring the clipboard, by default 45 seconds.
-# export PASSWORD_STORE_GENERATED_LENGTH=18 # by default 25.
-# export PASSWORD_STORE_CHARACTER_SET='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_=+[]{};:,.<>?'
-# export PASSWORD_STORE_CHARACTER_SET_NO_SYMBOLS='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_=+[]{};:,.<>?'
-export PASSWORD_STORE_ENABLE_EXTENSIONS="true"
-# export PASSWORD_STORE_EXTENSIONS_DIR="$PASSWORD_STORE_DIR/.extensions"
-# export BASH_COMPLETION_USER_DIR=$XDG_DATA_HOME/bash-completion/completions
-
-### --- POWERLEVEL10K --- ###
-export POWERLEVEL9K_INSTALLATION_DIR="/usr/share/zsh-theme-powerlevel10k"
-
-### --- PYTHON --- ###
-export PYTHONPYCACHEPREFIX=$XDG_CACHE_HOME/python
-export PYTHONSTARTUP="$XDG_CONFIG_HOME/python/pythonrc"
-
-### --- RUST --- ###
-export RUSTUP_HOME="$XDG_DATA_HOME/rustup"
-
-### --- SQLITE --- ###
-export SQLITE_HISTORY="$XDG_DATA_HOME/history/sqlite_history"
-
-### --- TMUX --- ###
-export TMUX_TMPDIR="$XDG_RUNTIME_DIR"
-
-### --- VIM --- ###
-# export GVIMINIT='let $MYGVIMRC = !has("nvim") ? "$XDG_CONFIG_HOME/vim/gvimrc" : "$XDG_CONFIG_HOME/nvim/init.lua" | so $MYGVIMRC'
-# export VIMINIT='let $MYVIMRC = !has("nvim") ? "$XDG_CONFIG_HOME/vim/vimrc" : "$XDG_CONFIG_HOME/nvim/init.lua" | so $MYVIMRC'
-
-### --- VIRTUAL ENVIRONMENT --- ###
-export WORKON_HOME="$XDG_DATA_HOME/venvs"
-
-### --- VISUAL STUDIO CODE --- ###
-export VSCODE_PORTABLE="$XDG_DATA_HOME/vscode"
-
-### --- WGET --- ###
-export WGETRC="$XDG_CONFIG_HOME/wget/wgetrc"
-
-### --- ZSH --- ###
-export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
-export ZPLUGINDIR="$XDG_SCRIPTS_HOME/zsh"
-
-### --- SHORTCUTS --- ###
-[ ! -f "$XDG_CONFIG_HOME/shell/shortcutrc" ] && setsid -f shortcuts >/dev/null 2>&1
-
-### --- LAPTOP KEYMAP --- ###
-sudo -n loadkeys "$XDG_DATA_HOME/thesiah/ttymaps.kmap" 2>/dev/null
diff --git a/fedora/.config/shell/scripts.bash b/fedora/.config/shell/scripts.bash
deleted file mode 100644
index f257809..0000000
--- a/fedora/.config/shell/scripts.bash
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/bin/bash
-
-###########################################################################################
-###########################################################################################
-### --- COMMAND OUTPUT --- ###
-alias ilco=insert_last_command_output
-insert_last_command_output() {
- local last_cmd
- last_cmd=$(history | tail -n 2 | head -n 1 | sed 's/^[ ]*[0-9]\+[ ]*//')
- eval "$last_cmd"
-}
-
-###########################################################################################
-###########################################################################################
-### --- CREATE --- ###
-alias mc=mkcd
-mkcd() { mkdir -p "$1" && cd "$1" || return; }
-
-mkdt() {
- mkdir -p "${1:+$1/}$(date +%F)"
-}
-
-###########################################################################################
-###########################################################################################
-### --- PASS --- ###
-pass_otp() { pass otp uri -q "$1"; }
-pass_otp_insert() { pass otp insert "$1"; }
-
-alias cpqr=pass_qr
-pass_qr() { qrencode -o "$1.png" -t png -Sv 40 < "$1.pgp"; }
-
-###########################################################################################
-###########################################################################################
-### --- STOW --- ###
-alias dstw=dotfiles_stw
-dotfiles_stw() {
- "${XDG_DOTFILES_DIR:-${HOME}/.dotfiles}/$(whereami)/.local/bin/stw"
-}
-
-###########################################################################################
-###########################################################################################
-### --- SUDO --- ###
-pre_cmd() {
- local prepend_command="$1"
- local buffer="${READLINE_LINE:-}"
-
- if [ -z "$buffer" ]; then
- buffer=$(history | tail -n 2 | head -n 1 | sed 's/^[ ]*[0-9]\+[ ]*//')
- fi
-
- READLINE_LINE="$prepend_command $buffer"
- READLINE_POINT=${#READLINE_LINE}
-}
-bind -x '"\es":pre_cmd sudo'
diff --git a/fedora/.config/tmux/tmux.conf b/fedora/.config/tmux/tmux.conf
new file mode 100644
index 0000000..3b78628
--- /dev/null
+++ b/fedora/.config/tmux/tmux.conf
@@ -0,0 +1,91 @@
+### --- Settings --- ###
+# general
+set -as terminal-features 'xterm*:extkeys'
+set -g base-index 1
+set -g pane-base-index 1
+set -g default-shell /bin/bash
+set -g detach-on-destroy off
+set -s extended-keys on
+set -g focus-events on
+set -g history-limit 1000000
+set -g mouse on
+set -g renumber-windows on
+set -g set-clipboard on
+set -g xterm-keys on
+set -gq allow-passthrough on
+set -ga update-environment TERM
+set -ga update-environment TERM_PROGRAM
+set -sg escape-time 0
+setw -g mode-keys vi
+setw -g aggressive-resize on
+
+# activity
+set -g monitor-activity on
+set -g visual-activity off
+
+# color
+set -g default-terminal "xterm-256color"
+set -ga terminal-overrides ',xterm-256color:Tc'
+set -sa terminal-features ',xterm-256color:RGB'
+
+# status
+set -g status-interval 1
+set -g status-justify absolute-centre
+set -g status-left ""
+set -g status-left-length 10
+set -g status-position top
+set -g status-right ""
+set -g status-style "bg=default"
+
+
+### --- Key Bindings --- ###
+# clear
+bind 'l' "send-keys C-l; send-keys -R; clear-history"
+
+# copy-mode
+bind 'v' copy-mode
+
+# pane
+bind '%' split-window -h -c '#{pane_current_path}'
+bind '"' split-window -v -c '#{pane_current_path}'
+bind '|' split-window -h
+bind '-' split-window -v
+bind -r 'C-down' resize-pane -D 5
+bind -r 'C-up' resize-pane -U 5
+bind -r 'C-left' resize-pane -L 5
+bind -r 'C-right' resize-pane -R 5
+bind '@' choose-window 'join-pane -h -s "%%"'
+bind '#' choose-window 'join-pane -s "%%"'
+bind 'x' kill-pane
+bind 'a' kill-pane -a
+bind 'X' kill-window
+bind 'A' kill-window -a
+bind -n 'M-k' move-pane -h -t '.{up-of}'
+bind -n 'M-l' move-pane -t '.{right-of}'
+bind -n 'M-h' move-pane -t '.{left-of}'
+bind -n 'M-j' move-pane -h -t '.{down-of}'
+
+# prefix
+unbind 'C-b'
+set -g prefix 'C-Space'
+bind 'C-Space' send-prefix
+
+# reload
+unbind 'r'
+bind 'r' source-file "~/.config/tmux/tmux.conf"
+
+# session
+bind -r '(' switch-client -p \; refresh-client -S
+bind -r ')' switch-client -n \; refresh-client -S
+bind -nr 'M-<' switch-client -p \; refresh-client -S
+bind -nr 'M->' switch-client -n \; refresh-client -S
+bind "'" switch-client -t'{marked}'
+bind -r 'BSpace' switch-client -l
+
+# window
+bind -r '<' swap-window -d -t -1
+bind -r '>' swap-window -d -t +1
+bind -nr 'M-,' previous-window \; refresh-client -S
+bind -nr 'M-.' next-window \; refresh-client -S
+bind 'c' new-window -c "#{pane_current_path}"
+bind -nr 'M-BSpace' last-window
diff --git a/fedora/.config/vim/init.vim b/fedora/.config/vim/init.vim
index fbb9097..d12ce78 100644
--- a/fedora/.config/vim/init.vim
+++ b/fedora/.config/vim/init.vim
@@ -9,21 +9,10 @@ autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
" Nerd tree
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
-" Runs a script that cleans out tex build files whenever I close out of a .tex file.
-autocmd VimLeave *.tex !texclear %
-
" Text files
-let g:vimwiki_ext2syntax = {'.Rmd': 'markdown', '.rmd': 'markdown','.md': 'markdown', '.markdown': 'markdown', '.mdown': 'markdown'}
-let g:vimwiki_list = [{'path': '~/.local/share/nvim/vimwiki', 'syntax': 'markdown', 'ext': '.md'}]
-autocmd BufRead,BufNewFile /tmp/calcurse*,~/.calcurse/notes/* set filetype=markdown
autocmd BufRead,BufNewFile *.ms,*.me,*.mom,*.man set filetype=groff
autocmd BufRead,BufNewFile *.tex set filetype=tex
-" Enable Goyo by default for mutt writing
-autocmd BufRead,BufNewFile /tmp/neomutt* :Goyo 80 | call feedkeys("jk")
-autocmd BufRead,BufNewFile /tmp/neomutt* map ZZ :Goyo!\|x!<CR>
-autocmd BufRead,BufNewFile /tmp/neomutt* map ZQ :Goyo!\|q!<CR>
-
" Automatically deletes all trailing whitespace and newlines at end of file on save. & reset cursor position
autocmd BufWritePre * let currPos = getpos(".")
autocmd BufWritePre * %s/\s\+$//e
@@ -35,17 +24,6 @@ autocmd BufWritePre * cal cursor(currPos[1], currPos[2])
" When shortcut files are updated, renew bash and ranger configs with new material:
autocmd BufWritePost bm-files,bm-dirs !shortcuts
-" Run xrdb whenever Xdefaults or Xresources are updated.
-autocmd BufRead,BufNewFile Xresources,Xdefaults,xresources,xdefaults set filetype=xdefaults
-autocmd BufWritePost Xresources,Xdefaults,xresources,xdefaults !xrdb %
-
-" Recompile dwmblocks on config edit.
-autocmd BufWritePost ${XDG_SOURCES_HOME:-$HOME/.local/src}/suckless/dwmblocks/config.h !cd ${XDG_SOURCES_HOME:-$HOME/.local/src}/suckless/dwmblocks/; sudo make install && { killall -q dwmblocks;setsid -f dwmblocks }
-
-" Which key description
-autocmd! User vim-which-key call which_key#register('<Space>', 'g:which_key_map')
-let g:which_key_map = {}
-
" }}}
@@ -60,387 +38,10 @@ endif
" }}}
-" PLUGINS INIT ----------------------------------------------------------- {{{
-
-let config_path = empty($XDG_CONFIG_HOME) ? expand("$HOME/.config") : expand("$XDG_CONFIG_HOME")
-if filereadable(config_path . "/vim/plugins.vim")
- silent! call mkdir(config_path . "/vim/plugged", "p")
- execute "source " . config_path . "/vim/plugins.vim"
-endif
-
-" goyo
-let g:is_goyo_active = v:false
-function! GoyoEnter()
- if executable('tmux') && strlen($TMUX)
- silent !tmux set status off
- silent !tmux list-panes -F '\#F' | grep -q Z || tmux resize-pane -Z
- endif
-
- let g:default_colorscheme = exists('g:colors_name') ? g:colors_name : 'desert'
- set background=light
- set linebreak
- set wrap
- set textwidth=0
- set wrapmargin=0
-
- Goyo 80x85%
- colorscheme seoul256
- let g:is_goyo_active = v:true
-endfunction
-
-function! GoyoLeave()
- if executable('tmux') && strlen($TMUX)
- silent !tmux set status on
- silent !tmux list-panes -F '\#F' | grep -q Z && tmux resize-pane -Z
- endif
-
- Goyo!
- execute 'colorscheme ' . g:default_colorscheme
- let g:is_goyo_active = v:false
-endfunction
-
-function! ToggleGoyo()
- if g:is_goyo_active
- call GoyoLeave()
- else
- call GoyoEnter()
- endif
-endfunction
-
-" }}}
-
-
-" PLUGIN MAPPINGS & SETTINGS -------------------------------------------------------- {{{
-
-" Open quickfix/location list
-let g:which_key_map.o = {
- \ 'name' : '+Open' ,
- \ 'q' : 'Quickfix-list' ,
- \ 'l' : 'Location-list' ,
- \ }
-
-" Check health
-nnoremap <Leader>ch :CheckHealth<CR>
-let g:which_key_map.c = { 'name' : 'Check' }
-let g:which_key_map.c.h = 'Check-health'
-
-" Bookmarks
-let g:bookmark_no_default_key_mappings = 1
-let g:bookmark_save_per_working_dir = 1
-let g:bookmark_auto_save = 1
-nmap <Leader>mm <Plug>BookmarkToggle
-nmap <Leader>mi <Plug>BookmarkAnnotate
-nmap <Leader>ma <Plug>BookmarkShowAll
-nmap <Leader>m] <Plug>BookmarkNext
-nmap <Leader>m[ <Plug>BookmarkPrev
-nmap <Leader>mc <Plug>BookmarkClear
-nmap <Leader>mx <Plug>BookmarkClearAll
-nmap <Leader>mk <Plug>BookmarkMoveUp
-nmap <Leader>mj <Plug>BookmarkMoveDown
-nmap <Leader>mg <Plug>BookmarkMoveToLine
-
-" Fugitive
-nnoremap <Leader>gs :Git<CR>
-let g:which_key_map.g = { 'name' : 'Git/Goyo' }
-let g:which_key_map.g.s = 'Git'
-
-" Goyo plugin makes text more readable when writing prose:
-nnoremap <Leader>gy :call ToggleGoyo()<CR>
-let g:which_key_map.g.y = 'Toggle-goyo'
-
-" Nerd tree
-map <Leader>n :NERDTreeToggle<CR>
-let g:which_key_map.n = 'Toggle-nerd-tree'
-
-" Undotree
-nnoremap <Leader>u :UndotreeToggle<CR>
-let g:which_key_map.u = 'Toggle-undo-tree'
-
-" vimwiki
-map <Leader>vw :VimwikiIndex<CR>
-let g:which_key_map.v = { 'name' : '+Vim-wiki' }
-let g:which_key_map.v.w = 'Vim-wiki-index'
-
-" vim-plug
-nnoremap <Leader>pc :PlugClean<CR>
-nnoremap <Leader>pi :PlugInstall<CR>
-nnoremap <Leader>pu :PlugUpdate<CR>
-let g:which_key_map.p = { 'name' : '+Plug' }
-let g:which_key_map.p.c = 'Plug-clean'
-let g:which_key_map.p.i = 'Plug-install'
-let g:which_key_map.p.u = 'Plug-update'
-
-" whichkey
-nnoremap <silent> <Leader> :<C-U>WhichKey '<Space>'<CR>
-nnoremap <silent> <localleader> :<C-U>WhichKey '\'<CR>
-
-" lsp
-if executable('pylsp')
- " pip install python-lsp-server
- au User lsp_setup call lsp#register_server({
- \ 'name': 'pylsp',
- \ 'cmd': {server_info->['pylsp']},
- \ 'allowlist': ['python'],
- \ })
-endif
-
-function! s:on_lsp_buffer_enabled() abort
- setlocal omnifunc=lsp#complete
- setlocal signcolumn=yes
- if exists('+tagfunc') | setlocal tagfunc=lsp#tagfunc | endif
- nmap <buffer> gd <plug>(lsp-definition)
- nmap <buffer> gs <plug>(lsp-document-symbol-search)
- nmap <buffer> gS <plug>(lsp-workspace-symbol-search)
- nmap <buffer> gr <plug>(lsp-references)
- nmap <buffer> gi <plug>(lsp-implementation)
- nmap <buffer> gt <plug>(lsp-type-definition)
- nmap <buffer> <Leader>lr <plug>(lsp-rename)
- nmap <buffer> [t <plug>(lsp-previous-diagnostic)
- nmap <buffer> ]t <plug>(lsp-next-diagnostic)
- nmap <buffer> K <plug>(lsp-hover)
- " nnoremap <buffer> <expr><C-D> lsp#scroll(+4)
- " nnoremap <buffer> <expr><C-U> lsp#scroll(-4)
-
- let g:lsp_format_sync_timeout = 1000
- autocmd! BufWritePre *.rs,*.go,*.py call execute('LspDocumentFormatSync')
-
- " refer to doc to add more commands
-endfunction
-
-let g:which_key_map.g = {
- \ 'name' : '+Goto' ,
- \ 'd' : 'Definition' ,
- \ 's' : 'Symbol' ,
- \ 'S' : 'Workspace-symbol' ,
- \ 'r' : 'References' ,
- \ 'i' : 'Implementation' ,
- \ 't' : 'Type-definition' ,
- \ }
-
-let g:which_key_map['['] = { 'name' : '+Previous' }
-let g:which_key_map[']'] = { 'name' : '+Next' }
-let g:which_key_map['[t'] = 'Diagnostic'
-let g:which_key_map[']t'] = 'Diagnostic'
-let g:which_key_map.K = 'Keyword'
-
-augroup lsp_install
- au!
- " call s:on_lsp_buffer_enabled only for languages that has the server registered.
- autocmd User lsp_buffer_enabled call s:on_lsp_buffer_enabled()
-augroup END
-
-let g:lsp_fold_enabled = 0
-let g:lsp_log_verbose = 1
-let g:lsp_log_file = expand('~/.cache/vim/vim-lsp.log')
-let g:asyncomplete_log_file = expand('~/.cache/vim/asyncomplete.log')
-let g:lsp_settings_filetype_python = ['pyright-langserver', 'ruff', 'ruff-lsp']
-
-nnoremap <Leader>li :LspInstallServer<CR>
-
-" vim-airline
-if !exists('g:airline_symbols')
- let g:airline_symbols = {}
-endif
-let g:airline_symbols.colnr = ' C:'
-let g:airline_symbols.linenr = ' L:'
-let g:airline_symbols.maxlinenr = ' '
-let g:airline#extensions#whitespace#symbol = '!'
-
-" colorscheme
-if isdirectory(expand("${XDG_CONFIG_HOME:-$HOME/.config}/vim/plugged/catppuccin"))
- let g:airline_theme = 'catppuccin_mocha'
- colorscheme catppuccin_mocha
-endif
-
-" fzf
-let g:fzf_vim = {}
-let $FZF_DEFAULT_OPTS = "--layout=default --preview-window 'right:60%' --preview 'bat --style=numbers --line-range :300 {}'
- \ --bind ctrl-y:preview-up,
- \ ctrl-e:preview-down,
- \ ctrl-b:preview-page-up,
- \ ctrl-f:preview-page-down,
- \ ctrl-u:preview-half-page-up,
- \ ctrl-d:preview-half-page-down,
- \ shift-up:preview-top,
- \ shift-down:preview-bottom,
- \ alt-up:half-page-up,
- \ alt-down:half-page-down
- \ "
-
-" tmux
-if exists('$TMUX')
- let g:fzf_layout = { 'tmux': '90%,70%' }
- let g:tmux_navigator_no_wrap = 1
-else
- let g:fzf_layout = { 'window': { 'width': 0.9, 'height': 0.6, 'relative': v:true } }
-endif
-let g:fzf_vim.preview_window = ['right,50%,<70(up,40%)', 'ctrl-/']
-let g:fzf_vim.commits_log_options = '--graph --color=always --format="%C(auto)%h%d %s %C(black)%C(bold)%cr"'
-let g:fzf_vim.tags_command = 'ctags -R'
-
-function! s:build_quickfix_list(lines)
- call setqflist(map(copy(a:lines), '{ "filename": v:val, "lnum": 1 }'))
- copen
- cc
-endfunction
-
-let g:fzf_action = {
- \ 'ctrl-q' : function('s:build_quickfix_list'),
- \ 'ctrl-t' : 'tab split' ,
- \ 'ctrl-x' : 'split' ,
- \ 'ctrl-v' : 'vsplit' ,
- \ }
-
-nnoremap <Leader>cl :Colors<CR>
-nnoremap <Leader>fb :Files ~/.local/bin<CR>
-nnoremap <Leader>fc :Files ~/.config<CR>
-nnoremap <Leader>fd :Files ~/.dotfiles<CR>
-nnoremap <Leader>ff :Files .<CR>
-nnoremap <Leader>fF :Files ~<CR>
-nnoremap <Leader>fg :GFiles<CR>
-nnoremap <Leader>fG :GFiles?<CR>
-nnoremap <Leader>fs :Files ~/.local/src/suckless<CR>
-nnoremap <Leader>fv :Files ~/.config/vim<CR>
-nnoremap <Leader>sb :Buffers<CR>
-nnoremap <Leader>sc :Changes<CR>
-nnoremap <Leader>sC :Commands<CR>
-nnoremap <Leader>sg :Rg<CR>
-nnoremap <Leader>sG :RG<CR>
-nnoremap <Leader>shc :History:<CR>
-nnoremap <Leader>shh :History<CR>
-nnoremap <Leader>shp :Helptags<CR>
-nnoremap <Leader>shs :History/<CR>
-nnoremap <Leader>sj :Jumps<CR>
-nnoremap <Leader>sk :Maps<CR>
-nnoremap <Leader>sl :Locate<CR>
-nnoremap <Leader>sm :Marks<CR>
-nnoremap <Leader>sn :Snippets<CR>
-nnoremap <Leader>st :Filetypes<CR>
-nnoremap <Leader>gc :Commits<CR>
-nnoremap <Leader>gC :BCommits<CR>
-
-let g:which_key_map.c = 'Color-schemes'
-let g:which_key_map.f = {
- \ 'name' : '+Find' ,
- \ 'b' : 'Scripts' ,
- \ 'c' : 'Config' ,
- \ 'd' : 'Dotfiles' ,
- \ 'f' : 'Files' ,
- \ 'F' : 'Root-files' ,
- \ 'g' : 'Git-files' ,
- \ 'G' : 'Git-status' ,
- \ 's' : 'Suckless' ,
- \ 'v' : 'Vim-config' ,
- \ }
-
-let g:which_key_map.g = {
- \ 'name' : '+Git' ,
- \ 'c' : 'Commits' ,
- \ 'C' : 'Buffer-commits' ,
- \ }
-
-let g:which_key_map.s = {
- \ 'name' : '+Search' ,
- \ 'b' : 'Buffers' ,
- \ 'c' : 'Changes' ,
- \ 'C' : 'Commands' ,
- \ 'g' : 'Rip-grep' ,
- \ 'G' : 'Rip-Grep' ,
- \ 'h' : {
- \ 'name' : '+History' ,
- \ 'c' : 'Command-history' ,
- \ 'h' : 'History' ,
- \ 'p' : 'Help-tags' ,
- \ 's' : 'Search-history' ,
- \ },
- \ 'j' : 'Jumps' ,
- \ 'k' : 'Key-maps' ,
- \ 'l' : 'Locate' ,
- \ 'm' : 'Marks' ,
- \ 'n' : 'Snippets' ,
- \ 't' : 'File-types' ,
- \ }
-
-
-" snippets
-let g:SuperTabDefaultCompletionType = '<C-N>'
-let g:SuperTabCrMapping = 0
-let g:UltiSnipsExpandTrigger = '<C-E>'
-let g:UltiSnipsJumpForwardTrigger = '<tab>'
-let g:UltiSnipsJumpBackwardTrigger = '<s-tab>'
-let g:UltiSnipsEditSplit = 'vertical'
-let g:UltiSnipsAutoTrigger = 1
-let g:asyncomplete_auto_completeopt = 0
-let g:asyncomplete_auto_popup = 1
-
-set completeopt=menuone,noinsert,noselect,preview
-autocmd! CompleteDone * if pumvisible() == 0 | pclose | endif
-
-if has('python3')
- call asyncomplete#register_source(asyncomplete#sources#ultisnips#get_source_options({
- \ 'name': 'ultisnips',
- \ 'allowlist': ['*'],
- \ 'completor': function('asyncomplete#sources#ultisnips#completor'),
- \ }))
-endif
-
-inoremap <expr> <Tab> pumvisible() ? "\<C-N>" : "\<Tab>"
-inoremap <expr> <S-Tab> pumvisible() ? "\<C-P>" : "\<S-Tab>"
-inoremap <expr> <CR> pumvisible() ? asyncomplete#close_popup() : "\<CR>"
-
-" whichkey
-set timeoutlen=500
-
-let g:which_key_map.a = 'Select-all-the-text'
-let g:which_key_map.b = { 'name' : '+Buffer' }
-let g:which_key_map.b.n = 'New/open-buffer'
-let g:which_key_map.c = { 'name' : '+Format' }
-let g:which_key_map.c.f = 'Format-buffer'
-let g:which_key_map.e = 'Explorer'
-let g:which_key_map.h = { 'name' : '+Hex' }
-let g:which_key_map.h.x = 'Toggle-hex/reverse-conversion'
-let g:which_key_map.l = { 'name' : '+Lex/Lsp' }
-let g:which_key_map.l.e = 'Open-lex'
-let g:which_key_map.l.i = 'Lsp-install-server'
-let g:which_key_map.l.r = 'Rename'
-let g:which_key_map.o = { 'name' : '+Open' }
-let g:which_key_map.o.g = 'Orthography'
-let g:which_key_map.Q = 'Force-quit-all'
-let g:which_key_map.r = { 'name' : '+Replace' }
-let g:which_key_map.r.w = 'Replace word'
-let g:which_key_map.s = { 'name' : '+Surround' }
-let g:which_key_map.s.o = 'Source-file'
-let g:which_key_map.s.w = 'Surround-word'
-let g:which_key_map.t = 'Go-to-tab'
-let g:which_key_map["'"] = 'Register'
-let g:which_key_map['w'] = {
- \ 'name' : '+windows' ,
- \ 'd' : ['<C-W>c' , 'Delete-window'] ,
- \ 'h' : ['<C-W>h' , 'Window-left'] ,
- \ 'H' : ['<C-W>5<' , 'Expand-window-left'] ,
- \ 'j' : ['<C-W>j' , 'Window-below'] ,
- \ 'J' : [':resize +5' , 'Expand-window-below'] ,
- \ 'k' : ['<C-W>k' , 'Window-up'] ,
- \ 'K' : [':resize -5' , 'Expand-window-up'] ,
- \ 'l' : ['<C-W>l' , 'Window-right'] ,
- \ 'L' : ['<C-W>5>' , 'Expand-window-right'] ,
- \ 's' : ['<C-W>s' , 'Split-window-below'] ,
- \ 'v' : ['<C-W>v' , 'Split-window-below'] ,
- \ 'w' : ['<C-W>w' , 'Other-window'] ,
- \ '2' : ['<C-W>v' , 'Layout-double-columns'] ,
- \ '-' : ['<C-W>s' , 'Split-window-below'] ,
- \ '|' : ['<C-W>v' , 'Split-window-right'] ,
- \ '=' : ['<C-W>=' , 'Balance-window'] ,
- \ '?' : ['Windows' , 'Fzf-window'] ,
- \ }
-
-" }}}
-
-
" SHORTCUTS ---------------------------------------------------------------- {{{
-if filereadable(expand("${XDG_CONFIG_HOME:-$HOME/.config}/nvim/shortcuts.vim"))
- silent! source ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/shortcuts.vim
+if filereadable(expand("${XDG_CONFIG_HOME:-$HOME/.config}/vim/shortcuts.vim"))
+ silent! source ${XDG_CONFIG_HOME:-$HOME/.config}/vim/shortcuts.vim
endif
" }}}