From dded5d649715f00f510bdf53470fe7a8ce6da293 Mon Sep 17 00:00:00 2001 From: William Carroll Date: Thu, 1 Dec 2016 18:29:58 -0500 Subject: Adds elixir support; extends tmux config; adds vim viewport key-bindings --- configs/.tmux.conf | 24 +++++++++++++++++++++++- configs/.vimrc | 23 +++++++++++++++-------- 2 files changed, 38 insertions(+), 9 deletions(-) (limited to 'configs') diff --git a/configs/.tmux.conf b/configs/.tmux.conf index 05c0d6515755..1a7918444b82 100644 --- a/configs/.tmux.conf +++ b/configs/.tmux.conf @@ -1,40 +1,57 @@ +# change tmux leader +unbind C-b +set -g prefix C-a +bind C-a send-prefix + + # COLORS! -set -g default-terminal "screen-256color" +set -g default-terminal "tmux-256color-italic" + #copy-paste fixes: http://evertpot.com/osx-tmux-vim-copy-paste-clipboard/ # Copy-paste integration set-option -g default-command "reattach-to-user-namespace -l zsh" + # Use vim keybindings in copy mode setw -g mode-keys vi + # Setup 'v' to begin selection as in Vim bind-key -t vi-copy v begin-selection bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy" + # Update default binding of `Enter` to also use copy-pipe unbind -t vi-copy Enter bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy" + # Bind ']' to use pbpaste bind ] run "reattach-to-user-namespace pbpaste | tmux load-buffer - && tmux paste-buffer" + # fix for slow ESC issues set -s escape-time 0 + # start window indicies at 1 set -g base-index 1 + # window naming nonsense set-window-option -g automatic-rename on set-window-option -g allow-rename off + # new windows carry over current working directory bind c new-window -c '#{pane_current_path}' + # mouse mode set-option -g mouse on + # Make tmux work like vi set-window-option -g mode-keys vi bind h select-pane -L @@ -42,20 +59,24 @@ bind j select-pane -D bind k select-pane -U bind l select-pane -R + # Easier window swaps bind -n C-left swap-window -t -1 bind -n C-right swap-window -t +1 + # Easier window moves bind -n m-left previous-window bind -n m-right next-window + # window resizing bind -n S-Up resize-pane -U 5 bind -n S-Down resize-pane -D 5 bind -n S-Left resize-pane -L 10 bind -n S-Right resize-pane -R 10 + # Option + number to jump to window bind -n m-0 select-window -t 0 bind -n m-1 select-window -t 1 @@ -68,6 +89,7 @@ bind -n m-7 select-window -t 7 bind -n m-8 select-window -t 8 bind -n m-9 select-window -t 9 + # Option + l to toggle between sessions # bind -n m-l switch-client -l bind -n m-s choose-session diff --git a/configs/.vimrc b/configs/.vimrc index 5b08f2c778a7..a6f78c83f120 100644 --- a/configs/.vimrc +++ b/configs/.vimrc @@ -19,9 +19,6 @@ Plugin 'tpope/vim-fugitive' Plugin 'Raimondi/delimitMate' -" Autocompletion -Plugin 'Valloric/YouCompleteMe' - " Displays git-tracked C*UD ops within gutter. Plugin 'airblade/vim-gitgutter' Plugin 'kien/ctrlp.vim' @@ -36,7 +33,7 @@ Plugin 'lambdatoast/elm.vim' " Elixir Plugins Plugin 'elixir-lang/vim-elixir' Plugin 'slashmili/alchemist.vim' -Plugin 'powerman/vim-plugin-ANsiEsc' +Plugin 'powerman/vim-plugin-AnsiEsc' " TypeScript Plugins Plugin 'rschmukler/typescript-vim' @@ -194,7 +191,7 @@ nnoremap :1bnext nnoremap :1bprevious " Buffer creation -nnoremap :enew +" nnoremap :enew " Buffer deletion nnoremap bq :bp bd # @@ -380,13 +377,18 @@ nnoremap v8 :resize 40 " Show hidden files by default. (Toggle with capital 'i') let NERDTreeShowHidden=1 -" View Directory tree with ctrl + \ -nnoremap :NERDTreeToggle +" View Directory tree with ctrl + n +nnoremap :NERDTreeToggle " View open buffer location in tree. nnoremap :NERDTreeFind +" Jump to the top / bottom of the Viewport +nnoremap K H +nnoremap J L + + " BOL and EOL nnoremap H ^ vnoremap H ^ @@ -399,7 +401,7 @@ vnoremap // y/" " trim trailing whitespace on save -autocmd BufWritePre *.{js,py,tpl,less,html} :%s/\s\+$//e +autocmd BufWritePre *.{js,py,tpl,less,html,ex} :%s/\s\+$//e " set default font and size @@ -417,6 +419,11 @@ nnoremap p :CtrlP " Fuzzy-finds files within cwd. " nnoremap pf :CtrlP + +" Use .gitignore file to populate Ctrl-P +let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files . -co --exclude-standard', 'find %s -type f'] + + " Ignores dirs and files let g:ctrlp_custom_ignore = { \ 'dir': 'node_modules', -- cgit 1.4.1