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