commit 9c8ced70f3d37c1cf7d5bad5a608db98e8fd89b2 Author: dummy Date: Fri Jan 12 18:10:19 2018 -0500 Initial commit diff --git a/.bashrc b/.bashrc new file mode 100644 index 0000000..d23f785 --- /dev/null +++ b/.bashrc @@ -0,0 +1,26 @@ +# If not running interactively, don't do anything +[[ "$-" != *i* ]] && return + +export EDITOR=vim +#PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$ ' +GREEN="\[\e[0;32m\]" +RED="\[\e[0;31m\]" +YELLOW="\[\e[1;33m\]" +RESET="\[\e[0m\]" + +PS1="[$GREEN\u$RESET@$RED\h$RESET:$YELLOW\w$RESET]$" + +# Some shortcuts for different directory listings +alias ls='ls -hF --color=tty --group-directories-first' # classify files in colour +alias ll='ls -l' # long list +alias grep='grep --color' +alias tmux='tmux -2' + +# Umask +# +# /etc/profile sets 022, removing write perms to group + others. +# Set a more restrictive umask: i.e. no exec perms for others: +# umask 027 +# Paranoid: neither group nor others have any perms: +# umask 077 + diff --git a/.profile b/.profile new file mode 100644 index 0000000..fcac32b --- /dev/null +++ b/.profile @@ -0,0 +1,6 @@ +# if running bash +if [ -n "${BASH_VERSION}" ]; then + if [ -f "${HOME}/.bashrc" ]; then + source "${HOME}/.bashrc" + fi +fi diff --git a/.tmux.conf b/.tmux.conf new file mode 100644 index 0000000..8078a29 --- /dev/null +++ b/.tmux.conf @@ -0,0 +1,19 @@ + +setw -g xterm-keys on +set -g default-terminal "screen-256color" +set-option -g prefix C-a +bind-key C-a last-window +set-window-option -g mode-keys vi +set -s escape-time 0 + +bind -n C-h if "[ $(tmux display -p '#{pane_current_command}') = vim ]" "send-keys C-h" "select-pane -L" +bind -n C-j if "[ $(tmux display -p '#{pane_current_command}') = vim ]" "send-keys C-j" "select-pane -D" +bind -n C-k if "[ $(tmux display -p '#{pane_current_command}') = vim ]" "send-keys C-k" "select-pane -U" +bind -n C-l if "[ $(tmux display -p '#{pane_current_command}') = vim ]" "send-keys C-l" "select-pane -R" + +bind-key -T copy-mode-vi C-h select-pane -L +bind-key -T copy-mode-vi C-j select-pane -D +bind-key -T copy-mode-vi C-k select-pane -U +bind-key -T copy-mode-vi C-l select-pane -R +bind-key -T copy-mode-vi C-\ select-pane -l + diff --git a/.vimrc b/.vimrc new file mode 100644 index 0000000..804239c --- /dev/null +++ b/.vimrc @@ -0,0 +1,94 @@ +filetype plugin on +syntax on +colorscheme deus + +" don't clutter directories with backup files +set nobackup +set nowritebackup + +set tabstop=4 +set shiftwidth=4 " set to same as tabstop for auto-indent +set foldmethod=syntax +set foldnestmax=1 +set autoindent + +" filename auto-completion +set wildmode=longest,list,full +set wildmenu + +" attempts to fix delay when mode switch, also need tmux option "set -s escape-time 0" +set ttimeoutlen=10 + +" line numbering gutter +set number +set numberwidth=3 +set cpoptions+=n " use gutter for wrapped lines +highlight LineNr term=bold cterm=NONE ctermfg=DarkGrey ctermbg=NONE gui=NONE guifg=DarkGrey guibg=NONE + +" airline plugin stuffs +set laststatus=2 +let g:airline#extensions#tabline#enabled = 1 +let g:airline#extensions#tabline#formatter = 'default' +let g:airline_theme='bubblegum' +let g:airline_left_sep = '' +let g:airline_left_alt_sep = '' +let g:airline_right_sep = '' +let g:airline_right_altsep = '' +let g:airline_section_c = '%{getcwd()}' +let g:airline_section_warning = '' " disable whitespace warnings + +" custom keybinds +" C-PageUp/Down conflicts with xfce-terminal, so there is a trick to fixing +" https://unix.stackexchange.com/questions/159979/xfce4-terminal-disable-individual-shortcut +map :bnext +map :bprev +nnoremap +nnoremap +nnoremap +nnoremap +map :make +map :ccl + +" Automatically open, but do not go to (if there are errors) the quickfix / +" location list window, or close it when is has become empty. +" +" Note: Must allow nesting of autocmds to enable any customizations for quickfix +" buffers. +" Note: Normally, :cwindow jumps to the quickfix window if the command opens it +" (but not if it's already open). However, as part of the autocmd, this doesn't +" seem to happen. +autocmd QuickFixCmdPost [^l]* nested cwindow +autocmd QuickFixCmdPost l* nested lwindow + +" fix keycodes when running inside tmux +" http://tmux-users.narkive.com/M9tIqoa0/c-pageup-and-c-pagedown-seems-not-to-work-in-tmux +if &term =~ '^screen' && exists('$TMUX') + " Mouse mode + set mouse+=a + set ttymouse=xterm2 + + " tmux sends xterm-style keys when xterm-keys option is on + execute "set =\e[1;*A" + execute "set =\e[1;*B" + execute "set =\e[1;*C" + execute "set =\e[1;*D" + execute "set =\e[1;*H" + execute "set =\e[1;*F" + execute "set =\e[2;*~" + execute "set =\e[3;*~" + execute "set =\e[5;*~" + execute "set =\e[6;*~" + execute "set =\e[1;*P" + execute "set =\e[1;*Q" + execute "set =\e[1;*R" + execute "set =\e[1;*S" + execute "set =\e[15;*~" + execute "set =\e[17;*~" + execute "set =\e[18;*~" + execute "set =\e[19;*~" + execute "set =\e[20;*~" + execute "set =\e[21;*~" + execute "set =\e[23;*~" + execute "set =\e[24;*~" +endif + diff --git a/sync.sh b/sync.sh new file mode 100755 index 0000000..6216570 --- /dev/null +++ b/sync.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +rsync -avP ~/.vimrc ~/.bashrc ~/.tmux.conf ~/.profile ./ +