Start with a small file

Interactive settings belong in an interactive shell. The first check leaves non-interactive sessions alone. The example then sets an editor, adjusts history, adds two short aliases, and enables case-insensitive completion.

shell/.bashrc
# Interactive Bash settings
case $- in *i*) ;; *) return ;; esac

export EDITOR=vim
export HISTCONTROL=ignoreboth
shopt -s histappend

alias ll='ls -lah --group-directories-first'
alias ..='cd ..'
bind 'set completion-ignore-case on'

Keep commands understandable

A good alias shortens a frequent action while preserving its meaning. If you keep forgetting what an abbreviation does, the original command may be easier. Avoid quietly changing the behaviour of commands with destructive effects.

Try one change at a time

Save your current configuration, add a few lines, and open a fresh window. Check startup, history, and completion. If the behaviour becomes harder to explain, it is fine to remove the setting.

Further reading

Bash manual ↗