* use xterm for tmux light config
+ shell history for different tty terminals (restoring bash history for different tmux windows)
This commit is contained in:
1
.bashrc
1
.bashrc
@ -20,6 +20,7 @@ test -r /etc/bashrc && . /etc/bashrc
|
|||||||
test -r ~/.shell-env && . ~/.shell-env
|
test -r ~/.shell-env && . ~/.shell-env
|
||||||
test -r ~/.shell-aliases && . ~/.shell-aliases
|
test -r ~/.shell-aliases && . ~/.shell-aliases
|
||||||
test -r ~/.shell-common && . ~/.shell-common
|
test -r ~/.shell-common && . ~/.shell-common
|
||||||
|
test -r ~/.shell-history && . ~/.shell-history
|
||||||
|
|
||||||
# don't put duplicate lines in the history. See bash(1) for more options
|
# don't put duplicate lines in the history. See bash(1) for more options
|
||||||
# ... or force ignoredups and ignorespace
|
# ... or force ignoredups and ignorespace
|
||||||
|
35
.shell-history
Normal file
35
.shell-history
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# save history for multiple terminals
|
||||||
|
# create a folder to store the history
|
||||||
|
if [ ! -d "${HOME}/.bash_history_log" ]; then
|
||||||
|
mkdir "${HOME}/.bash_history_log"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Add the tty to the history file
|
||||||
|
# Each terminal's history will be stored in
|
||||||
|
# its own file
|
||||||
|
HISTSUFFIX=`tty | sed 's/\///g;s/^dev//g'`
|
||||||
|
HISTFILE="$HOME/.bash_history_log/bash_history_$HISTSUFFIX"
|
||||||
|
|
||||||
|
# Time stamp for the history
|
||||||
|
HISTTIMEFORMAT="%y-%m-%d %H:%M:%S "
|
||||||
|
|
||||||
|
# don't put duplicate lines or lines starting with space in the history.
|
||||||
|
HISTCONTROL=ignoredups:ignorespace
|
||||||
|
|
||||||
|
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
|
||||||
|
HISTSIZE=1000
|
||||||
|
HISTFILESIZE=5000
|
||||||
|
|
||||||
|
# append to the history file, don't overwrite it
|
||||||
|
shopt -s histappend
|
||||||
|
|
||||||
|
# Add to the history everytime the prompt is shown
|
||||||
|
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007";history -a'
|
||||||
|
|
||||||
|
# Search history
|
||||||
|
function searchhistory() {
|
||||||
|
grep -ri "${1}" ~/.bash_history_log/*
|
||||||
|
}
|
||||||
|
alias shistory=searchhistory
|
||||||
|
|
||||||
|
# Thanks for that: https://dev.to/mrrcollins/saving-bash-history-across-terminals-b80
|
@ -15,8 +15,7 @@ set -g @man-size '40%'
|
|||||||
set -g @man-orientation 'h'
|
set -g @man-orientation 'h'
|
||||||
set -g @man-shell-interactive 'off'
|
set -g @man-shell-interactive 'off'
|
||||||
|
|
||||||
set -g default-terminal "screen-256color"
|
set -g default-terminal "xterm-256color"
|
||||||
set -ag terminal-overrides ",alacritty:RGB"
|
|
||||||
|
|
||||||
# switch panes using Alt-arrow without prefix
|
# switch panes using Alt-arrow without prefix
|
||||||
bind -n M-Left select-pane -L
|
bind -n M-Left select-pane -L
|
||||||
@ -27,14 +26,10 @@ bind -n M-Down select-pane -D
|
|||||||
## Mouse On by default
|
## Mouse On by default
|
||||||
set -g mouse on
|
set -g mouse on
|
||||||
|
|
||||||
# PageUp/PageDown works for scrolling
|
## Scoll for vim
|
||||||
bind-key -T root PPage if-shell -F "#{alternate_on}" "send-keys PPage" "copy-mode -e; send-keys PPage"
|
bind -n WheelUpPane if "echo #{pane_current_command} | grep vim" "select-pane -t =; send-keys -N 4 Up" "select-pane -t =; copy-mode -e; send-keys -M"
|
||||||
bind-key -T copy-mode-vi PPage send-keys -X page-up
|
bind -n WheelDownPane if "echo #{pane_current_command} | grep vim" "select-pane -t =; send-keys -N 4 Down" "select-pane -t =; send-keys -M"
|
||||||
bind-key -T copy-mode-vi NPage send-keys -X page-down
|
# And additional scrolling things for tmux copy-mode
|
||||||
|
|
||||||
# Same for the mouse scroll button
|
|
||||||
bind-key -T root WheelUpPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; copy-mode -e; send-keys -M"
|
|
||||||
bind-key -T root WheelDownPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; send-keys -M"
|
|
||||||
bind-key -T copy-mode-vi WheelUpPane send-keys -X halfpage-up
|
bind-key -T copy-mode-vi WheelUpPane send-keys -X halfpage-up
|
||||||
bind-key -T copy-mode-vi WheelDownPane send-keys -X halfpage-down
|
bind-key -T copy-mode-vi WheelDownPane send-keys -X halfpage-down
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user