dot_testing/.config/bash/bashrc
stupidcomputer ffc00b80b8 major changes to bashrc
This patch:
  - improves the ctrl+r recollection mechanism
  - sets vi mode on shell startup
2024-04-10 19:20:09 -05:00

65 lines
1.2 KiB
Bash

#!/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\$ "
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"
}