# # ~/.bashrc # # If not running interactively, don't do anything [[ $- != *i* ]] && return # add from /etc/bash.bashrc default with fix for alacritty window title bars case ${TERM} in xterm*|rxvt*|Eterm|alacritty|aterm|kterm|gnome*) PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"' ;; screen*) PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"' ;; esac #customize prompt see https://wiki.archlinux.org/index.php/Bash/Prompt_customization RED="\[$(tput setaf 1)\]" YELLOW="\[$(tput setaf 3)\]" LIGHTBLUE="\[$(tput setaf 4)\]" BLUE="\[$(tput setaf 27)\]" RESET="\[$(tput sgr0)\]" if [[ -z "$DISPLAY" ]]; then PS1="${YELLOW}\u@\h \W>${RESET} " else #PS1="${BLUE}\u@\h \W>${RESET} " PS1="${LIGHTBLUE}\W>${RESET} " fi man() { LESS_TERMCAP_md=$'\e[01;31m' \ LESS_TERMCAP_me=$'\e[0m' \ LESS_TERMCAP_se=$'\e[0m' \ LESS_TERMCAP_so=$'\e[01;44;33m' \ LESS_TERMCAP_ue=$'\e[0m' \ LESS_TERMCAP_us=$'\e[01;32m' \ command man "$@" } alias ls='ls --color=always' alias l='ls' alias la='ls -A' alias ll='ls -lah' alias tree='tree -CL 2' alias nv='nvim' export EDITOR=nvim export VISUAL=wm_spawn alias feh='feh --scale-down' #alias xclip="xclip -selection clipboard" #alias ts="date --iso-8601='seconds' | tr -d '\n' | xclip" # Base16 Shell BASE16_SHELL="$HOME/.config/base16-shell/" [ -n "$PS1" ] && \ [ -s "$BASE16_SHELL/profile_helper.sh" ] && \ eval "$("$BASE16_SHELL/profile_helper.sh")" #add private usr bin to path if exists if [ -d "$HOME/bin" ] ; then export PATH="$HOME/bin:$PATH" fi if [ -d "$HOME/.local/bin" ] ; then export PATH="$HOME/.local/bin:$PATH" fi #---begin fzf setup--- #fast fuzzy file searching with fzf #fzf kbd shortcuts: , , source /usr/share/fzf/key-bindings.bash source /usr/share/fzf/completion.bash #use ripgrep with fzf #export FZF_DEFAULT_COMMAND='rg -i --files --glob "!.git/*"' #export FZF_DEFAULT_COMMAND='rg --files --no-ignore --hidden --follow --glob "!.git/*"' #bat instead of cat #fzf --preview 'bat --color=always --style=numbers --line-range=:500 {}' #or use fd with fzf # export FZF_DEFAULT_COMMAND="fd --type file --color=always" # export FZF_DEFAULT_COMMAND='fd --type file --hidden --color=always --follow --exclude .git' # export FZF_DEFAULT_OPTS="--ansi" #use ansi color codes and bind ctrl-y to copy selection export FZF_DEFAULT_OPTS=' --ansi --bind "ctrl-y:execute-silent(printf {} | cut -f 2- | wl-copy --trim-newline)"' export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" #bind ctrl-p to text editor alias fzfcmd='fzf --bind "enter:execute($EDITOR {})"' bind -x '"\C-p": fzfcmd;' #---end fzf setup--- #setup bash history export HISTIGNORE="ls*:cd*:exit:ps*:history:pass*:gpg*:start*" # export HISTSIZE=4096 export HISTSIZE=-1 #make unlimited # export HISTSIZE=0 #disable history # export HISTFILESIZE=32768 unset HISTFILESIZE export HISTCONTROL=ignoreboth:erasedups shopt -s histappend # export HISTTIMEFORMAT='%Y-%m-%d %H:%M:%S | ' # # if [ -d "$HOME/bin/Fiji.app" ]; then # alias fiji="~/bin/Fiji.app/ImageJ-linux64" # fi #source custom user aliases if [[ -e $HOME/.bashrc.local ]]; then source $HOME/.bashrc.local fi # if [[ -z "$TMUX" ]] && [ "$SSH_CONNECTION" != "" ]; then # tmux attach-session -t ssh_tmux || tmux new-session -s ssh_tmux # fi