syntax on filetype plugin indent on set cursorline "highlight current line set showmatch "highlight matching [{()}] set tabstop=2 "number of visual spaces per TAB when reading set softtabstop=2 "number of spaces per TAB when editing set expandtab "tabs are spaces set shiftwidth=2 "indents set ww=<,>,[,] "wrap set splitbelow "split underneath set splitright "split to the right command Mks NERDTreeClose | mksession! command Term split | term command Vterm vsplit | term "command Hsfmt mark H | %!./styler.sh | if v:shell_error | undo | else | `H | delm H | endif "save readonly cmap w!! w !sudo tee >/dev/null % "terminal exit tnoremap "nohl nnoremap , :nohlsearch colorscheme Tomorrow-Night-Eighties let g:lightline = {'colorscheme': 'jellybeans'} "cursor saving autocmd BufReadPost * if @% !~# '\.git[\/\\]COMMIT_EDITMSG$' && line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif "nerdtree "show hidden files let NERDTreeShowHidden=1 "open on vim open "autocmd vimenter * NERDTree "switch to editing window "autocmd vimenter * wincmd p "close if only nerdtree is left autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif "show/hide nerdtree nnoremap :NERDTreeToggle "LSP support "set hidden "let g:LanguageClient_rootMarkers = ['*.cabal', 'stack.yaml'] "let g:LanguageClient_serverCommands = { " \ 'haskell': ['ghcide', '--lsp'], " \ } "let g:LanguageClient_preferredMarkupKind = ['plaintext'] "let g:LanguageClient_completionPreferTextEdit = 1 "nnoremap K :call LanguageClient#textDocument_hover() "nnoremap f :call LanguageClient#textDocument_rangeFormatting() "nnoremap F :call LanguageClient#textDocument_formatting() "nnoremap gd :call LanguageClient#textDocument_definition() "nnoremap gr :call LanguageClient#textDocument_references() "set cmdheight=2 "set updatetime=300 "set signcolumn=yes " ""NCM2 "autocmd bufenter * call ncm2#enable_for_buffer() "au User Ncm2PopupOpen set completeopt=noinsert,menuone,noselect "au User Ncm2PopupClose set completeopt=menuone "set shortmess+=c "" CTRL-C doesn't trigger the InsertLeave autocmd . map to instead. "inoremap "" When the key is pressed while the popup menu is visible, it only "" hides the menu. Use this mapping to close the menu and also start a new "" line. "inoremap (pumvisible() ? "\\" : "\") "" Use to select the popup menu: "inoremap pumvisible() ? "\" : "\" "inoremap pumvisible() ? "\" : "\"