diff options
Diffstat (limited to 'public/.config/nvim')
| -rw-r--r-- | public/.config/nvim/colors/mac_classic.vim | 226 | ||||
| -rw-r--r-- | public/.config/nvim/ftplugin/tex.vim | 1 | ||||
| -rw-r--r-- | public/.config/nvim/init.vim | 193 | ||||
| -rw-r--r-- | public/.config/nvim/pack/mitsuo/Readme.txt | 1 | ||||
| -rw-r--r-- | public/.config/nvim/pack/mitsuo/start/fun/Readme.txt | 1 | ||||
| -rw-r--r-- | public/.config/nvim/pack/mitsuo/start/fun/plugin/fun.vim | 121 | ||||
| m--------- | public/.config/nvim/pack/mitsuo/start/vim-commentary | 0 |
7 files changed, 543 insertions, 0 deletions
diff --git a/public/.config/nvim/colors/mac_classic.vim b/public/.config/nvim/colors/mac_classic.vim new file mode 100644 index 0000000..9382bde --- /dev/null +++ b/public/.config/nvim/colors/mac_classic.vim @@ -0,0 +1,226 @@ +" Vim color scheme +" +" Name: mac_classic.vim +" Maintainer: Drew Neil <[email protected]> +" License: public domain +" Version: 0.1 + +" Boilerplate: {{{1 +set background=light +highlight clear + +if exists("syntax_on") + syntax reset +endif + +let g:colors_name = "mac_classic" + + +" Colors: {{{1 +" TODO figure out how to not highlight TODO +" +" #000000 +" #3C4C72 - BLUE/GREY - cursor, rails helpers +" #0000A2 - D.BLUE - numbers & function names +" #1E39F6 - BLUE +" #0066FF - L.BLUE - Comments, TODOs and folds +" #6E79F1 - L.PURPLE - Booleans, Ruby Constants & CSS definitions +" #318495 - BLUE/GREEN - Ruby instance/global/pseudo variables +" #007B22 - D.GREEN - Strings, Labels and code blocks in Markdown +" #00BC41 - L.GREEN - CSS common attributes & ruby interpolation +" #990000 - BURGUNDY - Errors and Warnings +" #D51015 - RED for constants, symbols, numbers +" #E18AC7 - PINK RegularExpressions in Ruby +" #FFCE77 - ORANGE - Incremental Search +" #FFE6BB - L.ORANGE - Search +" #C6DEFF - VL.BLUE Visual, Current StatusLine & AutoComplete selection +" #808080 - Line numbers +" #CFCFCF - VerticalSplit separator +" #DFDFDF - Invisible Characters +" #EFEFEF - LineNumber & Non-Current StatusLine +" #F0F6FF - CursorLine & CursorColumn +" #FFFFFF - WHITE +" }}} + +" GUI: {{{1 +hi Cursor guifg=#FFFFFF ctermfg=15 guibg=#3C4C72 ctermbg=240 +hi Visual guibg=#C6DEFF ctermbg=189 +hi CursorLine guibg=#F0F6FF ctermbg=15 +hi CursorColumn guibg=#F0F6FF ctermbg=15 +hi LineNr guifg=#808080 ctermfg=244 guibg=#EFEFEF ctermbg=7 +hi VertSplit guifg=#FFFFFF ctermfg=15 guibg=#CFCFCF ctermbg=252 gui=NONE +hi MatchParen guifg=#1E39F6 ctermfg=27 guibg=NONE gui=bold +hi Pmenu guibg=#EFEFEF ctermbg=7 +hi PmenuSel guibg=#C6DEFF ctermbg=189 +hi Directory guifg=#D51015 ctermfg=160 gui=bold +hi Folded guifg=#0066FF ctermfg=27 guibg=#FFFFFF ctermbg=15 +" StatusLine: {{{2 +hi StatusLine guifg=#000000 ctermfg=0 guibg=#C6DEFF ctermbg=189 gui=italic +hi StatusLineNC guifg=#000000 ctermfg=0 guibg=#EFEFEF ctermbg=7 gui=NONE + +" Search: {{{2 +" [IncSearch is stronger than Search] +hi IncSearch guifg=NONE guibg=#FFCE77 ctermbg=222 gui=NONE +hi Search guibg=#FFE6BB ctermbg=223 + +" Syntax: {{{1 +hi Normal guifg=#000000 ctermfg=0 guibg=#FFFFFF ctermbg=15 +hi Boolean guifg=#6E79F1 ctermfg=69 gui=bold +hi Character guifg=#D51015 ctermfg=160 gui=bold +hi Comment guifg=#0066FF ctermfg=27 gui=italic +hi Conditional guifg=#1E39F6 ctermfg=27 gui=bold +hi Constant guifg=#D51015 ctermfg=160 gui=bold +hi Define guifg=#1E39F6 ctermfg=27 gui=bold +hi ErrorMsg guifg=#FFFFFF ctermfg=15 guibg=#990000 ctermbg=88 +hi WarningMsg guifg=#FFFFFF ctermfg=15 guibg=#990000 ctermbg=88 +hi Float guifg=#0000A2 ctermfg=19 +hi Function guifg=#0000A2 ctermfg=19 gui=bold +hi Identifier guifg=#1E39F6 ctermfg=27 gui=bold +hi Keyword guifg=#1E39F6 ctermfg=27 gui=bold +hi Label guifg=#007B22 ctermfg=28 +hi Number guifg=#0000A2 ctermfg=19 +hi Operator guifg=#1E39F6 ctermfg=27 gui=bold +hi PreProc guifg=#1E39F6 ctermfg=27 gui=bold +hi Special guifg=#000000 ctermfg=0 +hi Statement guifg=#1E39F6 ctermfg=27 gui=bold +hi StorageClass guifg=#1E39F6 ctermfg=27 gui=bold +hi String guifg=#007B22 ctermfg=28 +hi Title guifg=#000000 ctermfg=0 gui=bold +hi Todo guifg=#0066FF ctermfg=27 gui=inverse,bold,italic +hi Underlined gui=underline + +" Invisible character colors +hi NonText guifg=#DFDFDF ctermfg=253 guibg=#FFFFFF ctermbg=15 +hi SpecialKey guifg=#DFDFDF ctermfg=253 guibg=#FFFFFF ctermbg=15 + +" Diff styles {{{1 +hi diffAdded guifg=#007B22 guibg=#FFFFFF ctermfg=28 ctermbg=15 +hi diffRemoved guifg=#D51015 guibg=#FFFFFF ctermfg=160 ctermbg=15 +hi diffFile guifg=#6E79F1 guibg=#FFFFFF ctermfg=69 ctermbg=15 +hi diffNewFile guifg=#6E79F1 guibg=#FFFFFF ctermfg=69 ctermbg=15 +hi diffLine guifg=#000000 guibg=#FFFFFF ctermfg=0 ctermbg=15 + +hi diffAdd guifg=#007B22 guibg=#FFFFFF ctermfg=28 ctermbg=15 +hi diffChange guifg=#007B22 guibg=#FFFFFF ctermfg=28 ctermbg=15 +hi diffText guifg=#007B22 guibg=#FFFFFF ctermfg=28 ctermbg=15 +hi link diffDelete diffRemoved +" Git styles {{{1 +hi gitcommitFirstLine guifg=#000000 guibg=#FFFFFF ctermfg=0 ctermbg=15 +hi gitcommitSelectedType guifg=#007B22 guibg=#FFFFFF ctermfg=28 ctermbg=15 +hi link gitcommitSelectedFile gitcommitSelectedType +hi gitcommitDiscardedType guifg=#D51015 guibg=#FFFFFF ctermfg=160 ctermbg=15 +hi link gitcommitDiscardedFile gitcommitDiscardedType +hi gitcommitUntrackedFile guifg=#6E79F1 guibg=#FFFFFF ctermfg=69 ctermbg=15 +" Ruby styles {{{1 +hi rubyClass guifg=#1E39F6 ctermfg=27 gui=bold +hi rubyFunction guifg=#0000A2 ctermfg=19 gui=bold +hi rubyInterpolationDelimiter guifg=#00BC41 ctermfg=35 +hi rubyInterpolation guifg=#00BC41 ctermfg=35 +hi rubySymbol guifg=#D51015 ctermfg=160 gui=bold +hi rubyConstant guifg=#6E79F1 ctermfg=69 gui=bold +hi rubyStringDelimiter guifg=#007B22 ctermfg=28 +hi rubyInstanceVariable guifg=#318495 ctermfg=66 +hi rubyInclude guifg=#1E39F6 ctermfg=27 gui=bold +hi rubyGlobalVariable guifg=#318495 ctermfg=66 +hi rubyRegexp guifg=#E18AC7 ctermfg=176 +hi rubyRegexpAnchor guifg=#E18AC7 ctermfg=176 +hi rubyRegexpQuantifier guifg=#E18AC7 ctermfg=176 +hi rubyRegexpParens guifg=#E18AC7 ctermfg=176 +hi rubyRegexpEscape guifg=#00BC41 ctermfg=35 +hi rubyRegexpCharClass guifg=#00BC41 ctermfg=35 +hi rubyRegexpDelimiter guifg=#E18AC7 ctermfg=176 +hi rubyEscape guifg=#00BC41 ctermfg=35 +hi rubyControl guifg=#1E39F6 ctermfg=27 gui=bold +hi rubyOperator guifg=#1E39F6 ctermfg=27 gui=bold +hi rubyException guifg=#1E39F6 ctermfg=27 gui=bold +hi rubyPseudoVariable guifg=#318495 ctermfg=66 +hi rubyRailsUserClass guifg=#6E79F1 ctermfg=69 gui=bold +hi rubyRailsARAssociationMethod guifg=#3C4C72 ctermfg=240 gui=bold +hi rubyRailsARMethod guifg=#3C4C72 ctermfg=240 gui=bold +hi rubyRailsRenderMethod guifg=#3C4C72 ctermfg=240 gui=bold +hi rubyRailsMethod guifg=#3C4C72 ctermfg=240 gui=bold +hi link erubyComment Comment +hi erubyRailsMethod guifg=#3C4C72 ctermfg=240 gui=bold + +" XML: {{{1 +hi link xmlEndTag xmlTag +" HTML: {{{1 +hi htmlTag guifg=#1E39F6 ctermfg=27 +hi link htmlEndTag htmlTag +hi link htmlTagName htmlTag +hi link htmlArg htmlTag +hi htmlSpecialChar guifg=#D51015 ctermfg=160 gui=bold +hi htmlH1 gui=bold +hi link htmlH2 htmlH1 +hi link htmlH3 htmlH1 +hi link htmlH4 htmlH1 +hi link htmlH5 htmlH1 +hi link htmlH6 htmlH1 + +" JavaScript: {{{1 +hi javaScriptFunction guifg=#1E39F6 ctermfg=27 gui=bold +hi javaScriptFuncName guifg=#318495 ctermfg=66 gui=italic +hi javaScriptLabel guifg=#0000A2 ctermfg=19 gui=bold +hi javaScriptRailsFunction guifg=#3C4C72 ctermfg=240 gui=bold +hi javaScriptType guifg=#318495 ctermfg=66 gui=none +hi javaScriptArgument guifg=#318495 ctermfg=66 gui=italic +hi javaScriptRegexpString guifg=#E18AC7 ctermfg=176 gui=NONE +hi javaScriptSpecial guifg=#00BC41 ctermfg=35 gui=NONE +" NOTE: Syntax Highlighting for javascript doesn't match the +" TextMate version very accurately, because the javascript +" syntax file does not create matches for some items. In +" particular: +" * javaScriptArgument - e.g. function(argument) +" * javaScriptFuncName for object literal style functions - e.g.: +" myFunction: function() { ... } + +" YAML: {{{1 +hi yamlAnchor guifg=#318495 ctermfg=66 +hi yamlAlias guifg=#318495 ctermfg=66 +hi yamlDocumentHeader guibg=#F2F2F2 ctermbg=7 + +" CSS: {{{1 +hi cssTagName gui=bold +hi cssIdentifier gui=italic +hi link cssClassName cssIdentifier +hi cssDefinition guifg=#6E79F1 ctermfg=69 +hi link cssRenderProp cssDefinition +hi link cssTextProp cssDefinition +hi link cssFontProp cssDefinition +hi link cssColorProp cssDefinition +hi link cssBoxProp cssDefinition +hi link cssGeneratedContentProp cssDefinition +hi link cssUIProp cssDefinition +hi cssCommonAttr guifg=#00BC41 ctermfg=35 +hi link cssAttr cssCommonAttr +hi link cssRenderAttr cssCommonAttr +hi link cssTextAttr cssCommonAttr +hi link cssFontAttr cssCommonAttr +hi link cssGeneratedContentAttr cssCommonAttr +hi cssURL guifg=#007B22 ctermfg=28 +hi cssFunctionName guifg=#3C4C72 ctermfg=240 gui=bold +hi cssColor guifg=#D51015 ctermfg=160 gui=bold +hi cssValueLength guifg=#0000A2 ctermfg=19 +hi cssImportant guifg=#1E39F6 ctermfg=27 gui=bold + +" Vimscript: {{{1 +hi vimGroup guifg=#007B22 ctermfg=28 gui=bold +hi link vimHiGroup vimGroup +hi vimCommentTitle guifg=#3C4C72 ctermfg=240 gui=bold +hi helpSpecial guifg=#6E79F1 ctermfg=69 + +" Markdown: {{{1 +hi markdownBold gui=bold +hi markdownItalic gui=italic +hi markdownCode guifg=#007B22 ctermfg=28 +hi link markdownCodeBlock markdownCode + +" Outliner: {{{1 +hi BT1 guifg=#808080 ctermfg=244 gui=italic +hi OL1 guifg=#000000 ctermfg=0 gui=bold +hi OL2 guifg=#0000A2 ctermfg=19 gui=bold +hi OL3 guifg=#007B22 ctermfg=28 gui=bold +hi OL4 guifg=#6E79F1 ctermfg=69 gui=NONE +" Modelines: {{{1 +" vim: nowrap fdm=marker +" }}} diff --git a/public/.config/nvim/ftplugin/tex.vim b/public/.config/nvim/ftplugin/tex.vim new file mode 100644 index 0000000..e005eb1 --- /dev/null +++ b/public/.config/nvim/ftplugin/tex.vim @@ -0,0 +1 @@ +nnoremap <buffer> <F6> :!build-latex.sh %<CR> diff --git a/public/.config/nvim/init.vim b/public/.config/nvim/init.vim new file mode 100644 index 0000000..c6d2bb3 --- /dev/null +++ b/public/.config/nvim/init.vim @@ -0,0 +1,193 @@ +" NeoVim init.vim +" +" Differences with good ol' Vim: +" +" NeoVim has so many of the modern and helpful Vim options on by default. I'll +" remove most of the old Vim configurations that now come by default in NeoVim. +" +" Also NeoVim uses XDG directories by default, keeping a clean directory tree. +" +" NeoVim also allows for this file to be written in Lua. I'll stick to using +" Vim script becuase it has more documentation and is more concise configuring +" Vim options. +" +" Instead of viminfo, NeoVim uses shada files (SHared DAta) (different format). +" See shada-file-name. +" +" For some reason, as of version v0.8.3 of NeoVim, Vim internal codes for shift- +" and control- function keys change in NeoVim. <S-F1> changes to <F13>, and +" <C-F1> changes to <F25>. See https://github.com/neovim/neovim/issues/7384 +" +" Plugins: There are a lot of ways to install "plug-in"s in Vim. My prefered +" way is using Vim packages, available since Vim version 8. See packages. +" +" Tips: +" * To show navigate help files: +" K " while on an option to see it's documentation +" CTRL-] " navigation while on a Vim help file +" * To re-indent: +" tab->spaces :set tabstop=n :set expandtab :retab +" spaces->tab :set noexpandtab :set tabstop={softtabstop} :retab! +" * To justify: +" To 'justify' comments or block of text (paragraph) use `gq{motion}` or +" `gp{motion}`, where {motion} can be `[/`, `]/`, `ip`, `i{`, `a{`. +" * To see the last page of previous command: +" `g<` +" * Buffer stuff: +" :ls " shows all buffers +" :b N " Go to buffer N (integer) + + +" Settings +" ---------------------------------------------------------------------- + +" Common +colorscheme industry +filetype plugin on + +" Command line: +set cmdheight=1 +set wildmenu +set wildignore+=*.o,.git,*.class +set path+=./**30 " For gf and :find, add all subdirectories relative to + " current file (30 max) to the "search space" + +" Search +set ignorecase +set smartcase + +" Screen +set nonumber +set scrolloff=5 " show a few lines of context +set colorcolumn=+1 " show ruler at position tabstop+1 +set laststatus=2 +" Add buffer number to the default status line with ruler +set statusline=%<%f\ %h%m%r%=b%02n\ \ %-14.(%l,%c%V%)\ %P + +" TODO: move to ftplugin +" TODO: create tags automatically (:!ctags -R . after :w if ft=c) +" Tag Jumping +" Instructions: create tag index (e.g. $ ctags -R .) +" place cursor on tag +" ^] to jump to definition +" g^] if more than 1 definition +" ^T to return (or ^O) + +"set cindent +"set cinoptions=:0,g0 " See C-indenting + + +" Indentation: 4 spaces +" See also: autoindent, smartindent, cindent, indentexpr +set tabstop=4 " Each '\t' takes 8 virtual (screen) columns +set shiftwidth=0 " (Auto)indentation. Also affects: >>, i_C-T, i_C-D +set expandtab " Expand inserted <Tab>s with <Space> +set smartindent " Smart indenting when starting a new line + +" Formatting: See fo-table +set formatoptions+=t " auto-wrap text (when inserting) +set formatoptions+=c " auto-wrap comments (when inserting) +set formatoptions+=q " Allow formatting of comments with "gq" +set formatoptions+=j " Removes comment leader when joining lines +set formatoptions+=l " Don't break long lines that are already typed +set formatoptions+=r " Insert current leader after <Enter> in Insert mode +set formatoptions+=p " Don't break honorifics like Prof. Smith +set formatoptions+=n " Recognize numbered lists +set formatoptions+=o " Automatically insert the current comment + " leader after `o`. + +" Wrap: Auto-break lines longer than 80 colums +set textwidth=80 +set wrap +set linebreak " Don't break words + +" Mouse +set mouse=a " Enable mouse for all modes + +" Buffers +set hidden " Allow for hidden modified buffers + +" Split +set splitbelow splitright + + +" Mappings +" ---------------------------------------------------------------------- + +let $VIMFILES = split(&rtp, ",")[0] + +map <F5> :source $VIMFILES/init.vim<CR> +map <F17> :e $VIMFILES/init.vim<CR> + +map <F7> :tabp<CR> +map <F8> :tabn<CR> +map <F19> :bNext<LF> +map <F20> :bnext<LF> + +" TODO: move to ftplugin +" C/C++ Programming: +map <F6> :w<CR>:!clear && make<CR> +"map <F10> :!./%:r<CR> +"map <F10> :!./a.out<CR> +map <F11> :cnext<CR> +map <S-F11> :cprev<CR> +" "Run cTags" +map <Leader>rt :!ctags -R .<CR> +map <C-\> :tnext<CR> +" Motion to go to beggining of function while cursor is inside +nmap [f [m[{k0 + +" pandoc (& website): +nnoremap mm :w<CR>:Md2Html<CR><CR><CR> +nmap mM mm:!updatewebsite_zaz<CR><CR> + +" asciidoctor: +nnoremap ma :w<CR>:!asciidoctor %<CR><CR> +nmap mA ma:!updatewebsite.sh<CR><CR> + +" Funcionallity of the following depends on terminal emulator. Needs 8-bit +" input enabled +" for <Meta> = Alt key combos +" From: https://vim.fandom.com/wiki/Get_Alt_key_to_work_in_terminal +nmap <M-H> <C-W>h +nmap <M-J> <C-W>j +nmap <M-K> <C-W>k +nmap <M-L> <C-W>l + +" Go Title Case (and clear highlighted matches) +" Ref.: https://vim.fandom.com +vmap gt :s/\<\(\w\)\(\w*\)\>/\u\1\L\2/g<CR><C-L> + +" Autoformat JSON jumbled data +" Ref.: https://stackoverflow.com/questions/26214156/how-to-auto-format-json-on-save-in-vim +nnoremap gJ :%!python3 -m json.tool<CR> + +" Replaces previous WORD arithmetic expression with result (from Vim +" fandom-wiki) +inoremap <C-A> <Esc>diWi<C-R>=<C-R>"<CR> + + +" Views and Sessions (Window layout and Line folding) +" ---------------------------------------------------------------------- +" It is possible to create folds automatically but idk how to do it. +" :mkview so save them :loadview to load them (zo open one, zc close one, +" zR to open all, zM to close all, zx to restore)) + +" Views saves folds. Sessions saves all windows configuration and layout +" Load Sessions with $ vim -S Session.vim + +" To automatically save and restore views for *.c *.cpp files: +"au BufWinLeave *.c mkview +"au BufWinEnter *.c silent loadview +"au BufWinLeave *.cpp mkview +"au BufWinEnter *.cpp silent loadview + + +" Playground +" ---------- +"autocmd FileType tex nnoremap <buffer> <F6> :!./build.sh %<CR> + +"augroup TeX +" autocmd! +" autocmd BufWritePost *.tex !./build.sh % +"augroup END diff --git a/public/.config/nvim/pack/mitsuo/Readme.txt b/public/.config/nvim/pack/mitsuo/Readme.txt new file mode 100644 index 0000000..a9e88cd --- /dev/null +++ b/public/.config/nvim/pack/mitsuo/Readme.txt @@ -0,0 +1 @@ +Vim plugins I use go here. diff --git a/public/.config/nvim/pack/mitsuo/start/fun/Readme.txt b/public/.config/nvim/pack/mitsuo/start/fun/Readme.txt new file mode 100644 index 0000000..2f41d59 --- /dev/null +++ b/public/.config/nvim/pack/mitsuo/start/fun/Readme.txt @@ -0,0 +1 @@ +My special functions :) diff --git a/public/.config/nvim/pack/mitsuo/start/fun/plugin/fun.vim b/public/.config/nvim/pack/mitsuo/start/fun/plugin/fun.vim new file mode 100644 index 0000000..c992f93 --- /dev/null +++ b/public/.config/nvim/pack/mitsuo/start/fun/plugin/fun.vim @@ -0,0 +1,121 @@ +" To call functions use `:call foo()` + +" Echoes longest line number and lenght. +function! LongestLineLength ( ) + let maxlength = 0 + let linenumber= 1 + while linenumber <= line("$") + exe ":".linenumber + let linelength = virtcol("$") + if maxlength < linelength + let maxlength = linelength + let maxlinenumber = linenumber + endif + let linenumber = linenumber+1 + endwhile + +"exe ':0' +"exe 'normal O' +"exe 'normal 0C'.maxlength + exe "normal" . maxlinenumber . "G" + exe ":echo \"" . maxlinenumber . ": " . maxlength . "\"" +endfunction + +command LongestLineLength call LongestLineLength() + + +" Save markdown document and export to pdf using pandoc. +" +" It would be nicer if a default document would be used but I coulnd't made it +" to work even after reading that manual section like 2 times. Also, there are +" variables that are lists of other variables that I don't know how to make them +" work (e.g. geometry=[top=1in, bottom=1in, heightrounded]) +function! Md2Pdf ( ) + exe ":w" + "-N for numbered headers + exe ":! pandoc -o \"" . expand("%:r") . ".pdf\" -t latex --variable classoption=twosides --variable papersize=a4 --variable margin-left=1in --variable margin-right=1in --variable margin-top=1in --variable margin-bottom=1in --variable links-as-notes --variable colorlinks --variable pagestyle=plain --variable documentclass=article -f markdown-implicit_figures \"" . expand("%") . "\"" + echo "pdf saved as \"" . expand("%:p:r") . ".pdf\"" +endfunction + +function! Md2Pdfms ( ) + exe ":w" + exe ":! pandoc -o " . expand("%:r") . ".pdf" . " -t ms -f markdown-implicit_figures \"" . expand("%") . "\"" + echo "pdf saved as " . expand("%:p:r") . ".pdf" +endfunction + +command Md2Pdf call Md2Pdf() +command Md2Pdfms call Md2Pdfms() + + +" Save markdown document and export to html using pandoc +function! Md2Html ( ) + exe ":w" + "exe ":! pandoc -s --toc -H ~/mahcode/markdown/pandoc/pandoc_style.html --highlight-style tango -o \"" . expand("%:r") . ".html\"" . " \"" . expand("%") . "\"" + exe ":! pandoc --highlight-style tango -o \"" . expand("%:r") . ".html\"" . " \"" . expand("%") . "\"" + echo "html saved as " . expand("%:p:r") . ".html" +endfunction + +command Md2Html call Md2Html() + +" Save markdown as ODT file (.docx is also possible) +function! Md2Odt ( ) + exe ":w" + exe ":! pandoc -s --toc -H ~/mahcode/markdown/pandoc/pandoc_style.html --highlight-style tango -o \"" . expand("%:r") . ".odt\"" . " \"" . expand("%") . "\"" + echo "ODT saved as " . expand("%:p:r") . ".odt" +endfunction + +command Md2Odt call Md2Odt() + + +" Compiles and Runs a C++ project +" TODO: how to add program's arguments or file redirectioning from command. +function! CompRunProj ( ) + exe ":w" + exe ":! g++ -o " . expand("%:r") . "-g *.cpp" + exe ":! ./" . expand("%:r") +endfunction + +command CompRunProj call CompRunProj() + + +" Function made to give feedback to students code in 1INF01 +" export C code to syntax highlighted pdf +function! C2Pdf ( ) + exe ":set ts=4" + exe ":w" + exe ":ha > %.ps" + exe ":!ps2pdf %.ps" + exe ":!rm %.ps" +endfunction + + +" For printing first export to html and then print using web browser +" Ref.: https://vi.stackexchange.com/questions/12058/printing-unicode-chars +function! ExportHTML (colorscheme="quiet", bg="light") + " Nice colorschemes for printing on paper: quiet, morning, mac_classic + let s:prev_color = g:colors_name + let s:prev_bg = &background + exe "colorscheme" a:colorscheme + exe "set bg=" . a:bg + + exe "TOhtml | w | !xdg-open %" + echo "html export saved as " . expand('%:p') + exe "bd" + + exe "colorscheme" s:prev_color + exe "set bg=" . s:prev_bg +endfunction + +command ExportHTML call ExportHTML() + +" C++ +" Formatting +" Ref.: https://clang.llvm.org/docs/ClangFormat.html +map <C-K> :pyf /usr/share/clang/clang-format.py<cr> +"imap <C-K> <c-o>:py3f /usr/share/clang/clang-format.py<cr> + +"function! Formatonsave() +" let l:formatdiff = 1 +" pyf /usr/share/clang/clang-format.py +"endfunction +"autocmd BufWritePre *.h,*.hpp,*.cc,*.cpp call Formatonsave() diff --git a/public/.config/nvim/pack/mitsuo/start/vim-commentary b/public/.config/nvim/pack/mitsuo/start/vim-commentary new file mode 160000 +Subproject e87cd90dc09c2a203e13af9704bd0ef79303d75 |
