-
Notifications
You must be signed in to change notification settings - Fork 131
/
global.vim
97 lines (83 loc) · 3.6 KB
/
global.vim
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
" be 'modern'
set nocompatible
syntax on
filetype plugin indent on
" prevent vim from adding that stupid empty line at the end of every file
set noeol
set binary
" 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 shell=/bin/bash " use bash for shell commands
set autowriteall " Automatically save before commands like :next and :make
set hidden " enable multiple modified buffers
set history=1000
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=4 " number of spaces in a tab
set sw=4 " 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=indent
set foldlevel=9
set nofoldenable "dont fold by default "
" extended '%' mapping for if/then/else/end etc
runtime macros/matchit.vim
let mapleader = ","
let maplocalleader = "\\"