1
0
mirror of https://github.com/aquatix/dotfiles.git synced 2025-12-07 18:15:11 +01:00

40 Commits

Author SHA1 Message Date
a9d443755a Moved wiki.vim config to outside the load part 2021-09-02 11:11:55 +02:00
1b52b1ed7f Parse tags: line 2021-09-01 18:52:16 +02:00
28cdfe7d3a whoa 2021-09-01 12:50:57 +02:00
8a147d485a Moar DiVault phren 2021-08-31 16:57:06 +02:00
92b7cbf3d8 Use new DiVault phren 2021-08-31 07:10:00 +02:00
fed1dc4d8e Words 2021-08-30 15:57:58 +02:00
3aa07b28c2 DiVault phren 2021-08-30 15:57:54 +02:00
009557beb4 Wiiiiii 2021-08-30 15:56:18 +02:00
5e91c7d6af Spelling file for English is also auto-generated 2021-08-23 16:07:01 +02:00
c844099484 Ignore vim generated spelling files 2021-08-23 11:06:24 +02:00
5d374082e9 Words 2021-08-23 11:05:57 +02:00
44540b79a2 Autogenerate .spl files from .add spelling files 2021-08-23 11:05:19 +02:00
5d4d5a0bfa Word 2021-08-23 10:56:16 +02:00
ab722b28df Adjusted the fisher install notes 2021-07-10 10:47:21 +02:00
d601327458 Word 2021-07-09 10:40:11 +02:00
18b9e5c8ec Current fisher cannot be installed automatically 2021-07-08 10:32:17 +02:00
eaa4bb7d05 Fisher 4.x has a new plugin file 2021-07-07 10:24:11 +02:00
8e7af76123 Latest fisher has a different config file, of course 2021-06-27 09:08:22 +02:00
28234cd6a7 Bandcamp support, block Musicbrainz by not running a local instance 2021-06-19 21:28:24 +02:00
4f12b0ab9e Singles belong to their artist 2021-06-18 21:48:28 +02:00
358dd8e6d1 If there's multiple discs, prepend tracks with the disc number 2021-06-18 15:30:48 +02:00
a00697759c This stuff is big 2021-06-18 14:29:18 +02:00
eb33471478 More logical layout 2021-06-18 14:04:32 +02:00
2158c887cc Beets has its own dir now 2021-06-18 13:37:58 +02:00
e0861ac757 Playing around with beets music manager 2021-06-18 13:29:33 +02:00
Michiel Scholten
4648ba6ff6 Merge pull request #2 from aquatix/vim-todo
Vim todo
2021-05-04 17:53:58 +02:00
570bfcceb2 Python requirements.txt syntax highlighting 2021-05-04 17:52:50 +02:00
c59ec2687a Do not hide latex symbols 2021-04-10 12:58:24 +02:00
b2fa6f46c6 20201027: attempt at supporting more Markdown in todo files 2021-03-26 12:42:15 +01:00
26d268249c 20201027: attempt at supporting more Markdown in todo files 2021-03-26 12:40:53 +01:00
0243aa351b Word 2021-03-21 14:05:19 +01:00
be22ae5d26 YCM has a vim-legacy branch now 2021-02-17 10:01:09 +01:00
afdc46f09a Regular :Files already shows preview, bind to Git Files; also show open buffers 2021-01-20 12:49:14 +01:00
071c48f38a Hello 2021 2021-01-11 10:50:33 +01:00
b5ebbe1c68 YouCompleteMe has some pretty high vim version requirement... 2021-01-08 09:01:39 +01:00
0084ea18ef Disabled EmojiOne fallback font, it makes Telegram crash 2020-12-06 15:51:18 +01:00
5bf9bc00d8 virtualfish is needed to have virtualenvwrapper magic work in fish 2020-11-16 13:31:30 +01:00
23b7a4daa7 A word a day 2020-10-26 13:22:04 +01:00
1a95a6dd3b Handy function to send push notification after long job 2020-10-25 16:15:07 +01:00
dd536a69af Removed old vimwiki config; more wiki.vim goodness 2020-10-25 15:36:06 +01:00
14 changed files with 215 additions and 52 deletions

60
.config/beets/config.yaml Normal file
View File

@@ -0,0 +1,60 @@
directory: /stuff/beets/music
library: /stuff/beets/musiclibrary.db
art_filename: cover
asciify_paths: yes
per_disc_numbering: yes
threaded: yes
paths:
# default: $albumartist/$year - $album/$track $artist - $title
default: %the{$albumartist}/$year - $album%aunique{}/%if{$multidisc,$disc-}$track $artist - $title
#singleton: Singletons/$artist - $title
singleton: %the{$albumartist}/single - $artist - $title/$artist - $title
comp: Compilations/$album%aunique{}/%if{$multidisc,$disc-}$track $artist - $title
albumtype:soundtrack: Soundtracks/$album%aunique{}/%if{$multidisc,$disc-}$track $artist - $title
import:
write: yes
copy: yes
move: no
resume: ask
#incremental: yes
log: beetslog.log
ignore: .AppleDouble ._* *~ .DS_Store
plugins: [
bandcamp, # pip install beets-bandcamp
discogs,
duplicates,
embedart,
fetchart,
ftintitle,
importadded,
inline,
the,
]
discogs:
# pip install discogs-client
# Useful for classical music:
index_tracks: yes
fetchart:
# pip install requests
cautious: true
ftintitle:
auto: yes
format: (feat. {0})
importadded:
preserve_mtimes: yes
preserve_write_mtimes: yes
item_fields:
multidisc: 1 if disctotal > 1 else 0
musicbrainz:
host: localhost:5000

View File

@@ -3,12 +3,11 @@ set EDITOR vim
set -q XDG_CONFIG_HOME; or set XDG_CONFIG_HOME ~/.config
if not functions -q fisher
echo "Installing fisher for the first time..." >&2
set -q XDG_CONFIG_HOME; or set XDG_CONFIG_HOME ~/.config
curl https://git.io/fisher --create-dirs -sLo $XDG_CONFIG_HOME/fish/functions/fisher.fish
fish -c fisher
end
#if not functions -q fisher
# DO NOT ENABLE, it is a fork bomb :)
# echo "Installing fisher for the first time..." >&2
# curl -sL https://git.io/fisher | source && fisher update
#end
# Theme options for bobthefish
set -g theme_nerd_fonts yes
@@ -55,6 +54,9 @@ set -gx FZF_DEFAULT_COMMAND 'rg --files --no-ignore --hidden --follow --glob "!.
set -gx FZF_CTRL_T_COMMAND "$FZF_DEFAULT_COMMAND"
set -gx FZF_ALT_C_COMMAND "$FZF_DEFAULT_COMMAND"
# Set HOSTNAME to the hostname of the device, without trailing domain name
set -x HOSTNAME (hostname | string split -m1 '.')[1]
# Aliases
## Listing
alias ll 'ls -alF'
@@ -133,6 +135,24 @@ function rgvim
end
end
function imready
# Get return status and run time of last command, to be used with long-running jobs
# e.g.: longrunning.sh; imready
set laststatus $status
if test $status = 0
set result "success"
else
set result "failed with result $laststatus"
end
set duration (echo "$CMD_DURATION 1000" | awk '{printf "%.3fs", $1 / $2}')
set resulttext "Result of command: $result (took: $duration)"
# Send a push message with summary
if test -f "$HOME/workspace/projects/others/pushover.sh/pushover.sh"
$HOME/workspace/projects/others/pushover.sh/pushover.sh -t "[$HOSTNAME] command finished" "$resulttext"
end
end
function jl
# Pretty print the json file used as argument, and feed it in colour to less
jq -C --indent 2 . $argv | less -R

View File

@@ -0,0 +1,9 @@
jorgebucaran/fisher
edc/bass
oh-my-fish/theme-bobthefish
fisherman/fzf
fisherman/getopts
fisherman/nvm
oh-my-fish/plugin-grc
fisherman/shark
fisherman/z

1
.gitignore vendored
View File

@@ -1,5 +1,6 @@
# Vim
.vim/bundle
*.spl
*.swp
*.swo

View File

@@ -1 +1,2 @@
au BufNewFile,BufRead *.todo set filetype=todo
"au BufNewFile,BufRead *.todo set filetype=markdown

Binary file not shown.

View File

@@ -157,3 +157,15 @@ knuffelbaar
gewokte
Efteling
wokgerecht
rundersaucijs
Loïs
Pfizer
gehaktsaus
aardappelkroketjes
AMD
Assetto
Corsa
Wii
gymkleding
kutweer
whoa

Binary file not shown.

View File

@@ -2,6 +2,11 @@ if exists("b:current_syntax")
finish
endif
runtime! syntax/html.vim
unlet! b:current_syntax
"runtime! syntax/markdown.vim
"unlet! b:current_syntax
" Keywords that we want to emphasize
"syntax keyword todoKeyword todo done important
@@ -85,6 +90,19 @@ highlight todoTitledItem ctermfg=172 guifg=#d78700
syntax match todoItem '[a-zA-Z0-9\-_]\+:' contained
highlight todoItem ctermfg=Blue guifg=#87d7ff
syn region markdownIdDeclaration matchgroup=markdownLinkDelimiter start="^ \{0,3\}!\=\[" end="\]:" oneline keepend nextgroup=markdownUrl skipwhite
syn match markdownUrl "\S\+" nextgroup=markdownUrlTitle skipwhite contained
syn region markdownUrl matchgroup=markdownUrlDelimiter start="<" end=">" oneline keepend nextgroup=markdownUrlTitle skipwhite contained
syn region markdownUrlTitle matchgroup=markdownUrlTitleDelimiter start=+"+ end=+"+ keepend contained
syn region markdownUrlTitle matchgroup=markdownUrlTitleDelimiter start=+'+ end=+'+ keepend contained
syn region markdownUrlTitle matchgroup=markdownUrlTitleDelimiter start=+(+ end=+)+ keepend contained
syn region markdownLinkText matchgroup=markdownLinkTextDelimiter start="!\=\[\%(\_[^]]*]\%( \=[[(]\)\)\@=" end="\]\%( \=[[(]\)\@=" nextgroup=markdownLink,markdownId skipwhite contains=@markdownInline,markdownLineStart
syn region markdownLink matchgroup=markdownLinkDelimiter start="(" end=")" contains=markdownUrl keepend contained
syn region markdownId matchgroup=markdownIdDelimiter start="\[" end="\]" keepend contained
syn region markdownAutomaticLink matchgroup=markdownUrlDelimiter start="<\%(\w\+:\|[[:alnum:]_+-]\+@\)\@=" end=">" keepend oneline
highlight link todoStatusDone PreProc
highlight link todoStatusDoing PreProc
highlight link todoStatusCancelled PreProc
@@ -93,6 +111,18 @@ highlight link todoStatusTodo PreProc
highlight link todoStatusImportant PreProc
highlight link todoStatusQuestion PreProc
hi def link markdownLinkText htmlLink
hi def link markdownIdDeclaration Typedef
hi def link markdownId Type
hi def link markdownAutomaticLink markdownUrl
hi def link markdownUrl Float
hi def link markdownUrlTitle String
hi def link markdownIdDelimiter markdownLinkDelimiter
hi def link markdownUrlDelimiter htmlTag
hi def link markdownUrlTitleDelimiter Delimiter
" runtime! syntax/markdown.vim
" unlet! b:current_syntax
" Syntax highlighting scheme name
let b:current_syntax = "todo"

94
.vimrc
View File

@@ -185,7 +185,10 @@ command! -bang -nargs=? -complete=dir FilesPreview
" \t for tags, \c for (Git) commits and \f to search through contents of files
nmap ; :Buffers<CR>
nmap <Leader>o :Files<CR>
nmap <Leader>O :FilesPreview<CR>
"nmap <Leader>O :FilesPreview<CR>
" Git files, takes .gitignore into account
nmap <Leader>O :GFiles<CR>
nmap <Leader>b :Buffers<CR>
nmap <Leader>t :Tags<CR>
nmap <Leader>c :Commits<CR>
" nmap <Leader>f :Find<CR>
@@ -268,6 +271,15 @@ endif
" https://castel.dev/post/lecture-notes-1/
inoremap <C-l> <c-g>u<Esc>[s1z=`]a<c-g>u
" Make sure .add.spl spelling files are up-to-date with their .add
" counterparts
" https://vi.stackexchange.com/questions/5050/how-to-share-vim-spellchecking-additions-between-multiple-machines
for d in glob('~/.vim/spell/*.add', 1, 1)
if filereadable(d) && (!filereadable(d . '.spl') || getftime(d) > getftime(d . '.spl'))
exec 'mkspell! ' . fnameescape(d)
endif
endfor
" Word completion from dictionary (on ctrl+space)
set complete+=kspell
@@ -282,6 +294,8 @@ Plug 'Yggdroot/indentLine'
let g:indentLine_char = '┊'
"let g:indentLine_setConceal = 0
let g:indentLine_conceallevel = 1
" Do not conceal LaTeX symbols
let g:tex_conceal=""
" Colour-match brackets
Plug 'luochen1990/rainbow'
@@ -312,7 +326,14 @@ if !filereadable(skip_ycm) " Only load YouCompleteMe if ~/.dot_no_ycm does not
" sudo apt-get install python-dev
" cd ~/.vim/bundle/YouCompleteMe
" ./install.py # For C-style languages: ./install.py --clang-completer
Plug 'ycm-core/YouCompleteMe'
if has('patch-8.1.2269')
" Latest YCM needs at least this version of vim
Plug 'ycm-core/YouCompleteMe'
else
" Version compatible with the vim in Debian 10 buster
" Plug 'ycm-core/YouCompleteMe', { 'commit':'d98f896' }
Plug 'ycm-core/YouCompleteMe', { 'branch':'legacy-vim' }
endif
" YouCompleteMe interpreter version (should be the same as what YCM was
" compiled with):
if filereadable('/data/data/com.termux/files/usr/bin/python3')
@@ -364,6 +385,9 @@ endif
" Improved Django handling
Plug 'tweekmonster/django-plus.vim'
" requirements.txt highlighter
Plug 'raimon49/requirements.txt.vim', {'for': 'requirements'}
" Code checker. For python, install flake8 or pylint, preferably in the
" virtualenv. For Django support, install pylint-django
@@ -416,44 +440,13 @@ let g:mdnav#Extensions = '.md, .MD, .markdown, .todo, .txt, .rst'
" wiki.vim
Plug 'lervag/wiki.vim'
" let g:wiki_root = '~/wiki'
let g:wiki_root = '~/phren'
let g:wiki_filetypes = ['md']
let g:wiki_link_extension = '.md'
let g:wiki_link_target_type = 'md'
" let g:wiki_mappings_use_defaults = 1
" vimwiki
"Plug 'vimwiki/vimwiki', { 'branch': 'dev' }
let wiki_1 = {}
let wiki_1.path = '~/phren/'
let wiki_1.syntax = 'markdown'
let wiki_1.ext = '.md'
" vimwiki-markdown
let wiki_1.template_path = '~/phren/templates/'
let wiki_1.template_default = 'default'
let wiki_1.path_html = '~/phren/site_html/'
let wiki_1.custom_wiki2html = 'vimwiki_markdown'
let wiki_1.template_ext = '.tpl'
let $VIMWIKI_MARKDOWN_EXTENSIONS = 'wikilinks'
let g:vimwiki_list = [wiki_1]
let g:vimwiki_ext2syntax = {'.md': 'markdown', '.markdown': 'markdown', '.mdown': 'markdown'}
" Do not use vimwiki magic on non-wiki (markdown) files
let g:vimwiki_global_ext = 0
" Be smarter with file extensions
let g:vimwiki_markdown_link_ext = 1
" Quick way of opening a window with backlinks to the current document
nmap <leader>wb :VimwikiBacklinks <CR>
" Config below, after plug#end()
if $USER != 'root'
" notational velocity with fzf: quickly search and open notes
Plug 'https://github.com/alok/notational-fzf-vim'
let g:nv_search_paths = ['~/phren', '~/mydocs', '~/.dot/caplog']
let g:nv_search_paths = ['~/phren', '~/mydocs', '~/.dot/caplog', '~/divaultphren']
let g:nv_ignore_pattern = ['*.xml', '*.svg']
" Quickly open the search with this shortcut
nmap <leader>n :NV <CR>
@@ -525,6 +518,37 @@ nmap <leader>V :Goyo <bar> :Limelight!! <bar> :TogglePencil <CR>
" All of the plugins must be added before the following line
call plug#end()
" wiki.vim config
let g:wiki_root = '~/phren'
let g:wiki_filetypes = ['md']
let g:wiki_link_extension = '.md'
let g:wiki_link_target_type = 'md'
" let g:wiki_mappings_use_defaults = 1
"support for #tag style tags instead of :tag: (hashes instead of colons)
runtime autoload/wiki/tags.vim
let s:tag_parser = deepcopy(g:wiki#tags#default_parser)
let s:tag_parser.re_match = '\v%(^|\s)#\zs[^# ]+'
let s:tag_parser.re_findstart = '\v%(^|\s)#\zs[^# ]+'
"let g:wiki_tags_format_pattern = '\v%(^|\s)#\zs[^# ]+'
" parse tags in lines that match "tags: keyword1, keyword2" in addition to the default parser:
let g:wiki_tag_parsers = [
\ s:tag_parser,
\ {'match': {x -> x =~# '^tags: '},
\ 'parse': {x -> split(matchstr(x, '^tags:\zs.*'), '[ ,]\+')}}
\ ]
" number of lines from the top to scan for tags
let g:wiki_tag_scan_num_lines = 500
" search through the tags in the wiki
nmap <leader>wf :WikiFzfTags <CR>
" find backlinks to this document
nmap <leader>wb :WikiGraphFindBacklinks <CR>
" find in ToC/structure of the (markdown) file
nmap <leader>ft :WikiFzfToc <CR>
" == End of plugins ============================================================

View File

@@ -13,6 +13,10 @@ cd dotfiles # this takes you to the freshly cloned ~/.dot/dotfiles
sh install.sh # follow the instructions and install the files in the homedir
```
Extra's:
[virtualfish](https://virtualfish.readthedocs.io/en/latest/install.html) for virtualenv(wrapper) integration in `fish` shell.
## Dependency on `fzf` and ripgrep `rg`

View File

@@ -76,7 +76,7 @@ Rubik-Medium.ttf
Rubik-Regular.ttf'
# https://github.com/eosrei/emojione-color-font/
FONTS_VARIOUS=$'EmojiOneColor-SVGinOT.ttf'
# FONTS_VARIOUS=$'EmojiOneColor-SVGinOT.ttf'
FONTS_DELETE=$'Sauce Code Pro Medium Plus Nerd File Types Plus Font Awesome Plus Octicons Plus Pomicons.ttf
Sauce Code Pro Bold Plus Nerd File Types Mono Plus Font Awesome Plus Octicons Plus Pomicons.ttf
@@ -179,14 +179,15 @@ else
while read -r FONT; do
install_font "$SOURCE_DIR/$FONT" "$DEST_DIR/$FONT"
done <<< "$FONTS_RUBIK"
while read -r FONT; do
install_font "$SOURCE_DIR/$FONT" "$DEST_DIR/$FONT"
done <<< "$FONTS_VARIOUS"
# while read -r FONT; do
# install_font "$SOURCE_DIR/$FONT" "$DEST_DIR/$FONT"
# done <<< "$FONTS_VARIOUS"
if [ ! -e "${HOME}/.config/fontconfig" ]; then
mkdir -p "${HOME}/.config/fontconfig"
fi
if [ ! -e "${HOME}/.config/fontconfig/fonts.conf" ]; then
ln -s "${SOURCE_DIR}/fonts.conf" "${HOME}/.config/fontconfig/"
if [ -L "${HOME}/.config/fontconfig/fonts.conf" ]; then
# Remove the emoji-fallback config that causes crashes in Telegram Desktop (symlink)
rm "${HOME}/.config/fontconfig/fonts.conf"
fi
# Delete obsolete fonts
while read -r FONT; do

View File

@@ -1,5 +1,7 @@
#!/bin/bash
cd ~/mydocs/work/divault
git pull
cd ~/divaultphren
git pull
#vim -c ":vsp planning_2015.todo" notes_2015.md notes_2014.md
vim -c "set nofoldenable" planning_2020.todo notes.md
vim -c "set nofoldenable" ~/mydocs/work/divault/planning_2021.todo ~/divaultphren/index.md

View File

@@ -30,15 +30,14 @@ install_fish()
mkdir -p "${HOME}/.config/fish/completions"
curl -sL get.fisherman.sh | fish
ln -s "${HOME}/.dot/dotfiles/.config/fish/config.fish" "${HOME}/.config/fish/"
ln -s "${HOME}/.dot/dotfiles/.config/fish/fishfile" "${HOME}/.config/fish/"
ln -s "${HOME}/.dot/dotfiles/.config/fish/completions/terrible_job.fish" "${HOME}/.config/fish/completions"
ln -s "${HOME}/.dot/dotfiles/.config/fish/fish_plugins" "${HOME}/.config/fish/"
ln -s "${HOME}/workspace/application_addons/cli/git-flow-completion/git.fish" "${HOME}/.config/fish/completions"
ln -s "${HOME}/workspace/application_addons/cli/tmuxinator/completion/mux.fish" "${HOME}/.config/fish/completions"
ln -s "${HOME}/workspace/application_addons/cli/tmuxinator/completion/tmuxinator.fish" "${HOME}/.config/fish/completions"
echo
echo "You might want to install Fisher:"
echo "curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish"
echo "And some plugins: fisher"
echo "curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher"
echo "fisher update"
echo
}