summaryrefslogtreecommitdiff
path: root/config/bash
diff options
context:
space:
mode:
authorSüleyman Fərəcli <suleyman@farajli.net>2025-06-19 01:19:02 +0400
committerGitHub <noreply@github.com>2025-06-19 01:19:02 +0400
commit4d14ace3c5180ec0827408c1222cb35fe27cf484 (patch)
tree5e0caad138af71bdb2d9c524b0f6fff87eee4443 /config/bash
parent1eb90cf48629b8dfc0182cbe38b34c8082f4dc40 (diff)
parent4210338b4166f8f1c16bf30e72a69e11c098eea8 (diff)
Merge pull request #9 from sfarajli/dev
Dev
Diffstat (limited to 'config/bash')
-rw-r--r--config/bash/bashrc24
1 files changed, 17 insertions, 7 deletions
diff --git a/config/bash/bashrc b/config/bash/bashrc
index ca2435d..f143fd2 100644
--- a/config/bash/bashrc
+++ b/config/bash/bashrc
@@ -1,18 +1,28 @@
-# Minimal bash config for servers
-
set -o vi
-stty -ixon # Disable ctrl-s and ctrl-q for freezing prompt
-shopt -s autocd # automatically cd into typed directory
+# `set show-mode-in-prompt on` is not set,
+# indicating vi mode in bash is too slow
+
+# Ctrl-l is disabled in vi mode, bind it manually
+bind -m vi-command '"\C-l": clear-screen'
+bind -m vi-insert '"\C-l": clear-screen'
-alias vi=vim
-alias vi=nvim
+stty -ixon # Disable ctrl-s and ctrl-q for freezing prompt
+shopt -s autocd # Automatically cd into typed directory
-PS1='\e[01;31m$(code=${?##0};echo ${code:+[${code}]" "})\e[00m\u@\H \w % '
+PS1='\[\e[01;31m\]$(code=$?; [ "$code" -ne 0 ] && echo "[${code}] ")\[\e[00m\]\[\e[01;34m\]\u\[\e[00m\]@\H \w % '
if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc" ];then
source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc"
+else
+ # Fallback aliases where aliasrc isn't present (e.g., on servers)
+ alias \
+ vi="vim" \
+ vi="nvim" \
+ clear="clear -x"
+
fi
if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/functionrc" ];then
source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/functionrc"
+ bind '"\C-o": "\C-ulfcd\n"'
fi