From: Josuer08 Date: Mon, 8 Feb 2021 22:12:18 +0000 (-0500) Subject: bashrc separated into files X-Git-Url: https://git.josue.xyz/?p=dotfiles%2F.git;a=commitdiff_plain;h=207468d512b4145f34d0338d0323b832211c9221 bashrc separated into files --- diff --git a/.bashrc b/.bashrc index d7f9406b..3c2c9590 100644 --- a/.bashrc +++ b/.bashrc @@ -1,81 +1,39 @@ # ~/.bashrc: executed by bash(1) for non-login shells. -# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) -# for examples -export EDITOR=vim; -export VISUAL=nvim; #Nano is the main editor # If not running interactively, don't do anything case $- in *i*) ;; *) return;; esac +#Import all of the subfiles for .bashrc -# don't put duplicate lines or lines starting with space in the history. -# See bash(1) for more options -HISTCONTROL=ignoreboth - -# append to the history file, don't overwrite it -shopt -s histappend - -# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) -HISTSIZE= -HISTFILESIZE= -export HISTIGNORE='&:ls:ll:la:cd:exit:clear:history' -# check the window size after each command and, if necessary, -# update the values of LINES and COLUMNS. -shopt -s checkwinsize - -# If set, the pattern "**" used in a pathname expansion context will -# match all files and zero or more directories and subdirectories. -#shopt -s globstar - -# make less more friendly for non-text input files, see lesspipe(1) -[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" - - -# If this is an xterm set the title to user@host:dir -#case "$TERM" in -#xterm*|rxvt*|alacritty) - #PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" - #;; -#*) - #;; -#esac - -# enable color support of ls and also add handy aliases -if [ -x /usr/bin/dircolors ]; then - test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" - alias ls='ls -hN --color=auto --group-directories-first' - #alias dir='dir --color=auto' - #alias vdir='vdir --color=auto' +if [ -f ~/.config/bashrc/alias ]; +then + . ~/.config/bashrc/alias +fi - alias grep='grep --color=auto' - alias fgrep='fgrep --color=auto' - alias egrep='egrep --color=auto' +if [ -f ~/.config/bashrc/promts ]; +then + . ~/.config/bashrc/promts fi -# colored GCC warnings and errors -#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' +if [ -f ~/.config/bashrc/titles ]; +then + . ~/.config/bashrc/titles +fi -# some more ls aliases -alias ll='ls -alF' -alias la='ls -A' -alias l='ls -CF' +if [ -f ~/.config/bashrc/exports ]; +then + . ~/.config/bashrc/exports +fi -# Add an "alert" alias for long running commands. Use like so: -# sleep 10; alert -alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' +if [ -f ~/.config/bashrc/functions ]; +then + . ~/.config/bashrc/functions +fi -# Alias definitions. -# You may want to put all your additions into a separate file like -# ~/.bash_aliases, instead of adding them here directly. -# See /usr/share/doc/bash-doc/examples in the bash-doc package. -if [ -f ~/.bash_aliases ]; then - . ~/.bash_aliases -fi -# enable programmable completion features (you don't need to enable -# this, if it's already enabled in /etc/bash.bashrc and /etc/profile +#########################################AUTOCOMPLETION##################### # sources /etc/bash.bashrc). if ! shopt -oq posix; then if [ -f /usr/share/bash-completion/bash_completion ]; then @@ -84,225 +42,42 @@ if ! shopt -oq posix; then . /etc/bash_completion fi fi -# vi mode in the shell -set -o vi -# autocomplete for sudo man and wich -complete -cf sudo man wich; -# transform md anotations into PDF -mdpdf () { pandoc "$1".md -t beamer -o "$1".pdf ;} -#byebye for shutdown -alias byebye='shutdown now' -# Get all metadata -metadata () { echo "Salida del comando stat" ; stat "$1" ; echo "Salida del comando ls -lisan" ; ls -lisan "$1" ; echo "salida del comando exiftool" ; exiftool "$1" ;} -# use highlight for colored cat -alias ccat='highlight --out-format=ansi' -# activates the autocd mode -shopt -s autocd -# wifi available -alias wifi='nmcli d wifi'; -edit () { du -a -L "$1" | awk '{print $2}' | fzf | xargs -r "$VISUAL" ;} -# personalized ps1 ################################################################################# -# .bashrc (or .bash_profile) - -# declares an array with the emojis we want to support -EMOJIS=(👻 💀 👽 👾 🎃 😎 🧠 🦘 🦍 🎻) - -# selects a random element from the EMOJIS set -SELECTED_EMOJI=${EMOJIS[$RANDOM % ${#EMOJIS[@]}]}; -# declare the terminal prompt format -#export PS1='${SELECTED_EMOJI} [\u@\h \W]$ ' -#export PS1="\e[1;90m[\$?]\e[m\e[1;92m\[$(tput bold)\]\u@\h\e[m\[$(tput sgr0)\]:\e[0;36m\w\e[m\n\\$"; -export PS1="\e[1;90m[\$?]\e[m\e[1;92m\[$(tput bold)\]\u@\h\e[m\[$(tput sgr0)\]:\e[0;36m\w\e[m\n${SELECTED_EMOJI}"; - - -#################################################################################################### - -cat ~/.cache/wal/sequences & #This imports the theme from the last pywal - -#export PS1="\[\033[38;5;247m\][\$?]\[$(tput sgr0)\]\[$(tput bold)\]\[\033[38;5;40m\]\u@\h\[$(tput sgr0)\]:\[$(tput sgr0)\]\[\033[38;5;45m\]\w\[$(tput sgr0)\]\n\\$\[$(tput sgr0)\]" - -alias autowal='wal --iterative -i /usr/share/backgrounds/ > /dev/null' -#figlet de mi nombre -whoami | figlet Josuer08 | lolcat -F 0.25; -#whoami | figlet Josuer08 | lolcat; - -function cdls() { - DIR="$*"; - # if no DIR given, go home - if [ $# -lt 1 ]; then - DIR=$HOME; - fi; - builtin cd "${DIR}" && \ - # use your preferred ls command - ls -F --color=auto -} - - -#vicat is a color and line number cat - -function vicat() { - ccat $@ | nl; - -} - - - -#colorman -if $_isxrunning; then - export PAGER=less - export LESS_TERMCAP_mb=$'\E[01;31m' # begin blinking - export LESS_TERMCAP_md=$'\E[01;38;5;74m' # begin bold - export LESS_TERMCAP_me=$'\E[0m' # end mode - export LESS_TERMCAP_se=$'\E[0m' # end standout-mode - export LESS_TERMCAP_so=$'\E[38;5;246m' # begin standout-mode - info box - export LESS_TERMCAP_ue=$'\E[0m' # end underline - export LESS_TERMCAP_us=$'\E[04;38;5;146m' # begin underline +if [ -f /usr/share/fzf/completion.bash ]; +then +source /usr/share/fzf/completion.bash fi -#top10 commands -top10() { history | awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}' | sort -rn | head; } -# goes up by the number of directories -up() { - local d="" - limit=$1 - for ((i=1 ; i <= limit ; i++)); do - d=$d/.. - done - d=$(echo $d | sed 's/^\///') - if [[ -z "$d" ]]; then - d=.. - fi - cd $d -} -# ARCHIVE EXTRACTOR {{{ -extract() { - clrstart="\033[1;34m" #color codes - clrend="\033[0m" - - if [[ "$#" -lt 1 ]]; then - echo -e "${clrstart}Pass a filename. Optionally a destination folder. You can also append a v for verbose output.${clrend}" - exit 1 #not enough args - fi - - if [[ ! -e "$1" ]]; then - echo -e "${clrstart}File does not exist!${clrend}" - exit 2 #file not found - fi - - if [[ -z "$2" ]]; then - DESTDIR="." #set destdir to current dir - elif [[ ! -d "$2" ]]; then - echo -e -n "${clrstart}Destination folder doesn't exist or isnt a directory. Create? (y/n): ${clrend}" - read response - #echo -e "\n" - if [[ $response == y || $response == Y ]]; then - mkdir -p "$2" - if [ $? -eq 0 ]; then - DESTDIR="$2" - else - exit 6 #Write perms error - fi - else - echo -e "${clrstart}Closing.${clrend}"; exit 3 # n/wrong response - fi - else - DESTDIR="$2" - fi - - if [[ ! -z "$3" ]]; then - if [[ "$3" != "v" ]]; then - echo -e "${clrstart}Wrong argument $3 !${clrend}" - exit 4 #wrong arg 3 - fi - fi - - filename=`basename "$1"` - - #echo "${filename##*.}" debug - case "${filename##*.}" in - tar) - echo -e "${clrstart}Extracting $1 to $DESTDIR: (uncompressed tar)${clrend}" - tar x${3}f "$1" -C "$DESTDIR" - ;; - gz) - echo -e "${clrstart}Extracting $1 to $DESTDIR: (gip compressed tar)${clrend}" - tar x${3}fz "$1" -C "$DESTDIR" - ;; - tgz) - echo -e "${clrstart}Extracting $1 to $DESTDIR: (gip compressed tar)${clrend}" - tar x${3}fz "$1" -C "$DESTDIR" - ;; - xz) - echo -e "${clrstart}Extracting $1 to $DESTDIR: (gip compressed tar)${clrend}" - tar x${3}f -J "$1" -C "$DESTDIR" - ;; - bz2) - echo -e "${clrstart}Extracting $1 to $DESTDIR: (bzip compressed tar)${clrend}" - tar x${3}fj "$1" -C "$DESTDIR" - ;; - zip) - echo -e "${clrstart}Extracting $1 to $DESTDIR: (zipp compressed file)${clrend}" - unzip "$1" -d "$DESTDIR" - ;; - rar) - echo -e "${clrstart}Extracting $1 to $DESTDIR: (rar compressed file)${clrend}" - unrar x "$1" "$DESTDIR" - ;; - 7z) - echo -e "${clrstart}Extracting $1 to $DESTDIR: (7zip compressed file)${clrend}" - 7za e "$1" -o"$DESTDIR" - ;; - *) - echo -e "${clrstart}Unknown archieve format!" - exit 5 - ;; - esac -} -#}}} - - - -# REMIND ME, ITS IMPORTANT! {{{ -# usage: remindme