Skip to content

Commit

Permalink
nvim, tmux
Browse files Browse the repository at this point in the history
  • Loading branch information
David Sargeant authored and David Sargeant committed Jan 18, 2016
1 parent 06071df commit 4deb8ef
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 141 deletions.
5 changes: 5 additions & 0 deletions .tmux.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
set -g mode-mouse on
set -g mouse-resize-pane on
set -g mouse-select-pane on
set -g mouse-select-window on
set -g default-terminal "screen-256color"
167 changes: 26 additions & 141 deletions .vimrc
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
" Turn off vi compatibility
set nocompatible
filetype off
" Enable file type, plugin, and indent
filetype plugin indent on

" Load plugins
call plug#begin()
" Plugins
Plug 'bling/vim-airline'
Plug 'EasyMotion'
Plug 'tir_black'
Expand All @@ -13,12 +14,16 @@ Plug 'tpope/vim-repeat'
Plug 'YankRing.vim'
Plug 'matchit.zip'
Plug 'tpope/vim-surround'
Plug 'ctrlpvim/ctrlp.vim', {'on': ['CtrlP','CtrlPClearCache','CtrlPBuffer']}
Plug 'drmingdrmer/xptemplate'
Plug 'lambdalisue/vim-manpager', {'on': 'MANPAGER'}
Plug 'lambdalisue/vim-pager', {'on': 'PAGER'}
Plug 'powerman/vim-plugin-AnsiEsc', {'on': 'PAGER'}
Plug 'ensime/ensime-vim', {'for': 'scala'}
Plug 'derekwyatt/vim-scala', {'for': 'scala'}
Plug 'ctrlpvim/ctrlp.vim', {'on': ['CtrlP', 'CtrlPClearCache', 'CtrlPBuffer']}
Plug 'mileszs/ack.vim', {'on': 'Ack'}
Plug 'mbbill/undotree', {'on': 'UndotreeToggle'}
Plug 'mtth/scratch.vim', {'on': ['Scratch', 'ScratchInsert']}
Plug 'xolox/vim-misc', {'on': ['Note', 'NoteFromSelectedText', 'DeleteNote', 'SearchNotes']}
Plug 'xolox/vim-notes', {'on': ['Note', 'NoteFromSelectedText', 'DeleteNote', 'SearchNotes']}
Plug 'smerrill/vcl-vim-plugin', {'for': 'vcl'}
Plug 'othree/html5.vim', {'for': 'html,xml'}
Plug 'guns/vim-sexp', {'for': 'lisp,scheme,clojure'}
Expand All @@ -29,8 +34,9 @@ Plug 'ervandew/supertab', {'for': 'fsharp'}
Plug 'fsharp/vim-fsharp', {'for': 'fsharp', 'do': 'make fsautocomplete'}
Plug 'lambdatoast/elm.vim', {'for': 'elm'}
call plug#end()
filetype plugin indent on

" Color theme
colorscheme tir_black
" Turn off beeping
set visualbell
" Highlight current line
Expand All @@ -50,17 +56,16 @@ set backspace=indent,eol,start
set clipboard=unnamed
" Use undo file to maintain undo state per buffer
set undofile
" Turn syntax highlighting on
syntax on
" Color theme
colorscheme tir_black
" Enable line numbers
set number
" Searching
set incsearch
set ic
set nohls
" Enable mouse in all modes
set mouse=a
" Omnicomplete
set completeopt=longest,menuone
" <Leader>
let mapleader=','
let maplocalleader=','
Expand All @@ -70,6 +75,7 @@ autocmd BufNewFile,BufRead *.edn setlocal filetype=clojure
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
" vim-airline
set laststatus=2
let g:airline_powerline_fonts = 1
let g:airline#extensions#tabline#enabled=1
let g:airline#extensions#tabline#show_tab_nr=0
let g:airline#extensions#tabline#show_close_button=0
Expand All @@ -92,145 +98,19 @@ nmap <C-j> :bp!<CR>
nmap <C-k> :bn!<CR>
" Last buffer
nmap <C-l> :e#<CR>
" Visual mode delimiter insertion
vmap s( "zdi(<C-R>z)<Esc>
vmap s[ "zdi[<C-R>z]<Esc>
vmap s{ "zdi{<C-R>z}<Esc>
" Sexp
let g:sexp_filetypes=''
let g:sexp_insert_after_wrap=1

function! s:init_lisp()
" vim-sexp
xmap <silent><buffer> af <Plug>(sexp_outer_list)
omap <silent><buffer> af <Plug>(sexp_outer_list)
xmap <silent><buffer> if <Plug>(sexp_inner_list)
omap <silent><buffer> if <Plug>(sexp_inner_list)
xmap <silent><buffer> aF <Plug>(sexp_outer_top_list)
omap <silent><buffer> aF <Plug>(sexp_outer_top_list)
xmap <silent><buffer> iF <Plug>(sexp_inner_top_list)
omap <silent><buffer> iF <Plug>(sexp_inner_top_list)
xmap <silent><buffer> as <Plug>(sexp_outer_string)
omap <silent><buffer> as <Plug>(sexp_outer_string)
xmap <silent><buffer> is <Plug>(sexp_inner_string)
omap <silent><buffer> is <Plug>(sexp_inner_string)
xmap <silent><buffer> ae <Plug>(sexp_outer_element)
omap <silent><buffer> ae <Plug>(sexp_outer_element)
xmap <silent><buffer> ie <Plug>(sexp_inner_element)
omap <silent><buffer> ie <Plug>(sexp_inner_element)
nmap <silent><buffer> ( <Plug>(sexp_move_to_prev_bracket)
xmap <silent><buffer> ( <Plug>(sexp_move_to_prev_bracket)
omap <silent><buffer> ( <Plug>(sexp_move_to_prev_bracket)
nmap <silent><buffer> ) <Plug>(sexp_move_to_next_bracket)
xmap <silent><buffer> ) <Plug>(sexp_move_to_next_bracket)
omap <silent><buffer> ) <Plug>(sexp_move_to_next_bracket)
nmap <silent><buffer> <Left> <Plug>(sexp_move_to_prev_element_head)
xmap <silent><buffer> <Left> <Plug>(sexp_move_to_prev_element_head)
omap <silent><buffer> <Left> <Plug>(sexp_move_to_prev_element_head)
nmap <silent><buffer> <Right> <Plug>(sexp_move_to_next_element_head)
xmap <silent><buffer> <Right> <Plug>(sexp_move_to_next_element_head)
omap <silent><buffer> <Right> <Plug>(sexp_move_to_next_element_head)
nmap <silent><buffer> <Up> <Plug>(sexp_move_to_prev_element_tail)
xmap <silent><buffer> <Up> <Plug>(sexp_move_to_prev_element_tail)
omap <silent><buffer> <Up> <Plug>(sexp_move_to_prev_element_tail)
nmap <silent><buffer> <Down> <Plug>(sexp_move_to_next_element_tail)
xmap <silent><buffer> <Down> <Plug>(sexp_move_to_next_element_tail)
omap <silent><buffer> <Down> <Plug>(sexp_move_to_next_element_tail)
nmap <silent><buffer> [[ <Plug>(sexp_move_to_prev_top_element)
xmap <silent><buffer> [[ <Plug>(sexp_move_to_prev_top_element)
omap <silent><buffer> [[ <Plug>(sexp_move_to_prev_top_element)
nmap <silent><buffer> ]] <Plug>(sexp_move_to_next_top_element)
xmap <silent><buffer> ]] <Plug>(sexp_move_to_next_top_element)
omap <silent><buffer> ]] <Plug>(sexp_move_to_next_top_element)
nmap <silent><buffer> [e <Plug>(sexp_select_prev_element)
xmap <silent><buffer> [e <Plug>(sexp_select_prev_element)
omap <silent><buffer> [e <Plug>(sexp_select_prev_element)
nmap <silent><buffer> ]e <Plug>(sexp_select_next_element)
xmap <silent><buffer> ]e <Plug>(sexp_select_next_element)
omap <silent><buffer> ]e <Plug>(sexp_select_next_element)
nmap <silent><buffer> == <Plug>(sexp_indent)
nmap <silent><buffer> =- <Plug>(sexp_indent_top)
nmap <silent><buffer> <LocalLeader>i <Plug>(sexp_round_head_wrap_list)
xmap <silent><buffer> <LocalLeader>i <Plug>(sexp_round_head_wrap_list)
nmap <silent><buffer> <LocalLeader>I <Plug>(sexp_round_tail_wrap_list)
xmap <silent><buffer> <LocalLeader>I <Plug>(sexp_round_tail_wrap_list)
nmap <silent><buffer> <LocalLeader>[ <Plug>(sexp_square_head_wrap_list)
xmap <silent><buffer> <LocalLeader>[ <Plug>(sexp_square_head_wrap_list)
nmap <silent><buffer> <LocalLeader>] <Plug>(sexp_square_tail_wrap_list)
xmap <silent><buffer> <LocalLeader>] <Plug>(sexp_square_tail_wrap_list)
nmap <silent><buffer> <LocalLeader>{ <Plug>(sexp_curly_head_wrap_list)
xmap <silent><buffer> <LocalLeader>{ <Plug>(sexp_curly_head_wrap_list)
nmap <silent><buffer> <LocalLeader>} <Plug>(sexp_curly_tail_wrap_list)
xmap <silent><buffer> <LocalLeader>} <Plug>(sexp_curly_tail_wrap_list)
nmap <silent><buffer> <LocalLeader>w <Plug>(sexp_round_head_wrap_element)
xmap <silent><buffer> <LocalLeader>w <Plug>(sexp_round_head_wrap_element)
nmap <silent><buffer> <LocalLeader>W <Plug>(sexp_round_tail_wrap_element)
xmap <silent><buffer> <LocalLeader>W <Plug>(sexp_round_tail_wrap_element)
nmap <silent><buffer> <LocalLeader>e[ <Plug>(sexp_square_head_wrap_element)
xmap <silent><buffer> <LocalLeader>e[ <Plug>(sexp_square_head_wrap_element)
nmap <silent><buffer> <LocalLeader>e] <Plug>(sexp_square_tail_wrap_element)
xmap <silent><buffer> <LocalLeader>e] <Plug>(sexp_square_tail_wrap_element)
nmap <silent><buffer> <LocalLeader>e{ <Plug>(sexp_curly_head_wrap_element)
xmap <silent><buffer> <LocalLeader>e{ <Plug>(sexp_curly_head_wrap_element)
nmap <silent><buffer> <LocalLeader>e} <Plug>(sexp_curly_tail_wrap_element)
xmap <silent><buffer> <LocalLeader>e} <Plug>(sexp_curly_tail_wrap_element)
nmap <silent><buffer> <LocalLeader>h <Plug>(sexp_insert_at_list_head)
nmap <silent><buffer> <LocalLeader>l <Plug>(sexp_insert_at_list_tail)
nmap <silent><buffer> <LocalLeader>@ <Plug>(sexp_splice_list)==
nmap <silent><buffer> <LocalLeader>o <Plug>(sexp_raise_list)==
xmap <silent><buffer> <LocalLeader>o <Plug>(sexp_raise_list)==
nmap <silent><buffer> <LocalLeader>O <Plug>(sexp_raise_element)==
xmap <silent><buffer> <LocalLeader>O <Plug>(sexp_raise_element)==
nmap <silent><buffer> <M-k> <Plug>(sexp_swap_list_backward)
xmap <silent><buffer> <M-k> <Plug>(sexp_swap_list_backward)
nmap <silent><buffer> <M-j> <Plug>(sexp_swap_list_forward)
xmap <silent><buffer> <M-j> <Plug>(sexp_swap_list_forward)
nmap <silent><buffer> <LocalLeader>s <Plug>(sexp_swap_element_backward)
xmap <silent><buffer> <LocalLeader>s <Plug>(sexp_swap_element_backward)
nmap <silent><buffer> <LocalLeader>S <Plug>(sexp_swap_element_forward)
xmap <silent><buffer> <LocalLeader>S <Plug>(sexp_swap_element_forward)
nmap <silent><buffer> <LocalLeader>< <Plug>(sexp_emit_head_element)==
xmap <silent><buffer> <LocalLeader>< <Plug>(sexp_emit_head_element)==
nmap <silent><buffer> <LocalLeader>> <Plug>(sexp_emit_tail_element)==
xmap <silent><buffer> <LocalLeader>> <Plug>(sexp_emit_tail_element)==
nmap <silent><buffer> <LocalLeader>( <Plug>(sexp_capture_prev_element)==
xmap <silent><buffer> <LocalLeader>( <Plug>(sexp_capture_prev_element)==
nmap <silent><buffer> <LocalLeader>) <Plug>(sexp_capture_next_element)==
xmap <silent><buffer> <LocalLeader>) <Plug>(sexp_capture_next_element)==
imap <silent><buffer> <BS> <Plug>(sexp_insert_backspace)
imap <silent><buffer> " <Plug>(sexp_insert_double_quote)
imap <silent><buffer> ( <Plug>(sexp_insert_opening_round)
imap <silent><buffer> ) <Plug>(sexp_insert_closing_round)
imap <silent><buffer> [ <Plug>(sexp_insert_opening_square)
imap <silent><buffer> ] <Plug>(sexp_insert_closing_square)
imap <silent><buffer> { <Plug>(sexp_insert_opening_curly)
imap <silent><buffer> } <Plug>(sexp_insert_closing_curly)
endfunction

function s:init_clojure()
" Fireplace
nmap <Leader>r :Require<CR>
" Clojure indentation
setlocal lispwords=as->,binding,bound-fn,case,catch,cond->,cond->>,condp,def,definline,definterface,defmacro,defmethod,defmulti,defn,defn-,defonce,defprotocol,defrecord,defstruct,deftest,deftest-,deftype,doseq,dotimes,doto,extend,extend-protocol,extend-type,fn,for,if,if-let,if-not,if-some,let,letfn,locking,loop,ns,proxy,reify,set-test,testing,when,when-first,when-let,when-not,when-some,while,with-bindings,with-in-str,with-local-vars,with-open,with-precision,with-redefs,with-redefs-fn,with-test,some->,some->>,go-loop,facts,fact
" Clojure custom keywords
let g:clojure_syntax_keywords={'clojureDefine': ['defn$','defna','defnv'], 'clojureSpecial': ['fn$','fna','fnv']}
endfunction

" Initialize lisp languages
autocmd FileType clojure,scheme,lisp call s:init_lisp()
autocmd FileType clojure call s:init_clojure()
" Trailing whitespace
let g:strip_whitespace_on_save=1
" Ack
let g:ack_default_options=' -s -H --no-color --smart-case --nogroup --column --literal'
nmap <Leader>a :Ack<Space>
" Ctrlp
let g:ctrlp_root_markers=['project.clj']
let g:ctrlp_root_markers=['project.clj', 'build.sbt']
nmap <Leader>f :CtrlP<CR>
nmap <Leader>cf :CtrlPClearCache<CR>
nmap <Leader>b :CtrlPBuffer<CR>
" nmap <Leader>b :CtrlPBuffer<CR>
let g:ctrlp_open_new_file='r'
let g:ctrlp_open_multiple_files='i'
let g:ctrlp_custom_ignore='\v[\/](target)$'
" YankRing
nmap <Leader>y :YRShow<CR>
function! YRRunAfterMaps()
Expand All @@ -242,8 +122,13 @@ let g:EasyMotion_leader_key='m'
nmap <Leader>u :UndotreeToggle<CR>
let g:undotree_SetFocusWhenToggle=1
let g:undotree_DiffAutoOpen=1
" Notes
let g:notes_directories=['~/Dropbox/Notes']
" Scratch
let g:scratch_insert_autohide=0
nmap gs :ScratchInsert<CR>
" Ensime
let EnErrorStyle='Underlined'
autocmd FileType scala nmap <Leader>t :EnType<CR>
autocmd FileType scala nmap <Leader>d :EnDocUri<CR>
autocmd FileType scala nmap <Leader>b :EnDocBrowse<CR>
autocmd FileType scala nmap <Leader>g :EnDeclaration<CR>
autocmd FileType scala ca format EnFormatSource
4 changes: 4 additions & 0 deletions nvim
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
source ~/.vimrc

" Terminal
tnoremap <Esc> <C-\><C-n>

0 comments on commit 4deb8ef

Please sign in to comment.