-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathvimrc.standards
136 lines (112 loc) · 4.54 KB
/
vimrc.standards
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
" standard: file settings ----------------------------------------------------
syntax on
" standard: training wheels for new vim users. Use the system clipboard on all
" registers. Take these weels of when you get more confident in Vim.
set clipboard=unnamed
" utf-8/unicode support
" requires Vim to be compiled with Multibyte support, you can check that by
" running `vim --version` and checking for +multi_byte.
if has('multi_byte')
scriptencoding utf-8
set encoding=utf-8
end
" presentation settings
set number " precede each line with its line number
set numberwidth=3 " number of culumns for line numbers
set textwidth=0 " Do not wrap words (insert)
set nowrap " Do not wrap words (view)
set showcmd " Show (partial) command in status line.
set showmatch " Show matching brackets.
set ruler " line and column number of the cursor position
set wildmenu " enhanced command completion
set visualbell " use visual bell instead of beeping
set laststatus=2 " always show the status line
"set listchars=tab:▷⋅,trail:·,eol:$
set listchars=tab:▷⋅,trail:·
set list
" highlight spell errors
hi SpellErrors guibg=red guifg=black ctermbg=red ctermfg=black
" behavior
" ignore these files when completing names and in
" explorer
set wildignore=.svn,CVS,.git,.hg,*.o,*.a,*.class,*.mo,*.la,*.so,*.obj,*.swp,*.jpg,*.png,*.xpm,*.gif
set autowriteall " Automatically save before commands like :next and :make
set hidden " enable multiple modified buffers
set history=10000
set autoread " automatically read file that has been changed on disk and doesn't have changes in vim
set backspace=indent,eol,start
set guioptions-=T " disable toolbar"
set completeopt=menuone,preview
let bash_is_sh=1 " syntax shell files as bash scripts
set cinoptions=:0,(s,u0,U1,g0,t0 " some indentation options ':h cinoptions' for details
set modelines=5 " number of lines to check for vim: directives at the start/end of file
"set fixdel " fix terminal code for delete (if delete is broken but backspace works)
set autoindent " automatically indent new line
set ts=2 " number of spaces in a tab
set sw=2 " number of spaces for indent
set et " expand tabs into spaces
set ttimeoutlen=50 " fast Esc to normal mode
" mouse settings
if has("mouse")
set mouse=a
endif
set mousehide " Hide mouse pointer on insert mode."
" search settings
set incsearch " Incremental search
set hlsearch " Highlight search match
set ignorecase " Do case insensitive matching
set smartcase " do not ignore if search pattern has CAPS
"
" omni completion settings
set ofu=syntaxcomplete#Complete
let g:rubycomplete_buffer_loading = 0
let g:rubycomplete_classes_in_global = 1
" directory settings
call system('mkdir -vp ~/.backup/undo/ > /dev/null 2>&1')
set backupdir=~/.backup,. " list of directories for the backup file
set directory=~/.backup,~/tmp,. " list of directory names for the swap file
set nobackup " do not write backup files
set backupskip+=~/tmp/*,/private/tmp/* " skip backups on OSX temp dir, for crontab -e to properly work
set noswapfile " do not write .swp files
set undofile
set undodir=~/.backup/undo/,~/tmp,.
" folding
set foldcolumn=0 " columns for folding
set foldmethod=syntax
set foldlevel=9
set nofoldenable " dont fold by default "
" concealing
set concealcursor=
set conceallevel=2
" extended '%' mapping for if/then/else/end etc
runtime macros/matchit.vim
" Don't use Ex mode, use Q for formatting
map Q gq
" toggle highlight trailing whitespace
nmap <silent> <leader>s :set nolist!<CR>
" Ctrl-N to disable search match highlight
nmap <silent> <leader>/ :silent noh<CR>
" Ctrol-E to switch between 2 last buffers
nmap <C-E> :b#<CR>
" leader-q to close buffer
nmap <leader>q :bd<cr>
" Make shift-insert work like in Xterm
map <S-Insert> <MiddleMouse>
map! <S-Insert> <MiddleMouse>
" ,n to get the next location (compilation errors, grep etc)
nmap <leader>n :cn<CR>
nmap <leader>N :cp<CR>
" ,d to diffupdate
nmap <leader>d :diffupdate<CR>
nmap <leader>dp :diffput<CR>
nmap <leader>dg :diffget<CR>
" driving me insane this thing
command Q q
command Qa qa
command QA qa
command -nargs=* -complete=file W w <args>
command -nargs=* -complete=file E e <args>
" Spelling
set complete+=kspell
" Lets not talk about that
iabbrev emacs The OS that shall not be named