diff --git a/tmux.conf b/tmux.conf index 1dfe699..3e97820 100644 --- a/tmux.conf +++ b/tmux.conf @@ -1,34 +1,90 @@ +set-option -g default-command "reattach-to-user-namespace -l bash" set-option -g prefix C-a bind-key C-a last-window - -# set default shell -#set-option -g default-shell /bin/zsh - set -g default-terminal "screen-256color" +setw -g alternate-screen on # Window size constraints setw -g aggressive-resize on -# Command piping -bind-key a send-prefix - # Mouse in copy mode -setw -g mode-mouse on -set -g mouse-select-pane on +set-option -g mouse on -setw -g alternate-screen on +# Prevent renaming windows (use to rename) +set-option -g allow-rename off # Status bar stuff -set -g status-utf8 on set -g status-keys vi set -g status-interval 5 -set -g status-attr bright -set -g status-bg colour65 +# Design stuff, likely to change +#set -g status-attr bright +#set -g status-bg colour65 +#set -g status-left-length 20 +#set -g status-left '#[fg=white][#[fg=colour122]#S#[fg=white]]#[default]' +#set -g status-justify centre +#set -g status-right '#[fg=colour222]%m/%d %I:%M:%S#[default]' +#setw -g window-status-current-format ' #[fg=white](#[fg=colour11]#I.#P#F#W#[fg=white])#[default]' +#setw -g window-status-format '#I#F#W' + +# New Design +set -g status-justify left +set -g status-bg default +set -g status-fg colour12 + +#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 '' + +# The panes { +set -g pane-border-fg colour238 +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 -set -g status-left '#[fg=white][#[fg=colour122]#S#[fg=white]]#[default]' -set -g status-justify centre -set -g status-right '#[fg=colour222]%m/%d %I:%M:%S#[default]' -setw -g window-status-current-format ' #[fg=white](#[fg=colour11]#I.#P#F#W#[fg=white])#[default]' -setw -g window-status-format '#I#F#W' + +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 + +# } diff --git a/vimrc b/vimrc index 37678a9..96fef33 100644 --- a/vimrc +++ b/vimrc @@ -1,63 +1,102 @@ -set shell=/bin/bash -set nocompatible -set laststatus=2 -set encoding=utf-8 +" system stuff +filetype off " for now, enabled after Vundle +set nocompatible " disable vi compatibility +set shell=/bin/bash " set our shell, always bash +set laststatus=2 " always show a status-bar +set encoding=utf-8 " always be unicode-ing +set hidden " hide abandoned buffers, don't close +set mouse=a " enable mouse support everywhere + + +" aesthetics +syntax enable " enable syntax processing +set scrolloff=4 " always show 5 lines above/below cursor +set sidescrolloff=5 " always show 5 chars over +set display=lastline " show as much as possible, no @s +set colorcolumn=80 " show bar at column # as a guide (pep8) + + +" tabs +set expandtab " make any tabs into spaces +set tabstop=4 " turn them into 4 spaces +set softtabstop=4 " even in insert mode +set shiftwidth=4 " also 4 spaces for <> indenting + + +" interface +set nowrap " never wrap long lines +set number " show line numbers +set relativenumber " show numbers relative to current line +set cursorline " highlight currently selected line +set wildmenu " command autocomplete bar +set lazyredraw " redraw only when needed +set showmatch " highlight matching brackets/parens +set incsearch " real-time searching while typing +set hlsearch " highlight search matches +set autoindent " auto-match surrounding indentation for newlines +set backspace=indent,start " let backspace delete autoindent, not eol + + +" folding +set foldenable " turn on vim folding +set foldnestmax=8 " stay out of fold-hell, only 10-deep +set foldmethod=indent " unless told otherwise, fold on indents + + +" set Vundle runtime path and initialize +set rtp+=~/.vim/bundle/Vundle.vim +call vundle#begin() + +" Plugins for Vundle to handle +Plugin 'VundleVim/Vundle.vim' " handle Vundle itself +Plugin 'fholgado/minibufexpl.vim' " mini-buffer explorer (tabs at top) +Plugin 'itchyny/lightline.vim' " status bar replacement +Plugin 'Lokaltog/vim-distinguished.git' " ancient color-scheme, should replace +Plugin 'scrooloose/nerdtree.git' +Plugin 'ervandew/supertab.git' +Plugin 'nvie/vim-flake8.git' +Plugin 'kien/rainbow_parentheses.vim.git' +Plugin 'hynek/vim-python-pep8-indent' +Plugin 'tmhedberg/SimpylFold' +Plugin 'vim-syntastic/syntastic' +Plugin 'ejholmes/vim-forcedotcom' +Plugin 'LokiChaos/vim-tintin.git' +Plugin 'rust-lang/rust.vim' + +" end vundle setup +call vundle#end() +colorscheme distinguished " such colours -filetype off -" autocmd +" autocmd check if has("autocmd") - " enable file type detection - "filetype on - filetype indent on - filetype plugin on - set ofu=syntaxcomplete#Complete + filetype plugin indent on " enable filetype detection + " \8 to run Flake8 on python files autocmd FileType python map 8 :call Flake8() + " set filetypes in odd extensions for decent highlighting + autocmd BufNewFile,BufRead *.djhtml set filetype=html + autocmd BufNewFile,BufRead *.raml set filetype=yaml + autocmd BufNewFile,BufRead *.rs set filetype=rust + autocmd BufNewFile,BufRead *.cls set filetype=apex + autocmd BufNewFile,BufRead *.tt,*.tin set filetype=tt + " for rainbow parentheses plugin + autocmd VimEnter * RainbowParenthesesToggle + autocmd Syntax * RainbowParenthesesLoadRound + autocmd Syntax * RainbowParenthesesLoadSquare + autocmd Syntax * RainbowParenthesesLoadBraces endif -" basic options -syntax on -set number -set relativenumber -set nowrap -set autoindent - -set backspace=indent,eol,start -set complete-=i -set showmatch -set smarttab -set incsearch - -set ruler -set showcmd -set wildmenu -set foldmethod=indent -set foldcolumn=1 - -if !&scrolloff - set scrolloff=1 -endif -if !&sidescrolloff - set sidescrolloff=5 -endif -set display+=lastline - -" spaces not tabs, etc -set tabstop=4 -set softtabstop=4 -set shiftwidth=4 -set expandtab - +" [COMMANDS] +" close html/xml tags with a hotkey +imap ,/ +" turn off search-highlighting +nnoremap :nohlsearch +" highlight last inserted text +nnoremap gV `[v`] " show invisible characters nmap l :set list! set listchars=tab:▸\ ,eol:¬ - -" multi-file -set hidden - -" shortcut to silently run commands -command -nargs=1 Run execute ':silent !'. execute ':redraw!' - +" don't be a noob - disable arrow keys everywhere map map map @@ -67,63 +106,19 @@ imap imap imap -" lets setup vundle -set rtp+=~/.vim/bundle/Vundle.vim -call vundle#begin() -call vundle#rc() - -" vundle bundles -Plugin 'gmarik/Vundle.vim' - -" bundles on github -Plugin 'fholgado/minibufexpl.vim.git' -Plugin 'Lokaltog/vim-powerline.git' -Plugin 'Lokaltog/vim-distinguished.git' -Plugin 'scrooloose/nerdtree.git' -Plugin 'ervandew/supertab.git' -Plugin 'myusuf3/numbers.vim.git' -Plugin 'majutsushi/tagbar.git' -Plugin 'nvie/vim-flake8.git' -Plugin 'kien/rainbow_parentheses.vim.git' -Plugin 'hynek/vim-python-pep8-indent' - -call vundle#end() -filetype plugin indent on - -" toggle showing nerd-tree -:nmap e :NERDTreeToggle -" toggle showing tagbar -nmap r :TagbarToggle - -" end tags with a key -imap ,/ - -" xml validation -:nmap ; :%w !xmllint --valid --noout - - -" toggle line wrap -:nmap w :setlocal wrap!:setlocal wrap? - -" dem fancy colors -set t_Co=256 -"colorscheme ir_black " for macvim -colorscheme distinguished - -" force django templates to use html syntax -au BufNewFile,BufRead *.djhtml set filetype=html -au BufNewFile,BufRead *.raml set filetype=yaml - -" sudo save -cmap w!! w !sudo tee % >/dev/null - -" Let's try some mouse stuff -set mouse=a - -" Mark the 80th column. PEP8 yo -set colorcolumn=80 - -" rainbow parens -au VimEnter * RainbowParenthesesToggle -au Syntax * RainbowParenthesesLoadRound -au Syntax * RainbowParenthesesLoadSquare -au Syntax * RainbowParenthesesLoadBraces +" [PLUGIN COMMANDS] +" show nerd-tree bar +nmap e :NERDTreeToggle +" validate xml +nmap ; :%w !xmllint --valid --noout - + + +" [Syntastic Settings] +set statusline+=%#warningmsg# +set statusline+=%{SyntasticStatuslineFlag()} +set statusline+=%* +let g:syntastic_always_populate_loc_list = 1 +let g:syntastic_auto_loc_list = 1 +let g:syntastic_check_on_open = 1 +let g:syntastic_check_on_wq = 0 +let g:syntastic_loc_list_height = 3