-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.vimrc
97 lines (76 loc) · 3.45 KB
/
.vimrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
set nocompatible " put the Improved in Vi Improved
set runtimepath+=~/.vim/bundle/Vundle.vim "
call vundle#begin() "
Plugin 'tpope/vim-sensible' " 'a universal set of defaults that (hopefully) everyone can agree on'
Plugin 'fholgado/minibufexpl.vim' " explore open buffers
let g:miniBufExplUseSingleClick = 1
let g:miniBufExplShowBufNumbers = 0
Plugin 'flazz/vim-colorschemes' " syntax highlighting color pack
Plugin 'scrooloose/nerdtree' " file system explorer
Plugin 'sjl/gundo.vim' " 'super undo'
Plugin 'tpope/vim-fugitive' " git integration
Plugin 'vim-airline/vim-airline' " status line
Plugin 'vim-airline/vim-airline-themes' " status line themes
Plugin 'vim-syntastic/syntastic' " error highlighting
Plugin 'VundleVim/Vundle.vim' " to prevent PluginClean from wiping out Vundle
" Language support
if(executable("fsharpc") || executable("fsc"))
Plugin 'fsharp/vim-fsharp'
endif
if(executable("coqtop"))
if(has("python"))
Plugin 'let-def/vimbufsync'
Plugin 'the-lambda-church/coquille'
elseif(has("python3"))
Plugin 'lilred/vimbufsync'
Plugin 'lilred/coquille'
endif
endif
if(executable("rustc"))
Plugin 'rust-lang/rust.vim'
if(executable("racer"))
Plugin 'racer-rust/vim-racer'
let $RUST_SRC_PATH = system("rustc --print sysroot")[:-2] . "/lib/rustlib/src/rust/src"
endif
endif
call vundle#end()
filetype off " toggle filetype support to refresh supported file types
filetype on "
let mapleader=","
set ttyfast " fast redraw
set lazyredraw " don't redraw in the middle of macros
set hidden " don't close automatically close buffers
set mouse=a " enable mouse in all modes
set background=dark "
silent! colorscheme badwolf "
set number " show line numbers
set colorcolumn=80 " ruler
set list " show whitespace
set showmatch " highlight matching parentheses
set showcmd " show command in bottom bar
set laststatus=2 " always show status bar
let tabwidth = 4 "
let &tabstop = tabwidth "
let &shiftwidth = tabwidth "
let &softtabstop = tabwidth "
set hlsearch " highlight matches
" stop highlighting matches
nnoremap <leader><space> :noh<CR>
set foldenable " enable code folding
set foldlevelstart=10 " only fold highly nested code by default
set foldnestmax=10 " not sure this is actually necessary
" toggle folding
nnoremap <space> za
set foldmethod=indent " sometimes something else might be better; adjust by file type
" move by visual line
nnoremap j gj
nnoremap k gk
" allows cursor change in tmux mode
" 'These lines change the cursor from block cursor mode to vertical bar cursor mode when using tmux. Without these lines, tmux always uses block cursor mode.'
if exists('$TMUX')
let &t_SI = "\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=1\x7\<Esc>\\"
let &t_EI = "\<Esc>Ptmux;\<Esc>\<Esc>]50;CursorShape=0\x7\<Esc>\\"
else
let &t_SI = "\<Esc>]50;CursorShape=1\x7"
let &t_EI = "\<Esc>]50;CursorShape=0\x7"
endif