mirror of https://github.com/akelge/zsh
parent
bfbaa2149d
commit
f7c35d77ef
|
@ -1,7 +1,7 @@
|
||||||
conque_2.0.vba: call delete('/Users/andre/.vim/doc/conque_term.txt')|call delete('/Users/andre/.vim/syntax/conque_term.vim')|call delete('/Users/andre/.vim/autoload/conque_term/conque_screen.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_win32_util.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_shared_memory.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_wrapper.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_communicator.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_globals.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_subprocess.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_subprocess.py')|call delete('/Users/andre/.vim/autoload/conque_term.vim')|call delete('/Users/andre/.vim/plugin/conque_term.vim')
|
conque_2.0.vba: call delete('/Users/andre/.vim/doc/conque_term.txt')|call delete('/Users/andre/.vim/syntax/conque_term.vim')|call delete('/Users/andre/.vim/autoload/conque_term/conque_screen.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_win32_util.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_shared_memory.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_wrapper.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_communicator.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_globals.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_subprocess.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_subprocess.py')|call delete('/Users/andre/.vim/autoload/conque_term.vim')|call delete('/Users/andre/.vim/plugin/conque_term.vim')
|
||||||
conqueterm_2.2.vmb: call delete('/Users/andre/.vim/autoload/conque_term.vim')|call delete('/Users/andre/.vim/autoload/conque_term/conque_globals.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_screen.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_communicator.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_shared_memory.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_subprocess.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_wrapper.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_subprocess.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_win32_util.py')|call delete('/Users/andre/.vim/doc/conque_term.txt')|call delete('/Users/andre/.vim/plugin/conque_term.vim')|call delete('/Users/andre/.vim/syntax/conque_term.vim')
|
conqueterm_2.2.vmb: call delete('/Users/andre/.vim/autoload/conque_term.vim')|call delete('/Users/andre/.vim/autoload/conque_term/conque_globals.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_screen.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_communicator.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_shared_memory.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_subprocess.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_sole_wrapper.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_subprocess.py')|call delete('/Users/andre/.vim/autoload/conque_term/conque_win32_util.py')|call delete('/Users/andre/.vim/doc/conque_term.txt')|call delete('/Users/andre/.vim/plugin/conque_term.vim')|call delete('/Users/andre/.vim/syntax/conque_term.vim')
|
||||||
Align.vba: call delete('/Users/andre/.vim/plugin/AlignPlugin.vim')|call delete('/Users/andre/.vim/plugin/AlignMapsPlugin.vim')|call delete('/Users/andre/.vim/plugin/cecutil.vim')|call delete('/Users/andre/.vim/doc/Align.txt')|call delete('/Users/andre/.vim/autoload/Align.vim')|call delete('/Users/andre/.vim/autoload/AlignMaps.vim')
|
|
||||||
cecutil.vba: call delete('/Users/andre/.vim/plugin/cecutil.vim')|call delete('/Users/andre/.vim/doc/cecutil.txt')
|
cecutil.vba: call delete('/Users/andre/.vim/plugin/cecutil.vim')|call delete('/Users/andre/.vim/doc/cecutil.txt')
|
||||||
getscript.vba: call delete('/Users/andre/.vim/plugin/getscriptPlugin.vim')|call delete('/Users/andre/.vim/autoload/getscript.vim')|call delete('/Users/andre/.vim/GetLatest/GetLatestVimScripts.dist')|call delete('/Users/andre/.vim/doc/pi_getscript.txt')
|
getscript.vba: call delete('/Users/andre/.vim/plugin/getscriptPlugin.vim')|call delete('/Users/andre/.vim/autoload/getscript.vim')|call delete('/Users/andre/.vim/GetLatest/GetLatestVimScripts.dist')|call delete('/Users/andre/.vim/doc/pi_getscript.txt')
|
||||||
textformat.vba: call delete('/Users/andre/.vim/autoload/textformat.vim')|call delete('/Users/andre/.vim/doc/textformat.txt')|call delete('/Users/andre/.vim/plugin/textformat.vim')
|
textformat.vba: call delete('/Users/andre/.vim/autoload/textformat.vim')|call delete('/Users/andre/.vim/doc/textformat.txt')|call delete('/Users/andre/.vim/plugin/textformat.vim')
|
||||||
open_terminal.vba: call delete('/Users/andre/.vim/plugin/open_terminal.vim')|call delete('/Users/andre/.vim/doc/open_terminal.txt')
|
open_terminal.vba: call delete('/Users/andre/.vim/plugin/open_terminal.vim')|call delete('/Users/andre/.vim/doc/open_terminal.txt')
|
||||||
|
Align.vba: call delete('/Users/andre/.vim/plugin/AlignPlugin.vim')|call delete('/Users/andre/.vim/plugin/AlignMapsPlugin.vim')|call delete('/Users/andre/.vim/plugin/cecutil.vim')|call delete('/Users/andre/.vim/doc/Align.txt')|call delete('/Users/andre/.vim/autoload/Align.vim')|call delete('/Users/andre/.vim/autoload/AlignMaps.vim')
|
||||||
|
|
|
@ -2,7 +2,7 @@ ScriptID SourceID Filename
|
||||||
--------------------------
|
--------------------------
|
||||||
910 18164 :AutoInstall: pydoc.vim
|
910 18164 :AutoInstall: pydoc.vim
|
||||||
2771 16279 :AutoInstall: conque_term.vim
|
2771 16279 :AutoInstall: conque_term.vim
|
||||||
294 18148 :AutoInstall: Align.vim
|
294 19633 :AutoInstall: Align.vim
|
||||||
1066 7618 :AutoInstall: cecutil.vim
|
1066 7618 :AutoInstall: cecutil.vim
|
||||||
642 15781 :AutoInstall: getscript.vim
|
642 15781 :AutoInstall: getscript.vim
|
||||||
2324 9247 :AutoInstall: TextFormat
|
2324 9247 :AutoInstall: TextFormat
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
" Align: tool to align multiple fields based on one or more separators
|
" Align: tool to align multiple fields based on one or more separators
|
||||||
" Author: Charles E. Campbell, Jr.
|
" Author: Charles E. Campbell
|
||||||
" Date: Jun 18, 2012
|
" Date: Mar 12, 2013
|
||||||
" Version: 36
|
" Version: 37
|
||||||
" GetLatestVimScripts: 294 1 :AutoInstall: Align.vim
|
" GetLatestVimScripts: 294 1 :AutoInstall: Align.vim
|
||||||
" GetLatestVimScripts: 1066 1 :AutoInstall: cecutil.vim
|
" GetLatestVimScripts: 1066 1 :AutoInstall: cecutil.vim
|
||||||
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell, Jr. {{{1
|
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1
|
||||||
" Permission is hereby granted to use and distribute this code,
|
" Permission is hereby granted to use and distribute this code,
|
||||||
" with or without modifications, provided that this copyright
|
" with or without modifications, provided that this copyright
|
||||||
" notice is copied with it. Like anything else that's free,
|
" notice is copied with it. Like anything else that's free,
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
if exists("g:loaded_Align") || &cp
|
if exists("g:loaded_Align") || &cp
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let g:loaded_Align = "v36"
|
let g:loaded_Align = "v37"
|
||||||
if v:version < 700
|
if v:version < 700
|
||||||
echohl WarningMsg
|
echohl WarningMsg
|
||||||
echo "***warning*** this version of Align needs vim 7.0"
|
echo "***warning*** this version of Align needs vim 7.0"
|
||||||
|
@ -43,7 +43,11 @@ set cpo&vim
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" Options: {{{1
|
" Options: {{{1
|
||||||
if !exists("g:Align_xstrlen")
|
if !exists("g:Align_xstrlen")
|
||||||
if &enc == "latin1" || $LANG == "en_US.UTF-8" || !has("multi_byte")
|
if exists("g:drawit_xstrlen")
|
||||||
|
let g:Align_xstrlen= g:drawit_xstrlen
|
||||||
|
elseif exists("g:netrw_xstrlen")
|
||||||
|
let g:Align_xstrlen= g:netrw_xstrlen
|
||||||
|
elseif &enc == "latin1" || !has("multi_byte")
|
||||||
let g:Align_xstrlen= 0
|
let g:Align_xstrlen= 0
|
||||||
else
|
else
|
||||||
let g:Align_xstrlen= 1
|
let g:Align_xstrlen= 1
|
||||||
|
@ -529,19 +533,19 @@ fun! Align#Align(hasctrl,...) range
|
||||||
" call Decho(" ")
|
" call Decho(" ")
|
||||||
" call Decho("---- Pass ".pass.": ----")
|
" call Decho("---- Pass ".pass.": ----")
|
||||||
|
|
||||||
let line= begline
|
let curline= begline
|
||||||
while line <= endline
|
while curline <= endline
|
||||||
" Process each line
|
" Process each line
|
||||||
let txt = getline(line)
|
let txt = getline(curline)
|
||||||
" call Decho(" ")
|
" call Decho(" ")
|
||||||
" call Decho("Pass".pass.": Line ".line." <".txt.">")
|
" call Decho("Pass".pass.": Line ".curline." <".txt.">")
|
||||||
|
|
||||||
" AlignGPat support: allows a selector pattern (akin to g/selector/cmd )
|
" AlignGPat support: allows a selector pattern (akin to g/selector/cmd )
|
||||||
if exists("s:AlignGPat")
|
if exists("s:AlignGPat")
|
||||||
" call Decho("Pass".pass.": AlignGPat<".s:AlignGPat.">")
|
" call Decho("Pass".pass.": AlignGPat<".s:AlignGPat.">")
|
||||||
if match(txt,s:AlignGPat) == -1
|
if match(txt,s:AlignGPat) == -1
|
||||||
" call Decho("Pass".pass.": skipping")
|
" call Decho("Pass".pass.": skipping")
|
||||||
let line= line + 1
|
let curline= curline + 1
|
||||||
continue
|
continue
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
@ -551,7 +555,7 @@ fun! Align#Align(hasctrl,...) range
|
||||||
" call Decho("Pass".pass.": AlignVPat<".s:AlignVPat.">")
|
" call Decho("Pass".pass.": AlignVPat<".s:AlignVPat.">")
|
||||||
if match(txt,s:AlignVPat) != -1
|
if match(txt,s:AlignVPat) != -1
|
||||||
" call Decho("Pass".pass.": skipping")
|
" call Decho("Pass".pass.": skipping")
|
||||||
let line= line + 1
|
let curline= curline + 1
|
||||||
continue
|
continue
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
@ -559,12 +563,12 @@ fun! Align#Align(hasctrl,...) range
|
||||||
" Always skip blank lines
|
" Always skip blank lines
|
||||||
if match(txt,'^\s*$') != -1
|
if match(txt,'^\s*$') != -1
|
||||||
" call Decho("Pass".pass.": skipping")
|
" call Decho("Pass".pass.": skipping")
|
||||||
let line= line + 1
|
let curline= curline + 1
|
||||||
continue
|
continue
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Extract visual-block selected text (init bgntxt, endtxt)
|
" Extract visual-block selected text (init bgntxt, endtxt)
|
||||||
let txtlen= s:Strlen(txt)
|
let txtlen= s:Strlen(txt)
|
||||||
if begcol > 0
|
if begcol > 0
|
||||||
" Record text to left of selected area
|
" Record text to left of selected area
|
||||||
let bgntxt= strpart(txt,0,begcol)
|
let bgntxt= strpart(txt,0,begcol)
|
||||||
|
@ -655,7 +659,7 @@ fun! Align#Align(hasctrl,...) range
|
||||||
if alignop == '*' && exists("g:AlignSkip") && type(g:AlignSkip) == 2
|
if alignop == '*' && exists("g:AlignSkip") && type(g:AlignSkip) == 2
|
||||||
" call Decho("Pass".pass.": endfield=match(txt<".txt.">,seppat<".seppat.">,bgnfield=".bgnfield.")=".endfield." alignop=".alignop)
|
" call Decho("Pass".pass.": endfield=match(txt<".txt.">,seppat<".seppat.">,bgnfield=".bgnfield.")=".endfield." alignop=".alignop)
|
||||||
" a '*' acts like a '-' while the g:AlignSkip function reference is true except that alignop doesn't advance
|
" a '*' acts like a '-' while the g:AlignSkip function reference is true except that alignop doesn't advance
|
||||||
while g:AlignSkip(line,endfield) && endfield != -1
|
while g:AlignSkip(curline,endfield) && endfield != -1
|
||||||
let endfield = match(txt,seppat,skipfield)
|
let endfield = match(txt,seppat,skipfield)
|
||||||
let sepfield = matchend(txt,seppat,skipfield)
|
let sepfield = matchend(txt,seppat,skipfield)
|
||||||
let skipfield = sepfield
|
let skipfield = sepfield
|
||||||
|
@ -688,22 +692,20 @@ fun! Align#Align(hasctrl,...) range
|
||||||
let field = bgntxt.field
|
let field = bgntxt.field
|
||||||
let bgntxt= ""
|
let bgntxt= ""
|
||||||
endif
|
endif
|
||||||
let fieldlen = s:Strlen(field)
|
let fieldlen= s:Strlen(field)
|
||||||
let sFieldSize = "FieldSize_".ifield
|
if !exists("FieldSize_{ifield}")
|
||||||
if !exists(sFieldSize)
|
|
||||||
let FieldSize_{ifield}= fieldlen
|
let FieldSize_{ifield}= fieldlen
|
||||||
" call Decho("Pass".pass.": set FieldSize_{".ifield."}=".FieldSize_{ifield}." <".field.">")
|
" call Decho("Pass".pass.": set FieldSize_{".ifield."}=".FieldSize_{ifield}." <".field."> (init)")
|
||||||
elseif fieldlen > FieldSize_{ifield}
|
elseif fieldlen > FieldSize_{ifield}
|
||||||
let FieldSize_{ifield}= fieldlen
|
let FieldSize_{ifield}= fieldlen
|
||||||
" call Decho("Pass".pass.": oset FieldSize_{".ifield."}=".FieldSize_{ifield}." <".field.">")
|
" call Decho("Pass".pass.": set FieldSize_{".ifield."}=".FieldSize_{ifield}." <".field."> (fieldlen>FieldSize_".ifield.")")
|
||||||
endif
|
endif
|
||||||
let sSepSize= "SepSize_".ifield
|
if !exists("SepSize_{ifield}")
|
||||||
if !exists(sSepSize)
|
|
||||||
let SepSize_{ifield}= seplen
|
let SepSize_{ifield}= seplen
|
||||||
" call Decho(" set SepSize_{".ifield."}=".SepSize_{ifield}." <".field.">")
|
" call Decho("Pass".pass.": set SepSize_{".ifield."}=".SepSize_{ifield}." <".field."> (init)")
|
||||||
elseif seplen > SepSize_{ifield}
|
elseif seplen > SepSize_{ifield}
|
||||||
let SepSize_{ifield}= seplen
|
let SepSize_{ifield}= seplen
|
||||||
" call Decho("Pass".pass.": oset SepSize_{".ifield."}=".SepSize_{ifield}." <".field.">")
|
" call Decho("Pass".pass.": set SepSize_{".ifield."}=".SepSize_{ifield}." <".field."> (seplen>SepSize_".ifield.")")
|
||||||
endif
|
endif
|
||||||
|
|
||||||
else
|
else
|
||||||
|
@ -714,6 +716,8 @@ fun! Align#Align(hasctrl,...) range
|
||||||
let alignprepad = strpart(alignprepad,1).strpart(alignprepad,0,1)
|
let alignprepad = strpart(alignprepad,1).strpart(alignprepad,0,1)
|
||||||
let alignpostpad = strpart(alignpostpad,1).strpart(alignpostpad,0,1)
|
let alignpostpad = strpart(alignpostpad,1).strpart(alignpostpad,0,1)
|
||||||
let field = substitute(strpart(txt,bgnfield,endfield-bgnfield),'^\s*\(.\{-}\)\s*$','\1','')
|
let field = substitute(strpart(txt,bgnfield,endfield-bgnfield),'^\s*\(.\{-}\)\s*$','\1','')
|
||||||
|
" call Decho("Pass".pass.": alignprepad <".alignprepad."> prepad =".prepad)
|
||||||
|
" call Decho("Pass".pass.": alignpostpad<".alignpostpad."> postpad=".postpad)
|
||||||
if s:AlignLeadKeep == 'W'
|
if s:AlignLeadKeep == 'W'
|
||||||
let field = bgntxt.field
|
let field = bgntxt.field
|
||||||
let bgntxt= ""
|
let bgntxt= ""
|
||||||
|
@ -724,21 +728,26 @@ fun! Align#Align(hasctrl,...) range
|
||||||
endif
|
endif
|
||||||
let fieldlen = s:Strlen(field)
|
let fieldlen = s:Strlen(field)
|
||||||
let sep = s:MakeSpace(prepad).strpart(txt,endfield,sepfield-endfield).s:MakeSpace(postpad)
|
let sep = s:MakeSpace(prepad).strpart(txt,endfield,sepfield-endfield).s:MakeSpace(postpad)
|
||||||
|
" call Decho("Pass".pass.": sep<".sep."> (after prepad, sepfield-endfield,postpad)")
|
||||||
if seplen < SepSize_{ifield}
|
if seplen < SepSize_{ifield}
|
||||||
if alignsepop == "<"
|
if alignsepop == "<"
|
||||||
" left-justify separators
|
" left-justify separators
|
||||||
let sep = sep.s:MakeSpace(SepSize_{ifield}-seplen)
|
let sep = sep.s:MakeSpace(SepSize_{ifield}-seplen)
|
||||||
|
" call Decho("Pass".pass.": sep<".sep."> (left-justified)")
|
||||||
elseif alignsepop == ">"
|
elseif alignsepop == ">"
|
||||||
" right-justify separators
|
" right-justify separators
|
||||||
let sep = s:MakeSpace(SepSize_{ifield}-seplen).sep
|
let sep = s:MakeSpace(SepSize_{ifield}-seplen).sep
|
||||||
|
" call Decho("Pass".pass.": sep<".sep."> (right-justified)")
|
||||||
else
|
else
|
||||||
" center-justify separators
|
" center-justify separators
|
||||||
let sepleft = (SepSize_{ifield} - seplen)/2
|
let sepleft = (SepSize_{ifield} - seplen)/2
|
||||||
let sepright = SepSize_{ifield} - seplen - sepleft
|
let sepright = SepSize_{ifield} - seplen - sepleft
|
||||||
let sep = s:MakeSpace(sepleft).sep.s:MakeSpace(sepright)
|
let sep = s:MakeSpace(sepleft).sep.s:MakeSpace(sepright)
|
||||||
|
" call Decho("Pass".pass.": sep<".sep."> (center-justified)")
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
let spaces = FieldSize_{ifield} - fieldlen
|
let spaces = FieldSize_{ifield} - fieldlen
|
||||||
|
" call Decho("Pass".pass.": spaces=[FieldSize_".ifield."=".FieldSize_{ifield}."] - [fieldlen=".fieldlen."]=".spaces)
|
||||||
" call Decho("Pass".pass.": Field #".ifield."<".field."> spaces=".spaces." be[".bgnfield.",".endfield."] pad=".prepad.','.postpad." FS_".ifield."<".FieldSize_{ifield}."> sep<".sep."> ragged=".ragged." doend=".doend." alignop<".alignop.">")
|
" call Decho("Pass".pass.": Field #".ifield."<".field."> spaces=".spaces." be[".bgnfield.",".endfield."] pad=".prepad.','.postpad." FS_".ifield."<".FieldSize_{ifield}."> sep<".sep."> ragged=".ragged." doend=".doend." alignop<".alignop.">")
|
||||||
|
|
||||||
" Perform alignment according to alignment style justification
|
" Perform alignment according to alignment style justification
|
||||||
|
@ -786,18 +795,20 @@ fun! Align#Align(hasctrl,...) range
|
||||||
|
|
||||||
if pass == 2
|
if pass == 2
|
||||||
" Write altered line to buffer
|
" Write altered line to buffer
|
||||||
" call Decho("Pass".pass.": bgntxt<".bgntxt."> line=".line)
|
" call Decho("Pass".pass.": bgntxt<".bgntxt."> curline=".curline)
|
||||||
" call Decho("Pass".pass.": newtxt<".newtxt.">")
|
" call Decho("Pass".pass.": newtxt<".newtxt.">")
|
||||||
" call Decho("Pass".pass.": endtxt<".endtxt.">")
|
" call Decho("Pass".pass.": endtxt<".endtxt.">")
|
||||||
keepj call setline(line,bgntxt.newtxt.endtxt)
|
keepj call setline(curline,bgntxt.newtxt.endtxt)
|
||||||
endif
|
endif
|
||||||
|
" call Decho("Pass".pass.": line#".curline."<".getline(".")."> (end-of-while)")
|
||||||
|
|
||||||
let line = line + 1
|
let curline = curline + 1
|
||||||
endwhile " line loop
|
endwhile " curline loop
|
||||||
|
|
||||||
let pass= pass + 1
|
let pass= pass + 1
|
||||||
endwhile " pass loop
|
endwhile " pass loop
|
||||||
" call Decho("end of two pass loop")
|
" call Decho("end of two pass loop")
|
||||||
|
" call Decho("ENDWHILE: cursor at (".line(".").",".col(".").") curline#".curline)
|
||||||
|
|
||||||
" restore original leading whitespace
|
" restore original leading whitespace
|
||||||
if s:AlignLeadKeep == 'W'
|
if s:AlignLeadKeep == 'W'
|
||||||
|
@ -1059,6 +1070,7 @@ fun! s:Strlen(x)
|
||||||
call setline(line("."),a:x)
|
call setline(line("."),a:x)
|
||||||
let ret= virtcol("$") - 1
|
let ret= virtcol("$") - 1
|
||||||
d
|
d
|
||||||
|
keepj norm! k
|
||||||
let &l:mod= modkeep
|
let &l:mod= modkeep
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
" AlignMaps.vim : support functions for AlignMaps
|
" AlignMaps.vim : support functions for AlignMaps
|
||||||
" Author: Charles E. Campbell, Jr.
|
" Author: Charles E. Campbell
|
||||||
" Date: Jun 18, 2012
|
" Date: Mar 12, 2013
|
||||||
" Version: 42
|
" Version: 43
|
||||||
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell, Jr. {{{1
|
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1
|
||||||
" Permission is hereby granted to use and distribute this code,
|
" Permission is hereby granted to use and distribute this code,
|
||||||
" with or without modifications, provided that this copyright
|
" with or without modifications, provided that this copyright
|
||||||
" notice is copied with it. Like anything else that's free,
|
" notice is copied with it. Like anything else that's free,
|
||||||
|
@ -16,7 +16,7 @@
|
||||||
if &cp || exists("g:loaded_AlignMaps")
|
if &cp || exists("g:loaded_AlignMaps")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let g:loaded_AlignMaps= "v42"
|
let g:loaded_AlignMaps= "v43"
|
||||||
let s:keepcpo = &cpo
|
let s:keepcpo = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
"DechoTabOn
|
"DechoTabOn
|
||||||
|
@ -111,6 +111,20 @@ fun! AlignMaps#WrapperEnd() range
|
||||||
" call Dret("AlignMaps#WrapperEnd : alignmaps_wrapcnt=".s:alignmaps_wrapcnt." my=".line("'y")." mz=".line("'z"))
|
" call Dret("AlignMaps#WrapperEnd : alignmaps_wrapcnt=".s:alignmaps_wrapcnt." my=".line("'y")." mz=".line("'z"))
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" AlignMaps#MakeMap: make both a normal-mode and a visual mode map for mapname {{{2
|
||||||
|
fun! AlignMaps#MakeMap(mapname)
|
||||||
|
if exists("g:maplocalleader")
|
||||||
|
let maplead= g:maplocalleader
|
||||||
|
elseif exists("g:mapleader")
|
||||||
|
let maplead= g:mapleader
|
||||||
|
else
|
||||||
|
let maplead= '\'
|
||||||
|
endif
|
||||||
|
exe "nmap <unique> ".maplead.a:mapname." <Plug>AM_".a:mapname
|
||||||
|
exe "vmap <silent> ".maplead.a:mapname.' :call AlignMaps#Vis("'.a:mapname.'")'."<cr>"
|
||||||
|
endfun
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" AlignMaps#StdAlign: some semi-standard align calls {{{2
|
" AlignMaps#StdAlign: some semi-standard align calls {{{2
|
||||||
fun! AlignMaps#StdAlign(mode) range
|
fun! AlignMaps#StdAlign(mode) range
|
||||||
|
@ -169,15 +183,15 @@ endfun
|
||||||
" AlignMaps#Equals: supports \t= and \T= {{{2
|
" AlignMaps#Equals: supports \t= and \T= {{{2
|
||||||
fun! AlignMaps#Equals() range
|
fun! AlignMaps#Equals() range
|
||||||
" call Dfunc("AlignMaps#Equals()")
|
" call Dfunc("AlignMaps#Equals()")
|
||||||
keepj 'a,'zs/\s\+\([*/+\-%|&\~^]\==\)/ \1/e
|
keepj 'a,'zs/\s\+\([.*/+\-%|&\~^]\==\)/ \1/e
|
||||||
keepj 'a,'zs@ \+\([*/+\-%|&\~^]\)=@\1=@ge
|
keepj 'a,'zs@ \+\([.*/+\-%|&\~^]\)=@\1=@ge
|
||||||
keepj 'a,'zs/==/\="\<Char-0x0f>\<Char-0x0f>"/ge
|
keepj 'a,'zs/==/\="\<Char-0x0f>\<Char-0x0f>"/ge
|
||||||
keepj 'a,'zs/\([!<>:]\)=/\=submatch(1)."\<Char-0x0f>"/ge
|
keepj 'a,'zs/\([!<>:]\)=/\=submatch(1)."\<Char-0x0f>"/ge
|
||||||
keepj norm g'zk
|
keepj norm g'zk
|
||||||
AlignCtrl mIp1P1=l =
|
AlignCtrl mIp1P1=l =
|
||||||
AlignCtrl g =
|
AlignCtrl g =
|
||||||
keepj 'a,'z-1Align
|
keepj 'a,'z-1Align
|
||||||
keepj 'a,'z-1s@\([*/%|&\~^!=]\)\( \+\)=@\2\1=@ge
|
keepj 'a,'z-1s@\([.*/%|&\~^!=]\)\( \+\)=@\2\1=@ge
|
||||||
keepj 'a,'z-1s@[^+\-]\zs\([+\-]\)\( \+\)=@\2\1=@ge
|
keepj 'a,'z-1s@[^+\-]\zs\([+\-]\)\( \+\)=@\2\1=@ge
|
||||||
keepj 'a,'z-1s/\( \+\);/;\1/ge
|
keepj 'a,'z-1s/\( \+\);/;\1/ge
|
||||||
if &ft == "c" || &ft == "cpp"
|
if &ft == "c" || &ft == "cpp"
|
||||||
|
@ -323,37 +337,6 @@ fun! AlignMaps#FixMultiDec()
|
||||||
let curline = getline(".")
|
let curline = getline(".")
|
||||||
" call Decho("curline<".curline.">")
|
" call Decho("curline<".curline.">")
|
||||||
|
|
||||||
" " Attempt to ignore function calls (ie. double x=pow(2.,3.),...
|
|
||||||
" let leader= substitute(curline,'^\s*\([a-zA-Z_ \t][a-zA-Z0-9<>_ \t]*\)\s\+.*$','\1','')
|
|
||||||
" let i = strlen(leader)
|
|
||||||
" let paren = 0
|
|
||||||
" let fmd = strpart(curline,i)
|
|
||||||
" let ifmd = i
|
|
||||||
" call Decho("fmd<".fmd."> ifmd=".ifmd)
|
|
||||||
" while i < strlen(curline)
|
|
||||||
" if strpart(curline,i,1) == '('
|
|
||||||
" let paren= paren+1
|
|
||||||
" elseif strpart(curline,i,1) == ')' && paren > 0
|
|
||||||
" let paren= paren-1
|
|
||||||
" elseif strpart(curline,i,1) == '='
|
|
||||||
" let eq= 1
|
|
||||||
" elseif strpart(curline,i,1) == ';'
|
|
||||||
" let paren = 0
|
|
||||||
" let eq = 0
|
|
||||||
" let fmd = fmd.strpart(fmd,ifmd,i-ifmd).";\<cr>"
|
|
||||||
" let ifmd = i + 2
|
|
||||||
" let i = i + 1
|
|
||||||
" let leader= substitute(curline,'^\s*\([a-zA-Z_ \t][a-zA-Z0-9<>_ \t]*\)\s\+.*$','\1','')
|
|
||||||
" elseif strpart(curline,i,1) == ','
|
|
||||||
" if paren == 0
|
|
||||||
" let fmd = fmd.strpart(fmd,ifmd,i-ifmd).";\<cr>"
|
|
||||||
" let ifmd = i + 2
|
|
||||||
" let i = i + 1
|
|
||||||
" endif
|
|
||||||
" endif
|
|
||||||
" let i= i + 1
|
|
||||||
" endwhile
|
|
||||||
" Get the type. I'm assuming one type per line (ie. int x; double y; on one line will not be handled properly)
|
|
||||||
let @x=substitute(curline,'^\(\s*[a-zA-Z_ \t][a-zA-Z0-9<>_ \t]*\)\s\+[(*]*\h.*$','\1','')
|
let @x=substitute(curline,'^\(\s*[a-zA-Z_ \t][a-zA-Z0-9<>_ \t]*\)\s\+[(*]*\h.*$','\1','')
|
||||||
" call Decho("@x<".@x.">")
|
" call Decho("@x<".@x.">")
|
||||||
|
|
||||||
|
@ -386,6 +369,31 @@ fun! AlignMaps#AlignMapsClean()
|
||||||
" call Dret("AlignMaps#AlignMapsClean")
|
" call Dret("AlignMaps#AlignMapsClean")
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" AlignMaps#Vis: interfaces with visual maps {{{2
|
||||||
|
fun! AlignMaps#Vis(plugmap) range
|
||||||
|
" call Dfunc("AlignMaps#VisCall(plugmap<".a:plugmap.">) ".a:firstline.",".a:lastline)
|
||||||
|
|
||||||
|
let amark= SaveMark("a")
|
||||||
|
exe a:firstline
|
||||||
|
ka
|
||||||
|
exe a:lastline
|
||||||
|
|
||||||
|
if exists("g:maplocalleader")
|
||||||
|
let maplead= g:maplocalleader
|
||||||
|
elseif exists("g:mapleader")
|
||||||
|
let maplead= g:mapleader
|
||||||
|
else
|
||||||
|
let maplead= '\'
|
||||||
|
endif
|
||||||
|
|
||||||
|
" call Decho("exe norm ".maplead.a:plugmap)
|
||||||
|
exe " norm ".maplead.a:plugmap
|
||||||
|
|
||||||
|
call RestoreMark(amark)
|
||||||
|
" call Dret("AlignMaps#VisCall")
|
||||||
|
endfun
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" Restore: {{{1
|
" Restore: {{{1
|
||||||
let &cpo= s:keepcpo
|
let &cpo= s:keepcpo
|
||||||
|
|
|
@ -0,0 +1,969 @@
|
||||||
|
" Name: Solarized vim colorscheme
|
||||||
|
" Author: Ethan Schoonover <es@ethanschoonover.com>
|
||||||
|
" URL: http://ethanschoonover.com/solarized
|
||||||
|
" (see this url for latest release & screenshots)
|
||||||
|
" License: OSI approved MIT license (see end of this file)
|
||||||
|
" Created: In the middle of the night
|
||||||
|
" Modified: 2011 Apr 14
|
||||||
|
"
|
||||||
|
" Usage "{{{
|
||||||
|
"
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" ABOUT:
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" Solarized is a carefully designed selective contrast colorscheme with dual
|
||||||
|
" light and dark modes that runs in both GUI, 256 and 16 color modes.
|
||||||
|
"
|
||||||
|
" See the homepage above for screenshots and details.
|
||||||
|
"
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" INSTALLATION:
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
"
|
||||||
|
" Two options for installation: manual or pathogen
|
||||||
|
"
|
||||||
|
" MANUAL INSTALLATION OPTION:
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
"
|
||||||
|
" 1. Put the files in the right place!
|
||||||
|
" 2. Move `solarized.vim` to your `.vim/colors` directory.
|
||||||
|
"
|
||||||
|
" RECOMMENDED PATHOGEN INSTALLATION OPTION:
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
"
|
||||||
|
" 1. Download and install Tim Pope's Pathogen from:
|
||||||
|
" https://github.com/tpope/vim-pathogen
|
||||||
|
"
|
||||||
|
" 2. Next, move or clone the `vim-colors-solarized` directory so that it is
|
||||||
|
" a subdirectory of the `.vim/bundle` directory.
|
||||||
|
"
|
||||||
|
" a. **clone with git:**
|
||||||
|
"
|
||||||
|
" $ cd ~/.vim/bundle
|
||||||
|
" $ git clone git://github.com/altercation/vim-colors-solarized.git
|
||||||
|
"
|
||||||
|
" b. **or move manually into the pathogen bundle directory:**
|
||||||
|
" In the parent directory of vim-colors-solarized:
|
||||||
|
"
|
||||||
|
" $ mv vim-colors-solarized ~/.vim/bundle/
|
||||||
|
"
|
||||||
|
" MODIFY VIMRC:
|
||||||
|
"
|
||||||
|
" After either Option 1 or Option 2 above, put the following two lines in your
|
||||||
|
" .vimrc:
|
||||||
|
"
|
||||||
|
" syntax enable
|
||||||
|
" set background=dark
|
||||||
|
" colorscheme solarized
|
||||||
|
"
|
||||||
|
" or, for the light background mode of Solarized:
|
||||||
|
"
|
||||||
|
" syntax enable
|
||||||
|
" set background=light
|
||||||
|
" colorscheme solarized
|
||||||
|
"
|
||||||
|
" I like to have a different background in GUI and terminal modes, so I can use
|
||||||
|
" the following if-then. However, I find vim's background autodetection to be
|
||||||
|
" pretty good and, at least with MacVim, I can leave this background value
|
||||||
|
" assignment out entirely and get the same results.
|
||||||
|
"
|
||||||
|
" if has('gui_running')
|
||||||
|
" set background=light
|
||||||
|
" else
|
||||||
|
" set background=dark
|
||||||
|
" endif
|
||||||
|
"
|
||||||
|
" See the Solarized homepage at http://ethanschoonover.com/solarized for
|
||||||
|
" screenshots which will help you select either the light or dark background.
|
||||||
|
"
|
||||||
|
" Other options are detailed below.
|
||||||
|
"
|
||||||
|
" IMPORTANT NOTE FOR TERMINAL USERS:
|
||||||
|
"
|
||||||
|
" If you are going to use Solarized in Terminal mode (i.e. not in a GUI version
|
||||||
|
" like gvim or macvim), **please please please** consider setting your terminal
|
||||||
|
" emulator's colorscheme to used the Solarized palette. I've included palettes
|
||||||
|
" for some popular terminal emulator as well as Xdefaults in the official
|
||||||
|
" Solarized download available from [Solarized homepage]. If you use
|
||||||
|
" Solarized *without* these colors, Solarized will need to be told to degrade
|
||||||
|
" its colorscheme to a set compatible with the limited 256 terminal palette
|
||||||
|
" (whereas by using the terminal's 16 ansi color values, you can set the
|
||||||
|
" correct, specific values for the Solarized palette).
|
||||||
|
"
|
||||||
|
" If you do use the custom terminal colors, solarized.vim should work out of
|
||||||
|
" the box for you. If you are using a terminal emulator that supports 256
|
||||||
|
" colors and don't want to use the custom Solarized terminal colors, you will
|
||||||
|
" need to use the degraded 256 colorscheme. To do so, simply add the following
|
||||||
|
" line *before* the `colorschem solarized` line:
|
||||||
|
"
|
||||||
|
" let g:solarized_termcolors=256
|
||||||
|
"
|
||||||
|
" Again, I recommend just changing your terminal colors to Solarized values
|
||||||
|
" either manually or via one of the many terminal schemes available for import.
|
||||||
|
"
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" TOGGLE BACKGROUND FUNCTION:
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
"
|
||||||
|
" Solarized comes with a Toggle Background plugin that by default will map to
|
||||||
|
" <F5> if that mapping is available. If it is not available you will need to
|
||||||
|
" either map the function manually or change your current <F5> mapping to
|
||||||
|
" something else. If you wish to map the function manually, enter the following
|
||||||
|
" lines in your .vimrc:
|
||||||
|
"
|
||||||
|
" nmap <unique> <F5> <Plug>ToggleBackground
|
||||||
|
" imap <unique> <F5> <Plug>ToggleBackground
|
||||||
|
" vmap <unique> <F5> <Plug>ToggleBackground
|
||||||
|
"
|
||||||
|
" Note that it is important to *not* use the noremap map variants. The plugin
|
||||||
|
" uses noremap internally. You may run `:help togglebg` for more information.
|
||||||
|
"
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" OPTIONS
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
"
|
||||||
|
" Set these in your vimrc file prior to calling the colorscheme.
|
||||||
|
"
|
||||||
|
" option name default optional
|
||||||
|
" ------------------------------------------------
|
||||||
|
" g:solarized_termcolors= 16 | 256
|
||||||
|
" g:solarized_termtrans = 0 | 1
|
||||||
|
" g:solarized_degrade = 0 | 1
|
||||||
|
" g:solarized_bold = 1 | 0
|
||||||
|
" g:solarized_underline = 1 | 0
|
||||||
|
" g:solarized_italic = 1 | 0
|
||||||
|
" g:solarized_contrast = "normal"| "high" or "low"
|
||||||
|
" g:solarized_visibility= "normal"| "high" or "low"
|
||||||
|
" ------------------------------------------------
|
||||||
|
"
|
||||||
|
" OPTION DETAILS
|
||||||
|
"
|
||||||
|
" ------------------------------------------------
|
||||||
|
" g:solarized_termcolors= 256 | 16
|
||||||
|
" ------------------------------------------------
|
||||||
|
" The most important option if you are using vim in terminal (non gui) mode!
|
||||||
|
" This tells Solarized to use the 256 degraded color mode if running in a 256
|
||||||
|
" color capable terminal. Otherwise, if set to `16` it will use the terminal
|
||||||
|
" emulators colorscheme (best option as long as you've set the emulators colors
|
||||||
|
" to the Solarized palette).
|
||||||
|
"
|
||||||
|
" If you are going to use Solarized in Terminal mode (i.e. not in a GUI
|
||||||
|
" version like gvim or macvim), **please please please** consider setting your
|
||||||
|
" terminal emulator's colorscheme to used the Solarized palette. I've included
|
||||||
|
" palettes for some popular terminal emulator as well as Xdefaults in the
|
||||||
|
" official Solarized download available from:
|
||||||
|
" http://ethanschoonover.com/solarized . If you use Solarized without these
|
||||||
|
" colors, Solarized will by default use an approximate set of 256 colors. It
|
||||||
|
" isn't bad looking and has been extensively tweaked, but it's still not quite
|
||||||
|
" the real thing.
|
||||||
|
"
|
||||||
|
" ------------------------------------------------
|
||||||
|
" g:solarized_termtrans = 0 | 1
|
||||||
|
" ------------------------------------------------
|
||||||
|
" If you use a terminal emulator with a transparent background and Solarized
|
||||||
|
" isn't displaying the background color transparently, set this to 1 and
|
||||||
|
" Solarized will use the default (transparent) background of the terminal
|
||||||
|
" emulator. *urxvt* required this in my testing; iTerm2 did not.
|
||||||
|
"
|
||||||
|
" Note that on Mac OS X Terminal.app, solarized_termtrans is set to 1 by
|
||||||
|
" default as this is almost always the best option. The only exception to this
|
||||||
|
" is if the working terminfo file supports 256 colors (xterm-256color).
|
||||||
|
"
|
||||||
|
" ------------------------------------------------
|
||||||
|
" g:solarized_degrade = 0 | 1
|
||||||
|
" ------------------------------------------------
|
||||||
|
" For test purposes only; forces Solarized to use the 256 degraded color mode
|
||||||
|
" to test the approximate color values for accuracy.
|
||||||
|
"
|
||||||
|
" ------------------------------------------------
|
||||||
|
" g:solarized_bold = 1 | 0
|
||||||
|
" ------------------------------------------------
|
||||||
|
" ------------------------------------------------
|
||||||
|
" g:solarized_underline = 1 | 0
|
||||||
|
" ------------------------------------------------
|
||||||
|
" ------------------------------------------------
|
||||||
|
" g:solarized_italic = 1 | 0
|
||||||
|
" ------------------------------------------------
|
||||||
|
" If you wish to stop Solarized from displaying bold, underlined or
|
||||||
|
" italicized typefaces, simply assign a zero value to the appropriate
|
||||||
|
" variable, for example: `let g:solarized_italic=0`
|
||||||
|
"
|
||||||
|
" ------------------------------------------------
|
||||||
|
" g:solarized_contrast = "normal"| "high" or "low"
|
||||||
|
" ------------------------------------------------
|
||||||
|
" Stick with normal! It's been carefully tested. Setting this option to high
|
||||||
|
" or low does use the same Solarized palette but simply shifts some values up
|
||||||
|
" or down in order to expand or compress the tonal range displayed.
|
||||||
|
"
|
||||||
|
" ------------------------------------------------
|
||||||
|
" g:solarized_visibility = "normal"| "high" or "low"
|
||||||
|
" ------------------------------------------------
|
||||||
|
" Special characters such as trailing whitespace, tabs, newlines, when
|
||||||
|
" displayed using ":set list" can be set to one of three levels depending on
|
||||||
|
" your needs.
|
||||||
|
"
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" COLOR VALUES
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" Download palettes and files from: http://ethanschoonover.com/solarized
|
||||||
|
"
|
||||||
|
" L\*a\*b values are canonical (White D65, Reference D50), other values are
|
||||||
|
" matched in sRGB space.
|
||||||
|
"
|
||||||
|
" SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B sRGB HSB
|
||||||
|
" --------- ------- ---- ------- ----------- ---------- ----------- -----------
|
||||||
|
" base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21
|
||||||
|
" base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26
|
||||||
|
" base01 #586e75 10/7 brgreen 240 #4e4e4e 45 -07 -07 88 110 117 194 25 46
|
||||||
|
" base00 #657b83 11/7 bryellow 241 #585858 50 -07 -07 101 123 131 195 23 51
|
||||||
|
" base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59
|
||||||
|
" base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63
|
||||||
|
" base2 #eee8d5 7/7 white 254 #d7d7af 92 -00 10 238 232 213 44 11 93
|
||||||
|
" base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99
|
||||||
|
" yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71
|
||||||
|
" orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80
|
||||||
|
" red #dc322f 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86
|
||||||
|
" magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83
|
||||||
|
" violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77
|
||||||
|
" blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82
|
||||||
|
" cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63
|
||||||
|
" green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60
|
||||||
|
"
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" COLORSCHEME HACKING
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
"
|
||||||
|
" Useful commands for testing colorschemes:
|
||||||
|
" :source $VIMRUNTIME/syntax/hitest.vim
|
||||||
|
" :help highlight-groups
|
||||||
|
" :help cterm-colors
|
||||||
|
" :help group-name
|
||||||
|
"
|
||||||
|
" Useful links for developing colorschemes:
|
||||||
|
" http://www.vim.org/scripts/script.php?script_id=2937
|
||||||
|
" http://vimcasts.org/episodes/creating-colorschemes-for-vim/
|
||||||
|
" http://www.frexx.de/xterm-256-notes/"
|
||||||
|
"
|
||||||
|
"
|
||||||
|
" }}}
|
||||||
|
" Default option values"{{{
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
if !exists("g:solarized_termtrans")
|
||||||
|
if ($TERM_PROGRAM ==? "apple_terminal" && &t_Co < 256)
|
||||||
|
let g:solarized_termtrans = 1
|
||||||
|
else
|
||||||
|
let g:solarized_termtrans = 0
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
if !exists("g:solarized_degrade")
|
||||||
|
let g:solarized_degrade = 0
|
||||||
|
endif
|
||||||
|
if !exists("g:solarized_bold")
|
||||||
|
let g:solarized_bold = 1
|
||||||
|
endif
|
||||||
|
if !exists("g:solarized_underline")
|
||||||
|
let g:solarized_underline = 1
|
||||||
|
endif
|
||||||
|
if !exists("g:solarized_italic")
|
||||||
|
let g:solarized_italic = 1
|
||||||
|
endif
|
||||||
|
if !exists("g:solarized_termcolors")
|
||||||
|
let g:solarized_termcolors = 16
|
||||||
|
endif
|
||||||
|
if !exists("g:solarized_contrast")
|
||||||
|
let g:solarized_contrast = "normal"
|
||||||
|
endif
|
||||||
|
if !exists("g:solarized_visibility")
|
||||||
|
let g:solarized_visibility = "normal"
|
||||||
|
endif
|
||||||
|
"}}}
|
||||||
|
" Colorscheme initialization "{{{
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
hi clear
|
||||||
|
if exists("syntax_on")
|
||||||
|
syntax reset
|
||||||
|
endif
|
||||||
|
let colors_name = "solarized"
|
||||||
|
|
||||||
|
"}}}
|
||||||
|
" GUI & CSApprox hexadecimal palettes"{{{
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
"
|
||||||
|
" Set both gui and terminal color values in separate conditional statements
|
||||||
|
" Due to possibility that CSApprox is running (though I suppose we could just
|
||||||
|
" leave the hex values out entirely in that case and include only cterm colors)
|
||||||
|
" We also check to see if user has set solarized (force use of the
|
||||||
|
" neutral gray monotone palette component)
|
||||||
|
if (has("gui_running") && g:solarized_degrade == 0)
|
||||||
|
let s:vmode = "gui"
|
||||||
|
let s:base03 = "#002b36"
|
||||||
|
let s:base02 = "#073642"
|
||||||
|
let s:base01 = "#586e75"
|
||||||
|
let s:base00 = "#657b83"
|
||||||
|
let s:base0 = "#839496"
|
||||||
|
let s:base1 = "#93a1a1"
|
||||||
|
let s:base2 = "#eee8d5"
|
||||||
|
let s:base3 = "#fdf6e3"
|
||||||
|
let s:yellow = "#b58900"
|
||||||
|
let s:orange = "#cb4b16"
|
||||||
|
let s:red = "#dc322f"
|
||||||
|
let s:magenta = "#d33682"
|
||||||
|
let s:violet = "#6c71c4"
|
||||||
|
let s:blue = "#268bd2"
|
||||||
|
let s:cyan = "#2aa198"
|
||||||
|
let s:green = "#859900"
|
||||||
|
elseif (has("gui_running") && g:solarized_degrade == 1)
|
||||||
|
" These colors are identical to the 256 color mode. They may be viewed
|
||||||
|
" while in gui mode via "let g:solarized_degrade=1", though this is not
|
||||||
|
" recommened and is for testing only.
|
||||||
|
let s:vmode = "gui"
|
||||||
|
let s:base03 = "#1c1c1c"
|
||||||
|
let s:base02 = "#262626"
|
||||||
|
let s:base01 = "#4e4e4e"
|
||||||
|
let s:base00 = "#585858"
|
||||||
|
let s:base0 = "#808080"
|
||||||
|
let s:base1 = "#8a8a8a"
|
||||||
|
let s:base2 = "#d7d7af"
|
||||||
|
let s:base3 = "#ffffd7"
|
||||||
|
let s:yellow = "#af8700"
|
||||||
|
let s:orange = "#d75f00"
|
||||||
|
let s:red = "#af0000"
|
||||||
|
let s:magenta = "#af005f"
|
||||||
|
let s:violet = "#5f5faf"
|
||||||
|
let s:blue = "#0087ff"
|
||||||
|
let s:cyan = "#00afaf"
|
||||||
|
let s:green = "#5f8700"
|
||||||
|
elseif g:solarized_termcolors != 256 && &t_Co >= 16
|
||||||
|
let s:vmode = "cterm"
|
||||||
|
let s:base03 = "8"
|
||||||
|
let s:base02 = "0"
|
||||||
|
let s:base01 = "10"
|
||||||
|
let s:base00 = "11"
|
||||||
|
let s:base0 = "12"
|
||||||
|
let s:base1 = "14"
|
||||||
|
let s:base2 = "7"
|
||||||
|
let s:base3 = "15"
|
||||||
|
let s:yellow = "3"
|
||||||
|
let s:orange = "9"
|
||||||
|
let s:red = "1"
|
||||||
|
let s:magenta = "5"
|
||||||
|
let s:violet = "13"
|
||||||
|
let s:blue = "4"
|
||||||
|
let s:cyan = "6"
|
||||||
|
let s:green = "2"
|
||||||
|
elseif g:solarized_termcolors == 256
|
||||||
|
let s:vmode = "cterm"
|
||||||
|
let s:base03 = "234"
|
||||||
|
let s:base02 = "235"
|
||||||
|
let s:base01 = "239"
|
||||||
|
let s:base00 = "240"
|
||||||
|
let s:base0 = "244"
|
||||||
|
let s:base1 = "245"
|
||||||
|
let s:base2 = "187"
|
||||||
|
let s:base3 = "230"
|
||||||
|
let s:yellow = "136"
|
||||||
|
let s:orange = "166"
|
||||||
|
let s:red = "124"
|
||||||
|
let s:magenta = "125"
|
||||||
|
let s:violet = "61"
|
||||||
|
let s:blue = "33"
|
||||||
|
let s:cyan = "37"
|
||||||
|
let s:green = "64"
|
||||||
|
else
|
||||||
|
let s:vmode = "cterm"
|
||||||
|
let s:bright = "* term=bold cterm=bold"
|
||||||
|
let s:base03 = "0".s:bright
|
||||||
|
let s:base02 = "0"
|
||||||
|
let s:base01 = "2".s:bright
|
||||||
|
let s:base00 = "3".s:bright
|
||||||
|
let s:base0 = "4".s:bright
|
||||||
|
let s:base1 = "6".s:bright
|
||||||
|
let s:base2 = "7"
|
||||||
|
let s:base3 = "7".s:bright
|
||||||
|
let s:yellow = "3"
|
||||||
|
let s:orange = "1".s:bright
|
||||||
|
let s:red = "1"
|
||||||
|
let s:magenta = "5"
|
||||||
|
let s:violet = "13"
|
||||||
|
let s:blue = "4"
|
||||||
|
let s:cyan = "6"
|
||||||
|
let s:green = "2"
|
||||||
|
endif
|
||||||
|
"}}}
|
||||||
|
" Formatting options and null values for passthrough effect "{{{
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
let s:none = "NONE"
|
||||||
|
let s:none = "NONE"
|
||||||
|
let s:t_none = "NONE"
|
||||||
|
let s:n = "NONE"
|
||||||
|
let s:c = ",undercurl"
|
||||||
|
let s:r = ",reverse"
|
||||||
|
let s:s = ",standout"
|
||||||
|
let s:ou = ""
|
||||||
|
let s:ob = ""
|
||||||
|
"}}}
|
||||||
|
" Background value based on termtrans setting "{{{
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
if (has("gui_running") || g:solarized_termtrans == 0)
|
||||||
|
let s:back = s:base03
|
||||||
|
else
|
||||||
|
let s:back = "NONE"
|
||||||
|
endif
|
||||||
|
"}}}
|
||||||
|
" Alternate light scheme "{{{
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
if &background == "light"
|
||||||
|
let s:temp03 = s:base03
|
||||||
|
let s:temp02 = s:base02
|
||||||
|
let s:temp01 = s:base01
|
||||||
|
let s:temp00 = s:base00
|
||||||
|
let s:base03 = s:base3
|
||||||
|
let s:base02 = s:base2
|
||||||
|
let s:base01 = s:base1
|
||||||
|
let s:base00 = s:base0
|
||||||
|
let s:base0 = s:temp00
|
||||||
|
let s:base1 = s:temp01
|
||||||
|
let s:base2 = s:temp02
|
||||||
|
let s:base3 = s:temp03
|
||||||
|
if (s:back != "NONE")
|
||||||
|
let s:back = s:base03
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
"}}}
|
||||||
|
" Optional contrast schemes "{{{
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
if g:solarized_contrast == "high"
|
||||||
|
let s:base01 = s:base00
|
||||||
|
let s:base00 = s:base0
|
||||||
|
let s:base0 = s:base1
|
||||||
|
let s:base1 = s:base2
|
||||||
|
let s:base2 = s:base3
|
||||||
|
let s:back = s:back
|
||||||
|
endif
|
||||||
|
if g:solarized_contrast == "low"
|
||||||
|
let s:back = s:base02
|
||||||
|
let s:ou = ",underline"
|
||||||
|
endif
|
||||||
|
"}}}
|
||||||
|
" Overrides dependent on user specified values"{{{
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
if g:solarized_bold == 1
|
||||||
|
let s:b = ",bold"
|
||||||
|
else
|
||||||
|
let s:b = ""
|
||||||
|
endif
|
||||||
|
|
||||||
|
if g:solarized_underline == 1
|
||||||
|
let s:u = ",underline"
|
||||||
|
else
|
||||||
|
let s:u = ""
|
||||||
|
endif
|
||||||
|
|
||||||
|
if g:solarized_italic == 1
|
||||||
|
let s:i = ",italic"
|
||||||
|
else
|
||||||
|
let s:i = ""
|
||||||
|
endif
|
||||||
|
"}}}
|
||||||
|
" Highlighting primitives"{{{
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
|
||||||
|
exe "let s:bg_none = ' ".s:vmode."bg=".s:none ."'"
|
||||||
|
exe "let s:bg_back = ' ".s:vmode."bg=".s:back ."'"
|
||||||
|
exe "let s:bg_base03 = ' ".s:vmode."bg=".s:base03 ."'"
|
||||||
|
exe "let s:bg_base02 = ' ".s:vmode."bg=".s:base02 ."'"
|
||||||
|
exe "let s:bg_base01 = ' ".s:vmode."bg=".s:base01 ."'"
|
||||||
|
exe "let s:bg_base00 = ' ".s:vmode."bg=".s:base00 ."'"
|
||||||
|
exe "let s:bg_base0 = ' ".s:vmode."bg=".s:base0 ."'"
|
||||||
|
exe "let s:bg_base1 = ' ".s:vmode."bg=".s:base1 ."'"
|
||||||
|
exe "let s:bg_base2 = ' ".s:vmode."bg=".s:base2 ."'"
|
||||||
|
exe "let s:bg_base3 = ' ".s:vmode."bg=".s:base3 ."'"
|
||||||
|
exe "let s:bg_green = ' ".s:vmode."bg=".s:green ."'"
|
||||||
|
exe "let s:bg_yellow = ' ".s:vmode."bg=".s:yellow ."'"
|
||||||
|
exe "let s:bg_orange = ' ".s:vmode."bg=".s:orange ."'"
|
||||||
|
exe "let s:bg_red = ' ".s:vmode."bg=".s:red ."'"
|
||||||
|
exe "let s:bg_magenta = ' ".s:vmode."bg=".s:magenta."'"
|
||||||
|
exe "let s:bg_violet = ' ".s:vmode."bg=".s:violet ."'"
|
||||||
|
exe "let s:bg_blue = ' ".s:vmode."bg=".s:blue ."'"
|
||||||
|
exe "let s:bg_cyan = ' ".s:vmode."bg=".s:cyan ."'"
|
||||||
|
|
||||||
|
exe "let s:fg_none = ' ".s:vmode."fg=".s:none ."'"
|
||||||
|
exe "let s:fg_back = ' ".s:vmode."fg=".s:back ."'"
|
||||||
|
exe "let s:fg_base03 = ' ".s:vmode."fg=".s:base03 ."'"
|
||||||
|
exe "let s:fg_base02 = ' ".s:vmode."fg=".s:base02 ."'"
|
||||||
|
exe "let s:fg_base01 = ' ".s:vmode."fg=".s:base01 ."'"
|
||||||
|
exe "let s:fg_base00 = ' ".s:vmode."fg=".s:base00 ."'"
|
||||||
|
exe "let s:fg_base0 = ' ".s:vmode."fg=".s:base0 ."'"
|
||||||
|
exe "let s:fg_base1 = ' ".s:vmode."fg=".s:base1 ."'"
|
||||||
|
exe "let s:fg_base2 = ' ".s:vmode."fg=".s:base2 ."'"
|
||||||
|
exe "let s:fg_base3 = ' ".s:vmode."fg=".s:base3 ."'"
|
||||||
|
exe "let s:fg_green = ' ".s:vmode."fg=".s:green ."'"
|
||||||
|
exe "let s:fg_yellow = ' ".s:vmode."fg=".s:yellow ."'"
|
||||||
|
exe "let s:fg_orange = ' ".s:vmode."fg=".s:orange ."'"
|
||||||
|
exe "let s:fg_red = ' ".s:vmode."fg=".s:red ."'"
|
||||||
|
exe "let s:fg_magenta = ' ".s:vmode."fg=".s:magenta."'"
|
||||||
|
exe "let s:fg_violet = ' ".s:vmode."fg=".s:violet ."'"
|
||||||
|
exe "let s:fg_blue = ' ".s:vmode."fg=".s:blue ."'"
|
||||||
|
exe "let s:fg_cyan = ' ".s:vmode."fg=".s:cyan ."'"
|
||||||
|
|
||||||
|
exe "let s:fmt_none = ' ".s:vmode."=NONE". " term=NONE". "'"
|
||||||
|
exe "let s:fmt_bold = ' ".s:vmode."=NONE".s:b. " term=NONE".s:b."'"
|
||||||
|
exe "let s:fmt_bldi = ' ".s:vmode."=NONE".s:b. " term=NONE".s:b."'"
|
||||||
|
exe "let s:fmt_undr = ' ".s:vmode."=NONE".s:u. " term=NONE".s:u."'"
|
||||||
|
exe "let s:fmt_undb = ' ".s:vmode."=NONE".s:u.s:b. " term=NONE".s:u.s:b."'"
|
||||||
|
exe "let s:fmt_undi = ' ".s:vmode."=NONE".s:u. " term=NONE".s:u."'"
|
||||||
|
exe "let s:fmt_uopt = ' ".s:vmode."=NONE".s:ou. " term=NONE".s:ou."'"
|
||||||
|
exe "let s:fmt_curl = ' ".s:vmode."=NONE".s:c. " term=NONE".s:c."'"
|
||||||
|
exe "let s:fmt_ital = ' ".s:vmode."=NONE". " term=NONE". "'"
|
||||||
|
exe "let s:fmt_revr = ' ".s:vmode."=NONE".s:r. " term=NONE".s:r."'"
|
||||||
|
exe "let s:fmt_stnd = ' ".s:vmode."=NONE".s:s. " term=NONE".s:s."'"
|
||||||
|
|
||||||
|
if has("gui_running")
|
||||||
|
exe "let s:sp_none = ' guisp=".s:none ."'"
|
||||||
|
exe "let s:sp_back = ' guisp=".s:back ."'"
|
||||||
|
exe "let s:sp_base03 = ' guisp=".s:base03 ."'"
|
||||||
|
exe "let s:sp_base02 = ' guisp=".s:base02 ."'"
|
||||||
|
exe "let s:sp_base01 = ' guisp=".s:base01 ."'"
|
||||||
|
exe "let s:sp_base00 = ' guisp=".s:base00 ."'"
|
||||||
|
exe "let s:sp_base0 = ' guisp=".s:base0 ."'"
|
||||||
|
exe "let s:sp_base1 = ' guisp=".s:base1 ."'"
|
||||||
|
exe "let s:sp_base2 = ' guisp=".s:base2 ."'"
|
||||||
|
exe "let s:sp_base3 = ' guisp=".s:base3 ."'"
|
||||||
|
exe "let s:sp_green = ' guisp=".s:green ."'"
|
||||||
|
exe "let s:sp_yellow = ' guisp=".s:yellow ."'"
|
||||||
|
exe "let s:sp_orange = ' guisp=".s:orange ."'"
|
||||||
|
exe "let s:sp_red = ' guisp=".s:red ."'"
|
||||||
|
exe "let s:sp_magenta = ' guisp=".s:magenta."'"
|
||||||
|
exe "let s:sp_violet = ' guisp=".s:violet ."'"
|
||||||
|
exe "let s:sp_blue = ' guisp=".s:blue ."'"
|
||||||
|
exe "let s:sp_cyan = ' guisp=".s:cyan ."'"
|
||||||
|
else
|
||||||
|
let s:sp_none = ""
|
||||||
|
let s:sp_back = ""
|
||||||
|
let s:sp_base03 = ""
|
||||||
|
let s:sp_base02 = ""
|
||||||
|
let s:sp_base01 = ""
|
||||||
|
let s:sp_base00 = ""
|
||||||
|
let s:sp_base0 = ""
|
||||||
|
let s:sp_base1 = ""
|
||||||
|
let s:sp_base2 = ""
|
||||||
|
let s:sp_base3 = ""
|
||||||
|
let s:sp_green = ""
|
||||||
|
let s:sp_yellow = ""
|
||||||
|
let s:sp_orange = ""
|
||||||
|
let s:sp_red = ""
|
||||||
|
let s:sp_magenta = ""
|
||||||
|
let s:sp_violet = ""
|
||||||
|
let s:sp_blue = ""
|
||||||
|
let s:sp_cyan = ""
|
||||||
|
endif
|
||||||
|
|
||||||
|
"}}}
|
||||||
|
" Basic highlighting"{{{
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" note that link syntax to avoid duplicate configuration doesn't work with the
|
||||||
|
" exe compiled formats
|
||||||
|
|
||||||
|
exe "hi! Normal" .s:fmt_none .s:fg_base0 .s:bg_back
|
||||||
|
|
||||||
|
exe "hi! Comment" .s:fmt_ital .s:fg_base01 .s:bg_none
|
||||||
|
" *Comment any comment
|
||||||
|
|
||||||
|
exe "hi! Constant" .s:fmt_none .s:fg_cyan .s:bg_none
|
||||||
|
" *Constant any constant
|
||||||
|
" String a string constant: "this is a string"
|
||||||
|
" Character a character constant: 'c', '\n'
|
||||||
|
" Number a number constant: 234, 0xff
|
||||||
|
" Boolean a boolean constant: TRUE, false
|
||||||
|
" Float a floating point constant: 2.3e10
|
||||||
|
|
||||||
|
exe "hi! Identifier" .s:fmt_none .s:fg_blue .s:bg_none
|
||||||
|
" *Identifier any variable name
|
||||||
|
" Function function name (also: methods for classes)
|
||||||
|
"
|
||||||
|
exe "hi! Statement" .s:fmt_none .s:fg_green .s:bg_none
|
||||||
|
" *Statement any statement
|
||||||
|
" Conditional if, then, else, endif, switch, etc.
|
||||||
|
" Repeat for, do, while, etc.
|
||||||
|
" Label case, default, etc.
|
||||||
|
" Operator "sizeof", "+", "*", etc.
|
||||||
|
" Keyword any other keyword
|
||||||
|
" Exception try, catch, throw
|
||||||
|
|
||||||
|
exe "hi! PreProc" .s:fmt_none .s:fg_orange .s:bg_none
|
||||||
|
" *PreProc generic Preprocessor
|
||||||
|
" Include preprocessor #include
|
||||||
|
" Define preprocessor #define
|
||||||
|
" Macro same as Define
|
||||||
|
" PreCondit preprocessor #if, #else, #endif, etc.
|
||||||
|
|
||||||
|
exe "hi! Type" .s:fmt_none .s:fg_yellow .s:bg_none
|
||||||
|
" *Type int, long, char, etc.
|
||||||
|
" StorageClass static, register, volatile, etc.
|
||||||
|
" Structure struct, union, enum, etc.
|
||||||
|
" Typedef A typedef
|
||||||
|
|
||||||
|
exe "hi! Special" .s:fmt_none .s:fg_red .s:bg_none
|
||||||
|
" *Special any special symbol
|
||||||
|
" SpecialChar special character in a constant
|
||||||
|
" Tag you can use CTRL-] on this
|
||||||
|
" Delimiter character that needs attention
|
||||||
|
" SpecialComment special things inside a comment
|
||||||
|
" Debug debugging statements
|
||||||
|
|
||||||
|
exe "hi! Underlined" .s:fmt_none .s:fg_violet .s:bg_none
|
||||||
|
" *Underlined text that stands out, HTML links
|
||||||
|
|
||||||
|
exe "hi! Ignore" .s:fmt_none .s:fg_none .s:bg_none
|
||||||
|
" *Ignore left blank, hidden |hl-Ignore|
|
||||||
|
|
||||||
|
exe "hi! Error" .s:fmt_bold .s:fg_red .s:bg_none
|
||||||
|
" *Error any erroneous construct
|
||||||
|
|
||||||
|
exe "hi! Todo" .s:fmt_bold .s:fg_magenta.s:bg_none
|
||||||
|
" *Todo anything that needs extra attention; mostly the
|
||||||
|
" keywords TODO FIXME and XXX
|
||||||
|
"
|
||||||
|
"}}}
|
||||||
|
" Extended highlighting "{{{
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
if (g:solarized_visibility=="high")
|
||||||
|
exe "hi! SpecialKey" .s:fmt_revr .s:fg_red .s:bg_none
|
||||||
|
exe "hi! NonText" .s:fmt_bold .s:fg_base1 .s:bg_none
|
||||||
|
elseif (g:solarized_visibility=="low")
|
||||||
|
exe "hi! SpecialKey" .s:fmt_bold .s:fg_base02 .s:bg_none
|
||||||
|
exe "hi! NonText" .s:fmt_bold .s:fg_base02 .s:bg_none
|
||||||
|
else
|
||||||
|
exe "hi! SpecialKey" .s:fmt_bold .s:fg_red .s:bg_none
|
||||||
|
exe "hi! NonText" .s:fmt_bold .s:fg_base01 .s:bg_none
|
||||||
|
endif
|
||||||
|
if (has("gui_running")) || &t_Co > 8
|
||||||
|
exe "hi! StatusLine" .s:fmt_none .s:fg_base02 .s:bg_base1
|
||||||
|
exe "hi! StatusLineNC" .s:fmt_none .s:fg_base02 .s:bg_base00
|
||||||
|
"exe "hi! Visual" .s:fmt_stnd .s:fg_none .s:bg_base02
|
||||||
|
exe "hi! Visual" .s:fmt_none .s:fg_base03 .s:bg_base01
|
||||||
|
else
|
||||||
|
exe "hi! StatusLine" .s:fmt_none .s:fg_base02 .s:bg_base2
|
||||||
|
exe "hi! StatusLineNC" .s:fmt_none .s:fg_base02 .s:bg_base2
|
||||||
|
exe "hi! Visual" .s:fmt_none .s:fg_none .s:bg_base2
|
||||||
|
endif
|
||||||
|
exe "hi! Directory" .s:fmt_none .s:fg_blue .s:bg_none
|
||||||
|
exe "hi! ErrorMsg" .s:fmt_revr .s:fg_red .s:bg_none
|
||||||
|
exe "hi! IncSearch" .s:fmt_stnd .s:fg_orange .s:bg_none
|
||||||
|
exe "hi! Search" .s:fmt_revr .s:fg_yellow .s:bg_none
|
||||||
|
exe "hi! MoreMsg" .s:fmt_none .s:fg_blue .s:bg_none
|
||||||
|
exe "hi! ModeMsg" .s:fmt_none .s:fg_blue .s:bg_none
|
||||||
|
exe "hi! LineNr" .s:fmt_none .s:fg_base01 .s:bg_base02
|
||||||
|
exe "hi! Question" .s:fmt_bold .s:fg_cyan .s:bg_none
|
||||||
|
exe "hi! VertSplit" .s:fmt_bold .s:fg_base00 .s:bg_base00
|
||||||
|
exe "hi! Title" .s:fmt_bold .s:fg_orange .s:bg_none
|
||||||
|
exe "hi! VisualNOS" .s:fmt_stnd .s:fg_none .s:bg_base02
|
||||||
|
exe "hi! WarningMsg" .s:fmt_bold .s:fg_red .s:bg_none
|
||||||
|
exe "hi! WildMenu" .s:fmt_none .s:fg_base2 .s:bg_base02
|
||||||
|
exe "hi! Folded" .s:fmt_undb .s:fg_base0 .s:bg_base02 .s:sp_base03
|
||||||
|
exe "hi! FoldColumn" .s:fmt_bold .s:fg_base0 .s:bg_base02
|
||||||
|
exe "hi! DiffAdd" .s:fmt_revr .s:fg_green .s:bg_none
|
||||||
|
exe "hi! DiffChange" .s:fmt_revr .s:fg_yellow .s:bg_none
|
||||||
|
exe "hi! DiffDelete" .s:fmt_revr .s:fg_red .s:bg_none
|
||||||
|
exe "hi! DiffText" .s:fmt_revr .s:fg_blue .s:bg_none
|
||||||
|
exe "hi! SignColumn" .s:fmt_none .s:fg_base0 .s:bg_base02
|
||||||
|
exe "hi! Conceal" .s:fmt_none .s:fg_blue .s:bg_none
|
||||||
|
exe "hi! SpellBad" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_red
|
||||||
|
exe "hi! SpellCap" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_violet
|
||||||
|
exe "hi! SpellRare" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_cyan
|
||||||
|
exe "hi! SpellLocal" .s:fmt_curl .s:fg_none .s:bg_none .s:sp_yellow
|
||||||
|
exe "hi! Pmenu" .s:fmt_none .s:fg_base0 .s:bg_base02
|
||||||
|
exe "hi! PmenuSel" .s:fmt_none .s:fg_base2 .s:bg_base01
|
||||||
|
exe "hi! PmenuSbar" .s:fmt_none .s:fg_base0 .s:bg_base2
|
||||||
|
exe "hi! PmenuThumb" .s:fmt_none .s:fg_base03 .s:bg_base0
|
||||||
|
exe "hi! TabLine" .s:fmt_undr .s:fg_base0 .s:bg_base02 .s:sp_base0
|
||||||
|
exe "hi! TabLineSel" .s:fmt_undr .s:fg_base2 .s:bg_base01 .s:sp_base0
|
||||||
|
exe "hi! TabLineFill" .s:fmt_undr .s:fg_base0 .s:bg_base02 .s:sp_base0
|
||||||
|
exe "hi! CursorColumn" .s:fmt_none .s:fg_none .s:bg_base02
|
||||||
|
exe "hi! CursorLine" .s:fmt_uopt .s:fg_none .s:bg_base02 .s:sp_base1
|
||||||
|
exe "hi! ColorColumn" .s:fmt_none .s:fg_none .s:bg_base02
|
||||||
|
exe "hi! Cursor" .s:fmt_none .s:fg_base03 .s:bg_base0
|
||||||
|
hi! link lCursor Cursor
|
||||||
|
exe "hi! MatchParen" .s:fmt_bold .s:fg_red .s:bg_base01
|
||||||
|
|
||||||
|
"}}}
|
||||||
|
" vim syntax highlighting "{{{
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
exe "hi! vimLineComment" . s:fg_base01 .s:bg_none .s:fmt_ital
|
||||||
|
exe "hi! vimCommentString".s:fg_violet .s:bg_none .s:fmt_none
|
||||||
|
hi! link vimVar Identifier
|
||||||
|
hi! link vimFunc Function
|
||||||
|
hi! link vimUserFunc Function
|
||||||
|
exe "hi! vimCommand" . s:fg_yellow .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! vimCmdSep" . s:fg_blue .s:bg_none .s:fmt_bold
|
||||||
|
exe "hi! helpExample" . s:fg_base1 .s:bg_none .s:fmt_none
|
||||||
|
hi! link helpSpecial Special
|
||||||
|
exe "hi! helpOption" . s:fg_cyan .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! helpNote" . s:fg_magenta.s:bg_none .s:fmt_none
|
||||||
|
exe "hi! helpVim" . s:fg_magenta.s:bg_none .s:fmt_none
|
||||||
|
exe "hi! helpHyperTextJump" .s:fg_blue .s:bg_none .s:fmt_undr
|
||||||
|
exe "hi! helpHyperTextEntry".s:fg_green .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! vimIsCommand" . s:fg_base00 .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! vimSynMtchOpt" . s:fg_yellow .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! vimSynType" . s:fg_cyan .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! vimHiLink" . s:fg_blue .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! vimHiGroup" . s:fg_blue .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! vimGroup" . s:fg_blue .s:bg_none .s:fmt_undb
|
||||||
|
"}}}
|
||||||
|
" html highlighting "{{{
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
exe "hi! htmlTag" . s:fg_base01 .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! htmlEndTag" . s:fg_base01 .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! htmlTagN" . s:fg_base1 .s:bg_none .s:fmt_bold
|
||||||
|
exe "hi! htmlTagName" . s:fg_blue .s:bg_none .s:fmt_bold
|
||||||
|
exe "hi! htmlSpecialTagName". s:fg_blue .s:bg_none .s:fmt_ital
|
||||||
|
exe "hi! htmlArg" . s:fg_base00 .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! javaScript" . s:fg_yellow .s:bg_none .s:fmt_none
|
||||||
|
"}}}
|
||||||
|
" perl highlighting "{{{
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
exe "hi! perlHereDoc" . s:fg_base1 .s:bg_back .s:fmt_none
|
||||||
|
exe "hi! perlVarPlain" . s:fg_yellow .s:bg_back .s:fmt_none
|
||||||
|
exe "hi! perlStatementFileDesc". s:fg_cyan.s:bg_back.s:fmt_none
|
||||||
|
|
||||||
|
"}}}
|
||||||
|
" tex highlighting "{{{
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
exe "hi! texStatement" . s:fg_cyan .s:bg_back .s:fmt_none
|
||||||
|
exe "hi! texMathZoneX" . s:fg_yellow .s:bg_back .s:fmt_none
|
||||||
|
exe "hi! texMathMatcher" . s:fg_yellow .s:bg_back .s:fmt_none
|
||||||
|
exe "hi! texMathMatcher" . s:fg_yellow .s:bg_back .s:fmt_none
|
||||||
|
exe "hi! texRefLabel" . s:fg_yellow .s:bg_back .s:fmt_none
|
||||||
|
"}}}
|
||||||
|
" ruby highlighting "{{{
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
exe "hi! rubyDefine" . s:fg_base1 .s:bg_back .s:fmt_bold
|
||||||
|
"rubyInclude
|
||||||
|
"rubySharpBang
|
||||||
|
"rubyAccess
|
||||||
|
"rubyPredefinedVariable
|
||||||
|
"rubyBoolean
|
||||||
|
"rubyClassVariable
|
||||||
|
"rubyBeginEnd
|
||||||
|
"rubyRepeatModifier
|
||||||
|
"hi! link rubyArrayDelimiter Special " [ , , ]
|
||||||
|
"rubyCurlyBlock { , , }
|
||||||
|
|
||||||
|
"hi! link rubyClass Keyword
|
||||||
|
"hi! link rubyModule Keyword
|
||||||
|
"hi! link rubyKeyword Keyword
|
||||||
|
"hi! link rubyOperator Operator
|
||||||
|
"hi! link rubyIdentifier Identifier
|
||||||
|
"hi! link rubyInstanceVariable Identifier
|
||||||
|
"hi! link rubyGlobalVariable Identifier
|
||||||
|
"hi! link rubyClassVariable Identifier
|
||||||
|
"hi! link rubyConstant Type
|
||||||
|
"}}}
|
||||||
|
" haskell syntax highlighting"{{{
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" For use with syntax/haskell.vim : Haskell Syntax File
|
||||||
|
" http://www.vim.org/scripts/script.php?script_id=3034
|
||||||
|
" See also Steffen Siering's github repository:
|
||||||
|
" http://github.com/urso/dotrc/blob/master/vim/syntax/haskell.vim
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
"
|
||||||
|
" Treat True and False specially, see the plugin referenced above
|
||||||
|
let hs_highlight_boolean=1
|
||||||
|
" highlight delims, see the plugin referenced above
|
||||||
|
let hs_highlight_delimiters=1
|
||||||
|
|
||||||
|
exe "hi! cPreCondit". s:fg_orange.s:bg_none .s:fmt_none
|
||||||
|
|
||||||
|
exe "hi! VarId" . s:fg_blue .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! ConId" . s:fg_yellow .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! hsImport" . s:fg_magenta.s:bg_none .s:fmt_none
|
||||||
|
exe "hi! hsString" . s:fg_base00 .s:bg_none .s:fmt_none
|
||||||
|
|
||||||
|
exe "hi! hsStructure" . s:fg_cyan .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! hs_hlFunctionName" . s:fg_blue .s:bg_none
|
||||||
|
exe "hi! hsStatement" . s:fg_cyan .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! hsImportLabel" . s:fg_cyan .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! hs_OpFunctionName" . s:fg_yellow .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! hs_DeclareFunction" . s:fg_orange .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! hsVarSym" . s:fg_cyan .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! hsType" . s:fg_yellow .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! hsTypedef" . s:fg_cyan .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! hsModuleName" . s:fg_green .s:bg_none .s:fmt_undr
|
||||||
|
exe "hi! hsModuleStartLabel" . s:fg_magenta.s:bg_none .s:fmt_none
|
||||||
|
hi! link hsImportParams Delimiter
|
||||||
|
hi! link hsDelimTypeExport Delimiter
|
||||||
|
hi! link hsModuleStartLabel hsStructure
|
||||||
|
hi! link hsModuleWhereLabel hsModuleStartLabel
|
||||||
|
|
||||||
|
" following is for the haskell-conceal plugin
|
||||||
|
" the first two items don't have an impact, but better safe
|
||||||
|
exe "hi! hsNiceOperator" . s:fg_cyan .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! hsniceoperator" . s:fg_cyan .s:bg_none .s:fmt_none
|
||||||
|
|
||||||
|
"}}}
|
||||||
|
" pandoc markdown syntax highlighting "{{{
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
|
||||||
|
"PandocHiLink pandocNormalBlock
|
||||||
|
exe "hi! pandocTitleBlock" .s:fg_blue .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocTitleBlockTitle" .s:fg_blue .s:bg_none .s:fmt_bold
|
||||||
|
exe "hi! pandocTitleComment" .s:fg_blue .s:bg_none .s:fmt_bold
|
||||||
|
exe "hi! pandocComment" .s:fg_base01 .s:bg_none .s:fmt_ital
|
||||||
|
exe "hi! pandocVerbatimBlock" .s:fg_yellow .s:bg_none .s:fmt_none
|
||||||
|
hi! link pandocVerbatimBlockDeep pandocVerbatimBlock
|
||||||
|
hi! link pandocCodeBlock pandocVerbatimBlock
|
||||||
|
hi! link pandocCodeBlockDelim pandocVerbatimBlock
|
||||||
|
exe "hi! pandocBlockQuote" .s:fg_blue .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocBlockQuoteLeader1" .s:fg_blue .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocBlockQuoteLeader2" .s:fg_cyan .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocBlockQuoteLeader3" .s:fg_yellow .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocBlockQuoteLeader4" .s:fg_red .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocBlockQuoteLeader5" .s:fg_base0 .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocBlockQuoteLeader6" .s:fg_base01 .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocListMarker" .s:fg_magenta.s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocListReference" .s:fg_magenta.s:bg_none .s:fmt_undr
|
||||||
|
|
||||||
|
" Definitions
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
let s:fg_pdef = s:fg_violet
|
||||||
|
exe "hi! pandocDefinitionBlock" .s:fg_pdef .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocDefinitionTerm" .s:fg_pdef .s:bg_none .s:fmt_stnd
|
||||||
|
exe "hi! pandocDefinitionIndctr" .s:fg_pdef .s:bg_none .s:fmt_bold
|
||||||
|
exe "hi! pandocEmphasisDefinition" .s:fg_pdef .s:bg_none .s:fmt_ital
|
||||||
|
exe "hi! pandocEmphasisNestedDefinition" .s:fg_pdef .s:bg_none .s:fmt_bldi
|
||||||
|
exe "hi! pandocStrongEmphasisDefinition" .s:fg_pdef .s:bg_none .s:fmt_bold
|
||||||
|
exe "hi! pandocStrongEmphasisNestedDefinition" .s:fg_pdef.s:bg_none.s:fmt_bldi
|
||||||
|
exe "hi! pandocStrongEmphasisEmphasisDefinition" .s:fg_pdef.s:bg_none.s:fmt_bldi
|
||||||
|
exe "hi! pandocStrikeoutDefinition" .s:fg_pdef .s:bg_none .s:fmt_revr
|
||||||
|
exe "hi! pandocVerbatimInlineDefinition" .s:fg_pdef .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocSuperscriptDefinition" .s:fg_pdef .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocSubscriptDefinition" .s:fg_pdef .s:bg_none .s:fmt_none
|
||||||
|
|
||||||
|
" Tables
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
let s:fg_ptable = s:fg_blue
|
||||||
|
exe "hi! pandocTable" .s:fg_ptable.s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocTableStructure" .s:fg_ptable.s:bg_none .s:fmt_none
|
||||||
|
hi! link pandocTableStructureTop pandocTableStructre
|
||||||
|
hi! link pandocTableStructureEnd pandocTableStructre
|
||||||
|
exe "hi! pandocTableZebraLight" .s:fg_ptable.s:bg_base03.s:fmt_none
|
||||||
|
exe "hi! pandocTableZebraDark" .s:fg_ptable.s:bg_base02.s:fmt_none
|
||||||
|
exe "hi! pandocEmphasisTable" .s:fg_ptable.s:bg_none .s:fmt_ital
|
||||||
|
exe "hi! pandocEmphasisNestedTable" .s:fg_ptable.s:bg_none .s:fmt_bldi
|
||||||
|
exe "hi! pandocStrongEmphasisTable" .s:fg_ptable.s:bg_none .s:fmt_bold
|
||||||
|
exe "hi! pandocStrongEmphasisNestedTable" .s:fg_ptable.s:bg_none .s:fmt_bldi
|
||||||
|
exe "hi! pandocStrongEmphasisEmphasisTable" .s:fg_ptable.s:bg_none .s:fmt_bldi
|
||||||
|
exe "hi! pandocStrikeoutTable" .s:fg_ptable.s:bg_none .s:fmt_revr
|
||||||
|
exe "hi! pandocVerbatimInlineTable" .s:fg_ptable.s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocSuperscriptTable" .s:fg_ptable.s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocSubscriptTable" .s:fg_ptable.s:bg_none .s:fmt_none
|
||||||
|
|
||||||
|
" Headings
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
let s:fg_phead = s:fg_orange
|
||||||
|
exe "hi! pandocHeading" .s:fg_phead .s:bg_none.s:fmt_bold
|
||||||
|
exe "hi! pandocHeadingMarker" .s:fg_yellow.s:bg_none.s:fmt_bold
|
||||||
|
exe "hi! pandocEmphasisHeading" .s:fg_phead .s:bg_none.s:fmt_bldi
|
||||||
|
exe "hi! pandocEmphasisNestedHeading" .s:fg_phead .s:bg_none.s:fmt_bldi
|
||||||
|
exe "hi! pandocStrongEmphasisHeading" .s:fg_phead .s:bg_none.s:fmt_bold
|
||||||
|
exe "hi! pandocStrongEmphasisNestedHeading" .s:fg_phead .s:bg_none.s:fmt_bldi
|
||||||
|
exe "hi! pandocStrongEmphasisEmphasisHeading".s:fg_phead .s:bg_none.s:fmt_bldi
|
||||||
|
exe "hi! pandocStrikeoutHeading" .s:fg_phead .s:bg_none.s:fmt_revr
|
||||||
|
exe "hi! pandocVerbatimInlineHeading" .s:fg_phead .s:bg_none.s:fmt_bold
|
||||||
|
exe "hi! pandocSuperscriptHeading" .s:fg_phead .s:bg_none.s:fmt_bold
|
||||||
|
exe "hi! pandocSubscriptHeading" .s:fg_phead .s:bg_none.s:fmt_bold
|
||||||
|
|
||||||
|
" Links
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
exe "hi! pandocLinkDelim" .s:fg_base01 .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocLinkLabel" .s:fg_blue .s:bg_none .s:fmt_undr
|
||||||
|
exe "hi! pandocLinkText" .s:fg_blue .s:bg_none .s:fmt_undb
|
||||||
|
exe "hi! pandocLinkURL" .s:fg_base00 .s:bg_none .s:fmt_undr
|
||||||
|
exe "hi! pandocLinkTitle" .s:fg_base00 .s:bg_none .s:fmt_undi
|
||||||
|
exe "hi! pandocLinkTitleDelim" .s:fg_base01 .s:bg_none .s:fmt_undi .s:sp_base00
|
||||||
|
exe "hi! pandocLinkDefinition" .s:fg_cyan .s:bg_none .s:fmt_undr .s:sp_base00
|
||||||
|
exe "hi! pandocLinkDefinitionID" .s:fg_blue .s:bg_none .s:fmt_bold
|
||||||
|
exe "hi! pandocImageCaption" .s:fg_violet .s:bg_none .s:fmt_undb
|
||||||
|
exe "hi! pandocFootnoteLink" .s:fg_green .s:bg_none .s:fmt_undr
|
||||||
|
exe "hi! pandocFootnoteDefLink" .s:fg_green .s:bg_none .s:fmt_bold
|
||||||
|
exe "hi! pandocFootnoteInline" .s:fg_green .s:bg_none .s:fmt_undb
|
||||||
|
exe "hi! pandocFootnote" .s:fg_green .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocCitationDelim" .s:fg_magenta.s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocCitation" .s:fg_magenta.s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocCitationID" .s:fg_magenta.s:bg_none .s:fmt_undr
|
||||||
|
exe "hi! pandocCitationRef" .s:fg_magenta.s:bg_none .s:fmt_none
|
||||||
|
|
||||||
|
" Main Styles
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
exe "hi! pandocStyleDelim" .s:fg_base01 .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocEmphasis" .s:fg_base0 .s:bg_none .s:fmt_ital
|
||||||
|
exe "hi! pandocEmphasisNested" .s:fg_base0 .s:bg_none .s:fmt_bldi
|
||||||
|
exe "hi! pandocStrongEmphasis" .s:fg_base0 .s:bg_none .s:fmt_bold
|
||||||
|
exe "hi! pandocStrongEmphasisNested" .s:fg_base0 .s:bg_none .s:fmt_bldi
|
||||||
|
exe "hi! pandocStrongEmphasisEmphasis" .s:fg_base0 .s:bg_none .s:fmt_bldi
|
||||||
|
exe "hi! pandocStrikeout" .s:fg_base01 .s:bg_none .s:fmt_revr
|
||||||
|
exe "hi! pandocVerbatimInline" .s:fg_yellow .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocSuperscript" .s:fg_violet .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocSubscript" .s:fg_violet .s:bg_none .s:fmt_none
|
||||||
|
|
||||||
|
exe "hi! pandocRule" .s:fg_blue .s:bg_none .s:fmt_bold
|
||||||
|
exe "hi! pandocRuleLine" .s:fg_blue .s:bg_none .s:fmt_bold
|
||||||
|
exe "hi! pandocEscapePair" .s:fg_red .s:bg_none .s:fmt_bold
|
||||||
|
exe "hi! pandocCitationRef" .s:fg_magenta.s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocNonBreakingSpace" . s:fg_red .s:bg_none .s:fmt_revr
|
||||||
|
hi! link pandocEscapedCharacter pandocEscapePair
|
||||||
|
hi! link pandocLineBreak pandocEscapePair
|
||||||
|
|
||||||
|
" Embedded Code
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
exe "hi! pandocMetadataDelim" .s:fg_base01 .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocMetadata" .s:fg_blue .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocMetadataKey" .s:fg_blue .s:bg_none .s:fmt_none
|
||||||
|
exe "hi! pandocMetadata" .s:fg_blue .s:bg_none .s:fmt_bold
|
||||||
|
hi! link pandocMetadataTitle pandocMetadata
|
||||||
|
|
||||||
|
"}}}
|
||||||
|
" Utility autocommand "{{{
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" In cases where Solarized is initialized inside a terminal vim session and
|
||||||
|
" then transferred to a gui session via the command `:gui`, the gui vim process
|
||||||
|
" does not re-read the colorscheme (or .vimrc for that matter) so any `has_gui`
|
||||||
|
" related code that sets gui specific values isn't executed.
|
||||||
|
"
|
||||||
|
" Currently, Solarized sets only the cterm or gui values for the colorscheme
|
||||||
|
" depending on gui or terminal mode. It's possible that, if the following
|
||||||
|
" autocommand method is deemed excessively poor form, that approach will be
|
||||||
|
" used again and the autocommand below will be dropped.
|
||||||
|
"
|
||||||
|
" However it seems relatively benign in this case to include the autocommand
|
||||||
|
" here. It fires only in cases where vim is transferring from terminal to gui
|
||||||
|
" mode (detected with the script scope s:vmode variable). It also allows for
|
||||||
|
" other potential terminal customizations that might make gui mode suboptimal.
|
||||||
|
"
|
||||||
|
autocmd GUIEnter * if (s:vmode != "gui") | exe "colorscheme " . g:colors_name | endif
|
||||||
|
"}}}
|
||||||
|
" License "{{{
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
"
|
||||||
|
" Copyright (c) 2011 Ethan Schoonover
|
||||||
|
"
|
||||||
|
" Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
" of this software and associated documentation files (the "Software"), to deal
|
||||||
|
" in the Software without restriction, including without limitation the rights
|
||||||
|
" to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
" copies of the Software, and to permit persons to whom the Software is
|
||||||
|
" furnished to do so, subject to the following conditions:
|
||||||
|
"
|
||||||
|
" The above copyright notice and this permission notice shall be included in
|
||||||
|
" all copies or substantial portions of the Software.
|
||||||
|
"
|
||||||
|
" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
" AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
" OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
" THE SOFTWARE.
|
||||||
|
"
|
||||||
|
" vim:foldmethod=marker:foldlevel=0
|
||||||
|
"}}}
|
|
@ -1,4 +1,4 @@
|
||||||
*align.txt* The Alignment Tool Jun 18, 2012
|
*align.txt* The Alignment Tool Jan 07, 2013
|
||||||
|
|
||||||
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
||||||
(remove NOSPAM from Campbell's email first)
|
(remove NOSPAM from Campbell's email first)
|
||||||
|
@ -78,9 +78,9 @@ Copyright: (c) 2004-2012 by Charles E. Campbell *Align-copyright*
|
||||||
|| | | ||
|
|| | | ||
|
||||||
|| | +-------------------------------------------------------++
|
|| | +-------------------------------------------------------++
|
||||||
|| 1st arg | = | = all separator patterns are equivalent and are ||
|
|| 1st arg | = | = all separator patterns are equivalent and are ||
|
||||||
|| | | simultaneously active. Patterns are |regexp|. ||
|
|| | | simultaneously active. Patterns are |regexp|. ||
|
||||||
|| | | C cycle through separator patterns. Patterns are ||
|
|| | | C cycle through separator patterns. Patterns are ||
|
||||||
|| | | |regexp| and are active sequentially. ||
|
|| | | |regexp| and are active sequentially. ||
|
||||||
|| | | ||
|
|| | | ||
|
||||||
|| | < | < left justify separator Separators are justified, ||
|
|| | < | < left justify separator Separators are justified, ||
|
||||||
|| | | > right justify separator too. Separator styles ||
|
|| | | > right justify separator too. Separator styles ||
|
||||||
|
@ -144,7 +144,7 @@ Copyright: (c) 2004-2012 by Charles E. Campbell *Align-copyright*
|
||||||
3. Alignment Usage *alignusage* *align-usage* *align-userguide* {{{1
|
3. Alignment Usage *alignusage* *align-usage* *align-userguide* {{{1
|
||||||
|
|
||||||
|
|
||||||
ALIGNMENT CONCEPTS *align-concept* *align-concepts* {{{2
|
ALIGNMENT CONCEPTS *align-concept* *align-concepts* *alignctrl* {{{1
|
||||||
|
|
||||||
The typical text to be aligned is considered to be:
|
The typical text to be aligned is considered to be:
|
||||||
|
|
||||||
|
@ -315,7 +315,7 @@ ALIGNMENT OPTIONS *align-option* *align-options* *align-xstrlen* {{{2
|
||||||
the most accurate. (thanks to Tony Mechelynck for these)
|
the most accurate. (thanks to Tony Mechelynck for these)
|
||||||
|
|
||||||
|
|
||||||
ALIGNMENT CONTROL *alignctrl* *align-control* {{{2
|
ALIGNMENT CONTROL *:AlignCtrl* *align-control* {{{2
|
||||||
|
|
||||||
This command doesn't do the alignment operation itself; instead, it
|
This command doesn't do the alignment operation itself; instead, it
|
||||||
controls subsequent alignment operation(s).
|
controls subsequent alignment operation(s).
|
||||||
|
@ -756,7 +756,7 @@ ALIGNMENT CONTROL INITIALIZATION *alignctrl-init* *alignctrl-initialization* {{{
|
||||||
and :AlignCtrl will then be defined.
|
and :AlignCtrl will then be defined.
|
||||||
|
|
||||||
|
|
||||||
ALIGNMENT *align-align* {{{2
|
ALIGNMENT *:Align* *align-align* {{{2
|
||||||
|
|
||||||
Once the alignment control has been determined, the user specifies a
|
Once the alignment control has been determined, the user specifies a
|
||||||
range of lines for the Align command/function to do its thing.
|
range of lines for the Align command/function to do its thing.
|
||||||
|
@ -852,7 +852,7 @@ ALIGNMENT *align-align* {{{2
|
||||||
\adcom: useful for aligning comments in declarations |alignmap-adcom|
|
\adcom: useful for aligning comments in declarations |alignmap-adcom|
|
||||||
\anum : useful for aligning numbers |alignmap-anum|
|
\anum : useful for aligning numbers |alignmap-anum|
|
||||||
NOTE: For the visual-mode use of \anum, <vis.vim> is needed!
|
NOTE: For the visual-mode use of \anum, <vis.vim> is needed!
|
||||||
See http://mysite.verizon.net/astronaut/vim/index.html#VIS
|
See http://www.drchip.org/astronaut/vim/index.html#VIS
|
||||||
\aenum: align a European-style number |alignmap-anum|
|
\aenum: align a European-style number |alignmap-anum|
|
||||||
\aunum: align a USA-style number |alignmap-anum|
|
\aunum: align a USA-style number |alignmap-anum|
|
||||||
\adec : useful for aligning declarations |alignmap-adec|
|
\adec : useful for aligning declarations |alignmap-adec|
|
||||||
|
@ -916,7 +916,7 @@ ALIGNMENT *align-align* {{{2
|
||||||
an AlignMap with the vis.vim plugin, available at either
|
an AlignMap with the vis.vim plugin, available at either
|
||||||
|
|
||||||
stable: http://vim.sourceforge.net/scripts/script.php?script_id=1195
|
stable: http://vim.sourceforge.net/scripts/script.php?script_id=1195
|
||||||
devel : http://mysite.verizon.net/astronaut/vim/index.html#VIS
|
devel : http://www.drchip.org/astronaut/vim/index.html#VIS
|
||||||
|
|
||||||
Use it with commands such as >
|
Use it with commands such as >
|
||||||
|
|
||||||
|
@ -1400,194 +1400,202 @@ ALIGNMENT *align-align* {{{2
|
||||||
4. Alignment Tools' History *align-history* {{{1
|
4. Alignment Tools' History *align-history* {{{1
|
||||||
|
|
||||||
ALIGN HISTORY {{{2
|
ALIGN HISTORY {{{2
|
||||||
36 : May 20, 2009 * Previously, the "W" AlignCtrl setting, intended
|
v37 Nov 29, 2012 * (Kim Jang-hwan) reported that with g:Align_xstrlen
|
||||||
to retain initial white space, did so by convert-
|
set to 3 that the cursor was moved (linewise)
|
||||||
ing any leading tabs into an equivalent quantity
|
after invocation. Fixed.
|
||||||
of blanks (using the current tabstop setting).
|
Jan 07, 2013 * now has visual mode mappings to accompany all
|
||||||
Align will now retain leading tabs.
|
normal mode mappings (use |V| to invoke)
|
||||||
Nov 24, 2009 * QArgSplitter() used split(), intending to split
|
v36 May 20, 2009 * Previously, the "W" AlignCtrl setting, intended
|
||||||
on white space only. However, the \tab map
|
to retain initial white space, did so by convert-
|
||||||
uses ctrl-o as a separator instead of tabs; the
|
ing any leading tabs into an equivalent quantity
|
||||||
split() function treated the ctrl-o as a whitespace
|
of blanks (using the current tabstop setting).
|
||||||
character, too. Solution: give split() an explicit
|
Align will now retain leading tabs.
|
||||||
pattern matching blanks and tabs, only. \tab now
|
Nov 24, 2009 * QArgSplitter() used split(), intending to split
|
||||||
works again!
|
on white space only. However, the \tab map
|
||||||
Jun 29, 2010 * included |g:AlignSkip| and |alignctrl-star| support
|
uses ctrl-o as a separator instead of tabs; the
|
||||||
May 10, 2011 * if the range is only one line, then Align will
|
split() function treated the ctrl-o as a whitespace
|
||||||
automatically grow the range to accommodate all
|
character, too. Solution: give split() an explicit
|
||||||
lines containing the first separator pattern
|
pattern matching blanks and tabs, only. \tab now
|
||||||
surrounding the current line.
|
works again!
|
||||||
Aug 05, 2011 * g:Align_xstrlen usage extended to permit users to
|
Jun 29, 2010 * included |g:AlignSkip| and |alignctrl-star| support
|
||||||
specify a function by name which computes string
|
May 10, 2011 * if the range is only one line, then Align will
|
||||||
length.
|
automatically grow the range to accommodate all
|
||||||
Oct 27, 2011 * (reported by Fco Javier) reported a problem with
|
lines containing the first separator pattern
|
||||||
the default s:Strlen() result; there was a missing
|
surrounding the current line.
|
||||||
"let". Fixed.
|
Aug 05, 2011 * g:Align_xstrlen usage extended to permit users to
|
||||||
Nov 10, 2011 * (Lewis Thompson) Align was doing "set noet" when
|
specify a function by name which computes string
|
||||||
it should've been doing "setlocal noet".
|
length.
|
||||||
Dec 22, 2011 * modifed s:Strlen() to use |strdisplaywidth()| when
|
Oct 27, 2011 * (reported by Fco Javier) reported a problem with
|
||||||
g:Align_xstrlen is zero.
|
the default s:Strlen() result; there was a missing
|
||||||
35 : Nov 02, 2008 * g:loaded_AlignPlugin testing to prevent re-loading
|
"let". Fixed.
|
||||||
installed
|
Nov 10, 2011 * (Lewis Thompson) Align was doing "set noet" when
|
||||||
Nov 19, 2008 * new sanity check for an AlignStyle of just ":"
|
it should've been doing "setlocal noet".
|
||||||
Jan 08, 2009 * save&restore of |'mod'| now done with local
|
Dec 22, 2011 * modifed s:Strlen() to use |strdisplaywidth()| when
|
||||||
variant
|
g:Align_xstrlen is zero.
|
||||||
34 : Jul 08, 2008 * using :AlignCtrl before entering any alignment
|
v35 Nov 02, 2008 * g:loaded_AlignPlugin testing to prevent re-loading
|
||||||
control commands was causing an error.
|
installed
|
||||||
33 : Sep 20, 2007 * s:Strlen() introduced to support various ways
|
Nov 19, 2008 * new sanity check for an AlignStyle of just ":"
|
||||||
used to represent characters and their effects
|
Jan 08, 2009 * save&restore of |'mod'| now done with local
|
||||||
on string lengths. See |align-strlen|.
|
variant
|
||||||
* Align now accepts "..." -- so it can accept
|
v34 Jul 08, 2008 * using :AlignCtrl before entering any alignment
|
||||||
whitespace as separators.
|
control commands was causing an error.
|
||||||
32 : Aug 18, 2007 * uses |<q-args>| instead of |<f-args>| plus a
|
v33 Sep 20, 2007 * s:Strlen() introduced to support various ways
|
||||||
custom argument splitter to allow patterns with
|
used to represent characters and their effects
|
||||||
backslashes to slide in unaltered.
|
on string lengths. See |align-strlen|.
|
||||||
31 : Aug 06, 2007 * :[range]Align! [AlignCtrl settings] pattern(s)
|
* Align now accepts "..." -- so it can accept
|
||||||
implemented.
|
whitespace as separators.
|
||||||
30 : Feb 12, 2007 * now uses |setline()|
|
v32 Aug 18, 2007 * uses |<q-args>| instead of |<f-args>| plus a
|
||||||
29 : Jan 18, 2006 * cecutil updated to use keepjumps
|
custom argument splitter to allow patterns with
|
||||||
Feb 23, 2006 * Align now converted to vim 7.0 style using
|
backslashes to slide in unaltered.
|
||||||
auto-loading functions.
|
v31 Aug 06, 2007 * :[range]Align! [AlignCtrl settings] pattern(s)
|
||||||
28 : Aug 17, 2005 * report option workaround
|
implemented.
|
||||||
Oct 24, 2005 * AlignCtrl l: wasn't behaving as expected; fixed
|
v30 Feb 12, 2007 * now uses |setline()|
|
||||||
27 : Apr 15, 2005 : cpo workaround
|
v29 Jan 18, 2006 * cecutil updated to use keepjumps
|
||||||
ignorecase workaround
|
Feb 23, 2006 * Align now converted to vim 7.0 style using
|
||||||
26 : Aug 20, 2004 : loaded_align now also indicates version number
|
auto-loading functions.
|
||||||
GetLatestVimScripts :AutoInstall: now supported
|
v28 Aug 17, 2005 * report option workaround
|
||||||
25 : Jul 27, 2004 : For debugging, uses Dfunc(), Dret(), and Decho()
|
Oct 24, 2005 * AlignCtrl l: wasn't behaving as expected; fixed
|
||||||
24 : Mar 03, 2004 : (should've done this earlier!) visualmode(1)
|
v27 Apr 15, 2005 * cpo workaround
|
||||||
not supported until v6.2, now Align will avoid
|
ignorecase workaround
|
||||||
calling it for earlier versions. Visualmode
|
v26 Aug 20, 2004 * loaded_align now also indicates version number
|
||||||
clearing won't take place then, of course.
|
GetLatestVimScripts :AutoInstall: now supported
|
||||||
23 : Oct 07, 2003 : Included Leif Wickland's ReplaceQuotedSpaces()
|
v25 Jul 27, 2004 * For debugging, uses Dfunc(), Dret(), and Decho()
|
||||||
function which supports \tsq
|
v24 Mar 03, 2004 * (should've done this earlier!) visualmode(1)
|
||||||
22 : Jan 29, 2003 : Now requires 6.1.308 or later to clear visualmode()
|
not supported until v6.2, now Align will avoid
|
||||||
21 : Jan 10, 2003 : BugFix: similar problem to #19; new code
|
calling it for earlier versions. Visualmode
|
||||||
bypasses "norm! v\<Esc>" until initialization
|
clearing won't take place then, of course.
|
||||||
is over.
|
v23 Oct 07, 2003 * Included Leif Wickland's ReplaceQuotedSpaces()
|
||||||
20 : Dec 30, 2002 : BugFix: more on "unable to highlight" fixed
|
function which supports \tsq
|
||||||
19 : Nov 21, 2002 : BugFix: some terminals gave an "unable to highlight"
|
v22 Jan 29, 2003 * Now requires 6.1.308 or later to clear visualmode()
|
||||||
message at startup; Hari Krishna Dara tracked it
|
v21 Jan 10, 2003 * BugFix: similar problem to #19; new code
|
||||||
down; a silent! now included to prevent noise.
|
bypasses "norm! v\<Esc>" until initialization
|
||||||
18 : Nov 04, 2002 : BugFix: re-enabled anti-repeated-loading
|
is over.
|
||||||
17 : Nov 04, 2002 : BugFix: forgot to have AlignPush() push s:AlignSep
|
v20 Dec 30, 2002 * BugFix: more on "unable to highlight" fixed
|
||||||
AlignCtrl now clears visual-block mode when used so
|
v19 Nov 21, 2002 * BugFix: some terminals gave an "unable to highlight"
|
||||||
that Align won't try to use old visual-block
|
message at startup; Hari Krishna Dara tracked it
|
||||||
selection marks '< '>
|
down; a silent! now included to prevent noise.
|
||||||
16 : Sep 18, 2002 : AlignCtrl <>| options implemented (separator
|
v18 Nov 04, 2002 * BugFix: re-enabled anti-repeated-loading
|
||||||
justification)
|
v17 Nov 04, 2002 * BugFix: forgot to have AlignPush() push s:AlignSep
|
||||||
15 : Aug 22, 2002 : bug fix: AlignCtrl's ":" now acts as a modifier of
|
AlignCtrl now clears visual-block mode when used so
|
||||||
the preceding alignment operator (lrc)
|
that Align won't try to use old visual-block
|
||||||
14 : Aug 20, 2002 : bug fix: AlignCtrl default now keeps &ic unchanged
|
selection marks '< '>
|
||||||
bug fix: Align, on end-field, wasn't using correct
|
v16 Sep 18, 2002 * AlignCtrl <>| options implemented (separator
|
||||||
alignop bug fix: Align, on end-field, was appending
|
justification)
|
||||||
padding
|
v15 Aug 22, 2002 * bug fix: AlignCtrl's ":" now acts as a modifier of
|
||||||
13 : Aug 19, 2002 : bug fix: zero-length g/v patterns are accepted
|
the preceding alignment operator (lrc)
|
||||||
bug fix: always skip blank lines
|
v14 Aug 20, 2002 * bug fix: AlignCtrl default now keeps &ic unchanged
|
||||||
bug fix: AlignCtrl default now also clears g and v
|
bug fix: Align, on end-field, wasn't using correct
|
||||||
patterns
|
alignop bug fix: Align, on end-field, was appending
|
||||||
12 : Aug 16, 2002 : moved keep_ic above zero-length pattern checks
|
padding
|
||||||
added "AlignCtrl default"
|
v13 Aug 19, 2002 * bug fix: zero-length g/v patterns are accepted
|
||||||
fixed bug with last field getting separator spaces
|
bug fix: always skip blank lines
|
||||||
at end line
|
bug fix: AlignCtrl default now also clears g and v
|
||||||
11 : Jul 08, 2002 : prevent separator patterns which match zero length
|
patterns
|
||||||
-+: included as additional alignment/justification
|
v12 Aug 16, 2002 * moved keep_ic above zero-length pattern checks
|
||||||
styles
|
added "AlignCtrl default"
|
||||||
10 : Jun 26, 2002 : =~# used instead of =~ (for matching case)
|
fixed bug with last field getting separator spaces
|
||||||
ignorecase option handled
|
at end line
|
||||||
9 : Jun 25, 2002 : implemented cyclic padding
|
v11 Jul 08, 2002 * prevent separator patterns which match zero length
|
||||||
|
-+: included as additional alignment/justification
|
||||||
|
styles
|
||||||
|
v10 Jun 26, 2002 * =~# used instead of =~ (for matching case)
|
||||||
|
ignorecase option handled
|
||||||
|
v09 Jun 25, 2002 * implemented cyclic padding
|
||||||
|
|
||||||
ALIGNMENT MAP HISTORY *alignmap-history* {{{2
|
ALIGNMENT MAP HISTORY *alignmap-history* {{{2
|
||||||
v42 Jan 06, 2010 * new maps for \anum, \aenum, \aunum
|
v43 Nov 28, 2012 * changed a lot of maps to use nnoremap (instead
|
||||||
Feb 16, 2010 * map for \t=, \T= now handles x++ = something;
|
of map)
|
||||||
for c, c++ correctly.
|
Jan 07, 2013 *
|
||||||
Oct 29, 2010 * added a note on having one's own default
|
v42 Jan 06, 2010 * new maps for \anum, \aenum, \aunum
|
||||||
AlignCtrl (see |alignctrl-init|)
|
Feb 16, 2010 * map for \t=, \T= now handles x++ = something;
|
||||||
Feb 22, 2011 * for menus, &go =~# used to insure correct case
|
for c, c++ correctly.
|
||||||
Jun 10, 2011 * |:AlignMapsClean| command provided to make it
|
Oct 29, 2010 * added a note on having one's own default
|
||||||
easy for those who would prefer not to have
|
AlignCtrl (see |alignctrl-init|)
|
||||||
AlignMaps' maps not to have them.
|
Feb 22, 2011 * for menus, &go =~# used to insure correct case
|
||||||
v41 Nov 02, 2008 * g:loaded_AlignMapsPlugin testing to prevent
|
Jun 10, 2011 * |:AlignMapsClean| command provided to make it
|
||||||
re-loading installed
|
easy for those who would prefer not to have
|
||||||
* AlignMaps now use 0x0f (ctrl-p) for special
|
AlignMaps' maps not to have them.
|
||||||
character substitutions (instead of 0xff).
|
v41 Nov 02, 2008 * g:loaded_AlignMapsPlugin testing to prevent
|
||||||
Seems to avoid some problems with having to
|
re-loading installed
|
||||||
use Strlen().
|
* AlignMaps now use 0x0f (ctrl-p) for special
|
||||||
* bug fixed with \ts,
|
character substitutions (instead of 0xff).
|
||||||
* new maps: \ts; \ts, \ts: \ts< \ts= \a(
|
Seems to avoid some problems with having to
|
||||||
v40 Oct 21, 2008 * Modified AlignMaps so that its maps use <Plug>s
|
use Strlen().
|
||||||
and <script>s. \t@ and related maps have been
|
* bug fixed with \ts,
|
||||||
changed to call StdAlign() instead. The
|
* new maps: \ts; \ts, \ts: \ts< \ts= \a(
|
||||||
WrapperStart function now takes an argument and
|
v40 Oct 21, 2008 * Modified AlignMaps so that its maps use <Plug>s
|
||||||
handles being called via visual mode. The
|
and <script>s. \t@ and related maps have been
|
||||||
former nmaps and vmaps have thus been replaced
|
changed to call StdAlign() instead. The
|
||||||
with a simple map.
|
WrapperStart function now takes an argument and
|
||||||
Oct 24, 2008 * broke AlignMaps into a plugin and autoload
|
handles being called via visual mode. The
|
||||||
pair of scripts.
|
former nmaps and vmaps have thus been replaced
|
||||||
v39 Mar 06, 2008 : * \t= only does /* ... */ aligning when in *.c
|
with a simple map.
|
||||||
*.cpp files.
|
Oct 24, 2008 * broke AlignMaps into a plugin and autoload
|
||||||
v38 Aug 18, 2007 : * \tt altered so that it works with the new
|
pair of scripts.
|
||||||
use of |<q-args>| plus a custom argument
|
v39 Mar 06, 2008 * \t= only does /* ... */ aligning when in *.c
|
||||||
splitter
|
*.cpp files.
|
||||||
v36 Sep 27, 2006 : * AlignWrapperStart() now has tests that marks
|
v38 Aug 18, 2007 * \tt altered so that it works with the new
|
||||||
y and z are not set
|
use of |<q-args>| plus a custom argument
|
||||||
May 15, 2007 * \anum and variants improved
|
splitter
|
||||||
v35 Sep 01, 2006 : * \t= and cousins used "`"s. They now use \xff
|
v36 Sep 27, 2006 * AlignWrapperStart() now has tests that marks
|
||||||
characters.
|
y and z are not set
|
||||||
* \acom now works with doxygen style /// comments
|
May 15, 2007 * \anum and variants improved
|
||||||
* <char-0xff> used in \t= \T= \w= and \m= instead
|
v35 Sep 01, 2006 * \t= and cousins used "`"s. They now use \xff
|
||||||
of backquotes.
|
characters.
|
||||||
v34 Feb 23, 2006 : * AlignMaps now converted to vim 7.0 style using
|
* \acom now works with doxygen style /// comments
|
||||||
auto-loading functions.
|
* <char-0xff> used in \t= \T= \w= and \m= instead
|
||||||
v33 Oct 12, 2005 : * \ts, now uses P1 in its AlignCtrl call
|
of backquotes.
|
||||||
v32 Jun 28, 2005 : * s:WrapperStart() changed to AlignWrapperStart()
|
v34 Feb 23, 2006 * AlignMaps now converted to vim 7.0 style using
|
||||||
s:WrapperEnd() changed to AlignWrapperEnd()
|
auto-loading functions.
|
||||||
These changes let the AlignWrapper...()s to be
|
v33 Oct 12, 2005 * \ts, now uses P1 in its AlignCtrl call
|
||||||
used outside of AlignMaps.vim
|
v32 Jun 28, 2005 * s:WrapperStart() changed to AlignWrapperStart()
|
||||||
v31 Feb 01, 2005 : * \adcom included, with help
|
s:WrapperEnd() changed to AlignWrapperEnd()
|
||||||
* \a, now works across multiple lines with
|
These changes let the AlignWrapper...()s to be
|
||||||
different types
|
used outside of AlignMaps.vim
|
||||||
* AlignMaps now uses <cecutil.vim> for its mark and
|
v31 Feb 01, 2005 * \adcom included, with help
|
||||||
window-position saving and restoration
|
* \a, now works across multiple lines with
|
||||||
Mar 04, 2005 * improved \a,
|
different types
|
||||||
Apr 06, 2005 * included \aenum, \aunum, and provided
|
* AlignMaps now uses <cecutil.vim> for its mark and
|
||||||
g:alignmaps_{usa|euro]number} options
|
window-position saving and restoration
|
||||||
v30 Aug 20, 2004 : * \a, : handles embedded assignments and does \adec
|
Mar 04, 2005 * improved \a,
|
||||||
* \acom now can handle Doxygen-style comments
|
Apr 06, 2005 * included \aenum, \aunum, and provided
|
||||||
* g:loaded_alignmaps now also indicates version
|
g:alignmaps_{usa|euro]number} options
|
||||||
* internal maps \WE and \WS are now re-entrant
|
v30 Aug 20, 2004 * * \a, : handles embedded assignments and does \adec
|
||||||
v29 Jul 27, 2004 : * \tml aligns trailing multi-line single
|
* \acom now can handle Doxygen-style comments
|
||||||
backslashes (thanks to Raul Benavente!)
|
* g:loaded_alignmaps now also indicates version
|
||||||
v28 May 13, 2004 : * \a, had problems with leading blanks; fixed!
|
* internal maps \WE and \WS are now re-entrant
|
||||||
v27 Mar 31, 2004 : * \T= was having problems with == and !=
|
v29 Jul 27, 2004 * \tml aligns trailing multi-line single
|
||||||
* Fixed more problems with \adec
|
backslashes (thanks to Raul Benavente!)
|
||||||
v26 Dec 09, 2003 : * \ascom now also ignores lines without comments
|
v28 May 13, 2004 * \a, had problems with leading blanks; fixed!
|
||||||
* \tt \& now not matched
|
v27 Mar 31, 2004 * \T= was having problems with == and !=
|
||||||
* \a< handles both << and >>
|
* Fixed more problems with \adec
|
||||||
v25 Nov 14, 2003 : * included \anum (aligns numbers with periods and
|
v26 Dec 09, 2003 * \ascom now also ignores lines without comments
|
||||||
commas). \anum also supported with ctrl-v mode.
|
* \tt \& now not matched
|
||||||
* \ts, \Ts, : (aligns on commas, then swaps leading
|
* \a< handles both << and >>
|
||||||
spaces with commas)
|
v25 Nov 14, 2003 * included \anum (aligns numbers with periods and
|
||||||
* \adec ignores preprocessor lines and lines with
|
commas). \anum also supported with ctrl-v mode.
|
||||||
with comments-only
|
* \ts, \Ts, : (aligns on commas, then swaps leading
|
||||||
v23 Sep 10, 2003 : * Bugfix for \afnc - no longer overwrites marks y,z
|
spaces with commas)
|
||||||
* fixed bug in \tsp, \tab, \Tsp, and \Tab - lines
|
* \adec ignores preprocessor lines and lines with
|
||||||
containing backslashes were having their
|
with comments-only
|
||||||
backslashes removed. Included Leif Wickland's
|
v23 Sep 10, 2003 * Bugfix for \afnc - no longer overwrites marks y,z
|
||||||
patch for \tsq.
|
* fixed bug in \tsp, \tab, \Tsp, and \Tab - lines
|
||||||
* \adef now ignores lines holding comments only
|
containing backslashes were having their
|
||||||
v18 Aug 22, 2003 : \a< lines up C++'s << operators
|
backslashes removed. Included Leif Wickland's
|
||||||
saves/restores gdefault option (sets to nogd)
|
patch for \tsq.
|
||||||
all b:..varname.. are now b:alignmaps_..varname..
|
* \adef now ignores lines holding comments only
|
||||||
v17 Nov 04, 2002 : \afnc now handles // comments correctly and
|
v18 Aug 22, 2003 * \a< lines up C++'s << operators
|
||||||
commas within comments
|
saves/restores gdefault option (sets to nogd)
|
||||||
v16 Sep 10, 2002 : changed : to :silent! for \adec
|
all b:..varname.. are now b:alignmaps_..varname..
|
||||||
v15 Aug 27, 2002 : removed some <c-v>s
|
v17 Nov 04, 2002 * \afnc now handles // comments correctly and
|
||||||
v14 Aug 20, 2002 : \WS, \WE mostly moved to functions, marks y and z
|
commas within comments
|
||||||
now restored
|
v16 Sep 10, 2002 * changed : to :silent! for \adec
|
||||||
v11 Jul 08, 2002 : \abox bug fix
|
v15 Aug 27, 2002 * removed some <c-v>s
|
||||||
v9 Jun 25, 2002 : \abox now handles leading initial whitespace
|
v14 Aug 20, 2002 * \WS, \WE mostly moved to functions, marks y and z
|
||||||
: various bugfixes to \afnc, \T=, etc
|
now restored
|
||||||
|
v11 Jul 08, 2002 * \abox bug fix
|
||||||
|
v9 Jun 25, 2002 * \abox now handles leading initial whitespace
|
||||||
|
various bugfixes to \afnc, \T=, etc
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
Modelines: {{{1
|
Modelines: {{{1
|
||||||
|
|
|
@ -59,7 +59,9 @@
|
||||||
'Tlist_WinWidth' taglist.txt /*'Tlist_WinWidth'*
|
'Tlist_WinWidth' taglist.txt /*'Tlist_WinWidth'*
|
||||||
'loaded_nerd_comments' NERD_commenter.txt /*'loaded_nerd_comments'*
|
'loaded_nerd_comments' NERD_commenter.txt /*'loaded_nerd_comments'*
|
||||||
'loaded_nerd_tree' NERD_tree.txt /*'loaded_nerd_tree'*
|
'loaded_nerd_tree' NERD_tree.txt /*'loaded_nerd_tree'*
|
||||||
|
:Align Align.txt /*:Align*
|
||||||
:AlignCenter textformat.txt /*:AlignCenter*
|
:AlignCenter textformat.txt /*:AlignCenter*
|
||||||
|
:AlignCtrl Align.txt /*:AlignCtrl*
|
||||||
:AlignJustify textformat.txt /*:AlignJustify*
|
:AlignJustify textformat.txt /*:AlignJustify*
|
||||||
:AlignLeft textformat.txt /*:AlignLeft*
|
:AlignLeft textformat.txt /*:AlignLeft*
|
||||||
:AlignMapsClean Align.txt /*:AlignMapsClean*
|
:AlignMapsClean Align.txt /*:AlignMapsClean*
|
||||||
|
|
|
@ -12,7 +12,7 @@ set mousefocus
|
||||||
set errorbells
|
set errorbells
|
||||||
set visualbell
|
set visualbell
|
||||||
set showtabline=2
|
set showtabline=2
|
||||||
set guicursor=a:blinkon0
|
set guicursor=a:block-blinkon0
|
||||||
set showtabline=2
|
set showtabline=2
|
||||||
set guitablabel=%!GuiTabLabel()
|
set guitablabel=%!GuiTabLabel()
|
||||||
set guitabtooltip=%!GuiTabToolTip()
|
set guitabtooltip=%!GuiTabToolTip()
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
" AlignMapsPlugin: Alignment maps based upon <Align.vim> and <AlignMaps.vim>
|
" AlignMapsPlugin: Alignment maps based upon <Align.vim> and <AlignMaps.vim>
|
||||||
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
|
" Maintainer: Dr. Charles E. Campbell. <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||||
" Date: Jun 18, 2012
|
" Date: Jan 07, 2013
|
||||||
"
|
"
|
||||||
" NOTE: the code herein needs vim 7.0 or later
|
" NOTE: the code herein needs vim 7.0 or later
|
||||||
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell, Jr. {{{1
|
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1
|
||||||
" Permission is hereby granted to use and distribute this code,
|
" Permission is hereby granted to use and distribute this code,
|
||||||
" with or without modifications, provided that this copyright
|
" with or without modifications, provided that this copyright
|
||||||
" notice is copied with it. Like anything else that's free,
|
" notice is copied with it. Like anything else that's free,
|
||||||
|
@ -37,7 +37,7 @@ if &cp || exists("g:loaded_AlignMapsPlugin")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let s:keepcpo = &cpo
|
let s:keepcpo = &cpo
|
||||||
let g:loaded_AlignMapsPlugin = "v42"
|
let g:loaded_AlignMapsPlugin = "v43"
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
" =====================================================================
|
" =====================================================================
|
||||||
|
@ -53,8 +53,8 @@ com! AlignMapsClean :call AlignMaps#AlignMapsClean()
|
||||||
if !hasmapto('<Plug>WrapperStart')
|
if !hasmapto('<Plug>WrapperStart')
|
||||||
map <unique> <SID>WS <Plug>AlignMapsWrapperStart
|
map <unique> <SID>WS <Plug>AlignMapsWrapperStart
|
||||||
endif
|
endif
|
||||||
nmap <silent> <script> <Plug>AlignMapsWrapperStart :set lz<CR>:call AlignMaps#WrapperStart(0)<CR>
|
nnoremap <silent> <script> <Plug>AlignMapsWrapperStart :set lz<CR>:call AlignMaps#WrapperStart(0)<CR>
|
||||||
vmap <silent> <script> <Plug>AlignMapsWrapperStart :<c-u>set lz<CR>:call AlignMaps#WrapperStart(1)<CR>
|
vnoremap <silent> <script> <Plug>AlignMapsWrapperStart :<c-u>set lz<CR>:call AlignMaps#WrapperStart(1)<CR>
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" WE: wrapper end (internal) {{{2
|
" WE: wrapper end (internal) {{{2
|
||||||
|
@ -62,50 +62,52 @@ vmap <silent> <script> <Plug>AlignMapsWrapperStart :<c-u>set lz<CR>:call AlignMa
|
||||||
if !hasmapto('<Plug>WrapperEnd')
|
if !hasmapto('<Plug>WrapperEnd')
|
||||||
nmap <unique> <SID>WE <Plug>AlignMapsWrapperEnd
|
nmap <unique> <SID>WE <Plug>AlignMapsWrapperEnd
|
||||||
endif
|
endif
|
||||||
nmap <silent> <script> <Plug>AlignMapsWrapperEnd :call AlignMaps#WrapperEnd()<CR>:set nolz<CR>
|
nnoremap <silent> <script> <Plug>AlignMapsWrapperEnd :call AlignMaps#WrapperEnd()<CR>:set nolz<CR>
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" Complex C-code alignment maps: {{{2
|
" Complex C-code alignment maps: {{{2
|
||||||
if !hasmapto('<Plug>AM_a?') |map <unique> <Leader>a? <Plug>AM_a?|endif
|
if !hasmapto('<Plug>AM_a?') |call AlignMaps#MakeMap("a?")|endif
|
||||||
if !hasmapto('<Plug>AM_a,') |map <unique> <Leader>a, <Plug>AM_a,|endif
|
if !hasmapto('<Plug>AM_a,') |call AlignMaps#MakeMap("a,")|endif
|
||||||
if !hasmapto('<Plug>AM_a<') |map <unique> <Leader>a< <Plug>AM_a<|endif
|
if !hasmapto('<Plug>AM_a<') |call AlignMaps#MakeMap("a<")|endif
|
||||||
if !hasmapto('<Plug>AM_a=') |map <unique> <Leader>a= <Plug>AM_a=|endif
|
if !hasmapto('<Plug>AM_a=') |call AlignMaps#MakeMap("a=")|endif
|
||||||
if !hasmapto('<Plug>AM_a(') |map <unique> <Leader>a( <Plug>AM_a(|endif
|
if !hasmapto('<Plug>AM_a(') |call AlignMaps#MakeMap("a(")|endif
|
||||||
if !hasmapto('<Plug>AM_abox') |map <unique> <Leader>abox <Plug>AM_abox|endif
|
if !hasmapto('<Plug>AM_abox') |call AlignMaps#MakeMap("abox")|endif
|
||||||
if !hasmapto('<Plug>AM_acom') |map <unique> <Leader>acom <Plug>AM_acom|endif
|
if !hasmapto('<Plug>AM_acom') |call AlignMaps#MakeMap("acom")|endif
|
||||||
if !hasmapto('<Plug>AM_adcom')|map <unique> <Leader>adcom <Plug>AM_adcom|endif
|
if !hasmapto('<Plug>AM_adcom')|call AlignMaps#MakeMap("adcom")|endif
|
||||||
if !hasmapto('<Plug>AM_aocom')|map <unique> <Leader>aocom <Plug>AM_aocom|endif
|
if !hasmapto('<Plug>AM_aocom')|call AlignMaps#MakeMap("aocom")|endif
|
||||||
if !hasmapto('<Plug>AM_ascom')|map <unique> <Leader>ascom <Plug>AM_ascom|endif
|
if !hasmapto('<Plug>AM_ascom')|call AlignMaps#MakeMap("ascom")|endif
|
||||||
if !hasmapto('<Plug>AM_adec') |map <unique> <Leader>adec <Plug>AM_adec|endif
|
if !hasmapto('<Plug>AM_adec') |call AlignMaps#MakeMap("adec")|endif
|
||||||
if !hasmapto('<Plug>AM_adef') |map <unique> <Leader>adef <Plug>AM_adef|endif
|
if !hasmapto('<Plug>AM_adef') |call AlignMaps#MakeMap("adef")|endif
|
||||||
if !hasmapto('<Plug>AM_afnc') |map <unique> <Leader>afnc <Plug>AM_afnc|endif
|
if !hasmapto('<Plug>AM_afnc') |call AlignMaps#MakeMap("afnc")|endif
|
||||||
if !hasmapto('<Plug>AM_afnc') |map <unique> <Leader>afnc <Plug>AM_afnc|endif
|
if !hasmapto('<Plug>AM_afnc') |call AlignMaps#MakeMap("afnc")|endif
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
" Number alignment maps: {{{2
|
" Number alignment maps: {{{2
|
||||||
if !hasmapto('<Plug>AM_aunum')|map <unique> <Leader>aunum <Plug>AM_aunum|endif
|
if !hasmapto('<Plug>AM_aunum')|call AlignMaps#MakeMap("aunum")|endif
|
||||||
if !hasmapto('<Plug>AM_aenum')|map <unique> <Leader>aenum <Plug>AM_aenum|endif
|
if !hasmapto('<Plug>AM_aenum')|call AlignMaps#MakeMap("aenum")|endif
|
||||||
if exists("g:alignmaps_euronumber") && !exists("g:alignmaps_usanumber")
|
if exists("g:alignmaps_euronumber") && !exists("g:alignmaps_usanumber")
|
||||||
if !hasmapto('<Plug>AM_anum')|map <unique> <Leader>anum <Plug>AM_aenum|endif
|
if !hasmapto('<Plug>AM_anum')|call AlignMaps#MakeMap("anum")|endif
|
||||||
else
|
else
|
||||||
if !hasmapto('<Plug>AM_anum')|map <unique> <Leader>anum <Plug>AM_aunum|endif
|
if !hasmapto('<Plug>AM_anum')|call AlignMaps#MakeMap("anum")|endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
" Plug maps: (the real thing) {{{2
|
" Plug maps: (the real thing) {{{2
|
||||||
map <silent> <script> <Plug>AM_a? <SID>WS:AlignCtrl mIp1P1lC ? : : : : <CR>:'a,.Align<CR>:'a,'z-1s/\(\s\+\)? /?\1/e<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_a? <SID>WS:AlignCtrl mIp1P1lC ? : : : : <CR>:'a,.Align<CR>:'a,'z-1s/\(\s\+\)? /?\1/e<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_a, <SID>WS:'y,'zs/\(\S\)\s\+/\1 /ge<CR>'yjma'zk:call AlignMaps#CharJoiner(",")<cr>:silent 'y,'zg/,/call AlignMaps#FixMultiDec()<CR>'z:exe "norm \<Plug>AM_adec"<cr><SID>WE
|
nnoremap <silent> <script> <Plug>AM_a, <SID>WS:'y,'zs/\(\S\)\s\+/\1 /ge<CR>'yjma'zk:call AlignMaps#CharJoiner(",")<cr>:silent 'y,'zg/,/call AlignMaps#FixMultiDec()<CR>'z:exe "norm \<Plug>AM_adec"<cr><SID>WE
|
||||||
map <silent> <script> <Plug>AM_a< <SID>WS:AlignCtrl mIp1P1=l << >><CR>:'a,.Align<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_a< <SID>WS:AlignCtrl mIp1P1=l << >><CR>:'a,.Align<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_a( <SID>WS:AlignCtrl mIp0P1=l<CR>:'a,.Align [(,]<CR>:sil 'y+1,'z-1s/\(\s\+\),/,\1/ge<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_a( <SID>WS:AlignCtrl mIp0P1=l<CR>:'a,.Align [(,]<CR>:sil 'y+1,'z-1s/\(\s\+\),/,\1/ge<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_a= <SID>WS:AlignCtrl mIp1P1=l<CR>:AlignCtrl g :=<CR>:'a,'zAlign :\==<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_a= <SID>WS:AlignCtrl mIp1P1=l<CR>:AlignCtrl g :=<CR>:'a,'zAlign :\==<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_abox <SID>WS:let g:alignmaps_iws=substitute(getline("'a"),'^\(\s*\).*$','\1','e')<CR>:'a,'z-1s/^\s\+//e<CR>:'a,'z-1s/^.*$/@&@/<CR>:AlignCtrl m=p01P0w @<CR>:'a,.Align<CR>:'a,'z-1s/@/ * /<CR>:'a,'z-1s/@$/*/<CR>'aYP:s/./*/g<CR>0r/'zkYp:s/./*/g<CR>0r A/<Esc>:exe "'a-1,'z-1s/^/".g:alignmaps_iws."/e"<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_abox <SID>WS:let g:alignmaps_iws=substitute(getline("'a"),'^\(\s*\).*$','\1','e')<CR>:'a,'z-1s/^\s\+//e<CR>:'a,'z-1s/^.*$/@&@/<CR>:AlignCtrl m=p01P0w @<CR>:'a,.Align<CR>:'a,'z-1s/@/ * /<CR>:'a,'z-1s/@$/*/<CR>'aYP:s/./*/g<CR>0r/'zkYp:s/./*/g<CR>0r A/<Esc>:exe "'a-1,'z-1s/^/".g:alignmaps_iws."/e"<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_acom <SID>WS:'a,.s/\/[*/]\/\=/@&@/e<CR>:'a,.s/\*\//@&/e<CR>:'y,'zs/^\( *\) @/\1@/e<CR>'zk:call AlignMaps#StdAlign(2)<CR>:'y,'zs/^\(\s*\) @/\1/e<CR>:'y,'zs/ @//eg<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_acom <SID>WS:'a,.s/\/[*/]\/\=/@&@/e<CR>:'a,.s/\*\//@&/e<CR>:'y,'zs/^\( *\) @/\1@/e<CR>'zk:call AlignMaps#StdAlign(2)<CR>:'y,'zs/^\(\s*\) @/\1/e<CR>:'y,'zs/ @//eg<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_adcom <SID>WS:'a,.v/^\s*\/[/*]/s/\/[*/]\*\=/@&@/e<CR>:'a,.v/^\s*\/[/*]/s/\*\//@&/e<CR>:'y,'zv/^\s*\/[/*]/s/^\( *\) @/\1@/e<CR>'zk:call AlignMaps#StdAlign(3)<cr>:'y,'zv/^\s*\/[/*]/s/^\(\s*\) @/\1/e<CR>:'y,'zs/ @//eg<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_adcom <SID>WS:'a,.v/^\s*\/[/*]/s/\/[*/]\*\=/@&@/e<CR>:'a,.v/^\s*\/[/*]/s/\*\//@&/e<CR>:'y,'zv/^\s*\/[/*]/s/^\( *\) @/\1@/e<CR>'zk:call AlignMaps#StdAlign(3)<cr>:'y,'zv/^\s*\/[/*]/s/^\(\s*\) @/\1/e<CR>:'y,'zs/ @//eg<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_aocom <SID>WS:AlignPush<CR>:AlignCtrl g /[*/]<CR>:exe "norm \<Plug>AM_acom"<cr>:AlignPop<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_aocom <SID>WS:AlignPush<CR>:AlignCtrl g /[*/]<CR>:exe "norm \<Plug>AM_acom"<cr>:AlignPop<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_ascom <SID>WS:'a,.s/\/[*/]/@&@/e<CR>:'a,.s/\*\//@&/e<CR>:silent! 'a,.g/^\s*@\/[*/]/s/@//ge<CR>:AlignCtrl v ^\s*\/[*/]<CR>:AlignCtrl g \/[*/]<CR>'zk:call AlignMaps#StdAlign(2)<cr>:'y,'zs/^\(\s*\) @/\1/e<CR>:'y,'zs/ @//eg<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_ascom <SID>WS:'a,.s/\/[*/]/@&@/e<CR>:'a,.s/\*\//@&/e<CR>:silent! 'a,.g/^\s*@\/[*/]/s/@//ge<CR>:AlignCtrl v ^\s*\/[*/]<CR>:AlignCtrl g \/[*/]<CR>'zk:call AlignMaps#StdAlign(2)<cr>:'y,'zs/^\(\s*\) @/\1/e<CR>:'y,'zs/ @//eg<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_adec <SID>WS:'a,'zs/\([^ \t/(]\)\([*&]\)/\1 \2/e<CR>:'y,'zv/^\//s/\([^ \t]\)\s\+/\1 /ge<CR>:'y,'zv/^\s*[*/]/s/\([^/][*&]\)\s\+/\1/ge<CR>:'y,'zv/^\s*[*/]/s/^\(\s*\%([a-zA-Z_][a-zA-Z_0-9<>:]*\s\+\%([a-zA-Z_*(&]\)\@=\)\+\)\([*(&]*\)\s*\([a-zA-Z0-9_()<>:]\+\)\s*\(\(\[.\{-}]\)*\)\s*\(=\)\=\s*\(.\{-}\)\=\s*;/\1@\2#@\3\4@\6@\7;@/e<CR>:'y,'zv/^\s*[*/]/s/\*\/\s*$/@*\//e<CR>:'y,'zv/^\s*[*/]/s/^\s\+\*/@@@@@* /e<CR>:'y,'zv/^\s*[*/]/s/^@@@@@\*\(.*[^*/]\)$/&@*/e<CR>'yjma'zk:AlignCtrl v ^\s*[*/#]<CR>:call AlignMaps#StdAlign(1)<cr>:'y,'zv/^\s*[*/]/s/@ //ge<CR>:'y,'zv/^\s*[*/]/s/\(\s*\);/;\1/e<CR>:'y,'zv/^#/s/# //e<CR>:'y,'zv/^\s\+[*/#]/s/\([^/*]\)\(\*\+\)\( \+\)/\1\3\2/e<CR>:'y,'zv/^\s\+[*/#]/s/\((\+\)\( \+\)\*/\2\1*/e<CR>:'y,'zv/^\s\+[*/#]/s/^\(\s\+\) \*/\1*/e<CR>:'y,'zv/^\s\+[*/#]/s/[ \t@]*$//e<CR>:'y,'zs/^[*]/ */e<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_adec <SID>WS:'a,'zs/\([^ \t/(]\)\([*&]\)/\1 \2/e<CR>:'y,'zv/^\//s/\([^ \t]\)\s\+/\1 /ge<CR>:'y,'zv/^\s*[*/]/s/\([^/][*&]\)\s\+/\1/ge<CR>:'y,'zv/^\s*[*/]/s/^\(\s*\%([a-zA-Z_][a-zA-Z_0-9<>:]*\s\+\%([a-zA-Z_*(&]\)\@=\)\+\)\([*(&]*\)\s*\([a-zA-Z0-9_()<>:]\+\)\s*\(\(\[.\{-}]\)*\)\s*\(=\)\=\s*\(.\{-}\)\=\s*;/\1@\2#@\3\4@\6@\7;@/e<CR>:'y,'zv/^\s*[*/]/s/\*\/\s*$/@*\//e<CR>:'y,'zv/^\s*[*/]/s/^\s\+\*/@@@@@* /e<CR>:'y,'zv/^\s*[*/]/s/^@@@@@\*\(.*[^*/]\)$/&@*/e<CR>'yjma'zk:AlignCtrl v ^\s*[*/#]<CR>:call AlignMaps#StdAlign(1)<cr>:'y,'zv/^\s*[*/]/s/@ //ge<CR>:'y,'zv/^\s*[*/]/s/\(\s*\);/;\1/e<CR>:'y,'zv/^#/s/# //e<CR>:'y,'zv/^\s\+[*/#]/s/\([^/*]\)\(\*\+\)\( \+\)/\1\3\2/e<CR>:'y,'zv/^\s\+[*/#]/s/\((\+\)\( \+\)\*/\2\1*/e<CR>:'y,'zv/^\s\+[*/#]/s/^\(\s\+\) \*/\1*/e<CR>:'y,'zv/^\s\+[*/#]/s/[ \t@]*$//e<CR>:'y,'zs/^[*]/ */e<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_adef <SID>WS:AlignPush<CR>:AlignCtrl v ^\s*\(\/\*\<bar>\/\/\)<CR>:'a,.v/^\s*\(\/\*\<bar>\/\/\)/s/^\(\s*\)#\(\s\)*define\s*\(\I[a-zA-Z_0-9(),]*\)\s*\(.\{-}\)\($\<Bar>\/\*\)/#\1\2define @\3@\4@\5/e<CR>:'a,.v/^\s*\(\/\*\<bar>\/\/\)/s/\($\<Bar>\*\/\)/@&/e<CR>'zk:call AlignMaps#StdAlign(1)<cr>'yjma'zk:'a,.v/^\s*\(\/\*\<bar>\/\/\)/s/ @//g<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_adef <SID>WS:AlignPush<CR>:AlignCtrl v ^\s*\(\/\*\<bar>\/\/\)<CR>:'a,.v/^\s*\(\/\*\<bar>\/\/\)/s/^\(\s*\)#\(\s\)*define\s*\(\I[a-zA-Z_0-9(),]*\)\s*\(.\{-}\)\($\<Bar>\/\*\)/#\1\2define @\3@\4@\5/e<CR>:'a,.v/^\s*\(\/\*\<bar>\/\/\)/s/\($\<Bar>\*\/\)/@&/e<CR>'zk:call AlignMaps#StdAlign(1)<cr>'yjma'zk:'a,.v/^\s*\(\/\*\<bar>\/\/\)/s/ @//g<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_afnc :<c-u>set lz<CR>:silent call AlignMaps#Afnc()<CR>:set nolz<CR>
|
nnoremap <silent> <script> <Plug>AM_afnc :<c-u>set lz<CR>:silent call AlignMaps#Afnc()<CR>:set nolz<CR>
|
||||||
map <silent> <script> <Plug>AM_aunum <SID>WS:'a,'zs/\([-+]\=\d\+\)\([eE][-+]\d\+\)\=/\1#\2/ge<CR>:'a,'zs/\([.eE][-+]\=\d\+\)#/\1/ge<CR>:'a,'zs/#\././ge<CR>:'a,'zs/[-+]\=\%(\d\+\%([.#]\d*\)\=\<bar>[.#]\d\+\)\%([eE][-+]\=\d\+\)\=/@&@/ge<CR>:AlignCtrl Imp0P0r<CR>:'a,'zAlign [@#.]<CR>:'a,'zs/\([.#]\)\(\s\+\)\(\d*\%([eE][-+]\=\d\+\)\=\)@/\1\3\2@/ge<CR>:'a,'zs/@//<CR>:'a,'zs/[#@]/ /ge<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_aunum <SID>WS:'a,'zs/\([-+]\=\d\+\)\([eE][-+]\d\+\)\=/\1#\2/ge<CR>:'a,'zs/\([.eE][-+]\=\d\+\)#/\1/ge<CR>:'a,'zs/#\././ge<CR>:'a,'zs/[-+]\=\%(\d\+\%([.#]\d*\)\=\<bar>[.#]\d\+\)\%([eE][-+]\=\d\+\)\=/@&@/ge<CR>:AlignCtrl Imp0P0r<CR>:'a,'zAlign [@#.]<CR>:'a,'zs/\([.#]\)\(\s\+\)\(\d*\%([eE][-+]\=\d\+\)\=\)@/\1\3\2@/ge<CR>:'a,'zs/@//<CR>:'a,'zs/[#@]/ /ge<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_aenum <SID>WS:'a,'zs/\([-+]\=\d\+\)\([eE][-+]\d\+\)\=/\1#\2/ge<CR>:'a,'zs/\([,eE][-+]\=\d\+\)#/\1/ge<CR>:'a,'zs/#,/,/ge<CR>:'a,'zs/[-+]\=\%(\d\+\%([,#]\d*\)\=\<bar>[,#]\d\+\)\%([eE][-+]\=\d\+\)\=/@&@/ge<CR>:AlignCtrl Imp0P0r<CR>:'a,'zAlign [@#,]<CR>:'a,'zs/\([,#]\)\(\s\+\)\(\d*\%([eE][-+]\=\d\+\)\=\)@/\1\3\2@/ge<CR>:'a,'zs/@//<CR>:'a,'zs/[#@]/ /ge<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_aenum <SID>WS:'a,'zs/\([-+]\=\d\+\)\([eE][-+]\d\+\)\=/\1#\2/ge<CR>:'a,'zs/\([,eE][-+]\=\d\+\)#/\1/ge<CR>:'a,'zs/#,/,/ge<CR>:'a,'zs/[-+]\=\%(\d\+\%([,#]\d*\)\=\<bar>[,#]\d\+\)\%([eE][-+]\=\d\+\)\=/@&@/ge<CR>:AlignCtrl Imp0P0r<CR>:'a,'zAlign [@#,]<CR>:'a,'zs/\([,#]\)\(\s\+\)\(\d*\%([eE][-+]\=\d\+\)\=\)@/\1\3\2@/ge<CR>:'a,'zs/@//<CR>:'a,'zs/[#@]/ /ge<CR><SID>WE
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" html table alignment {{{2
|
" html table alignment {{{2
|
||||||
if !hasmapto('<Plug>AM_Htd')|map <unique> <Leader>Htd <Plug>AM_Htd|endif
|
if !hasmapto('<Plug>AM_Htd')|map <unique> <Leader>Htd <Plug>AM_Htd|endif
|
||||||
|
@ -113,86 +115,88 @@ map <silent> <script> <Plug>AM_Htd <SID>WS:'y,'zs%<[tT][rR]><[tT][dD][^>]\{-}>\<
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" character-based right-justified alignment maps {{{2
|
" character-based right-justified alignment maps {{{2
|
||||||
if !hasmapto('<Plug>AM_T|')|map <unique> <Leader>T| <Plug>AM_T||endif
|
if !hasmapto('<Plug>AM_T|')|call AlignMaps#MakeMap("T|")|endif
|
||||||
if !hasmapto('<Plug>AM_T#') |map <unique> <Leader>T# <Plug>AM_T#|endif
|
if !hasmapto('<Plug>AM_T#') |call AlignMaps#MakeMap("T#")|endif
|
||||||
if !hasmapto('<Plug>AM_T,') |map <unique> <Leader>T, <Plug>AM_T,o|endif
|
if !hasmapto('<Plug>AM_T,') |call AlignMaps#MakeMap("T,")|endif
|
||||||
if !hasmapto('<Plug>AM_Ts,') |map <unique> <Leader>Ts, <Plug>AM_Ts,|endif
|
if !hasmapto('<Plug>AM_Ts,') |call AlignMaps#MakeMap("Ts,")|endif
|
||||||
if !hasmapto('<Plug>AM_T:') |map <unique> <Leader>T: <Plug>AM_T:|endif
|
if !hasmapto('<Plug>AM_T:') |call AlignMaps#MakeMap("T:")|endif
|
||||||
if !hasmapto('<Plug>AM_T;') |map <unique> <Leader>T; <Plug>AM_T;|endif
|
if !hasmapto('<Plug>AM_T;') |call AlignMaps#MakeMap("T;")|endif
|
||||||
if !hasmapto('<Plug>AM_T<') |map <unique> <Leader>T< <Plug>AM_T<|endif
|
if !hasmapto('<Plug>AM_T<') |call AlignMaps#MakeMap("T<")|endif
|
||||||
if !hasmapto('<Plug>AM_T=') |map <unique> <Leader>T= <Plug>AM_T=|endif
|
if !hasmapto('<Plug>AM_T=') |call AlignMaps#MakeMap("T=")|endif
|
||||||
if !hasmapto('<Plug>AM_T?') |map <unique> <Leader>T? <Plug>AM_T?|endif
|
if !hasmapto('<Plug>AM_T?') |call AlignMaps#MakeMap("T?")|endif
|
||||||
if !hasmapto('<Plug>AM_T@') |map <unique> <Leader>T@ <Plug>AM_T@|endif
|
if !hasmapto('<Plug>AM_T@') |call AlignMaps#MakeMap("T@")|endif
|
||||||
if !hasmapto('<Plug>AM_TW@') |map <unique> <Leader>TW@ <Plug>AM_TW@|endif
|
if !hasmapto('<Plug>AM_TW@') |call AlignMaps#MakeMap("TW@")|endif
|
||||||
if !hasmapto('<Plug>AM_Tab') |map <unique> <Leader>Tab <Plug>AM_Tab|endif
|
if !hasmapto('<Plug>AM_Tab') |call AlignMaps#MakeMap("Tab")|endif
|
||||||
if !hasmapto('<Plug>AM_Tsp') |map <unique> <Leader>Tsp <Plug>AM_Tsp|endif
|
if !hasmapto('<Plug>AM_Tsp') |call AlignMaps#MakeMap("Tsp")|endif
|
||||||
if !hasmapto('<Plug>AM_T~') |map <unique> <Leader>T~ <Plug>AM_T~|endif
|
if !hasmapto('<Plug>AM_T~') |call AlignMaps#MakeMap("T~")|endif
|
||||||
|
|
||||||
map <silent> <script> <Plug>AM_T| <SID>WS:AlignCtrl mIp0P0=r <Bar><CR>:'a,.Align<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_T| <SID>WS:AlignCtrl mIp0P0=r <Bar><CR>:'a,.Align<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_T# <SID>WS:AlignCtrl mIp0P0=r #<CR>:'a,.Align<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_T# <SID>WS:AlignCtrl mIp0P0=r #<CR>:'a,.Align<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_T, <SID>WS:AlignCtrl mIp0P1=r ,<CR>:'a,.Align<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_T, <SID>WS:AlignCtrl mIp0P1=r ,<CR>:'a,.Align<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_Ts, <SID>WS:AlignCtrl mIp0P1=r ,<CR>:'a,.Align<CR>:'a,.s/\(\s*\),/,\1/ge<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_Ts, <SID>WS:AlignCtrl mIp0P1=r ,<CR>:'a,.Align<CR>:'a,.s/\(\s*\),/,\1/ge<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_T: <SID>WS:AlignCtrl mIp1P1=r :<CR>:'a,.Align<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_T: <SID>WS:AlignCtrl mIp1P1=r :<CR>:'a,.Align<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_T; <SID>WS:AlignCtrl mIp0P0=r ;<CR>:'a,.Align<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_T; <SID>WS:AlignCtrl mIp0P0=r ;<CR>:'a,.Align<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_T< <SID>WS:AlignCtrl mIp0P0=r <<CR>:'a,.Align<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_T< <SID>WS:AlignCtrl mIp0P0=r <<CR>:'a,.Align<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_T= <SID>WS:'a,'z-1s/\s\+\([*/+\-%<Bar>&\~^]\==\)/ \1/e<CR>:'a,'z-1s@ \+\([*/+\-%<Bar>&\~^]\)=@\1=@ge<CR>:'a,'z-1s/; */;@/e<CR>:'a,'z-1s/==/\="\<Char-0x0f>\<Char-0x0f>"/ge<CR>:'a,'z-1s/!=/\x="!\<Char-0x0f>"/ge<CR>:AlignCtrl mIp1P1=r = @<CR>:AlignCtrl g =<CR>:'a,'z-1Align<CR>:'a,'z-1s/; *@/;/e<CR>:'a,'z-1s/; *$/;/e<CR>:'a,'z-1s@\([*/+\-%<Bar>&\~^]\)\( \+\)=@\2\1=@ge<CR>:'a,'z-1s/\( \+\);/;\1/ge<CR>:'a,'z-1s/\xff/=/ge<CR><SID>WE:exe "norm <Plug>acom"
|
nnoremap <silent> <script> <Plug>AM_T= <SID>WS:'a,'z-1s/\s\+\([*/+\-%<Bar>&\~^]\==\)/ \1/e<CR>:'a,'z-1s@ \+\([*/+\-%<Bar>&\~^]\)=@\1=@ge<CR>:'a,'z-1s/; */;@/e<CR>:'a,'z-1s/==/\="\<Char-0x0f>\<Char-0x0f>"/ge<CR>:'a,'z-1s/!=/\x="!\<Char-0x0f>"/ge<CR>:AlignCtrl mIp1P1=r = @<CR>:AlignCtrl g =<CR>:'a,'z-1Align<CR>:'a,'z-1s/; *@/;/e<CR>:'a,'z-1s/; *$/;/e<CR>:'a,'z-1s@\([*/+\-%<Bar>&\~^]\)\( \+\)=@\2\1=@ge<CR>:'a,'z-1s/\( \+\);/;\1/ge<CR>:'a,'z-1s/\xff/=/ge<CR><SID>WE:exe "norm <Plug>acom"
|
||||||
map <silent> <script> <Plug>AM_T? <SID>WS:AlignCtrl mIp0P0=r ?<CR>:'a,.Align<CR>:'y,'zs/ \( *\);/;\1/ge<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_T? <SID>WS:AlignCtrl mIp0P0=r ?<CR>:'a,.Align<CR>:'y,'zs/ \( *\);/;\1/ge<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_T@ <SID>WS:AlignCtrl mIp0P0=r @<CR>:'a,.Align<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_T@ <SID>WS:AlignCtrl mIp0P0=r @<CR>:'a,.Align<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_TW@ <SID>WS:AlignCtrl mWp0P0=r @<CR>:'a,.Align<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_TW@ <SID>WS:AlignCtrl mWp0P0=r @<CR>:'a,.Align<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_Tab <SID>WS:'a,.s/^\(\t*\)\(.*\)/\=submatch(1).escape(substitute(submatch(2),'\t','@','g'),'\')/<CR>:AlignCtrl mI=r @<CR>:'a,.Align<CR>:'y+1,'z-1s/@/ /g<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_Tab <SID>WS:'a,.s/^\(\t*\)\(.*\)/\=submatch(1).escape(substitute(submatch(2),'\t','@','g'),'\')/<CR>:AlignCtrl mI=r @<CR>:'a,.Align<CR>:'y+1,'z-1s/@/ /g<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_Tsp <SID>WS:'a,.s/^\(\s*\)\(.*\)/\=submatch(1).escape(substitute(submatch(2),'\s\+','@','g'),'\')/<CR>:AlignCtrl mI=r @<CR>:'a,.Align<CR>:'y+1,'z-1s/@/ /g<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_Tsp <SID>WS:'a,.s/^\(\s*\)\(.*\)/\=submatch(1).escape(substitute(submatch(2),'\s\+','@','g'),'\')/<CR>:AlignCtrl mI=r @<CR>:'a,.Align<CR>:'y+1,'z-1s/@/ /g<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_T~ <SID>WS:AlignCtrl mIp0P0=r ~<CR>:'a,.Align<CR>:'y,'zs/ \( *\);/;\1/ge<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_T~ <SID>WS:AlignCtrl mIp0P0=r ~<CR>:'a,.Align<CR>:'y,'zs/ \( *\);/;\1/ge<CR><SID>WE
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" character-based left-justified alignment maps {{{2
|
" character-based left-justified alignment maps {{{2
|
||||||
if !hasmapto('<Plug>AM_t|') |map <unique> <Leader>t| <Plug>AM_t||endif
|
if !hasmapto('<Plug>AM_t|','n') |call AlignMaps#MakeMap("t|")|endif
|
||||||
if !hasmapto('<Plug>AM_t#') |map <unique> <Leader>t# <Plug>AM_t#|endif
|
if !hasmapto('<Plug>AM_t#','n') |call AlignMaps#MakeMap("t#")|endif
|
||||||
if !hasmapto('<Plug>AM_t,') |map <unique> <Leader>t, <Plug>AM_t,|endif
|
if !hasmapto('<Plug>AM_t,','n') |call AlignMaps#MakeMap("t,")|endif
|
||||||
if !hasmapto('<Plug>AM_t:') |map <unique> <Leader>t: <Plug>AM_t:|endif
|
if !hasmapto('<Plug>AM_t:','n') |call AlignMaps#MakeMap("t:")|endif
|
||||||
if !hasmapto('<Plug>AM_t;') |map <unique> <Leader>t; <Plug>AM_t;|endif
|
if !hasmapto('<Plug>AM_t;','n') |call AlignMaps#MakeMap("t;")|endif
|
||||||
if !hasmapto('<Plug>AM_t<') |map <unique> <Leader>t< <Plug>AM_t<|endif
|
if !hasmapto('<Plug>AM_t<','n') |call AlignMaps#MakeMap("t<")|endif
|
||||||
if !hasmapto('<Plug>AM_t=') |map <unique> <Leader>t= <Plug>AM_t=|endif
|
if !hasmapto('<Plug>AM_t=','n') |call AlignMaps#MakeMap("t=")|endif
|
||||||
if !hasmapto('<Plug>AM_ts,') |map <unique> <Leader>ts, <Plug>AM_ts,|endif
|
if !hasmapto('<Plug>AM_ts,','n') |call AlignMaps#MakeMap("ts,")|endif
|
||||||
if !hasmapto('<Plug>AM_ts:') |map <unique> <Leader>ts: <Plug>AM_ts:|endif
|
if !hasmapto('<Plug>AM_ts:','n') |call AlignMaps#MakeMap("ts:")|endif
|
||||||
if !hasmapto('<Plug>AM_ts;') |map <unique> <Leader>ts; <Plug>AM_ts;|endif
|
if !hasmapto('<Plug>AM_ts;','n') |call AlignMaps#MakeMap("ts;")|endif
|
||||||
if !hasmapto('<Plug>AM_ts<') |map <unique> <Leader>ts< <Plug>AM_ts<|endif
|
if !hasmapto('<Plug>AM_ts<','n') |call AlignMaps#MakeMap("ts<")|endif
|
||||||
if !hasmapto('<Plug>AM_ts=') |map <unique> <Leader>ts= <Plug>AM_ts=|endif
|
if !hasmapto('<Plug>AM_ts=','n') |call AlignMaps#MakeMap("ts=")|endif
|
||||||
if !hasmapto('<Plug>AM_w=') |map <unique> <Leader>w= <Plug>AM_w=|endif
|
if !hasmapto('<Plug>AM_w=','n') |call AlignMaps#MakeMap("w=")|endif
|
||||||
if !hasmapto('<Plug>AM_t?') |map <unique> <Leader>t? <Plug>AM_t?|endif
|
if !hasmapto('<Plug>AM_t?','n') |call AlignMaps#MakeMap("t?")|endif
|
||||||
if !hasmapto('<Plug>AM_t~') |map <unique> <Leader>t~ <Plug>AM_t~|endif
|
if !hasmapto('<Plug>AM_t~','n') |call AlignMaps#MakeMap("t~")|endif
|
||||||
if !hasmapto('<Plug>AM_t@') |map <unique> <Leader>t@ <Plug>AM_t@|endif
|
if !hasmapto('<Plug>AM_t@','n') |call AlignMaps#MakeMap("t@")|endif
|
||||||
if !hasmapto('<Plug>AM_tW@') |map <unique> <Leader>tW@ <Plug>AM_tW@|endif
|
if !hasmapto('<Plug>AM_tW@','n') |call AlignMaps#MakeMap("tW@")|endif
|
||||||
if !hasmapto('<Plug>AM_m=') |map <unique> <Leader>m= <Plug>AM_m=|endif
|
if !hasmapto('<Plug>AM_m=','n') |call AlignMaps#MakeMap("m=")|endif
|
||||||
if !hasmapto('<Plug>AM_tab') |map <unique> <Leader>tab <Plug>AM_tab|endif
|
if !hasmapto('<Plug>AM_tab','n') |call AlignMaps#MakeMap("tab")|endif
|
||||||
if !hasmapto('<Plug>AM_tml') |map <unique> <Leader>tml <Plug>AM_tml|endif
|
if !hasmapto('<Plug>AM_tml','n') |call AlignMaps#MakeMap("tml")|endif
|
||||||
if !hasmapto('<Plug>AM_tsp') |map <unique> <Leader>tsp <Plug>AM_tsp|endif
|
if !hasmapto('<Plug>AM_tsp','n') |call AlignMaps#MakeMap("tsp")|endif
|
||||||
if !hasmapto('<Plug>AM_tsq') |map <unique> <Leader>tsq <Plug>AM_tsq|endif
|
if !hasmapto('<Plug>AM_tsq','n') |call AlignMaps#MakeMap("tsq")|endif
|
||||||
if !hasmapto('<Plug>AM_tt') |map <unique> <Leader>tt <Plug>AM_tt|endif
|
if !hasmapto('<Plug>AM_tt','n') |call AlignMaps#MakeMap("tt")|endif
|
||||||
|
if !hasmapto('<Plug>AM_tab','n') |call AlignMaps#MakeMap("tab")|endif
|
||||||
|
|
||||||
map <silent> <script> <Plug>AM_t| <SID>WS:AlignCtrl mIp0P0=l <Bar><CR>:'a,.Align<CR><SID>WE
|
" <Plug> normal mode mappings
|
||||||
map <silent> <script> <Plug>AM_t# <SID>WS:AlignCtrl mIp0P0=l #<CR>:'a,.Align<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_t| <SID>WS:AlignCtrl mIp0P0=l <Bar><CR>:'a,.Align<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_t, <SID>WS:AlignCtrl mIp0P1=l ,<CR>:'a,.Align<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_t# <SID>WS:AlignCtrl mIp0P0=l #<CR>:'a,.Align<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_t: <SID>WS:AlignCtrl mIp1P1=l :<CR>:'a,.Align<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_t, <SID>WS:AlignCtrl mIp0P1=l ,<CR>:'a,.Align<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_t; <SID>WS:AlignCtrl mIp0P1=l ;<CR>:'a,.Align<CR>:sil 'y,'zs/\( *\);/;\1/ge<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_t: <SID>WS:AlignCtrl mIp1P1=l :<CR>:'a,.Align<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_t< <SID>WS:AlignCtrl mIp0P0=l <<CR>:'a,.Align<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_t; <SID>WS:AlignCtrl mIp0P1=l ;<CR>:'a,.Align<CR>:sil 'y,'zs/\( *\);/;\1/ge<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_t= <SID>WS:call AlignMaps#Equals()<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_t< <SID>WS:AlignCtrl mIp0P0=l <<CR>:'a,.Align<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_ts, <SID>WS:AlignCtrl mIp0P1=l #\zs<CR>:'a,.Align<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_t= <SID>WS:call AlignMaps#Equals()<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_ts, <SID>WS:AlignCtrl mIp0P1=l ,\zs<CR>:'a,.Align<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_ts, <SID>WS:AlignCtrl mIp0P1=l #\zs<CR>:'a,.Align<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_ts: <SID>WS:AlignCtrl mIp1P1=l :\zs<CR>:'a,.Align<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_ts, <SID>WS:AlignCtrl mIp0P1=l ,\zs<CR>:'a,.Align<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_ts; <SID>WS:AlignCtrl mIp1P1=l ;\zs<CR>:'a,.Align<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_ts: <SID>WS:AlignCtrl mIp1P1=l :\zs<CR>:'a,.Align<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_ts< <SID>WS:AlignCtrl mIp1P1=l <\zs<CR>:'a,.Align<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_ts; <SID>WS:AlignCtrl mIp1P1=l ;\zs<CR>:'a,.Align<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_ts= <SID>WS:AlignCtrl mIp1P1=l =\zs<CR>:'a,.Align<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_ts< <SID>WS:AlignCtrl mIp1P1=l <\zs<CR>:'a,.Align<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_w= <SID>WS:'a,'zg/=/s/\s\+\([*/+\-%<Bar>&\~^]\==\)/ \1/e<CR>:'a,'zg/=/s@ \+\([*/+\-%<Bar>&\~^]\)=@\1=@ge<CR>:'a,'zg/=/s/==/\="\<Char-0x0f>\<Char-0x0f>"/ge<CR>:'a,'zg/=/s/!=/\="!\<Char-0x0f>"/ge<CR>'zk:AlignCtrl mWp1P1=l =<CR>:AlignCtrl g =<CR>:'a,'z-1g/=/Align<CR>:'a,'z-1g/=/s@\([*/+\-%<Bar>&\~^!=]\)\( \+\)=@\2\1=@ge<CR>:'a,'z-1g/=/s/\( \+\);/;\1/ge<CR>:'a,'z-1v/^\s*\/[*/]/s/\/[*/]/@&@/e<CR>:'a,'z-1v/^\s*\/[*/]/s/\*\//@&/e<CR>'zk:call AlignMaps#StdAlign(1)<cr>:'y,'zs/^\(\s*\) @/\1/e<CR>:'a,'z-1g/=/s/\xff/=/ge<CR>:'y,'zg/=/s/ @//eg<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_ts= <SID>WS:AlignCtrl mIp1P1=l =\zs<CR>:'a,.Align<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_t? <SID>WS:AlignCtrl mIp0P0=l ?<CR>:'a,.Align<CR>:.,'zs/ \( *\);/;\1/ge<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_w= <SID>WS:'a,'zg/=/s/\s\+\([*/+\-%<Bar>&\~^]\==\)/ \1/e<CR>:'a,'zg/=/s@ \+\([*/+\-%<Bar>&\~^]\)=@\1=@ge<CR>:'a,'zg/=/s/==/\="\<Char-0x0f>\<Char-0x0f>"/ge<CR>:'a,'zg/=/s/!=/\="!\<Char-0x0f>"/ge<CR>'zk:AlignCtrl mWp1P1=l =<CR>:AlignCtrl g =<CR>:'a,'z-1g/=/Align<CR>:'a,'z-1g/=/s@\([*/+\-%<Bar>&\~^!=]\)\( \+\)=@\2\1=@ge<CR>:'a,'z-1g/=/s/\( \+\);/;\1/ge<CR>:'a,'z-1v/^\s*\/[*/]/s/\/[*/]/@&@/e<CR>:'a,'z-1v/^\s*\/[*/]/s/\*\//@&/e<CR>'zk:call AlignMaps#StdAlign(1)<cr>:'y,'zs/^\(\s*\) @/\1/e<CR>:'a,'z-1g/=/s/\xff/=/ge<CR>:'y,'zg/=/s/ @//eg<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_t~ <SID>WS:AlignCtrl mIp0P0=l ~<CR>:'a,.Align<CR>:'y,'zs/ \( *\);/;\1/ge<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_t? <SID>WS:AlignCtrl mIp0P0=l ?<CR>:'a,.Align<CR>:.,'zs/ \( *\);/;\1/ge<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_t@ <SID>WS:call AlignMaps#StdAlign(1)<cr><SID>WE
|
nnoremap <silent> <script> <Plug>AM_t~ <SID>WS:AlignCtrl mIp0P0=l ~<CR>:'a,.Align<CR>:'y,'zs/ \( *\);/;\1/ge<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_tW@ <SID>WS:call AlignMaps#StdAlign(2)<cr><SID>WE
|
nnoremap <silent> <script> <Plug>AM_t@ <SID>WS:call AlignMaps#StdAlign(1)<cr><SID>WE
|
||||||
map <silent> <script> <Plug>AM_m= <SID>WS:'a,'zs/\s\+\([*/+\-%<Bar>&\~^]\==\)/ \1/e<CR>:'a,'zs@ \+\([*/+\-%<Bar>&\~^]\)=@\1=@ge<CR>:'a,'zs/==/\="\<Char-0x0f>\<Char-0x0f>"/ge<CR>:'a,'zs/!=/\="!\<Char-0x0f>"/ge<CR>'zk:AlignCtrl mIp1P1=l =<CR>:AlignCtrl g =<CR>:'a,'z-1Align<CR>:'a,'z-1s@\([*/+\-%<Bar>&\~^!=]\)\( \+\)=@\2\1=@ge<CR>:'a,'z-1s/\( \+\);/;\1/ge<CR>:'a,'z-s/%\ze[^=]/ @%@ /e<CR>'zk:call AlignMaps#StdAlign(1)<cr>:'y,'zs/^\(\s*\) @/\1/e<CR>:'a,'z-1s/\xff/=/ge<CR>:'y,'zs/ @//eg<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_tW@ <SID>WS:call AlignMaps#StdAlign(2)<cr><SID>WE
|
||||||
map <silent> <script> <Plug>AM_tab <SID>WS:'a,.s/^\(\t*\)\(.*\)$/\=submatch(1).escape(substitute(submatch(2),'\t',"\<Char-0x0f>",'g'),'\')/<CR>:if &ts == 1<bar>exe "AlignCtrl mI=lp0P0 \<Char-0x0f>"<bar>else<bar>exe "AlignCtrl mI=l"<bar>endif<CR>:'a,.Align <Char-0x0f><CR>:exe "'y+1,'z-1s/\<Char-0x0f>/".((&ts == 1)? '\t' : ' ')."/g"<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_m= <SID>WS:'a,'zs/\s\+\([*/+\-%<Bar>&\~^]\==\)/ \1/e<CR>:'a,'zs@ \+\([*/+\-%<Bar>&\~^]\)=@\1=@ge<CR>:'a,'zs/==/\="\<Char-0x0f>\<Char-0x0f>"/ge<CR>:'a,'zs/!=/\="!\<Char-0x0f>"/ge<CR>'zk:AlignCtrl mIp1P1=l =<CR>:AlignCtrl g =<CR>:'a,'z-1Align<CR>:'a,'z-1s@\([*/+\-%<Bar>&\~^!=]\)\( \+\)=@\2\1=@ge<CR>:'a,'z-1s/\( \+\);/;\1/ge<CR>:'a,'z-s/%\ze[^=]/ @%@ /e<CR>'zk:call AlignMaps#StdAlign(1)<cr>:'y,'zs/^\(\s*\) @/\1/e<CR>:'a,'z-1s/\xff/=/ge<CR>:'y,'zs/ @//eg<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_tml <SID>WS:AlignCtrl mWp1P0=l \\\@<!\\\s*$<CR>:'a,.Align<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_tab <SID>WS:'a,.s/^\(\t*\)\(.*\)$/\=submatch(1).escape(substitute(submatch(2),'\t',"\<Char-0x0f>",'g'),'\')/<CR>:if &ts == 1<bar>exe "AlignCtrl mI=lp0P0 \<Char-0x0f>"<bar>else<bar>exe "AlignCtrl mI=l"<bar>endif<CR>:'a,.Align <Char-0x0f><CR>:exe "'y+1,'z-1s/\<Char-0x0f>/".((&ts == 1)? '\t' : ' ')."/g"<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_tsp <SID>WS:keepj 'a,.s/^\(\s*\)\(.*\)/\=submatch(1).escape(substitute(submatch(2),'\s\+','@','g'),'\')/<CR>:AlignCtrl mI=lp0P0 @<CR>:'a,.Align<CR>:keepj 'y+1,'z-1s/@/ /g<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_tml <SID>WS:AlignCtrl mWp1P0=l \\\@<!\\\s*$<CR>:'a,.Align<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_tsq <SID>WS:'a,.AlignReplaceQuotedSpaces<CR>:keepj 'a,.s/^\(\s*\)\(.*\)/\=submatch(1).substitute(submatch(2),'\s\+','@','g')/<CR>:AlignCtrl mIp0P0=l @<CR>:'a,.Align<CR>:keepj 'y+1,'z-1s/[%@]/ /g<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_tsp <SID>WS:keepj 'a,.s/^\(\s*\)\(.*\)/\=submatch(1).escape(substitute(submatch(2),'\s\+','@','g'),'\')/<CR>:AlignCtrl mI=lp0P0 @<CR>:'a,.Align<CR>:keepj 'y+1,'z-1s/@/ /g<CR><SID>WE
|
||||||
map <silent> <script> <Plug>AM_tt <SID>WS:AlignCtrl mIp1P1=l \\\@<!& \\\\<CR>:'a,.Align<CR><SID>WE
|
nnoremap <silent> <script> <Plug>AM_tsq <SID>WS:'a,.AlignReplaceQuotedSpaces<CR>:keepj 'a,.s/^\(\s*\)\(.*\)/\=submatch(1).substitute(submatch(2),'\s\+','@','g')/<CR>:AlignCtrl mIp0P0=l @<CR>:'a,.Align<CR>:keepj 'y+1,'z-1s/[%@]/ /g<CR><SID>WE
|
||||||
|
nnoremap <silent> <script> <Plug>AM_tt <SID>WS:AlignCtrl mIp1P1=l \\\@<!& \\\\<CR>:'a,.Align<CR><SID>WE
|
||||||
|
|
||||||
" =====================================================================
|
" =====================================================================
|
||||||
" Menu Support: {{{1
|
" Menu Support: {{{1
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
" AlignPlugin: tool to align multiple fields based on one or more separators
|
" AlignPlugin: tool to align multiple fields based on one or more separators
|
||||||
" Author: Charles E. Campbell, Jr.
|
" Author: Charles E. Campbell
|
||||||
" Date: Nov 02, 2008
|
" Date: Nov 02, 2008
|
||||||
" GetLatestVimScripts: 294 1 :AutoInstall: Align.vim
|
" GetLatestVimScripts: 294 1 :AutoInstall: Align.vim
|
||||||
" GetLatestVimScripts: 1066 1 :AutoInstall: cecutil.vim
|
" GetLatestVimScripts: 1066 1 :AutoInstall: cecutil.vim
|
||||||
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell, Jr. {{{1
|
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1
|
||||||
" Permission is hereby granted to use and distribute this code,
|
" Permission is hereby granted to use and distribute this code,
|
||||||
" with or without modifications, provided that this copyright
|
" with or without modifications, provided that this copyright
|
||||||
" notice is copied with it. Like anything else that's free,
|
" notice is copied with it. Like anything else that's free,
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
if &cp || exists("g:loaded_AlignPlugin")
|
if &cp || exists("g:loaded_AlignPlugin")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let g:loaded_AlignPlugin = "v36"
|
let g:loaded_AlignPlugin = "v37"
|
||||||
let s:keepcpo = &cpo
|
let s:keepcpo = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
" cecutil.vim : save/restore window position
|
" cecutil.vim : save/restore window position
|
||||||
" save/restore mark position
|
" save/restore mark position
|
||||||
" save/restore selected user maps
|
" save/restore selected user maps
|
||||||
" Author: Charles E. Campbell, Jr.
|
" Author: Charles E. Campbell
|
||||||
" Version: 17
|
" Version: 18h ASTRO-ONLY
|
||||||
" Date: Sep 04, 2007
|
" Date: Oct 16, 2012
|
||||||
"
|
"
|
||||||
" Saving Restoring Destroying Marks: {{{1
|
" Saving Restoring Destroying Marks: {{{1
|
||||||
" call SaveMark(markname) let savemark= SaveMark(markname)
|
" call SaveMark(markname) let savemark= SaveMark(markname)
|
||||||
|
@ -27,20 +27,23 @@
|
||||||
" You believe that God is one. You do well. The demons also {{{1
|
" You believe that God is one. You do well. The demons also {{{1
|
||||||
" believe, and shudder. But do you want to know, vain man, that
|
" believe, and shudder. But do you want to know, vain man, that
|
||||||
" faith apart from works is dead? (James 2:19,20 WEB)
|
" faith apart from works is dead? (James 2:19,20 WEB)
|
||||||
|
"redraw!|call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
" Load Once: {{{1
|
" Load Once: {{{1
|
||||||
if &cp || exists("g:loaded_cecutil")
|
if &cp || exists("g:loaded_cecutil")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let g:loaded_cecutil = "v17"
|
let g:loaded_cecutil = "v18h"
|
||||||
let s:keepcpo = &cpo
|
let s:keepcpo = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
"DechoVarOn
|
"DechoRemOn
|
||||||
|
|
||||||
" -----------------------
|
" =======================
|
||||||
" Public Interface: {{{1
|
" Public Interface: {{{1
|
||||||
" -----------------------
|
" =======================
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
" Map Interface: {{{2
|
" Map Interface: {{{2
|
||||||
if !hasmapto('<Plug>SaveWinPosn')
|
if !hasmapto('<Plug>SaveWinPosn')
|
||||||
map <unique> <Leader>swp <Plug>SaveWinPosn
|
map <unique> <Leader>swp <Plug>SaveWinPosn
|
||||||
|
@ -51,43 +54,56 @@ endif
|
||||||
nmap <silent> <Plug>SaveWinPosn :call SaveWinPosn()<CR>
|
nmap <silent> <Plug>SaveWinPosn :call SaveWinPosn()<CR>
|
||||||
nmap <silent> <Plug>RestoreWinPosn :call RestoreWinPosn()<CR>
|
nmap <silent> <Plug>RestoreWinPosn :call RestoreWinPosn()<CR>
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
" Command Interface: {{{2
|
" Command Interface: {{{2
|
||||||
com! -bar -nargs=0 SWP call SaveWinPosn()
|
com! -bar -nargs=0 SWP call SaveWinPosn()
|
||||||
com! -bar -nargs=0 RWP call RestoreWinPosn()
|
com! -bar -nargs=? RWP call RestoreWinPosn(<args>)
|
||||||
com! -bar -nargs=1 SM call SaveMark(<q-args>)
|
com! -bar -nargs=1 SM call SaveMark(<q-args>)
|
||||||
com! -bar -nargs=1 RM call RestoreMark(<q-args>)
|
com! -bar -nargs=1 RM call RestoreMark(<q-args>)
|
||||||
com! -bar -nargs=1 DM call DestroyMark(<q-args>)
|
com! -bar -nargs=1 DM call DestroyMark(<q-args>)
|
||||||
|
|
||||||
|
com! -bar -nargs=1 WLR call s:WinLineRestore(<q-args>)
|
||||||
|
|
||||||
if v:version < 630
|
if v:version < 630
|
||||||
let s:modifier= "sil "
|
let s:modifier= "sil! "
|
||||||
else
|
else
|
||||||
let s:modifier= "sil keepj "
|
let s:modifier= "sil! keepj "
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" ===============
|
||||||
|
" Functions: {{{1
|
||||||
|
" ===============
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" SaveWinPosn: {{{1
|
" SaveWinPosn: {{{2
|
||||||
" let winposn= SaveWinPosn() will save window position in winposn variable
|
" let winposn= SaveWinPosn() will save window position in winposn variable
|
||||||
" call SaveWinPosn() will save window position in b:cecutil_winposn{b:cecutil_iwinposn}
|
" call SaveWinPosn() will save window position in b:cecutil_winposn{b:cecutil_iwinposn}
|
||||||
" let winposn= SaveWinPosn(0) will *only* save window position in winposn variable (no stacking done)
|
" let winposn= SaveWinPosn(0) will *only* save window position in winposn variable (no stacking done)
|
||||||
fun! SaveWinPosn(...)
|
fun! SaveWinPosn(...)
|
||||||
" call Dfunc("SaveWinPosn() a:0=".a:0)
|
" echomsg "Decho: SaveWinPosn() a:0=".a:0
|
||||||
if line(".") == 1 && getline(1) == ""
|
if line("$") == 1 && getline(1) == ""
|
||||||
" call Dfunc("SaveWinPosn : empty buffer")
|
" echomsg "Decho: SaveWinPosn : empty buffer"
|
||||||
return ""
|
return ""
|
||||||
endif
|
endif
|
||||||
let so_keep = &so
|
let so_keep = &l:so
|
||||||
let siso_keep = &siso
|
let siso_keep = &siso
|
||||||
let ss_keep = &ss
|
let ss_keep = &l:ss
|
||||||
set so=0 siso=0 ss=0
|
setlocal so=0 siso=0 ss=0
|
||||||
|
|
||||||
let swline = line(".")
|
let swline = line(".") " save-window line in file
|
||||||
let swcol = col(".")
|
let swcol = col(".") " save-window column in file
|
||||||
let swwline = winline() - 1
|
if swcol >= col("$")
|
||||||
let swwcol = virtcol(".") - wincol()
|
let swcol= swcol + virtcol(".") - virtcol("$") " adjust for virtual edit (cursor past end-of-line)
|
||||||
let savedposn = "call GoWinbufnr(".winbufnr(0).")|silent ".swline
|
endif
|
||||||
|
let swwline = winline() - 1 " save-window window line
|
||||||
|
let swwcol = virtcol(".") - wincol() " save-window window column
|
||||||
|
let savedposn = ""
|
||||||
|
" echomsg "Decho: sw[".swline.",".swcol."] sww[".swwline.",".swwcol."]"
|
||||||
|
let savedposn = "call GoWinbufnr(".winbufnr(0).")"
|
||||||
|
let savedposn = savedposn."|".s:modifier.swline
|
||||||
let savedposn = savedposn."|".s:modifier."norm! 0z\<cr>"
|
let savedposn = savedposn."|".s:modifier."norm! 0z\<cr>"
|
||||||
if swwline > 0
|
if swwline > 0
|
||||||
let savedposn= savedposn.":".s:modifier."norm! ".swwline."\<c-y>\<cr>"
|
let savedposn= savedposn.":".s:modifier."call s:WinLineRestore(".(swwline+1).")\<cr>"
|
||||||
endif
|
endif
|
||||||
if swwcol > 0
|
if swwcol > 0
|
||||||
let savedposn= savedposn.":".s:modifier."norm! 0".swwcol."zl\<cr>"
|
let savedposn= savedposn.":".s:modifier."norm! 0".swwcol."zl\<cr>"
|
||||||
|
@ -99,54 +115,56 @@ fun! SaveWinPosn(...)
|
||||||
" only when SaveWinPosn() is used
|
" only when SaveWinPosn() is used
|
||||||
if a:0 == 0
|
if a:0 == 0
|
||||||
if !exists("b:cecutil_iwinposn")
|
if !exists("b:cecutil_iwinposn")
|
||||||
let b:cecutil_iwinposn= 1
|
let b:cecutil_iwinposn= 1
|
||||||
else
|
else
|
||||||
let b:cecutil_iwinposn= b:cecutil_iwinposn + 1
|
let b:cecutil_iwinposn= b:cecutil_iwinposn + 1
|
||||||
endif
|
endif
|
||||||
" call Decho("saving posn to SWP stack")
|
" echomsg "Decho: saving posn to SWP stack"
|
||||||
let b:cecutil_winposn{b:cecutil_iwinposn}= savedposn
|
let b:cecutil_winposn{b:cecutil_iwinposn}= savedposn
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let &so = so_keep
|
let &l:so = so_keep
|
||||||
let &siso = siso_keep
|
let &siso = siso_keep
|
||||||
let &ss = ss_keep
|
let &l:ss = ss_keep
|
||||||
|
|
||||||
" if exists("b:cecutil_iwinposn") " Decho
|
" if exists("b:cecutil_iwinposn") " Decho
|
||||||
" call Decho("b:cecutil_winpos{".b:cecutil_iwinposn."}[".b:cecutil_winposn{b:cecutil_iwinposn}."]")
|
" echomsg "Decho: b:cecutil_winpos{".b:cecutil_iwinposn."}[".b:cecutil_winposn{b:cecutil_iwinposn}."]"
|
||||||
" else " Decho
|
" else " Decho
|
||||||
" call Decho("b:cecutil_iwinposn doesn't exist")
|
" echomsg "Decho: b:cecutil_iwinposn doesn't exist"
|
||||||
" endif " Decho
|
" endif " Decho
|
||||||
" call Dret("SaveWinPosn [".savedposn."]")
|
" echomsg "Decho: SaveWinPosn [".savedposn."]"
|
||||||
return savedposn
|
return savedposn
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" RestoreWinPosn: {{{1
|
" RestoreWinPosn: {{{2
|
||||||
|
" call RestoreWinPosn()
|
||||||
|
" call RestoreWinPosn(winposn)
|
||||||
fun! RestoreWinPosn(...)
|
fun! RestoreWinPosn(...)
|
||||||
" call Dfunc("RestoreWinPosn() a:0=".a:0)
|
" echomsg "Decho: RestoreWinPosn() a:0=".a:0
|
||||||
" call Decho("getline(1)<".getline(1).">")
|
" echomsg "Decho: getline(1)<".getline(1).">"
|
||||||
" call Decho("line(.)=".line("."))
|
" echomsg "Decho: line(.)=".line(".")
|
||||||
if line(".") == 1 && getline(1) == ""
|
if line("$") == 1 && getline(1) == ""
|
||||||
" call Dfunc("RestoreWinPosn : empty buffer")
|
" echomsg "Decho: RestoreWinPosn : empty buffer"
|
||||||
return ""
|
return ""
|
||||||
endif
|
endif
|
||||||
let so_keep = &so
|
let so_keep = &l:so
|
||||||
let siso_keep = &siso
|
let siso_keep = &l:siso
|
||||||
let ss_keep = &ss
|
let ss_keep = &l:ss
|
||||||
set so=0 siso=0 ss=0
|
setlocal so=0 siso=0 ss=0
|
||||||
|
|
||||||
if a:0 == 0 || a:1 == ""
|
if a:0 == 0 || a:1 == ""
|
||||||
" use saved window position in b:cecutil_winposn{b:cecutil_iwinposn} if it exists
|
" use saved window position in b:cecutil_winposn{b:cecutil_iwinposn} if it exists
|
||||||
if exists("b:cecutil_iwinposn") && exists("b:cecutil_winposn{b:cecutil_iwinposn}")
|
if exists("b:cecutil_iwinposn") && exists("b:cecutil_winposn{b:cecutil_iwinposn}")
|
||||||
" call Decho("using stack b:cecutil_winposn{".b:cecutil_iwinposn."}<".b:cecutil_winposn{b:cecutil_iwinposn}.">")
|
" echomsg "Decho: using stack b:cecutil_winposn{".b:cecutil_iwinposn."}<".b:cecutil_winposn{b:cecutil_iwinposn}.">"
|
||||||
try
|
try
|
||||||
exe "silent! ".b:cecutil_winposn{b:cecutil_iwinposn}
|
exe s:modifier.b:cecutil_winposn{b:cecutil_iwinposn}
|
||||||
catch /^Vim\%((\a\+)\)\=:E749/
|
catch /^Vim\%((\a\+)\)\=:E749/
|
||||||
" ignore empty buffer error messages
|
" ignore empty buffer error messages
|
||||||
endtry
|
endtry
|
||||||
" normally drop top-of-stack by one
|
" normally drop top-of-stack by one
|
||||||
" but while new top-of-stack doesn't exist
|
" but while new top-of-stack doesn't exist
|
||||||
" drop top-of-stack index by one again
|
" drop top-of-stack index by one again
|
||||||
if b:cecutil_iwinposn >= 1
|
if b:cecutil_iwinposn >= 1
|
||||||
unlet b:cecutil_winposn{b:cecutil_iwinposn}
|
unlet b:cecutil_winposn{b:cecutil_iwinposn}
|
||||||
let b:cecutil_iwinposn= b:cecutil_iwinposn - 1
|
let b:cecutil_iwinposn= b:cecutil_iwinposn - 1
|
||||||
|
@ -158,49 +176,68 @@ fun! RestoreWinPosn(...)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
echohl WarningMsg
|
echohl WarningMsg
|
||||||
echomsg "***warning*** need to SaveWinPosn first!"
|
echomsg "***warning*** need to SaveWinPosn first!"
|
||||||
echohl None
|
echohl None
|
||||||
endif
|
endif
|
||||||
|
|
||||||
else " handle input argument
|
else " handle input argument
|
||||||
" call Decho("using input a:1<".a:1.">")
|
" echomsg "Decho: using input a:1<".a:1.">"
|
||||||
" use window position passed to this function
|
" use window position passed to this function
|
||||||
exe "silent ".a:1
|
exe a:1
|
||||||
" remove a:1 pattern from b:cecutil_winposn{b:cecutil_iwinposn} stack
|
" remove a:1 pattern from b:cecutil_winposn{b:cecutil_iwinposn} stack
|
||||||
if exists("b:cecutil_iwinposn")
|
if exists("b:cecutil_iwinposn")
|
||||||
let jwinposn= b:cecutil_iwinposn
|
let jwinposn= b:cecutil_iwinposn
|
||||||
while jwinposn >= 1 " search for a:1 in iwinposn..1
|
while jwinposn >= 1 " search for a:1 in iwinposn..1
|
||||||
if exists("b:cecutil_winposn{jwinposn}") " if it exists
|
if exists("b:cecutil_winposn{jwinposn}") " if it exists
|
||||||
if a:1 == b:cecutil_winposn{jwinposn} " and the pattern matches
|
if a:1 == b:cecutil_winposn{jwinposn} " and the pattern matches
|
||||||
unlet b:cecutil_winposn{jwinposn} " unlet it
|
unlet b:cecutil_winposn{jwinposn} " unlet it
|
||||||
if jwinposn == b:cecutil_iwinposn " if at top-of-stack
|
if jwinposn == b:cecutil_iwinposn " if at top-of-stack
|
||||||
let b:cecutil_iwinposn= b:cecutil_iwinposn - 1 " drop stacktop by one
|
let b:cecutil_iwinposn= b:cecutil_iwinposn - 1 " drop stacktop by one
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
let jwinposn= jwinposn - 1
|
let jwinposn= jwinposn - 1
|
||||||
endwhile
|
endwhile
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" seems to be something odd: vertical motions after RWP
|
" Seems to be something odd: vertical motions after RWP
|
||||||
" cause jump to first column. Following fixes that
|
" cause jump to first column. The following fixes that.
|
||||||
if wincol() > 1
|
" Note: was using wincol()>1, but with signs, a cursor
|
||||||
silent norm! hl
|
" at column 1 yields wincol()==3. Beeping ensued.
|
||||||
|
let vekeep= &ve
|
||||||
|
set ve=all
|
||||||
|
if virtcol('.') > 1
|
||||||
|
exe s:modifier."norm! hl"
|
||||||
elseif virtcol(".") < virtcol("$")
|
elseif virtcol(".") < virtcol("$")
|
||||||
silent norm! lh
|
exe s:modifier."norm! lh"
|
||||||
endif
|
endif
|
||||||
|
let &ve= vekeep
|
||||||
|
|
||||||
let &so = so_keep
|
let &l:so = so_keep
|
||||||
let &siso = siso_keep
|
let &l:siso = siso_keep
|
||||||
let &ss = ss_keep
|
let &l:ss = ss_keep
|
||||||
|
|
||||||
" call Dret("RestoreWinPosn")
|
" echomsg "Decho: RestoreWinPosn"
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" GoWinbufnr: go to window holding given buffer (by number) {{{1
|
" s:WinLineRestore: {{{2
|
||||||
|
fun! s:WinLineRestore(swwline)
|
||||||
|
" echomsg "Decho: s:WinLineRestore(swwline=".a:swwline.")"
|
||||||
|
while winline() < a:swwline
|
||||||
|
let curwinline= winline()
|
||||||
|
exe s:modifier."norm! \<c-y>"
|
||||||
|
if curwinline == winline()
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
" echomsg "Decho: s:WinLineRestore"
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" ---------------------------------------------------------------------
|
||||||
|
" GoWinbufnr: go to window holding given buffer (by number) {{{2
|
||||||
" Prefers current window; if its buffer number doesn't match,
|
" Prefers current window; if its buffer number doesn't match,
|
||||||
" then will try from topleft to bottom right
|
" then will try from topleft to bottom right
|
||||||
fun! GoWinbufnr(bufnum)
|
fun! GoWinbufnr(bufnum)
|
||||||
|
@ -219,7 +256,7 @@ fun! GoWinbufnr(bufnum)
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" SaveMark: sets up a string saving a mark position. {{{1
|
" SaveMark: sets up a string saving a mark position. {{{2
|
||||||
" For example, SaveMark("a")
|
" For example, SaveMark("a")
|
||||||
" Also sets up a global variable, g:savemark_{markname}
|
" Also sets up a global variable, g:savemark_{markname}
|
||||||
fun! SaveMark(markname)
|
fun! SaveMark(markname)
|
||||||
|
@ -252,7 +289,7 @@ fun! SaveMark(markname)
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" RestoreMark: {{{1
|
" RestoreMark: {{{2
|
||||||
" call RestoreMark("a") -or- call RestoreMark(savemark)
|
" call RestoreMark("a") -or- call RestoreMark(savemark)
|
||||||
fun! RestoreMark(markname)
|
fun! RestoreMark(markname)
|
||||||
" call Dfunc("RestoreMark(markname<".a:markname.">)")
|
" call Dfunc("RestoreMark(markname<".a:markname.">)")
|
||||||
|
@ -294,7 +331,7 @@ fun! RestoreMark(markname)
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" DestroyMark: {{{1
|
" DestroyMark: {{{2
|
||||||
" call DestroyMark("a") -- destroys mark
|
" call DestroyMark("a") -- destroys mark
|
||||||
fun! DestroyMark(markname)
|
fun! DestroyMark(markname)
|
||||||
" call Dfunc("DestroyMark(markname<".a:markname.">)")
|
" call Dfunc("DestroyMark(markname<".a:markname.">)")
|
||||||
|
@ -329,7 +366,7 @@ fun! DestroyMark(markname)
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" QArgSplitter: to avoid \ processing by <f-args>, <q-args> is needed. {{{1
|
" QArgSplitter: to avoid \ processing by <f-args>, <q-args> is needed. {{{2
|
||||||
" However, <q-args> doesn't split at all, so this one returns a list
|
" However, <q-args> doesn't split at all, so this one returns a list
|
||||||
" with splits at all whitespace (only!), plus a leading length-of-list.
|
" with splits at all whitespace (only!), plus a leading length-of-list.
|
||||||
" The resulting list: qarglist[0] corresponds to a:0
|
" The resulting list: qarglist[0] corresponds to a:0
|
||||||
|
@ -344,7 +381,7 @@ fun! QArgSplitter(qarg)
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" ListWinPosn:
|
" ListWinPosn: {{{2
|
||||||
"fun! ListWinPosn() " Decho
|
"fun! ListWinPosn() " Decho
|
||||||
" if !exists("b:cecutil_iwinposn") || b:cecutil_iwinposn == 0 " Decho
|
" if !exists("b:cecutil_iwinposn") || b:cecutil_iwinposn == 0 " Decho
|
||||||
" call Decho("nothing on SWP stack") " Decho
|
" call Decho("nothing on SWP stack") " Decho
|
||||||
|
@ -363,14 +400,19 @@ endfun
|
||||||
"com! -nargs=0 LWP call ListWinPosn() " Decho
|
"com! -nargs=0 LWP call ListWinPosn() " Decho
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" SaveUserMaps: this function sets up a script-variable (s:restoremap) {{{1
|
" SaveUserMaps: this function sets up a script-variable (s:restoremap) {{{2
|
||||||
" which can be used to restore user maps later with
|
" which can be used to restore user maps later with
|
||||||
" call RestoreUserMaps()
|
" call RestoreUserMaps()
|
||||||
"
|
"
|
||||||
" mapmode - see :help maparg for its list
|
" mapmode - see :help maparg for details (n v o i c l "")
|
||||||
" ex. "n" = Normal
|
" ex. "n" = Normal
|
||||||
" If the first letter is u, then unmapping will be done
|
" The letters "b" and "u" are optional prefixes;
|
||||||
" ex. "un" = Normal + unmapping
|
" The "u" means that the map will also be unmapped
|
||||||
|
" The "b" means that the map has a <buffer> qualifier
|
||||||
|
" ex. "un" = Normal + unmapping
|
||||||
|
" ex. "bn" = Normal + <buffer>
|
||||||
|
" ex. "bun" = Normal + <buffer> + unmapping
|
||||||
|
" ex. "ubn" = Normal + <buffer> + unmapping
|
||||||
" maplead - see mapchx
|
" maplead - see mapchx
|
||||||
" mapchx - "<something>" handled as a single map item.
|
" mapchx - "<something>" handled as a single map item.
|
||||||
" ex. "<left>"
|
" ex. "<left>"
|
||||||
|
@ -395,60 +437,70 @@ fun! SaveUserMaps(mapmode,maplead,mapchx,suffix)
|
||||||
|
|
||||||
" set up dounmap: if 1, then save and unmap (a:mapmode leads with a "u")
|
" set up dounmap: if 1, then save and unmap (a:mapmode leads with a "u")
|
||||||
" if 0, save only
|
" if 0, save only
|
||||||
if a:mapmode =~ '^u'
|
let mapmode = a:mapmode
|
||||||
let dounmap= 1
|
let dounmap = 0
|
||||||
let mapmode= strpart(a:mapmode,1)
|
let dobuffer = ""
|
||||||
else
|
while mapmode =~ '^[bu]'
|
||||||
let dounmap= 0
|
if mapmode =~ '^u'
|
||||||
let mapmode= a:mapmode
|
let dounmap = 1
|
||||||
endif
|
let mapmode = strpart(a:mapmode,1)
|
||||||
|
elseif mapmode =~ '^b'
|
||||||
|
let dobuffer = "<buffer> "
|
||||||
|
let mapmode = strpart(a:mapmode,1)
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
" call Decho("dounmap=".dounmap." dobuffer<".dobuffer.">")
|
||||||
|
|
||||||
" save single map :...something...
|
" save single map :...something...
|
||||||
if strpart(a:mapchx,0,1) == ':'
|
if strpart(a:mapchx,0,1) == ':'
|
||||||
|
" call Decho("save single map :...something...")
|
||||||
let amap= strpart(a:mapchx,1)
|
let amap= strpart(a:mapchx,1)
|
||||||
if amap == "|" || amap == "\<c-v>"
|
if amap == "|" || amap == "\<c-v>"
|
||||||
let amap= "\<c-v>".amap
|
let amap= "\<c-v>".amap
|
||||||
endif
|
endif
|
||||||
let amap = a:maplead.amap
|
let amap = a:maplead.amap
|
||||||
let s:restoremap_{a:suffix} = s:restoremap_{a:suffix}."|:silent! ".mapmode."unmap ".amap
|
let s:restoremap_{a:suffix} = s:restoremap_{a:suffix}."|:sil! ".mapmode."unmap ".dobuffer.amap
|
||||||
if maparg(amap,mapmode) != ""
|
if maparg(amap,mapmode) != ""
|
||||||
let maprhs = substitute(maparg(amap,mapmode),'|','<bar>','ge')
|
let maprhs = substitute(maparg(amap,mapmode),'|','<bar>','ge')
|
||||||
let s:restoremap_{a:suffix} = s:restoremap_{a:suffix}."|:".mapmode."map ".amap." ".maprhs
|
let s:restoremap_{a:suffix} = s:restoremap_{a:suffix}."|:".mapmode."map ".dobuffer.amap." ".maprhs
|
||||||
endif
|
endif
|
||||||
if dounmap
|
if dounmap
|
||||||
exe "silent! ".mapmode."unmap ".amap
|
exe "sil! ".mapmode."unmap ".dobuffer.amap
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" save single map <something>
|
" save single map <something>
|
||||||
elseif strpart(a:mapchx,0,1) == '<'
|
elseif strpart(a:mapchx,0,1) == '<'
|
||||||
|
" call Decho("save single map <something>")
|
||||||
let amap = a:mapchx
|
let amap = a:mapchx
|
||||||
if amap == "|" || amap == "\<c-v>"
|
if amap == "|" || amap == "\<c-v>"
|
||||||
let amap= "\<c-v>".amap
|
let amap= "\<c-v>".amap
|
||||||
|
" call Decho("amap[[".amap."]]")
|
||||||
endif
|
endif
|
||||||
let s:restoremap_{a:suffix} = s:restoremap_{a:suffix}."|silent! ".mapmode."unmap ".amap
|
let s:restoremap_{a:suffix} = s:restoremap_{a:suffix}."|sil! ".mapmode."unmap ".dobuffer.amap
|
||||||
if maparg(a:mapchx,mapmode) != ""
|
if maparg(a:mapchx,mapmode) != ""
|
||||||
let maprhs = substitute(maparg(amap,mapmode),'|','<bar>','ge')
|
let maprhs = substitute(maparg(amap,mapmode),'|','<bar>','ge')
|
||||||
let s:restoremap_{a:suffix} = s:restoremap_{a:suffix}."|".mapmode."map ".amap." ".maprhs
|
let s:restoremap_{a:suffix} = s:restoremap_{a:suffix}."|".mapmode."map ".dobuffer.amap." ".maprhs
|
||||||
endif
|
endif
|
||||||
if dounmap
|
if dounmap
|
||||||
exe "silent! ".mapmode."unmap ".amap
|
exe "sil! ".mapmode."unmap ".dobuffer.amap
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" save multiple maps
|
" save multiple maps
|
||||||
else
|
else
|
||||||
|
" call Decho("save multiple maps")
|
||||||
let i= 1
|
let i= 1
|
||||||
while i <= strlen(a:mapchx)
|
while i <= strlen(a:mapchx)
|
||||||
let amap= a:maplead.strpart(a:mapchx,i-1,1)
|
let amap= a:maplead.strpart(a:mapchx,i-1,1)
|
||||||
if amap == "|" || amap == "\<c-v>"
|
if amap == "|" || amap == "\<c-v>"
|
||||||
let amap= "\<c-v>".amap
|
let amap= "\<c-v>".amap
|
||||||
endif
|
endif
|
||||||
let s:restoremap_{a:suffix} = s:restoremap_{a:suffix}."|silent! ".mapmode."unmap ".amap
|
let s:restoremap_{a:suffix} = s:restoremap_{a:suffix}."|sil! ".mapmode."unmap ".dobuffer.amap
|
||||||
if maparg(amap,mapmode) != ""
|
if maparg(amap,mapmode) != ""
|
||||||
let maprhs = substitute(maparg(amap,mapmode),'|','<bar>','ge')
|
let maprhs = substitute(maparg(amap,mapmode),'|','<bar>','ge')
|
||||||
let s:restoremap_{a:suffix} = s:restoremap_{a:suffix}."|".mapmode."map ".amap." ".maprhs
|
let s:restoremap_{a:suffix} = s:restoremap_{a:suffix}."|".mapmode."map ".dobuffer.amap." ".maprhs
|
||||||
endif
|
endif
|
||||||
if dounmap
|
if dounmap
|
||||||
exe "silent! ".mapmode."unmap ".amap
|
exe "sil! ".mapmode."unmap ".dobuffer.amap
|
||||||
endif
|
endif
|
||||||
let i= i + 1
|
let i= i + 1
|
||||||
endwhile
|
endwhile
|
||||||
|
@ -457,7 +509,7 @@ fun! SaveUserMaps(mapmode,maplead,mapchx,suffix)
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
" RestoreUserMaps: {{{1
|
" RestoreUserMaps: {{{2
|
||||||
" Used to restore user maps saved by SaveUserMaps()
|
" Used to restore user maps saved by SaveUserMaps()
|
||||||
fun! RestoreUserMaps(suffix)
|
fun! RestoreUserMaps(suffix)
|
||||||
" call Dfunc("RestoreUserMaps(suffix<".a:suffix.">)")
|
" call Dfunc("RestoreUserMaps(suffix<".a:suffix.">)")
|
||||||
|
@ -465,18 +517,20 @@ fun! RestoreUserMaps(suffix)
|
||||||
let s:restoremap_{a:suffix}= substitute(s:restoremap_{a:suffix},'|\s*$','','e')
|
let s:restoremap_{a:suffix}= substitute(s:restoremap_{a:suffix},'|\s*$','','e')
|
||||||
if s:restoremap_{a:suffix} != ""
|
if s:restoremap_{a:suffix} != ""
|
||||||
" call Decho("exe ".s:restoremap_{a:suffix})
|
" call Decho("exe ".s:restoremap_{a:suffix})
|
||||||
exe "silent! ".s:restoremap_{a:suffix}
|
exe "sil! ".s:restoremap_{a:suffix}
|
||||||
endif
|
endif
|
||||||
unlet s:restoremap_{a:suffix}
|
unlet s:restoremap_{a:suffix}
|
||||||
endif
|
endif
|
||||||
" call Dret("RestoreUserMaps")
|
" call Dret("RestoreUserMaps")
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ==============
|
||||||
" Restore: {{{1
|
" Restore: {{{1
|
||||||
|
" ==============
|
||||||
let &cpo= s:keepcpo
|
let &cpo= s:keepcpo
|
||||||
unlet s:keepcpo
|
unlet s:keepcpo
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
" ================
|
||||||
" Modelines: {{{1
|
" Modelines: {{{1
|
||||||
|
" ================
|
||||||
" vim: ts=4 fdm=marker
|
" vim: ts=4 fdm=marker
|
||||||
|
|
20
vim/vimrc
20
vim/vimrc
|
@ -13,7 +13,7 @@ set nohlsearch
|
||||||
set nostartofline
|
set nostartofline
|
||||||
" set paste
|
" set paste
|
||||||
set autochdir
|
set autochdir
|
||||||
set clipboard=unnamed
|
" set clipboard=unnamed
|
||||||
|
|
||||||
" Let's go to 256 colors
|
" Let's go to 256 colors
|
||||||
set t_Co=256
|
set t_Co=256
|
||||||
|
@ -49,16 +49,16 @@ set modeline
|
||||||
set modelines=1
|
set modelines=1
|
||||||
set encoding=utf-8
|
set encoding=utf-8
|
||||||
set listchars=tab:->,trail:.,eol:$,extends:>,precedes:<
|
set listchars=tab:->,trail:.,eol:$,extends:>,precedes:<
|
||||||
set smartcase
|
set ignorecase " Do case insensitive matching
|
||||||
|
set smartcase " But with style
|
||||||
set errorbells
|
set errorbells
|
||||||
" set visualbell
|
" set visualbell
|
||||||
set showcmd " Show (partial) command in status line.
|
set showcmd " Show (partial) command in status line.
|
||||||
set showmatch " Show matching brackets.
|
set showmatch " Show matching brackets.
|
||||||
set ignorecase " Do case insensitive matching
|
|
||||||
set incsearch " Incremental search
|
set incsearch " Incremental search
|
||||||
set autowrite " Automatically save before commands like :next and :make
|
set autowrite " Automatically save before commands like :next and :make
|
||||||
" set statusline=%<%f\ %H%m%r%=%-14.(%l,%c%)\ %P\ Buf.%n
|
" set statusline=%<%f\ %H%m%r%=%-14.(%l,%c%)\ %P\ Buf.%n
|
||||||
set showtabline=0
|
set showtabline=1
|
||||||
set backupcopy=yes
|
set backupcopy=yes
|
||||||
set fileformats=unix,mac,dos
|
set fileformats=unix,mac,dos
|
||||||
set fileformat=unix
|
set fileformat=unix
|
||||||
|
@ -151,6 +151,10 @@ nnoremap <silent> <Leader>N :set number!<CR>
|
||||||
|
|
||||||
nnoremap <silent> da "_dd
|
nnoremap <silent> da "_dd
|
||||||
|
|
||||||
|
" Standard Unix Home/End
|
||||||
|
" nnoremap <Home> ^
|
||||||
|
" nnoremap <End> $
|
||||||
|
|
||||||
nnoremap <silent> <Leader>ts :ConqueTermSplit zsh<CR>
|
nnoremap <silent> <Leader>ts :ConqueTermSplit zsh<CR>
|
||||||
nnoremap <silent> <Leader>tT :ConqueTermTab zsh<CR>
|
nnoremap <silent> <Leader>tT :ConqueTermTab zsh<CR>
|
||||||
|
|
||||||
|
@ -210,16 +214,16 @@ if has("syntax")
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if has("autocmd")
|
if has("autocmd")
|
||||||
filetype indent on
|
filetype plugin indent on
|
||||||
filetype plugin on
|
|
||||||
" When editing a file, always jump to the last cursor position
|
" When editing a file, always jump to the last cursor position
|
||||||
autocmd BufReadPost *
|
autocmd BufReadPost *
|
||||||
\ if line("'\"") > 0 && line ("'\"") <= line("$") |
|
\ if line("'\"") > 0 && line ("'\"") <= line("$") |
|
||||||
\ exe "normal g'\"" |
|
\ exe "normal g'\"" |
|
||||||
\ endif
|
\ endif
|
||||||
" Mako
|
" Mako
|
||||||
autocmd BufNewFile,BufRead *.mako setf mako
|
autocmd! BufRead,BufNewFile *.mako setfiletype mako
|
||||||
autocmd FileType *.mako set textwidth=0
|
autocmd BufWinEnter *.mako setfiletype mako
|
||||||
|
autocmd FileType mako set textwidth=0
|
||||||
|
|
||||||
" Python
|
" Python
|
||||||
autocmd FileType python set textwidth=79
|
autocmd FileType python set textwidth=79
|
||||||
|
|
Loading…
Reference in New Issue