main
1"" Basic Settings {{{{
2""
3
4syntax enable
5
6set autoindent
7set autoread
8set autowrite
9set backspace=indent,eol,start
10set backupdir=~/tmp,/var/tmp,/tmp/
11set clipboard^=unnamed,unnamedplus
12set cmdheight=1
13set completeopt=menu,preview
14set cursorline
15set diffopt=vertical
16set directory=~/tmp,/var/tmp,/tmp/
17set encoding=utf-8
18set expandtab
19set exrc
20set foldmethod=marker
21set gdefault
22set hidden
23set hlsearch
24set ignorecase
25set incsearch
26set modelines=0
27set nobackup
28set nocompatible
29set noerrorbells
30set nojoinspaces
31set noswapfile
32set nowrap
33set nowritebackup
34set number
35set numberwidth=5
36set re=1
37set ruler
38set scrolloff=3
39set secure
40set shell=bash
41set shiftround
42set shiftwidth=2
43set showcmd
44set showmatch
45set showmode
46set showtabline=2
47set smartcase
48set softtabstop=2
49set splitbelow
50set splitright
51set t_Co=256
52set t_vb=
53set tabstop=2
54set tags=tags
55set termencoding=utf-8
56set title
57set ttyfast
58set updatetime=200
59set visualbell
60
61set list
62set listchars=""
63set listchars=tab:\ \
64set listchars+=extends:>
65set listchars+=nbsp:_
66set listchars+=precedes:<
67set listchars+=trail:ยท
68
69set wildmenu
70set wildmode=longest,list:longest
71set wildignore+=*.o,*.out,*.obj,.git,*.rbc,*.rbo,*.class,.svn,*.gem
72set wildignore+=*.zip,*.tar.gz,*.tar.bz2,*.rar,*.tar.xz,*.zst
73set wildignore+=*/vendor/gems/*,*/vendor/cache/*,*/.bundle/*,*/.sass-cache/*
74set wildignore+=*/tmp/cache/assets/*/sprockets/*,*/tmp/cache/assets/*/sass/*
75set wildignore+=*.swp,*~,._*
76set wildignore+=*/tmp/*,*.so,*/coverage/*
77
78if executable('ag')
79 set grepprg=ag\ --vimgrep\ $*
80endif
81
82if has('signcolumn')
83 set signcolumn=number
84endif
85
86runtime macros/matchit.vim
87filetype plugin indent on
88set omnifunc=syntaxcomplete#Complete
89
90" }}}}
91
92"" General Mappings (Normal, Visual, Operator-pending) {{{{
93""
94
95let mapleader = ","
96let localleader = "\\"
97
98inoremap jk <esc>
99nnoremap ; :
100nnoremap <C-e> :Buffers<cr>
101nnoremap <C-h> <C-w>h
102nnoremap <C-j> <C-w>j<C-w>_
103nnoremap <C-k> <C-w>k<C-w>_
104nnoremap <C-l> <C-w>l
105nnoremap <C-n> :GFiles<cr>
106nnoremap <C-p> :Files<cr>
107nnoremap <leader><space> :noh<cr>
108nnoremap <leader>W :%s/\s\+$//<cr>:let @/=''<CR>
109nnoremap <leader>ev :vsplit $MYVIMRC<cr>
110nnoremap <leader>fef :normal! gg=G``<CR>
111nnoremap <leader>gb :Git blame -w -M<cr>
112nnoremap <leader>gs :Gstatus<cr>
113nnoremap <leader>h <C-w>s<C-w>l
114nnoremap <leader>hs :set hlsearch! hlsearch?<CR>
115nnoremap <leader>n :NERDTreeFind<cr>
116nnoremap <leader>p "+p
117nnoremap <leader>sv :source $MYVIMRC<cr>
118nnoremap <leader>v <C-w>v<C-w>l
119nnoremap <localleader>F :Ag<space>
120nnoremap <localleader>f :grep! "\b<C-R><C-W>\b"<CR>:cw<CR>
121nnoremap <localleader>n :NERDTreeClose<cr>
122nnoremap <silent> <leader>cd :lcd %:h<CR>
123nnoremap <space> za
124nnoremap <tab> %
125nnoremap H ^
126nnoremap L $
127noremap <Down> gj
128noremap <Up> gk
129noremap <leader>= <C-w>=
130vnoremap / /\v
131nnoremap <localleader>F :Ag<space>
132vnoremap <space> zf
133vnoremap <tab> %
134
135nmap <localleader>/ <Plug>CommentaryLine
136xmap <localleader>/ <Plug>Commentary
137
138nmap <leader><tab> <plug>(fzf-maps-n)
139omap <leader><tab> <plug>(fzf-maps-o)
140xmap <leader><tab> <plug>(fzf-maps-x)
141
142imap <c-x><c-f> <plug>(fzf-complete-path)
143imap <c-x><c-j> <plug>(fzf-complete-file-ag)
144imap <c-x><c-k> <plug>(fzf-complete-word)
145imap <c-x><c-l> <plug>(fzf-complete-line)
146imap <c-x><c-n> <plug>(fzf-complete-buffer-line)
147
148" }}}}
149
150"" Plugin Configuration {{{{
151""
152
153let g:fzf_tags_command = 'ctags -R'
154let g:go_fmt_autosave = 1
155let g:go_list_type = "quickfix"
156
157" }}}}