summaryrefslogtreecommitdiff
path: root/bashrc
diff options
context:
space:
mode:
authorJohannes Ranke <johannes.ranke@jrwb.de>2026-03-19 09:29:36 +0100
committerJohannes Ranke <johannes.ranke@jrwb.de>2026-03-19 09:29:36 +0100
commit91b23ed582f4a1dda87e93d799acbc28a4490b55 (patch)
tree2f72c1ebbf88ecfe6c76685d346edb359ac95645 /bashrc
parente27d787f385ee4c975bf8b534e888d6a485eceb9 (diff)
parentb11292b7ac7d8efd10a5dc09fc8ac5896cd26725 (diff)
Merge branch 'main' into nvim-luanvim-lua
Diffstat (limited to 'bashrc')
-rwxr-xr-x[-rw-r--r--]bashrc84
1 files changed, 22 insertions, 62 deletions
diff --git a/bashrc b/bashrc
index 4d6e54a..0f4cba9 100644..100755
--- a/bashrc
+++ b/bashrc
@@ -1,69 +1,20 @@
# vim: foldmethod=marker ts=4 sw=4
# editor {{{
-# Prefer neovim over vim over vi
-if [ -e /usr/bin/nvim ]
-then
- EDITOR=/usr/bin/nvim
-else
- if [ -e /usr/bin/vim ]
- then
- EDITOR=/usr/bin/vim
- else
- EDITOR=/usr/bin/vi
- fi
-fi
+# The vim command is managed by update-alternatives
+EDITOR=/usr/bin/vim
export EDITOR
# }}}
# R {{{
# littler scripts distributed with the littler package
-PATH=/usr/local/lib/R/site-library/littler/examples:"${PATH}"
PATH=/usr/lib/R/site-library/littler/examples:"${PATH}"
# Path where the R sources are
export RTOP=~/svn/R
# }}}
-# Julia {{{
-alias julia='/home/jranke/git/julia/julia'
-# }}}
# debian {{{
export DEBEMAIL=jranke@uni-bremen.de
export DEBFULLNAME="Johannes Ranke"
# }}}
-# prompt {{{
-force_color_prompt=yes
-
-# identify the current chroot
-if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
- debian_chroot=$(cat /etc/debian_chroot)
-fi
-
-if [ -n "$force_color_prompt" ]; then
- if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
- # We have color support; assume it's compliant with Ecma-48
- # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
- # a case would tend to support setf rather than setaf.)
- color_prompt=yes
- else
- color_prompt=
- fi
-fi
-
-source ~/.git-prompt.sh
-
-if [ "$color_prompt" = yes ]; then
- PS1="${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$(__git_ps1)\$ "
-else
- PS1="${debian_chroot:+($debian_chroot)}\u@\h:\w\$(__git_ps1)\$ "
-fi
-unset color_prompt force_color_prompt
-# }}}
-# history {{{
-# See bash(1) for more options
-HISTCONTROL=ignoredups:ignorespace
-shopt -s histappend
-HISTSIZE=1000
-HISTFILESIZE=2000
-# }}}
# ls, dir and grep {{{
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
@@ -84,24 +35,33 @@ alias l='ls -CF'
alias lh='ls -lh'
# }}}
# {{{varia
-# check the window size after each command and, if necessary,
-# update the values of LINES and COLUMNS.
-shopt -s checkwinsize
-
# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
# }}}
-# {{{ local/bin
+# {{{ ~/.local/bin
PATH=~/.local/bin:"${PATH}"
export PATH
# }}}
-# {{{ virtualenvwrapper
-export WORKON_HOME=$HOME/.virtualenvs
-export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
-export VIRTUALENVWRAPPER_VIRTUALENV_ARGS=' -p /usr/bin/python3 '
-source /usr/local/bin/virtualenvwrapper.sh
-# }}}
# {{{ reticulate
export RETICULATE_PYTHON=/usr/bin/python3
export RETICULATE_AUTOCONFIGURE=FALSE
# }}}
+# ripgrep->fzf->vim [QUERY] from https://junegunn.github.io/fzf/tips/ripgrep-integration/
+rfv() (
+ RELOAD='reload:rg --column --color=always --smart-case {q} || :'
+ OPENER='if [[ $FZF_SELECT_COUNT -eq 0 ]]; then
+ vim {1} +{2} # No selection. Open the current line in Vim.
+ else
+ vim +cw -q {+f} # Build quickfix list for the selected items.
+ fi'
+ fzf --disabled --ansi --multi \
+ --bind "start:$RELOAD" --bind "change:$RELOAD" \
+ --bind "enter:become:$OPENER" \
+ --bind "ctrl-o:execute:$OPENER" \
+ --bind 'alt-a:select-all,alt-d:deselect-all,ctrl-/:toggle-preview' \
+ --delimiter : \
+ --preview 'bat --style=full --color=always --highlight-line {2} {1}' \
+ --preview-window '~4,+{2}+4/3,<80(up)' \
+ --query "$*"
+)
+

Contact - Imprint