" Vim global plugin for extending lines (e.g., underlined titles). if exists('g:loaded_extline') finish endif let g:loaded_extline = 1 " Save 'cpoptions' and set Vim default to enable line continuations. let s:save_cpoptions = &cpoptions set cpoptions&vim xnoremap :call extline#autoTitle()^ inoremap u:call extline#autoTitle() xnoremap :call extline#makeHline()^ inoremap u:call extline#makeHline() xnoremap :call extline#makeTitle("", 0, 1)^ xnoremap :call extline#makeTitle("", 1, 0)^ xnoremap :call extline#makeTitle("", 1, 1)^ xnoremap 1 :call extline#makeTitle("=", 0, 1)^ xnoremap = :call extline#makeTitle("=", 0, 1)^ xnoremap 2 :call extline#makeTitle("-", 0, 1)^ xnoremap - :call extline#makeTitle("-", 0, 1)^ xnoremap 3 :call extline#makeTitle("^", 0, 1)^ xnoremap ^ :call extline#makeTitle("^", 0, 1)^ xnoremap 4 :call extline#makeTitle('"', 0, 1)^ xnoremap " :call extline#makeTitle('"', 0, 1)^ xnoremap 5 :call extline#makeTitle("'", 0, 1)^ xnoremap ' :call extline#makeTitle("'", 0, 1)^ xnoremap 9 :call extline#makeTitle("#", 1, 1)^ xnoremap # :call extline#makeTitle("#", 1, 1)^ xnoremap 0 :call extline#makeTitle("*", 1, 1)^ xnoremap * :call extline#makeTitle("*", 1, 1)^ " Undo-break via CTRL-G u. inoremap u:call extline#makeTitle("", 1, 1) inoremap u:call extline#makeTitle("", 1, 0) inoremap u:call extline#makeTitle("", 0, 1) inoremap 1 u:call extline#makeTitle("=", 0, 1) inoremap = u:call extline#makeTitle("=", 0, 1) inoremap 2 u:call extline#makeTitle("-", 0, 1) inoremap - u:call extline#makeTitle("-", 0, 1) inoremap 3 u:call extline#makeTitle("^", 0, 1) inoremap ^ u:call extline#makeTitle("^", 0, 1) inoremap 4 u:call extline#makeTitle('"', 0, 1) inoremap " u:call extline#makeTitle('"', 0, 1) inoremap 5 u:call extline#makeTitle("'", 0, 1) inoremap ' u:call extline#makeTitle("'", 0, 1) inoremap 9 u:call extline#makeTitle("#", 1, 1) inoremap # u:call extline#makeTitle("#", 1, 1) inoremap 0 u:call extline#makeTitle("*", 1, 1) inoremap * u:call extline#makeTitle("*", 1, 1) " Restore saved 'cpoptions'. let &cpoptions = s:save_cpoptions finish " ---------------------------------------------------------------------------- Types of single lines of text ----------------------------- - Monoline: - Start of line - Optional leading whitespace - One or more identical non-alphanumeric non-white characters, c - Optional trailing whitespace - End of line - Genline: prefix postfix postfix might contain optional column number - Start of line - Optional leading whitespace - Optional prefix with final character, L - One or more identical non-white characters, c, with c != L - Optional suffix with first character, R, with R != c - Optional white (ignored) - Optional integer column number -------------------------------- - Title: - Non-blank Title types ----------- - NoTitle: - BareTitle:: Title - UnderTitle:: Title ===== - OverTitle:: ===== Title - OverUnderTitle:: ===== Title ===== HLine types ----------- ============================= /**************************** ****************************/ /***************************/ # --------------------------- # --------------------------- # " vim: sts=4 sw=4 tw=80 et ai: