Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
84b66dea7c |
@@ -1,11 +1,7 @@
|
|||||||
existing
|
existing
|
||||||
minimal
|
minimal
|
||||||
install_local.sh
|
|
||||||
config/i3/config.de
|
|
||||||
config/i3/config.local
|
|
||||||
config/gtk-3.0/bookmarks
|
config/gtk-3.0/bookmarks
|
||||||
config/xfce4/xfconf/xfce-perchannel-xml
|
config/xfce4/xfconf/xfce-perchannel-xml
|
||||||
config/xfce4/terminal
|
config/xfce4/terminal
|
||||||
config/themes
|
config/themes
|
||||||
config/icons
|
config/icons
|
||||||
packages/*.local
|
|
||||||
|
|||||||
@@ -8,7 +8,8 @@ font pango: Liberation Sans Regular 10
|
|||||||
default_border pixel 5
|
default_border pixel 5
|
||||||
|
|
||||||
# thin borders
|
# thin borders
|
||||||
# hide_edge_borders both
|
hide_edge_borders smart
|
||||||
|
smart_borders on
|
||||||
|
|
||||||
# Set inner/outer gaps
|
# Set inner/outer gaps
|
||||||
gaps inner 10
|
gaps inner 10
|
||||||
|
|||||||
@@ -26,3 +26,5 @@ workspace_layout default
|
|||||||
#workspace $ws2 output DP-4
|
#workspace $ws2 output DP-4
|
||||||
#workspace $ws4 output DP-4
|
#workspace $ws4 output DP-4
|
||||||
#workspace $ws6 output DP-4
|
#workspace $ws6 output DP-4
|
||||||
|
|
||||||
|
exec i3-msg workspace 2
|
||||||
|
|||||||
Symlink
+1
@@ -0,0 +1 @@
|
|||||||
|
/home/brad/dotfiles/config/plasma-i3/i3-bar.conf
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
/home/brad/dotfiles/config/plasma-i3/i3-keybindings.conf
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
vim.cmd([[
|
||||||
|
function! MapVimwiki()
|
||||||
|
" grep: if exists('g:loaded_vimwiki')
|
||||||
|
" double m
|
||||||
|
nmap <leader>mm <Plug>VimwikiIndex
|
||||||
|
" m wiki
|
||||||
|
nmap <leader>mw <Plug>VimwikiUISelect
|
||||||
|
" m help
|
||||||
|
nmap <leader>mhelp :verbose map ,m<CR>
|
||||||
|
" m go
|
||||||
|
nmap <leader>mg <Plug>VimwikiGoto
|
||||||
|
" m personal
|
||||||
|
nmap <leader>mf <Plug>VimwikiUISelect1<CR>
|
||||||
|
" m work
|
||||||
|
nmap <leader>m<Space> <Plug>VimwikiUISelect2<CR>
|
||||||
|
" m private
|
||||||
|
nmap <leader>mp <Plug>VimwikiUISelect3<CR>
|
||||||
|
" m shared
|
||||||
|
nmap <leader>ms <Plug>VimwikiUISelect4<CR>
|
||||||
|
|
||||||
|
" <C-Enter> and <S-Enter> (the original bindings for these) don't work
|
||||||
|
" because they send the same keycode and probably other reasons
|
||||||
|
nmap <leader>m- <Plug>VimwikiSplitLink
|
||||||
|
nmap <leader>m<bar> <Plug>VimwikiVSplitLink
|
||||||
|
|
||||||
|
nmap <leader>mnt <Plug>VimwikiNextTask
|
||||||
|
" TODO This command doesn't exist
|
||||||
|
" nmap <leader>mN <Plug>VimwikiPrevTask
|
||||||
|
nmap <leader>mnl <Plug>VimwikiNextLink
|
||||||
|
nmap <leader>mNl <Plug>VimwikiPrevLink
|
||||||
|
" nmap <leader>m/ <Plug>VimwikiSearch /
|
||||||
|
" nmap <leader>maq <Plug>ZettelOpen
|
||||||
|
nmap <Tab> <Plug>VimwikiIncreaseLvlSingleItem
|
||||||
|
nmap <S-Tab> <Plug>VimwikiDecreaseLvlSingleItem
|
||||||
|
imap <Tab> <Plug>VimwikiIncreaseLvlSingleItem
|
||||||
|
imap <S-Tab> <Plug>VimwikiDecreaseLvlSingleItem
|
||||||
|
vmap <Tab> <Plug>VimwikiIncreaseLvlSingleItem
|
||||||
|
vmap <S-Tab> <Plug>VimwikiDecreaseLvlSingleItem
|
||||||
|
" This is how to map insert mode plug commands <Esc><Plug>{command}a
|
||||||
|
" This always jumps to the end of the line, but with 'a' it doesn't skip
|
||||||
|
" the [ ] when adding at the start of the line
|
||||||
|
imap <C-Space> <Esc><Plug>VimwikiToggleListItemA
|
||||||
|
nmap <C-d><C-Space> <Plug>VimwikiRemoveSingleCB
|
||||||
|
imap <C-d><C-Space> <Esc><Plug>VimwikiRemoveSingleCBa
|
||||||
|
nmap <leader>mb <Plug>VimwikiBackLinks
|
||||||
|
" nmap <leader>m\ <Plug>VimwikiTable
|
||||||
|
nmap <leader>mqtoc <Plug>VimwikiTOC
|
||||||
|
nmap <leader>mqgtl <Plug>VimwikiRebuildTags<CR><Plug>VimwikiGenerateTagLinks<CR>
|
||||||
|
|
||||||
|
" Insert link from system clipboard
|
||||||
|
vmap <leader>mk c[]<Esc>Pea()<Esc>"+P
|
||||||
|
imap <leader>mk <Esc>viW<C-k>ea
|
||||||
|
nmap <leader>mk ciw[]<Esc>Pea()<Esc>"+P
|
||||||
|
|
||||||
|
" TODO: None of these work
|
||||||
|
" nmap <leader>m| :VimwikiVSplitLink 1 1<CR>
|
||||||
|
" nmap <leader>m- :VimwikiSplitLink 1 1<CR>
|
||||||
|
" vmap <leader>m- :VimwikiSplitLink 1 1<CR>
|
||||||
|
|
||||||
|
" Vim-Zettel
|
||||||
|
" TODO The <Plug> syntax is correct but broken
|
||||||
|
" autocmd Filetype vimwiki nmap <leader>mag <Plug>ZettelOpen
|
||||||
|
autocmd Filetype vimwiki nmap <leader>mag :ZettelOpen<CR>
|
||||||
|
" autocmd Filetype vimwiki nmap <leader>mp0 :ZettelOpen<CR>p0
|
||||||
|
" autocmd Filetype vimwiki nmap <leader>mp1 :ZettelOpen<CR>p1
|
||||||
|
" TODO This doesn't work
|
||||||
|
autocmd Filetype vimwiki nmap <leader>mat :ZettelOpen<CR>title:
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
augroup Vimwiki_Mappings
|
||||||
|
autocmd!
|
||||||
|
" TODO: This isn't working, vimwiki bindings are not being initialized
|
||||||
|
autocmd FileType vimwiki :call MapVimwiki()
|
||||||
|
augroup END
|
||||||
|
" TODO This shouldn't be necessary, why does this need to be called before vimwiki
|
||||||
|
" and after startup?
|
||||||
|
" :call MapVimwiki()
|
||||||
|
]])
|
||||||
@@ -0,0 +1,191 @@
|
|||||||
|
vim.cmd([[
|
||||||
|
" --- Mappings ---
|
||||||
|
" Explanation of mapping commands: https://stackoverflow.com/a/3776182
|
||||||
|
" - General -
|
||||||
|
" TODO: Remap this to easymotion but don't step on other bindings
|
||||||
|
" noremap <space> :
|
||||||
|
inoremap ,, <ESC>
|
||||||
|
cnoremap ,, <ESC><ESC>
|
||||||
|
nmap j gj
|
||||||
|
nmap k gk
|
||||||
|
" Only set on first run or it overwrites YCM behavior
|
||||||
|
" if has('vim_starting')
|
||||||
|
" imap <tab> <C-X><C-O>
|
||||||
|
" endif
|
||||||
|
let mapleader=","
|
||||||
|
let maplocalleader="\\"
|
||||||
|
" Clear highlighting on ,, in normal mode
|
||||||
|
map <leader><leader><ESC> :nohl<CR>
|
||||||
|
" Enable hex mode
|
||||||
|
map <leader>\he :%!xxd<CR>
|
||||||
|
" Disable hex mode
|
||||||
|
map <leader>\hd :%!xxd -r<CR>
|
||||||
|
" Show whitespace
|
||||||
|
nmap <leader><leader>lw :set list!<CR>
|
||||||
|
" List registers
|
||||||
|
map <leader><leader>lr :reg<CR>
|
||||||
|
" List marks
|
||||||
|
map <leader><leader>lm :marks<CR>
|
||||||
|
" Close buffer
|
||||||
|
map <leader><leader>c :Bclose<CR>
|
||||||
|
" Prev/next buffer
|
||||||
|
map <leader>q :bp<CR>
|
||||||
|
map <leader>w :bn<CR>
|
||||||
|
" System clipboard cut copy paste
|
||||||
|
map <leader>y "+y
|
||||||
|
map <leader>Y "+Y
|
||||||
|
map <leader>p "+p
|
||||||
|
map <leader>P "+P
|
||||||
|
map <leader>x "+x
|
||||||
|
map <leader>dd "+dd
|
||||||
|
" Line break above
|
||||||
|
" TODO urxvt (and other ttys) treat C-CR, S-CR, and CR as the same input
|
||||||
|
" imap <C-CR> <CR><ESC><ESC>Bkki
|
||||||
|
" Move between splits
|
||||||
|
nnoremap <C-j> <C-W><C-j>
|
||||||
|
nnoremap <C-k> <C-W><C-k>
|
||||||
|
nnoremap <C-h> <C-W><C-h>
|
||||||
|
nnoremap <C-l> <C-W><C-l>
|
||||||
|
" Make split
|
||||||
|
nnoremap <leader>- :sp<space>
|
||||||
|
nnoremap <leader><bar> :vsp<space>
|
||||||
|
set splitbelow
|
||||||
|
set splitright
|
||||||
|
" Open vimrc
|
||||||
|
map <leader>v :e $MYVIMRC<CR>
|
||||||
|
" Set working directory to current file directory
|
||||||
|
map <leader>cd :cd %:p:h<CR>:pwd<CR>:NERDTreeCWD<CR>:NERDTreeToggle<CR>
|
||||||
|
" Update vimrc
|
||||||
|
map <leader>rr :call ReloadVimRC()<CR>;
|
||||||
|
" Open GVim menu
|
||||||
|
" map <leader>m :emenu <C-Z><C-Z>
|
||||||
|
" Low-light mode
|
||||||
|
map <leader><leader>ll :set background=dark<CR>
|
||||||
|
" Daylight mode
|
||||||
|
map <leader><leader>LL :set background=light<CR>
|
||||||
|
" Open ranger
|
||||||
|
nmap <leader>ra :call Ranger()<CR>
|
||||||
|
" Delete whitespace
|
||||||
|
nmap <leader>rw :call DeleteTrailingWS()<CR>
|
||||||
|
" Fix syntax highlighting
|
||||||
|
noremap <F12> <Esc>:syntax sync fromstart<CR>
|
||||||
|
|
||||||
|
|
||||||
|
function! MapPlugins()
|
||||||
|
" - Plugins -
|
||||||
|
if exists('g:loaded_startify')
|
||||||
|
" Open Startify
|
||||||
|
map <leader><leader>o :Startify<CR>
|
||||||
|
endif
|
||||||
|
|
||||||
|
if exists('g:loaded_nerd_tree')
|
||||||
|
" Toggle directory view
|
||||||
|
map <leader>t :NERDTreeToggle<CR>
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Generative AI
|
||||||
|
|
||||||
|
if exists('g:loaded_tagbar')
|
||||||
|
" Toggle tagbar
|
||||||
|
map <leader>ct :TagbarToggle<CR>
|
||||||
|
endif
|
||||||
|
|
||||||
|
if exists('g:loaded_vimwiki')
|
||||||
|
" TODO This shouldn't be necessary!
|
||||||
|
" NOTE: Changes must be mirrored to config/bindings-vimwiki.vimrc!
|
||||||
|
endif
|
||||||
|
|
||||||
|
if exists('g:loaded_table_mode')
|
||||||
|
endif
|
||||||
|
|
||||||
|
if exists('g:loaded_zettel')
|
||||||
|
let g:zettel_default_mappings = 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Update ctags
|
||||||
|
" nnoremap <leader>ct :! ctags -R<CR><CR>
|
||||||
|
|
||||||
|
if exists('g:loaded_ctrlp')
|
||||||
|
" Jump to a tag
|
||||||
|
nnoremap <leader>. :CtrlPTag<CR>
|
||||||
|
" Jump to a buffer
|
||||||
|
nnoremap <leader>; :CtrlPBuffer<CR>
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Make a config for YCM from Makefile
|
||||||
|
map <leader>ygc :YcmGenerateConfig<CR>
|
||||||
|
|
||||||
|
" Ag
|
||||||
|
map <leader>ag :Ag<space>
|
||||||
|
|
||||||
|
" Easymotion
|
||||||
|
if exists('g:EasyMotion_loaded')
|
||||||
|
" let g:EasyMotion_do_mapping = 0
|
||||||
|
let g:EasyMotion_smartcase = 1
|
||||||
|
map <leader>/ <Plug>(easymotion-sn)
|
||||||
|
omap <leader>/ <Plug>(easymotion-tn)
|
||||||
|
" map <leader>n <Plug>(easymotion-next)
|
||||||
|
" map <leader>N <Plug>(easymotion-prev)
|
||||||
|
" Bidirectional single-letter search
|
||||||
|
map <leader>s <Plug>(easymotion-s)
|
||||||
|
" Bidirectional 2-letter search
|
||||||
|
map <leader><leader>s <Plug>(easymotion-s2)
|
||||||
|
" Forward single letter search
|
||||||
|
map <leader>f <Plug>(easymotion-f)
|
||||||
|
" Directional jumps
|
||||||
|
map <leader>l <Plug>(easymotion-lineforward)
|
||||||
|
map <leader>j <Plug>(easymotion-j)
|
||||||
|
map <leader>k <Plug>(easymotion-k)
|
||||||
|
map <leader>h <Plug>(easymotion-linebackward)
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Multiple Cursors
|
||||||
|
let g:multi_cursor_use_default_mapping=0
|
||||||
|
let g:multi_cursor_next_key='n'
|
||||||
|
let g:multi_cursor_prev_key='m'
|
||||||
|
let g:multi_cursor_skip_key='.'
|
||||||
|
let g:multi_cursor_quit_key=','
|
||||||
|
let g:multi_cursor_start_key='<C-n>'
|
||||||
|
|
||||||
|
if exists('g:tabular_loaded')
|
||||||
|
" Tabular
|
||||||
|
map <leader>a= :Tabularize /=<CR>
|
||||||
|
map <leader>a: :Tabularize /:\zs<CR>
|
||||||
|
endif
|
||||||
|
|
||||||
|
if exists('g:loaded_nerd_comments')
|
||||||
|
" NERD Commenter
|
||||||
|
" Enter the NERD Commenter menu which can be tabbed through
|
||||||
|
map <leader>nc :emenu Plugin.comment.<C-Z><C-Z>
|
||||||
|
endif
|
||||||
|
|
||||||
|
if exists('g:loaded_gundo')
|
||||||
|
" Gundo
|
||||||
|
nnoremap <leader>u :GundoToggle<CR>
|
||||||
|
endif
|
||||||
|
|
||||||
|
" --- Language Specific ---
|
||||||
|
" - General
|
||||||
|
" COC
|
||||||
|
" Use K to show documentation in preview window
|
||||||
|
nnoremap K :call ShowDocumentation()
|
||||||
|
|
||||||
|
nmap ff <plug>(coc-format-selected)
|
||||||
|
nmap rn <plug>(coc-rename)
|
||||||
|
nmap gd <plug>(coc-definition)
|
||||||
|
nmap gy <plug>(coc-type-definition)
|
||||||
|
nmap gi <plug>(coc-implementation)
|
||||||
|
nmap gr <plug>(coc-references)
|
||||||
|
|
||||||
|
" - Rust -
|
||||||
|
map <localleader>rr :RustRun<CR>
|
||||||
|
|
||||||
|
" - Markdown -
|
||||||
|
map <localleader>v :LivedownToggle<CR>
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
augroup Plugin_Mappings
|
||||||
|
autocmd!
|
||||||
|
autocmd VimEnter * :call MapPlugins()
|
||||||
|
augroup END
|
||||||
|
]])
|
||||||
@@ -82,6 +82,8 @@ function! MapPlugins()
|
|||||||
map <leader>t :NERDTreeToggle<CR>
|
map <leader>t :NERDTreeToggle<CR>
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" Generative AI
|
||||||
|
|
||||||
if exists('g:loaded_tagbar')
|
if exists('g:loaded_tagbar')
|
||||||
" Toggle tagbar
|
" Toggle tagbar
|
||||||
map <leader>ct :TagbarToggle<CR>
|
map <leader>ct :TagbarToggle<CR>
|
||||||
|
|||||||
@@ -0,0 +1,62 @@
|
|||||||
|
vim.cmd([[
|
||||||
|
"------ Functions ------
|
||||||
|
if executable('ranger')
|
||||||
|
" Open ranger from within vim
|
||||||
|
function! Ranger()
|
||||||
|
" Get a temp file name without creating it
|
||||||
|
let tmpfile = substitute(system('mktemp -u'), '\n', '', '')
|
||||||
|
" Launch ranger, passing it the temp file name
|
||||||
|
silent exec '!RANGER_RETURN_FILE='.tmpfile.' ranger'
|
||||||
|
" If the temp file has been written by ranger
|
||||||
|
if filereadable(tmpfile)
|
||||||
|
" Get the selected file name from the temp file
|
||||||
|
let filetoedit = system('cat '.tmpfile)
|
||||||
|
exec 'edit '.filetoedit
|
||||||
|
call delete(tmpfile)
|
||||||
|
endif
|
||||||
|
redraw!
|
||||||
|
endfunction
|
||||||
|
endif
|
||||||
|
|
||||||
|
" set viminfo=%M
|
||||||
|
|
||||||
|
" Delete trailing white space on save, useful for Python and CoffeeScript ;)
|
||||||
|
func! DeleteTrailingWS()
|
||||||
|
silent! normal mz
|
||||||
|
silent! %s/\s\+$//ge
|
||||||
|
silent! normal `z
|
||||||
|
endfunc
|
||||||
|
" autocmd BufWrite *.py :call DeleteTrailingWS()
|
||||||
|
" autocmd BufWrite *.coffee :call DeleteTrailingWS()
|
||||||
|
|
||||||
|
" Only define if not defined, otherwise it'll be redefined in the middle of
|
||||||
|
" execution
|
||||||
|
if !exists("*ReloadVimRC")
|
||||||
|
func! ReloadVimRC()
|
||||||
|
" IMPORTANT: After way too much messing with this trying to make everything work properly
|
||||||
|
" after a vimrc reload, my advice is DON'T RELOAD THE VIMRC WHILE EDITING A FILE!
|
||||||
|
" Side effects will include: Some syntax highlighting lost until next save, indentline
|
||||||
|
" plugin will break, newly opened buffers will use buffer reloaded on's syntax file for
|
||||||
|
" comment plugins (and possibly other things)
|
||||||
|
" Ommision of 'syntax on' here will prevent anything from breaking inside the current buffer,
|
||||||
|
" however new buffers will be opened without any syntax highlighting
|
||||||
|
source $MYVIMRC
|
||||||
|
" Need to toggle this twice, once toggles every other time, none turns
|
||||||
|
" it off on reload. I have no idea why this is.
|
||||||
|
RainbowToggle
|
||||||
|
RainbowToggle
|
||||||
|
syntax on
|
||||||
|
" Workaround for indentline turning off on syntax enable
|
||||||
|
IndentLinesReset
|
||||||
|
endfunc
|
||||||
|
endif
|
||||||
|
|
||||||
|
" COC Show Documentation under cursor
|
||||||
|
function! ShowDocumentation()
|
||||||
|
if (index(['vim','help'], &filetype) >= 0)
|
||||||
|
execute 'h '.expand('')
|
||||||
|
else
|
||||||
|
call CocAction('doHover')
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
]])
|
||||||
@@ -0,0 +1,164 @@
|
|||||||
|
vim.cmd([[
|
||||||
|
" Needed for vimwiki
|
||||||
|
set nocompatible
|
||||||
|
filetype plugin on
|
||||||
|
syntax on
|
||||||
|
|
||||||
|
" Control-X Control-O to open autocomplete box
|
||||||
|
set omnifunc=syntaxcomplete#Complete
|
||||||
|
" Leave hidden buffers open
|
||||||
|
set hidden
|
||||||
|
set autoread " Reload files changed outside vim
|
||||||
|
|
||||||
|
" Turn off .swp files
|
||||||
|
set noswapfile
|
||||||
|
set nobackup
|
||||||
|
|
||||||
|
set t_Co=256 " Run in 256-color mode
|
||||||
|
set number " Show line numbers
|
||||||
|
|
||||||
|
" Set the clipbaord
|
||||||
|
" set clipboard+=unnamedplus
|
||||||
|
" let g:clipboard = {
|
||||||
|
" \ 'name': 'myClipboard',
|
||||||
|
" \ 'copy': {
|
||||||
|
" \ '+': 'tmux load-buffer -',
|
||||||
|
" \ '*': 'tmux load-buffer -',
|
||||||
|
" \ },
|
||||||
|
" \ 'paste': {
|
||||||
|
" \ '+': 'tmux save-buffer -',
|
||||||
|
" \ '*': 'tmux save-buffer -',
|
||||||
|
" \ },
|
||||||
|
" \ 'cache_enabled': 1,
|
||||||
|
" \ }
|
||||||
|
" let g:loaded_clipboard_provider=1
|
||||||
|
|
||||||
|
|
||||||
|
" Matchit plugin enhances %
|
||||||
|
runtime macros/matchit.vim
|
||||||
|
|
||||||
|
" Set unix line endings
|
||||||
|
" set fileformat=unix
|
||||||
|
|
||||||
|
" Set encoding for vim-devicons
|
||||||
|
set encoding=UTF-8
|
||||||
|
|
||||||
|
" Don't redraw screen when not needed
|
||||||
|
set lazyredraw
|
||||||
|
|
||||||
|
" Allow backspacing over everything
|
||||||
|
set backspace=indent,eol,start
|
||||||
|
|
||||||
|
" Keep longer history
|
||||||
|
set history=700
|
||||||
|
|
||||||
|
" Incremental search
|
||||||
|
set incsearch
|
||||||
|
|
||||||
|
" Smart case insensitive search
|
||||||
|
set ignorecase
|
||||||
|
set smartcase
|
||||||
|
|
||||||
|
" Maintain context around cursor
|
||||||
|
set scrolloff=15
|
||||||
|
|
||||||
|
" Wildmode configuration
|
||||||
|
set wildmode=longest,list,full
|
||||||
|
set wildmenu
|
||||||
|
" Make hardcoded tab work
|
||||||
|
:set wildcharm=<C-Z>
|
||||||
|
|
||||||
|
" Mouse support
|
||||||
|
set mouse=a
|
||||||
|
|
||||||
|
" Configure tab behavior
|
||||||
|
set tabstop=4
|
||||||
|
set softtabstop=4
|
||||||
|
set expandtab
|
||||||
|
set shiftwidth=4
|
||||||
|
" set autoindent
|
||||||
|
set cindent
|
||||||
|
set cinkeys-=0#
|
||||||
|
set indentkeys-=0#
|
||||||
|
" set smartindent
|
||||||
|
|
||||||
|
" Linewrap
|
||||||
|
set wrap linebreak nolist
|
||||||
|
|
||||||
|
" Show current position
|
||||||
|
set ruler
|
||||||
|
|
||||||
|
" Show matching brackets
|
||||||
|
set showmatch
|
||||||
|
|
||||||
|
" Make conceals less of an issue to edit by expanding on cursor
|
||||||
|
let g:indentLine_concealcursor=""
|
||||||
|
let g:indentLine_conceallevel=2
|
||||||
|
|
||||||
|
" Code folding
|
||||||
|
set foldmethod=syntax
|
||||||
|
set foldcolumn=5
|
||||||
|
set foldlevel=2
|
||||||
|
set foldlevelstart=2
|
||||||
|
let g:vimwiki_folding='list'
|
||||||
|
let g:markdown_folding=1
|
||||||
|
|
||||||
|
" Make views automatic (they store folds)
|
||||||
|
set viewoptions-=options
|
||||||
|
" TODO: These caused all of my buffers to cycle on buffer operations and
|
||||||
|
" slowed things down
|
||||||
|
" autocmd BufWinLeave * if expand("%") != "" | silent! mkview! | endif
|
||||||
|
" autocmd BufWinEnter * if expand("%") != "" | silent! loadview | endif
|
||||||
|
|
||||||
|
" Don't open empty buffer when starting existing session
|
||||||
|
set shortmess+=I
|
||||||
|
|
||||||
|
" Load default menus
|
||||||
|
source $VIMRUNTIME/menu.vim
|
||||||
|
|
||||||
|
" Always display airline statusline
|
||||||
|
set laststatus=2
|
||||||
|
" Hide default statusline text
|
||||||
|
set noshowmode "
|
||||||
|
|
||||||
|
" Theme
|
||||||
|
" colorscheme zenburn
|
||||||
|
" colorscheme solarized
|
||||||
|
" colorscheme base16-default
|
||||||
|
" colorscheme hybrid_reverse
|
||||||
|
" colorscheme hybrid_material
|
||||||
|
try
|
||||||
|
silent! colorscheme gruvbox
|
||||||
|
catch /^Vim\%((\a\++)\)\=:E185/
|
||||||
|
colorscheme desert
|
||||||
|
endtry
|
||||||
|
|
||||||
|
set termguicolors
|
||||||
|
|
||||||
|
let g:enable_bold_font = 1
|
||||||
|
|
||||||
|
" Have vrm extend background color to full terminal screen
|
||||||
|
set t_ut=
|
||||||
|
|
||||||
|
" --- GUI settings ---
|
||||||
|
" set lines=50
|
||||||
|
" set columns=150
|
||||||
|
|
||||||
|
" --- Language specific settings ---
|
||||||
|
" autocmd! BufNewFile,BufReadPre,FileReadPre,BufEnter * set expandtab softtabstop=4 shiftwidth=4
|
||||||
|
augroup Enter_Buffer
|
||||||
|
autocmd!
|
||||||
|
autocmd BufNewFile,BufReadPre,FileReadPre,BufEnter *.pde setlocal softtabstop=2 shiftwidth=2
|
||||||
|
autocmd BufNewFile,BufReadPre,FileReadPre,BufEnter Makefile setlocal noexpandtab softtabstop=0 shiftwidth=8
|
||||||
|
autocmd BufNewFile,BufReadPre,FileReadPre,BufEnter *.asm,*.S setlocal softtabstop=8 shiftwidth=8
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
au BufNewFile,BufRead *.py
|
||||||
|
\ setlocal tabstop=4 |
|
||||||
|
\ setlocal softtabstop=4 |
|
||||||
|
\ setlocal shiftwidth=4 |
|
||||||
|
\ setlocal textwidth=79 |
|
||||||
|
\ setlocal expandtab |
|
||||||
|
\ setlocal autoindent |
|
||||||
|
\ setlocal fileformat=unix |
|
||||||
|
]])
|
||||||
@@ -0,0 +1,187 @@
|
|||||||
|
vim.cmd([[
|
||||||
|
let g:vim_plug_install_dir = "~/.local/share/nvim/site/autoload"
|
||||||
|
let g:plugin_install_dir = "~/.local/share/nvim/plugged"
|
||||||
|
|
||||||
|
" Install vim-plug if not present
|
||||||
|
if empty(glob(g:vim_plug_install_dir . "/plug.vim"))
|
||||||
|
execute "!curl -fLo " . g:vim_plug_install_dir . "/plug.vim "
|
||||||
|
\ "--create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim"
|
||||||
|
endif
|
||||||
|
|
||||||
|
call plug#begin('~/.vim/plugged')
|
||||||
|
|
||||||
|
" --- General ---
|
||||||
|
" - Visual -
|
||||||
|
" Rainbow parentheses
|
||||||
|
Plug 'luochen1990/rainbow'
|
||||||
|
" Gruvbox
|
||||||
|
Plug 'morhetz/gruvbox'
|
||||||
|
" Airline
|
||||||
|
" TODO This now depends on lua
|
||||||
|
Plug 'bling/vim-airline'
|
||||||
|
|
||||||
|
" - Views -
|
||||||
|
" Start screen
|
||||||
|
Plug 'mhinz/vim-startify'
|
||||||
|
" Directory view
|
||||||
|
Plug 'scrooloose/nerdtree'
|
||||||
|
" Visualize undo tree
|
||||||
|
Plug 'sjl/gundo.vim'
|
||||||
|
" Much nicer buffer management
|
||||||
|
Plug 'jlanzarotta/bufexplorer'
|
||||||
|
" Shows indentation level
|
||||||
|
Plug 'yggdroot/indentLine'
|
||||||
|
" Show marks
|
||||||
|
" TODO Make this not conflict with ,mm for vimwiki, probably just an issue
|
||||||
|
" with not having vimwiki installed yet
|
||||||
|
" Plug 'kshenoy/vim-signature'
|
||||||
|
"
|
||||||
|
" - Sessions -
|
||||||
|
" Better sessions
|
||||||
|
Plug 'tpope/vim-obsession'
|
||||||
|
|
||||||
|
" - Generative AI -
|
||||||
|
Plug 'David-Kunz/gen.nvim'
|
||||||
|
|
||||||
|
" - Ctags -
|
||||||
|
" Ctags view
|
||||||
|
Plug 'majutsushi/tagbar'
|
||||||
|
" Automatically keep ctags up to date
|
||||||
|
" Plug 'xolox/vim-easytags'
|
||||||
|
" TODO Fix compatibility with vim-zettel
|
||||||
|
" Plug 'c0r73x/neotags.nvim'
|
||||||
|
|
||||||
|
" - Syntax and completion -
|
||||||
|
" Asynchronous linting
|
||||||
|
Plug 'neomake/neomake'
|
||||||
|
" Completion
|
||||||
|
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
|
||||||
|
" Awesome autocompletion for almost everything
|
||||||
|
" Plug 'Valloric/YouCompleteMe', {
|
||||||
|
" \ 'build' : {
|
||||||
|
" \ 'mac' : './install.sh --clang-completer --system-libclang --omnisharp-completer --racer-completer',
|
||||||
|
" \ 'unix' : './install.sh --clang-completer --system-libclang --omnisharp-completer --racer-completer',
|
||||||
|
" \ 'windows' : './install.sh --clang-completer --system-libclang --omnisharp-completer --racer-completer',
|
||||||
|
" \ 'cygwin' : './install.sh --clang-completer --system-libclang --omnisharp-completer --racer-completer'
|
||||||
|
" \ }
|
||||||
|
" \ }
|
||||||
|
|
||||||
|
" - Commenting -
|
||||||
|
" Comment toggling with lots of options
|
||||||
|
Plug 'scrooloose/nerdcommenter'
|
||||||
|
" Simple, quick commenting
|
||||||
|
Plug 'tpope/vim-commentary'
|
||||||
|
|
||||||
|
" - Git -
|
||||||
|
" Shows git changes in the side gutter
|
||||||
|
" Plug 'airblade/vim-gitgutter'
|
||||||
|
Plug 'mhinz/vim-signify'
|
||||||
|
" Git wrapper inside vim
|
||||||
|
Plug 'tpope/vim-fugitive'
|
||||||
|
|
||||||
|
" - Automation -
|
||||||
|
" Surround things and change surroundings
|
||||||
|
Plug 'tpope/vim-surround'
|
||||||
|
" Parentheses and bracket auto-close
|
||||||
|
Plug 'Raimondi/delimitMate'
|
||||||
|
" Much nicer navigation
|
||||||
|
" TODO Move this to space key
|
||||||
|
Plug 'easymotion/vim-easymotion'
|
||||||
|
" Multiple cursors
|
||||||
|
Plug 'terryma/vim-multiple-cursors'
|
||||||
|
" Automatic alignment
|
||||||
|
Plug 'godlygeek/tabular'
|
||||||
|
" Tables
|
||||||
|
Plug 'dhruvasagar/vim-table-mode'
|
||||||
|
|
||||||
|
" - Search -
|
||||||
|
" Kickass fuzzy finder for whole filesystem
|
||||||
|
Plug 'ctrlpvim/ctrlp.vim'
|
||||||
|
" Can use Ag from vim
|
||||||
|
" Plug 'rking/ag.vim'
|
||||||
|
|
||||||
|
" - Utility and dependencies
|
||||||
|
" Library required for some plugins
|
||||||
|
" Plug 'L9'
|
||||||
|
" Close buffers
|
||||||
|
Plug 'rbgrouleff/bclose.vim'
|
||||||
|
" Seamless navigation between tmux panes and vim splits
|
||||||
|
Plug 'christoomey/vim-tmux-navigator'
|
||||||
|
" Required for easytags
|
||||||
|
Plug 'xolox/vim-misc'
|
||||||
|
" Make . work for plugins
|
||||||
|
Plug 'tpope/vim-repeat'
|
||||||
|
" Auto reload changed config
|
||||||
|
Plug 'xolox/vim-reload'
|
||||||
|
" Make configuration files for YCM
|
||||||
|
" Plug 'rdnetto/YCM-Generator'
|
||||||
|
|
||||||
|
" - Note Taking -
|
||||||
|
" Note taking and wiki managment
|
||||||
|
Plug 'vimwiki/vimwiki'
|
||||||
|
" TODO Why can't these go in Search?
|
||||||
|
Plug 'junegunn/fzf'
|
||||||
|
Plug 'junegunn/fzf.vim'
|
||||||
|
Plug 'michal-h21/vim-zettel'
|
||||||
|
" TODO Make this pull on buffer open / load
|
||||||
|
" Plug 'michal-h21/vimwiki-sync'
|
||||||
|
|
||||||
|
" --- Language specific ---
|
||||||
|
" - All -
|
||||||
|
Plug 'sheerun/vim-polyglot'
|
||||||
|
" Integration with language servers but manual configuration
|
||||||
|
Plug 'neoclide/coc.nvim', {'branch': 'release'}
|
||||||
|
" Allows vim to configure filetype by file section (for svelte)
|
||||||
|
Plug 'Shougo/context_filetype.vim'
|
||||||
|
" Prettier
|
||||||
|
Plug 'prettier/vim-prettier', {
|
||||||
|
\ 'do': 'npm install',
|
||||||
|
\ 'for': ['javascript', 'typescript', 'css', 'less', 'scss', 'json', 'graphql', 'markdown', 'vue', 'svelte', 'yaml', 'html'] }
|
||||||
|
|
||||||
|
" - Web -
|
||||||
|
Plug 'mattn/emmet-vim'
|
||||||
|
Plug 'mattn/webapi-vim'
|
||||||
|
Plug 'cakebaker/scss-syntax.vim'
|
||||||
|
|
||||||
|
" - Python -
|
||||||
|
" Plug 'klen/python-mode'
|
||||||
|
" Plug 'davidhalter/jedi-vim'
|
||||||
|
" Completion
|
||||||
|
" Plug 'zchee/deoplete-jedi'
|
||||||
|
|
||||||
|
" - C# -
|
||||||
|
" Omnicompletion and syntax
|
||||||
|
" Plug 'OmniSharp/omnisharp-vim'
|
||||||
|
|
||||||
|
" - Rust -
|
||||||
|
" Syntax and autocompletion
|
||||||
|
" Plug 'rust-lang/rust.vim'
|
||||||
|
" Plug 'phildawes/racer'
|
||||||
|
|
||||||
|
" - Javascript -
|
||||||
|
Plug 'pangloss/vim-javascript'
|
||||||
|
|
||||||
|
" - Typescript -
|
||||||
|
Plug 'HerringtonDarkholme/yats.vim'
|
||||||
|
" TODO: Needs to be installed with `:CocInstall coc-tsserver`, figure out how
|
||||||
|
" to config this
|
||||||
|
" Plug 'coc-extensions/coc-tsserver'
|
||||||
|
|
||||||
|
" - Svelte
|
||||||
|
" Plug 'evanleck/vim-svelte', {'branch': 'main'}
|
||||||
|
Plug 'leafOfTree/vim-svelte-plugin'
|
||||||
|
Plug 'coc-extensions/coc-svelte'
|
||||||
|
|
||||||
|
" - Processing -
|
||||||
|
Plug 'sophacles/vim-processing'
|
||||||
|
|
||||||
|
" - Markdown -
|
||||||
|
" Plug 'shime/vim-livedown'
|
||||||
|
|
||||||
|
|
||||||
|
" --- Icons ---
|
||||||
|
" For some reason this needs to be loaded last
|
||||||
|
Plug 'ryanoasis/vim-devicons'
|
||||||
|
|
||||||
|
call plug#end()
|
||||||
|
]])
|
||||||
@@ -39,6 +39,9 @@ Plug 'yggdroot/indentLine'
|
|||||||
" Better sessions
|
" Better sessions
|
||||||
Plug 'tpope/vim-obsession'
|
Plug 'tpope/vim-obsession'
|
||||||
|
|
||||||
|
" - Generative AI -
|
||||||
|
Plug 'David-Kunz/gen.nvim'
|
||||||
|
|
||||||
" - Ctags -
|
" - Ctags -
|
||||||
" Ctags view
|
" Ctags view
|
||||||
Plug 'majutsushi/tagbar'
|
Plug 'majutsushi/tagbar'
|
||||||
|
|||||||
@@ -0,0 +1,333 @@
|
|||||||
|
require('gen').setup({
|
||||||
|
model = "phi",
|
||||||
|
host = "10.0.2.11",
|
||||||
|
port = "11434"
|
||||||
|
})
|
||||||
|
vim.cmd([[
|
||||||
|
" Table of Contents
|
||||||
|
" --- General ---
|
||||||
|
" - Visual -
|
||||||
|
" - Views -
|
||||||
|
" -
|
||||||
|
" TODO
|
||||||
|
|
||||||
|
" --- General ---
|
||||||
|
" - Sessions -
|
||||||
|
" Create new session optionally with given name. These show up in Startify
|
||||||
|
command -nargs=? SessionNew :Obsess ~/.local/share/nvim/session/<args>
|
||||||
|
command -nargs=0 SessionEnd :Obsess!
|
||||||
|
command -nargs=1 SessionLoad :source ~/.local/share/nvim/session/<args>
|
||||||
|
" TODO Could use g:startify_session_persistence and just rely on that
|
||||||
|
|
||||||
|
" - Visual -
|
||||||
|
set background=dark
|
||||||
|
let base16colorspace=256
|
||||||
|
" let g:solarized_termtrans = 3
|
||||||
|
|
||||||
|
" Airline
|
||||||
|
let g:airline_powerline_fonts=1
|
||||||
|
" PERF: Could cause bad performance
|
||||||
|
" let g:airline_skip_empty_sections=1
|
||||||
|
let g:airline#extensions#tabline#enabled=1
|
||||||
|
" Modify the statusbar if a recording is in session
|
||||||
|
" TODO: This prevents some extensions (tagbar, virtualenv) from using the
|
||||||
|
" section
|
||||||
|
" TODO: Only if Obsession installed!
|
||||||
|
let g:airline_section_x='%{ObsessionStatus("Session Recording |", "")} %{&filetype}'
|
||||||
|
|
||||||
|
" Gruvbox
|
||||||
|
let g:gruvbox_italic=1
|
||||||
|
let g:gruvbox_contrast_dark="medium"
|
||||||
|
let g:gruvbox_contrast_light="soft"
|
||||||
|
let g:gruvbox_invert_selection=1
|
||||||
|
let g:gruvbox_invert_signs=0
|
||||||
|
let g:gruvbox_improved_strings=0
|
||||||
|
let g:gruvbox_improved_warnings=1
|
||||||
|
let g:gruvbox_italicize_strings=1
|
||||||
|
|
||||||
|
" Rainbow parentheses
|
||||||
|
" if exists('g:rainbow_conf')
|
||||||
|
" augroup Rainbow_Parentheses
|
||||||
|
" autocmd!
|
||||||
|
" autocmd VimEnter * if exists('g:rainbow_conf') |
|
||||||
|
" \ RainbowToggle |
|
||||||
|
" \ endif
|
||||||
|
" augroup END
|
||||||
|
" endif
|
||||||
|
|
||||||
|
" - Views -
|
||||||
|
" Startify
|
||||||
|
let g:startify_bookmarks = [
|
||||||
|
\"~/dotfiles/config/nvim/config/init.vimrc",
|
||||||
|
\"~/dotfiles/config/nvim/config/general.vimrc",
|
||||||
|
\"~/dotfiles/config/nvim/config/plugin.vimrc",
|
||||||
|
\"~/dotfiles/config/nvim/config/bindings.vimrc",
|
||||||
|
\"~/dotfiles/config/nvim/config/functions.vimrc",
|
||||||
|
\"~/dotfiles/zshrc",
|
||||||
|
\"~/dotfiles/config/i3/config"
|
||||||
|
\]
|
||||||
|
let g:startify_custom_indices = ['f', 'd', 's', 'a', 'g']
|
||||||
|
let g:startify_custom_header = map(split(system('fortune -a -s | fmt -80 -s | cowthink -$(shuf -n 1 -e b d g p s t w y) -f $(shuf -n 1 -e $(cowsay -l | tail -n +2)) -n'), '\n'), '" ". v:val') + [","]
|
||||||
|
" let g:startify_lists = [
|
||||||
|
" \ { 'type': 'files', 'header': [' MRU'] },
|
||||||
|
" \ { 'type': 'dir', 'header': [' MRU '. getcwd()] },
|
||||||
|
" \ { 'type': 'sessions', 'header': [' Sessions'] },
|
||||||
|
" \ { 'type': 'bookmarks', 'header': [' Bookmarks'] },
|
||||||
|
" \ { 'type': 'commands', 'header': [' Commands'] },
|
||||||
|
" \ ]
|
||||||
|
|
||||||
|
" Automatically open tagbar when entering supported buffer
|
||||||
|
" autocmd BufEnter * nested :call tagbar#autoopen(0)
|
||||||
|
|
||||||
|
" - Generative AI -
|
||||||
|
|
||||||
|
" - Utility -
|
||||||
|
" DelimitMate sane bracing
|
||||||
|
let delimitMate_expand_cr = 1
|
||||||
|
|
||||||
|
" Indent Guide configuration
|
||||||
|
" set ts=2 sw=2 et
|
||||||
|
let g:indent_guides_enable_on_vim_startup = 0
|
||||||
|
let g:indent_guides_start_level = 2
|
||||||
|
let g:indent_guides_auto_colors = 0
|
||||||
|
augroup Indent_Guides
|
||||||
|
autocmd!
|
||||||
|
autocmd VimEnter,Colorscheme * if exists('g:indentLine_loaded') |
|
||||||
|
\ :hi IndentGuidesOdd ctermbg=darkgreen |
|
||||||
|
\ endif
|
||||||
|
autocmd VimEnter,Colorscheme * if exists('g:indentLine_loaded') |
|
||||||
|
\ :hi IndentGuidesEven ctermbg=cyan |
|
||||||
|
\ endif
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
" Indent Line configuration
|
||||||
|
let g:indentLine_faster = 1
|
||||||
|
" let g:indentLine_leadingSpaceEnabled = 1
|
||||||
|
" let g:indentLine_leadingSpaceChar = '.'
|
||||||
|
|
||||||
|
" GitGutter
|
||||||
|
let g:gitgutter_map_keys = 0
|
||||||
|
|
||||||
|
" NERD Commenter
|
||||||
|
" let g:NERDMenuMode = 1
|
||||||
|
|
||||||
|
" NERD Tree
|
||||||
|
" This causes an extra buffer to open when nvim starts
|
||||||
|
" augroup DIRCHAANGE
|
||||||
|
" au!
|
||||||
|
" autocmd DirChanged global :NERDTreeCWD
|
||||||
|
" augroup END
|
||||||
|
|
||||||
|
" Sort by modification date
|
||||||
|
let NERDTreeSortOrder = ['[ [-timestamp] ]']
|
||||||
|
|
||||||
|
" Ctrl-P configuration
|
||||||
|
" Use nearest version control directory as cwd
|
||||||
|
let g:ctrlp_working_path_mode = 'r'
|
||||||
|
|
||||||
|
" Syntastic configuration
|
||||||
|
let g:syntastic_aggregate_errors = 1
|
||||||
|
|
||||||
|
let g:syntastic_always_populate_loc_list = 1
|
||||||
|
let g:syntastic_auto_loc_list = 1
|
||||||
|
let g:syntastic_check_on_open = 1
|
||||||
|
let g:syntastic_check_on_wq = 0
|
||||||
|
let g:syntastic_mode_map = {
|
||||||
|
\ "mode": "active",
|
||||||
|
\ "passive_filetypes": ['asm', 'scss'] }
|
||||||
|
|
||||||
|
" YCM configuration
|
||||||
|
let g:ycm_global_ycm_extra_conf = '~/dotfiles/.ycm_extra_conf.py'
|
||||||
|
let g:ycm_extra_conf_globlist = ['~/dotfiles/.ycm_extra_conf.py']
|
||||||
|
|
||||||
|
let g:ycm_server_keep_logfiles = 1
|
||||||
|
let g:ycm_server_log_level = 'debug'
|
||||||
|
" let g:loaded_youcompleteme = 1
|
||||||
|
" let g:ycm_min_num_of_chars_for_completion = 100
|
||||||
|
let g:neobundle#install_process_timeout = 1500
|
||||||
|
" nnoremap <leader><leader>zy :let g:ycm_auto_trigger=0<CR>
|
||||||
|
" nnoremap <leader><leader>zY :let g:ycm_auto_trigger=1<CR>
|
||||||
|
|
||||||
|
" Powerline configuration
|
||||||
|
let g:powerline_pycmd = "py"
|
||||||
|
" let g:powerline_pyeval = "pyeval"
|
||||||
|
|
||||||
|
" Neotags configuration
|
||||||
|
" let g:neotags_enabled = 1
|
||||||
|
|
||||||
|
" Vimwiki configuration
|
||||||
|
let g:vimwiki_list = [
|
||||||
|
\{'path': '~/synced-notebooks/bradwiki/', 'syntax': 'markdown', 'ext': '.md', 'diary_rel_path': 'daily_notes/', 'diary_index': 'index', 'diary_header': 'Daily Notes', 'auto_tags': 1, 'auto_diary_index': 1, 'auto_generate_links': 1, 'auto_generate_tags': 1},
|
||||||
|
\{'path': '~/synced-notebooks/work_notebook/', 'syntax': 'markdown', 'ext': '.md', 'diary_rel_path': 'daily_notes/', 'diary_index': 'index', 'diary_header': 'Daily Notes', 'auto_tags': 1, 'auto_diary_index': 1, 'auto_generate_links': 1, 'auto_generate_tags': 1},
|
||||||
|
\{'path': '~/synced-notebooks/privatewiki/', 'syntax': 'markdown', 'ext': '.md'},
|
||||||
|
\{'path': '~/synced-notebooks/sharedwiki/', 'syntax': 'markdown', 'ext': '.md'}]
|
||||||
|
let g:vimwiki_map_prefix = '<Leader>m'
|
||||||
|
augroup filetype_vimwiki
|
||||||
|
autocmd!
|
||||||
|
" Wrap lines nicely
|
||||||
|
autocmd Filetype vimwiki set breakindent
|
||||||
|
autocmd Filetype vimwiki set breakindentopt=shift:2
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
" Vim-Zettel configuration
|
||||||
|
let g:zettel_options = [{}, {"front_matter": [["tags", ""], ["type", "note"] ], "template": "~/work_notebook/templates/daily_note.tpl"}]
|
||||||
|
|
||||||
|
" Table Mode configuration
|
||||||
|
let g:table_mode_map_prefix = '<Leader><Leader>t'
|
||||||
|
|
||||||
|
" --- Language Specific ---
|
||||||
|
" - All -
|
||||||
|
" let g:polyglot_disabled = ['python']
|
||||||
|
|
||||||
|
" COC
|
||||||
|
" let g:coc_node_path = '$HOME/.nvm/versions/node/v12.16.3/bin/node'
|
||||||
|
|
||||||
|
set updatetime=300
|
||||||
|
set shortmess+=c " don't give |ins-completion-menu| messages.
|
||||||
|
|
||||||
|
" - Svelte -
|
||||||
|
let g:svelte_preprocessor_tags = [
|
||||||
|
\ { 'name': "ts", 'tag': "script", 'as': "typescript" }
|
||||||
|
\ ]
|
||||||
|
let g:svelte_preprocessors = ["scss", "sass", "typescript", "ts"]
|
||||||
|
let g:vim_svelte_plugin_load_full_syntax = 1
|
||||||
|
let g:vim_svelte_plugin_use_sass = 1
|
||||||
|
let g:vim_svelte_plugin_use_typescript = 1
|
||||||
|
let g:vim_svelte_plugin_use_foldexpr = 0
|
||||||
|
|
||||||
|
if !exists('g:context_filetype#same_filetypes')
|
||||||
|
let g:context_filetype#filetypes = {}
|
||||||
|
endif
|
||||||
|
|
||||||
|
let g:context_filetype#filetypes.svelte =
|
||||||
|
\ [
|
||||||
|
\ {'filetype' : 'typescript', 'start': '<script\%( [^>]*\)\? \%(ts\|lang="\%(ts\|typescript\)"\)\%( [^>]*\)\?>', 'end': '</script>'},
|
||||||
|
\ {'filetype' : 'javascript', 'start' : '<script \?.*>', 'end' : '</script>'},
|
||||||
|
\ {'filetype' : 'scss', 'start' : '<style \?.*lang=''scss''>', 'end' : '</style>'},
|
||||||
|
\ {'filetype' : 'sass', 'start' : '<style \?.*lang="sass">', 'end' : '</style>'},
|
||||||
|
\ {'filetype' : 'css', 'start' : '<style \?.*>', 'end' : '</style>'},
|
||||||
|
\ ]
|
||||||
|
|
||||||
|
let g:ft = ''
|
||||||
|
|
||||||
|
" For NERDCommenter
|
||||||
|
let g:NERDSpaceDelims = 1
|
||||||
|
" let g:NERDCompactSexyComs = 1
|
||||||
|
|
||||||
|
fu! NERDCommenter_before()
|
||||||
|
if (&ft == 'html') || (&ft == 'svelte')
|
||||||
|
let g:ft = &ft
|
||||||
|
let cfts = context_filetype#get_filetypes()
|
||||||
|
if len(cfts) > 0
|
||||||
|
if cfts[0] == 'svelte'
|
||||||
|
let cft = 'html'
|
||||||
|
else
|
||||||
|
let cft = cfts[0]
|
||||||
|
endif
|
||||||
|
echo "Using filetype=".cft." for comment"
|
||||||
|
exe 'setf '.cft
|
||||||
|
if exists('b:NERDCommenterDelims')
|
||||||
|
unlet b:NERDCommenterDelims
|
||||||
|
endif
|
||||||
|
call nerdcommenter#SetUp()
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfu
|
||||||
|
|
||||||
|
fu! NERDCommenter_after()
|
||||||
|
if g:ft == 'svelte'
|
||||||
|
exec 'setf '.g:ft
|
||||||
|
if exists('b:NERDCommenterDelims')
|
||||||
|
unlet b:NERDCommenterDelims
|
||||||
|
endif
|
||||||
|
call nerdcommenter#SetUp()
|
||||||
|
let g:ft = ''
|
||||||
|
endif
|
||||||
|
endfu
|
||||||
|
|
||||||
|
" Prettier
|
||||||
|
let g:prettier#quickfix_enabled = 0
|
||||||
|
let g:prettier#autoformat_require_pragma = 0
|
||||||
|
au BufWritePre *.css,*.svelte,*.pcss,*.html,*.ts,*.js,*.json PrettierAsync
|
||||||
|
|
||||||
|
" - Web -
|
||||||
|
let g:user_emmet_install_global=0
|
||||||
|
augroup Emmet
|
||||||
|
autocmd!
|
||||||
|
autocmd Filetype html,css if exists('g:loaded_emmet_vim') |
|
||||||
|
\ EmmetInstall |
|
||||||
|
\ endif
|
||||||
|
augroup END
|
||||||
|
" let g:user_emmet_leader_key='<localleader>'
|
||||||
|
|
||||||
|
" - Javascript -
|
||||||
|
" Javascript configuration
|
||||||
|
let g:javascript_enable_dom_htmlcss = 1
|
||||||
|
|
||||||
|
" - Python -
|
||||||
|
" Run in python using F9
|
||||||
|
augroup Python
|
||||||
|
autocmd!
|
||||||
|
autocmd FileType python nnoremap <buffer> <F9> :exec '!python' shellescape(@%, 1)<cr>
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
" Documentation
|
||||||
|
let g:pymode_doc = 1
|
||||||
|
let g:pymode_doc_key = 'K'
|
||||||
|
|
||||||
|
" Linting
|
||||||
|
let g:pymode_lint = 1
|
||||||
|
let g:pymode_lint_checkers = ['pyflakes', 'pep8']
|
||||||
|
let g:pymode_lint_message = 1
|
||||||
|
|
||||||
|
" Auto check on save
|
||||||
|
let g:pymode_lint_write = 1
|
||||||
|
|
||||||
|
" Support virtualenv
|
||||||
|
let g:pymode_virtualenv = 1
|
||||||
|
|
||||||
|
" Enable breakpoints plugin
|
||||||
|
let g:pymode_breakpoint = 1
|
||||||
|
let g:pymode_breakpoint_bind = '<localleader>b'
|
||||||
|
|
||||||
|
" Syntax highlighting
|
||||||
|
let g:pymode_syntax = 1
|
||||||
|
let g:pymode_syntax_all = 1
|
||||||
|
let g:pymode_syntax_indent_errors = g:pymode_syntax_all
|
||||||
|
let g:pymode_syntax_space_errors = g:pymode_syntax_all
|
||||||
|
|
||||||
|
" Enable python folding
|
||||||
|
let g:pymode_folding = 1
|
||||||
|
|
||||||
|
" Enable pymode motion
|
||||||
|
let g:pymode_motion = 1
|
||||||
|
|
||||||
|
" Set up default python options
|
||||||
|
let g:pymode_options = 1
|
||||||
|
|
||||||
|
" Trim whitespace on save
|
||||||
|
let g:pymode_trim_whitespaces = 1
|
||||||
|
|
||||||
|
" PEP8-compatible python indent
|
||||||
|
" let g:pymode_indent = 1
|
||||||
|
|
||||||
|
" Rope support
|
||||||
|
let g:pymode_rope = 0
|
||||||
|
|
||||||
|
" [YELP] Ignore line too long
|
||||||
|
let g:pymode_lint_ignore = "W503,E128"
|
||||||
|
|
||||||
|
" - Rust -
|
||||||
|
" Rust racer
|
||||||
|
let g:racer_cmd = "~/dotfiles/racer/target/release/racer"
|
||||||
|
" Must install Rust source to this location first
|
||||||
|
let $RUST_SRC_PATH="/usr/local/src/rust/src/"
|
||||||
|
" Rust folding
|
||||||
|
let g:rust_fold = 2
|
||||||
|
|
||||||
|
" - Processing -
|
||||||
|
let g:processing_fold = 1
|
||||||
|
|
||||||
|
" - Markdown -
|
||||||
|
let g:livedown_open = 1
|
||||||
|
]])
|
||||||
@@ -73,6 +73,8 @@ let g:startify_custom_header = map(split(system('fortune -a -s | fmt -80 -s | co
|
|||||||
" Automatically open tagbar when entering supported buffer
|
" Automatically open tagbar when entering supported buffer
|
||||||
" autocmd BufEnter * nested :call tagbar#autoopen(0)
|
" autocmd BufEnter * nested :call tagbar#autoopen(0)
|
||||||
|
|
||||||
|
" - Generative AI -
|
||||||
|
|
||||||
" - Utility -
|
" - Utility -
|
||||||
" DelimitMate sane bracing
|
" DelimitMate sane bracing
|
||||||
let delimitMate_expand_cr = 1
|
let delimitMate_expand_cr = 1
|
||||||
|
|||||||
@@ -1,17 +1,19 @@
|
|||||||
" Source config files
|
vim.cmd([[
|
||||||
source $HOME/.config/nvim/config/plugin.vimrc
|
" -- Source config files
|
||||||
source $HOME/.config/nvim/config/bindings-vimwiki.vimrc
|
source $HOME/.config/nvim/config/bindings-vimwiki.vimrc
|
||||||
source $HOME/.config/nvim/config/init.vimrc
|
source $HOME/.config/nvim/config/init.vimrc
|
||||||
|
source $HOME/.config/nvim/config/plugin.vimrc
|
||||||
source $HOME/.config/nvim/config/general.vimrc
|
source $HOME/.config/nvim/config/general.vimrc
|
||||||
source $HOME/.config/nvim/config/bindings.vimrc
|
source $HOME/.config/nvim/config/bindings.vimrc
|
||||||
source $HOME/.config/nvim/config/functions.vimrc
|
source $HOME/.config/nvim/config/functions.vimrc
|
||||||
|
|
||||||
" Python dependencies
|
" -- Python dependencies
|
||||||
let g:python_host_prog=expand('$HOME/.pyenv/versions/neovim2/bin/python')
|
let g:python_host_prog = expand("~/.pyenv/versions/neovim2/bin/python")
|
||||||
let g:python3_host_prog=expand('$HOME/.pyenv/versions/neovim3/bin/python')
|
let g:python3_host_prog = expand("~/.pyenv/versions/neovim3/bin/python")
|
||||||
|
|
||||||
" Local overrides
|
" -- Local overrides
|
||||||
let $LOCALFILE=expand("$HOME/.nvim_local.vimrc")
|
let $LOCALFILE=expand("$HOME/.nvim_local.vimrc")
|
||||||
if filereadable($LOCALFILE)
|
if filereadable($LOCALFILE)
|
||||||
source $LOCALFILE
|
source $LOCALFILE
|
||||||
endif
|
endif
|
||||||
|
]])
|
||||||
@@ -595,6 +595,7 @@ function main() {
|
|||||||
install_aur
|
install_aur
|
||||||
setup_system_configs
|
setup_system_configs
|
||||||
setup_samba
|
setup_samba
|
||||||
|
setup_ssh
|
||||||
install_local
|
install_local
|
||||||
elif [[ $response == "push" ]]; then
|
elif [[ $response == "push" ]]; then
|
||||||
push_dotfiles
|
push_dotfiles
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
alacritty
|
||||||
|
tigervnc
|
||||||
|
picard
|
||||||
|
colord
|
||||||
|
colord-kde
|
||||||
|
easyeffects
|
||||||
|
sway
|
||||||
|
bitwarden
|
||||||
|
steam
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
element-desktop-nightly-bin
|
||||||
|
tutanota-desktop
|
||||||
|
jetbrains-toolbox
|
||||||
|
godot-mono
|
||||||
|
fprintd
|
||||||
|
libinput-gestures
|
||||||
|
picard
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
flathub com.plexamp.Plexamp
|
||||||
Reference in New Issue
Block a user