vim stuff
This commit is contained in:
366
vim/.vim/autoload/vis.vim
Normal file
366
vim/.vim/autoload/vis.vim
Normal file
@ -0,0 +1,366 @@
|
||||
" vis.vim: Perform an Ex command on a visual highlighted block (CTRL-V).
|
||||
" Date: Sep 08, 2016 - Dec 08, 2021
|
||||
" Version: 23a ASTRO-ONLY
|
||||
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
" GetLatestVimScripts: 1066 1 cecutil.vim
|
||||
" GetLatestVimScripts: 1195 1 :AutoInstall: vis.vim
|
||||
" Verse: For am I now seeking the favor of men, or of God? Or am I striving
|
||||
" to please men? For if I were still pleasing men, I wouldn't be a servant
|
||||
" of Christ. (Gal 1:10, WEB)
|
||||
"
|
||||
" Based on an idea of Stefan Roemer <roemer@informatik.tu-muenchen.de>
|
||||
"
|
||||
" ------------------------------------------------------------------------------
|
||||
" Initialization: {{{1
|
||||
" Exit quickly when <Vis.vim> has already been loaded or
|
||||
" when 'compatible' is set
|
||||
if &cp || exists("g:loaded_vis")
|
||||
finish
|
||||
endif
|
||||
let s:keepcpo = &cpo
|
||||
let g:loaded_vis = "v23a"
|
||||
set cpo&vim
|
||||
"DechoRemOn
|
||||
|
||||
" =====================================================================
|
||||
" Support Functions: {{{1
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" vis#VisBlockCmd: {{{2
|
||||
fun! vis#VisBlockCmd(cmd) range
|
||||
" call Dfunc("vis#VisBlockCmd(cmd<".a:cmd.">")
|
||||
|
||||
" retain and re-use same visual mode
|
||||
sil! keepj norm `<
|
||||
let curposn = SaveWinPosn(0)
|
||||
let vmode = visualmode()
|
||||
" call Decho("vmode<".vmode.">")
|
||||
|
||||
call s:SaveUserSettings()
|
||||
|
||||
if vmode == 'V'
|
||||
" call Decho("handling V mode")
|
||||
" call Decho("cmd<".a:cmd.">")
|
||||
exe "keepj '<,'>".a:cmd
|
||||
|
||||
else " handle v and ctrl-v
|
||||
" call Decho("handling v or ctrl-v mode")
|
||||
" Initialize so (begcol < endcol) for non-v modes
|
||||
let begcol = s:VirtcolM1("<")
|
||||
let endcol = s:VirtcolM1(">")
|
||||
if vmode != 'v'
|
||||
if begcol > endcol
|
||||
let begcol = s:VirtcolM1(">")
|
||||
let endcol = s:VirtcolM1("<")
|
||||
endif
|
||||
endif
|
||||
|
||||
" Initialize so that begline<endline
|
||||
let begline = a:firstline
|
||||
let endline = a:lastline
|
||||
if begline > endline
|
||||
let begline = a:lastline
|
||||
let endline = a:firstline
|
||||
endif
|
||||
" call Decho('beg['.begline.','.begcol.'] end['.endline.','.endcol.']')
|
||||
|
||||
" =======================
|
||||
" Modify Selected Region:
|
||||
" =======================
|
||||
" 1. delete selected region into register "a
|
||||
" call Decho("1. delete selected region into register a")
|
||||
sil! keepj norm! gv"ad
|
||||
" call Decho("1. reg-A<".@a.">")
|
||||
" call Decho("Step#1: deleted selected region into register")|redraw!|sleep 3 " Decho
|
||||
|
||||
" 2. put cut-out text at end-of-file
|
||||
" call Decho("2. put cut-out text at end-of-file")
|
||||
keepj $
|
||||
keepj pu_
|
||||
let lastline= line("$")
|
||||
sil! keepj norm! "aP
|
||||
" call Decho("2. reg-A<".@a.">")
|
||||
" call Decho("Step#2: put text at end-of-file")|redraw!|sleep 3 " Decho
|
||||
|
||||
" 3. apply command to those lines
|
||||
let curline = line(".")
|
||||
ka
|
||||
keepj $
|
||||
" call Decho("3. apply command<".a:cmd."> to those lines (curline=".line(".").")")
|
||||
exe "keepj ". curline.',$'.a:cmd
|
||||
" call Decho("Step#3: apply command")|redraw!|sleep 3 " Decho
|
||||
|
||||
" 4. Prepend the "empty_chr" since "ad on empty lines inserts blanks
|
||||
if exists("g:vis_empty_character")
|
||||
let empty_chr= g:vis_empty_character
|
||||
else
|
||||
let empty_chr= (&enc == "euc-jp")? "\<Char-0x01>" : "\<Char-0xff>"
|
||||
endif
|
||||
" if the command removes the text, then don't do anything with the
|
||||
" non-existent text (for example, :B !true under unix)
|
||||
if curline <= line("$")
|
||||
exe "keepj sil! ". curline.',$s/^/'.empty_chr.'/'
|
||||
" call Decho("Step#3a: prepend empty-character")|redraw!|sleep 3 " Decho
|
||||
|
||||
" 5. visual-block select the modified text in those lines
|
||||
" call Decho("5. visual-block select modified text at end-of-file")
|
||||
exe "keepj ".lastline
|
||||
exe 'keepj norm! 0'.vmode.'G$"ax'
|
||||
if @a[strlen(@a)-1] == ' '
|
||||
" nasty fix -- sometimes the 0G$"ax picks up the end-of-line as a space
|
||||
let @a= strpart(@a,0,strlen(@a)-1)
|
||||
endif
|
||||
" call Decho("5. reg-A<".@a.">")
|
||||
" call Decho("Step#5: select modified text")|redraw!|sleep 3 " Decho
|
||||
|
||||
" 6. delete excess lines
|
||||
" call Decho("6. delete excess lines")
|
||||
exe "sil! keepj ".lastline.',$d'
|
||||
" call Decho("Step#6: delete excess lines")|redraw!|sleep 3 " Decho
|
||||
|
||||
" 7. put modified text back into file
|
||||
" call Decho("7. put modifed text back into file (beginning=".begline.".".begcol.")")
|
||||
exe "keepj ".begline
|
||||
if begcol > 1
|
||||
exe 'sil! keepj norm! '.begcol."\<bar>\"ap"
|
||||
elseif begcol == 1
|
||||
norm! 0"ap
|
||||
else
|
||||
norm! 0"aP
|
||||
endif
|
||||
" call Decho("Step#7: put modified text back")|redraw!|sleep 3 " Decho
|
||||
endif
|
||||
|
||||
" 8. attempt to restore gv -- this is limited, it will
|
||||
" select the same size region in the same place as before,
|
||||
" not necessarily the changed region
|
||||
" call Decho("8. restore gv")
|
||||
let begcol= begcol+1
|
||||
let endcol= endcol+1
|
||||
exe "sil keepj ".begline
|
||||
exe 'sil keepj norm! '.begcol."\<bar>".vmode
|
||||
exe "sil keepj ".endline
|
||||
exe 'sil keepj norm! '.endcol."\<bar>\<esc>"
|
||||
exe "sil keepj ".begline
|
||||
exe 'sil keepj norm! '.begcol."\<bar>"
|
||||
" call Decho("Step#8: restore gv")|redraw!|sleep 3 " Decho
|
||||
|
||||
" 9. Remove empty-character from text
|
||||
" call Decho("9. remove empty-character from lines ".begline." to ".endline)
|
||||
exe "sil! keepj ".begline.','.endline.'s/'.empty_chr.'//e'
|
||||
" call Decho("Step#9: remove empty-character")|redraw!|sleep 3 " Decho
|
||||
endif
|
||||
|
||||
" restore a-priori condition
|
||||
call s:RestoreUserSettings()
|
||||
call RestoreWinPosn(curposn)
|
||||
" call Decho("Step#10: done!")|redraw!|sleep 3 " Decho
|
||||
|
||||
" call Dret("vis#VisBlockCmd")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" vis#VisBlockSearch: {{{2
|
||||
fun! vis#VisBlockSearch(...) range
|
||||
" call Dfunc("vis#VisBlockSearch() a:0=".a:0." lines[".a:firstline.",".a:lastline."]")
|
||||
let keepic= &ic
|
||||
set noic
|
||||
|
||||
if a:0 >= 1 && strlen(a:1) > 0
|
||||
let pattern = a:1
|
||||
let s:pattern = pattern
|
||||
" call Decho("a:0=".a:0.": pattern<".pattern.">")
|
||||
elseif exists("s:pattern")
|
||||
let pattern= s:pattern
|
||||
else
|
||||
let pattern = @/
|
||||
let s:pattern = pattern
|
||||
endif
|
||||
let vmode= visualmode()
|
||||
|
||||
" collect search restrictions
|
||||
let firstline = line("'<")
|
||||
let lastline = line("'>")
|
||||
let firstcolm1 = s:VirtcolM1("<")
|
||||
let lastcolm1 = s:VirtcolM1(">")
|
||||
" call Decho("1: firstline=".firstline." lastline=".lastline." firstcolm1=".firstcolm1." lastcolm1=".lastcolm1)
|
||||
|
||||
if(firstline > lastline)
|
||||
let firstline = line("'>")
|
||||
let lastline = line("'<")
|
||||
if a:0 >= 1
|
||||
keepj norm! `>
|
||||
endif
|
||||
else
|
||||
if a:0 >= 1
|
||||
keepj norm! `<
|
||||
endif
|
||||
endif
|
||||
" call Decho("2: firstline=".firstline." lastline=".lastline." firstcolm1=".firstcolm1." lastcolm1=".lastcolm1)
|
||||
|
||||
if vmode != 'v'
|
||||
if firstcolm1 > lastcolm1
|
||||
let tmp = firstcolm1
|
||||
let firstcolm1 = lastcolm1
|
||||
let lastcolm1 = tmp
|
||||
endif
|
||||
endif
|
||||
" call Decho("3: firstline=".firstline." lastline=".lastline." firstcolm1=".firstcolm1." lastcolm1=".lastcolm1)
|
||||
|
||||
let firstlinem1 = firstline - 1
|
||||
let lastlinep1 = lastline + 1
|
||||
let firstcol = firstcolm1 + 1
|
||||
let lastcol = lastcolm1 + 1
|
||||
let lastcolp1 = lastcol + 1
|
||||
" call Decho("4: firstline=".firstline." lastline=".lastline." firstcolm1=".firstcolm1." lastcolp1=".lastcolp1)
|
||||
|
||||
" construct search string
|
||||
if vmode == 'V'
|
||||
let srch= '\%(\%>'.firstlinem1.'l\%<'.lastlinep1.'l\)\&'
|
||||
" call Decho("V srch: ".srch)
|
||||
elseif vmode == 'v'
|
||||
if firstline == lastline || firstline == lastlinep1
|
||||
let srch= '\%(\%'.firstline.'l\%>'.firstcolm1.'v\%<'.lastcolp1.'v\)\&'
|
||||
else
|
||||
let srch= '\%(\%(\%'.firstline.'l\%>'.firstcolm1.'v\)\|\%(\%'.lastline.'l\%<'.lastcolp1.'v\)\|\%(\%>'.firstline.'l\%<'.lastline.'l\)\)\&'
|
||||
endif
|
||||
" call Decho("v srch: ".srch)
|
||||
else
|
||||
let srch= '\%(\%>'.firstlinem1.'l\%>'.firstcolm1.'v\%<'.lastlinep1.'l\%<'.lastcolp1.'v\)\&'
|
||||
" call Decho("^v srch: ".srch)
|
||||
endif
|
||||
|
||||
" perform search
|
||||
if a:0 <= 1
|
||||
" call Decho("Search forward: <".srch.pattern.">")
|
||||
call search(srch.pattern)
|
||||
let @/= srch.pattern
|
||||
|
||||
elseif a:0 == 2
|
||||
" call Decho("Search backward: <".srch.pattern.">")
|
||||
call search(srch.pattern,a:2)
|
||||
let @/= srch.pattern
|
||||
endif
|
||||
|
||||
" restore ignorecase
|
||||
let &ic= keepic
|
||||
|
||||
" call Dret("vis#VisBlockSearch <".srch.">")
|
||||
return srch
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" vis#VisFmt: {{{2
|
||||
fun! vis#VisFmt() range
|
||||
" call Dfunc("vis#VisFmt()")
|
||||
if exists("g:vis_empty_character")
|
||||
let empty_chr= g:vis_empty_character
|
||||
else
|
||||
let empty_chr= (&enc == "euc-jp")? "\<Char-0x01>" : "\<Char-0xff>"
|
||||
endif
|
||||
|
||||
norm! gv
|
||||
'<,'>call vis#VisBlockCmd('norm! gqip}}')
|
||||
let lineno= line("'>")+1
|
||||
exe lineno
|
||||
while getline(".") =~ empty_chr
|
||||
exe 's/'.empty_chr.'//'
|
||||
norm! j
|
||||
endwhile
|
||||
" call Dret("vis#VisFmt")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:VirtcolM1: usually a virtcol(mark)-1, but due to tabs this can {{{2
|
||||
" be different
|
||||
fun! s:VirtcolM1(mark)
|
||||
" call Dfunc('s:VirtcolM1("'.a:mark.'")')
|
||||
|
||||
if virtcol("'".a:mark) <= 1
|
||||
" call Dret("s:VirtcolM1 0")
|
||||
return 0
|
||||
endif
|
||||
|
||||
if &ve == "block"
|
||||
" Works around a ve=all vs ve=block difference with virtcol().
|
||||
" Since s:SaveUserSettings() changes ve to ve=all, this small
|
||||
" ve override only affects vis#VisBlockSearch().
|
||||
set ve=all
|
||||
" call Decho("temporarily setting ve=all")
|
||||
endif
|
||||
|
||||
" call Decho("exe norm! `".a:mark."h")
|
||||
exe "keepj norm! `".a:mark."h"
|
||||
|
||||
let vekeep = &ve
|
||||
let vc = virtcol(".")
|
||||
let &ve = vekeep
|
||||
|
||||
" call Dret("s:VirtcolM1 ".vc)
|
||||
return vc
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:SaveUserSettings: save options which otherwise may interfere {{{2
|
||||
fun! s:SaveUserSettings()
|
||||
" call Dfunc("s:SaveUserSettings()")
|
||||
let s:keep_lz = &lz
|
||||
let s:keep_fen = &fen
|
||||
let s:keep_fo = &fo
|
||||
let s:keep_ic = &ic
|
||||
let s:keep_magic = &magic
|
||||
let s:keep_sol = &sol
|
||||
let s:keep_ve = &ve
|
||||
let s:keep_ww = &ww
|
||||
let s:keep_cedit = &cedit
|
||||
set lz magic nofen noic nosol ww= fo=nroql2 cedit&
|
||||
" determine whether or not "ragged right" is in effect for the selected region
|
||||
let raggedright= 0
|
||||
norm! `>
|
||||
let rrcol = col(".")
|
||||
while line(".") >= line("'<")
|
||||
" call Decho(".line#".line(".").": col(.)=".col('.')." rrcol=".rrcol)
|
||||
if col(".") != rrcol
|
||||
let raggedright = 1
|
||||
break
|
||||
endif
|
||||
if line(".") == 1
|
||||
break
|
||||
endif
|
||||
norm! k
|
||||
endwhile
|
||||
if raggedright
|
||||
" call Decho("ragged right: set ve=all")
|
||||
set ve=all
|
||||
else
|
||||
" call Decho("smooth right: set ve=")
|
||||
set ve=
|
||||
endif
|
||||
|
||||
" Save any contents in register a
|
||||
let s:rega= @a
|
||||
|
||||
" call Dret("s:SaveUserSettings")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:RestoreUserSettings: restore register a and options {{{2
|
||||
fun! s:RestoreUserSettings()
|
||||
" call Dfunc("s:RestoreUserSettings()")
|
||||
let @a = s:rega
|
||||
let &cedit = s:keep_cedit
|
||||
let &fen = s:keep_fen
|
||||
let &fo = s:keep_fo
|
||||
let &ic = s:keep_ic
|
||||
let &lz = s:keep_lz
|
||||
let &sol = s:keep_sol
|
||||
let &ve = s:keep_ve
|
||||
let &ww = s:keep_ww
|
||||
" call Dret("s:RestoreUserSettings")
|
||||
endfun
|
||||
|
||||
let &cpo= s:keepcpo
|
||||
unlet s:keepcpo
|
||||
" ------------------------------------------------------------------------------
|
||||
" Modelines: {{{1
|
||||
" vim: fdm=marker
|
253
vim/.vim/doc/vis.txt
Normal file
253
vim/.vim/doc/vis.txt
Normal file
@ -0,0 +1,253 @@
|
||||
*vis.txt* The Visual Block Tool Sep 07, 2016
|
||||
|
||||
Author: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
(remove NOSPAM from Campbell's email first)
|
||||
Copyright: (c) 2004-2016 by Charles E. Campbell *vis-copyright*
|
||||
The VIM LICENSE applies to vis.vim and vis.txt
|
||||
(see |copyright|) except use "vis" instead of "Vim"
|
||||
No warranty, express or implied. Use At-Your-Own-Risk.
|
||||
|
||||
|
||||
==============================================================================
|
||||
1. Contents *vis* *vis-contents* *vis.vim*
|
||||
|
||||
1. Contents......................: |vis-contents|
|
||||
2. Visual Block Manual...........: |vis-manual|
|
||||
3. Visual Block Search...........: |vis-srch|
|
||||
4. Required......................: |vis-required|
|
||||
5. Sorting Examples..............: |vis-sort|
|
||||
6. History.......................: |vis-history|
|
||||
|
||||
|
||||
==============================================================================
|
||||
2. Visual Block Manual *visman* *vismanual* *vis-manual* *v_:B*
|
||||
|
||||
Performs an arbitrary Ex command on a visual highlighted block.
|
||||
|
||||
Mark visual block (CTRL-V) or visual character (v),
|
||||
press ':B ' and enter an Ex command [cmd].
|
||||
|
||||
ex. Use ctrl-v to visually mark the block then use
|
||||
:B cmd (will appear as :'<,'>B cmd )
|
||||
|
||||
ex. Use v to visually mark the block then use
|
||||
:B cmd (will appear as :'<,'>B cmd )
|
||||
|
||||
Command-line completion is supported for Ex commands.
|
||||
|
||||
There must be a space before the '!' when invoking external shell
|
||||
commands, eg. ':B !sort'. Otherwise an error is reported.
|
||||
|
||||
The script works by deleting the selected region into register "a.
|
||||
The register "a itself is first saved and later restored. The text is
|
||||
then put at the end-of-file, modified by the user command, and then
|
||||
deleted back into register "a. Any excess lines are removed, and the
|
||||
modified text is then put back into the text at its original
|
||||
location.
|
||||
|
||||
Popular uses for this command include: >
|
||||
|
||||
:B s/pattern/output/
|
||||
:B left
|
||||
:B right
|
||||
<
|
||||
1: apply a substitute command to just the selected visual block,
|
||||
2: left justify the selected block, and
|
||||
3: right justify the selected block, respectively.
|
||||
|
||||
The concept for this plugin is originally Stefan Roemer's
|
||||
<roemer@informatik.tu-muenchen.de>; however, both the implementation
|
||||
and methods used internally have completely changed since Roemer's
|
||||
version.
|
||||
|
||||
*g:vis_empty_character* : this character should not appear in your
|
||||
text. By default: users of euc-jp will get a 0x01, otherwise
|
||||
it wil be a 0xff. Used to prevent an empty result in the
|
||||
moving back the modified text operation, which otherwise results
|
||||
in an unwanted extra blank space being inserted.
|
||||
|
||||
|
||||
==============================================================================
|
||||
3. Visual Block Search *vis-search* *vis-srch* *vis-S*
|
||||
|
||||
Visual block search provides two ways to search a visual-selection.
|
||||
Both these methods work well with :set hls and searching may be
|
||||
repeated with the n or N commands.
|
||||
|
||||
Using // and ?? after a visual selection (the // is only available
|
||||
if you have g:vis_WantSlashSlash=1 in your <.vimrc> file):
|
||||
>
|
||||
ex. select region via V, v, or ctrl-v
|
||||
//pattern
|
||||
<
|
||||
You'll actually get a long leader string of commands to restrict
|
||||
searches to the requested visual block first. You may then enter
|
||||
the pattern afterwards. For example, using "v" to select this
|
||||
paragraph, you'll see something like: >
|
||||
|
||||
/\%(\%(\%80l\%>12v\)\|\%(\%83l\%<53v\)\|\%(\%>80l\%<83l\)\)\&
|
||||
<
|
||||
You may enter whatever pattern you want after the \&, and the
|
||||
pattern search will be restricted to the requested region.
|
||||
|
||||
The "S" command in visual mode:
|
||||
>
|
||||
ex. select region via V, v, or ctrl-v
|
||||
:S pattern
|
||||
<
|
||||
The ":S pattern" will appear as ":'<,'>S pattern". This
|
||||
command will move the cursor to the next instance of the
|
||||
pattern, restricted to the visually selected block.
|
||||
|
||||
An "R" command was contemplated, but I currently see no way to
|
||||
get it to continue to search backwards with n and N commands.
|
||||
|
||||
|
||||
==============================================================================
|
||||
4. Required *vis-required*
|
||||
|
||||
The latest <vis.vim> (v20f or later) now requires vim 7.0 (or later),
|
||||
as it has been split into plugin/ and an autoload/ sections for
|
||||
on-demand loading.
|
||||
|
||||
Starting with version 11, <vis.vim> required <cecutil.vim>. It uses
|
||||
the SaveWinPosn() and RestoreWinPosn() functions therein. You may get
|
||||
<cecutil.vim> from
|
||||
|
||||
http://www.drchip.org/astronaut/vim/index.html#CECUTIL
|
||||
|
||||
|
||||
==============================================================================
|
||||
5. Sorting Examples *vis-sort*
|
||||
|
||||
Assume we start with the following three lines: >
|
||||
|
||||
one two three
|
||||
four five six
|
||||
seven eight nine
|
||||
<
|
||||
Example 1: Use visual-block mode to select the center three
|
||||
words: ctrl-v select two/five/eight, then :'<,'>sort: >
|
||||
|
||||
four five six
|
||||
one two three
|
||||
seven eight nine
|
||||
<
|
||||
Note that the visual-block is ignored, other than as a way to
|
||||
select the three lines. The resulting sorting is done on the
|
||||
three words "one/four/seven".
|
||||
|
||||
(this example presumed that you're using vim 7.0; if you're using
|
||||
an earlier version vim, try :'<,\> !sort instead)
|
||||
|
||||
Example 2: Using vis.vim's B command:
|
||||
Again, use visual-block mode to select the center
|
||||
three words: ctrl-v select two/five/eight, then :'<,'>B sort: >
|
||||
|
||||
one eight three
|
||||
four five six
|
||||
seven two nine
|
||||
<
|
||||
This operation sorts the selected three words (two/five/eight),
|
||||
leaving all characters outside the visual block alone.
|
||||
|
||||
(this example presumed that you're using vim 7.0; if you're using
|
||||
an earlier version vim, try :'<,\> !sort instead)
|
||||
|
||||
Example 3: Using vissort.vim's Vissort() function
|
||||
Use visual block mode to select the center three words;
|
||||
ctrl-v select two/five/eight, then :'<,'>Vissort: >
|
||||
|
||||
seven eight nine
|
||||
four five six
|
||||
one two three
|
||||
<
|
||||
This time, the entire lines are sorted, but the sorting is done
|
||||
based on the visual-block selected region (ie. two/five/eight).
|
||||
|
||||
|
||||
==============================================================================
|
||||
6. History *vis-history* {{{1
|
||||
|
||||
v22 : Dec 08, 2021 - while using mathify, I kept getting an unwanted
|
||||
trailing space. I've tracked it down to Step#5
|
||||
in vis#VisBlockCmd()'s exe 'keepj norm! 0'.vmode.'G$"ax'
|
||||
For an unknown reason, that command sometimes, not
|
||||
always, picks up the end-of-line as a space (even
|
||||
with set ve=)
|
||||
v21 : Apr 01, 2013 - visual block and ragged right detection; there was
|
||||
a conflict between using ve= and ve=all
|
||||
(internally); one was good for ragged right and
|
||||
the other for smooth right visual block selections.
|
||||
I found a way to detect ragged right vs smooth right
|
||||
and so vis.vim now works properly in both
|
||||
situations.
|
||||
Apr 02, 2013 - The detection method above hung when on line 1.
|
||||
Fixed.
|
||||
Jan 15, 2015 - Small adjustment to prevent a leading space from
|
||||
being inserted.
|
||||
Feb 10, 2016 - (Stefan Siegal) provided a patch making
|
||||
visPlugin.vim restore cpo
|
||||
Sep 07, 2016 - addressed an empty-string bug : if the block
|
||||
command causes an empty string to appear in the
|
||||
modified text, vim would insert a blank rather than
|
||||
do nothing. Fixed by prepending an
|
||||
"empty-character" and then removing it
|
||||
v20 : May 20, 2009 - cecutil bugfix
|
||||
May 19, 2010 - split into plugin/ and autoload/ for faster
|
||||
loading and on-demand loading.
|
||||
Mar 18, 2013 - (Gary Johnson) pointed out that changing
|
||||
cedit to <Esc> caused problems with visincr;
|
||||
the cedit setting is now bypassed in vis, too.
|
||||
Mar 29, 2013 - Fixed a problem with vis#VisBlockCmd() where it
|
||||
missed substitutes due to a short last line.
|
||||
s:SaveUserSettings() now makes ve=all instead of
|
||||
ve= (see |'ve'|)
|
||||
v19 : Jan 06, 2006 - small modification included to allow AlignMaps
|
||||
maps to work (visual select, :B norm \somemap)
|
||||
- cecutil updated to use keepjumps
|
||||
Jan 24, 2006 - works around formatoption setting
|
||||
Jan 25, 2006 - uses SaveWinPosn(0) to avoid SWP stack use
|
||||
v18 : Jul 11, 2005 - vis.vim now works around a virtcol() behavior
|
||||
difference between ve=all vs ve=block
|
||||
v17 : Apr 25, 2005 - vis.vim now uses cecutil (SaveWinPosn, etc) so the
|
||||
tarball now includes a copy of cecutil.vim
|
||||
v16 : Feb 02, 2005 - fixed a bug with visual-block + S ; the first line
|
||||
was being omitted in the search
|
||||
Mar 01, 2005 - <q-args> used instead of '<args>'
|
||||
Apr 13, 2005 - :'<,'>S plus v had a bug with one or two line
|
||||
selections (tnx to Vigil for pointing this out)
|
||||
Apr 14, 2005 - set ignorecase caused visual-block searching
|
||||
to confuse visual modes "v" and "V"
|
||||
v15 : Feb 01, 2005 - includes some additions to the help
|
||||
v14 : Sep 28, 2004 - visual-block based searching now supported. One
|
||||
do this either with :'<,'>S pattern or with a / or ?
|
||||
Jan 31, 2005 - fixed help file
|
||||
v13 : Jul 16, 2004 - folding commands added to source
|
||||
- GetLatestVimScript hook added for automatic updating
|
||||
v12 : Jun 14, 2004 - bugfix (folding interfered)
|
||||
v11 : May 18, 2004 - Included calls to SaveWinPosn() and RestoreWinPosn()
|
||||
to prevent unwanted movement of the cursor and window.
|
||||
As a result, <vis.vim> now requires <cecutil.vim>
|
||||
(see |vis-required|).
|
||||
v10 : Feb 11, 2003 - bugfix (ignorecase option interfered with v)
|
||||
v9 : Sep 10, 2002 - bugfix (left Decho on, now commented out)
|
||||
v8 : Sep 09, 2002 - bugfix (first column problem)
|
||||
v7 : Sep 05, 2002 - bugfix (was forcing begcol<endcol for "v" mode)
|
||||
v6 : Jun 25, 2002 - bugfix (VirtcolM1 instead of virtcol()-1)
|
||||
v5 : Jun 21, 2002 - now supports character-visual mode (v) and
|
||||
linewise-visual mode (V)
|
||||
v4 : Jun 20, 2002 - saves sol, sets nosol, restores sol
|
||||
- bugfix: 0 inserted: 0\<c-v>G$\"ad
|
||||
- Fixed double-loading (was commented
|
||||
out for debugging purposes)
|
||||
v3 : Jun 20, 2002 - saves ve, unsets ve, restores ve
|
||||
v2 : June 19, 2002 - Charles Campbell's <vis.vim>
|
||||
v? June 19, 2002 Complete rewrite - <vis.vim> is now immune to
|
||||
the presence of tabs and is considerably faster.
|
||||
v1 Epoch - Stefan Roemer <roemer@informatik.tu-muenchen.de>
|
||||
wrote the original <vis.vim>.
|
||||
|
||||
==============================================================================
|
||||
Modelines: {{{1
|
||||
vim:tw=78:ts=8:ft=help:fdm=marker
|
1
vim/.vim/ftdetect/weechatlog.vim
Normal file
1
vim/.vim/ftdetect/weechatlog.vim
Normal file
@ -0,0 +1 @@
|
||||
autocmd BufNewFile,BufRead *.weechatlog set filetype=weechatlog
|
@ -1 +0,0 @@
|
||||
|
||||
|
61
vim/.vim/plugin/visPlugin.vim
Normal file
61
vim/.vim/plugin/visPlugin.vim
Normal file
@ -0,0 +1,61 @@
|
||||
" visPlugin.vim: Perform an Ex command on a visual highlighted block (CTRL-V).
|
||||
" Date: May 18, 2010 - Jan 07, 2020
|
||||
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
" Version: 22
|
||||
" GetLatestVimScripts: 1066 1 cecutil.vim
|
||||
" GetLatestVimScripts: 1195 1 :AutoInstall: vis.vim
|
||||
" Verse: For am I now seeking the favor of men, or of God? Or am I striving
|
||||
" to please men? For if I were still pleasing men, I wouldn't be a servant
|
||||
" of Christ. (Gal 1:10, WEB)
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Details: {{{1
|
||||
" Requires: Requires 6.0 or later (this script is a plugin)
|
||||
" Requires <cecutil.vim> (see :he vis-required)
|
||||
"
|
||||
" Usage: Mark visual block (CTRL-V) or visual character (v),
|
||||
" press ':B ' and enter an Ex command [cmd].
|
||||
"
|
||||
" ex. Use ctrl-v to visually mark the block then use
|
||||
" :B cmd (will appear as :'<,'>B cmd )
|
||||
"
|
||||
" ex. Use v to visually mark the block then use
|
||||
" :B cmd (will appear as :'<,'>B cmd )
|
||||
"
|
||||
" Command-line completion is supported for Ex commands.
|
||||
"
|
||||
" Note: There must be a space before the '!' when invoking external shell
|
||||
" commands, eg. ':B !sort'. Otherwise an error is reported.
|
||||
"
|
||||
" Author: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
" Based on idea of Stefan Roemer <roemer@informatik.tu-muenchen.de>
|
||||
"
|
||||
" ------------------------------------------------------------------------------
|
||||
" Initialization: {{{1
|
||||
" Exit quickly when <Vis.vim> has already been loaded or
|
||||
" when 'compatible' is set
|
||||
if &cp
|
||||
finish
|
||||
endif
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
" ------------------------------------------------------------------------------
|
||||
" Public Interface: {{{1
|
||||
" -range : VisBlockCmd operates on the range itself
|
||||
" -com=command : Ex command and arguments
|
||||
" -nargs=+ : arguments may be supplied, up to any quantity
|
||||
com! -range -nargs=+ -com=command B sil <line1>,<line2>call vis#VisBlockCmd(<q-args>)
|
||||
com! -range -nargs=* -com=expression S sil <line1>,<line2>call vis#VisBlockSearch(<q-args>)
|
||||
|
||||
" Suggested by Hari --
|
||||
if exists("g:vis_WantSlashSlash") && g:vis_WantSlashSlash
|
||||
vn // <esc>/<c-r>=vis#VisBlockSearch()<cr>
|
||||
endif
|
||||
vn ?? <esc>?<c-r>=vis#VisBlockSearch()<cr>
|
||||
|
||||
let &cpo= s:keepcpo
|
||||
unlet s:keepcpo
|
||||
" ---------------------------------------------------------------------
|
||||
" Modelines: {{{1
|
||||
" vim: fdm=marker
|
94
vim/.vim/spell/en.utf-8.add
Normal file
94
vim/.vim/spell/en.utf-8.add
Normal file
@ -0,0 +1,94 @@
|
||||
SMT
|
||||
DPLL
|
||||
Normal
|
||||
DNF
|
||||
CNF
|
||||
PNF
|
||||
Ascii
|
||||
multiline
|
||||
facebook
|
||||
eval
|
||||
Javascript
|
||||
Lua
|
||||
webadmin
|
||||
uint
|
||||
ascii
|
||||
colorscheme
|
||||
wifi
|
||||
descibing
|
||||
forkbomb
|
||||
ctrl
|
||||
whitespace
|
||||
outputed
|
||||
enum
|
||||
pajeet
|
||||
fi
|
||||
whitespaces
|
||||
Megadeth
|
||||
builtins
|
||||
readonly
|
||||
config
|
||||
readline
|
||||
suckless
|
||||
init
|
||||
btw
|
||||
redpill
|
||||
overlive
|
||||
hardcoded
|
||||
loglevel
|
||||
filesystem
|
||||
filesystems
|
||||
childnodes
|
||||
Pufka
|
||||
unsatisfiable
|
||||
subformula
|
||||
subformulas
|
||||
Tseitin
|
||||
DIMACS
|
||||
lim
|
||||
func
|
||||
foreach
|
||||
reusability
|
||||
webdev
|
||||
wetdream
|
||||
OOP
|
||||
eachother
|
||||
trackpoint
|
||||
monoid
|
||||
endofunctors
|
||||
soydev
|
||||
struct
|
||||
backend
|
||||
chan
|
||||
mobo
|
||||
mobos
|
||||
virtualization
|
||||
POSIX
|
||||
virtualize
|
||||
bool
|
||||
jackshit
|
||||
dir
|
||||
tbh
|
||||
bitmask
|
||||
timestamp
|
||||
commandline
|
||||
throught
|
||||
normie
|
||||
iterable
|
||||
len
|
||||
dimentional
|
||||
FAGMAN
|
||||
stylesheet
|
||||
shitshow
|
||||
ANSII
|
||||
footgun
|
||||
Costlessly
|
||||
terminality
|
||||
ints
|
||||
Zuse
|
||||
hellscape
|
||||
grayscale
|
||||
Dataflow
|
||||
feedforward
|
||||
perceptron
|
||||
compiletime
|
BIN
vim/.vim/spell/en.utf-8.add.spl
Normal file
BIN
vim/.vim/spell/en.utf-8.add.spl
Normal file
Binary file not shown.
346
vim/.vim/syntax/vidir-ls.vim
Normal file
346
vim/.vim/syntax/vidir-ls.vim
Normal file
@ -0,0 +1,346 @@
|
||||
" What: ls colors for vidir file listings
|
||||
" Where: $VIMRUNTIME/syntax/vidir-ls.vim
|
||||
" Author: Magnus Woldrich <m@japh.se>
|
||||
" Update: 2012-07-01 22:07:28
|
||||
" URL: https://github.com/trapd00r/vim-syntax-vidir-ls
|
||||
" http://devel.japh.se/vim-syntax-vidir-ls/
|
||||
" http://devel.japh.se/vidir
|
||||
"
|
||||
" This is supposed to be used with vidir [0]:
|
||||
" export VIDIR_EDITOR_ARGS='-c :set nolist | :set ft=vidir-ls'
|
||||
"
|
||||
" The colors are generated from the LS_COLORS environment variable
|
||||
" automatically. Please see the LS_COLORS repository [1] for a set of good
|
||||
" colors.
|
||||
"
|
||||
" [0]: https://github.com/trapd00r/vidir
|
||||
" [1]: https://github.com/trapd00r/LS_COLORS
|
||||
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
function! <SID>MakeStyle(ls_color_style)
|
||||
let l:style_settings = split(a:ls_color_style, ';')
|
||||
|
||||
let l:style_string = ''
|
||||
|
||||
while len(l:style_settings) >= 3
|
||||
let [l:where, l:flag, l:clr; l:style_settings] = l:style_settings
|
||||
|
||||
if l:flag == 5
|
||||
if l:where == 38
|
||||
let l:style_string .= ' ctermfg='.l:clr
|
||||
\ .' guifg='.s:term2rgb[substitute(l:clr, '^0\+\ze\S', '', '')]
|
||||
elseif l:where == 48
|
||||
let l:style_string .= ' ctermbg='.l:clr
|
||||
\ .' guibg='.s:term2rgb[substitute(l:clr, '^0\+\ze\S', '', '')]
|
||||
endif
|
||||
endif
|
||||
endwhile
|
||||
|
||||
if len(l:style_settings) == 1
|
||||
let l:style = l:style_settings[0]
|
||||
|
||||
if l:style == '0' || l:style == '00'
|
||||
let l:style_string .= ' cterm=none'
|
||||
elseif l:style == '1' || l:style == '01'
|
||||
let l:style_string .= ' cterm=bold'
|
||||
elseif l:style == '4' || l:style == '04'
|
||||
let l:style_string .= ' cterm=underline'
|
||||
elseif l:style == '7' || l:style == '07'
|
||||
let l:style_string .= ' cterm=reverse'
|
||||
endif
|
||||
end
|
||||
|
||||
return l:style_string
|
||||
endfunction
|
||||
|
||||
function! <SID>MakeSyntax(ls_color)
|
||||
let [l:glob, l:colors] = split(a:ls_color, '=')
|
||||
|
||||
if l:glob =~ '^\*\..*'
|
||||
let l:regex = '\v[/]\zs.+[.]'
|
||||
let l:ext = substitute(l:glob, '^\*[.]', '', '')
|
||||
let l:regex .= substitute(l:ext, '[.~]', '[&]', 'g') . '$'
|
||||
let l:ext = substitute(l:ext, '[.~]', '_', 'g')
|
||||
elseif l:glob == 'di'
|
||||
let l:ext = 'DI'
|
||||
let l:regex = '\v.+[/].+[/]$'
|
||||
else
|
||||
return
|
||||
endif
|
||||
|
||||
execute 'silent! hi ls_' . l:ext . <SID>MakeStyle(l:colors)
|
||||
execute 'silent! syn match ls_' . l:ext . ' display "' . l:regex . '"'
|
||||
endfunction
|
||||
|
||||
" Colors from http://www.calmar.ws/vim/256-xterm-24bit-rgb-color-chart.html
|
||||
let s:term2rgb = {
|
||||
\ 0: "#000000",
|
||||
\ 1: "#800000",
|
||||
\ 2: "#008000",
|
||||
\ 3: "#808000",
|
||||
\ 4: "#000080",
|
||||
\ 5: "#800080",
|
||||
\ 6: "#008080",
|
||||
\ 7: "#c0c0c0",
|
||||
\ 8: "#808080",
|
||||
\ 9: "#ff0000",
|
||||
\ 10: "#00ff00",
|
||||
\ 11: "#ffff00",
|
||||
\ 12: "#0000ff",
|
||||
\ 13: "#ff00ff",
|
||||
\ 14: "#00ffff",
|
||||
\ 15: "#ffffff",
|
||||
\
|
||||
\ 16: "#000000",
|
||||
\ 17: "#00005f",
|
||||
\ 18: "#000087",
|
||||
\ 19: "#0000af",
|
||||
\ 20: "#0000d7",
|
||||
\ 21: "#0000ff",
|
||||
\ 22: "#005f00",
|
||||
\ 23: "#005f5f",
|
||||
\ 24: "#005f87",
|
||||
\ 25: "#005faf",
|
||||
\ 26: "#005fd7",
|
||||
\ 27: "#005fff",
|
||||
\ 28: "#008700",
|
||||
\ 29: "#00875f",
|
||||
\ 30: "#008787",
|
||||
\ 31: "#0087af",
|
||||
\ 32: "#0087d7",
|
||||
\ 33: "#0087ff",
|
||||
\ 34: "#00af00",
|
||||
\ 35: "#00af5f",
|
||||
\ 36: "#00af87",
|
||||
\ 37: "#00afaf",
|
||||
\ 38: "#00afd7",
|
||||
\ 39: "#00afff",
|
||||
\ 40: "#00d700",
|
||||
\ 41: "#00d75f",
|
||||
\ 42: "#00d787",
|
||||
\ 43: "#00d7af",
|
||||
\ 44: "#00d7d7",
|
||||
\ 45: "#00d7ff",
|
||||
\ 46: "#00ff00",
|
||||
\ 47: "#00ff5f",
|
||||
\ 48: "#00ff87",
|
||||
\ 49: "#00ffaf",
|
||||
\ 50: "#00ffd7",
|
||||
\ 51: "#00ffff",
|
||||
\ 52: "#5f0000",
|
||||
\ 53: "#5f005f",
|
||||
\ 54: "#5f0087",
|
||||
\ 55: "#5f00af",
|
||||
\ 56: "#5f00d7",
|
||||
\ 57: "#5f00ff",
|
||||
\ 58: "#5f5f00",
|
||||
\ 59: "#5f5f5f",
|
||||
\ 60: "#5f5f87",
|
||||
\ 61: "#5f5faf",
|
||||
\ 62: "#5f5fd7",
|
||||
\ 63: "#5f5fff",
|
||||
\ 64: "#5f8700",
|
||||
\ 65: "#5f875f",
|
||||
\ 66: "#5f8787",
|
||||
\ 67: "#5f87af",
|
||||
\ 68: "#5f87d7",
|
||||
\ 69: "#5f87ff",
|
||||
\ 70: "#5faf00",
|
||||
\ 71: "#5faf5f",
|
||||
\ 72: "#5faf87",
|
||||
\ 73: "#5fafaf",
|
||||
\ 74: "#5fafd7",
|
||||
\ 75: "#5fafff",
|
||||
\ 76: "#5fd700",
|
||||
\ 77: "#5fd75f",
|
||||
\ 78: "#5fd787",
|
||||
\ 79: "#5fd7af",
|
||||
\ 80: "#5fd7d7",
|
||||
\ 81: "#5fd7ff",
|
||||
\ 82: "#5fff00",
|
||||
\ 83: "#5fff5f",
|
||||
\ 84: "#5fff87",
|
||||
\ 85: "#5fffaf",
|
||||
\ 86: "#5fffd7",
|
||||
\ 87: "#5fffff",
|
||||
\ 88: "#870000",
|
||||
\ 89: "#87005f",
|
||||
\ 90: "#870087",
|
||||
\ 91: "#8700af",
|
||||
\ 92: "#8700d7",
|
||||
\ 93: "#8700ff",
|
||||
\ 94: "#875f00",
|
||||
\ 95: "#875f5f",
|
||||
\ 96: "#875f87",
|
||||
\ 97: "#875faf",
|
||||
\ 98: "#875fd7",
|
||||
\ 99: "#875fff",
|
||||
\ 100: "#878700",
|
||||
\ 101: "#87875f",
|
||||
\ 102: "#878787",
|
||||
\ 103: "#8787af",
|
||||
\ 104: "#8787d7",
|
||||
\ 105: "#8787ff",
|
||||
\ 106: "#87af00",
|
||||
\ 107: "#87af5f",
|
||||
\ 108: "#87af87",
|
||||
\ 109: "#87afaf",
|
||||
\ 110: "#87afd7",
|
||||
\ 111: "#87afff",
|
||||
\ 112: "#87d700",
|
||||
\ 113: "#87d75f",
|
||||
\ 114: "#87d787",
|
||||
\ 115: "#87d7af",
|
||||
\ 116: "#87d7d7",
|
||||
\ 117: "#87d7ff",
|
||||
\ 118: "#87ff00",
|
||||
\ 119: "#87ff5f",
|
||||
\ 120: "#87ff87",
|
||||
\ 121: "#87ffaf",
|
||||
\ 122: "#87ffd7",
|
||||
\ 123: "#87ffff",
|
||||
\ 124: "#af0000",
|
||||
\ 125: "#af005f",
|
||||
\ 126: "#af0087",
|
||||
\ 127: "#af00af",
|
||||
\ 128: "#af00d7",
|
||||
\ 129: "#af00ff",
|
||||
\ 130: "#af5f00",
|
||||
\ 131: "#af5f5f",
|
||||
\ 132: "#af5f87",
|
||||
\ 133: "#af5faf",
|
||||
\ 134: "#af5fd7",
|
||||
\ 135: "#af5fff",
|
||||
\ 136: "#af8700",
|
||||
\ 137: "#af875f",
|
||||
\ 138: "#af8787",
|
||||
\ 139: "#af87af",
|
||||
\ 140: "#af87d7",
|
||||
\ 141: "#af87ff",
|
||||
\ 142: "#afaf00",
|
||||
\ 143: "#afaf5f",
|
||||
\ 144: "#afaf87",
|
||||
\ 145: "#afafaf",
|
||||
\ 146: "#afafd7",
|
||||
\ 147: "#afafff",
|
||||
\ 148: "#afd700",
|
||||
\ 149: "#afd75f",
|
||||
\ 150: "#afd787",
|
||||
\ 151: "#afd7af",
|
||||
\ 152: "#afd7d7",
|
||||
\ 153: "#afd7ff",
|
||||
\ 154: "#afff00",
|
||||
\ 155: "#afff5f",
|
||||
\ 156: "#afff87",
|
||||
\ 157: "#afffaf",
|
||||
\ 158: "#afffd7",
|
||||
\ 159: "#afffff",
|
||||
\ 160: "#d70000",
|
||||
\ 161: "#d7005f",
|
||||
\ 162: "#d70087",
|
||||
\ 163: "#d700af",
|
||||
\ 164: "#d700d7",
|
||||
\ 165: "#d700ff",
|
||||
\ 166: "#d75f00",
|
||||
\ 167: "#d75f5f",
|
||||
\ 168: "#d75f87",
|
||||
\ 169: "#d75faf",
|
||||
\ 170: "#d75fd7",
|
||||
\ 171: "#d75fff",
|
||||
\ 172: "#d78700",
|
||||
\ 173: "#d7875f",
|
||||
\ 174: "#d78787",
|
||||
\ 175: "#d787af",
|
||||
\ 176: "#d787d7",
|
||||
\ 177: "#d787ff",
|
||||
\ 178: "#d7af00",
|
||||
\ 179: "#d7af5f",
|
||||
\ 180: "#d7af87",
|
||||
\ 181: "#d7afaf",
|
||||
\ 182: "#d7afd7",
|
||||
\ 183: "#d7afff",
|
||||
\ 184: "#d7d700",
|
||||
\ 185: "#d7d75f",
|
||||
\ 186: "#d7d787",
|
||||
\ 187: "#d7d7af",
|
||||
\ 188: "#d7d7d7",
|
||||
\ 189: "#d7d7ff",
|
||||
\ 190: "#d7ff00",
|
||||
\ 191: "#d7ff5f",
|
||||
\ 192: "#d7ff87",
|
||||
\ 193: "#d7ffaf",
|
||||
\ 194: "#d7ffd7",
|
||||
\ 195: "#d7ffff",
|
||||
\ 196: "#ff0000",
|
||||
\ 197: "#ff005f",
|
||||
\ 198: "#ff0087",
|
||||
\ 199: "#ff00af",
|
||||
\ 200: "#ff00d7",
|
||||
\ 201: "#ff00ff",
|
||||
\ 202: "#ff5f00",
|
||||
\ 203: "#ff5f5f",
|
||||
\ 204: "#ff5f87",
|
||||
\ 205: "#ff5faf",
|
||||
\ 206: "#ff5fd7",
|
||||
\ 207: "#ff5fff",
|
||||
\ 208: "#ff8700",
|
||||
\ 209: "#ff875f",
|
||||
\ 210: "#ff8787",
|
||||
\ 211: "#ff87af",
|
||||
\ 212: "#ff87d7",
|
||||
\ 213: "#ff87ff",
|
||||
\ 214: "#ffaf00",
|
||||
\ 215: "#ffaf5f",
|
||||
\ 216: "#ffaf87",
|
||||
\ 217: "#ffafaf",
|
||||
\ 218: "#ffafd7",
|
||||
\ 219: "#ffafff",
|
||||
\ 220: "#ffd700",
|
||||
\ 221: "#ffd75f",
|
||||
\ 222: "#ffd787",
|
||||
\ 223: "#ffd7af",
|
||||
\ 224: "#ffd7d7",
|
||||
\ 225: "#ffd7ff",
|
||||
\ 226: "#ffff00",
|
||||
\ 227: "#ffff5f",
|
||||
\ 228: "#ffff87",
|
||||
\ 229: "#ffffaf",
|
||||
\ 230: "#ffffd7",
|
||||
\ 231: "#ffffff",
|
||||
\
|
||||
\ 232: "#080808",
|
||||
\ 233: "#121212",
|
||||
\ 234: "#1c1c1c",
|
||||
\ 235: "#262626",
|
||||
\ 236: "#303030",
|
||||
\ 237: "#3a3a3a",
|
||||
\ 238: "#444444",
|
||||
\ 239: "#4e4e4e",
|
||||
\ 240: "#585858",
|
||||
\ 241: "#606060",
|
||||
\ 242: "#666666",
|
||||
\ 243: "#767676",
|
||||
\ 244: "#808080",
|
||||
\ 245: "#8a8a8a",
|
||||
\ 246: "#949494",
|
||||
\ 247: "#9e9e9e",
|
||||
\ 248: "#a8a8a8",
|
||||
\ 249: "#b2b2b2",
|
||||
\ 250: "#bcbcbc",
|
||||
\ 251: "#c6c6c6",
|
||||
\ 252: "#d0d0d0",
|
||||
\ 253: "#dadada",
|
||||
\ 254: "#e4e4e4",
|
||||
\ 255: "#eeeeee",
|
||||
\}
|
||||
|
||||
let s:ls_colors = split($LS_COLORS, ':')
|
||||
let s:ls_colors = map(s:ls_colors, '<SID>MakeSyntax(v:val)')
|
||||
|
||||
let g:ls_colors = s:ls_colors
|
||||
|
||||
let b:current_syntax = 'vidir-ls'
|
41
vim/.vim/syntax/weechatlog.vim
Normal file
41
vim/.vim/syntax/weechatlog.vim
Normal file
@ -0,0 +1,41 @@
|
||||
if !exists("main_syntax")
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
let main_syntax = 'weechatlog'
|
||||
endif
|
||||
|
||||
syntax clear
|
||||
|
||||
syn match WeeChatNick '\t.*\t'
|
||||
syn match WeeChatJoin '\t-->\t'
|
||||
syn match WeeChatPart '\t<--\t'
|
||||
|
||||
syn region WeeChatChannelMsg start=/\t--\t/ end=/\n/ contains=WeeChatChannel
|
||||
|
||||
syn match WeeChatDate '\d\{4}-\d\{2}-\d\{2}'
|
||||
syn match WeeChatTimestamp '\d\{2}:\d\{2}:\d\{2}'
|
||||
syn match WeeChatChannel '#\S\+'
|
||||
syn match WeeChatDomain '(\S*@\S*)'
|
||||
syn match WeeChatTimeout '(Ping timeout: \d\+ seconds)'
|
||||
syn match WeeChatPart '(Remote host closed the connection)'
|
||||
syn match WeeChatPart2 '(Quit: .*)'
|
||||
|
||||
syn match WeeChatLink /[a-z]\+:\/\/[a-zA-z0-9./?=%]\+/
|
||||
|
||||
hi link WeeChatDate Number
|
||||
hi link WeeChatTimestamp Number
|
||||
|
||||
hi link WeeChatChannel PreProc
|
||||
|
||||
hi link WeeChatChannelMsg Label
|
||||
hi link WeeChatDomain Identifier
|
||||
|
||||
hi link WeeChatJoin Statement
|
||||
hi link WeeChatPart Error
|
||||
hi link WeeChatPart2 Error
|
||||
hi link WeeChatTimeout WeeChatPart
|
||||
|
||||
hi link WeeChatNick String
|
||||
|
||||
hi link WeeChatLink Function
|
Reference in New Issue
Block a user