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'
|
2021-08-10 12:07:28 +00:00
|
|
|
|
"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
|
|
|
|
|
2021-08-10 12:07:28 +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
|
2021-08-10 12:07:28 +00:00
|
|
|
|
set ruler
|
2021-08-02 11:32:41 +00:00
|
|
|
|
set wildmenu
|
|
|
|
|
set wildchar=<TAB>
|
2021-08-10 12:07:28 +00:00
|
|
|
|
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
|
2021-08-10 12:07:28 +00:00
|
|
|
|
"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"
|
2021-08-10 12:07:28 +00:00
|
|
|
|
"colorscheme koehler
|
2021-08-02 11:32:41 +00:00
|
|
|
|
colorscheme wal
|
2021-08-10 12:07:28 +00:00
|
|
|
|
"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
|
2021-08-10 12:07:28 +00:00
|
|
|
|
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
|