aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Lemon <y@yulqen.org>2024-06-02 06:52:45 +0100
committerMatthew Lemon <y@yulqen.org>2024-06-02 06:52:45 +0100
commitb86623544d16210f56c72a5c946b1053983ac97b (patch)
treeec97eeb1121e7b9367d43ccffffffba17dddb5bb
parent6a20e9a526ca1ab981eb75c620f6027f0b8e67ab (diff)
parent70254640bda891e94f1762fbe855b15b1f544b67 (diff)
Merge branch 'master' of ssh://git.yulqen.org:2222/home/git/repositories/dotfiles/arch-dotfiles
-rw-r--r--bash_profile2
-rw-r--r--bashrc10
-rw-r--r--i3-config3
-rw-r--r--vim/vimrc513
-rw-r--r--vim/vimrc-full-config-left-may30_24475
-rw-r--r--vimrc-bare57
6 files changed, 531 insertions, 529 deletions
diff --git a/bash_profile b/bash_profile
index d1f4ccd..8b958f0 100644
--- a/bash_profile
+++ b/bash_profile
@@ -5,7 +5,7 @@ export PATH="$HOME/gems/bin:$PATH"
export PATH="$HOME/go/bin:$PATH"
export PATH="$HOME/.local/share/gem/ruby/3.0.0/bin:$PATH"
export PATH="$HOME/.local/bin:$PATH"
-export PATH="/opt/pycharm-2021.3.3/bin:$PATH"
+export PATH="/usr/local/go/bin:$PATH"
# Setting CDPATH
#export CDPATH=$HOME/Documents/Notes/
diff --git a/bashrc b/bashrc
index b95c2d9..df2bc28 100644
--- a/bashrc
+++ b/bashrc
@@ -24,9 +24,8 @@ export PS1='\[\033[01;36m\][\u@\h\[\033[01;37m\] \W\[\033[01;36m\]]\$\[\033[00m\
# echo "output" >| file.txt to do it manually
set -o noclobber
-# nvim as vim
#alias vim='/usr/bin/nvim'
-# alias vi='/usr/bin/vim'
+alias vi='/usr/bin/vim'
export EDITOR=vim
# export ALTERNATE_EDITOR=""
# export EDITOR="emacsclient -t" # $EDITOR opens in terminal
@@ -84,6 +83,10 @@ alias brandom='beet play "$(beet random -p)"'
alias qn2firefox='pandoc /home/lemon/Documents/Notes/quicknote.md -o /tmp/quicknote.html && firefox /tmp/quicknote.html'
alias sync-tunnel='ssh -N -L 9090:127.0.0.1:8384 syncthing@syncthing-ct.banded-neon.ts.net'
+grepfishhistory () {
+ grep "$1" ~/.local/share/fish/fish_history |cut -f3- -d' '
+}
+
# Environment variables
export LEDGER_FILE="$HOME/Budget/hledger/budget.ledger"
#export TERM="screen-256color" arch wiki says not to set this here.
@@ -120,9 +123,6 @@ read_and_review (){
alias rnr=read_and_review
-# fzf
-source /usr/share/fzf/key-bindings.bash
-source /usr/share/fzf/completion.bash
# gpg
export GPG_TTY="$(tty)"
diff --git a/i3-config b/i3-config
index 059ffaf..f90a3a8 100644
--- a/i3-config
+++ b/i3-config
@@ -104,8 +104,9 @@ bindsym $mod+minus exec mdlinkopen
#bindsym $mod+Return exec alacritty
#bindsym $mod+Return exec xterm -itc -en en_GB.UTF-8
#bindsym $mod+Return exec xfce4-terminal
-bindsym $mod+Return exec xterm
+#bindsym $mod+Return exec xterm
#bindsym $mod+Return exec xterm -fg green3 -fs 12
+bindsym $mod+Return exec xterm -fa terminus
# bindsym $mod+Return exec xterm -fa "Cascadia Code Nerd Font" -fs 12
# bindsym $mod+Return exec xterm -fa "CaskaydiaCoveNerdFont" -fs 13
# bindsym $mod+Return exec xterm -fa "Jetbrains Mono Nerd Font" -fs 13
diff --git a/vim/vimrc b/vim/vimrc
index 6100b50..cd8a469 100644
--- a/vim/vimrc
+++ b/vim/vimrc
@@ -1,475 +1,58 @@
-" Setup {{{
-set nocompatible
-filetype indent on
filetype plugin on
-" syntax on
-runtime macros/matchit.vim "allows jumping between brackets with % in normal mode
-" }}}
-" Leaders {{{
-let maplocalleader = "\\"
-let mapleader = ","
-nnoremap <silent> <leader>idate :.!date +"\%F"<CR>Ea<space>
-nnoremap <leader>q :call TaskWarriorAddCurrentLine()<CR>
-" nnoremap <C-h> :tabprevious<cr>
-" nnoremap <C-l> :tabnext<cr>
-" switch between tabs....
-nnoremap <tab> gt
-" pandoc command to generate weekly plan page in Firefox (or not, if we just
-" wish to refresh)
-nnoremap <leader>w :!pandoc /home/lemon/Documents/Notes/MOD/Projects/weekly_planning.md --css /home/lemon/.local/share/pandoc/templates/mystyles.css -s -o /tmp/toss.html; firefox /tmp/toss.html &<cr>
-nnoremap <leader>W :!pandoc /home/lemon/Documents/Notes/MOD/Projects/weekly_planning.md --css /home/lemon/.local/share/pandoc/templates/mystyles.css -s -o /tmp/toss.html<cr>
-" Open vimrc
-nnoremap <leader>ev <C-w>s<C-w>j<C-w>L:e $HOME/.vim/vimrc<cr>
-" Place timestamps, be it date (YYYY-MM-DD) or time (HH:MM:SS).
-if (exists("*strftime"))
- noremap <silent> <leader>date "=strftime("%F")<CR>p9h
- noremap <silent> <leader>time "=strftime("%X")<CR>p7h
-endif
+filetype plugin indent on
+
+"source ~/.vim/grep.vim
-" Place timestamps, be it date (YYYY-MM-DD) or time (HH:MM:SS).
-if (exists("*strftime"))
- noremap <silent> <leader>date "=strftime("%F")<CR>p9h
- noremap <silent> <leader>time "=strftime("%X")<CR>p7h
-endif
-" Generate ctags for current working directory
-nnoremap <leader>tt :silent !ctags -R . <CR>:redraw!<CR>
-" notes stuff - from https://www.edwinwenink.xyz/posts/43-notes_tagging/
-" Go to index of notes and set working directory to my notes
-nnoremap <leader>ni :e $NOTES_DIR/index.md<CR>:cd $NOTES_DIR<CR>
-" related to https://oleksii.shmalko.com/2014/using-vim-as-c-cpp-ide/
-" to enable putting a config file in the proejct directory
-" clear search highlights
-nnoremap <leader><space> :noh<cr>:call clearmatches()<cr>
-nnoremap <leader><C-p> :<C-u>FZF!<CR>
-nnoremap <C-p>g :Files<CR>
-nnoremap <C-p>p :GitFiles<CR>
-nnoremap <leader>o :Tags<CR>
-nnoremap <leader>h :History<CR>
-nnoremap <silent> <leader>0 :Files<CR>
-nnoremap <silent> <leader>; :BLines<CR>
-nnoremap <silent> <leader>l :Lines<CR>
-nnoremap <silent> <leader>o :BTags<CR>
-nnoremap <C-p>b :Buffers<CR>
-nnoremap <silent> <leader>? :History:<CR>
-nnoremap <silent> <leader>/ :execute 'Ag ' . input('Ag/')<CR>
-nnoremap <silent> <leader>ft :Filetypes<CR>
-nnoremap <silent> <leader>CC :Commands<CR>
-" Open quickfix list in a right vertical split (good for Ngrep results)
-command! Vlist botright vertical copen | vertical resize 50
-nnoremap <leader>v : Vlist<CR>
-" }}}
-" Options {{{
-set clipboard=unnamed,unnamedplus " just past in with out needing "*
set autoread
-set exrc
-set nocuc
-set secure
-set scrolloff=1
-set history=799
-set encoding=utf-8
-set wrap
-set wrapmargin=0
-set wildignore=**/__pycache*/**
-set wildoptions=pum
-set wildmenu
-set wildchar=<TAB>
-set showmatch
-set ruler
-set showcmd
-set nohlsearch
-set incsearch
+set foldmethod=manual
+set autowrite
+set backspace=indent,eol,start
+"set colorcolumn=80
+"set cursorline
+set completeopt=menuone,longest
+set display=truncate
+set equalalways
+set fileformat=unix
+set hidden
+set history=500
set ignorecase
-set smartindent
-set smartcase
-set tabstop=4
-set softtabstop=4
-set shiftwidth=4
-set splitbelow
-set noswapfile
+set incsearch
+set infercase
+set laststatus=2
+"set list
+set listchars=nbsp:%,tab:▸\ ,trail:_,eol:¬,precedes:←,extends:→
+set matchtime=8
set nobackup
-set splitright
-set autoindent
-set expandtab
-set hidden
+set nocompatible
+set nohlsearch
+set nojoinspaces
+set nomodeline
+set noshelltemp
+set noswapfile
+set noundofile
+set nowritebackup
set path+=**
-" set relativenumber
-set number
-set more
-set signcolumn=number
-set colorcolumn=0
-set equalalways
+set report=0
+set ruler
+set scrolloff=1
+set scrolloff=5
+set shell=bash
+set showcmd
+set showmatch
set showmode
-set nolist
-set listchars=tab:»-,trail:␣,leadmultispace:---+,eol:\\U000021b5
-set shortmess+=c
-set tags+=./tags
-set background=dark
-set completeopt=menuone,longest
-" }}}
-" Function to allow adding a line of text to taskwarrior {{{
-function! TaskWarriorAddCurrentLine()
- let current_line = getline('.')
- silent execute ":!task add " . shellescape(current_line)
- redraw!
- echo "Task added: " . current_line
- delete
-endfunction
-" }}}
-" Folding {{{
-if has('folding')
- set foldmethod=marker " default
- " set foldmethod=syntax
-" set foldmarker=#\ {{{,#\ }}}
- set viewoptions=folds,options,cursor,unix,slash
-endif
-" disable folding by default with vim-markdown
-let g:vim_markdown_folding_disabled = 1
-" }}}
-" Remaps {{{
-let @x = 'o- [ ] '
-noremap <silent> J 10j
-noremap <silent> K 10k
-" macro to go to end of sentence and add a line break (for
-" one-line-per-sentence vimming...)
-let @s = ")i\<BS>\<CR>\<Esc>"
-" remap :W to :w - :W was previous Windows in fzf
-command! W w
-" Open Fern with Ctrl-N
-nnoremap <C-n> :Fern -drawer .<CR> <C-w>l
-" }}}
-" Plugins {{{
-call plug#begin()
-"Plug 'vim-scripts/AutoComplPop'
-Plug 'mattn/emmet-vim',
-Plug 'lambdalisue/fern.vim',
-Plug 'tpope/vim-rails',
-" Plug 'ycm-core/YouCompleteMe'
-Plug 'vim-ruby/vim-ruby',
-Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
-Plug 'junegunn/fzf.vim'
-Plug 'ayu-theme/ayu-vim'
-Plug 'airblade/vim-tailwind'
-Plug 'vim-perl/vim-perl', { 'for': 'perl', 'do': 'make clean carp dancer highlight-all-pragmas moose test-more try-tiny' }
-Plug 'morhetz/gruvbox'
-Plug 'eemed/sitruuna.vim'
-" Plug 'sheerun/vim-polyglot'
-Plug 'preservim/vim-markdown'
-Plug 'mhinz/vim-signify'
-Plug 'vim-test/vim-test'
-Plug 'ledger/vim-ledger'
-Plug 'fatih/vim-go', {'do': ':GoUpdateBinaries' }
-Plug 'tpope/vim-dispatch'
-Plug 'tpope/vim-surround'
-Plug 'tpope/vim-commentary'
-Plug 'tpope/vim-unimpaired'
-Plug 'tpope/vim-fugitive'
-Plug 'SirVer/UltiSnips'
-Plug 'honza/vim-snippets'
-Plug 'dense-analysis/ale'
-call plug#end()
-" }}}
-" Snippets {{{
-" Trigger configuration. You need to change this to something other than
-"<tab> if you use one of the following:
-" - https://github.com/Valloric/YouCompleteMe
-" - https://github.com/nvim-lua/completion-nvim
-" let g:UltiSnipsExpandTrigger="<S-t>"
-" let g:UltiSnipsJumpForwardTrigger="<S-f>"
-" let g:UltiSnipsJumpBackwardTrigger="<S-b>"
-" let g:ycm_key_list_select_completion=[]
-" let g:ycm_key_list_previous_completion=[]
-"
-" }}}
-" {{{ emmet
-" being very explicit, which is not required
-autocmd FileType css imap html <tab> <plug>(emmet-expand-abbr)
-let g:user_emmet_leader_key = '<C-b>'
-let g:user_emmet_expandabbr_key = '<C-b>,'
-let g:user_emmet_expandword_key = '<C-b>;'
-let g:user_emmet_update_tag = '<C-b>u'
-let g:user_emmet_balancetaginward_key = '<C-b>d'
-let g:user_emmet_balancetagoutward_key = '<C-b>D'
-let g:user_emmet_next_key = '<C-b>n'
-let g:user_emmet_prev_key = '<C-b>N'
-let g:user_emmet_imagesize_key = '<C-b>i'
-let g:user_emmet_togglecomment_key = '<C-b>/'
-let g:user_emmet_splitjointag_key = '<C-b>j'
-let g:user_emmet_removetag_key = '<C-b>k'
-let g:user_emmet_anchorizeurl_key = '<C-b>a'
-let g:user_emmet_anchorizesummary_key = '<C-b>A'
-let g:user_emmet_mergelines_key = '<C-b>m'
-let g:user_emmet_codepretty_key = '<C-b>c'
-"}}}
-" vim-tailwind {{{
-function! s:is_tailwind()
- return !empty(findfile('tailwind.config.js', '.;')) ||
- \ !empty(findfile('theme/static_src/tailwind.config.js', '.;'))
-endfunction
-
-nmap <silent> <buffer> gk <Plug>(tailwind-lookup)
-
-autocmd BufEnter *.html,*.slim if s:is_tailwind() |
- \ setlocal omnifunc=tailwind#Complete |
- \ endif
-" }}}
-" ALE {{{
-let g:ale_enabled = 1
-let g:ale_set_balloons = 0
-let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'
-let g:ale_sign_error = '!'
-let g:ale_sign_warning = '?'
-let g:ale_lint_on_text_changed = 1
-let g:ale_hover_cursor = 1
-let g:ale_virtualtext_cursor = 'disabled'
-let g:ale_sign_column_always = 1
-let g:ale_open_list = 0
-let g:ale_set_highlights = 1
-let g:ale_set_signs = 1
-let g:ale_set_loclist = 1
-let g:ale_set_quickfix = 1
-let g:ale_echo_cursor = 1
-let g:ale_echo_msg_error_str = 'ALE Error'
-let g:ale_echo_msg_format = 'ALE: %linter% - %code: %%s'
-let g:ale_loclist_msg_format = 'ALE: %linter% - %code: %%s'
-let g:ale_echo_msg_warning_str = 'ALE Warning'
-let g:ale_linters = {'python': ['pyright', 'ruff', 'flake8', 'mypy'],
-\ 'ocaml': ['merlin'],
-\ 'javascript': ['eslint'],
-\ 'cpp': ['clangd'],
-\ 'yaml': ['yamllint'],
-\ 'c': ['clangd'],
-\ 'go': ['gopls', 'golint', 'gofmt'],
- \}
-let g:ale_fixers = {
-\ 'python': ['autoimport', 'ruff', 'isort', 'yapf', 'black'],
-\ 'javascript': ['eslint'],
-\ 'go': ['gofmt', 'goimports', 'gopls'],
-\ 'cpp': ['clang-format'],
-\ 'c': ['clang-format'],
-\ 'rust': ['rustfmt']
-\ }
-let g:ale_python_mypy_ignore_invalid_syntax = 1
-let g:ale_python_mypy_executable = 'mypy'
-let g:ale_python_mypy_options = '--config-file mypy.ini'
-" let g:ale_sign_error = '>>'
-let g:ale_fix_on_save = 1
-let g:ale_linters_explicit = 0
-let g:ale_completion_enabled = 0
-" Map movement through errors without wrapping.
-" nmap <silent> <C-k> <Plug>(ale_previous)
-" nmap <silent> <C-j> <Plug>(ale_next)
-" OR map keys to use wrapping.
-nmap <silent> <C-k> <Plug>(ale_previous_wrap)
-nmap <silent> <C-j> <Plug>(ale_next_wrap)
-set omnifunc=ale#completion#OmniFunc
-" }}}
-" :grep use ripgrep {{{
-if executable('rg')
- set grepprg=rg\ --color=never\ --vimgrep
-endif
-
-" and search with ripgrep
-command! -bang -nargs=* Rg
- \ call fzf#vim#grep(
- \ 'rg --column --line-number --no-heading --color=always --ignore-case '.shellescape(<q-args>), 1,
- \ <bang>0 ? fzf#vim#with_preview('up:60%')
- \ : fzf#vim#with_preview('right:50%:hidden', '?'),
- \ <bang>0)
-
-nnoremap <C-p>a :Rg
-" }}}
-" 'Notes Grep' with ripgrep (see grepprg) {{{
-" -i case insensitive
-" -g glob pattern
-" ! to not immediately open first search result
-"command! -nargs=1 Ngrep :silent grep! "<args>" -i -g '*.md' $NOTES_DIR | execute ':redraw!'
-command! -nargs=1 Ngrep vimgrep "<args>" $NOTES_DIR/**/*.md
-nnoremap <leader>nn :Ngrep
-" }}}
-" vim-test {{{
-nmap <silent> tn :TestNearest<CR>
-nmap <silent> tf :TestFile<CR>
-nmap <silent> ts :TestSuite<CR>
-nmap <silent> tl :TestLast<CR>
-nmap <silent> <leader>tv :TestVisit<CR>
-let test#strategy = "basic"
-let test#python#pytest#options = '-q -s'
-let test#python#runner = 'django'
-let test#vimterminal#term_position = "belowright"
-" }}}
-" Titbits {{{
-" " Increment an ordered (numbered) list with <leader><cr>
-" inoremap <leader><cr> <esc>yyp<C-a>
-" " sudo write
-" command! S :w !sudo tee %
-
-"nnoremap <Tab> %
-nnoremap <C-@> :call system("wl-copy", @")<CR>
-xnoremap <silent> <C-@> :w !wl-copy<CR><CR>
-" }}}
-" FZF {{{
-" This is the default extra key bindings
-let g:fzf_action = {
- \ 'ctrl-t': 'tab split',
- \ 'ctrl-x': 'split',
- \ 'ctrl-v': 'vsplit' }
-
-" - FZF Popup window (center of the screen)
-let g:fzf_layout = { 'window': { 'width': 0.9, 'height': 0.6 } }
-
-" Customize fzf colors to match your color scheme
-let g:fzf_colors =
-\ { 'fg': ['fg', '#f8f8f2'],
- \ 'bg': ['bg', '#282a36'],
- \ 'hl': ['fg', '#bd93f9'],
- \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
- \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'],
- \ 'hl+': ['fg', 'Statement'],
- \ 'info': ['fg', '#ffb86c'],
- \ 'prompt': ['fg', '#50fa7b'],
- \ 'pointer': ['fg', 'Exception'],
- \ 'marker': ['fg', 'Keyword'],
- \ 'spinner': ['fg', '#ffb86c'],
- \ 'header': ['fg', '#6272a4'] }
-" More fzf settings
-" (https://github.com/zenbro/dotfiles/blob/master/.nvimrc#L151-L187)
- let g:fzf_nvim_statusline = 0 " disable statusline overwriting
-
- nnoremap <C-s> :GFiles!<CR>
- imap <C-x><C-f> <plug>(fzf-complete-file-ag)
- imap <C-x><C-l> <plug>(fzf-complete-line)
-" }}}
-" Colorscheme {{{
-" This is imported from the old ephemera.vim file which has now been removed
-"
-" I got the following from gruvbox docs
-"Use 24-bit (true-color) mode in Vim/Neovim when outside tmux.
-"If you're using tmux version 2.2 or later, you can remove the outermost $TMUX check and use tmux's 24-bit color support
-"(see < http://sunaku.github.io/tmux-24bit-color.html#usage > for more information.)
-if (has("nvim"))
-"For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 >
- let $NVIM_TUI_ENABLE_TRUE_COLOR=1
-endif
-"For Neovim > 0.1.5 and Vim > patch 7.4.1799 < https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162 >
-"Based on Vim patch 7.4.1770 (`guicolors` option) < https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd >
-" < https://github.com/neovim/neovim/wiki/Following-HEAD#20160511 >
-if (has("termguicolors"))
- set termguicolors
-endif
-
-"ayu theme
-" 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 gruber-darker
-let g:gruvbox_contrast_dark = "hard"
-let g:gruvbox_italicize_strings = 1
-let g:gruvbox_improved_strings = 1
-let g:gruvbox_improved_warnings = 1
-let g:gruvbox_invert_indent_guides = 0
-let g:gruvbox_invert_signs = 0
-let g:gruvbox_italic = 0
-
-"colorscheme evening
-"colorscheme sitruuna
-colorscheme ayu
-"colorscheme gruvbox
-" }}}
-" GPG files {{{
-" from https://vim.fandom.com/wiki/Edit_gpg_encrypted_files
-" Don't save backups of *.gpg files
-set backupskip+=*.gpg
-" To avoid that parts of the file is saved to .viminfo when yanking or
-" deleting, empty the 'viminfo' option.
+set splitright
+set tabstop=4 softtabstop=4 shiftwidth=4 expandtab
+set ttimeout
+set ttimeoutlen=100
set viminfo=
+set wildmenu
+set wildoptions=pum
+set wildmode=full
+set wrap
+"set gp=git\ grep\ -n
+set grepprg=rg\ --color=never\ --vimgrep
+packadd! matchit
-augroup encrypted
- au!
- " Disable swap files, and set binary file format before reading the file
- autocmd BufReadPre,FileReadPre *.gpg
- \ setlocal noswapfile bin
- " Decrypt the contents after reading the file, reset binary file format
- " and run any BufReadPost autocmds matching the file name without the .gpg
- " extension
- autocmd BufReadPost,FileReadPost *.gpg
- \ execute "'[,']!gpg --decrypt --default-recipient-self" |
- \ setlocal nobin |
- \ execute "doautocmd BufReadPost " . expand("%:r")
- " Set binary file format and encrypt the contents before writing the file
- autocmd BufWritePre,FileWritePre *.gpg
- \ setlocal bin |
- \ '[,']!gpg --encrypt --default-recipient-self
- " After writing the file, do an :undo to revert the encryption in the
- " buffer, and reset binary file format
- autocmd BufWritePost,FileWritePost *.gpg
- \ silent u |
- \ setlocal nobin
-augroup END
-" }}}
-" Golang {{{
-augroup golang
- autocmd!
- autocmd FileType go
- \ set tabstop=8 |
- \ set softtabstop=8 |
- \ set shiftwidth=8
-augroup END
-" }}}
-" GitFZF {{{
-" from https://git.sr.ht/~sircmpwn/dotfiles/tree/master/item/.vimrc
-function! GitFZF()
- let path = trim(system('cd '.shellescape(expand('%:p:h')).' && git rev-parse --show-toplevel'))
- exe 'FZF ' . path
-endfunction
-command! GitFZF call GitFZF()
-nnoremap <leader><C-f> :GitFZF<CR>
-" }}}
-" Switching off colours {{{
-"syntax off
-" hi Visual term=reverse ctermbg=7 ctermfg=black guifg=black guibg=LightPink
-" hi SpellBad term=reverse ctermbg=224 gui=undercurl guisp=Red guibg=Red
-" hi SpellCap term=reverse ctermbg=224 gui=undercurl guisp=Red guibg=Red
-" hi SpellRare term=reverse ctermbg=224 gui=undercurl guisp=Red guibg=Blue
-" hi Search term=reverse ctermbg=11 guifg=black guibg=Green
-"}}}
-" Turn spelling on for text files {{{
-" from - https://dmerej.info/blog/post/syntax-highlighting-is-useless/
-augroup textfiles
- autocmd!
- autocmd filetype markdown setlocal spell spelllang=en
-augroup end
-" }}}
-" Read man pages in vim {{{
-runtime! ftplugin/man.vim
-" }}}
-"" YouCompleteMe {{{
-"" -"" *** STARTING AND ENABLING ***
-"" Don't start on start - or use show_diagnostics below
-"let g:loaded_youcompleteme = 1
-"" with this set to 0, YCM doesn't load/start
-"let g:ycm_show_diagnostics_ui = 1
-"" ******************************
-"let g:ycm_enable_inlay_hints = 1
-"nnoremap <silent> <localleader>h <Plug>(YCMToggleInlayHints)
-"nnoremap gd :YcmCompleter GoToDefinition<CR>
-"nnoremap <leader>gr :YcmCompleter GoToReferences<CR>
-"nnoremap K :YcmCompleter GetDoc<CR>
-"" this will disable tab, allowing it to be used for ultisnips
-"" let g:ycm_key_list_select_completion=[]
-"" let g:ycm_key_list_previous_completion=[]
-"let g:ycm_key_list_select_completion = ['<C-n>', '<Down>']
-"let g:ycm_key_list_previous_completion = ['<C-p>', '<Up>']
-"let g:ycm_python_interpreter_path = '.venv/bin/python3'
-"let g:ycm_auto_trigger = 1
-"let g:ycm_python_sys_path = []
-""let g:ycm_extra_conf_vim_data = [
-"" " \ 'g:ycm_python_interpreter_path',
-"" " \ 'g:ycm_python_sys_path'
-"" \]
-""let g:ycm_global_ycm_extra_conf = '~/.global_extra_conf.py'
-"nnoremap <leader>jd :YcmCompleter GoTo<CR>
-"imap <silent> <C-l> <Plug>(YCMToggleSignatureHelp)'.
+set background=dark
+syntax off
-"let g:ycm_enable_inlay_hints = 0
-"" }}}
diff --git a/vim/vimrc-full-config-left-may30_24 b/vim/vimrc-full-config-left-may30_24
new file mode 100644
index 0000000..6100b50
--- /dev/null
+++ b/vim/vimrc-full-config-left-may30_24
@@ -0,0 +1,475 @@
+" Setup {{{
+set nocompatible
+filetype indent on
+filetype plugin on
+" syntax on
+runtime macros/matchit.vim "allows jumping between brackets with % in normal mode
+" }}}
+" Leaders {{{
+let maplocalleader = "\\"
+let mapleader = ","
+nnoremap <silent> <leader>idate :.!date +"\%F"<CR>Ea<space>
+nnoremap <leader>q :call TaskWarriorAddCurrentLine()<CR>
+" nnoremap <C-h> :tabprevious<cr>
+" nnoremap <C-l> :tabnext<cr>
+" switch between tabs....
+nnoremap <tab> gt
+" pandoc command to generate weekly plan page in Firefox (or not, if we just
+" wish to refresh)
+nnoremap <leader>w :!pandoc /home/lemon/Documents/Notes/MOD/Projects/weekly_planning.md --css /home/lemon/.local/share/pandoc/templates/mystyles.css -s -o /tmp/toss.html; firefox /tmp/toss.html &<cr>
+nnoremap <leader>W :!pandoc /home/lemon/Documents/Notes/MOD/Projects/weekly_planning.md --css /home/lemon/.local/share/pandoc/templates/mystyles.css -s -o /tmp/toss.html<cr>
+" Open vimrc
+nnoremap <leader>ev <C-w>s<C-w>j<C-w>L:e $HOME/.vim/vimrc<cr>
+" Place timestamps, be it date (YYYY-MM-DD) or time (HH:MM:SS).
+if (exists("*strftime"))
+ noremap <silent> <leader>date "=strftime("%F")<CR>p9h
+ noremap <silent> <leader>time "=strftime("%X")<CR>p7h
+endif
+
+" Place timestamps, be it date (YYYY-MM-DD) or time (HH:MM:SS).
+if (exists("*strftime"))
+ noremap <silent> <leader>date "=strftime("%F")<CR>p9h
+ noremap <silent> <leader>time "=strftime("%X")<CR>p7h
+endif
+" Generate ctags for current working directory
+nnoremap <leader>tt :silent !ctags -R . <CR>:redraw!<CR>
+" notes stuff - from https://www.edwinwenink.xyz/posts/43-notes_tagging/
+" Go to index of notes and set working directory to my notes
+nnoremap <leader>ni :e $NOTES_DIR/index.md<CR>:cd $NOTES_DIR<CR>
+" related to https://oleksii.shmalko.com/2014/using-vim-as-c-cpp-ide/
+" to enable putting a config file in the proejct directory
+" clear search highlights
+nnoremap <leader><space> :noh<cr>:call clearmatches()<cr>
+nnoremap <leader><C-p> :<C-u>FZF!<CR>
+nnoremap <C-p>g :Files<CR>
+nnoremap <C-p>p :GitFiles<CR>
+nnoremap <leader>o :Tags<CR>
+nnoremap <leader>h :History<CR>
+nnoremap <silent> <leader>0 :Files<CR>
+nnoremap <silent> <leader>; :BLines<CR>
+nnoremap <silent> <leader>l :Lines<CR>
+nnoremap <silent> <leader>o :BTags<CR>
+nnoremap <C-p>b :Buffers<CR>
+nnoremap <silent> <leader>? :History:<CR>
+nnoremap <silent> <leader>/ :execute 'Ag ' . input('Ag/')<CR>
+nnoremap <silent> <leader>ft :Filetypes<CR>
+nnoremap <silent> <leader>CC :Commands<CR>
+" Open quickfix list in a right vertical split (good for Ngrep results)
+command! Vlist botright vertical copen | vertical resize 50
+nnoremap <leader>v : Vlist<CR>
+" }}}
+" Options {{{
+set clipboard=unnamed,unnamedplus " just past in with out needing "*
+set autoread
+set exrc
+set nocuc
+set secure
+set scrolloff=1
+set history=799
+set encoding=utf-8
+set wrap
+set wrapmargin=0
+set wildignore=**/__pycache*/**
+set wildoptions=pum
+set wildmenu
+set wildchar=<TAB>
+set showmatch
+set ruler
+set showcmd
+set nohlsearch
+set incsearch
+set ignorecase
+set smartindent
+set smartcase
+set tabstop=4
+set softtabstop=4
+set shiftwidth=4
+set splitbelow
+set noswapfile
+set nobackup
+set splitright
+set autoindent
+set expandtab
+set hidden
+set path+=**
+" set relativenumber
+set number
+set more
+set signcolumn=number
+set colorcolumn=0
+set equalalways
+set showmode
+set nolist
+set listchars=tab:»-,trail:␣,leadmultispace:---+,eol:\\U000021b5
+set shortmess+=c
+set tags+=./tags
+set background=dark
+set completeopt=menuone,longest
+" }}}
+" Function to allow adding a line of text to taskwarrior {{{
+function! TaskWarriorAddCurrentLine()
+ let current_line = getline('.')
+ silent execute ":!task add " . shellescape(current_line)
+ redraw!
+ echo "Task added: " . current_line
+ delete
+endfunction
+" }}}
+" Folding {{{
+if has('folding')
+ set foldmethod=marker " default
+ " set foldmethod=syntax
+" set foldmarker=#\ {{{,#\ }}}
+ set viewoptions=folds,options,cursor,unix,slash
+endif
+" disable folding by default with vim-markdown
+let g:vim_markdown_folding_disabled = 1
+" }}}
+" Remaps {{{
+let @x = 'o- [ ] '
+noremap <silent> J 10j
+noremap <silent> K 10k
+" macro to go to end of sentence and add a line break (for
+" one-line-per-sentence vimming...)
+let @s = ")i\<BS>\<CR>\<Esc>"
+" remap :W to :w - :W was previous Windows in fzf
+command! W w
+" Open Fern with Ctrl-N
+nnoremap <C-n> :Fern -drawer .<CR> <C-w>l
+" }}}
+" Plugins {{{
+call plug#begin()
+"Plug 'vim-scripts/AutoComplPop'
+Plug 'mattn/emmet-vim',
+Plug 'lambdalisue/fern.vim',
+Plug 'tpope/vim-rails',
+" Plug 'ycm-core/YouCompleteMe'
+Plug 'vim-ruby/vim-ruby',
+Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
+Plug 'junegunn/fzf.vim'
+Plug 'ayu-theme/ayu-vim'
+Plug 'airblade/vim-tailwind'
+Plug 'vim-perl/vim-perl', { 'for': 'perl', 'do': 'make clean carp dancer highlight-all-pragmas moose test-more try-tiny' }
+Plug 'morhetz/gruvbox'
+Plug 'eemed/sitruuna.vim'
+" Plug 'sheerun/vim-polyglot'
+Plug 'preservim/vim-markdown'
+Plug 'mhinz/vim-signify'
+Plug 'vim-test/vim-test'
+Plug 'ledger/vim-ledger'
+Plug 'fatih/vim-go', {'do': ':GoUpdateBinaries' }
+Plug 'tpope/vim-dispatch'
+Plug 'tpope/vim-surround'
+Plug 'tpope/vim-commentary'
+Plug 'tpope/vim-unimpaired'
+Plug 'tpope/vim-fugitive'
+Plug 'SirVer/UltiSnips'
+Plug 'honza/vim-snippets'
+Plug 'dense-analysis/ale'
+call plug#end()
+" }}}
+" Snippets {{{
+" Trigger configuration. You need to change this to something other than
+"<tab> if you use one of the following:
+" - https://github.com/Valloric/YouCompleteMe
+" - https://github.com/nvim-lua/completion-nvim
+" let g:UltiSnipsExpandTrigger="<S-t>"
+" let g:UltiSnipsJumpForwardTrigger="<S-f>"
+" let g:UltiSnipsJumpBackwardTrigger="<S-b>"
+" let g:ycm_key_list_select_completion=[]
+" let g:ycm_key_list_previous_completion=[]
+"
+" }}}
+" {{{ emmet
+" being very explicit, which is not required
+autocmd FileType css imap html <tab> <plug>(emmet-expand-abbr)
+let g:user_emmet_leader_key = '<C-b>'
+let g:user_emmet_expandabbr_key = '<C-b>,'
+let g:user_emmet_expandword_key = '<C-b>;'
+let g:user_emmet_update_tag = '<C-b>u'
+let g:user_emmet_balancetaginward_key = '<C-b>d'
+let g:user_emmet_balancetagoutward_key = '<C-b>D'
+let g:user_emmet_next_key = '<C-b>n'
+let g:user_emmet_prev_key = '<C-b>N'
+let g:user_emmet_imagesize_key = '<C-b>i'
+let g:user_emmet_togglecomment_key = '<C-b>/'
+let g:user_emmet_splitjointag_key = '<C-b>j'
+let g:user_emmet_removetag_key = '<C-b>k'
+let g:user_emmet_anchorizeurl_key = '<C-b>a'
+let g:user_emmet_anchorizesummary_key = '<C-b>A'
+let g:user_emmet_mergelines_key = '<C-b>m'
+let g:user_emmet_codepretty_key = '<C-b>c'
+"}}}
+" vim-tailwind {{{
+function! s:is_tailwind()
+ return !empty(findfile('tailwind.config.js', '.;')) ||
+ \ !empty(findfile('theme/static_src/tailwind.config.js', '.;'))
+endfunction
+
+nmap <silent> <buffer> gk <Plug>(tailwind-lookup)
+
+autocmd BufEnter *.html,*.slim if s:is_tailwind() |
+ \ setlocal omnifunc=tailwind#Complete |
+ \ endif
+" }}}
+" ALE {{{
+let g:ale_enabled = 1
+let g:ale_set_balloons = 0
+let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'
+let g:ale_sign_error = '!'
+let g:ale_sign_warning = '?'
+let g:ale_lint_on_text_changed = 1
+let g:ale_hover_cursor = 1
+let g:ale_virtualtext_cursor = 'disabled'
+let g:ale_sign_column_always = 1
+let g:ale_open_list = 0
+let g:ale_set_highlights = 1
+let g:ale_set_signs = 1
+let g:ale_set_loclist = 1
+let g:ale_set_quickfix = 1
+let g:ale_echo_cursor = 1
+let g:ale_echo_msg_error_str = 'ALE Error'
+let g:ale_echo_msg_format = 'ALE: %linter% - %code: %%s'
+let g:ale_loclist_msg_format = 'ALE: %linter% - %code: %%s'
+let g:ale_echo_msg_warning_str = 'ALE Warning'
+let g:ale_linters = {'python': ['pyright', 'ruff', 'flake8', 'mypy'],
+\ 'ocaml': ['merlin'],
+\ 'javascript': ['eslint'],
+\ 'cpp': ['clangd'],
+\ 'yaml': ['yamllint'],
+\ 'c': ['clangd'],
+\ 'go': ['gopls', 'golint', 'gofmt'],
+ \}
+let g:ale_fixers = {
+\ 'python': ['autoimport', 'ruff', 'isort', 'yapf', 'black'],
+\ 'javascript': ['eslint'],
+\ 'go': ['gofmt', 'goimports', 'gopls'],
+\ 'cpp': ['clang-format'],
+\ 'c': ['clang-format'],
+\ 'rust': ['rustfmt']
+\ }
+let g:ale_python_mypy_ignore_invalid_syntax = 1
+let g:ale_python_mypy_executable = 'mypy'
+let g:ale_python_mypy_options = '--config-file mypy.ini'
+" let g:ale_sign_error = '>>'
+let g:ale_fix_on_save = 1
+let g:ale_linters_explicit = 0
+let g:ale_completion_enabled = 0
+" Map movement through errors without wrapping.
+" nmap <silent> <C-k> <Plug>(ale_previous)
+" nmap <silent> <C-j> <Plug>(ale_next)
+" OR map keys to use wrapping.
+nmap <silent> <C-k> <Plug>(ale_previous_wrap)
+nmap <silent> <C-j> <Plug>(ale_next_wrap)
+set omnifunc=ale#completion#OmniFunc
+" }}}
+" :grep use ripgrep {{{
+if executable('rg')
+ set grepprg=rg\ --color=never\ --vimgrep
+endif
+
+" and search with ripgrep
+command! -bang -nargs=* Rg
+ \ call fzf#vim#grep(
+ \ 'rg --column --line-number --no-heading --color=always --ignore-case '.shellescape(<q-args>), 1,
+ \ <bang>0 ? fzf#vim#with_preview('up:60%')
+ \ : fzf#vim#with_preview('right:50%:hidden', '?'),
+ \ <bang>0)
+
+nnoremap <C-p>a :Rg
+" }}}
+" 'Notes Grep' with ripgrep (see grepprg) {{{
+" -i case insensitive
+" -g glob pattern
+" ! to not immediately open first search result
+"command! -nargs=1 Ngrep :silent grep! "<args>" -i -g '*.md' $NOTES_DIR | execute ':redraw!'
+command! -nargs=1 Ngrep vimgrep "<args>" $NOTES_DIR/**/*.md
+nnoremap <leader>nn :Ngrep
+" }}}
+" vim-test {{{
+nmap <silent> tn :TestNearest<CR>
+nmap <silent> tf :TestFile<CR>
+nmap <silent> ts :TestSuite<CR>
+nmap <silent> tl :TestLast<CR>
+nmap <silent> <leader>tv :TestVisit<CR>
+let test#strategy = "basic"
+let test#python#pytest#options = '-q -s'
+let test#python#runner = 'django'
+let test#vimterminal#term_position = "belowright"
+" }}}
+" Titbits {{{
+" " Increment an ordered (numbered) list with <leader><cr>
+" inoremap <leader><cr> <esc>yyp<C-a>
+" " sudo write
+" command! S :w !sudo tee %
+
+"nnoremap <Tab> %
+nnoremap <C-@> :call system("wl-copy", @")<CR>
+xnoremap <silent> <C-@> :w !wl-copy<CR><CR>
+" }}}
+" FZF {{{
+" This is the default extra key bindings
+let g:fzf_action = {
+ \ 'ctrl-t': 'tab split',
+ \ 'ctrl-x': 'split',
+ \ 'ctrl-v': 'vsplit' }
+
+" - FZF Popup window (center of the screen)
+let g:fzf_layout = { 'window': { 'width': 0.9, 'height': 0.6 } }
+
+" Customize fzf colors to match your color scheme
+let g:fzf_colors =
+\ { 'fg': ['fg', '#f8f8f2'],
+ \ 'bg': ['bg', '#282a36'],
+ \ 'hl': ['fg', '#bd93f9'],
+ \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
+ \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'],
+ \ 'hl+': ['fg', 'Statement'],
+ \ 'info': ['fg', '#ffb86c'],
+ \ 'prompt': ['fg', '#50fa7b'],
+ \ 'pointer': ['fg', 'Exception'],
+ \ 'marker': ['fg', 'Keyword'],
+ \ 'spinner': ['fg', '#ffb86c'],
+ \ 'header': ['fg', '#6272a4'] }
+" More fzf settings
+" (https://github.com/zenbro/dotfiles/blob/master/.nvimrc#L151-L187)
+ let g:fzf_nvim_statusline = 0 " disable statusline overwriting
+
+ nnoremap <C-s> :GFiles!<CR>
+ imap <C-x><C-f> <plug>(fzf-complete-file-ag)
+ imap <C-x><C-l> <plug>(fzf-complete-line)
+" }}}
+" Colorscheme {{{
+" This is imported from the old ephemera.vim file which has now been removed
+"
+" I got the following from gruvbox docs
+"Use 24-bit (true-color) mode in Vim/Neovim when outside tmux.
+"If you're using tmux version 2.2 or later, you can remove the outermost $TMUX check and use tmux's 24-bit color support
+"(see < http://sunaku.github.io/tmux-24bit-color.html#usage > for more information.)
+if (has("nvim"))
+"For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 >
+ let $NVIM_TUI_ENABLE_TRUE_COLOR=1
+endif
+"For Neovim > 0.1.5 and Vim > patch 7.4.1799 < https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162 >
+"Based on Vim patch 7.4.1770 (`guicolors` option) < https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd >
+" < https://github.com/neovim/neovim/wiki/Following-HEAD#20160511 >
+if (has("termguicolors"))
+ set termguicolors
+endif
+
+"ayu theme
+" 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 gruber-darker
+let g:gruvbox_contrast_dark = "hard"
+let g:gruvbox_italicize_strings = 1
+let g:gruvbox_improved_strings = 1
+let g:gruvbox_improved_warnings = 1
+let g:gruvbox_invert_indent_guides = 0
+let g:gruvbox_invert_signs = 0
+let g:gruvbox_italic = 0
+
+"colorscheme evening
+"colorscheme sitruuna
+colorscheme ayu
+"colorscheme gruvbox
+" }}}
+" GPG files {{{
+" from https://vim.fandom.com/wiki/Edit_gpg_encrypted_files
+" Don't save backups of *.gpg files
+set backupskip+=*.gpg
+" To avoid that parts of the file is saved to .viminfo when yanking or
+" deleting, empty the 'viminfo' option.
+set viminfo=
+
+augroup encrypted
+ au!
+ " Disable swap files, and set binary file format before reading the file
+ autocmd BufReadPre,FileReadPre *.gpg
+ \ setlocal noswapfile bin
+ " Decrypt the contents after reading the file, reset binary file format
+ " and run any BufReadPost autocmds matching the file name without the .gpg
+ " extension
+ autocmd BufReadPost,FileReadPost *.gpg
+ \ execute "'[,']!gpg --decrypt --default-recipient-self" |
+ \ setlocal nobin |
+ \ execute "doautocmd BufReadPost " . expand("%:r")
+ " Set binary file format and encrypt the contents before writing the file
+ autocmd BufWritePre,FileWritePre *.gpg
+ \ setlocal bin |
+ \ '[,']!gpg --encrypt --default-recipient-self
+ " After writing the file, do an :undo to revert the encryption in the
+ " buffer, and reset binary file format
+ autocmd BufWritePost,FileWritePost *.gpg
+ \ silent u |
+ \ setlocal nobin
+augroup END
+" }}}
+" Golang {{{
+augroup golang
+ autocmd!
+ autocmd FileType go
+ \ set tabstop=8 |
+ \ set softtabstop=8 |
+ \ set shiftwidth=8
+augroup END
+" }}}
+" GitFZF {{{
+" from https://git.sr.ht/~sircmpwn/dotfiles/tree/master/item/.vimrc
+function! GitFZF()
+ let path = trim(system('cd '.shellescape(expand('%:p:h')).' && git rev-parse --show-toplevel'))
+ exe 'FZF ' . path
+endfunction
+command! GitFZF call GitFZF()
+nnoremap <leader><C-f> :GitFZF<CR>
+" }}}
+" Switching off colours {{{
+"syntax off
+" hi Visual term=reverse ctermbg=7 ctermfg=black guifg=black guibg=LightPink
+" hi SpellBad term=reverse ctermbg=224 gui=undercurl guisp=Red guibg=Red
+" hi SpellCap term=reverse ctermbg=224 gui=undercurl guisp=Red guibg=Red
+" hi SpellRare term=reverse ctermbg=224 gui=undercurl guisp=Red guibg=Blue
+" hi Search term=reverse ctermbg=11 guifg=black guibg=Green
+"}}}
+" Turn spelling on for text files {{{
+" from - https://dmerej.info/blog/post/syntax-highlighting-is-useless/
+augroup textfiles
+ autocmd!
+ autocmd filetype markdown setlocal spell spelllang=en
+augroup end
+" }}}
+" Read man pages in vim {{{
+runtime! ftplugin/man.vim
+" }}}
+"" YouCompleteMe {{{
+"" -"" *** STARTING AND ENABLING ***
+"" Don't start on start - or use show_diagnostics below
+"let g:loaded_youcompleteme = 1
+"" with this set to 0, YCM doesn't load/start
+"let g:ycm_show_diagnostics_ui = 1
+"" ******************************
+"let g:ycm_enable_inlay_hints = 1
+"nnoremap <silent> <localleader>h <Plug>(YCMToggleInlayHints)
+"nnoremap gd :YcmCompleter GoToDefinition<CR>
+"nnoremap <leader>gr :YcmCompleter GoToReferences<CR>
+"nnoremap K :YcmCompleter GetDoc<CR>
+"" this will disable tab, allowing it to be used for ultisnips
+"" let g:ycm_key_list_select_completion=[]
+"" let g:ycm_key_list_previous_completion=[]
+"let g:ycm_key_list_select_completion = ['<C-n>', '<Down>']
+"let g:ycm_key_list_previous_completion = ['<C-p>', '<Up>']
+"let g:ycm_python_interpreter_path = '.venv/bin/python3'
+"let g:ycm_auto_trigger = 1
+"let g:ycm_python_sys_path = []
+""let g:ycm_extra_conf_vim_data = [
+"" " \ 'g:ycm_python_interpreter_path',
+"" " \ 'g:ycm_python_sys_path'
+"" \]
+""let g:ycm_global_ycm_extra_conf = '~/.global_extra_conf.py'
+"nnoremap <leader>jd :YcmCompleter GoTo<CR>
+"imap <silent> <C-l> <Plug>(YCMToggleSignatureHelp)'.
+
+"let g:ycm_enable_inlay_hints = 0
+"" }}}
diff --git a/vimrc-bare b/vimrc-bare
deleted file mode 100644
index dd60017..0000000
--- a/vimrc-bare
+++ /dev/null
@@ -1,57 +0,0 @@
-filetype plugin on
-filetype plugin indent on
-
-"source ~/.vim/grep.vim
-
-set autoread
-set foldmethod=manual
-set autowrite
-set backspace=indent,eol,start
-"set colorcolumn=80
-"set cursorline
-set completeopt=menuone,longest
-set display=truncate
-set equalalways
-set fileformat=unix
-set hidden
-set history=500
-set ignorecase
-set incsearch
-set infercase
-set laststatus=2
-"set list
-set listchars=nbsp:%,tab:▸\ ,trail:_,eol:¬,precedes:←,extends:→
-set matchtime=8
-set nobackup
-set nocompatible
-set nohlsearch
-set nojoinspaces
-set nomodeline
-set noshelltemp
-set noswapfile
-set noundofile
-set nowritebackup
-set path+=**
-set report=0
-set ruler
-set scrolloff=1
-set scrolloff=5
-set shell=bash
-set showcmd
-set showmatch
-set showmode
-set splitright
-set tabstop=4 softtabstop=4 shiftwidth=4 expandtab
-set ttimeout
-set ttimeoutlen=100
-set viminfo=
-set wildmenu
-set wildoptions=pum
-set wildmode=full
-set wrap
-"set gp=git\ grep\ -n
-packadd! matchit
-
-set background=dark
-syntax off
-