diff options
Diffstat (limited to 'nvim/init.vim')
-rwxr-xr-x | nvim/init.vim | 185 |
1 files changed, 0 insertions, 185 deletions
diff --git a/nvim/init.vim b/nvim/init.vim deleted file mode 100755 index d7794b6..0000000 --- a/nvim/init.vim +++ /dev/null @@ -1,185 +0,0 @@ -"" Manage plugins using vim-plug -if ! filereadable((isdirectory($XDG_CONFIG_HOME) ? $XDG_CONFIG_HOME : "./config") . "/nvim/autoload/plug.vim") - echo "Downloading junegunn/vim-plug to manage plugins..." - silent !mkdir -p ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/ - silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim - autocmd VimEnter * PlugInstall -endif - -call plug#begin((isdirectory($XDG_DATA_HOME) ? $XDG_DATA_HOME : ".local/share") . "/vim-plug") -Plug 'alvan/vim-closetag' -Plug 'ap/vim-css-color' -Plug 'junegunn/goyo.vim' -Plug 'vimwiki/vimwiki' -Plug 'tpope/vim-commentary' -Plug 'hrsh7th/nvim-cmp' " The completion plugin -Plug 'hrsh7th/cmp-buffer' " buffer completions -Plug 'hrsh7th/cmp-path' " path completions -Plug 'hrsh7th/cmp-cmdline' " cmdline completions -Plug 'hrsh7th/cmp-nvim-lsp' -Plug 'saadparwaiz1/cmp_luasnip' " snippet completions -Plug 'L3MON4D3/LuaSnip' " snippet engine -Plug 'rafamadriz/friendly-snippets' " a bunch of snippets to use -Plug 'neovim/nvim-lspconfig' " enable LSP -Plug 'williamboman/mason.nvim' " simple to use language server installer -Plug 'williamboman/mason-lspconfig.nvim' " simple to use language server installer -call plug#end() - -" lua require('user.cmp') -" lua require('user.lsp') - -"" Basic options -set autochdir " Always change directory to current file -set autoindent " Keeps indentation on new lines -set hlsearch " Highlight search hits -set ignorecase " Case-insensitive search... -set linebreak " Word wrap -set list " Show whitespace characters defined in listchars -set listchars=tab:▏\ \,space:· " Highlight tabs and spaces -set mouse=a " Because sometimes it's just easier to use the mouse -set number relativenumber " Enable relative line numbers -set smartcase " ...Unless the search term is capital -set splitbelow splitright " Open splits on bottom/right instead of top/left -set termguicolors " Enable GUI colors for the terminal to get truecolor -set wildmode=longest,list,full " Enable file auto-complete -set wrap! " Disable word wrapping -syntax on " Enable syntax highlighting - -" Get rid of the pointless .viminfo files that clutter the home directory -let skip_defaults_vim=1 -set viminfo="" - -" Disables automatic commenting on newline: -autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o - -" Tabbing -"let tabwidth = 4 -set tabstop=4 " Set width of tabs to 4 instead of default 8 -set shiftwidth=4 " Tab key will only insert 1 tab -" Use tabs instead of spaces -autocmd FileType sass setlocal noet ci pi sts=0 sw=4 ts=4 - -"" Plugin options -" Closetag -let g:closetag_filenames = '*.html,*.xhtml,*.phtml' -" VimWiki -let g:vimwiki_list = [{'path': '~/docs/school/arc/docs/wiki/', 'path_html': '~/docs/school/arc/docs/wiki/site/'}] - -" Filetype options -autocmd BufRead,BufNewFile *.tex set filetype=tex -au Filetype tex let b:autopairs_enabled = 0 -au Filetype tex setlocal indentexpr= -au BufRead,BufNewFile *.tssg set filetype=tssg - -"" Keybindings -" Set leader-key to comma -let mapleader ="," -" Invoke goyo with comma-m -nmap <leader>m :Goyo 120x<CR> -" Invoke spellcheck mode with comma-l -nmap <leader>l :setlocal spell! spelllang=en_us<CR> -" Set cursorcolumn with comma-c -nmap <leader>c :set cursorcolumn!<CR> -" Navigate faster than hjkl with ctrl-hjlk -nmap <C-h> zh -nmap <C-j> <C-e> -nmap <C-k> <C-y> -nmap <C-l> zl -" Faster split navigation (leader-wasd, as opposed to ctrl-w + hjlk) -map <leader>a <C-w>h -map <leader>s <C-w>j -map <leader>w <C-w>k -map <leader>d <C-w>l -" Keys for tab navigation -nmap <leader><TAB> gt -nmap <leader>t :tabnew<CR> -nmap <C-T> :tabnew<CR> -" Copy and cut with standard bindings -map <C-c> "+y -map <C-x> "+x -" Unmap Ex mode -map Q <NOP> -" Perform dot commands over visual blocks: -vnoremap . :normal .<CR> -" Save file as sudo on files that require root permission -cnoremap w!! execute 'silent! write !doas tee % >/dev/null' <bar> edit! -" Camel case every word on the line -"nmap gcc :s/\v<(.)(\w*)/\u\1\L\2/g<CR> -"nmap gCC :%s/\v<(.)(\w*)/\u\1\L\2/g<CR> -" HTML shortcuts -nmap gwp I<p><ESC>l4xA</p><ESC> -nmap gwh1 I<h1><ESC>l5xA</h1><ESC> -nmap gwh2 I<h2><ESC>l5xA</h2><ESC> -nmap gwh3 I<h3><ESC>l5xA</h3><ESC> - -"" Extra functionality -" Colorscheme for root and normal users (since vimrc is just symlinked to the root user's home) -if ($USER) == 'root' - colorscheme koehler -else -" if empty($DISPLAY) -" colorscheme koehler -" else - set bg=dark - let g:gruvbox_contrast_dark = 'hard' - colorscheme gruvbox-timmy -" endif -endif - -" Functions for changing the terminal emulator's class name to 'Vim' -function GetTermPID(temu) - let pinfo = ['', getpid(), ''] - while !(pinfo[2] =~ a:temu || pinfo[1] == '0') - let pinfo = split(system('ps h -o pid,ppid,command= -p' . pinfo[1])) - endwhile - return pinfo[0] -endfunction - -function SetTermClassName(termpid, name) - " Command chaining in xdotool doesn't work here for some reason - silent exec "!xdotool set_window --class " . a:name . " $(xdotool search --pid " . a:termpid . ")" -endfunction - -" Behaviors exclusive to either a tty or a graphical terminal emulator -if empty($DISPLAY) - " Clear the tty screen after exiting vim - autocmd VimLeave * :clear -else - " Highlight current line - set cursorline - " Change window title - autocmd BufEnter * :set title - let &titleold="st" - " Change class name - let temu = "st" - let temupid = GetTermPID(temu) - if (temupid != 1) - autocmd VimEnter * call SetTermClassName(temupid, "Vim") - autocmd VimLeave * call SetTermClassName(temupid, temu) - endif -endif - -" Automatically deletes all trailing whitespace on save -function DelWS() - let l:save_view = winsaveview() - :%s/\s*$//e - call winrestview(l:save_view) -endfunction -autocmd BufWritePre * call DelWS() - - -" vim -b : edit binary using xxd-format! -augroup Binary - au! - au BufReadPre *.bin let &bin=1 - au BufReadPost *.bin if &bin | %!xxd - au BufReadPost *.bin set ft=xxd | endif - au BufWritePre *.bin if &bin | %!xxd -r - au BufWritePre *.bin endif - au BufWritePost *.bin if &bin | %!xxd - au BufWritePost *.bin set nomod | endif -augroup END - -"" Auto compile -" Sass -"autocmd BufWritePost [^_]*.sass,[^_]*.scss silent !sass %:p %:p:r.css |