#!/bin/bash # some housekeeping shopt -s autocd set -o vi # vim mode alias ls="ls --color=auto" alias ll="ls -lah --color=auto" function cd() { builtin cd "$@" && ls --color=auto } # history HISTCONTROL=ignorespace:ignoredups:erasedups HISTFILESIZE=9999999999 HISTSIZE=9999999999 shopt -s cmdhist shopt -s histreedit shopt -s histappend shopt -s histverify PS1="\h:\w\$ " # hostname shenanigans case "$HOSTNAME" in "copernicus") PS1="\[\033[92;1m\]$PS1\[\033[0;0m\]" ;; "x230t") PS1="\[\033[93;1m\]$PS1\[\033[0;0m\]" ;; "mlg") PS1="\[\033[94;1m\]$PS1\[\033[0;0m\]" ;; "netbox") PS1="\[\033[95;1m\]$PS1\[\033[0;0m\]" ;; *) PS1="\[\033[96;1m\]$PS1\[\033[0;0m\]" ;; esac repos() { sel="$(ls ~/git | fzy | awk '{print "/home/usr/git/"$1}')" [ "$?" -eq 1 ] && exit cd "$sel" } hist() { res=$(cat ~/.config/bash/hist | \ sort | \ uniq | \ shuf | \ fzy) [ -n "$res" ] && $($res) } search() { if [ "$1" = '-a' ]; then res=$(find /home/usr/ /home/usr/doc/ \ -mindepth 1 \ -not -path '*/.*' \ -not -path './Mail/*' \ -not -path './vdir/*' \ -not -path '*venv*' \ -not -path '*node_modules*' \ -not -path '*__pycache__*' \ -type d | cut -c 11- | fzy) else res=$(find $(pwd) \ -mindepth 1 \ -not -path '*/.*' \ -not -path './Mail/*' \ -not -path './vdir/*' \ -not -path '*venv*' \ -not -path '*node_modules*' \ -not -path '*__pycache__*' \ -type d | cut -c 11- | fzy) fi [ -n "$res" ] && cd /home/usr/"$res" }