blob: 6e7b7ce8bb4482f0c45bdbc8f23d408bd143305a (
plain)
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
|
set nocompatible " be iMproved, required
filetype plugin on
set shellslash
" Plugins
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')
" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
" Completion
Plugin 'Valloric/YouCompleteMe'
Plugin 'tpope/vim-surround'
Plugin 'tpope/vim-repeat'
" Editor config
Plugin 'editorconfig/editorconfig-vim'
" Color theme
" Plugin 'agude/vim-eldar'
Plugin 'ntk148v/vim-horizon'
" Plugin 'fatih/molokai'
" File management
" Plugin 'scrooloose/nerdtree'
Plugin 'tpope/vim-vinegar'
" Git
" Plugin 'jreybert/vimagit'
" Tagbar use <F4>
Plugin 'majutsushi/tagbar'
call vundle#end() " required
filetype plugin indent on " required
colorscheme horizon
syntax enable
set number relativenumber
set tabstop=4
set shiftwidth=4
set softtabstop=4
set noexpandtab
let g:tex_flavor='latex'
if has('nvim')
set inccommand=split
endif
" Required for operations modifying multiple buffers like rename.
set hidden
" Snippits
" Trigger configuration. Do not use <tab> if you use https://github.com/Valloric/YouCompleteMe.
" let g:UltiSnipsExpandTrigger="<c-b>"
" let g:UltiSnipsJumpForwardTrigger="<c-b>"
" let g:UltiSnipsJumpBackwardTrigger="<c-z>"
" If you want :UltiSnipsEdit to split your window.
" let g:UltiSnipsEditSplit="vertical"
" File finding
set path+=**
set wildmenu
let g:netrw_liststyle=3
" autocmd BufEnter * call ncm2#enable_for_buffer()
" let g:ncm2#auto_popup = 0
set completeopt=menuone,preview
" Keymapping
map <C-n> :NERDTreeToggle<CR>
map <F4> :TagbarToggle<CR>
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
nnoremap <C-b> :b
" When moving more lines make it a jump. If couns i 2 it will run m'2j,
" thus storing it on the jumplist and then jumping
nnoremap <expr> j (v:count > 1 ? "m'" . v:count : '' ) . 'j'
nnoremap <expr> k (v:count > 1 ? "m'" . v:count : '' ) . 'k'
" Leader stuff
let mapleader=" "
map <leader>z :Goyo<CR>
map <leader>mm :make V=1<CR>
map <leader>mf :!make flash V=1<CR>
" Example on filetype specific
" autocmd FileType tex map <leader>o :w !detex \| wc -w<CR>
autocmd FileType asciidoc nnoremap <leader>c :!asciidoctor %<CR>
" Enforcing filetypes
autocmd BufRead,BufNewFile *.ino set filetype=c
autocmd BufRead,BufNewFile *.asc set filetype=asciidoc
autocmd FileType python setlocal completeopt-=preview
|