dotfiles/.config/nvim/init.vim

232 lines
5.8 KiB
VimL
Raw Normal View History

2020-12-14 05:35:11 +00:00
call plug#begin()
2021-06-22 17:21:15 +00:00
"Plug 'ctrlpvim/ctrlp.vim'
2021-07-26 05:00:24 +00:00
Plug 'ThePrimeagen/vim-be-good'
2020-12-14 05:35:11 +00:00
Plug 'vimwiki/vimwiki'
2020-12-31 15:59:16 +00:00
Plug 'mhinz/vim-startify'
2021-05-22 19:19:52 +00:00
Plug 'liuchengxu/vim-which-key'
2021-07-26 12:21:16 +00:00
Plug 'morhetz/gruvbox'
2021-08-02 11:32:41 +00:00
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
2021-07-26 05:00:24 +00:00
Plug 'folke/twilight.nvim'
Plug 'folke/zen-mode.nvim'
"Plug 'hoob3rt/lualine.nvim'
2021-08-02 11:32:41 +00:00
Plug 'windwp/nvim-autopairs'
2021-07-26 05:00:24 +00:00
Plug 'sindrets/diffview.nvim'
Plug 'kyazdani42/nvim-web-devicons' " for file icons
Plug 'kyazdani42/nvim-tree.lua'
Plug 'akinsho/nvim-bufferline.lua'
Plug 'L3MON4D3/LuaSnip'
Plug 'lewis6991/gitsigns.nvim'
2021-07-26 12:21:16 +00:00
Plug 'nekonako/xresources-nvim'
2021-08-15 11:45:16 +00:00
Plug 'tpope/vim-obsession'
2021-09-10 17:12:43 +00:00
Plug 'p00f/cphelper.nvim'
2021-07-26 05:00:24 +00:00
" Wal theme
Plug 'dylanaraps/wal.vim'
2021-05-22 19:19:52 +00:00
" LSP
Plug 'neovim/nvim-lspconfig'
Plug 'hrsh7th/nvim-compe'
Plug 'simrat39/symbols-outline.nvim'
Plug 'glepnir/lspsaga.nvim'
2021-05-22 17:07:32 +00:00
" Telescope
2021-05-22 19:19:52 +00:00
Plug 'nvim-lua/popup.nvim'
Plug 'nvim-lua/plenary.nvim'
Plug 'nvim-telescope/telescope.nvim'
Plug 'nvim-telescope/telescope-fzy-native.nvim'
" Neovim Tree Sitter
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
Plug 'nvim-treesitter/playground'
2021-09-10 17:12:43 +00:00
Plug 'lervag/vimtex'
2021-05-22 19:19:52 +00:00
" debugging
Plug 'puremourning/vimspector'
2021-05-22 17:07:32 +00:00
2022-05-21 04:26:13 +00:00
" ziglang
Plug 'ziglang/zig.vim'
2020-12-14 05:35:11 +00:00
call plug#end()
2021-07-26 05:00:24 +00:00
" Debugger Remaps
fun! GotoWindow(id)
call win_gotoid(a:id)
MaximizerToggle
endfun
" <Plug>VimspectorStop
" <Plug>VimspectorPause
" <Plug>VimspectorAddFunctionBreakpoint
2021-05-22 19:19:52 +00:00
" Setup lua
lua require("altffour")
2021-03-13 13:01:31 +00:00
" General
2021-10-29 18:39:07 +00:00
filetype plugin on
2021-08-02 11:32:41 +00:00
set noswapfile
set nobackup
set nomodeline
set nocompatible
set noequalalways
2021-08-15 11:45:16 +00:00
set wrap
set textwidth=80
set wrapmargin=80
2021-08-02 11:32:41 +00:00
set ttimeoutlen=0
2020-12-31 15:59:16 +00:00
set clipboard+=unnamed
2021-03-13 13:01:31 +00:00
set autoread
set backspace=indent,eol,start
set ignorecase
set smartcase
set incsearch
set magic
set ruler
2021-08-02 11:32:41 +00:00
set wildmenu
set wildchar=<TAB>
set nosmd
set hidden
set nomodeline
2022-06-01 03:24:34 +00:00
setlocal spell spelllang=en_us
2020-12-14 05:35:11 +00:00
2021-09-10 17:12:43 +00:00
" vimtex
let g:vimtex_view_method="zathura"
2021-05-22 19:19:52 +00:00
" LSP
" Set completeopt to have a better completion experience
" :help completeopt
" menuone: popup even when there's only one match
" noinsert: Do not insert text until a selection is made
" noselect: Do not select, force user to select one from the menu
set completeopt=menuone,noinsert,noselect
2021-07-26 05:00:24 +00:00
" LuaSnip
imap <silent><expr> <Tab> luasnip#expand_or_jumpable() ? '<Plug>luasnip-expand-or-jump' : '<Tab>'
inoremap <silent> <S-Tab> <cmd>lua require'luasnip'.jump(-1)<Cr>
snoremap <silent> <Tab> <cmd>lua require('luasnip').jump(1)<Cr>
snoremap <silent> <S-Tab> <cmd>lua require('luasnip').jump(-1)<Cr>
imap <silent><expr> <C-E> luasnip#choice_active() ? '<Plug>luasnip-next-choice' : '<C-E>'
smap <silent><expr> <C-E> luasnip#choice_active() ? '<Plug>luasnip-next-choice' : '<C-E>'
2021-03-13 13:01:31 +00:00
" Appearance
set number
2021-07-31 09:01:23 +00:00
" toggle invisible characters
2021-03-13 13:01:31 +00:00
set showbreak=
set list
"set listchars=tab:→\ ,eol:¬,trail:⋅,extends:,precedes:,space:·
set listchars=tab:→\ ,eol,trail:⋅,extends:,precedes:
2021-03-13 13:01:31 +00:00
set ttyfast
2020-12-14 05:35:11 +00:00
2021-08-02 11:32:41 +00:00
" Setup theme.
set t_Co=256
"let g:gruvbox_termcolors=16
2021-08-22 09:46:57 +00:00
let g:gruvbox_contrast_light="hard"
let g:gruvbox_contrast_dark="hard"
"colorscheme koehler
2021-08-02 11:32:41 +00:00
colorscheme wal
"set background=dark
2021-08-02 11:32:41 +00:00
"set termguicolors
hi Pmenu ctermbg=black
hi PmenuSel ctermbg=white
hi PmenuSbar ctermbg=black
hi PmenuThumb ctermbg=black
2021-07-31 09:01:23 +00:00
set cursorline
highlight Cursor ctermbg=NONE ctermfg=white
2021-07-31 09:01:23 +00:00
" Default Colors for CursorLine
highlight CursorLine ctermbg=Black ctermfg=White
" Change Color when entering Insert Mode
autocmd InsertEnter * highlight CursorLine ctermbg=Gray ctermfg=Black
" Revert Color to default when leaving Insert Mode
autocmd InsertLeave * highlight CursorLine ctermbg=Black ctermfg=White
" Leader keys
let mapleader = " "
map <leader>e :bufdo e!<CR>
nnoremap <silent> <leader> :WhichKey '<Space>'<CR>
2021-07-30 16:16:05 +00:00
nnoremap Y y$
nnoremap n nzzzv
nnoremap N nzzzv
nnoremap J mzJ`z
inoremap , ,<C-g>u
inoremap . .<C-g>u
inoremap ! !<C-g>u
inoremap ? ?<C-g>u
vnoremap J :m '>+1<CR>gv=gv
vnoremap K :m '<-1<CR>gv=gv
vnoremap <C-j> :m .+1<CR>==
nnoremap <leader>j :m .+1<CR>==
vnoremap <C-k> :m .-1<CR>==
nnoremap <leader>k :m .-1<CR>==
2021-08-02 11:32:41 +00:00
nnoremap <silent> <leader>ac :center<CR>
nnoremap <silent> <leader>ar :right<CR>
nnoremap <silent> <leader>al :left<CR>
2021-08-15 11:45:16 +00:00
nnoremap <silent> <leader>bb :buffers<CR>
nnoremap <silent> <leader>bn :bn<CR>
nnoremap <silent> <leader>bp :bp<CR>
2021-08-02 11:32:41 +00:00
nnoremap <silent> <leader>bd :bd<CR>
nnoremap <silent> <leader>ws :split<CR>
nnoremap <silent> <leader>wvs :vsplit<CR>
nnoremap <silent> <leader>wc :close<CR>
noremap <up> <Nop>
noremap <down> <Nop>
noremap <left> <Nop>
noremap <right> <Nop>
inoremap <up> <Nop>
inoremap <down> <Nop>
inoremap <left> <Nop>
inoremap <right> <Nop>
vnoremap <up> <Nop>
vnoremap <down> <Nop>
vnoremap <left> <Nop>
vnoremap <right> <Nop>
2021-08-15 11:45:16 +00:00
"" Debugger remaps
nnoremap <leader>m :MaximizerToggle!<CR>
nnoremap <leader>dd :call vimspector#Launch()<CR>
nnoremap <leader>dc :call GotoWindow(g:vimspector_session_windows.code)<CR>
nnoremap <leader>dt :call GotoWindow(g:vimspector_session_windows.tagpage)<CR>
nnoremap <leader>dv :call GotoWindow(g:vimspector_session_windows.variables)<CR>
nnoremap <leader>dw :call GotoWindow(g:vimspector_session_windows.watches)<CR>
nnoremap <leader>ds :call GotoWindow(g:vimspector_session_windows.stack_trace)<CR>
nnoremap <leader>dtcb :call vimspector#CleanLineBreakpoint()<CR>
nmap <leader>dl <Plug>VimspectorStepInto
nmap <leader>dj <Plug>VimspectorStepOver
nmap <leader>dk <Plug>VimspectorStepOut
nmap <leader>d_ <Plug>VimspectorRestart
nnoremap <leader>d<space> :call vimspector#Continue()<CR>
nmap <leader>drc <Plug>VimspectorRunToCursor
nmap <leader>dbp <Plug>VimspectorToggleBreakpoint
nmap <leader>dcbp <Plug>VimspectorToggleConditionalBreakpoint
"" Telescope remaps
2021-08-02 11:32:41 +00:00
nnoremap <leader>ff :Telescope find_files<cr>
nnoremap <leader>fg :Telescope live_grep<cr>
nnoremap <leader>fb :Telescope buffers<cr>
nnoremap <leader>fh :Telescope help_tags<cr>
2020-12-14 05:35:11 +00:00
" Custom settings.
set mouse=a
set encoding=utf-8
set backspace=indent,eol,start
2021-05-22 19:19:52 +00:00
"set timeoutlen=50
2020-12-14 05:35:11 +00:00
syntax on
set rnu