]> git.newer.systems - nvim.git/commitdiff
init
authorTucker Johnson <tucker@newer.systems>
Thu, 6 Feb 2025 12:35:31 +0000 (07:35 -0500)
committerTucker Johnson <tucker@newer.systems>
Thu, 6 Feb 2025 12:35:31 +0000 (07:35 -0500)
.gitignore [new file with mode: 0644]
ftplugin/groff.vim [new file with mode: 0644]
ftplugin/lilypond.vim [new file with mode: 0644]
ftplugin/markdown.vim [new file with mode: 0644]
ftplugin/supercollider.vim [new file with mode: 0644]
init.vim [new file with mode: 0644]
shortcuts.vim [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..a9d9156
--- /dev/null
@@ -0,0 +1,6 @@
+autoload/
+plugged/
+!init.vim
+!shortcuts.vim
+!ftplugin/*.vim
+!lua/*.lua
diff --git a/ftplugin/groff.vim b/ftplugin/groff.vim
new file mode 100644 (file)
index 0000000..9e56fb5
--- /dev/null
@@ -0,0 +1 @@
+map <leader>R :vsp<space>$REFER<CR>
diff --git a/ftplugin/lilypond.vim b/ftplugin/lilypond.vim
new file mode 100644 (file)
index 0000000..ffb218f
--- /dev/null
@@ -0,0 +1 @@
+autocmd FileType lilypond setlocal commentstring=%\ %s
diff --git a/ftplugin/markdown.vim b/ftplugin/markdown.vim
new file mode 100644 (file)
index 0000000..0e2a9ca
--- /dev/null
@@ -0,0 +1,8 @@
+" splits
+map <leader>T :80<space>vsp<space>$TODO<CR>
+map <leader>C :vsp<space>$CALENDAR<CR>
+
+" to-do lists
+imap <C-N> <esc>o-[]<space>
+nmap <C-N> o-[]<space>
+nmap <C-D> :.s/\-\[\]/\-\[x\]/<enter>
diff --git a/ftplugin/supercollider.vim b/ftplugin/supercollider.vim
new file mode 100644 (file)
index 0000000..984aae7
--- /dev/null
@@ -0,0 +1,37 @@
+autocmd FileType scnvim setlocal wrap
+
+lua << EOF
+local scnvim = require 'scnvim'
+local map = scnvim.map
+local map_expr = scnvim.map_expr
+
+scnvim.setup({
+  keymaps = {
+    ['<CR>'] = {
+      map('editor.send_block', 'n'),
+      map('editor.send_selection', 'x'),
+    },
+    ['<M-w>'] = map('postwin.toggle'),
+    ['<M-CR>'] = map('postwin.toggle', 'i'),
+    ['<M-L>'] = map('postwin.clear', {'n', 'i'}),
+    ['<C-k>'] = map('signature.show', {'n', 'i'}),
+    ['<F12>'] = map('sclang.hard_stop', {'n', 'x', 'i'}),
+    ['<leader>ST'] = map('sclang.start'),
+    ['<leader>SP'] = map('sclang.stop'),
+    ['<leader>SK'] = map('sclang.recompile'),
+    ['<leader>BS'] = map_expr('s.boot'),
+    ['<leader>FA'] = map_expr('s.freeAll'),
+    ['<leader>KA'] = map_expr('Server.killAll'),
+    ['<M-m>'] = map_expr('s.meter'),
+  },
+  editor = {
+    highlight = {
+      color = 'IncSearch',
+    },
+  },
+  postwin = {
+    highlight = true,
+    size = 80,
+  },
+})
+EOF
diff --git a/init.vim b/init.vim
new file mode 100644 (file)
index 0000000..6d9f1c2
--- /dev/null
+++ b/init.vim
@@ -0,0 +1,98 @@
+let mapleader =","
+
+if ! filereadable(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim"'))
+       echo "Downloading junegunn/vim-plug to manage plugins..."
+       silent !mkdir -p ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/
+       silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim
+       autocmd VimEnter * PlugInstall
+endif
+
+map ,, :keepp /<++><CR>ca<
+
+call plug#begin(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/plugged"'))
+Plug 'tribela/vim-transparent'
+Plug 'sainnhe/gruvbox-material'
+Plug 'tpope/vim-surround'
+Plug 'tommcdo/vim-express'
+Plug 'preservim/nerdtree'
+Plug 'vimwiki/vimwiki'
+Plug 'vim-airline/vim-airline'
+Plug 'tpope/vim-commentary'
+Plug 'ap/vim-css-color'
+Plug 'davidgranstrom/scnvim'
+call plug#end()
+
+set title
+set bg=dark
+set go=a
+set nohlsearch
+syntax on
+set clipboard+=unnamedplus
+set noshowmode
+set noruler
+set nowrap
+set laststatus=0
+set noshowcmd
+set tabstop=4
+set shiftwidth=4
+set expandtab
+set mouse=
+
+let g:gruvbox_material_better_performance = 1
+let g:gruvbox_material_ui_contrast = 1
+let g:gruvbox_material_foreground = 'original'
+
+colorscheme gruvbox-material
+
+nnoremap c "_c
+set nocompatible
+filetype plugin on
+set encoding=utf-8
+set number relativenumber
+set wildmode=longest,list,full
+autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
+" Perform dot commands over visual blocks:
+vnoremap . :normal .<CR>
+" Spell-check set to 'o' for 'orthography':
+map <leader>o :setlocal spell! spelllang=en_us<CR>
+
+" splits
+set splitbelow splitright
+map <C-h> <C-w>h
+map <C-j> <C-w>j
+map <C-k> <C-w>k
+map <C-l> <C-w>l
+
+" Nerd tree
+let NERDTreeMinimalUI=1
+map <leader>n :NERDTreeToggle<CR>
+let g:NERDTreeChDirMode = 2
+autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
+
+" Replace all
+nnoremap S :%s//g<Left><Left>
+
+" Compile and viewing
+map <leader>c :w! \| !compiler "%:p"<CR>
+map <leader>p :!opout "%:p"<CR>
+
+" Reading Files
+let g:vimwiki_ext2syntax = {'.Rmd': 'markdown', '.rmd': 'markdown','.md': 'markdown', '.markdown': 'markdown', '.mdown': 'markdown'}
+let g:vimwiki_list = [{'path': '~/.local/share/nvim/vimwiki', 'syntax': 'markdown', 'ext': '.md'}]
+autocmd BufRead,BufNewFile *.ms,*.me,*.mom,*.man set filetype=groff
+
+" Sudo file saves
+cabbrev w!! execute 'silent! write !sudo tee % >/dev/null' <bar> edit!
+
+" remove trailing whitespace and newlines on write
+autocmd BufWritePre * let currPos = getpos(".")
+autocmd BufWritePre * %s/\s\+$//e
+autocmd BufWritePre * %s/\n\+\%$//e
+autocmd BufWritePre *.[ch] %s/\%$/\r/e
+autocmd BufWritePre * cal cursor(currPos[1], currPos[2])
+
+" Run xrdb whenever Xdefaults or Xresources are updated.
+autocmd BufRead,BufNewFile Xresources,Xdefaults,xresources,xdefaults set filetype=xdefaults
+autocmd BufWritePost Xresources,Xdefaults,xresources,xdefaults !xrdb %
+
+silent! source ~/.config/nvim/shortcuts.vim
diff --git a/shortcuts.vim b/shortcuts.vim
new file mode 100644 (file)
index 0000000..f9fdccc
--- /dev/null
@@ -0,0 +1,8 @@
+cmap ;cac ~/.cache
+cmap ;cf ~/.config
+cmap ;dl ~/Downloads
+cmap ;h ~/
+cmap ;d ~/Documents
+cmap ;ls ~/.local/share
+cmap ;lb ~/.local/bin
+cmap ;rr ~/.local/src