forked from scottdavis/vimfiles
-
Notifications
You must be signed in to change notification settings - Fork 0
/
dotvim.vim
115 lines (102 loc) · 3.57 KB
/
dotvim.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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
"
" dotvim : https://github.com/dotphiles/dotvim
"
" Main dotvim config
"
" Authors:
" Ben O'Hara <[email protected]>
"
"
set nocompatible
set encoding=utf-8
set binary
" 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 lines
set list listchars=tab:→\ ,trail:▸
set cursorline
set clipboard=unnamed
" highlight spell errors
hi SpellErrors guibg=red guifg=black ctermbg=red ctermfg=black
" toggle spell check with F7
map <F7> :setlocal spell! spell?<CR>
" 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=$SHELL " use current shell for shell commands
set hidden " enable multiple modified buffers
set history=1000
set autoread " automatically read feil 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
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 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
" Mouse settings
if has("gui_running")
set guioptions-=T
set mousehide
else
set mouse=a
if has("mouse_sgr")
set ttymouse=sgr
end
endif
" 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
" directory settings
set nobackup " do not write backup files
set noswapfile " do not write .swp files
if has("persistent_undo")
silent !mkdir -vp ~/.backup/vim/undo/ > /dev/null 2>&1
set backupdir=~/.backup/vim,. " list of directories for the backup file
set directory=~/.backup/vim,~/tmp,. " list of directory names for the swap file
set undofile
set undodir=~/.backup/vim/undo/,~/tmp,.
endif
" folding
if has("folding")
set foldcolumn=0 " columns for folding
set foldmethod=indent
set foldlevel=9
set nofoldenable "dont fold by default "
endif
if has("user_commands")
let mapleader = ","
let maplocalleader = "\\"
endif
" Remember last position in file
if has("autocmd")
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif
endif
" Install vundle if not already installed
if has("user_commands")
" Setting up Vundle - the vim plugin bundler
let VundleInstalled=0
let vundle_readme=expand('~/dotfiles/vimfiles/bundle/vundle/README.md')
if !filereadable(vundle_readme)
echo "Installing Vundle.."
echo ""
silent !mkdir -p ~/dotfiles/vimfiles/bundle
silent !git clone https://github.com/gmarik/vundle.git ~/dotfiles/vimfiles/bundle/vundle
let VundleInstalled=1
endif
endif