Compare commits

...

2 commits

Author SHA1 Message Date
49f94bb424
update.sh: init 2024-06-18 06:40:44 -05:00
c189c6cc75
vim+nvim 2024-06-18 06:40:28 -05:00
3 changed files with 100 additions and 0 deletions

View file

@ -0,0 +1,12 @@
set mouse=
" use spaces instead of \t
set expandtab
" match indentation of previous line
set autoindent
set runtimepath^=~/.vim runtimepath+=~/.vim/after
let &packpath = &runtimepath
source ~/.vimrc
if (has("termguicolors"))
set termguicolors
endif

View file

@ -0,0 +1,57 @@
" NOTE: don't add more LSPs here, use coc - it offers better completion
call plug#begin('~/.vim/exts')
Plug 'AlexvZyl/nordic.nvim', { 'branch': 'main' }
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'powerman/vim-plugin-AnsiEsc'
Plug 'fladson/vim-kitty'
Plug 'pearofducks/ansible-vim', { 'do': './UltiSnips/generate.sh' } " sets filetype needed by coc-ansible
Plug 'ayu-theme/ayu-vim' " or other package manager
call plug#end()
" misc. preferences
set cursorline
set nu
autocmd FileType yaml setlocal et ts=2 ai sw=2 nu sts=0
set updatetime=750
filetype plugin on
syntax on
" colorscheme nord
" colorscheme nordic
" colorscheme slate
" let ayucolor="light" " for light version of theme
" let ayucolor="mirage" " for mirage version of theme
let ayucolor="dark" " for dark version of theme
colorscheme ayu
match Error /\%xA0/
" coc.nvim/lsp setup
inoremap <silent><expr> <TAB>
\ coc#pum#visible() ? coc#pum#next(1) :
\ CheckBackspace() ? "\<Tab>" :
\ coc#refresh()
inoremap <expr><S-TAB> coc#pum#visible() ? coc#pum#prev(1) : "\<C-h>"
" Make <CR> to accept selected completion item or notify coc.nvim to format
" <C-g>u breaks current undo, please make your own choice
inoremap <silent><expr> <CR> coc#pum#visible() ? coc#pum#confirm()
\: "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>"
function! CheckBackspace() abort
let col = col('.') - 1
return !col || getline('.')[col - 1] =~# '\s'
endfunction
function! ShowDocumentation()
if CocAction('hasProvider', 'hover')
call CocActionAsync('doHover')
else
call feedkeys('K', 'in')
endif
endfunction
let g:coc_filetype_map = {
\ 'yaml.ansible': 'ansible',
\ }
" Use K to show documentation in preview window
nnoremap <silent> K :CocCommand ansible.ansbileDoc.showInfo<CR>

31
update.sh Executable file
View file

@ -0,0 +1,31 @@
#!/bin/bash
#
# minimal dotfile manager
# tracks files / copies them into the repo, sorted by hostname
#
# array of files [relative to home] to include
DOTS=(
'.vimrc'
'.config/nvim/init.vim'
'.config/nvim/coc-settings.json'
# '.config/sway'
)
# ensure the host running this script/updating dotfiles has a directory
# ... then temporarily change into it for working, or exit.
# if it couldn't be made/entered [for whatever reason], we won't be able to copy.
[ -d "$HOSTNAME" ] || mkdir -v "$HOSTNAME"
pushd "$HOSTNAME" || exit
# now that the host/working dir is managed, process the dotfiles
# ensure their directory structure is retained, then recursively copy
for DOT in "${DOTS[@]}"; do
DOT_DIR="$(dirname "$DOT")"
[ -d "$DOT_DIR" ] || mkdir -vp "$DOT_DIR"
# naively copy; rely on git to tell us about changes
cp -ravp "$HOME/$DOT" "$DOT"
done
# return where we were
popd || exit