diff options
author | Akshay <[email protected]> | 2021-02-15 08:52:32 +0000 |
---|---|---|
committer | Akshay <[email protected]> | 2021-02-15 08:52:32 +0000 |
commit | fcaf13a267b7bacd26ad8b2e952a793645e42bba (patch) | |
tree | 6e795b46b1fbefb05151e95c0346951d67fac4e7 /init.vim |
init
Diffstat (limited to 'init.vim')
-rw-r--r-- | init.vim | 224 |
1 files changed, 224 insertions, 0 deletions
diff --git a/init.vim b/init.vim new file mode 100644 index 0000000..8eb7889 --- /dev/null +++ b/init.vim | |||
@@ -0,0 +1,224 @@ | |||
1 | let &t_ZM = "\e[3m" | ||
2 | |||
3 | call plug#begin('~/.local/share/nvim/plugged') | ||
4 | |||
5 | Plug 'airblade/vim-gitgutter' | ||
6 | Plug 'godlygeek/tabular' | ||
7 | Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } | ||
8 | Plug 'junegunn/fzf.vim' | ||
9 | Plug 'vimwiki/vimwiki' | ||
10 | |||
11 | " tpope | ||
12 | Plug 'tpope/vim-repeat' | ||
13 | Plug 'tpope/vim-surround' | ||
14 | Plug 'tpope/vim-unimpaired' | ||
15 | Plug 'tpope/vim-fugitive' | ||
16 | |||
17 | " syntax and friends | ||
18 | Plug 'rust-lang/rust.vim', {'for': 'rust'} | ||
19 | Plug 'lervag/vimtex', {'for': 'tex'} | ||
20 | Plug 'neovimhaskell/haskell-vim', {'for': ['haskell', 'cabal']} | ||
21 | Plug 'elmcast/elm-vim' | ||
22 | Plug 'LnL7/vim-nix' | ||
23 | |||
24 | " my stuff | ||
25 | Plug 'git@ferrn:vim/vim-colors-plain' | ||
26 | Plug 'git@ferrn:vim/better-text-objs' | ||
27 | |||
28 | " nvim only | ||
29 | Plug 'hrsh7th/nvim-compe' | ||
30 | Plug 'neovim/nvim-lspconfig' | ||
31 | Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} | ||
32 | |||
33 | call plug#end() | ||
34 | |||
35 | |||
36 | " augroups | ||
37 | |||
38 | augroup plaintext | ||
39 | autocmd! | ||
40 | autocmd FileType text,markdown setlocal ts=2 sts=2 sw=2 expandtab textwidth=60 | ||
41 | augroup END | ||
42 | |||
43 | augroup webdev | ||
44 | autocmd! | ||
45 | autocmd FileType less,css,html,js?,ts? setlocal ts=2 sts=2 sw=2 expandtab | ||
46 | autocmd FileType less,css,html nnoremap <Leader>s viB:sort<cr> | ||
47 | augroup END | ||
48 | |||
49 | augroup restorecursor | ||
50 | autocmd BufReadPost * | ||
51 | \ if line("'\"") > 1 && line("'\"") <= line("$") | | ||
52 | \ execute "normal! g`\"" | | ||
53 | \ endif | ||
54 | augroup END | ||
55 | |||
56 | augroup vimrc-incsearch-highlight | ||
57 | autocmd! | ||
58 | autocmd CmdlineEnter /,\? :set hlsearch | ||
59 | autocmd CmdlineLeave /,\? :set nohlsearch | ||
60 | augroup END | ||
61 | |||
62 | augroup fzfstatus | ||
63 | if has('nvim') && !exists('g:fzf_layout') | ||
64 | autocmd! FileType fzf | ||
65 | autocmd FileType fzf set laststatus=0 noshowmode noruler | ||
66 | \| autocmd BufLeave <buffer> set laststatus=2 showmode ruler | ||
67 | endif | ||
68 | augroup END | ||
69 | |||
70 | " general settings | ||
71 | set nobackup | ||
72 | set nowritebackup | ||
73 | set noswapfile " get rid of swapfiles everywhere | ||
74 | set dir=/tmp | ||
75 | |||
76 | syntax on | ||
77 | |||
78 | set omnifunc=syntaxcomplete#Complete | ||
79 | set completefunc=LanguageClient#complete | ||
80 | set list | ||
81 | filetype off | ||
82 | filetype plugin indent on | ||
83 | set laststatus=2 | ||
84 | set nowrap | ||
85 | set noshowmode | ||
86 | set listchars=tab:┊\ ,nbsp:␣,trail:·,extends:>,precedes:< | ||
87 | set fillchars=vert:\│,stl:\ ,stlnc:\ | ||
88 | set ignorecase | ||
89 | set smartcase | ||
90 | set sidescroll=40 | ||
91 | set incsearch | ||
92 | set undofile | ||
93 | set undodir=~/tmp | ||
94 | set path+=** | ||
95 | set backspace=indent,eol,start | ||
96 | set hidden | ||
97 | set wildmenu | ||
98 | set complete=.,w,b,i,u,t, | ||
99 | set background=dark | ||
100 | set mouse=a | ||
101 | set conceallevel=0 | ||
102 | set nonumber | ||
103 | set grepprg=rg\ --vimgrep\ --no-heading | ||
104 | set grepformat=%f:%l:%c:%m,%f:%l:%m | ||
105 | set cmdheight=2 | ||
106 | set shortmess+=c | ||
107 | set updatetime=300 | ||
108 | set signcolumn=yes | ||
109 | set inccommand=split | ||
110 | set showmatch | ||
111 | set diffopt+=vertical | ||
112 | set completeopt=menuone,noinsert,noselect | ||
113 | |||
114 | let g:netrw_browsex_viewer= "xdg-open" | ||
115 | |||
116 | colorscheme plain | ||
117 | |||
118 | set shiftwidth=4 " indent = 4 spaces | ||
119 | set expandtab | ||
120 | set tabstop=4 " tab = 4 spaces | ||
121 | set softtabstop=4 " backspace through spaces | ||
122 | |||
123 | " Functions | ||
124 | function! GetTabber() " a lil function that integrates well with Tabular.vim | ||
125 | let c = nr2char(getchar()) | ||
126 | :execute 'Tabularize /' . c | ||
127 | endfunction | ||
128 | |||
129 | " Ugh | ||
130 | command! WQ wq | ||
131 | command! Wq wq | ||
132 | command! Wqa wqa | ||
133 | command! WQa wqa | ||
134 | command! W w | ||
135 | command! Q q | ||
136 | |||
137 | " abbreviations | ||
138 | abclear | ||
139 | iab #i #include | ||
140 | iab #d #define | ||
141 | cab dst put =strftime('%d %a, %b %Y')<cr> | ||
142 | cab vg vimgrep | ||
143 | cab vga vimgrepadd | ||
144 | cab bfd bufdo | ||
145 | |||
146 | " man pages | ||
147 | let g:ft_man_open_mode = 'tab' | ||
148 | |||
149 | let g:gitgutter_override_sign_column_highlight = 0 | ||
150 | let g:gitgutter_sign_added = '+' | ||
151 | let g:gitgutter_sign_modified = '~' | ||
152 | let g:gitgutter_sign_removed = '-' | ||
153 | let g:gitgutter_sign_removed_first_line = '-' | ||
154 | let g:gitgutter_sign_modified_removed = '~' | ||
155 | |||
156 | let g:fzf_colors = | ||
157 | \ { 'fg': ['fg', 'Noise'], | ||
158 | \ 'bg': ['bg', 'Noise'], | ||
159 | \ 'hl': ['fg', 'Statement'], | ||
160 | \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], | ||
161 | \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], | ||
162 | \ 'hl+': ['fg', 'Statement'], | ||
163 | \ 'info': ['fg', 'PreProc'], | ||
164 | \ 'border': ['fg', 'Ignore'], | ||
165 | \ 'prompt': ['fg', 'Conditional'], | ||
166 | \ 'pointer': ['fg', 'Exception'], | ||
167 | \ 'marker': ['fg', 'Keyword'], | ||
168 | \ 'spinner': ['fg', 'Label'], | ||
169 | \ 'header': ['fg', 'Comment'] } | ||
170 | let g:fzf_layout = { 'down': '40%' } | ||
171 | let g:fzf_preview_window = [] | ||
172 | |||
173 | highlight GitGutterAdd ctermfg=8 | ||
174 | highlight GitGutterChange ctermfg=8 | ||
175 | highlight GitGutterDelete ctermfg=8 | ||
176 | |||
177 | let g:rustfmt_autosave = 1 | ||
178 | |||
179 | let g:latex_view_general_viewer = "zathura" | ||
180 | let g:vimtex_view_method = "zathura" | ||
181 | let g:tex_flavor = 'latex' | ||
182 | |||
183 | let g:elm_setup_keybindings = 0 | ||
184 | |||
185 | let g:completion_enable_auto_hover = 0 | ||
186 | let g:completion_matching_strategy_list = ['exact', 'substring', 'fuzzy', 'all'] | ||
187 | let g:completion_trigger_on_delete = 1 | ||
188 | |||
189 | let g:compe = {} | ||
190 | let g:compe.enabled = v:true | ||
191 | let g:compe.autocomplete = v:true | ||
192 | let g:compe.debug = v:false | ||
193 | let g:compe.min_length = 1 | ||
194 | let g:compe.preselect = 'enable' | ||
195 | let g:compe.throttle_time = 80 | ||
196 | let g:compe.source_timeout = 200 | ||
197 | let g:compe.incomplete_delay = 400 | ||
198 | let g:compe.max_abbr_width = 100 | ||
199 | let g:compe.max_kind_width = 100 | ||
200 | let g:compe.max_menu_width = 100 | ||
201 | let g:compe.documentation = v:true | ||
202 | |||
203 | let g:compe.source = {} | ||
204 | let g:compe.source.path = v:true | ||
205 | let g:compe.source.buffer = v:true | ||
206 | let g:compe.source.calc = v:true | ||
207 | let g:compe.source.vsnip = v:false | ||
208 | let g:compe.source.nvim_lsp = v:true | ||
209 | let g:compe.source.nvim_lua = v:false | ||
210 | let g:compe.source.spell = v:true | ||
211 | let g:compe.source.tags = v:true | ||
212 | let g:compe.source.snippets_nvim = v:false | ||
213 | let g:compe.source.treesitter = v:true | ||
214 | let g:compe.source.omni = v:true | ||
215 | |||
216 | sign define LspDiagnosticsSignError text=× texthl=LspDiagnosticsSignError linehl= numhl= | ||
217 | sign define LspDiagnosticsSignWarning text=\! texthl=LspDiagnosticsSignWarning linehl= numhl= | ||
218 | sign define LspDiagnosticsSignInformation text=i texthl=LspDiagnosticsSignInformation linehl= numhl= | ||
219 | sign define LspDiagnosticsSignHint text=\~ texthl=LspDiagnosticsSignHint linehl= numhl= | ||
220 | |||
221 | lua << EOF | ||
222 | require 'lsp' | ||
223 | require 'treesitter' | ||
224 | EOF | ||