Last active
May 26, 2020 04:25
-
-
Save EhsanKia/ce98bc5ce3cd4e94d3cf12b4ec9495b8 to your computer and use it in GitHub Desktop.
UNIX configs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Bind r to reload config | |
bind r source-file ~/.tmux.conf | |
# Remap prefix from 'C-b' to 'C-a' | |
unbind C-b | |
set-option -g prefix C-a | |
bind-key C-a send-prefix | |
# split panes using | and - | |
bind | split-window -h | |
bind - split-window -v | |
unbind '"' | |
unbind % | |
# switch panes using Alt-arrow without prefix | |
bind -n M-Left select-pane -L | |
bind -n M-Right select-pane -R | |
bind -n M-Up select-pane -U | |
bind -n M-Down select-pane -D | |
# Enable mouse control (clickable windows, panes, resizable panes) | |
set -g mouse on | |
# Scroll History | |
set -g history-limit 30000 | |
# Set ability to capture on start and restore on exit window data when running an application | |
setw -g alternate-screen on | |
# Lower escape timing from 500ms to 50ms for quicker response to scroll-buffer access. | |
set -s escape-time 50 | |
# don't rename windows automatically | |
set-option -g allow-rename off | |
###################### | |
### DESIGN CHANGES ### | |
###################### | |
# panes | |
set -g pane-border-fg black | |
set -g pane-active-border-fg brightred | |
## Status bar design | |
# status line | |
set -g status-justify left | |
set -g status-bg default | |
set -g status-fg colour12 | |
set -g status-interval 2 | |
# messaging | |
set -g message-fg black | |
set -g message-bg yellow | |
set -g message-command-fg blue | |
set -g message-command-bg black | |
#window mode | |
setw -g mode-bg colour6 | |
setw -g mode-fg colour0 | |
# window status | |
setw -g window-status-format " #F#I:#W#F " | |
setw -g window-status-current-format " #F#I:#W#F " | |
setw -g window-status-format "#[fg=magenta]#[bg=black] #I #[bg=cyan]#[fg=colour8] #W " | |
setw -g window-status-current-format "#[bg=brightmagenta]#[fg=colour8] #I #[fg=colour8]#[bg=colour14] #W " | |
setw -g window-status-current-bg colour0 | |
setw -g window-status-current-fg colour11 | |
setw -g window-status-current-attr dim | |
setw -g window-status-bg green | |
setw -g window-status-fg black | |
setw -g window-status-attr reverse | |
# Info on left (I don't have a session display for now) | |
set -g status-left '' | |
# loud or quiet? | |
set-option -g visual-activity off | |
set-option -g visual-bell off | |
set-option -g visual-silence off | |
set-window-option -g monitor-activity off | |
set-option -g bell-action none | |
set -g default-terminal "screen-256color" | |
# The modes | |
setw -g clock-mode-colour colour135 | |
setw -g mode-attr bold | |
setw -g mode-fg colour196 | |
setw -g mode-bg colour238 | |
# The panes | |
set -g pane-border-bg colour235 | |
set -g pane-border-fg colour238 | |
set -g pane-active-border-bg colour236 | |
set -g pane-active-border-fg colour51 | |
# The statusbar | |
set -g status-position bottom | |
set -g status-bg colour234 | |
set -g status-fg colour137 | |
set -g status-attr dim | |
set -g status-left '' | |
set -g status-right '#[fg=colour233,bg=colour241,bold] %d/%m #[fg=colour233,bg=colour245,bold] %H:%M:%S ' | |
set -g status-right-length 50 | |
set -g status-left-length 20 | |
setw -g window-status-current-fg colour81 | |
setw -g window-status-current-bg colour238 | |
setw -g window-status-current-attr bold | |
setw -g window-status-current-format ' #I#[fg=colour250]:#[fg=colour255]#W#[fg=colour50]#F ' | |
setw -g window-status-fg colour138 | |
setw -g window-status-bg colour235 | |
setw -g window-status-attr none | |
setw -g window-status-format ' #I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F ' | |
setw -g window-status-bell-attr bold | |
setw -g window-status-bell-fg colour255 | |
setw -g window-status-bell-bg colour1 | |
# The messages | |
set -g message-attr bold | |
set -g message-fg colour232 | |
set -g message-bg colour166 | |
# List of plugins | |
set -g @plugin 'tmux-plugins/tpm' | |
set -g @plugin 'tmux-plugins/tmux-sensible' | |
set -g @plugin 'tmux-plugins/tmux-yank' | |
set -g @plugin 'tmux-plugins/tmux-resurrect' | |
set -g @plugin 'nhdaly/tmux-better-mouse-mode' | |
# Plugin settings | |
set -g @resurrect-save-shell-history 'on' | |
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) | |
run '~/.tmux/plugins/tpm/tpm' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Path to your oh-my-zsh installation. | |
export ZSH=~/.oh-my-zsh | |
ZSH_THEME="" | |
ENABLE_CORRECTION="true" # command auto-correction. | |
HIST_STAMPS="yyyy-mm-dd" # Execution timestamp format | |
# Setup plugins | |
plugins=(zsh-autosuggestions zsh-completions dircycle history python sudo wd) | |
autoload -U compinit && compinit | |
source $ZSH/oh-my-zsh.sh | |
# Pure theme | |
fpath+=$HOME/.oh-my-zsh/themes/pure | |
autoload -U promptinit; promptinit | |
prompt pure | |
# Set default editors | |
export EDITOR='micro' | |
# Setup history | |
setopt share_history | |
HISTSIZE=100000 | |
SAVEHIST=100000 | |
HISTFILE=~/.history | |
setopt APPEND_HISTORY | |
############# ALIASES ############### | |
alias t="tmux new-session -A -s main" | |
alias zshrc="$EDITOR ~/.zshrc" | |
########## HACKS / FIXES ############ | |
# Fix micro bindings in tmux | |
export TERM=xterm-256color | |
# Better word navigation(?) | |
export WORDCHARS="${WORDCHARS:s#/#}" | |
# This speeds up pasting w/ autosuggest | |
# https://github.com/zsh-users/zsh-autosuggestions/issues/238 | |
pasteinit() { | |
OLD_SELF_INSERT=${${(s.:.)widgets[self-insert]}[2,3]} | |
zle -N self-insert url-quote-magic # I wonder if you'd need `.url-quote-magic`? | |
} | |
pastefinish() { | |
zle -N self-insert $OLD_SELF_INSERT | |
} | |
zstyle :bracketed-paste-magic paste-init pasteinit | |
zstyle :bracketed-paste-magic paste-finish pastefinish | |
# https://github.com/sindresorhus/pure/issues/184 | |
function zle-line-init zle-keymap-select { | |
zle .reset-prompt | |
} | |
zle -N zle-line-init | |
zle -N zle-keymap-select | |
# make tmux-yank work? | |
bindkey -e | |
########## CUSTOM BINDINGS ########### | |
# ctrl+backspace and ctrl+del to delete word | |
bindkey '^H' backward-kill-word | |
bindkey '^[[3;5~' kill-word | |
# bind zsh-autocomplete to ctrl+space | |
bindkey '^ ' autosuggest-accept | |
# Up/down history search after typing a prefix | |
autoload -U up-line-or-beginning-search | |
zle -N up-line-or-beginning-search | |
bindkey "^[[A" up-line-or-beginning-search | |
autoload -U down-line-or-beginning-search | |
zle -N down-line-or-beginning-search | |
bindkey "^[[B" down-line-or-beginning-search | |
# Keep at the end of .zshrc to wrap all created widgets | |
source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"Esc": "RemoveAllMultiCursors", | |
"CtrlShiftD": "DuplicateLine", | |
"Alt-d": "SpawnMultiCursor", | |
"CtrlShiftUp": "MoveLinesUp", | |
"CtrlShiftDown": "MoveLinesDown", | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"autoclose": true, | |
"autoindent": true, | |
"autosave": 0, | |
"autosu": true, | |
"backup": true, | |
"basename": false, | |
"colorcolumn": 0, | |
"colorscheme": "default", | |
"comment": true, | |
"cursorline": true, | |
"diff": true, | |
"diffgutter": true, | |
"divchars": "|-", | |
"divreverse": true, | |
"encoding": "utf-8", | |
"eofnewline": true, | |
"fastdirty": false, | |
"fileformat": "unix", | |
"filetype": "unknown", | |
"ftoptions": true, | |
"ignorecase": false, | |
"indentchar": " ", | |
"infobar": true, | |
"keepautoindent": false, | |
"keymenu": false, | |
"linter": true, | |
"literate": true, | |
"matchbrace": true, | |
"mkparents": false, | |
"mouse": true, | |
"paste": true, | |
"pluginchannels": [ | |
"https://raw.githubusercontent.com/micro-editor/plugin-channel/master/channel.json" | |
], | |
"pluginrepos": [], | |
"readonly": false, | |
"rmtrailingws": false, | |
"ruler": true, | |
"savecursor": true, | |
"savehistory": true, | |
"saveundo": true, | |
"scrollbar": false, | |
"scrollmargin": 3, | |
"scrollspeed": 3, | |
"smartpaste": true, | |
"softwrap": false, | |
"splitbottom": true, | |
"splitright": true, | |
"status": true, | |
"statusformatl": "$(filename) $(modified)($(line),$(col)) $(status.paste)| ft:$(opt:filetype) | $(opt:fileformat) | $(opt:encoding)", | |
"statusformatr": "$(bind:ToggleKeyMenu): bindings, $(bind:ToggleHelp): help", | |
"statusline": true, | |
"sucmd": "sudo", | |
"syntax": true, | |
"tabmovement": false, | |
"tabsize": 4, | |
"tabstospaces": false, | |
"useprimary": true, | |
"xterm": false | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment