home: vim: add 'plugin' directory
This commit is contained in:
parent
1e6a5401ec
commit
6ea69fae87
|
@ -45,4 +45,10 @@
|
||||||
|
|
||||||
extraConfig = builtins.readFile ./init.vim;
|
extraConfig = builtins.readFile ./init.vim;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
xdg.configFile = {
|
||||||
|
"nvim/plugin" = {
|
||||||
|
source = ./plugin;
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
5
home/vim/plugin/abbreviations.vim
Normal file
5
home/vim/plugin/abbreviations.vim
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
" A few useful sets of abbreviations
|
||||||
|
|
||||||
|
" A few things that are hard to write in ASCII
|
||||||
|
abbreviate (R) ©
|
||||||
|
abbreviate (TM) ™
|
6
home/vim/plugin/mappings/leader.vim
Normal file
6
home/vim/plugin/mappings/leader.vim
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
" Map leader to space (needs the noremap trick to avoid moving the cursor)
|
||||||
|
nnoremap <Space> <Nop>
|
||||||
|
let mapleader=" "
|
||||||
|
|
||||||
|
" Map localleader to '!' (if I want to filter text, I use visual mode)
|
||||||
|
let maplocalleader="!"
|
13
home/vim/plugin/numbertoggle.vim
Normal file
13
home/vim/plugin/numbertoggle.vim
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
" Idea for toggling taken from jeffkreeftmeijer
|
||||||
|
|
||||||
|
" Show line numbers
|
||||||
|
set number
|
||||||
|
|
||||||
|
augroup numbertoggle
|
||||||
|
autocmd!
|
||||||
|
" Toggle numbers between relative and absolute when changing buffers
|
||||||
|
autocmd BufEnter,FocusGained,InsertLeave,WinEnter * if &nu | set rnu | endif
|
||||||
|
autocmd BufLeave,FocusLost,InsertEnter,WinLeave * if &nu | set nornu | endif
|
||||||
|
" Disable line numbers and relative line numbers in terminal
|
||||||
|
autocmd TermOpen * setlocal nonu nornu
|
||||||
|
augroup END
|
24
home/vim/plugin/settings/ale.vim
Normal file
24
home/vim/plugin/settings/ale.vim
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
" Always display the sign column to avoid moving the buffer all the time
|
||||||
|
let g:ale_sign_column_always=1
|
||||||
|
|
||||||
|
" Change the way ALE display messages
|
||||||
|
let g:ale_echo_msg_info_str='I'
|
||||||
|
let g:ale_echo_msg_warning_str='W'
|
||||||
|
let g:ale_echo_msg_error_str='E'
|
||||||
|
|
||||||
|
" The message displayed in the command line area
|
||||||
|
let g:ale_echo_msg_format='[%linter%][%severity%]%(code):% %s'
|
||||||
|
|
||||||
|
" The message displayed in the location list
|
||||||
|
let g:ale_loclist_msg_format='[%linter%]%(code):% %s'
|
||||||
|
|
||||||
|
" Don't lint every time I change the buffer
|
||||||
|
let g:ale_lint_on_text_changed=0
|
||||||
|
" Don't lint on leaving insert mode
|
||||||
|
let g:ale_lint_on_insert_leave=0
|
||||||
|
" Don't lint on entering a buffer
|
||||||
|
let g:ale_lint_on_enter=0
|
||||||
|
" Do lint on save
|
||||||
|
let g:ale_lint_on_save=1
|
||||||
|
" Lint on changing the filetype
|
||||||
|
let g:ale_lint_on_filetype_changed=1
|
5
home/vim/plugin/settings/betterwhitespace.vim
Normal file
5
home/vim/plugin/settings/betterwhitespace.vim
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
" Enable trailing whitespace high-lighting
|
||||||
|
let g:better_whitespace_enabled=1
|
||||||
|
|
||||||
|
" Strip trailing whitespace on file-save
|
||||||
|
let g:strip_whitespace_on_save=1
|
5
home/vim/plugin/settings/fastfold.vim
Normal file
5
home/vim/plugin/settings/fastfold.vim
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
" Intercept all fold commands
|
||||||
|
let g:fastfold_fold_command_suffixes=[
|
||||||
|
\ 'x', 'X', 'a', 'A', 'o', 'O', 'c', 'C',
|
||||||
|
\ 'r', 'R', 'm', 'M', 'i', 'n', 'N'
|
||||||
|
\ ]
|
8
home/vim/plugin/settings/fzf.vim
Normal file
8
home/vim/plugin/settings/fzf.vim
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
" Use a floating window when availble
|
||||||
|
if has('nvim-0.4.0') || has("patch-8.2.0191")
|
||||||
|
let g:fzf_layout = { 'window': {
|
||||||
|
\ 'width': 0.9,
|
||||||
|
\ 'height': 0.7,
|
||||||
|
\ 'highlight': 'Comment',
|
||||||
|
\ 'rounded': v:false } }
|
||||||
|
endif
|
5
home/vim/plugin/settings/gruvbox.vim
Normal file
5
home/vim/plugin/settings/gruvbox.vim
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
" Use the high-contrast theme
|
||||||
|
let g:gruvbox_contrast_dark='hard'
|
||||||
|
|
||||||
|
" Enable italics because urxvt supports them
|
||||||
|
let g:gruvbox_italic=1
|
81
home/vim/plugin/settings/lightline.vim
Normal file
81
home/vim/plugin/settings/lightline.vim
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
" Initialise light-line setting structure
|
||||||
|
let g:lightline={}
|
||||||
|
|
||||||
|
" Use the wombat colorscheme
|
||||||
|
let g:lightline.colorscheme='onedark'
|
||||||
|
|
||||||
|
" Status-line for active buffer
|
||||||
|
let g:lightline.active={
|
||||||
|
\ 'left': [
|
||||||
|
\ [ 'mode', 'paste' ],
|
||||||
|
\ [ 'gitbranch', 'readonly', 'filename', 'modified' ],
|
||||||
|
\ [ 'spell' ],
|
||||||
|
\ ],
|
||||||
|
\ 'right': [
|
||||||
|
\ [ 'lineinfo' ],
|
||||||
|
\ [ 'percent' ],
|
||||||
|
\ [ 'fileformat', 'fileencoding', 'filetype' ],
|
||||||
|
\ [ 'linter_check', 'linter_errors', 'linter_warn', 'linter_ok' ],
|
||||||
|
\ [ 'ctags_status' ],
|
||||||
|
\ ]
|
||||||
|
\ }
|
||||||
|
|
||||||
|
" Status-line for inactive buffer
|
||||||
|
let g:lightline.inactive={
|
||||||
|
\ 'left': [
|
||||||
|
\ [ 'filename' ],
|
||||||
|
\ ],
|
||||||
|
\ 'right': [
|
||||||
|
\ [ 'lineinfo' ],
|
||||||
|
\ [ 'percent' ],
|
||||||
|
\ ],
|
||||||
|
\ }
|
||||||
|
|
||||||
|
" Which component should be written using which function
|
||||||
|
let g:lightline.component_function={
|
||||||
|
\ 'readonly': 'LightlineReadonly',
|
||||||
|
\ 'modified': 'LightlineModified',
|
||||||
|
\ 'gitbranch': 'LightlineFugitive',
|
||||||
|
\ }
|
||||||
|
|
||||||
|
" Which component can be expanded by using which function
|
||||||
|
let g:lightline.component_expand={
|
||||||
|
\ 'linter_check': 'lightline#ale#checking',
|
||||||
|
\ 'linter_warn': 'lightline#ale#warnings',
|
||||||
|
\ 'linter_errors': 'lightline#ale#errors',
|
||||||
|
\ 'linter_ok': 'lightline#ale#ok',
|
||||||
|
\ }
|
||||||
|
|
||||||
|
" How to color custom components
|
||||||
|
let g:lightline.component_type={
|
||||||
|
\ 'readonly': 'error',
|
||||||
|
\ 'linter_checking': 'left',
|
||||||
|
\ 'linter_warn': 'warning',
|
||||||
|
\ 'linter_errors': 'error',
|
||||||
|
\ 'linter_ok': 'left',
|
||||||
|
\ }
|
||||||
|
|
||||||
|
" Show pretty icons instead of text for linting status
|
||||||
|
let g:lightline#ale#indicator_checking='⏳'
|
||||||
|
let g:lightline#ale#indicator_warnings='◆'
|
||||||
|
let g:lightline#ale#indicator_errors='✗'
|
||||||
|
let g:lightline#ale#indicator_ok='✓'
|
||||||
|
|
||||||
|
" Show a lock icon when editing a read-only file when it makes sense
|
||||||
|
function! LightlineReadonly()
|
||||||
|
return &ft!~?'help\|vimfiler\|netrw' && &readonly ? '' : ''
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" Show a '+' when the buffer is modified, '-' if not, when it makes sense
|
||||||
|
function! LightlineModified()
|
||||||
|
return &ft=~'help\|vimfiler\|netrw' ? '' : &modified ? '+' : &modifiable ? '' : '-'
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" Show branch name with nice icon in status line, when it makes sense
|
||||||
|
function! LightlineFugitive()
|
||||||
|
if &ft!~?'help\|vimfiler\|netrw' && exists('*fugitive#head')
|
||||||
|
let branch=fugitive#head()
|
||||||
|
return branch!=#'' ? ' '.branch : ''
|
||||||
|
endif
|
||||||
|
return ''
|
||||||
|
endfunction
|
20
home/vim/plugin/settings/pandoc.vim
Normal file
20
home/vim/plugin/settings/pandoc.vim
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
" Which code-block languages should I expect to be high-lighted.
|
||||||
|
let g:pandoc#syntax#codeblocks#embeds#langs=[
|
||||||
|
\ "bash=sh",
|
||||||
|
\ "c",
|
||||||
|
\ "cpp",
|
||||||
|
\ "go",
|
||||||
|
\ "haskell",
|
||||||
|
\ "python",
|
||||||
|
\ "rust",
|
||||||
|
\ "sh",
|
||||||
|
\ "vim",
|
||||||
|
\ "yaml",
|
||||||
|
\ "tex",
|
||||||
|
\ "toml",
|
||||||
|
\ "perl",
|
||||||
|
\ "json",
|
||||||
|
\ "latex=tex",
|
||||||
|
\ "make",
|
||||||
|
\ "makefile=make",
|
||||||
|
\ ]
|
8
home/vim/plugin/signtoggle.vim
Normal file
8
home/vim/plugin/signtoggle.vim
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
augroup signtoggle
|
||||||
|
autocmd!
|
||||||
|
" Only show the sign column for the current focused buffer
|
||||||
|
autocmd BufEnter,FocusGained,WinEnter * set signcolumn=yes
|
||||||
|
autocmd BufLeave,FocusLost,WinLeave * set signcolumn=no
|
||||||
|
" Disable the sign column in terminal
|
||||||
|
autocmd TermOpen * setlocal signcolumn=no
|
||||||
|
augroup END
|
Loading…
Reference in a new issue