# better ls if type "eza" > /dev/null; then alias ll='eza -bghHlS' else alias ll='exa -bghHlS' fi # bat (debian) if type "batcat" >/dev/null 2>&1; then alias bat='batcat' fi # HSTR configuration - add this to ~/.bashrc alias hh=hstr # hh to be alias for hstr export HSTR_CONFIG=hicolor # get more colors shopt -s histappend # append new history items to .bash_history export HISTCONTROL=ignorespace # leading space hides commands from history export HISTFILESIZE=10000 # increase history file size (default is 500) export HISTSIZE=${HISTFILESIZE} # increase history size (default is 500) # ensure synchronization between bash memory and history file export PROMPT_COMMAND=( "history -a; history -n;" "${PROMPT_COMMAND[@]}" ) function hstrnotiocsti { { READLINE_LINE="$( { &1 1>&3 3>&- )"; } 3>&1; READLINE_POINT=${#READLINE_LINE} } # if this is interactive shell, then bind hstr to Ctrl-r (for Vi mode check doc) if [[ $- =~ .*i.* ]]; then bind -x '"\C-r": "hstrnotiocsti"'; fi export HSTR_TIOCSTI=n # lf lfwrapper() { command lf "$@" # cleanup awk '$1 == "archivemount" { print $2 }' /etc/mtab | while read -r mntdir; do sanitized_input="$(printf "${mntdir}")" # /etc/mtab uses octal representation of spaces (possible other symbols too), printf would convert octal representation, so that it can be used in the umount & rmdir commands. umount "${sanitized_input}" rmdir "${sanitized_input}" done } lfcd() { dir="$(lfwrapper -print-last-dir "$@")" while ! cd "${dir}" 2>/dev/null; do dir="$(dirname -- "${dir}")" done } alias lf=lfcd # ranger ranger_cd() { temp_file="$(mktemp -t "ranger_cd.XXXXXXXXXX")" ranger --choosedir="${temp_file}" -- "${@:-${PWD}}" if chosen_dir="$(cat -- "${temp_file}")" && [ -n "${chosen_dir}" ] && [ "${chosen_dir}" != "${PWD}" ]; then cd -- "${chosen_dir}" || exit 1 fi rm -f -- "${temp_file}" } alias ranger=ranger_cd # mc # shellcheck source=/dev/null [[ -f "/usr/libexec/mc/mc.sh" ]] && source "/usr/libexec/mc/mc.sh" [[ -f "/usr/lib/mc/mc.sh" ]] && source "/usr/lib/mc/mc.sh" # inside tmux, we don't know if Sway got restarted if [[ -v TMUX ]]; then swaymsg() { SWAYSOCK=${XDG_RUNTIME_DIR}/sway-ipc.${UID}.$(pgrep -x sway).sock export SWAYSOCK command swaymsg "$@" } fi