vim-patch:b0d45e7f5354

Update runtime files.

b0d45e7f53
This commit is contained in:
Justin M. Keyes 2017-11-07 20:51:49 +01:00
parent 4175dfac9a
commit 2ca59638ba
15 changed files with 5173 additions and 5310 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
" netrwSettings.vim: makes netrw settings simpler " netrwSettings.vim: makes netrw settings simpler
" Date: Dec 30, 2014 " Date: Nov 09, 2016
" Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz> " Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz>
" Version: 15 " Version: 16
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1 " Copyright: Copyright (C) 1999-2007 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
@ -19,7 +19,7 @@
if exists("g:loaded_netrwSettings") || &cp if exists("g:loaded_netrwSettings") || &cp
finish finish
endif endif
let g:loaded_netrwSettings = "v15" let g:loaded_netrwSettings = "v16"
if v:version < 700 if v:version < 700
echohl WarningMsg echohl WarningMsg
echo "***warning*** this version of netrwSettings needs vim 7.0" echo "***warning*** this version of netrwSettings needs vim 7.0"
@ -154,9 +154,13 @@ fun! netrwSettings#NetrwSettings()
put = 'let g:netrw_list_hide = '.g:netrw_list_hide put = 'let g:netrw_list_hide = '.g:netrw_list_hide
put = 'let g:netrw_liststyle = '.g:netrw_liststyle put = 'let g:netrw_liststyle = '.g:netrw_liststyle
put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd
put = 'let g:netrw_localcopycmdopt = '.g:netrw_localcopycmdopt
put = 'let g:netrw_localmkdir = '.g:netrw_localmkdir put = 'let g:netrw_localmkdir = '.g:netrw_localmkdir
put = 'let g:netrw_localmkdiropt = '.g:netrw_localmkdiropt
put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
put = 'let g:netrw_localmovecmdopt = '.g:netrw_localmovecmdopt
put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir
put = 'let g:netrw_localrmdiropt = '.g:netrw_localrmdiropt
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
put = 'let g:netrw_menu = '.g:netrw_menu put = 'let g:netrw_menu = '.g:netrw_menu
put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps

View File

@ -55,7 +55,14 @@ Note: The ":autocmd" command can only be followed by another command when the
'|' appears before {cmd}. This works: > '|' appears before {cmd}. This works: >
:augroup mine | au! BufRead | augroup END :augroup mine | au! BufRead | augroup END
But this sees "augroup" as part of the defined command: > But this sees "augroup" as part of the defined command: >
:augroup mine | au! BufRead * | augroup END
:augroup mine | au BufRead * set tw=70 | augroup END :augroup mine | au BufRead * set tw=70 | augroup END
Instead you can put the group name into the command: >
:au! mine BufRead *
:au mine BufRead * set tw=70
Or use `:execute`: >
:augroup mine | exe "au! BufRead *" | augroup END
:augroup mine | exe "au BufRead * set tw=70" | augroup END
Note that special characters (e.g., "%", "<cword>") in the ":autocmd" Note that special characters (e.g., "%", "<cword>") in the ":autocmd"
arguments are not expanded when the autocommand is defined. These will be arguments are not expanded when the autocommand is defined. These will be

View File

@ -1016,7 +1016,7 @@ When expr8 is a |Funcref| type variable, invoke the function it refers to.
*expr9* *expr9*
number number
------ ------
number number constant *expr-number* number number constant *expr-number*
*hex-number* *octal-number* *binary-number* *hex-number* *octal-number* *binary-number*
Decimal, Hexadecimal (starting with 0x or 0X), Binary (starting with 0b or 0B) Decimal, Hexadecimal (starting with 0x or 0X), Binary (starting with 0b or 0B)
@ -1789,7 +1789,7 @@ v:servername Default Nvim server address. Equivalent to
|$NVIM_LISTEN_ADDRESS| on startup. |serverstop()| |$NVIM_LISTEN_ADDRESS| on startup. |serverstop()|
Read-only. Read-only.
v:searchforward *v:searchforward* *searchforward-variable* v:searchforward *v:searchforward* *searchforward-variable*
Search direction: 1 after a forward search, 0 after a Search direction: 1 after a forward search, 0 after a
backward search. It is reset to forward when directly setting backward search. It is reset to forward when directly setting
@ -1871,7 +1871,7 @@ v:termresponse The escape sequence returned by the terminal for the DA
*v:testing* *testing-variable* *v:testing* *testing-variable*
v:testing Must be set before using `test_garbagecollect_now()`. v:testing Must be set before using `test_garbagecollect_now()`.
Also, when set certain error messages won't be shown for 2 Also, when set certain error messages won't be shown for 2
seconds. (e.g. "'dictionary' option is empty") seconds. (e.g. "'dictionary' option is empty")
*v:this_session* *this_session-variable* *v:this_session* *this_session-variable*
v:this_session Full filename of the last loaded or saved session file. See v:this_session Full filename of the last loaded or saved session file. See
@ -2031,9 +2031,9 @@ filereadable({file}) Number |TRUE| if {file} is a readable file
filewritable({file}) Number |TRUE| if {file} is a writable file filewritable({file}) Number |TRUE| if {file} is a writable file
filter({expr1}, {expr2}) List/Dict remove items from {expr1} where filter({expr1}, {expr2}) List/Dict remove items from {expr1} where
{expr2} is 0 {expr2} is 0
finddir({name}[, {path}[, {count}]]) finddir({name} [, {path} [, {count}]])
String find directory {name} in {path} String find directory {name} in {path}
findfile({name}[, {path}[, {count}]]) findfile({name} [, {path} [, {count}]])
String find file {name} in {path} String find file {name} in {path}
float2nr({expr}) Number convert Float {expr} to a Number float2nr({expr}) Number convert Float {expr} to a Number
floor({expr}) Float round {expr} down floor({expr}) Float round {expr} down
@ -2077,7 +2077,7 @@ getftime({fname}) Number last modification time of file
getftype({fname}) String description of type of file {fname} getftype({fname}) String description of type of file {fname}
getline({lnum}) String line {lnum} of current buffer getline({lnum}) String line {lnum} of current buffer
getline({lnum}, {end}) List lines {lnum} to {end} of current buffer getline({lnum}, {end}) List lines {lnum} to {end} of current buffer
getloclist({nr}[, {what}]) List list of location list items getloclist({nr} [, {what}]) List list of location list items
getmatches() List list of current matches getmatches() List list of current matches
getpid() Number process ID of Vim getpid() Number process ID of Vim
getpos({expr}) List position of cursor, mark, etc. getpos({expr}) List position of cursor, mark, etc.
@ -2276,22 +2276,22 @@ sqrt({expr}) Float square root of {expr}
str2float({expr}) Float convert String to Float str2float({expr}) Float convert String to Float
str2nr({expr} [, {base}]) Number convert String to Number str2nr({expr} [, {base}]) Number convert String to Number
strchars({expr} [, {skipcc}]) Number character length of the String {expr} strchars({expr} [, {skipcc}]) Number character length of the String {expr}
strcharpart({str}, {start}[, {len}]) strcharpart({str}, {start} [, {len}])
String {len} characters of {str} at {start} String {len} characters of {str} at {start}
strdisplaywidth({expr} [, {col}]) Number display length of the String {expr} strdisplaywidth({expr} [, {col}]) Number display length of the String {expr}
strftime({format}[, {time}]) String time in specified format strftime({format} [, {time}]) String time in specified format
strgetchar({str}, {index}) Number get char {index} from {str} strgetchar({str}, {index}) Number get char {index} from {str}
stridx({haystack}, {needle}[, {start}]) stridx({haystack}, {needle} [, {start}])
Number index of {needle} in {haystack} Number index of {needle} in {haystack}
string({expr}) String String representation of {expr} value string({expr}) String String representation of {expr} value
strlen({expr}) Number length of the String {expr} strlen({expr}) Number length of the String {expr}
strpart({str}, {start}[, {len}]) strpart({str}, {start} [, {len}])
String {len} characters of {str} at {start} String {len} characters of {str} at {start}
strridx({haystack}, {needle} [, {start}]) strridx({haystack}, {needle} [, {start}])
Number last index of {needle} in {haystack} Number last index of {needle} in {haystack}
strtrans({expr}) String translate string to make it printable strtrans({expr}) String translate string to make it printable
strwidth({expr}) Number display cell length of the String {expr} strwidth({expr}) Number display cell length of the String {expr}
submatch({nr}[, {list}]) String or List submatch({nr} [, {list}]) String or List
specific match in ":s" or substitute() specific match in ":s" or substitute()
substitute({expr}, {pat}, {sub}, {flags}) substitute({expr}, {pat}, {sub}, {flags})
String all {pat} in {expr} replaced with {sub} String all {pat} in {expr} replaced with {sub}
@ -2757,7 +2757,7 @@ changenr() *changenr()*
redo it is the number of the redone change. After undo it is redo it is the number of the redone change. After undo it is
one less than the number of the undone change. one less than the number of the undone change.
char2nr({expr}[, {utf8}]) *char2nr()* char2nr({expr} [, {utf8}]) *char2nr()*
Return number value of the first char in {expr}. Examples: > Return number value of the first char in {expr}. Examples: >
char2nr(" ") returns 32 char2nr(" ") returns 32
char2nr("ABC") returns 65 char2nr("ABC") returns 65
@ -3533,7 +3533,7 @@ filter({expr1}, {expr2}) *filter()*
defined with the "abort" flag. defined with the "abort" flag.
finddir({name}[, {path}[, {count}]]) *finddir()* finddir({name} [, {path} [, {count}]]) *finddir()*
Find directory {name} in {path}. Supports both downwards and Find directory {name} in {path}. Supports both downwards and
upwards recursive directory searches. See |file-searching| upwards recursive directory searches. See |file-searching|
for the syntax of {path}. for the syntax of {path}.
@ -3548,7 +3548,7 @@ finddir({name}[, {path}[, {count}]]) *finddir()*
{only available when compiled with the |+file_in_path| {only available when compiled with the |+file_in_path|
feature} feature}
findfile({name}[, {path}[, {count}]]) *findfile()* findfile({name} [, {path} [, {count}]]) *findfile()*
Just like |finddir()|, but find a file instead of a directory. Just like |finddir()|, but find a file instead of a directory.
Uses 'suffixesadd'. Uses 'suffixesadd'.
Example: > Example: >
@ -3715,7 +3715,7 @@ function({name} [, {arglist}] [, {dict}])
When {arglist} or {dict} is present this creates a partial. When {arglist} or {dict} is present this creates a partial.
That mans the argument list and/or the dictionary is stored in That mans the argument list and/or the dictionary is stored in
the Funcref and will be used when the Funcref is called. the Funcref and will be used when the Funcref is called.
The arguments are passed to the function in front of other The arguments are passed to the function in front of other
arguments. Example: > arguments. Example: >
func Callback(arg1, arg2, name) func Callback(arg1, arg2, name)
@ -5258,12 +5258,12 @@ map({expr1}, {expr2}) *map()*
defined with the "abort" flag. defined with the "abort" flag.
maparg({name}[, {mode} [, {abbr} [, {dict}]]]) *maparg()* maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()*
When {dict} is omitted or zero: Return the rhs of mapping When {dict} is omitted or zero: Return the rhs of mapping
{name} in mode {mode}. The returned String has special {name} in mode {mode}. The returned String has special
characters translated like in the output of the ":map" command characters translated like in the output of the ":map" command
listing. listing.
When there is no mapping for {name}, an empty String is When there is no mapping for {name}, an empty String is
returned. returned.
@ -5313,7 +5313,7 @@ maparg({name}[, {mode} [, {abbr} [, {dict}]]]) *maparg()*
exe 'nnoremap <Tab> ==' . maparg('<Tab>', 'n') exe 'nnoremap <Tab> ==' . maparg('<Tab>', 'n')
mapcheck({name}[, {mode} [, {abbr}]]) *mapcheck()* mapcheck({name} [, {mode} [, {abbr}]]) *mapcheck()*
Check if there is a mapping that matches with {name} in mode Check if there is a mapping that matches with {name} in mode
{mode}. See |maparg()| for {mode} and special names in {mode}. See |maparg()| for {mode} and special names in
{name}. {name}.
@ -5345,7 +5345,7 @@ mapcheck({name}[, {mode} [, {abbr}]]) *mapcheck()*
< This avoids adding the "_vv" mapping when there already is a < This avoids adding the "_vv" mapping when there already is a
mapping for "_v" or for "_vvv". mapping for "_v" or for "_vvv".
match({expr}, {pat}[, {start}[, {count}]]) *match()* match({expr}, {pat} [, {start} [, {count}]]) *match()*
When {expr} is a |List| then this returns the index of the When {expr} is a |List| then this returns the index of the
first item where {pat} matches. Each item is used as a first item where {pat} matches. Each item is used as a
String, |Lists| and |Dictionaries| are used as echoed. String, |Lists| and |Dictionaries| are used as echoed.
@ -5454,7 +5454,7 @@ matchadd({group}, {pattern}[, {priority}[, {id} [, {dict}]]])
one operation by |clearmatches()|. one operation by |clearmatches()|.
*matchaddpos()* *matchaddpos()*
matchaddpos({group}, {pos}[, {priority}[, {id}[, {dict}]]]) matchaddpos({group}, {pos} [, {priority} [, {id} [, {dict}]]])
Same as |matchadd()|, but requires a list of positions {pos} Same as |matchadd()|, but requires a list of positions {pos}
instead of a pattern. This command is faster than |matchadd()| instead of a pattern. This command is faster than |matchadd()|
because it does not require to handle regular expressions and because it does not require to handle regular expressions and
@ -5474,7 +5474,7 @@ matchaddpos({group}, {pos}[, {priority}[, {id}[, {dict}]]])
be highlighted. be highlighted.
- A list with three numbers, e.g., [23, 11, 3]. As above, but - A list with three numbers, e.g., [23, 11, 3]. As above, but
the third number gives the length of the highlight in bytes. the third number gives the length of the highlight in bytes.
The maximum number of positions is 8. The maximum number of positions is 8.
Example: > Example: >
@ -5507,7 +5507,7 @@ matchdelete({id}) *matchdelete()* *E802* *E803*
otherwise -1. See example for |matchadd()|. All matches can otherwise -1. See example for |matchadd()|. All matches can
be deleted in one operation by |clearmatches()|. be deleted in one operation by |clearmatches()|.
matchend({expr}, {pat}[, {start}[, {count}]]) *matchend()* matchend({expr}, {pat} [, {start} [, {count}]]) *matchend()*
Same as |match()|, but return the index of first character Same as |match()|, but return the index of first character
after the match. Example: > after the match. Example: >
:echo matchend("testing", "ing") :echo matchend("testing", "ing")
@ -5526,7 +5526,7 @@ matchend({expr}, {pat}[, {start}[, {count}]]) *matchend()*
< result is "-1". < result is "-1".
When {expr} is a |List| the result is equal to |match()|. When {expr} is a |List| the result is equal to |match()|.
matchlist({expr}, {pat}[, {start}[, {count}]]) *matchlist()* matchlist({expr}, {pat} [, {start} [, {count}]]) *matchlist()*
Same as |match()|, but return a |List|. The first item in the Same as |match()|, but return a |List|. The first item in the
list is the matched string, same as what matchstr() would list is the matched string, same as what matchstr() would
return. Following items are submatches, like "\1", "\2", etc. return. Following items are submatches, like "\1", "\2", etc.
@ -5536,7 +5536,7 @@ matchlist({expr}, {pat}[, {start}[, {count}]]) *matchlist()*
< Results in: ['acd', 'a', '', 'c', 'd', '', '', '', '', ''] < Results in: ['acd', 'a', '', 'c', 'd', '', '', '', '', '']
When there is no match an empty list is returned. When there is no match an empty list is returned.
matchstr({expr}, {pat}[, {start}[, {count}]]) *matchstr()* matchstr({expr}, {pat} [, {start} [, {count}]]) *matchstr()*
Same as |match()|, but return the matched string. Example: > Same as |match()|, but return the matched string. Example: >
:echo matchstr("testing", "ing") :echo matchstr("testing", "ing")
< results in "ing". < results in "ing".
@ -5549,7 +5549,7 @@ matchstr({expr}, {pat}[, {start}[, {count}]]) *matchstr()*
When {expr} is a |List| then the matching item is returned. When {expr} is a |List| then the matching item is returned.
The type isn't changed, it's not necessarily a String. The type isn't changed, it's not necessarily a String.
matchstrpos({expr}, {pat}[, {start}[, {count}]]) *matchstrpos()* matchstrpos({expr}, {pat} [, {start} [, {count}]]) *matchstrpos()*
Same as |matchstr()|, but return the matched string, the start Same as |matchstr()|, but return the matched string, the start
position and the end position of the match. Example: > position and the end position of the match. Example: >
:echo matchstrpos("testing", "ing") :echo matchstrpos("testing", "ing")
@ -5774,7 +5774,7 @@ nextnonblank({lnum}) *nextnonblank()*
below it, zero is returned. below it, zero is returned.
See also |prevnonblank()|. See also |prevnonblank()|.
nr2char({expr}[, {utf8}]) *nr2char()* nr2char({expr} [, {utf8}]) *nr2char()*
Return a string with a single character, which has the number Return a string with a single character, which has the number
value {expr}. Examples: > value {expr}. Examples: >
nr2char(64) returns "@" nr2char(64) returns "@"
@ -5983,7 +5983,7 @@ printf({fmt}, {expr1} ...) *printf()*
feature works just like 's'. feature works just like 's'.
*printf-f* *E807* *printf-f* *E807*
f F The Float argument is converted into a string of the f F The Float argument is converted into a string of the
form 123.456. The precision specifies the number of form 123.456. The precision specifies the number of
digits after the decimal point. When the precision is digits after the decimal point. When the precision is
zero the decimal point is omitted. When the precision zero the decimal point is omitted. When the precision
@ -6049,10 +6049,10 @@ py3eval({expr}) *py3eval()*
pyeval({expr}) *pyeval()* pyeval({expr}) *pyeval()*
Evaluate Python expression {expr} and return its result Evaluate Python expression {expr} and return its result
converted to Vim data structures. converted to Vim data structures.
Numbers and strings are returned as they are (strings are Numbers and strings are returned as they are (strings are
copied though). copied though).
Lists are represented as Vim |List| type. Lists are represented as Vim |List| type.
Dictionaries are represented as Vim |Dictionary| type, Dictionaries are represented as Vim |Dictionary| type,
non-string keys result in error. non-string keys result in error.
{only available when compiled with the |+python| feature} {only available when compiled with the |+python| feature}
@ -6165,7 +6165,7 @@ remote_expr({server}, {string} [, {idvar}])
and the result will be the empty string. and the result will be the empty string.
Variables will be evaluated in the global namespace, Variables will be evaluated in the global namespace,
independent of a function currently being activel. Except independent of a function currently being active. Except
when in debug mode, then local function variables and when in debug mode, then local function variables and
arguments can be evaluated. arguments can be evaluated.
@ -6328,12 +6328,12 @@ rpcstop({channel}) {Nvim} *rpcstop()*
Closes the socket connection if the channel was opened by Closes the socket connection if the channel was opened by
connecting to |v:servername|. connecting to |v:servername|.
screenattr(row, col) *screenattr()* screenattr({row}, {col}) *screenattr()*
Like |screenchar()|, but return the attribute. This is a rather Like |screenchar()|, but return the attribute. This is a rather
arbitrary number that can only be used to compare to the arbitrary number that can only be used to compare to the
attribute at other positions. attribute at other positions.
screenchar(row, col) *screenchar()* screenchar({row}, {col}) *screenchar()*
The result is a Number, which is the character at position The result is a Number, which is the character at position
[row, col] on the screen. This works for every possible [row, col] on the screen. This works for every possible
screen position, also status lines, window separators and the screen position, also status lines, window separators and the
@ -6389,7 +6389,7 @@ search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()*
flag. flag.
'ignorecase', 'smartcase' and 'magic' are used. 'ignorecase', 'smartcase' and 'magic' are used.
When the 'z' flag is not given, searching always starts in When the 'z' flag is not given, searching always starts in
column zero and then matches before the cursor are skipped. column zero and then matches before the cursor are skipped.
When the 'c' flag is present in 'cpo' the next search starts When the 'c' flag is present in 'cpo' the next search starts
@ -6863,7 +6863,7 @@ setqflist({list} [, {action}[, {what}]]) *setqflist()*
*setreg()* *setreg()*
setreg({regname}, {value} [, {options}]) setreg({regname}, {value} [, {options}])
Set the register {regname} to {value}. Set the register {regname} to {value}.
{value} may be any value returned by |getreg()|, including {value} may be any value returned by |getreg()|, including
a |List|. a |List|.
If {options} contains "a" or {regname} is upper case, If {options} contains "a" or {regname} is upper case,
then the value is appended. then the value is appended.
@ -6879,14 +6879,14 @@ setreg({regname}, {value} [, {options}])
set to point to register {regname}. set to point to register {regname}.
If {options} contains no register settings, then the default If {options} contains no register settings, then the default
is to use character mode unless {value} ends in a <NL> for is to use character mode unless {value} ends in a <NL> for
string {value} and linewise mode for list {value}. Blockwise string {value} and linewise mode for list {value}. Blockwise
mode is never selected automatically. mode is never selected automatically.
Returns zero for success, non-zero for failure. Returns zero for success, non-zero for failure.
*E883* *E883*
Note: you may not use |List| containing more than one item to Note: you may not use |List| containing more than one item to
set search and expression registers. Lists containing no set search and expression registers. Lists containing no
items act like empty strings. items act like empty strings.
Examples: > Examples: >
@ -7039,7 +7039,7 @@ sockconnect({mode}, {address}, {opts}) *sockconnect()*
sort({list} [, {func} [, {dict}]]) *sort()* *E702* sort({list} [, {func} [, {dict}]]) *sort()* *E702*
Sort the items in {list} in-place. Returns {list}. Sort the items in {list} in-place. Returns {list}.
If you want a list to remain unmodified make a copy first: > If you want a list to remain unmodified make a copy first: >
:let sortedlist = sort(copy(mylist)) :let sortedlist = sort(copy(mylist))
@ -7050,7 +7050,7 @@ sort({list} [, {func} [, {dict}]]) *sort()* *E702*
When {func} is given and it is '1' or 'i' then case is When {func} is given and it is '1' or 'i' then case is
ignored. ignored.
When {func} is given and it is 'n' then all items will be When {func} is given and it is 'n' then all items will be
sorted numerical (Implementation detail: This uses the sorted numerical (Implementation detail: This uses the
strtod() function to parse numbers, Strings, Lists, Dicts and strtod() function to parse numbers, Strings, Lists, Dicts and
@ -7220,7 +7220,7 @@ strchars({expr} [, {skipcc}]) *strchars()*
counted separately. counted separately.
When {skipcc} set to 1, Composing characters are ignored. When {skipcc} set to 1, Composing characters are ignored.
Also see |strlen()|, |strdisplaywidth()| and |strwidth()|. Also see |strlen()|, |strdisplaywidth()| and |strwidth()|.
{skipcc} is only available after 7.4.755. For backward {skipcc} is only available after 7.4.755. For backward
compatibility, you can define a wrapper function: > compatibility, you can define a wrapper function: >
if has("patch-7.4.755") if has("patch-7.4.755")
@ -7237,7 +7237,7 @@ strchars({expr} [, {skipcc}]) *strchars()*
endfunction endfunction
endif endif
< <
strcharpart({src}, {start}[, {len}]) *strcharpart()* strcharpart({src}, {start} [, {len}]) *strcharpart()*
Like |strpart()| but using character index and length instead Like |strpart()| but using character index and length instead
of byte index and length. of byte index and length.
When a character index is used where a character does not When a character index is used where a character does not
@ -7245,7 +7245,7 @@ strcharpart({src}, {start}[, {len}]) *strcharpart()*
strcharpart('abc', -1, 2) strcharpart('abc', -1, 2)
< results in 'a'. < results in 'a'.
strdisplaywidth({expr}[, {col}]) *strdisplaywidth()* strdisplaywidth({expr} [, {col}]) *strdisplaywidth()*
The result is a Number, which is the number of display cells The result is a Number, which is the number of display cells
String {expr} occupies on the screen when it starts at {col}. String {expr} occupies on the screen when it starts at {col}.
When {col} is omitted zero is used. Otherwise it is the When {col} is omitted zero is used. Otherwise it is the
@ -7334,7 +7334,7 @@ strlen({expr}) The result is a Number, which is the length of the String
|strchars()|. |strchars()|.
Also see |len()|, |strdisplaywidth()| and |strwidth()|. Also see |len()|, |strdisplaywidth()| and |strwidth()|.
strpart({src}, {start}[, {len}]) *strpart()* strpart({src}, {start} [, {len}]) *strpart()*
The result is a String, which is part of {src}, starting from The result is a String, which is part of {src}, starting from
byte {start}, with the byte length {len}. byte {start}, with the byte length {len}.
To count characters instead of bytes use |strcharpart()|. To count characters instead of bytes use |strcharpart()|.
@ -7386,7 +7386,7 @@ strwidth({expr}) *strwidth()*
Ambiguous, this function's return value depends on 'ambiwidth'. Ambiguous, this function's return value depends on 'ambiwidth'.
Also see |strlen()|, |strdisplaywidth()| and |strchars()|. Also see |strlen()|, |strdisplaywidth()| and |strchars()|.
submatch({nr}[, {list}]) *submatch()* *E935* submatch({nr} [, {list}]) *submatch()* *E935*
Only for an expression in a |:substitute| command or Only for an expression in a |:substitute| command or
substitute() function. substitute() function.
Returns the {nr}'th submatch of the matched text. When {nr} Returns the {nr}'th submatch of the matched text. When {nr}
@ -7395,8 +7395,8 @@ submatch({nr}[, {list}]) *submatch()* *E935*
multi-line match or a NUL character in the text. multi-line match or a NUL character in the text.
Also see |sub-replace-expression|. Also see |sub-replace-expression|.
If {list} is present and non-zero then submatch() returns If {list} is present and non-zero then submatch() returns
a list of strings, similar to |getline()| with two arguments. a list of strings, similar to |getline()| with two arguments.
NL characters in the text represent NUL characters in the NL characters in the text represent NUL characters in the
text. text.
Only returns more than one item for |:substitute|, inside Only returns more than one item for |:substitute|, inside
@ -7416,7 +7416,7 @@ substitute({expr}, {pat}, {sub}, {flags}) *substitute()*
the first match of {pat} is replaced with {sub}. the first match of {pat} is replaced with {sub}.
When {flags} is "g", all matches of {pat} in {expr} are When {flags} is "g", all matches of {pat} in {expr} are
replaced. Otherwise {flags} should be "". replaced. Otherwise {flags} should be "".
This works like the ":substitute" command (without any flags). This works like the ":substitute" command (without any flags).
But the matching with {pat} is always done like the 'magic' But the matching with {pat} is always done like the 'magic'
option is set and 'cpoptions' is empty (to make scripts option is set and 'cpoptions' is empty (to make scripts
@ -7650,7 +7650,7 @@ tagfiles() Returns a |List| with the file names used to search for tags
for the current buffer. This is the 'tags' option expanded. for the current buffer. This is the 'tags' option expanded.
taglist({expr}[, {filename}]) *taglist()* taglist({expr} [, {filename}]) *taglist()*
Returns a list of tags matching the regular expression {expr}. Returns a list of tags matching the regular expression {expr}.
If {filename} is passed it is used to prioritize the results If {filename} is passed it is used to prioritize the results
@ -7898,7 +7898,7 @@ undotree() *undotree()*
"save_last" Number of the last file write. Zero when no "save_last" Number of the last file write. Zero when no
write yet. write yet.
"save_cur" Number of the current position in the undo "save_cur" Number of the current position in the undo
tree. tree.
"synced" Non-zero when the last undo block was synced. "synced" Non-zero when the last undo block was synced.
This happens when waiting from input from the This happens when waiting from input from the
user. See |undo-blocks|. user. See |undo-blocks|.
@ -8425,7 +8425,7 @@ See |:verbose-cmd| for more information.
Define a new function by the name {name}. The body of Define a new function by the name {name}. The body of
the function follows in the next lines, until the the function follows in the next lines, until the
matching |:endfunction|. matching |:endfunction|.
The name must be made of alphanumeric characters and The name must be made of alphanumeric characters and
'_', and must start with a capital or "s:" (see '_', and must start with a capital or "s:" (see
above). Note that using "b:" or "g:" is not allowed. above). Note that using "b:" or "g:" is not allowed.
@ -10404,7 +10404,7 @@ code can be used: >
redir => scriptnames_output redir => scriptnames_output
silent scriptnames silent scriptnames
redir END redir END
" Split the output into lines and parse each line. Add an entry to the " Split the output into lines and parse each line. Add an entry to the
" "scripts" dictionary. " "scripts" dictionary.
let scripts = {} let scripts = {}

View File

@ -626,7 +626,7 @@ starts. It can be fixed in one of these ways:
write the file twice and set the clock back. write the file twice and set the clock back.
If you get W11 all the time, you may need to disable "Acronis Active If you get W11 all the time, you may need to disable "Acronis Active
Protection" or register vim as a trusted service/application. Protection" or register Vim as a trusted service/application.
*W12* > *W12* >
Warning: File "{filename}" has changed and the buffer was changed in Vim as well Warning: File "{filename}" has changed and the buffer was changed in Vim as well

View File

@ -6,7 +6,7 @@
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)
Copyright: Copyright (C) 2016 Charles E Campbell *netrw-copyright* Copyright: Copyright (C) 2017 Charles E Campbell *netrw-copyright*
The VIM LICENSE applies to the files in this package, including The VIM LICENSE applies to the files in this package, including
netrw.vim, pi_netrw.txt, netrwFileHandlers.vim, netrwSettings.vim, and netrw.vim, pi_netrw.txt, netrwFileHandlers.vim, netrwSettings.vim, and
syntax/netrw.vim. Like anything else that's free, netrw.vim and its syntax/netrw.vim. Like anything else that's free, netrw.vim and its
@ -17,7 +17,6 @@ Copyright: Copyright (C) 2016 Charles E Campbell *netrw-copyright*
holder be liable for any damages resulting from the use of this holder be liable for any damages resulting from the use of this
software. Use at your own risk! software. Use at your own risk!
*netrw* *netrw*
*dav* *ftp* *netrw-file* *rcp* *scp* *dav* *ftp* *netrw-file* *rcp* *scp*
*davs* *http* *netrw.vim* *rsync* *sftp* *davs* *http* *netrw.vim* *rsync* *sftp*
@ -73,7 +72,7 @@ Copyright: Copyright (C) 2016 Charles E Campbell *netrw-copyright*
Improving Browsing..................................|netrw-ssh-hack| Improving Browsing..................................|netrw-ssh-hack|
Listing Bookmarks And History.......................|netrw-qb| Listing Bookmarks And History.......................|netrw-qb|
Making A New Directory..............................|netrw-d| Making A New Directory..............................|netrw-d|
Making The Browsing Directory The Current Directory.|netrw-c| Making The Browsing Directory The Current Directory.|netrw-cd|
Marking Files.......................................|netrw-mf| Marking Files.......................................|netrw-mf|
Unmarking Files.....................................|netrw-mF| Unmarking Files.....................................|netrw-mF|
Marking Files By Location List......................|netrw-qL| Marking Files By Location List......................|netrw-qL|
@ -83,6 +82,7 @@ Copyright: Copyright (C) 2016 Charles E Campbell *netrw-copyright*
Marked Files: Arbitrary Shell Command, En Bloc......|netrw-mX| Marked Files: Arbitrary Shell Command, En Bloc......|netrw-mX|
Marked Files: Arbitrary Vim Command.................|netrw-mv| Marked Files: Arbitrary Vim Command.................|netrw-mv|
Marked Files: Argument List.........................|netrw-ma| |netrw-mA| Marked Files: Argument List.........................|netrw-ma| |netrw-mA|
Marked Files: Buffer List...........................|netrw-cb| |netrw-cB|
Marked Files: Compression And Decompression.........|netrw-mz| Marked Files: Compression And Decompression.........|netrw-mz|
Marked Files: Copying...............................|netrw-mc| Marked Files: Copying...............................|netrw-mc|
Marked Files: Diff..................................|netrw-md| Marked Files: Diff..................................|netrw-md|
@ -153,7 +153,7 @@ Windows' ftp doesn't support .netrc; however, one may have in one's .vimrc: >
let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\MyUserName\MACHINE' let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\MyUserName\MACHINE'
< <
Netrw will substitute the host's machine name for "MACHINE" from the url it is Netrw will substitute the host's machine name for "MACHINE" from the URL it is
attempting to open, and so one may specify > attempting to open, and so one may specify >
userid userid
password password
@ -210,7 +210,7 @@ EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
http: g:netrw_http_cmd = "fetch" elseif fetch is available http: g:netrw_http_cmd = "fetch" elseif fetch is available
http: *g:netrw_http_put_cmd* = "curl -T" http: *g:netrw_http_put_cmd* = "curl -T"
rcp: *g:netrw_rcp_cmd* = "rcp" rcp: *g:netrw_rcp_cmd* = "rcp"
rsync: *g:netrw_rsync_cmd* = "rsync -a" rsync: *g:netrw_rsync_cmd* = "rsync" (see |g:netrw_rsync_sep|)
scp: *g:netrw_scp_cmd* = "scp -q" scp: *g:netrw_scp_cmd* = "scp -q"
sftp: *g:netrw_sftp_cmd* = "sftp" sftp: *g:netrw_sftp_cmd* = "sftp"
file: *g:netrw_file_cmd* = "elinks" or "links" file: *g:netrw_file_cmd* = "elinks" or "links"
@ -221,7 +221,7 @@ EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
elinks : "-source >" elinks : "-source >"
links : "-dump >" links : "-dump >"
curl : "-o" curl : "-L -o"
wget : "-q -O" wget : "-q -O"
fetch : "-o" fetch : "-o"
< <
@ -236,7 +236,7 @@ EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
READING *netrw-read* *netrw-nread* {{{2 READING *netrw-read* *netrw-nread* {{{2
Generally, one may just use the url notation with a normal editing Generally, one may just use the URL notation with a normal editing
command, such as > command, such as >
:e ftp://[user@]machine/path :e ftp://[user@]machine/path
@ -258,7 +258,7 @@ READING *netrw-read* *netrw-nread* {{{2
WRITING *netrw-write* *netrw-nwrite* {{{2 WRITING *netrw-write* *netrw-nwrite* {{{2
One may just use the url notation with a normal file writing One may just use the URL notation with a normal file writing
command, such as > command, such as >
:w ftp://[user@]machine/path :w ftp://[user@]machine/path
@ -279,7 +279,7 @@ WRITING *netrw-write* *netrw-nwrite* {{{2
SOURCING *netrw-source* {{{2 SOURCING *netrw-source* {{{2
One may just use the url notation with the normal file sourcing One may just use the URL notation with the normal file sourcing
command, such as > command, such as >
:so ftp://[user@]machine/path :so ftp://[user@]machine/path
@ -477,7 +477,7 @@ file using root-relative paths, use the full path:
============================================================================== ==============================================================================
4. Network-Oriented File Transfer *netrw-xfer* {{{1 4. Network-Oriented File Transfer *netrw-xfer* {{{1
Network-oriented file transfer under Vim is implemented by a VimL-based script Network-oriented file transfer under Vim is implemented by a vim script
(<netrw.vim>) using plugin techniques. It currently supports both reading and (<netrw.vim>) using plugin techniques. It currently supports both reading and
writing across networks using rcp, scp, ftp or ftp+<.netrc>, scp, fetch, writing across networks using rcp, scp, ftp or ftp+<.netrc>, scp, fetch,
dav/cadaver, rsync, or sftp. dav/cadaver, rsync, or sftp.
@ -530,7 +530,7 @@ variable (ex. scp uses the variable g:netrw_scp_cmd, which is defaulted to
let g:netrw_sftp_cmd= '"c:\Program Files\PuTTY\psftp.exe"' let g:netrw_sftp_cmd= '"c:\Program Files\PuTTY\psftp.exe"'
< <
(note: it has been reported that windows 7 with putty v0.6's "-batch" option (note: it has been reported that windows 7 with putty v0.6's "-batch" option
doesn't work, so it's best to leave it off for that system) doesn't work, so its best to leave it off for that system)
See |netrw-p8| for more about putty, pscp, psftp, etc. See |netrw-p8| for more about putty, pscp, psftp, etc.
@ -732,11 +732,11 @@ such as netrw.
The usual read/write commands are supported. There are also a few The usual read/write commands are supported. There are also a few
additional commands available. Often you won't need to use Nwrite or additional commands available. Often you won't need to use Nwrite or
Nread as shown in |netrw-transparent| (ie. simply use > Nread as shown in |netrw-transparent| (ie. simply use >
:e url :e URL
:r url :r URL
:w url :w URL
instead, as appropriate) -- see |netrw-urls|. In the explanations instead, as appropriate) -- see |netrw-urls|. In the explanations
below, a {netfile} is an url to a remote file. below, a {netfile} is a URL to a remote file.
*:Nwrite* *:Nw* *:Nwrite* *:Nw*
:[range]Nw[rite] Write the specified lines to the current :[range]Nw[rite] Write the specified lines to the current
@ -866,9 +866,11 @@ variables listed below, and may be modified by the user.
g:netrw_http_cmd var ="fetch -o" if fetch is available g:netrw_http_cmd var ="fetch -o" if fetch is available
g:netrw_http_cmd var ="wget -O" else if wget is available g:netrw_http_cmd var ="wget -O" else if wget is available
g:netrw_http_put_cmd var ="curl -T" g:netrw_http_put_cmd var ="curl -T"
|g:netrw_list_cmd| var ="ssh USEPORT HOSTNAME ls -Fa" |g:netrw_list_cmd| var ="ssh USEPORT HOSTNAME ls -Fa"
g:netrw_rcp_cmd var ="rcp" g:netrw_rcp_cmd var ="rcp"
g:netrw_rsync_cmd var ="rsync -a" g:netrw_rsync_cmd var ="rsync"
*g:netrw_rsync_sep* var ="/" used to separate the hostname
from the file spec
g:netrw_scp_cmd var ="scp -q" g:netrw_scp_cmd var ="scp -q"
g:netrw_sftp_cmd var ="sftp" > g:netrw_sftp_cmd var ="sftp" >
------------------------------------------------------------------------- -------------------------------------------------------------------------
@ -1005,7 +1007,7 @@ where [protocol] is typically scp or ftp. As an example, try: >
vim ftp://ftp.home.vim.org/pub/vim/ vim ftp://ftp.home.vim.org/pub/vim/
< <
For local directories, the trailing slash is not required. Again, because it's For local directories, the trailing slash is not required. Again, because it's
easy to miss: to browse remote directories, the url must terminate with a easy to miss: to browse remote directories, the URL must terminate with a
slash! slash!
If you'd like to avoid entering the password repeatedly for remote directory If you'd like to avoid entering the password repeatedly for remote directory
@ -1075,9 +1077,9 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
<c-r> Browse using a gvim server |netrw-ctrl-r| <c-r> Browse using a gvim server |netrw-ctrl-r|
<c-tab> Shrink/expand a netrw/explore window |netrw-c-tab| <c-tab> Shrink/expand a netrw/explore window |netrw-c-tab|
- Makes Netrw go up one directory |netrw--| - Makes Netrw go up one directory |netrw--|
a Toggles between normal display, |netrw-a| a Cycles between normal display, |netrw-a|
hiding (suppress display of files matching g:netrw_list_hide) hiding (suppress display of files matching g:netrw_list_hide)
showing (display only files which match g:netrw_list_hide) and showing (display only files which match g:netrw_list_hide)
c Make browsing directory the current directory |netrw-c| c Make browsing directory the current directory |netrw-c|
C Setting the editing window |netrw-C| C Setting the editing window |netrw-C|
d Make a directory |netrw-d| d Make a directory |netrw-d|
@ -1088,6 +1090,7 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
gh Quick hide/unhide of dot-files |netrw-gh| gh Quick hide/unhide of dot-files |netrw-gh|
gn Make top of tree the directory below the cursor |netrw-gn| gn Make top of tree the directory below the cursor |netrw-gn|
i Cycle between thin, long, wide, and tree listings |netrw-i| i Cycle between thin, long, wide, and tree listings |netrw-i|
I Toggle the displaying of the banner |netrw-I|
mb Bookmark current directory |netrw-mb| mb Bookmark current directory |netrw-mb|
mc Copy marked files to marked-file target directory |netrw-mc| mc Copy marked files to marked-file target directory |netrw-mc|
md Apply diff to marked files (up to 3) |netrw-md| md Apply diff to marked files (up to 3) |netrw-md|
@ -1167,25 +1170,26 @@ QUICK REFERENCE: COMMANDS *netrw-explore-cmds* *netrw-browse-cmds* {{{2
BANNER DISPLAY *netrw-I* BANNER DISPLAY *netrw-I*
One may toggle the banner display on and off by pressing "I". One may toggle the displaying of the banner by pressing "I".
Also See: |g:netrw_banner| Also See: |g:netrw_banner|
BOOKMARKING A DIRECTORY *netrw-mb* *netrw-bookmark* *netrw-bookmarks* {{{2 BOOKMARKING A DIRECTORY *netrw-mb* *netrw-bookmark* *netrw-bookmarks* {{{2
One may easily "bookmark" the currently browsed directory by using > One may easily "bookmark" the currently browsed directory by using >
mb mb
< <
*.netrwbook* *.netrwbook*
Bookmarks are retained in between sessions in a $HOME/.netrwbook file, and are Bookmarks are retained in between sessions of vim in a file called .netrwbook
kept in sorted order. as a |List|, which is typically stored in the first directory on the user's
'|runtimepath|'; entries are kept in sorted order.
If there are marked files and/or directories, mb will add them to the bookmark If there are marked files and/or directories, mb will add them to the bookmark
list. list.
*netrw-:NetrwMB* *netrw-:NetrwMB*
Addtionally, one may use :NetrwMB to bookmark files or directories. > Addtionally, one may use :NetrwMB to bookmark files or directories. >
:NetrwMB[!] [files/directories] :NetrwMB[!] [files/directories]
@ -1204,7 +1208,7 @@ The :NetrwMB command is available outside of netrw buffers (once netrw has been
invoked in the session). invoked in the session).
The file ".netrwbook" holds bookmarks when netrw (and vim) is not active. By The file ".netrwbook" holds bookmarks when netrw (and vim) is not active. By
default, it's stored on the first directory on the user's |'runtimepath'|. default, its stored on the first directory on the user's |'runtimepath'|.
Related Topics: Related Topics:
|netrw-gb| how to return (go) to a bookmark |netrw-gb| how to return (go) to a bookmark
@ -1416,20 +1420,20 @@ Related Topics:
CHANGING TO A PREDECESSOR DIRECTORY *netrw-u* *netrw-updir* {{{2 CHANGING TO A PREDECESSOR DIRECTORY *netrw-u* *netrw-updir* {{{2
Every time you change to a new directory (new for the current session), Every time you change to a new directory (new for the current session), netrw
netrw will save the directory in a recently-visited directory history will save the directory in a recently-visited directory history list (unless
list (unless |g:netrw_dirhistmax| is zero; by default, it's ten). With the |g:netrw_dirhistmax| is zero; by default, it holds ten entries). With the "u"
"u" map, one can change to an earlier directory (predecessor). To do map, one can change to an earlier directory (predecessor). To do the
the opposite, see |netrw-U|. opposite, see |netrw-U|.
The "u" map also accepts counts to go back in the history several slots. The "u" map also accepts counts to go back in the history several slots. For
For your convenience, qb (see |netrw-qb|) lists the history number which may your convenience, qb (see |netrw-qb|) lists the history number which may be
be used in that count. used in that count.
*.netrwhist* *.netrwhist*
See |g:netrw_dirhistmax| for how to control the quantity of history stack See |g:netrw_dirhistmax| for how to control the quantity of history stack
slots. The file ".netrwhist" holds history when netrw (and vim) is not slots. The file ".netrwhist" holds history when netrw (and vim) is not
active. By default, it's stored on the first directory on the user's active. By default, its stored on the first directory on the user's
|'runtimepath'|. |'runtimepath'|.
Related Topics: Related Topics:
@ -1465,10 +1469,10 @@ changing the top of the tree listing.
NETRW CLEAN *netrw-clean* *:NetrwClean* {{{2 NETRW CLEAN *netrw-clean* *:NetrwClean* {{{2
With NetrwClean one may easily remove netrw from one's home directory; With :NetrwClean one may easily remove netrw from one's home directory;
more precisely, from the first directory on your |'runtimepath'|. more precisely, from the first directory on your |'runtimepath'|.
With NetrwClean!, netrw will attempt to remove netrw from all directories on With :NetrwClean!, netrw will attempt to remove netrw from all directories on
your |'runtimepath'|. Of course, you have to have write/delete permissions your |'runtimepath'|. Of course, you have to have write/delete permissions
correct to do this. correct to do this.
@ -1500,7 +1504,7 @@ Netrw determines which special handler by the following method:
If g:netrw_browsex_viewer == '-', then netrwFileHandlers#Invoke() will be If g:netrw_browsex_viewer == '-', then netrwFileHandlers#Invoke() will be
used instead (see |netrw_filehandler|). used instead (see |netrw_filehandler|).
* for Windows 32 or 64, the url and FileProtocolHandler dlls are used. * for Windows 32 or 64, the URL and FileProtocolHandler dlls are used.
* for Gnome (with gnome-open): gnome-open is used. * for Gnome (with gnome-open): gnome-open is used.
* for KDE (with kfmclient) : kfmclient is used * for KDE (with kfmclient) : kfmclient is used
* for Mac OS X : open is used. * for Mac OS X : open is used.
@ -1516,9 +1520,10 @@ will apply a special handler to it (like "x" works when in a netrw buffer).
One may also use visual mode (see |visual-start|) to select the text that the One may also use visual mode (see |visual-start|) to select the text that the
special handler will use. Normally gx uses expand("<cfile>") to pick up the special handler will use. Normally gx uses expand("<cfile>") to pick up the
text under the cursor; one may change what |expand()| uses via the text under the cursor; one may change what |expand()| uses via the
|g:netrw_gx| variable. Alternatively, one may select the text to be used by |g:netrw_gx| variable (options include "<cword>", "<cWORD>"). Note that
gx via first making a visual selection (see |visual-block|) or by changing expand("<cfile>") depends on the |'isfname'| setting. Alternatively, one may
the |'isfname'| option (which is global, so netrw doesn't modify it). select the text to be used by gx by making a visual selection (see
|visual-block|) and then pressing gx.
Associated setting variables: Associated setting variables:
|g:netrw_gx| control how gx picks up the text under the cursor |g:netrw_gx| control how gx picks up the text under the cursor
@ -1610,6 +1615,11 @@ A further approach is to delete files which match a pattern.
This will cause the matching files to be marked. Then, This will cause the matching files to be marked. Then,
press "D". press "D".
If your vim has 7.4 with patch#1107, then |g:netrw_localrmdir| no longer
is used to remove directories; instead, vim's |delete()| is used with
the "d" option. Please note that only empty directories may be deleted
with the "D" mapping. Regular files are deleted with |delete()|, too.
The |g:netrw_rm_cmd|, |g:netrw_rmf_cmd|, and |g:netrw_rmdir_cmd| variables are The |g:netrw_rm_cmd|, |g:netrw_rmf_cmd|, and |g:netrw_rmdir_cmd| variables are
used to control the attempts to remove remote files and directories. The used to control the attempts to remove remote files and directories. The
g:netrw_rm_cmd is used with files, and its default value is: g:netrw_rm_cmd is used with files, and its default value is:
@ -1673,17 +1683,18 @@ DIRECTORY EXPLORATION COMMANDS {{{2
The [N] specifies a |g:netrw_winsize| just for the new :Lexplore The [N] specifies a |g:netrw_winsize| just for the new :Lexplore
window. window.
Those who like this method often also often like tree style displays; Those who like this method often also like tree style displays;
see |g:netrw_liststyle|. see |g:netrw_liststyle|.
:[N]Lexplore! [dir] is similar to :Lexplore, except that the full-height
Explorer window will open on the right hand side and an
uninitialized |g:netrw_chgwin| will be set to 1 (eg. edits will
preferentially occur in the leftmost window).
Also see: |netrw-C| |g:netrw_browse_split| |g:netrw_wiw| Also see: |netrw-C| |g:netrw_browse_split| |g:netrw_wiw|
|netrw-p| |netrw-P| |g:netrw_chgwin| |netrw-p| |netrw-P| |g:netrw_chgwin|
|netrw-c-tab| |g:netrw_winsize| |netrw-c-tab| |g:netrw_winsize|
:[N]Lexplore! is like :Lexplore, except that the full-height Explorer window
will open on the right hand side and an uninitialized |g:netrw_chgwin|
will be set to 1.
*netrw-:Sexplore* *netrw-:Sexplore*
:[N]Sexplore will always split the window before invoking the local-directory :[N]Sexplore will always split the window before invoking the local-directory
browser. As with Explore, the splitting is normally done browser. As with Explore, the splitting is normally done
@ -1845,9 +1856,11 @@ EXECUTING FILE UNDER CURSOR VIA SYSTEM() *netrw-X* {{{2
Pressing X while the cursor is atop an executable file will yield a prompt Pressing X while the cursor is atop an executable file will yield a prompt
using the filename asking for any arguments. Upon pressing a [return], netrw using the filename asking for any arguments. Upon pressing a [return], netrw
will then call |system()| with that command and arguments. The result will will then call |system()| with that command and arguments. The result will be
be displayed by |:echomsg|, and so |:messages| will repeat display of the displayed by |:echomsg|, and so |:messages| will repeat display of the result.
result. Ansi escape sequences will be stripped out. Ansi escape sequences will be stripped out.
See |cmdline-window| for directions for more on how to edit the arguments.
FORCING TREATMENT AS A FILE OR DIRECTORY *netrw-gd* *netrw-gf* {{{2 FORCING TREATMENT AS A FILE OR DIRECTORY *netrw-gd* *netrw-gf* {{{2
@ -2070,7 +2083,7 @@ Associated setting variables: |g:netrw_localmkdir| |g:netrw_mkdir_cmd|
|g:netrw_remote_mkdir| |netrw-%| |g:netrw_remote_mkdir| |netrw-%|
MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-c* {{{2 MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-cd* {{{2
By default, |g:netrw_keepdir| is 1. This setting means that the current By default, |g:netrw_keepdir| is 1. This setting means that the current
directory will not track the browsing directory. (done for backwards directory will not track the browsing directory. (done for backwards
@ -2085,6 +2098,9 @@ the two directories the same, use the "c" map (just type c). That map will
set Vim's notion of the current directory to netrw's current browsing set Vim's notion of the current directory to netrw's current browsing
directory. directory.
*netrw-c* : This map's name has been changed from "c" to cd (see |netrw-cd|).
This change was done to allow for |netrw-cb| and |netrw-cB| maps.
Associated setting variable: |g:netrw_keepdir| Associated setting variable: |g:netrw_keepdir|
MARKING FILES *netrw-:MF* *netrw-mf* {{{2 MARKING FILES *netrw-:MF* *netrw-mf* {{{2
@ -2129,6 +2145,7 @@ The following netrw maps make use of marked files:
|netrw-mg| Apply vimgrep to marked files |netrw-mg| Apply vimgrep to marked files
|netrw-mm| Move marked files to target |netrw-mm| Move marked files to target
|netrw-mp| Print marked files |netrw-mp| Print marked files
|netrw-ms| Netrw will source marked files
|netrw-mt| Set target for |netrw-mm| and |netrw-mc| |netrw-mt| Set target for |netrw-mm| and |netrw-mc|
|netrw-mT| Generate tags using marked files |netrw-mT| Generate tags using marked files
|netrw-mv| Apply vim command to marked files |netrw-mv| Apply vim command to marked files
@ -2203,6 +2220,9 @@ converts "*" into ".*" (see |regexp|) and marks files based on that. In the
future I may make it possible to use |regexp|s instead of glob()-style future I may make it possible to use |regexp|s instead of glob()-style
expressions (yet-another-option). expressions (yet-another-option).
See |cmdline-window| for directions on more on how to edit the regular
expression.
MARKED FILES, ARBITRARY VIM COMMAND *netrw-mv* {{{2 MARKED FILES, ARBITRARY VIM COMMAND *netrw-mv* {{{2
(See |netrw-mf| and |netrw-mr| for how to mark files) (See |netrw-mf| and |netrw-mr| for how to mark files)
@ -2216,8 +2236,9 @@ the local marked file list, individually:
* run vim command * run vim command
* sil! keepalt wq! * sil! keepalt wq!
A prompt, "Enter vim command: ", will be issued to elicit the vim command A prompt, "Enter vim command: ", will be issued to elicit the vim command you
you wish used. wish used. See |cmdline-window| for directions for more on how to edit the
command.
MARKED FILES, ARBITRARY SHELL COMMAND *netrw-mx* {{{2 MARKED FILES, ARBITRARY SHELL COMMAND *netrw-mx* {{{2
@ -2268,7 +2289,17 @@ MARKED FILES: ARGUMENT LIST *netrw-ma* *netrw-mA*
Using ma, one moves filenames from the marked file list to the argument list. Using ma, one moves filenames from the marked file list to the argument list.
Using mA, one moves filenames from the argument list to the marked file list. Using mA, one moves filenames from the argument list to the marked file list.
See Also: |netrw-qF| |argument-list| |:args| See Also: |netrw-cb| |netrw-cB| |netrw-qF| |argument-list| |:args|
MARKED FILES: BUFFER LIST *netrw-cb* *netrw-cB*
(See |netrw-mf| and |netrw-mr| for how to mark files)
(uses the global marked-file list)
Using cb, one moves filenames from the marked file list to the buffer list.
Using cB, one copies filenames from the buffer list to the marked file list.
See Also: |netrw-ma| |netrw-mA| |netrw-qF| |buffer-list| |:buffers|
MARKED FILES: COMPRESSION AND DECOMPRESSION *netrw-mz* {{{2 MARKED FILES: COMPRESSION AND DECOMPRESSION *netrw-mz* {{{2
@ -2304,8 +2335,8 @@ One may also copy directories and their contents (local only) to a target
directory. directory.
Associated setting variables: Associated setting variables:
|g:netrw_localcopycmd| |g:netrw_localcopycmd| |g:netrw_localcopycmdopt|
|g:netrw_localcopydircmd| |g:netrw_localcopydircmd| |g:netrw_localcopydircmdopt|
|g:netrw_ssh_cmd| |g:netrw_ssh_cmd|
MARKED FILES: DIFF *netrw-md* {{{2 MARKED FILES: DIFF *netrw-md* {{{2
@ -2450,8 +2481,8 @@ When a remote set of files are tagged, the resulting tags file is "obtained";
ie. a copy is transferred to the local system's directory. The now local tags ie. a copy is transferred to the local system's directory. The now local tags
file is then modified so that one may use it through the network. The file is then modified so that one may use it through the network. The
modification made concerns the names of the files in the tags; each filename is modification made concerns the names of the files in the tags; each filename is
preceded by the netrw-compatible url used to obtain it. When one subsequently preceded by the netrw-compatible URL used to obtain it. When one subsequently
uses one of the go to tag actions (|tags|), the url will be used by netrw to uses one of the go to tag actions (|tags|), the URL will be used by netrw to
edit the desired file and go to the tag. edit the desired file and go to the tag.
Associated setting variables: |g:netrw_ctags| |g:netrw_ssh_cmd| Associated setting variables: |g:netrw_ctags| |g:netrw_ssh_cmd|
@ -2553,8 +2584,8 @@ your browsing preferences. (see also: |netrw-settings|)
editing. It will also use the specified tab editing. It will also use the specified tab
and window numbers to perform editing and window numbers to perform editing
(see |clientserver|, |netrw-ctrl-r|) (see |clientserver|, |netrw-ctrl-r|)
This option does not affect |:Lexplore| This option does not affect the production of
windows. |:Lexplore| windows.
Related topics: Related topics:
|g:netrw_alto| |g:netrw_altv| |g:netrw_alto| |g:netrw_altv|
@ -2713,6 +2744,7 @@ your browsing preferences. (see also: |netrw-settings|)
*g:netrw_home* The home directory for where bookmarks and *g:netrw_home* The home directory for where bookmarks and
history are saved (as .netrwbook and history are saved (as .netrwbook and
.netrwhist). .netrwhist).
Netrw uses |expand()|on the string.
default: the first directory on the default: the first directory on the
|'runtimepath'| |'runtimepath'|
@ -2733,7 +2765,7 @@ your browsing preferences. (see also: |netrw-settings|)
default: (if ssh is executable) default: (if ssh is executable)
"ssh HOSTNAME ls -FLa" "ssh HOSTNAME ls -FLa"
*g:netrw_list_cmd_options* If this variable exists, then its contents are *g:netrw_list_cmd_options* If this variable exists, then its contents are
appended to the g:netrw_list_cmd. For appended to the g:netrw_list_cmd. For
example, use "2>/dev/null" to get rid of banner example, use "2>/dev/null" to get rid of banner
messages on unix systems. messages on unix systems.
@ -2759,26 +2791,52 @@ your browsing preferences. (see also: |netrw-settings|)
let g:netrw_list_hide= netrw_gitignore#Hide().'.*\.swp$' let g:netrw_list_hide= netrw_gitignore#Hide().'.*\.swp$'
default: "" default: ""
*g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin *g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin
="copy" Windows =expand("$COMSPEC") Windows
Copies marked files (|netrw-mf|) to target Copies marked files (|netrw-mf|) to target
directory (|netrw-mt|, |netrw-mc|) directory (|netrw-mt|, |netrw-mc|)
*g:netrw_localcopydircmd* ="cp -R" Linux/Unix/MacOS/Cygwin *g:netrw_localcopycmdopt* ='' Linux/Unix/MacOS/Cygwin
="xcopy /e /c /h/ /i /k" Windows =' \c copy' Windows
Options for the |g:netrw_localcopycmd|
*g:netrw_localcopydircmd* ="cp" Linux/Unix/MacOS/Cygwin
=expand("$COMSPEC") Windows
Copies directories to target directory. Copies directories to target directory.
(|netrw-mc|, |netrw-mt|) (|netrw-mc|, |netrw-mt|)
*g:netrw_localmkdir* command for making a local directory *g:netrw_localcopydircmdopt* =" -R" Linux/Unix/MacOS/Cygwin
default: "mkdir" =" /c xcopy /e /c /h/ /i /k" Windows
Options for |g:netrw_localcopydircmd|
*g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin *g:netrw_localmkdir* ="mkdir" Linux/Unix/MacOS/Cygwin
="move" Windows =expand("$COMSPEC") Windows
command for making a local directory
*g:netrw_localmkdiropt* ="" Linux/Unix/MacOS/Cygwin
=" /c mkdir" Windows
Options for |g:netrw_localmkdir|
*g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin
=expand("$COMSPEC") Windows
Moves marked files (|netrw-mf|) to target Moves marked files (|netrw-mf|) to target
directory (|netrw-mt|, |netrw-mm|) directory (|netrw-mt|, |netrw-mm|)
*g:netrw_localrmdir* remove directory command (rmdir) *g:netrw_localmovecmdopt* ="" Linux/Unix/MacOS/Cygwin
default: "rmdir" =" /c move" Windows
Options for |g:netrw_localmovecmd|
*g:netrw_localrmdir* ="rmdir" Linux/Unix/MacOS/Cygwin
=expand("$COMSPEC") Windows
Remove directory command (rmdir)
This variable is only used if your vim is
earlier than 7.4 or if your vim doesn't
have patch#1107. Otherwise, |delete()|
is used with the "d" option.
*g:netrw_localrmdiropt* ="" Linux/Unix/MacOS/Cygwin
=" /c rmdir" Windows
Options for |g:netrw_localrmdir|
*g:netrw_maxfilenamelen* =32 by default, selected so as to make long *g:netrw_maxfilenamelen* =32 by default, selected so as to make long
listings fit on 80 column displays. listings fit on 80 column displays.
@ -2891,17 +2949,23 @@ your browsing preferences. (see also: |netrw-settings|)
netrwTilde : * netrwTilde : *
netrwTmp : tmp* *tmp netrwTmp : tmp* *tmp
These syntax highlighting groups are linked In addition, those groups mentioned in
to Folded or DiffChange by default |'suffixes'| are also added to the special
(see |hl-Folded| and |hl-DiffChange|), but file highlighting group.
one may put lines like > These syntax highlighting groups are linked
to netrwGray or Folded by default
(see |hl-Folded|), but one may put lines like >
hi link netrwCompress Visual hi link netrwCompress Visual
< into one's <.vimrc> to use one's own < into one's <.vimrc> to use one's own
preferences. Alternatively, one may preferences. Alternatively, one may
put such specifications into put such specifications into >
.vim/after/syntax/netrw.vim. .vim/after/syntax/netrw.vim.
< The netrwGray highlighting is set up by
As an example, I myself use a dark-background netrw when >
* netrwGray has not been previously
defined
* the gui is running
< As an example, I myself use a dark-background
colorscheme with the following in colorscheme with the following in
.vim/after/syntax/netrw.vim: > .vim/after/syntax/netrw.vim: >
@ -3136,8 +3200,8 @@ If there are no marked files: (see |netrw-mf|)
Renaming files and directories involves moving the cursor to the Renaming files and directories involves moving the cursor to the
file/directory to be moved (renamed) and pressing "R". You will then be file/directory to be moved (renamed) and pressing "R". You will then be
queried for what you want the file/directory to be renamed to You may select queried for what you want the file/directory to be renamed to. You may
a range of lines with the "V" command (visual selection), and then select a range of lines with the "V" command (visual selection), and then
press "R"; you will be queried for each file as to what you want it press "R"; you will be queried for each file as to what you want it
renamed to. renamed to.
@ -3169,16 +3233,20 @@ If there are marked files: (see |netrw-mf|)
Note that moving files is a dangerous operation; copies are safer. That's Note that moving files is a dangerous operation; copies are safer. That's
because a "move" for remote files is actually a copy + delete -- and if because a "move" for remote files is actually a copy + delete -- and if
the copy fails and the delete does not, you may lose the file. the copy fails and the delete succeeds you may lose the file.
Use at your own risk. Use at your own risk.
The g:netrw_rename_cmd variable is used to implement remote renaming. By The *g:netrw_rename_cmd* variable is used to implement remote renaming. By
default its value is: default its value is: >
ssh HOSTNAME mv ssh HOSTNAME mv
<
One may rename a block of files and directories by selecting them with One may rename a block of files and directories by selecting them with
V (|linewise-visual|) when using thin style V (|linewise-visual|) when using thin style.
See |cmdline-editing| for more on how to edit the command line; in particular,
you'll find <ctrl-f> (initiates cmdline window editing) and <ctrl-c> (uses the
command line under the cursor) useful in conjunction with the R command.
SELECTING SORTING STYLE *netrw-s* *netrw-sort* {{{2 SELECTING SORTING STYLE *netrw-s* *netrw-sort* {{{2
@ -3199,8 +3267,8 @@ number. Subsequent selection of a file to edit (|netrw-cr|) will use that
window. window.
* C : by itself, will select the current window holding a netrw buffer * C : by itself, will select the current window holding a netrw buffer
for editing via |netrw-cr|. The C mapping is only available while in for subsequent editing via |netrw-cr|. The C mapping is only available
netrw buffers. while in netrw buffers.
* [count]C : the count will be used as the window number to be used * [count]C : the count will be used as the window number to be used
for subsequent editing via |netrw-cr|. for subsequent editing via |netrw-cr|.
@ -3213,7 +3281,7 @@ window.
Using > Using >
let g:netrw_chgwin= -1 let g:netrw_chgwin= -1
will restore the default editing behavior will restore the default editing behavior
(ie. editing will use the current window). (ie. subsequent editing will use the current window).
Related topics: |netrw-cr| |g:netrw_browse_split| Related topics: |netrw-cr| |g:netrw_browse_split|
Associated setting variables: |g:netrw_chgwin| Associated setting variables: |g:netrw_chgwin|
@ -3234,9 +3302,9 @@ only if your terminal supports differentiating <c-tab> from a plain
* Else bring up a |:Lexplore| window * Else bring up a |:Lexplore| window
If |g:netrw_usetab| exists or is zero, or if there is a pre-existing mapping If |g:netrw_usetab| exists and is zero, or if there is a pre-existing mapping
for <c-tab>, then the <c-tab> will not be mapped. One may map something other for <c-tab>, then the <c-tab> will not be mapped. One may map something other
than a <c-tab>, too: (but you'll still need to have had g:netrw_usetab set) > than a <c-tab>, too: (but you'll still need to have had |g:netrw_usetab| set). >
nmap <unique> (whatever) <Plug>NetrwShrink nmap <unique> (whatever) <Plug>NetrwShrink
< <
@ -3269,9 +3337,10 @@ The user function is passed one argument; it resembles >
fun! ExampleUserMapFunc(islocal) fun! ExampleUserMapFunc(islocal)
< <
where a:islocal is 1 if it's a local-directory system call or 0 when where a:islocal is 1 if its a local-directory system call or 0 when
remote-directory system call. remote-directory system call.
*netrw-call* *netrw-expose* *netrw-modify*
Use netrw#Expose("varname") to access netrw-internal (script-local) Use netrw#Expose("varname") to access netrw-internal (script-local)
variables. variables.
Use netrw#Modify("varname",newvalue) to change netrw-internal variables. Use netrw#Modify("varname",newvalue) to change netrw-internal variables.
@ -3593,7 +3662,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
*netrw-p16* *netrw-p16*
P16. When editing remote files (ex. :e ftp://hostname/path/file), P16. When editing remote files (ex. :e ftp://hostname/path/file),
under Windows I get an |E303| message complaining that it's unable under Windows I get an |E303| message complaining that its unable
to open a swap file. to open a swap file.
(romainl) It looks like you are starting Vim from a protected (romainl) It looks like you are starting Vim from a protected
@ -3647,7 +3716,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
P21. I've made a directory (or file) with an accented character, but P21. I've made a directory (or file) with an accented character, but
netrw isn't letting me enter that directory/read that file: netrw isn't letting me enter that directory/read that file:
It's likely that the shell or o/s is using a different encoding Its likely that the shell or o/s is using a different encoding
than you have vim (netrw) using. A patch to vim supporting than you have vim (netrw) using. A patch to vim supporting
"systemencoding" may address this issue in the future; for "systemencoding" may address this issue in the future; for
now, just have netrw use the proper encoding. For example: > now, just have netrw use the proper encoding. For example: >
@ -3763,6 +3832,102 @@ netrw:
============================================================================== ==============================================================================
12. History *netrw-history* {{{1 12. History *netrw-history* {{{1
v162: Sep 19, 2016 * (haya14busa) pointed out two syntax errors
with a patch; these are now fixed.
Oct 26, 2016 * I started using mate-terminal and found that
x and gx (|netrw-x| and |netrw-gx|) were no
longer working. Fixed (using atril when
$DESKTOP_SESSION is "mate").
Nov 04, 2016 * (Martin Vuille) pointed out that @+ was
being restored with keepregstar rather than
keepregplus.
Nov 09, 2016 * Broke apart the command from the options,
mostly for Windows. Introduced new netrw
settings: |g:netrw_localcopycmdopt|
|g:netrw_localcopydircmdopt| |g:netrw_localmkdiropt|
|g:netrw_localmovecmdopt| |g:netrw_localrmdiropt|
Nov 21, 2016 * (mattn) provided a patch for preview; swapped
winwidth() with winheight()
Nov 22, 2016 * (glacambre) reported that files containing
spaces weren't being obtained properly via
scp. Fix: apparently using single quotes
such as with 'file name' wasn't enough; the
spaces inside the quotes also had to be
escaped (ie. 'file\ name').
* Also fixed obtain (|netrw-O|) to be able to
obtain files with spaces in their names
Dec 20, 2016 * (xc1427) Reported that using "I" (|netrw-I|)
when atop "Hiding" in the banner also caused
the active-banner hiding control to occur
Jan 03, 2017 * (Enno Nagel) reported that attempting to
apply netrw to a directory that was without
read permission caused a syntax error.
Jan 13, 2017 * (Ingo Karkat) provided a patch which makes
using netrw#Call() better. Now returns
value of internal routines return, for example.
Jan 13, 2017 * (Ingo Karkat) changed netrw#FileUrlRead to
use |:edit| instead of |:read|. I also
changed the routine name to netrw#FileUrlEdit.
Jan 16, 2017 * (Sayem) reported a problem where :Lexplore
could generate a new listing buffer and
window instead of toggling the netrw display.
Unfortunately, the directions for eliciting
the problem weren't complete, so I may or
may not have fixed that issue.
Feb 06, 2017 * Implemented cb and cB. Changed "c" to "cd".
(see |netrw-cb|, |netrw-cB|, and |netrw-cd|)
Mar 21, 2017 * previously, netrw would specify (safe) settings
even when the setting was already safe for
netrw. Netrw now attempts to leave such
already-netrw-safe settings alone.
(affects s:NetrwOptionRestore() and
s:NetrwSafeOptions(); also introduced
s:NetrwRestoreSetting())
Jun 26, 2017 * (Christian Brabandt) provided a patch to
allow curl to follow redirects (ie. -L
option)
Jun 26, 2017 * (Callum Howard) reported a problem with
:Lexpore not removing the Lexplore window
after a change-directory
Aug 30, 2017 * (Ingo Karkat) one cannot switch to the
previously edited file (e.g. with CTRL-^)
after editing a file:// URL. Patch to
have a "keepalt" included.
Oct 17, 2017 * (Adam Faryna) reported that gn (|netrw-gn|)
did not work on directories in the current
tree
v157: Apr 20, 2016 * (Nicola) had set up a "nmap <expr> ..." with
a function that returned a 0 while silently
invoking a shell command. The shell command
activated a ShellCmdPost event which in turn
called s:LocalBrowseRefresh(). That looks
over all netrw buffers for changes needing
refreshes. However, inside a |:map-<expr>|,
tab and window changes are disallowed. Fixed.
(affects netrw's s:LocalBrowseRefresh())
* |g:netrw_localrmdir| not used any more, but
the relevant patch that causes |delete()| to
take over was #1107 (not #1109).
* |expand()| is now used on |g:netrw_home|;
consequently, g:netrw_home may now use
environment variables
* s:NetrwLeftmouse and s:NetrwCLeftmouse will
return without doing anything if invoked
when inside a non-netrw window
Jun 15, 2016 * gx now calls netrw#GX() which returns
the word under the cursor. The new
wrinkle: if one is in a netrw buffer,
then netrw's s:NetrwGetWord().
Jun 22, 2016 * Netrw was executing all its associated
Filetype commands silently; I'm going
to try doing that "noisily" and see if
folks have a problem with that.
Aug 12, 2016 * Changed order of tool selection for
handling http://... viewing.
(Nikolay Aleksandrovich Pavlov)
Aug 21, 2016 * Included hiding/showing/all for tree
listings
* Fixed refresh (^L) for tree listings
v156: Feb 18, 2016 * Changed =~ to =~# where appropriate v156: Feb 18, 2016 * Changed =~ to =~# where appropriate
Feb 23, 2016 * s:ComposePath(base,subdir) now uses Feb 23, 2016 * s:ComposePath(base,subdir) now uses
fnameescape() on the base portion fnameescape() on the base portion
@ -3794,9 +3959,9 @@ netrw:
tell me how they're useful and should be tell me how they're useful and should be
retained? retained?
Nov 20, 2015 * Added |netrw-ma| and |netrw-mA| support Nov 20, 2015 * Added |netrw-ma| and |netrw-mA| support
Nov 20, 2015 * gx (|netrw-gx|) on an url downloaded the Nov 20, 2015 * gx (|netrw-gx|) on a URL downloaded the
file in addition to simply bringing up the file in addition to simply bringing up the
url in a browser. Fixed. URL in a browser. Fixed.
Nov 23, 2015 * Added |g:netrw_sizestyle| support Nov 23, 2015 * Added |g:netrw_sizestyle| support
Nov 27, 2015 * Inserted a lot of <c-u>s into various netrw Nov 27, 2015 * Inserted a lot of <c-u>s into various netrw
maps. maps.

View File

@ -21,7 +21,7 @@ Table of contents: |usr_toc.txt|
============================================================================== ==============================================================================
*09.1* Parts of the GUI *09.1* Parts of the GUI
You might have an icon on your desktop that starts gVim. Otherwise, one of You might have an icon on your desktop that starts gvim. Otherwise, one of
these commands should do it: > these commands should do it: >
gvim file.txt gvim file.txt
@ -180,12 +180,12 @@ currently highlighted. In Vim this is the Visual area (this assumes you are
using the default option settings). You can paste this selection in another using the default option settings). You can paste this selection in another
application without any further action. application without any further action.
For example, in this text select a few words with the mouse. Vim will For example, in this text select a few words with the mouse. Vim will
switch to Visual mode and highlight the text. Now start another gVim, without switch to Visual mode and highlight the text. Now start another gvim, without
a file name argument, so that it displays an empty window. Click the middle a file name argument, so that it displays an empty window. Click the middle
mouse button. The selected text will be inserted. mouse button. The selected text will be inserted.
The "current selection" will only remain valid until some other text is The "current selection" will only remain valid until some other text is
selected. After doing the paste in the other gVim, now select some characters selected. After doing the paste in the other gvim, now select some characters
in that window. You will notice that the words that were previously selected in that window. You will notice that the words that were previously selected
in the other gvim window are displayed differently. This means that it no in the other gvim window are displayed differently. This means that it no
longer is the current selection. longer is the current selection.
@ -200,10 +200,10 @@ Now for the other place with which text can be exchanged. We call this the
"real clipboard", to avoid confusion. Often both the "current selection" and "real clipboard", to avoid confusion. Often both the "current selection" and
the "real clipboard" are called clipboard, you'll have to get used to that. the "real clipboard" are called clipboard, you'll have to get used to that.
To put text on the real clipboard, select a few different words in one of To put text on the real clipboard, select a few different words in one of
the gVims you have running. Then use the Edit/Copy menu entry. Now the text the gvims you have running. Then use the Edit/Copy menu entry. Now the text
has been copied to the real clipboard. You can't see this, unless you have has been copied to the real clipboard. You can't see this, unless you have
some application that shows the clipboard contents (e.g., KDE's Klipper). some application that shows the clipboard contents (e.g., KDE's Klipper).
Now select the other gVim, position the cursor somewhere and use the Now select the other gvim, position the cursor somewhere and use the
Edit/Paste menu. You will see the text from the real clipboard is inserted. Edit/Paste menu. You will see the text from the real clipboard is inserted.

View File

@ -20,7 +20,7 @@
if &cp || exists("g:loaded_netrwPlugin") if &cp || exists("g:loaded_netrwPlugin")
finish finish
endif endif
let g:loaded_netrwPlugin = "v156" let g:loaded_netrwPlugin = "v162"
let s:keepcpo = &cpo let s:keepcpo = &cpo
set cpo&vim set cpo&vim
"DechoRemOn "DechoRemOn
@ -42,8 +42,8 @@ augroup END
" Network Browsing Reading Writing: {{{2 " Network Browsing Reading Writing: {{{2
augroup Network augroup Network
au! au!
au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>")) au BufReadCmd file://* call netrw#FileUrlEdit(expand("<amatch>"))
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "sil doau BufReadPost ".fnameescape(expand("<amatch>")) au BufReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "sil doau BufReadPost ".fnameescape(expand("<amatch>"))
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>")) au FileReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>"))
au BufWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>")) au BufWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>"))
au FileWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>")) au FileWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>"))
@ -59,7 +59,7 @@ com! -count=1 -nargs=* Nread let s:svpos= winsaveview()<bar>call netrw#NetRead(
com! -range=% -nargs=* Nwrite let s:svpos= winsaveview()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call winrestview(s:svpos) com! -range=% -nargs=* Nwrite let s:svpos= winsaveview()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call winrestview(s:svpos)
com! -nargs=* NetUserPass call NetUserPass(<f-args>) com! -nargs=* NetUserPass call NetUserPass(<f-args>)
com! -nargs=* Nsource let s:svpos= winsaveview()<bar>call netrw#NetSource(<f-args>)<bar>call winrestview(s:svpos) com! -nargs=* Nsource let s:svpos= winsaveview()<bar>call netrw#NetSource(<f-args>)<bar>call winrestview(s:svpos)
com! -nargs=? Ntree call netrw#SetTreetop(<q-args>) com! -nargs=? Ntree call netrw#SetTreetop(1,<q-args>)
" Commands: :Explore, :Sexplore, Hexplore, Vexplore, Lexplore {{{2 " Commands: :Explore, :Sexplore, Hexplore, Vexplore, Lexplore {{{2
com! -nargs=* -bar -bang -count=0 -complete=dir Explore call netrw#Explore(<count>,0,0+<bang>0,<q-args>) com! -nargs=* -bar -bang -count=0 -complete=dir Explore call netrw#Explore(<count>,0,0+<bang>0,<q-args>)
@ -81,7 +81,7 @@ if !exists("g:netrw_nogx")
if !hasmapto('<Plug>NetrwBrowseX') if !hasmapto('<Plug>NetrwBrowseX')
nmap <unique> gx <Plug>NetrwBrowseX nmap <unique> gx <Plug>NetrwBrowseX
endif endif
nno <silent> <Plug>NetrwBrowseX :call netrw#BrowseX(expand((exists("g:netrw_gx")? g:netrw_gx : '<cfile>')),netrw#CheckIfRemote())<cr> nno <silent> <Plug>NetrwBrowseX :call netrw#BrowseX(netrw#GX(),netrw#CheckIfRemote(netrw#GX()))<cr>
endif endif
if maparg('gx','v') == "" if maparg('gx','v') == ""
if !hasmapto('<Plug>NetrwBrowseXVis') if !hasmapto('<Plug>NetrwBrowseXVis')
@ -129,19 +129,15 @@ fun! s:LocalBrowse(dirname)
elseif isdirectory(a:dirname) elseif isdirectory(a:dirname)
" call Decho("(LocalBrowse) dirname<".a:dirname."> ft=".&ft." (isdirectory, not amiga)") " call Decho("(LocalBrowse) dirname<".a:dirname."> ft=".&ft." (isdirectory, not amiga)")
" call Dredir("LocalBrowse ft last set: ","verbose set ft") " call Dredir("LocalBrowse ft last set: ","verbose set ft")
" call Decho("(s:LocalBrowse) COMBAK#23: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
sil! call netrw#LocalBrowseCheck(a:dirname) sil! call netrw#LocalBrowseCheck(a:dirname)
" call Decho("(s:LocalBrowse) COMBAK#24: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
if exists("w:netrw_bannercnt") && line('.') < w:netrw_bannercnt if exists("w:netrw_bannercnt") && line('.') < w:netrw_bannercnt
exe w:netrw_bannercnt exe w:netrw_bannercnt
" call Decho("(s:LocalBrowse) COMBAK#25: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
endif endif
else else
" not a directory, ignore it " not a directory, ignore it
" call Decho("(LocalBrowse) dirname<".a:dirname."> not a directory, ignoring...") " call Decho("(LocalBrowse) dirname<".a:dirname."> not a directory, ignoring...")
endif endif
" call Decho("(s:LocalBrowse) COMBAK#26: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
" call Dret("s:LocalBrowse") " call Dret("s:LocalBrowse")
endfun endfun

View File

@ -2,7 +2,8 @@
" Language: doxygen on top of c, cpp, idl, java, php " Language: doxygen on top of c, cpp, idl, java, php
" Maintainer: Michael Geddes <vimmer@frog.wheelycreek.net> " Maintainer: Michael Geddes <vimmer@frog.wheelycreek.net>
" Author: Michael Geddes " Author: Michael Geddes
" Last Change: Jan 2009 (\tparam by Domnique Pelle, Aug 2013) " Last Changes: Jan 2009 (\tparam by Domnique Pelle, Aug 2013)
" Nov 2017 (@throws by Domnique Pelle)
" Version: 1.23 " Version: 1.23
" "
" Copyright 2004-2008 Michael Geddes " Copyright 2004-2008 Michael Geddes
@ -181,13 +182,13 @@ endif
syn match doxygenParamDirection contained "\v\[(\s*in>((]\s*\[|\s*,\s*)out>)=|out>((]\s*\[|\s*,\s*)in>)=)\]" nextgroup=doxygenParamName skipwhite syn match doxygenParamDirection contained "\v\[(\s*in>((]\s*\[|\s*,\s*)out>)=|out>((]\s*\[|\s*,\s*)in>)=)\]" nextgroup=doxygenParamName skipwhite
syn keyword doxygenParam contained param tparam nextgroup=doxygenParamName,doxygenParamDirection skipwhite syn keyword doxygenParam contained param tparam nextgroup=doxygenParamName,doxygenParamDirection skipwhite
syn match doxygenParamName contained +[A-Za-z0-9_:]\++ nextgroup=doxygenSpecialMultilineDesc skipwhite syn match doxygenParamName contained +[A-Za-z0-9_:]\++ nextgroup=doxygenSpecialMultilineDesc skipwhite
syn keyword doxygenRetval contained retval throw exception nextgroup=doxygenParamName skipwhite syn keyword doxygenRetval contained retval throw throws exception nextgroup=doxygenParamName skipwhite
" Match one line identifiers. " Match one line identifiers.
syn keyword doxygenOther contained addindex anchor syn keyword doxygenOther contained addindex anchor
\ dontinclude endhtmlonly endlatexonly showinitializer hideinitializer \ dontinclude endhtmlonly endlatexonly showinitializer hideinitializer
\ example htmlonly image include ingroup internal latexonly line \ example htmlonly image include ingroup internal latexonly line
\ overload relates relatesalso sa skip skipline \ overload related relates relatedalso relatesalso sa skip skipline
\ until verbinclude version addtogroup htmlinclude copydoc dotfile \ until verbinclude version addtogroup htmlinclude copydoc dotfile
\ xmlonly endxmlonly \ xmlonly endxmlonly
\ nextgroup=doxygenSpecialOnelineDesc \ nextgroup=doxygenSpecialOnelineDesc
@ -223,7 +224,7 @@ endif
syn keyword doxygenOther contained par nextgroup=doxygenHeaderLine syn keyword doxygenOther contained par nextgroup=doxygenHeaderLine
syn region doxygenHeaderLine start=+.+ end=+^+ contained skipwhite nextgroup=doxygenSpecialMultilineDesc syn region doxygenHeaderLine start=+.+ end=+^+ contained skipwhite nextgroup=doxygenSpecialMultilineDesc
syn keyword doxygenOther contained arg author date deprecated li return returns see invariant note post pre remarks since test nextgroup=doxygenSpecialMultilineDesc syn keyword doxygenOther contained arg author authors date deprecated li result return returns see invariant note post pre remark remarks since test nextgroup=doxygenSpecialMultilineDesc
syn keyword doxygenOtherTODO contained todo attention nextgroup=doxygenSpecialMultilineDesc syn keyword doxygenOtherTODO contained todo attention nextgroup=doxygenSpecialMultilineDesc
syn keyword doxygenOtherWARN contained warning nextgroup=doxygenSpecialMultilineDesc syn keyword doxygenOtherWARN contained warning nextgroup=doxygenSpecialMultilineDesc
syn keyword doxygenOtherBUG contained bug nextgroup=doxygenSpecialMultilineDesc syn keyword doxygenOtherBUG contained bug nextgroup=doxygenSpecialMultilineDesc

View File

@ -1,11 +1,8 @@
" Language : Netrw Remote-Directory Listing Syntax " Language : Netrw Listing Syntax
" Maintainer : Charles E. Campbell " Maintainer : Charles E. Campbell
" Last change: Oct 06, 2014 " Last change: Oct 31, 2016
" Version : 19 " Version : 20 NOT RELEASED
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" Syntax Clearing: {{{1
" quit when a syntax file was already loaded
if exists("b:current_syntax") if exists("b:current_syntax")
finish finish
endif endif
@ -55,24 +52,30 @@ syn match netrwLink "-->" contained skipwhite
" ----------------------------- " -----------------------------
" Special filetype highlighting {{{1 " Special filetype highlighting {{{1
" ----------------------------- " -----------------------------
if exists("g:netrw_special_syntax") && netrw_special_syntax if exists("g:netrw_special_syntax") && g:netrw_special_syntax
syn match netrwBak "\(\S\+ \)*\S\+\.bak\>" contains=netrwTreeBar,@NoSpell if exists("+suffixes") && &suffixes != ""
syn match netrwCompress "\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>" contains=netrwTreeBar,@NoSpell let suflist= join(split(&suffixes,','))
if has("unix") let suflist= escape(substitute(suflist," ",'\\|','g'),'.~')
syn match netrwCoreDump "\<core\%(\.\d\+\)\=\>" contains=netrwTreeBar,@NoSpell exe "syn match netrwSpecFile '\\(\\S\\+ \\)*\\S*\\(".suflist."\\)\\>' contains=netrwTreeBar,@NoSpell"
endif endif
syn match netrwLex "\(\S\+ \)*\S\+\.\%(l\|lex\)\>" contains=netrwTreeBar,@NoSpell syn match netrwBak "\(\S\+ \)*\S\+\.bak\>" contains=netrwTreeBar,@NoSpell
syn match netrwYacc "\(\S\+ \)*\S\+\.y\>" contains=netrwTreeBar,@NoSpell syn match netrwCompress "\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>" contains=netrwTreeBar,@NoSpell
syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar,@NoSpell if has("unix")
syn match netrwDoc "\(\S\+ \)*\S\+\.\%(doc\|txt\|pdf\|ps\)" contains=netrwTreeBar,@NoSpell syn match netrwCoreDump "\<core\%(\.\d\+\)\=\>" contains=netrwTreeBar,@NoSpell
syn match netrwHdr "\(\S\+ \)*\S\+\.\%(h\|hpp\)\>" contains=netrwTreeBar,@NoSpell endif
syn match netrwLib "\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>" contains=netrwTreeBar,@NoSpell syn match netrwLex "\(\S\+ \)*\S\+\.\%(l\|lex\)\>" contains=netrwTreeBar,@NoSpell
syn match netrwMakeFile "\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>" contains=netrwTreeBar,@NoSpell syn match netrwYacc "\(\S\+ \)*\S\+\.y\>" contains=netrwTreeBar,@NoSpell
syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar,@NoSpell syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar,@NoSpell
syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar,@NoSpell syn match netrwDoc "\(\S\+ \)*\S\+\.\%(doc\|txt\|pdf\|ps\|docx\)\>" contains=netrwTreeBar,@NoSpell
syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell syn match netrwHdr "\(\S\+ \)*\S\+\.\%(h\|hpp\)\>" contains=netrwTreeBar,@NoSpell
syn match netrwTilde "\(\S\+ \)*\S\+\~\*\=\>" contains=netrwTreeBar,@NoSpell syn match netrwLib "\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>" contains=netrwTreeBar,@NoSpell
syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar,@NoSpell syn match netrwMakeFile "\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>" contains=netrwTreeBar,@NoSpell
syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar,@NoSpell
syn match netrwPix "\c\(\S\+ \)*\S*\.\%(bmp\|fits\=\|gif\|je\=pg\|pcx\|ppc\|pgm\|png\|ppm\|psd\|rgb\|tif\|xbm\|xcf\)\>" contains=netrwTreeBar,@NoSpell
syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar,@NoSpell
syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell
syn match netrwTilde "\(\S\+ \)*\S\+\~\*\=\>" contains=netrwTreeBar,@NoSpell
syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar,@NoSpell
endif endif
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
@ -101,21 +104,42 @@ if !exists("did_drchip_netrwlist_syntax")
hi default link netrwLink Special hi default link netrwLink Special
" special syntax highlighting (see :he g:netrw_special_syntax) " special syntax highlighting (see :he g:netrw_special_syntax)
hi default link netrwBak NonText
hi default link netrwCompress Folded
hi default link netrwCoreDump WarningMsg hi default link netrwCoreDump WarningMsg
hi default link netrwData DiffChange hi default link netrwData DiffChange
hi default link netrwHdr netrwPlain hi default link netrwHdr netrwPlain
hi default link netrwLex netrwPlain hi default link netrwLex netrwPlain
hi default link netrwLib DiffChange hi default link netrwLib DiffChange
hi default link netrwMakefile DiffChange hi default link netrwMakefile DiffChange
hi default link netrwObj Folded
hi default link netrwTilde Folded
hi default link netrwTmp Folded
hi default link netrwTags Folded
hi default link netrwYacc netrwPlain hi default link netrwYacc netrwPlain
hi default link netrwPix Special
hi default link netrwBak netrwGray
hi default link netrwCompress netrwGray
hi default link netrwSpecFile netrwGray
hi default link netrwObj netrwGray
hi default link netrwTags netrwGray
hi default link netrwTilde netrwGray
hi default link netrwTmp netrwGray
endif endif
" set up netrwGray to be understated (but not Ignore'd or Conceal'd, as those
" can be hard/impossible to read). Users may override this in a colorscheme by
" specifying netrwGray highlighting.
redir => s:netrwgray
sil hi netrwGray
redir END
if s:netrwgray !~ 'guifg'
if has("gui") && has("gui_running")
if &bg == "dark"
exe "hi netrwGray gui=NONE guifg=gray30"
else
exe "hi netrwGray gui=NONE guifg=gray70"
endif
else
hi link netrwGray Folded
endif
endif
" Current Syntax: {{{1 " Current Syntax: {{{1
let b:current_syntax = "netrwlist" let b:current_syntax = "netrwlist"
" --------------------------------------------------------------------- " ---------------------------------------------------------------------

View File

@ -2,8 +2,8 @@
" Language: shell (sh) Korn shell (ksh) bash (sh) " Language: shell (sh) Korn shell (ksh) bash (sh)
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz> " Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
" Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int> " Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int>
" Last Change: Jan 30, 2017 " Last Change: Oct 02, 2017
" Version: 168 " Version: 172
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
" For options and settings, please use: :help ft-sh-syntax " For options and settings, please use: :help ft-sh-syntax
" This file includes many ideas from Eric Brunet (eric.brunet@ens.fr) " This file includes many ideas from Eric Brunet (eric.brunet@ens.fr)
@ -128,7 +128,7 @@ syn cluster shArithParenList contains=shArithmetic,shCaseEsac,shComment,shDeref,
syn cluster shArithList contains=@shArithParenList,shParenError syn cluster shArithList contains=@shArithParenList,shParenError
syn cluster shCaseEsacList contains=shCaseStart,shCase,shCaseBar,shCaseIn,shComment,shDeref,shDerefSimple,shCaseCommandSub,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote,shCtrlSeq,@shErrorList,shStringSpecial,shCaseRange syn cluster shCaseEsacList contains=shCaseStart,shCase,shCaseBar,shCaseIn,shComment,shDeref,shDerefSimple,shCaseCommandSub,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote,shCtrlSeq,@shErrorList,shStringSpecial,shCaseRange
syn cluster shCaseList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shHereString,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq syn cluster shCaseList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shHereString,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq
syn cluster shCommandSubList contains=shAlias,shArithmetic,shComment,shCmdParenRegion,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shEcho,shEscape,shExDoubleQuote,shExpr,shExSingleQuote,shHereDoc,shNumber,shOperator,shOption,shPosnParm,shHereString,shRedir,shSingleQuote,shSpecial,shStatement,shSubSh,shTest,shVariable syn cluster shCommandSubList contains=shAlias,shArithmetic,shCmdParenRegion,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shEcho,shEscape,shExDoubleQuote,shExpr,shExSingleQuote,shHereDoc,shNumber,shOperator,shOption,shPosnParm,shHereString,shRedir,shSingleQuote,shSpecial,shStatement,shSubSh,shTest,shVariable
syn cluster shCurlyList contains=shNumber,shComma,shDeref,shDerefSimple,shDerefSpecial syn cluster shCurlyList contains=shNumber,shComma,shDeref,shDerefSimple,shDerefSpecial
syn cluster shDblQuoteList contains=shCommandSub,shDeref,shDerefSimple,shEscape,shPosnParm,shCtrlSeq,shSpecial syn cluster shDblQuoteList contains=shCommandSub,shDeref,shDerefSimple,shEscape,shPosnParm,shCtrlSeq,shSpecial
syn cluster shDerefList contains=shDeref,shDerefSimple,shDerefVar,shDerefSpecial,shDerefWordError,shDerefPSR,shDerefPPS syn cluster shDerefList contains=shDeref,shDerefSimple,shDerefVar,shDerefSpecial,shDerefWordError,shDerefPSR,shDerefPPS
@ -150,6 +150,7 @@ syn cluster shLoopList contains=@shCaseList,@shErrorList,shCaseEsac,shConditiona
syn cluster shPPSRightList contains=shComment,shDeref,shDerefSimple,shEscape,shPosnParm syn cluster shPPSRightList contains=shComment,shDeref,shDerefSimple,shEscape,shPosnParm
syn cluster shSubShList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shIf,shHereString,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq,shOperator syn cluster shSubShList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shIf,shHereString,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq,shOperator
syn cluster shTestList contains=shCharClass,shCommandSub,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shExDoubleQuote,shExpr,shExSingleQuote,shNumber,shOperator,shSingleQuote,shTest,shTestOpr syn cluster shTestList contains=shCharClass,shCommandSub,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shExDoubleQuote,shExpr,shExSingleQuote,shNumber,shOperator,shSingleQuote,shTest,shTestOpr
syn cluster shNoZSList contains=shSpecialNoZS
" Echo: {{{1 " Echo: {{{1
" ==== " ====
@ -220,13 +221,13 @@ syn region shSubSh transparent matchgroup=shSubShRegion start="[^(]\zs(" end=")"
"======= "=======
syn region shExpr matchgroup=shRange start="\[" skip=+\\\\\|\\$\|\[+ end="\]" contains=@shTestList,shSpecial syn region shExpr matchgroup=shRange start="\[" skip=+\\\\\|\\$\|\[+ end="\]" contains=@shTestList,shSpecial
syn region shTest transparent matchgroup=shStatement start="\<test\s" skip=+\\\\\|\\$+ matchgroup=NONE end="[;&|]"me=e-1 end="$" contains=@shExprList1 syn region shTest transparent matchgroup=shStatement start="\<test\s" skip=+\\\\\|\\$+ matchgroup=NONE end="[;&|]"me=e-1 end="$" contains=@shExprList1
syn region shNoQuote start='\S' skip='\%(\\\\\)*\\.' end='\ze\s' contained contains=shDerefSimple,shDeref syn region shNoQuote start='\S' skip='\%(\\\\\)*\\.' end='\ze\s' end="\ze['"]" contained contains=shDerefSimple,shDeref
syn match shAstQuote contained '\*\ze"' nextgroup=shString syn match shAstQuote contained '\*\ze"' nextgroup=shString
syn match shTestOpr contained '[^-+/%]\zs=' skipwhite nextgroup=shTestDoubleQuote,shTestSingleQuote,shTestPattern syn match shTestOpr contained '[^-+/%]\zs=' skipwhite nextgroup=shTestDoubleQuote,shTestSingleQuote,shTestPattern
syn match shTestOpr contained "<=\|>=\|!=\|==\|=\~\|-.\>\|-\(nt\|ot\|ef\|eq\|ne\|lt\|le\|gt\|ge\)\>\|[!<>]" syn match shTestOpr contained "<=\|>=\|!=\|==\|=\~\|-.\>\|-\(nt\|ot\|ef\|eq\|ne\|lt\|le\|gt\|ge\)\>\|[!<>]"
syn match shTestPattern contained '\w\+' syn match shTestPattern contained '\w\+'
syn region shTestDoubleQuote contained start='\%(\%(\\\\\)*\\\)\@<!"' skip=+\\\\\|\\"+ end='"' contains=shDeref,shDerefSimple,shDerefSpecial syn region shTestDoubleQuote contained start='\%(\%(\\\\\)*\\\)\@<!"' skip=+\\\\\|\\"+ end='"' contains=shDeref,shDerefSimple,shDerefSpecial
syn match shTestSingleQuote contained '\\.' syn match shTestSingleQuote contained '\\.' nextgroup=shTestSingleQuote
syn match shTestSingleQuote contained "'[^']*'" syn match shTestSingleQuote contained "'[^']*'"
if exists("b:is_kornshell") || exists("b:is_bash") if exists("b:is_kornshell") || exists("b:is_bash")
syn region shDblBrace matchgroup=Delimiter start="\[\[" skip=+\%(\\\\\)*\\$+ end="\]\]" contains=@shTestList,shAstQuote,shNoQuote,shComment syn region shDblBrace matchgroup=Delimiter start="\[\[" skip=+\%(\\\\\)*\\$+ end="\]\]" contains=@shTestList,shAstQuote,shNoQuote,shComment
@ -261,7 +262,11 @@ syn match shComma contained ","
" ==== " ====
syn match shCaseBar contained skipwhite "\(^\|[^\\]\)\(\\\\\)*\zs|" nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote syn match shCaseBar contained skipwhite "\(^\|[^\\]\)\(\\\\\)*\zs|" nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote
syn match shCaseStart contained skipwhite skipnl "(" nextgroup=shCase,shCaseBar syn match shCaseStart contained skipwhite skipnl "(" nextgroup=shCase,shCaseBar
ShFoldIfDoFor syn region shCase contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment if exists("b:is_bash")
ShFoldIfDoFor syn region shCase contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end=";&" end=";;&" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment
else
ShFoldIfDoFor syn region shCase contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment
endif
ShFoldIfDoFor syn region shCaseEsac matchgroup=shConditional start="\<case\>" end="\<esac\>" contains=@shCaseEsacList ShFoldIfDoFor syn region shCaseEsac matchgroup=shConditional start="\<case\>" end="\<esac\>" contains=@shCaseEsacList
syn keyword shCaseIn contained skipwhite skipnl in nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote syn keyword shCaseIn contained skipwhite skipnl in nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote
@ -291,7 +296,7 @@ syn match shEscape contained '\%(^\)\@!\%(\\\\\)*\\.'
" (ie. Posix compliant shell). /bin/ksh should work for those " (ie. Posix compliant shell). /bin/ksh should work for those
" systems too, however, so the following syntax will flag $(..) as " systems too, however, so the following syntax will flag $(..) as
" an Error under /bin/sh. By consensus of vimdev'ers! " an Error under /bin/sh. By consensus of vimdev'ers!
if exists("b:is_kornshell") || exists("b:is_bash") if exists("b:is_kornshell") || exists("b:is_bash") || exists("b:is_posix")
syn region shCommandSub matchgroup=shCmdSubRegion start="\$(" skip='\\\\\|\\.' end=")" contains=@shCommandSubList syn region shCommandSub matchgroup=shCmdSubRegion start="\$(" skip='\\\\\|\\.' end=")" contains=@shCommandSubList
syn region shArithmetic matchgroup=shArithRegion start="\$((" skip='\\\\\|\\.' end="))" contains=@shArithList syn region shArithmetic matchgroup=shArithRegion start="\$((" skip='\\\\\|\\.' end="))" contains=@shArithList
syn region shArithmetic matchgroup=shArithRegion start="\$\[" skip='\\\\\|\\.' end="\]" contains=@shArithList syn region shArithmetic matchgroup=shArithRegion start="\$\[" skip='\\\\\|\\.' end="\]" contains=@shArithList
@ -346,8 +351,9 @@ syn region shSingleQuote matchgroup=shQuote start=+'+ end=+'+ contains=@Spell
syn region shDoubleQuote matchgroup=shQuote start=+\%(\%(\\\\\)*\\\)\@<!"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell syn region shDoubleQuote matchgroup=shQuote start=+\%(\%(\\\\\)*\\\)\@<!"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell
syn match shStringSpecial "[^[:print:] \t]" contained syn match shStringSpecial "[^[:print:] \t]" contained
syn match shStringSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" syn match shStringSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]"
syn match shSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" syn match shSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shBkslshSnglQuote,shBkslshDblQuote,@shNoZSList
syn match shSpecial "^\%(\\\\\)*\\[\\"'`$()#]" syn match shSpecial "^\%(\\\\\)*\\[\\"'`$()#]"
syn match shSpecialNoZS contained "\%(\\\\\)*\\[\\"'`$()#]"
syn match shSpecialNxt contained "\\[\\"'`$()#]" syn match shSpecialNxt contained "\\[\\"'`$()#]"
syn region shBkslshSnglQuote contained matchgroup=shQuote start=+'+ end=+'+ contains=@Spell syn region shBkslshSnglQuote contained matchgroup=shQuote start=+'+ end=+'+ contains=@Spell
syn region shBkslshDblQuote contained matchgroup=shQuote start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell syn region shBkslshDblQuote contained matchgroup=shQuote start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell
@ -370,8 +376,8 @@ syn match shQuickComment contained "#.*$"
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc01 start="<<\s*\\\=\z([^ \t|>]\+\)" matchgroup=shHereDoc01 end="^\z1\s*$" contains=@shDblQuoteList ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc01 start="<<\s*\\\=\z([^ \t|>]\+\)" matchgroup=shHereDoc01 end="^\z1\s*$" contains=@shDblQuoteList
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc02 start="<<\s*\"\z([^ \t|>]\+\)\"" matchgroup=shHereDoc02 end="^\z1\s*$" ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc02 start="<<\s*\"\z([^ \t|>]\+\)\"" matchgroup=shHereDoc02 end="^\z1\s*$"
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc03 start="<<-\s*\z([^ \t|>]\+\)" matchgroup=shHereDoc03 end="^\s*\z1\s*$" contains=@shDblQuoteList ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc03 start="<<-\s*\z([^ \t|>]\+\)" matchgroup=shHereDoc03 end="^\s*\z1\s*$" contains=@shDblQuoteList
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc04 start="<<-\s*'\z([^ \t|>]\+\)'" matchgroup=shHereDoc04 end="^\s*\z1\s*$" ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc04 start="<<-\s*'\z([^']\+\)'" matchgroup=shHereDoc04 end="^\s*\z1\s*$"
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc05 start="<<\s*'\z([^ \t|>]\+\)'" matchgroup=shHereDoc05 end="^\z1\s*$" ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc05 start="<<\s*'\z([^']\+\)'" matchgroup=shHereDoc05 end="^\z1\s*$"
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc06 start="<<-\s*\"\z([^ \t|>]\+\)\"" matchgroup=shHereDoc06 end="^\s*\z1\s*$" ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc06 start="<<-\s*\"\z([^ \t|>]\+\)\"" matchgroup=shHereDoc06 end="^\s*\z1\s*$"
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc07 start="<<\s*\\\_$\_s*\z([^ \t|>]\+\)" matchgroup=shHereDoc07 end="^\z1\s*$" contains=@shDblQuoteList ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc07 start="<<\s*\\\_$\_s*\z([^ \t|>]\+\)" matchgroup=shHereDoc07 end="^\z1\s*$" contains=@shDblQuoteList
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc08 start="<<\s*\\\_$\_s*'\z([^ \t|>]\+\)'" matchgroup=shHereDoc08 end="^\z1\s*$" ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc08 start="<<\s*\\\_$\_s*'\z([^ \t|>]\+\)'" matchgroup=shHereDoc08 end="^\z1\s*$"
@ -428,14 +434,14 @@ endif
if !exists("g:sh_no_error") if !exists("g:sh_no_error")
syn match shDerefWordError "[^}$[~]" contained syn match shDerefWordError "[^}$[~]" contained
endif endif
syn match shDerefSimple "\$\%(\h\w*\|\d\)" syn match shDerefSimple "\$\%(\h\w*\|\d\)" nextgroup=@shNoZSList
syn region shDeref matchgroup=PreProc start="\${" end="}" contains=@shDerefList,shDerefVarArray syn region shDeref matchgroup=PreProc start="\${" end="}" contains=@shDerefList,shDerefVarArray
syn match shDerefSimple "\$[-#*@!?]" syn match shDerefSimple "\$[-#*@!?]" nextgroup=@shNoZSList
syn match shDerefSimple "\$\$" syn match shDerefSimple "\$\$" nextgroup=@shNoZSList
syn match shDerefSimple "\${\d}" syn match shDerefSimple "\${\d}" nextgroup=@shNoZSList
if exists("b:is_bash") || exists("b:is_kornshell") if exists("b:is_bash") || exists("b:is_kornshell")
syn region shDeref matchgroup=PreProc start="\${##\=" end="}" contains=@shDerefList syn region shDeref matchgroup=PreProc start="\${##\=" end="}" contains=@shDerefList nextgroup=@shSpecialNoZS
syn region shDeref matchgroup=PreProc start="\${\$\$" end="}" contains=@shDerefList syn region shDeref matchgroup=PreProc start="\${\$\$" end="}" contains=@shDerefList nextgroup=@shSpecialNoZS
endif endif
" ksh: ${!var[*]} array index list syntax: {{{1 " ksh: ${!var[*]} array index list syntax: {{{1
@ -685,6 +691,7 @@ if !exists("skip_sh_syntax_inits")
hi def link shSetList Identifier hi def link shSetList Identifier
hi def link shShellVariables PreProc hi def link shShellVariables PreProc
hi def link shSpecial Special hi def link shSpecial Special
hi def link shSpecialNoZS shSpecial
hi def link shStatement Statement hi def link shStatement Statement
hi def link shString String hi def link shString String
hi def link shTodo Todo hi def link shTodo Todo

View File

@ -1,8 +1,8 @@
" Vim syntax file " Vim syntax file
" Language: TeX " Language: TeX
" Maintainer: Charles E. Campbell <NdrchipO@ScampbellPfamily.AbizM> " Maintainer: Charles E. Campbell <NdrchipO@ScampbellPfamily.AbizM>
" Last Change: Jan 31, 2017 " Last Change: Oct 12, 2017
" Version: 103 " Version: 105
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX
" "
" Notes: {{{1 " Notes: {{{1
@ -259,6 +259,7 @@ syn match texAccent +\\[=^.\~"`']+
syn match texAccent +\\['=t'.c^ud"vb~Hr]{\a}+ syn match texAccent +\\['=t'.c^ud"vb~Hr]{\a}+
syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)$" syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)$"
" \begin{}/\end{} section markers: {{{1 " \begin{}/\end{} section markers: {{{1
syn match texBeginEnd "\\begin\>\|\\end\>" nextgroup=texBeginEndName syn match texBeginEnd "\\begin\>\|\\end\>" nextgroup=texBeginEndName
if s:tex_fast =~# 'm' if s:tex_fast =~# 'm'
@ -511,7 +512,7 @@ if !exists("g:tex_no_math")
if &ambw == "double" || exists("g:tex_usedblwidth") if &ambw == "double" || exists("g:tex_usedblwidth")
let s:texMathDelimList= s:texMathDelimList + [ let s:texMathDelimList= s:texMathDelimList + [
\ ['\\langle' , '〈'] , \ ['\\langle' , '〈'] ,
\ ['\\rangle' , '〉']] \ ['\\rangle' , '〉'] ,
else else
let s:texMathDelimList= s:texMathDelimList + [ let s:texMathDelimList= s:texMathDelimList + [
\ ['\\langle' , '<'] , \ ['\\langle' , '<'] ,
@ -588,12 +589,21 @@ else
endif endif
endif endif
" %begin-include ... %end-include acts like a texDocZone for \include'd files. Permits spell checking, for example, in such files.
if !s:tex_nospell
TexFold syn region texDocZone matchgroup=texSection start='^\s*%begin-include\>' end='^\s*%end-include\>' contains=@texFoldGroup,@texDocGroup,@Spell
else
TexFold syn region texDocZone matchgroup=texSection start='^\s*%begin-include\>' end='^\s*%end-include\>' contains=@texFoldGroup,@texDocGroup
endif
" Separate lines used for verb` and verb# so that the end conditions {{{1 " Separate lines used for verb` and verb# so that the end conditions {{{1
" will appropriately terminate. " will appropriately terminate.
" If g:tex_verbspell exists, then verbatim texZones will permit spellchecking there. " If g:tex_verbspell exists, then verbatim texZones will permit spellchecking there.
if s:tex_fast =~# 'v' if s:tex_fast =~# 'v'
if exists("g:tex_verbspell") && g:tex_verbspell if exists("g:tex_verbspell") && g:tex_verbspell
syn region texZone start="\\begin{[vV]erbatim}" end="\\end{[vV]erbatim}\|%stopzone\>" contains=@Spell syn region texZone start="\\begin{[vV]erbatim}" end="\\end{[vV]erbatim}\|%stopzone\>" contains=@Spell
" listings package:
syn region texZone start="\\begin{lstlisting}" end="\\end{lstlisting}\|%stopzone\>" contains=@Spell
if b:tex_stylish if b:tex_stylish
syn region texZone start="\\verb\*\=\z([^\ta-zA-Z@]\)" end="\z1\|%stopzone\>" contains=@Spell syn region texZone start="\\verb\*\=\z([^\ta-zA-Z@]\)" end="\z1\|%stopzone\>" contains=@Spell
else else
@ -1183,11 +1193,13 @@ if has("conceal") && &enc == 'utf-8'
delfun s:SuperSub delfun s:SuperSub
endif endif
" Accented characters: {{{2 " Accented characters and Ligatures: {{{2
if s:tex_conceal =~# 'a' if s:tex_conceal =~# 'a'
if b:tex_stylish if b:tex_stylish
syn match texAccent "\\[bcdvuH][^a-zA-Z@]"me=e-1 syn match texAccent "\\[bcdvuH][^a-zA-Z@]"me=e-1
syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)[^a-zA-Z@]"me=e-1 syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)[^a-zA-Z@]"me=e-1
syn match texLigature '--'
syn match texLigature '---'
else else
fun! s:Accents(chr,...) fun! s:Accents(chr,...)
let i= 1 let i= 1
@ -1248,15 +1260,17 @@ if has("conceal") && &enc == 'utf-8'
call s:Accents('\\i','ì','í','î','ï','ĩ','į',' ',' ',' ',' ',' ','ĭ',' ') call s:Accents('\\i','ì','í','î','ï','ĩ','į',' ',' ',' ',' ',' ','ĭ',' ')
" \` \' \^ \" \~ \. \= \c \H \k \r \u \v " \` \' \^ \" \~ \. \= \c \H \k \r \u \v
delfun s:Accents delfun s:Accents
syn match texAccent '\\aa\>' conceal cchar=å syn match texAccent '\\aa\>' conceal cchar=å
syn match texAccent '\\AA\>' conceal cchar=Å syn match texAccent '\\AA\>' conceal cchar=Å
syn match texAccent '\\o\>' conceal cchar=ø syn match texAccent '\\o\>' conceal cchar=ø
syn match texAccent '\\O\>' conceal cchar=Ø syn match texAccent '\\O\>' conceal cchar=Ø
syn match texLigature '\\AE\>' conceal cchar=Æ syn match texLigature '\\AE\>' conceal cchar=Æ
syn match texLigature '\\ae\>' conceal cchar=æ syn match texLigature '\\ae\>' conceal cchar=æ
syn match texLigature '\\oe\>' conceal cchar=œ syn match texLigature '\\oe\>' conceal cchar=œ
syn match texLigature '\\OE\>' conceal cchar=Œ syn match texLigature '\\OE\>' conceal cchar=Œ
syn match texLigature '\\ss\>' conceal cchar=ß syn match texLigature '\\ss\>' conceal cchar=ß
syn match texLigature '--' conceal cchar=
syn match texLigature '---' conceal cchar=
endif endif
endif endif
endif endif

View File

@ -140,7 +140,6 @@ endif
syn match vimNumber "\<\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand syn match vimNumber "\<\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand
syn match vimNumber "-\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand syn match vimNumber "-\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand
syn match vimNumber "\<0[xX]\x\+" syn match vimNumber "\<0[xX]\x\+"
syn match vimNumber "\<0[bB][01]\+"
syn match vimNumber "\%(^\|[^a-zA-Z]\)\zs#\x\{6}" syn match vimNumber "\%(^\|[^a-zA-Z]\)\zs#\x\{6}"
" All vimCommands are contained by vimIsCommands. {{{2 " All vimCommands are contained by vimIsCommands. {{{2
@ -275,8 +274,8 @@ syn region vimPatSepZone oneline contained matchgroup=vimPatSepZ start="\\%\
syn region vimPatRegion contained transparent matchgroup=vimPatSepR start="\\[z%]\=(" end="\\)" contains=@vimSubstList oneline syn region vimPatRegion contained transparent matchgroup=vimPatSepR start="\\[z%]\=(" end="\\)" contains=@vimSubstList oneline
syn match vimNotPatSep contained "\\\\" syn match vimNotPatSep contained "\\\\"
syn cluster vimStringGroup contains=vimEscapeBrace,vimPatSep,vimNotPatSep,vimPatSepErr,vimPatSepZone,@Spell syn cluster vimStringGroup contains=vimEscapeBrace,vimPatSep,vimNotPatSep,vimPatSepErr,vimPatSepZone,@Spell
syn region vimString oneline keepend start=+[^:a-zA-Z>!\\@]"+lc=1 skip=+\\\\\|\\"+ end=+"+ contains=@vimStringGroup syn region vimString oneline keepend start=+[^a-zA-Z>!\\@]"+lc=1 skip=+\\\\\|\\"+ end=+"+ contains=@vimStringGroup
syn region vimString oneline keepend start=+[^:a-zA-Z>!\\@]'+lc=1 end=+'+ syn region vimString oneline keepend start=+[^a-zA-Z>!\\@]'+lc=1 end=+'+
syn region vimString oneline start=+=!+lc=1 skip=+\\\\\|\\!+ end=+!+ contains=@vimStringGroup syn region vimString oneline start=+=!+lc=1 skip=+\\\\\|\\!+ end=+!+ contains=@vimStringGroup
syn region vimString oneline start="=+"lc=1 skip="\\\\\|\\+" end="+" contains=@vimStringGroup syn region vimString oneline start="=+"lc=1 skip="\\\\\|\\+" end="+" contains=@vimStringGroup
syn region vimString oneline start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/" contains=@vimStringGroup syn region vimString oneline start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/" contains=@vimStringGroup
@ -538,7 +537,7 @@ syn match vimHiBang contained "!" skipwhite nextgroup=@vimHighlightCluster
syn match vimHiGroup contained "\i\+" syn match vimHiGroup contained "\i\+"
syn case ignore syn case ignore
syn keyword vimHiAttrib contained none bold inverse italic reverse standout underline undercurl nocombine syn keyword vimHiAttrib contained none bold inverse italic reverse standout underline undercurl
syn keyword vimFgBgAttrib contained none bg background fg foreground syn keyword vimFgBgAttrib contained none bg background fg foreground
syn case match syn case match
syn match vimHiAttribList contained "\i\+" contains=vimHiAttrib syn match vimHiAttribList contained "\i\+" contains=vimHiAttrib

File diff suppressed because it is too large Load Diff

View File

@ -277,9 +277,6 @@ msgstr "E83: Puskuria ei voitu varata, käytetään toista..."
#~ msgid "E937: Attempt to delete a buffer that is in use" #~ msgid "E937: Attempt to delete a buffer that is in use"
#~ msgstr "E934: Ei voida hypätä puskuriin jolla ei ole nimeä" #~ msgstr "E934: Ei voida hypätä puskuriin jolla ei ole nimeä"
msgid "E937: Attempt to delete a buffer that is in use"
msgstr "E937: Ei voida poistaa puskuria joka on käytössä"
msgid "E515: No buffers were unloaded" msgid "E515: No buffers were unloaded"
msgstr "E515: Puskureita ei vapautettu" msgstr "E515: Puskureita ei vapautettu"
@ -412,9 +409,6 @@ msgstr "Loppu"
msgid "Top" msgid "Top"
msgstr "Alku" msgstr "Alku"
msgid "E382: Cannot write, 'buftype' option is set"
msgstr "E382: Ei voi kirjoittaa, buftype asetettu"
msgid "[Scratch]" msgid "[Scratch]"
msgstr "[Raapust]" msgstr "[Raapust]"
@ -570,9 +564,6 @@ msgstr "Luetaan: %s"
msgid "Scanning tags." msgid "Scanning tags."
msgstr "Luetaan tägejä." msgstr "Luetaan tägejä."
msgid "match in file"
msgstr "täsmäys tiedostossa"
msgid " Adding" msgid " Adding"
msgstr " Lisätään" msgstr " Lisätään"
@ -1348,10 +1339,6 @@ msgstr "E737: Avain on jo olemassa: %s"
#~ msgid "tv_clear() argument" #~ msgid "tv_clear() argument"
#~ msgstr "filter()-argumentti" #~ msgstr "filter()-argumentti"
#, c-format
msgid "E940: Cannot lock or unlock variable %s"
msgstr "E940: Muuttujaa %s ei voi lukita tai avata"
msgid "E743: variable nested too deep for (un)lock" msgid "E743: variable nested too deep for (un)lock"
msgstr "E743: muuttujassa liian monta tasoa lukituksen käsittelyyn" msgstr "E743: muuttujassa liian monta tasoa lukituksen käsittelyyn"
@ -1424,156 +1411,18 @@ msgstr "E907: Käytettiin erikoisarvoa Floattina"
msgid "E808: Number or Float required" msgid "E808: Number or Float required"
msgstr "E808: Number tai Float vaaditaan" msgstr "E808: Number tai Float vaaditaan"
msgid "Entering Debug mode. Type \"cont\" to continue."
msgstr "Siirrytään vianetsintätilaan, kirjoita cont jatkaaksesi."
#, c-format #, c-format
msgid "line %ld: %s" msgid "line %ld: %s"
msgstr "rivi %ld: %s" msgstr "rivi %ld: %s"
#, c-format
msgid "cmd: %s"
msgstr "kmnt: %s"
msgid "frame is zero"
msgstr "kehys on nolla"
#, c-format
msgid "frame at highest level: %d"
msgstr "kehys ylimmällä tasolla: %d"
#, c-format #, c-format
msgid "Breakpoint in \"%s%s\" line %ld" msgid "Breakpoint in \"%s%s\" line %ld"
msgstr "Katkaisukohta %s%s rivillä %ld" msgstr "Katkaisukohta %s%s rivillä %ld"
#, c-format
msgid "E161: Breakpoint not found: %s"
msgstr "E161: Katkaisukohta puuttuu: %s"
msgid "No breakpoints defined"
msgstr "Ei katkaisukohtia"
#, c-format #, c-format
msgid "%3d %s %s line %ld" msgid "%3d %s %s line %ld"
msgstr "%3d %s %s rivi %ld" msgstr "%3d %s %s rivi %ld"
msgid "E750: First use \":profile start {fname}\""
msgstr "E750: Aloita käskyllä :profile start {fname}"
msgid "Save As"
msgstr "Tallenna nimellä"
#, c-format
msgid "Save changes to \"%s\"?"
msgstr "Tallennetaanko muutokset tiedostoon %s?"
#, c-format
msgid "E947: Job still running in buffer \"%s\""
msgstr "E947: Komento on vielä käynnissä puskurissa \"%s\""
#, c-format
msgid "E162: No write since last change for buffer \"%s\""
msgstr "E162: Muutoksia ei ole kirjoitettu puskurin %s viime muutoksen jälkeen"
msgid "Warning: Entered other buffer unexpectedly (check autocommands)"
msgstr "Varoitus: Puskuri vaihtui odottamatta (tarkista autocommands)"
msgid "E163: There is only one file to edit"
msgstr "E163: Vain yksi tiedosto muokattavana"
msgid "E164: Cannot go before first file"
msgstr "E164: Ensimmäisen tiedoston ohi ei voi mennä"
msgid "E165: Cannot go beyond last file"
msgstr "E165: Viimeisen tiedoston ohi ei voi mennä"
#, c-format
msgid "E666: compiler not supported: %s"
msgstr "E666: kääntäjää ei tueta: %s"
#, c-format
msgid "Searching for \"%s\" in \"%s\""
msgstr "Etsitään ilmausta %s kohteesta %s"
#, c-format
msgid "Searching for \"%s\""
msgstr "Etsitään ilmausta %s"
#, c-format
msgid "not found in '%s': \"%s\""
msgstr "'%s' ei löydy kohteesta: %s"
#, c-format
msgid "W20: Required python version 2.x not supported, ignoring file: %s"
msgstr "W20: Vaadittu python-versio 2.x ei ole tuettu. Ohitetaan: %s"
#, c-format
msgid "W21: Required python version 3.x not supported, ignoring file: %s"
msgstr "W21: Vaadittu python-versio 3.x ei ole tuettu. Ohitetaan: %s"
msgid "Source Vim script"
msgstr "Lataa vim-skripti"
#, c-format
msgid "Cannot source a directory: \"%s\""
msgstr "Hakemistoa ei voi ladata: %s"
#, c-format
msgid "could not source \"%s\""
msgstr "ei voitu ladata %s"
#, c-format
msgid "line %ld: could not source \"%s\""
msgstr "rivi %ld: ei voitu ladata %s"
#, c-format
msgid "sourcing \"%s\""
msgstr "ladataan %s"
#, c-format
msgid "line %ld: sourcing \"%s\""
msgstr "rivi %ld: ladataan %s"
#, c-format
msgid "finished sourcing %s"
msgstr "ladattu %s"
#, c-format
msgid "continuing in %s"
msgstr "jatkaa kohdassa %s"
msgid "modeline"
msgstr "mode-rivi"
msgid "--cmd argument"
msgstr "--cmd-argumentti"
msgid "-c argument"
msgstr "-c-argumentti"
msgid "environment variable"
msgstr "ympäristömuuttuja"
msgid "error handler"
msgstr "virhekäsittelin"
msgid "W15: Warning: Wrong line separator, ^M may be missing"
msgstr "W15: Varoitus: Väärä rivierotin, ^M saattaa puuttua"
msgid "E167: :scriptencoding used outside of a sourced file"
msgstr "E167: :scriptencoding ladatun tiedoston ulkopuolella"
msgid "E168: :finish used outside of a sourced file"
msgstr "E168: :finish ladatun tiedoston ulkopuolella"
#, c-format
msgid "Current %slanguage: \"%s\""
msgstr "Käytössä oleva %skieli: %s"
#, c-format
msgid "E197: Cannot set language to \"%s\""
msgstr "E197: Kieleksi ei voitu asettaa kieltä %s"
# puhutaan merkin ulkoasusta snprintf(..., c, c, c, c) # puhutaan merkin ulkoasusta snprintf(..., c, c, c, c)
#, c-format #, c-format
msgid "<%s>%s%s %d, Hex %02x, Octal %03o" msgid "<%s>%s%s %d, Hex %02x, Octal %03o"
@ -4021,10 +3870,6 @@ msgstr ""
"\n" "\n"
"--- Valikot ---" "--- Valikot ---"
#, c-format
msgid "E335: Menu not defined for %s mode"
msgstr "E335: Valikkoa ei ole määritelty %s-tilassa"
msgid "E333: Menu path must lead to a menu item" msgid "E333: Menu path must lead to a menu item"
msgstr "E333: Valikkopolun on johdettava valikkokohtaan" msgstr "E333: Valikkopolun on johdettava valikkokohtaan"
@ -4367,9 +4212,6 @@ msgstr "E541: liikaa kohteita"
msgid "E542: unbalanced groups" msgid "E542: unbalanced groups"
msgstr "E542: epätasapainoisia ryhmiä" msgstr "E542: epätasapainoisia ryhmiä"
msgid "E946: Cannot make a terminal with running job modifiable"
msgstr "E946: Terminaalia jossa suoritetaan komentoa ei voi tehdä muokattavaksi"
msgid "E590: A preview window already exists" msgid "E590: A preview window already exists"
msgstr "E590: Esikatseluikkuna on jo olemassa" msgstr "E590: Esikatseluikkuna on jo olemassa"
@ -4563,12 +4405,6 @@ msgstr "E369: virheellinen olio kohdassa %s%%[]"
msgid "E769: Missing ] after %s[" msgid "E769: Missing ] after %s["
msgstr "E769: ] puuttuu merkinnän %s[ jäljestä" msgstr "E769: ] puuttuu merkinnän %s[ jäljestä"
msgid "E944: Reverse range in character class"
msgstr "E944: Merkiluokan arvoalua on takaperin"
msgid "E945: Range too large in character class"
msgstr "E945: Liian laaja valikoima merkkiluokassa"
#, c-format #, c-format
msgid "E53: Unmatched %s%%(" msgid "E53: Unmatched %s%%("
msgstr "E53: Pariton %s%%(" msgstr "E53: Pariton %s%%("
@ -4595,9 +4431,6 @@ msgstr "E69: ] puuttuu merkinnän %s%%[ jäljestä"
msgid "E70: Empty %s%%[]" msgid "E70: Empty %s%%[]"
msgstr "E70: Tyhjä %s%%[]" msgstr "E70: Tyhjä %s%%[]"
msgid "E65: Illegal back reference"
msgstr "E65: Virheellinen täsmäysviittaus"
msgid "E339: Pattern too long" msgid "E339: Pattern too long"
msgstr "E339: Liian pitkä kuvio" msgstr "E339: Liian pitkä kuvio"
@ -4814,9 +4647,6 @@ msgstr " vanhaatiedostoa"
msgid " FAILED" msgid " FAILED"
msgstr " EPÄONNISTUI" msgstr " EPÄONNISTUI"
msgid "E797: SpellFileMissing autocommand deleted buffer"
msgstr "E797: SpellFileMissing autocommand poisti puskurin"
#, c-format #, c-format
#~ msgid "System error while opening ShaDa file %s for reading: %s" #~ msgid "System error while opening ShaDa file %s for reading: %s"
#~ msgstr "" #~ msgstr ""