123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308 |
- " -----[ PLUGINS ]----- "
- call plug#begin('~/.vim/plugged')
- Plug 'itchyny/lightline.vim'
- Plug 'junegunn/fzf.vim'
- "Plug 'ervandew/supertab' " tabcompletion
- Plug 'junegunn/goyo.vim'
- Plug 'HansMartin/inline-python'
- Plug 'dylanaraps/wal.vim'
- Plug 'rust-lang/rust.vim'
- Plug 'preservim/nerdtree'
- Plug 'tpope/vim-fugitive'
- Plug 'zah/nim.vim'
- Plug 'neovim/nvim-lspconfig'
- Plug 'nvim-lua/completion-nvim'
- Plug 'nvim-lua/plenary.nvim'
- Plug 'nvim-telescope/telescope.nvim'
- Plug 'catppuccin/nvim', {'as': 'catppuccin', 'branch':'main'}
- Plug 'neoclide/coc.nvim', {'branch': 'release'}
- Plug 'chriskempson/base16-vim'
- call plug#end()
- lua require('init')
- " -----[ BASICS ]----- "
- colorscheme wal
- "colorscheme catppuccin " using the wal colorscheme
- set mouse=a
- set encoding=utf-8
- set nocompatible
- set conceallevel=0
- set noeb
- set novb
- set belloff=all
- set backupdir=$HOME/.config/nvim/backups
- set noswapfile
- set undodir=$HOME/.config/nvim/undo
- syntax enable
- set number
- set relativenumber
- filetype plugin indent on
- set expandtab
- set shiftwidth=4
- set softtabstop=4
- set autoindent
- set ignorecase
- set nohlsearch
- set noshowmatch
- set wildmenu
- set incsearch
- set path+=**
- set backspace=2
- set scrolloff=2
- " -----[ Remappings ]----- "
- nnoremap n nzz
- nnoremap N Nzz
- nnoremap <C-e> 5<C-e>
- nnoremap <C-y> 5<C-y>
- nnoremap <leader>a :bp!<CR>
- noremap <leader>s :bn!<CR>
- vmap < <gv
- vmap > >gv
- autocmd BufWritePre * :%s/\s\+$//e
- autocmd BufWritePost ~/.Xresources !xrdb %
- autocmd VimResized * wincmd =
- vnoremap <C-c>
- map <F3> <ESC>:Goyo <CR>
- map <F9> <ESC>:silent !md-viewer % <CR>
- map <F8> <ESC>:silent !make <CR>
- " -----[ Plugin Configuration ]----- "
- set noshowmode
- let g:lightline = {
- \ 'colorscheme': 'wombat',
- \ }
- nnoremap <C-t> :Tags<CR>
- nnoremap <C-b> :Telescope buffers<CR>
- nnoremap <C-n> :Telescope find_files<CR>
- nnoremap <C-t> :NERDTreeToggle<CR>
- nnoremap Q :EvalPython <CR>
- let g:il_append=1
- let g:il_use_nextline=0
- let g:UltiSnipsExpandTrigger = '<c-s>'
- let g:UltiSnipsJumpForwardTrigger = '<tab>'
- let g:UltiSnipsJumpBackwardTrigger = '<s-tab>'
- let g:UltiSnipsSnippetsDir='~/.vim/UltiSnips/'
- let g:goyo_width=100
- let g:goyo_height=100
- " stolen from Luke Smith's vimrc "
- autocmd FileType tex inoremap <Space><Tab> <Esc>/<++><Enter>
- autocmd FileType tex vnoremap <Space><Tab> <Esc>/<++><Enter>
- autocmd FileType tex nnoremap <Space><Tab> <Esc>/<++><Enter>
- autocmd FileType tex inoremap <F5> <Esc>:!pdflatex<space><c-r>%<Enter>a
- autocmd FileType tex nnoremap <F5> :!pdflatex<space><c-r>%<Enter>
- autocmd FileType tex inoremap ,em \emph{}<Space><++><Esc>T{i
- autocmd FileType tex inoremap ,bf \textbf{}<Space><++><Esc>T{i
- autocmd FileType tex vnoremap , <ESC>`<i\{<ESC>`>2la}<ESC>?\\{<Enter>a
- autocmd FileType tex inoremap ,it \textit{}<Space><++><Esc>T{i
- autocmd FileType tex inoremap ,ol \begin{enumerate}<Enter><Enter>\end{enumerate}<Enter><Enter><++><Esc>3kA\item<Space>
- autocmd FileType tex inoremap ,ul \begin{itemize}<Enter><Enter>\end{itemize}<Enter><Enter><++><Esc>3kA\item<Space>
- autocmd FileType tex inoremap ,li <Enter>\item<Space>
- autocmd FileType tex inoremap ,ref \ref{}<Space><++><Esc>T{i
- autocmd FileType tex inoremap ,tab \begin{tabular}<Enter><++><Enter>\end{tabular}<Enter><Enter><++><Esc>4kA{}<Esc>i
- autocmd FileType tex inoremap ,sc \textsc{}<Space><++><Esc>T{i
- autocmd FileType tex inoremap ,chap \chapter{}<Enter><Enter><++><Esc>2kf}i
- autocmd FileType tex inoremap ,sec \section{}<Enter><Enter><++><Esc>2kf}i
- autocmd FileType tex inoremap ,ssec \subsection{}<Enter><Enter><++><Esc>2kf}i
- autocmd FileType tex inoremap ,sssec \subsubsection{}<Enter><Enter><++><Esc>2kf}i
- autocmd FileType tex inoremap ,col \begin{columns}[T]<Enter>\begin{column}{.5\textwidth}<Enter><Enter>\end{column}<Enter>\begin{column}{.5\textwidth}<Enter><++><Enter>\end{column}<Enter>\end{columns}<Esc>5kA
- " -----[ GUI ]----- "
- if has("gui_running")
- set guioptions -=T
- set guioptions -=m
- set guioptions -=r
- set guioptions -=L
- endif
- " -----[ Fonts ]----- "
- if has("gui_running")
- if has("gui_gtk2")
- set guifont=Hack\ 9 elseif has("gui_macvim")
- set guifont=Menlo\ Regular:h14
- elseif has("gui_win32")
- set guifont=Hack:h9:cANSI,Consolas:h11:cANSI
- endif
- endif
- " -----[ Panels ]----- "
- map <C-h> <C-W>h
- map <C-j> <C-W>j
- map <C-k> <C-W>k
- map <C-l> <C-W>l
- nmap <leader>1 1gt
- nmap <leader>2 2gt
- nmap <leader>3 3gt
- nmap <leader>4 4gt
- nmap <leader>5 5gt
- nmap <leader>6 6gt
- " -----[ MS Windows ]----- "
- if has("win32")
- source $VIMRUNTIME/mswin.vim
- behave mswin
- endif
- if exists("b:current_syntax")
- finish
- endif
- setlocal cole=1
- if exists("g:neovide")
- colorscheme catppuccin
- let g:neovide_cursor_animation_length=0.15
- let g:neovide_cursor_trail_length=0.3
- nnoremap <C-p>
- inoremap <C-p> <c-r>+
- cnoremap <C-p> <c-r>+
- endif
- " -----[ Completion ]----- "
- "inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>
- "inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>
- set completeopt=menuone,noinsert,noselect
- set shortmess+=c
- let g:completion_trigger_character = ['.', '::']
- " -----[ COC ]----- "
- set signcolumn=number
- function! CheckBackspace() abort
- let col = col('.') - 1
- return !col || getline('.')[col - 1] =~# '\s'
- endfunction
- inoremap <silent><expr> <Tab>
- \ coc#pum#visible() ? coc#pum#next(1) :
- \ CheckBackspace() ? "\<Tab>" :
- \ coc#refresh()
- inoremap <expr> <Tab> coc#pum#visible() ? coc#pum#next(1) : "\<Tab>"
- inoremap <expr> <S-Tab> coc#pum#visible() ? coc#pum#prev(1) : "\<S-Tab>"
|