Skip to content

Instantly share code, notes, and snippets.

@brainfucksec
Last active November 8, 2024 13:01
Show Gist options
  • Save brainfucksec/dbe82148ddd055eff9dd811c4584ffa6 to your computer and use it in GitHub Desktop.
Save brainfucksec/dbe82148ddd055eff9dd811c4584ffa6 to your computer and use it in GitHub Desktop.
Termux bash.bashrc
######################################
#
# Termux bash.bashrc
# by brainf+ck
#
# Last modified: 2022/06/30
#
######################################
#### Global ##########################
# `grep default` highlight color
export GREP_COLOR="1;32"
# EDITOR
export EDITOR="nvim"
export SUDO_EDITOR="nvim"
export VISUAL="nvim"
# Colored man
export MANPAGER="less -R --use-color -Dd+g -Du+b"
#### History settings ################
# append to the history file, don't overwrite it
shopt -s histappend
# load results of history substitution into the readline editing buffer
shopt -s histverify
# don't put duplicate lines or lines starting with space in the history
HISTCONTROL=ignoreboth
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
#### Autocompletion ##################
# cycle through all matches with 'TAB' key
bind 'TAB:menu-complete'
# necessary for programmable completion
shopt -s extglob
# cd when entering just a path
shopt -s autocd
#### Prompt ##########################
fake_user="elliot"
PS1='\[\033[0;32m\]┌──(\[\033[1;34m\]${fake_user}@\h\[\033[0;32m\])-[\[\033[0;1m\]\w\[\033[0;32m\]]
\[\033[0;32m\]└─\[\033[1;34m\]\$\[\033[0m\] '
#### Aliases #########################
# enable color support of ls, grep and ip, also add handy aliases
if [[ -x /usr/bin/dircolors ]]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
alias grep='grep --color=auto'
alias diff='diff --color=auto'
alias ip='ip -color'
fi
# common commands
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
alias .....='cd ../../../..'
alias lm='ls | more'
alias ll='ls -lFh'
alias la='ls -alFh --group-directories-first'
alias l1='ls -1F --group-directories-first'
alias l1m='ls -1F --group-directories-first | more'
alias lh='ls -ld .??*'
alias lsn='ls | cat -n'
alias mkdir='mkdir -p -v'
alias cp='cp --preserve=all'
alias cpv='cp --preserve=all -v'
alias cpr='cp --preserve=all -R'
alias cpp='rsync -ahW --info=progress2'
alias cs='printf "\033c"'
alias q='exit'
# memory/CPU
alias df='df -Tha --total'
alias free='free -mt'
alias ps='ps auxf'
alias ht='htop'
alias cputemp='sensors | grep Core'
# applications shortcuts
alias myip='curl -s -m 5 https://ipleak.net/json/'
alias e='nvim'
alias w3m='w3m https://duckduckgo.com'
#### Functions ######################
# If user has entered command which invokes non-available
# utility, command-not-found will give a package suggestions.
if [ -x /data/data/com.termux/files/usr/libexec/termux/command-not-found ]; then
command_not_found_handle() {
/data/data/com.termux/files/usr/libexec/termux/command-not-found "$1"
}
fi
# nnn "cd on quit"
n()
{
# Block nesting of nnn in subshells
if [ -n $NNNVL ] && [ "${NNNVL:-0}" -ge 1 ]; then
echo "nnn is already running"
return
fi
# The behaviour is set to cd on quit (nnn checks if NNN_TMPFILE is set)
# If NNN_TMPFILE is set to a custom path, it must be exported for nnn to
# see. To cd on quit only on ^G, remove the "export" and make sure not to
# use a custom path, i.e. set NNN_TMPFILE *exactly* as follows:
# NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
export NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
# Unmask ^Q (, ^V etc.) (if required, see `stty -a`) to Quit nnn
# stty start undef
# stty stop undef
# stty lwrap undef
# stty lnext undef
nnn "$@"
if [ -f "$NNN_TMPFILE" ]; then
. "$NNN_TMPFILE"
rm -f "$NNN_TMPFILE" > /dev/null
fi
}
@dasdemiryusuf877
Copy link

good.

@knightfall-cs
Copy link

A customized version with added aliases and intro:
https://github.com/knightfall-cs/termux-bashrc.git

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment