-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvimrc
executable file
·122 lines (101 loc) · 2.67 KB
/
vimrc
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
call plug#begin('~/.vim/buttplugs')
"Fugitive
Plug 'tpope/vim-fugitive'
"Float Term
Plug 'voldikss/vim-floaterm'
"VSCode theme
Plug 'tomasiser/vim-code-dark'
"Nerd tree for file searching
Plug 'scrooloose/nerdtree'
"Git integration for Nerd Tree
Plug 'tsony-tsonev/nerdtree-git-plugin'
"Sintax highliting for Nerd Tree
Plug 'tiagofumo/vim-nerdtree-syntax-highlight'
"Icons for Nerd Tree
Plug 'ryanoasis/vim-devicons'
"Shows file changes for git
Plug 'airblade/vim-gitgutter'
"Fuzzy finder
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
Plug 'voldikss/fzf-floaterm'
"Conquer of Competion is an autocomplete plug with some aditional features
Plug 'neoclide/coc.nvim', {'branch': 'release'}
"Comment lines easily
Plug 'scrooloose/nerdcommenter'
"Typescript sintaxe
Plug 'HerringtonDarkholme/yats.vim'
"IDK what this does
Plug 'tweekmonster/gofmt.vim'
"Does something for man
Plug 'vim-utils/vim-man'
call plug#end()
colorscheme codedark
"NerdTree settings
let g:NERDTreeGitStatusWithFlags = 1
let g:NERDTreeIndicatorMapCustom = {
\ "Modified" : "✹",
\ "Staged" : "✚",
\ "Untracked" : "✭",
\ "Renamed" : "➜",
\ "Unmerged" : "═",
\ "Deleted" : "✖",
\ "Dirty" : "✗",
\ "Clean" : "✔︎",
\ 'Ignored' : '☒',
\ "Unknown" : "?"
\ }
autocmd vimenter * NERDTree
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
nnoremap <C-n> :NERDTreeToggle<CR>
"Window movement
function! WinMove(key)
let t:curwin = winnr()
exec "wincmd ".a:key
if (t:curwin == winnr())
if (match(a:key,'[jk]'))
wincmd v
else
wincmd s
endif
exec "wincmd ".a:key
endif
endfunction
nnoremap <silent> <C-Left> :call WinMove('h')<CR>
nnoremap <silent> <C-Down> :call WinMove('j')<CR>
nnoremap <silent> <C-Up> :call WinMove('k')<CR>
nnoremap <silent> <C-Right> :call WinMove('l')<CR>
let g:coc_global_extensions = [
\ 'coc-clangd',
\ 'coc-snippets',
\ 'coc-pairs',
\ 'coc-tsserver',
\ 'coc-eslint',
\ 'coc-prettier',
\ 'coc-json',
\ 'coc-cmake',
\ 'coc-discord-rpc',
\ 'coc-floaterm',
\ 'coc-highlight',
\ 'coc-java'
\ ]
"Fugitive status line
set statusline=%<%f\ %h%m%r%{FugitiveStatusline()}%=%-14.(%l,%c%V%)\ %P
"Aditional settings
syntax on
set noerrorbells
set tabstop=4 softtabstop=4
set shiftwidth=4
set expandtab
set smartindent
set nu
set nowrap
set smartcase
set noswapfile
set undodir=~/.vim/undodir
set undofile
set incsearch
set encoding=UTF-8
set guifont=DroidSansMono\ Nerd\ Font\ 11
set winheight=999
set mouse=a