X-Git-Url: https://git.sthu.org/?p=vimconf.git;a=blobdiff_plain;f=macros.vim;h=1da3dae9c56080df7f1cdc01545f006bef4759ac;hp=58599670c737d4e4f01f920551b31a873f571155;hb=HEAD;hpb=a6f5b4dbb1b87a7a39b922a1a725a1706bff9c95 diff --git a/macros.vim b/macros.vim index 5859967..1da3dae 100644 --- a/macros.vim +++ b/macros.vim @@ -10,6 +10,11 @@ function TexTransUmlaute() execute ':%s/²/\^2/&' endfunction +function! s:texTableBfEntries() + execute 's/\( *\)\([^ &][^&]*[^ &]\)\( \+\)/\1\\textbf{\2}\3/g' +endfunction + +command! -range TexTableBfEntries call s:texTableBfEntries() "Open current file with a specific program function OpenIn(prog) @@ -73,9 +78,12 @@ endfunction function InsertIncludeGuardsWithoutEndif() - let gatename = substitute(expand("%:t"), "\\.", "_", "g") . '_' . strpart(system('pwgen -c 16 1'), 0, 16) - execute "normal! i#ifndef " . gatename - execute "normal! o#define " . gatename + " Build name of guard: Take filename, replace some chars by _ and + " prepend a random sequence to make guard robust against file name + " collisions. + let guardname = substitute(expand("%:t"), "[\\.-]", "_", "g") . '_' . strpart(system('pwgen -c 16 1'), 0, 16) + execute "normal! i#ifndef " . guardname + execute "normal! o#define " . guardname endfunction @@ -102,6 +110,20 @@ function RunMarkdownpy(prog) endfunction +function RunAsciidoctor() + execute ":!asciidoctor " . @% + if executable("asciidoctor-pdf") + execute ":!asciidoctor-pdf " . @% + elseif executable("asciidoctor") + execute ":!asciidoctor " . @% + endif +endfunction + +function RunAsciidoctorPdf() + execute ":!asciidoctor-pdf " . @% +endfunction + + function RunMarkdown() if executable("pandoc") call RunPandoc() @@ -115,11 +137,24 @@ function RunMarkdown() endfunction +function RunAsciidoc() + if executable("asciidoctor-pdf") + call RunAsciidoctorPdf() + elseif executable("asciidoctor") + call RunAsciidoctor() + else + echo "No asciidoc implementation found." + endif +endfunction + + function OnBattery() if has('macunix') return match(system('pmset -g batt'), "Now drawing from 'Battery Power'") != -1 elseif has('unix') - return readfile('/sys/class/power_supply/AC/online') == ['0'] + if filereadable('/sys/class/power_supply/AC/online') + return readfile('/sys/class/power_supply/AC/online') == ['0'] + endif endif return 0 endfunction