From 5c916d69d457101326803eb076a746060e3618cf Mon Sep 17 00:00:00 2001 From: Vikas Kushwaha Date: Thu, 21 Nov 2024 13:30:52 +0530 Subject: Moved from github --- .config/nvim/init.vim | 178 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 .config/nvim/init.vim (limited to '.config/nvim/init.vim') diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim new file mode 100644 index 0000000..6583a94 --- /dev/null +++ b/.config/nvim/init.vim @@ -0,0 +1,178 @@ +let mapleader=" " +let config_dir = system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/"') + +" if ! filereadable(system('echo -n "${XDG_CONFIG_HOME:-$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 + +if filereadable(config_dir . "autoload/plug.vim") + call plug#begin(system('echo -n "${XDG_DATA_HOME:-$HOME/.local/share}/nvim/plugged"')) + Plug 'tpope/vim-commentary' + Plug 'tpope/vim-surround' + Plug 'ptzz/lf.vim' + Plug 'voldikss/vim-floaterm' + Plug 'xuhdev/vim-latex-live-preview', {'for': 'tex'} + Plug 'ap/vim-css-color' " color code highlighting + Plug 'neoclide/coc.nvim', {'on': ['CocList', 'CocConfig'], 'branch': 'release'} + " Plug 'KabbAmine/zeavim.vim' ", {'on': ['Zeavim', 'ZeavimV', 'ZVVisSelection', 'ZVOperator', 'ZVKeyDocset']} + " Plug 'machakann/vim-verdin', {'for': 'vim'} + " Plug 'puremourning/vimspector', {'for': 'python'} + " Plug 'powerman/vim-plugin-AnsiEsc' + " Plug 'junegunn/goyo.vim', {'on': 'Goyo'} + " Plug 'jreybert/vimagit' + " Plug 'lukesmithxyz/vimling' + " Plug 'vimwiki/vimwiki' + " Plug 'vim-airline/vim-airline', {'on': 'AirlineTheme'} + " Plug 'vim-airline/vim-airline-themes', {'on': 'AirlineTheme'} + " Plug 'joshdick/onedark.vim' + call plug#end() +endif + +let g:Verdin#autocomplete = 1 +let g:livepreview_previewer = 'zathura' +let g:tex_flavor = 'latex' + +set title showmatch nowrap mouse=a scrolloff=5 +set tabstop=2 shiftwidth=0 +set cursorline linebreak +set number relativenumber +set splitbelow splitright +set updatetime=1000 +set notermguicolors lazyredraw +set listchars=tab:\┆\ "│ + +syntax on +filetype plugin indent on +colorscheme vim +highlight NonText ctermfg=242 +highlight ColorColumn ctermbg=238 +highlight! link CursorColumn ColorColumn +autocmd FileType text,fstab setlocal tabstop=8 shiftwidth=8 +autocmd FileType html setlocal tabstop=2 shiftwidth=2 list nolinebreak +autocmd FileType sql setlocal commentstring=--\ %s +autocmd BufEnter bm-files,bm-dirs setlocal tabstop=8 shiftwidth=8 +autocmd BufWritePost bm-files,bm-dirs silent !shortcuts +autocmd VimLeave *.tex !dev clean "%" +" autocmd BufWritePost config.h,config.def.h !cd "%:h"; rm -f config.h; sudo make install +autocmd BufWritePre * %s/\s\+$//e +au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal! g`\"" | endif + +autocmd BufWritePost */Documents/Notes/*.md silent !pandoc % -o "$HOME/Documents/Notes/.out/$(basename % .md).html" +" autocmd BufWritePost */Documents/latex/resume/resume.tex !cd "%:h"; pdflatex resume.tex; cp -v resume.pdf ~/Dev/vikas.rocks/static/dox/ +autocmd BufWritePost *Xresources silent !xrdb "%" +autocmd BufRead,BufNewFile *.yt* set filetype=conf + +function SourceTemplate() + let b:template = glob("${XDG_CONFIG_HOME:-$HOME/.config}/nvim/templates/_default." . expand('%:e')) + if !empty(b:template) + execute('0r' . b:template) + endif +endfunction + +autocmd BufNewFile * call SourceTemplate() + +autocmd TermOpen * startinsert +command! -nargs=* T split | terminal + +" --> Scratch buffer +if exists('g:loaded_scratch') + finish +endif +let g:loaded_scratch = 1 +command! -nargs=1 -complete=command D call scratch#open(, ) + +" --> Lf +" let g:lf_command_override = 'lf -command ...' +let g:NERDTreeHijackNetrw = 0 +" let g:lf_replace_netrw = 1 +let g:lf_width = 1.0 +let g:lf_height = 1.0 +let g:lf_map_keys = 0 +nnoremap o :LfCurrentFile +nnoremap l :LfWorkingDirectory +nnoremap o :LfCurrentFileNewTab +nnoremap l :LfWorkingDirectoryExistingOrNewTab + +if !exists('g:lasttab') + let g:lasttab = 1 +endif +nmap g; :exe "tabn ".g:lasttab +au TabLeave * let g:lasttab = tabpagenr() +nnoremap g1 1gt +nnoremap g2 2gt +nnoremap g3 3gt +nnoremap g4 4gt +nnoremap g5 5gt +nnoremap g6 6gt +nnoremap g7 7gt +nnoremap g8 8gt +nnoremap g9 :tablast + +vnoremap "*y :let @+=@* +vnoremap "*d :let @+=@* +noremap "+p +noremap "+P + +nnoremap c "_c +inoremap jk +" map ;n /<++>c4l +inoremap ;n /<++>c4l +nnoremap n /<++>c4l + +autocmd FileType html,markdown inoremap ;s >bi<ea +autocmd FileType html,markdown inoremap ;c >biea +autocmd FileType html,markdown inoremap ;i b"tywi<ea>PFb"tywi<ea><++>P2F>i +autocmd FileType html,markdown inoremap ;b b"tywi<ea>"tpa><++>kO +autocmd FileType html,markdown inoremap ;B b"tywi<ea><++>"tpa><++>3k$i +autocmd FileType html,markdown inoremap ;ap

<++>

<++>3k$i +autocmd FileType html,markdown inoremap ;aa <++><++>3k$hi + +autocmd FileType tex inoremap ;b b"tywi\begin{ea}\end{"tpa}kA +autocmd FileType tex inoremap ;s \section{}i +autocmd FileType tex inoremap ;at \begin{tikzpicture}\end{tikzpicture}O +autocmd FileType tex inoremap ;ap \usepackage{}i +autocmd FileType tex inoremap ;aP \usepackage[]{}F[a +autocmd FileType tex inoremap ;ab \textbf{}i +autocmd FileType tex inoremap ;ai \textit{}i +autocmd FileType tex inoremap ;au \underline{}i + +autocmd FileType go inoremap ;ae err:=<++>iferr!=nil{returnerr}3kI + +nnoremap fl :w:!dev lint "%" +nnoremap fm :w:%!dev format "%" +nnoremap fc :w:!dev compile "%" +nnoremap fe :w:!dev run "%" +nnoremap ft :w:!dev test "%" +nnoremap fr :w:!dev clean "%" + +nnoremap Fl :w:T dev lint "%" +nnoremap Fm :w:T dev format "%" +nnoremap Fc :w:T dev compile "%" +nnoremap Fe :w:T dev run "%" +nnoremap Ft :w:T dev test "%" +nnoremap Fr :w:T dev clean "%" + +autocmd BufEnter * nmap t :w:se nornu:!dev test "%":se rnu +autocmd BufEnter * nmap T :w:se nornu:T dev test "%" +autocmd BufEnter * imap :w:se nornu:T dev test "%" + +autocmd BufEnter vartak-results-data.pl nmap t :w:se nornu:!vartak-results-data.pl ~/GDrive/vartak/results/university/1S002557.pdf:se rnu + +nnoremap w :set wrap! +nnoremap fo :!opout "%:p" +nnoremap ec :tabnew ~/.config/nvim/init.vim +nnoremap :source ~/.config/nvim/init.vim +nnoremap s :%s//gc +nnoremap r :w:!%:p +nnoremap R :w:T %:p + +nnoremap gc :T git add --all && git commit + +let shortcuts = config_dir . "shortcuts.vim" +if filereadable(shortcuts) + execute "source " . shortcuts +endif -- cgit v1.2.3