From ee38ee7a99395d658358552e61fccd7da597e032 Mon Sep 17 00:00:00 2001 From: Alex Selimov Date: Tue, 9 Jan 2024 12:08:44 -0500 Subject: [PATCH] Set up module for new terminal setups --- .gitmodules | 9 ++++ .tmux.conf | 78 ++++++++++++++++++++++++++++++++ .zshrc | 40 ++++++++++++++++ zsh/zsh-autosuggestions | 1 + zsh/zsh-history-substring-search | 1 + zsh/zsh-syntax-highlighting | 1 + 6 files changed, 130 insertions(+) create mode 100644 .gitmodules create mode 100644 .tmux.conf create mode 100644 .zshrc create mode 160000 zsh/zsh-autosuggestions create mode 160000 zsh/zsh-history-substring-search create mode 160000 zsh/zsh-syntax-highlighting diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..ccf1580 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,9 @@ +[submodule "zsh-autosuggestions"] + path = zsh/zsh-autosuggestions + url = https://github.com/zsh-users/zsh-autosuggestions +[submodule "zsh-history-substring-search"] + path = zsh/zsh-history-substring-search + url = https://github.com/zsh-users/zsh-history-substring-search +[submodule "zsh-syntax-highlighting"] + path = zsh/zsh-syntax-highlighting + url = https://github.com/zsh-users/zsh-syntax-highlighting diff --git a/.tmux.conf b/.tmux.conf new file mode 100644 index 0000000..72f9b0c --- /dev/null +++ b/.tmux.conf @@ -0,0 +1,78 @@ +#Make nicer tmux motion keys that work with vim as well +is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ + | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" + +bind-key -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L" +bind-key -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D" +bind-key -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U" +bind-key -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R" +bind-key -n C-\ if-shell "$is_vim" "send-keys C-\\" "select-pane -l" + +unbind C-b +set -g prefix C-p +bind C-p send-prefix + +#Sane split commands +bind | split-window -h -c "#{pane_current_path}" +bind - split-window -v -c "#{pane_current_path}" +unbind '"' +unbind % + +# reload config file (change file location to your the tmux.conf you want to use) +bind r source-file ~/.tmux.conf + +#Gruvbox coloring for tmux +## COLORSCHEME: gruvbox dark (medium) +set-option -g status "on" + +# default statusbar color +set-option -g status-style bg=colour237,fg=colour223 # bg=bg1, fg=fg1 + +# default window title colors +set-window-option -g window-status-style bg=colour214,fg=colour237 # bg=yellow, fg=bg1 + +# default window with an activity alert +set-window-option -g window-status-activity-style bg=colour237,fg=colour248 # bg=bg1, fg=fg3 + +# active window title colors +set-window-option -g window-status-current-style bg=red,fg=colour237 # fg=bg1 + +# pane border +set-option -g pane-active-border-style fg=colour250 #fg2 +set-option -g pane-border-style fg=colour237 #bg1 + +# message infos +set-option -g message-style bg=colour239,fg=colour223 # bg=bg2, fg=fg1 + +# writing commands inactive +set-option -g message-command-style bg=colour239,fg=colour223 # bg=fg3, fg=bg1 + +# pane number display +set-option -g display-panes-active-colour colour250 #fg2 +set-option -g display-panes-colour colour237 #bg1 + +# clock +set-window-option -g clock-mode-colour colour109 #blue + +# bell +set-window-option -g window-status-bell-style bg=colour167,fg=colour235 # bg=red, fg=bg + +## Theme settings mixed with colors (unfortunately, but there is no cleaner way) +set-option -g status-justify "left" +set-option -g status-left-style none +set-option -g status-left-length "80" +set-option -g status-right-style none +set-option -g status-right-length "80" +set-window-option -g window-status-separator "" + +set-option -g status-left "#[bg=colour241,fg=colour248] #S #[bg=colour237,fg=colour241,nobold,noitalics,nounderscore]" +set-option -g status-right "#[bg=colour237,fg=colour239 nobold, nounderscore, noitalics]#[bg=colour239,fg=colour246] %Y-%m-%d  %H:%M #[bg=colour239,fg=colour248,nobold,noitalics,nounderscore]#[bg=colour248,fg=colour237] #h " + +set-window-option -g window-status-current-format "#[bg=colour214,fg=colour237,nobold,noitalics,nounderscore]#[bg=colour214,fg=colour239] #I #[bg=colour214,fg=colour239,bold] #W#{?window_zoomed_flag,*Z,} #[bg=colour237,fg=colour214,nobold,noitalics,nounderscore]" +set-window-option -g window-status-format "#[bg=colour239,fg=colour237,noitalics]#[bg=colour239,fg=colour223] #I #[bg=colour239,fg=colour223] #W #[bg=colour237,fg=colour239,noitalics]" + +#vim bindings in scroll mode +set-window-option -g mode-keys vi +bind-key -T copy-mode-vi v send -X begin-selection +bind-key -T copy-mode-vi V send -X select-line +bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel 'xclip -in -selection clipboard' diff --git a/.zshrc b/.zshrc new file mode 100644 index 0000000..07c17c7 --- /dev/null +++ b/.zshrc @@ -0,0 +1,40 @@ +# Lines configured by zsh-newuser-install +HISTFILE=~/.histfile +HISTSIZE=1000 +SAVEHIST=1000 +setopt extendedglob notify +unsetopt autocd beep +bindkey -v +# End of lines configured by zsh-newuser-install +# The following lines were added by compinstall +zstyle :compinstall filename '/home/aselimov/.zshrc' + +shuf -n 1 ~/docs/kjv.txt +autoload -Uz compinit +compinit +# End of lines added by compinstall +# +export OMPI_MCA_rmaps_base_oversubscribe=1 +export CLICOLOR=1 +export LSCOLORS=ExGxBxDxCxEgEdxbxgxcxd +alias vi="nvim" +alias vim="nvim" +alias mergepdf="gs -dBATCH -dNOPAUSE -dQUIET -sDEVICE=pdfwrite -sOutputFile=output.pdf" +alias ddg="w3m ddg.gg" +#alias sxiv="sxiv-rifle" +function addbin(){ + ln -s $PWD/$1 /home/aselimov/bin +} +eval "$(starship init zsh)" +zstyle -e ':completion:*:hosts' hosts 'reply=( + ${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) 2>/dev/null)"}%%[#| ]*}//,/ } + ${=${${${${(@M)${(f)"$(cat ~/.ssh/config 2>/dev/null)"}:#Host *}#Host }:#*\**}:#*\?*}} +)' + +source "/home/aselimov/.config/zsh/zsh-autosuggestions/zsh-autosuggestions.zsh" +source "/home/aselimov/.config/zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" +source "/home/aselimov/.config/zsh/zsh-history-substring-search/zsh-history-substring-search.zsh" + +bindkey '^[[A' history-substring-search-up +bindkey '^[[B' history-substring-search-down +export XKB_DEFAULT_OPTIONS="caps:escape" diff --git a/zsh/zsh-autosuggestions b/zsh/zsh-autosuggestions new file mode 160000 index 0000000..c3d4e57 --- /dev/null +++ b/zsh/zsh-autosuggestions @@ -0,0 +1 @@ +Subproject commit c3d4e576c9c86eac62884bd47c01f6faed043fc5 diff --git a/zsh/zsh-history-substring-search b/zsh/zsh-history-substring-search new file mode 160000 index 0000000..8dd05bf --- /dev/null +++ b/zsh/zsh-history-substring-search @@ -0,0 +1 @@ +Subproject commit 8dd05bfcc12b0cd1ee9ea64be725b3d9f713cf64 diff --git a/zsh/zsh-syntax-highlighting b/zsh/zsh-syntax-highlighting new file mode 160000 index 0000000..e0165ea --- /dev/null +++ b/zsh/zsh-syntax-highlighting @@ -0,0 +1 @@ +Subproject commit e0165eaa730dd0fa321a6a6de74f092fe87630b0