mirror of
https://github.com/zoriya/vim.git
synced 2026-01-01 11:58:12 +00:00
Compare commits
122 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b70a473e24 | ||
|
|
3bb28557e1 | ||
|
|
a8565fecc6 | ||
|
|
4c7e9db0d6 | ||
|
|
687a29c5e2 | ||
|
|
f6dcbb245b | ||
|
|
f8de161090 | ||
|
|
54c34fa6f5 | ||
|
|
768baacdc8 | ||
|
|
b376647bb1 | ||
|
|
332ac0621c | ||
|
|
84b0493c34 | ||
|
|
429fa85392 | ||
|
|
07219f911c | ||
|
|
6f852a557d | ||
|
|
7311c6932c | ||
|
|
0bcdd6e709 | ||
|
|
0187ca0bdf | ||
|
|
38ec50bea8 | ||
|
|
e3e6e573d1 | ||
|
|
8185111125 | ||
|
|
644cf03b7e | ||
|
|
126bdeeabe | ||
|
|
2a66a07b29 | ||
|
|
25a6df90df | ||
|
|
bf88493c09 | ||
|
|
68879258d9 | ||
|
|
24b11fb173 | ||
|
|
b3049f4a34 | ||
|
|
d7fbfe107d | ||
|
|
91fc43d3f9 | ||
|
|
7bcb30e913 | ||
|
|
cdffbeae2b | ||
|
|
95a5135118 | ||
|
|
d0e2d94589 | ||
|
|
c2c355df6f | ||
|
|
71afbfe6cd | ||
|
|
db333a5b8d | ||
|
|
af62ff3696 | ||
|
|
0c279bbb9c | ||
|
|
b59494cab1 | ||
|
|
186628f671 | ||
|
|
090cfc1b02 | ||
|
|
ac7bd63844 | ||
|
|
b897871ce9 | ||
|
|
a5be25e1db | ||
|
|
e533bbe094 | ||
|
|
2526ef276b | ||
|
|
20754027b3 | ||
|
|
1e284f5155 | ||
|
|
9584b31aae | ||
|
|
a390bb6ad3 | ||
|
|
4f8301f641 | ||
|
|
1a0316ca2a | ||
|
|
b3cb982162 | ||
|
|
3978e08fbe | ||
|
|
db813951c4 | ||
|
|
e2e663f67d | ||
|
|
210f3704f7 | ||
|
|
60abe75379 | ||
|
|
c389fd3a49 | ||
|
|
db3fbe5228 | ||
|
|
4e3c70d241 | ||
|
|
84e80b51d1 | ||
|
|
d999db2f1e | ||
|
|
34700a6a15 | ||
|
|
7534221eba | ||
|
|
b8f8461d94 | ||
|
|
988232fabb | ||
|
|
e17c260335 | ||
|
|
f5e44a7e90 | ||
|
|
e468e266c4 | ||
|
|
fdf447b286 | ||
|
|
f13f45d59b | ||
|
|
693e40c2cd | ||
|
|
53eb37e9f9 | ||
|
|
886ed691d2 | ||
|
|
40cf4b44ed | ||
|
|
5c9626301b | ||
|
|
26402cb2de | ||
|
|
63dbda1caa | ||
|
|
558ddad8e8 | ||
|
|
187d3acb7f | ||
|
|
8738fc1be8 | ||
|
|
995a8cd181 | ||
|
|
445f3037ea | ||
|
|
4d36987c25 | ||
|
|
2142e5d851 | ||
|
|
452ff5bdc7 | ||
|
|
6d47df7ca0 | ||
|
|
5004e8846e | ||
|
|
feeaa688eb | ||
|
|
b2c5a5ac79 | ||
|
|
707060e2ee | ||
|
|
caca92be8a | ||
|
|
f6ecd99cec | ||
|
|
af9aeb9250 | ||
|
|
c2149ea7cd | ||
|
|
ffeedec023 | ||
|
|
a3914327f7 | ||
|
|
00154508de | ||
|
|
8fe8d9ed06 | ||
|
|
be9c627666 | ||
|
|
f4e5e86627 | ||
|
|
181ace28ed | ||
|
|
76d711c3b5 | ||
|
|
51971b3398 | ||
|
|
e9d47cd08b | ||
|
|
07e1da6bbd | ||
|
|
fffcfea984 | ||
|
|
11cb6e6e13 | ||
|
|
fa13eef3c9 | ||
|
|
309379fc98 | ||
|
|
530e7dfafd | ||
|
|
b6a76ffc4c | ||
|
|
9c2e6cc6ed | ||
|
|
39d7d51bcd | ||
|
|
04e5b5a228 | ||
|
|
e337e5f634 | ||
|
|
d214221375 | ||
|
|
a50e5866b0 | ||
|
|
8ceb1735a2 |
3
Filelist
3
Filelist
@@ -73,6 +73,7 @@ SRC_ALL = \
|
||||
src/version.c \
|
||||
src/version.h \
|
||||
src/vim.h \
|
||||
src/winclip.c \
|
||||
src/window.c \
|
||||
src/xxd/xxd.c \
|
||||
src/main.aap \
|
||||
@@ -130,6 +131,7 @@ SRC_ALL = \
|
||||
src/proto/ui.pro \
|
||||
src/proto/undo.pro \
|
||||
src/proto/version.pro \
|
||||
src/proto/winclip.pro \
|
||||
src/proto/window.pro \
|
||||
|
||||
|
||||
@@ -444,6 +446,7 @@ SRC_EXTRA = \
|
||||
src/os_beos.c \
|
||||
src/os_beos.h \
|
||||
src/os_beos.rsrc \
|
||||
src/proto/os_beos.pro \
|
||||
src/os_mint.h \
|
||||
src/os_vms_fix.com \
|
||||
src/toolbar.phi \
|
||||
|
||||
20
runtime/autoload/clojurecomplete.vim
Normal file
20
runtime/autoload/clojurecomplete.vim
Normal file
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 7.3. Last change: 2012 Sep 05
|
||||
*autocmd.txt* For Vim version 7.3. Last change: 2013 Mar 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -266,7 +266,7 @@ Name triggered by ~
|
||||
|GUIFailed| after starting the GUI failed
|
||||
|TermResponse| after the terminal response to |t_RV| is received
|
||||
|
||||
|QuitPre| when using `:quit`, before deciding whether to quit
|
||||
|QuitPre| when using `:quit`, before deciding whether to quit
|
||||
|VimLeavePre| before exiting Vim, before writing the viminfo file
|
||||
|VimLeave| before exiting Vim, after writing the viminfo file
|
||||
|
||||
@@ -519,8 +519,9 @@ CursorMoved After the cursor was moved in Normal mode.
|
||||
Not triggered when there is typeahead or when
|
||||
an operator is pending.
|
||||
For an example see |match-parens|.
|
||||
Careful: Don't do anything that the user does
|
||||
not expect or that is slow.
|
||||
Careful: This is triggered very often, don't
|
||||
do anything that the user does not expect or
|
||||
that is slow.
|
||||
*CursorMovedI*
|
||||
CursorMovedI After the cursor was moved in Insert mode.
|
||||
Not triggered when the popup menu is visible.
|
||||
@@ -730,11 +731,11 @@ QuickFixCmdPost Like QuickFixCmdPre, but after a quickfix
|
||||
moving to the first error.
|
||||
See |QuickFixCmdPost-example|.
|
||||
*QuitPre*
|
||||
QuitPre When using `:quit`, before deciding whether it
|
||||
closes the current window or quits Vim. Can
|
||||
be used to close any non-essential window if
|
||||
the current window is the last ordinary
|
||||
window.
|
||||
QuitPre When using `:quit`, `:wq` or `:qall`, before
|
||||
deciding whether it closes the current window
|
||||
or quits Vim. Can be used to close any
|
||||
non-essential window if the current window is
|
||||
the last ordinary window.
|
||||
*RemoteReply*
|
||||
RemoteReply When a reply from a Vim that functions as
|
||||
server was received |server2client()|. The
|
||||
@@ -831,12 +832,27 @@ TermResponse After the response to |t_RV| is received from
|
||||
triggered halfway executing another event,
|
||||
especially if file I/O, a shell command or
|
||||
anything else that takes time is involved.
|
||||
*TextChanged*
|
||||
TextChanged After a change was made to the text in the
|
||||
current buffer in Normal mode. That is when
|
||||
|b:changedtick| has changed.
|
||||
Not triggered when there is typeahead or when
|
||||
an operator is pending.
|
||||
Careful: This is triggered very often, don't
|
||||
do anything that the user does not expect or
|
||||
that is slow.
|
||||
*TextChangedI*
|
||||
TextChangedI After a change was made to the text in the
|
||||
current buffer in Insert mode.
|
||||
Not triggered when the popup menu is visible.
|
||||
Otherwise the same as TextChanged.
|
||||
*User*
|
||||
User Never executed automatically. To be used for
|
||||
autocommands that are only executed with
|
||||
":doautocmd".
|
||||
*UserGettingBored*
|
||||
UserGettingBored When the user hits CTRL-C. Just kidding! :-)
|
||||
UserGettingBored When the user presses the same key 42 times.
|
||||
Just kidding! :-)
|
||||
*VimEnter*
|
||||
VimEnter After doing all the startup stuff, including
|
||||
loading .vimrc files, executing the "-c cmd"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 7.3. Last change: 2012 Nov 02
|
||||
*change.txt* For Vim version 7.3. Last change: 2013 Mar 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -600,7 +600,7 @@ For other systems the tmpnam() library function is used.
|
||||
*g&*
|
||||
g& Synonym for `:%s//~/&` (repeat last substitute with
|
||||
last search pattern on all lines with the same flags).
|
||||
For exaple, when you first do a substitution with
|
||||
For example, when you first do a substitution with
|
||||
`:s/pattern/repl/flags` and then `/search` for
|
||||
something else, `g&` will do `:%s/search/repl/flags`.
|
||||
Mnemonic: global substitute. {not in Vi}
|
||||
@@ -784,6 +784,11 @@ Examples: >
|
||||
:s/abcde/abc^Mde/ modifies "abcde" to "abc", "de" (two lines)
|
||||
:s/$/\^M/ modifies "abcde" to "abcde^M"
|
||||
:s/\w\+/\u\0/g modifies "bla bla" to "Bla Bla"
|
||||
:s/\w\+/\L\u/g modifies "BLA bla" to "Bla Bla"
|
||||
|
||||
Note: "\L\u" can be used to capitalize the first letter of a word. This is
|
||||
not compatible with Vi and older versions of Vim, where the "\u" would cancel
|
||||
out the "\L". Same for "\U\l".
|
||||
|
||||
Note: In previous versions CTRL-V was handled in a special way. Since this is
|
||||
not Vi compatible, this was removed. Use a backslash instead.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 7.3. Last change: 2013 Jan 17
|
||||
*cmdline.txt* For Vim version 7.3. Last change: 2013 Mar 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -964,7 +964,7 @@ for the file "$home" in the root directory. A few examples:
|
||||
\\$home file "\\", followed by expanded $home
|
||||
|
||||
==============================================================================
|
||||
6. Command-line window *cmdline-window* *cmdwin*
|
||||
7. Command-line window *cmdline-window* *cmdwin*
|
||||
*command-line-window*
|
||||
In the command-line window the command line can be edited just like editing
|
||||
text in any window. It is a special kind of window, because you cannot leave
|
||||
|
||||
@@ -220,7 +220,7 @@ The diffs are highlighted with these groups:
|
||||
that parts in the middle that are still the
|
||||
same are highlighted anyway. Only "iwhite" of
|
||||
'diffopt' is used here.
|
||||
|hl-DiffDelete| DiffDelete Deleted lines. Also called filler lines,
|
||||
|hl-DiffDelete| DiffDelete Deleted lines. Also called filler lines,
|
||||
because they don't really exist in this
|
||||
buffer.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 7.3. Last change: 2012 Aug 08
|
||||
*editing.txt* For Vim version 7.3. Last change: 2013 Feb 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -424,7 +424,7 @@ external command, by using the syntax `={expr}` e.g.: >
|
||||
:e `=tempname()`
|
||||
The expression can contain just about anything, thus this can also be used to
|
||||
avoid the special meaning of '"', '|', '%' and '#'. However, 'wildignore'
|
||||
does apply like to other wildcars.
|
||||
does apply like to other wildcards.
|
||||
If the expression returns a string then names are to be separated with line
|
||||
breaks. When the result is a |List| then each item is used as a name. Line
|
||||
breaks also separate names.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 7.3. Last change: 2013 Jan 23
|
||||
*eval.txt* For Vim version 7.3. Last change: 2013 Mar 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -503,7 +503,7 @@ This removes all entries from "dict" with a value not matching 'x'.
|
||||
|
||||
|
||||
Dictionary function ~
|
||||
*Dictionary-function* *self* *E725*
|
||||
*Dictionary-function* *self* *E725* *E862*
|
||||
When a function is defined with the "dict" attribute it can be used in a
|
||||
special way with a dictionary. Example: >
|
||||
:function Mylen() dict
|
||||
@@ -1157,7 +1157,7 @@ This kind of variable is deleted when the buffer is wiped out or deleted with
|
||||
|:bdelete|.
|
||||
|
||||
One local buffer variable is predefined:
|
||||
*b:changedtick-variable* *changetick*
|
||||
*b:changedtick* *changetick*
|
||||
b:changedtick The total number of changes to the current buffer. It is
|
||||
incremented for each change. An undo command is also a change
|
||||
in this case. This can be used to perform an action only when
|
||||
@@ -1777,7 +1777,8 @@ get( {list}, {idx} [, {def}]) any get item {idx} from {list} or {def}
|
||||
get( {dict}, {key} [, {def}]) any get item {key} from {dict} or {def}
|
||||
getbufline( {expr}, {lnum} [, {end}])
|
||||
List lines {lnum} to {end} of buffer {expr}
|
||||
getbufvar( {expr}, {varname}) any variable {varname} in buffer {expr}
|
||||
getbufvar( {expr}, {varname} [, {def}])
|
||||
any variable {varname} in buffer {expr}
|
||||
getchar( [expr]) Number get one character from the user
|
||||
getcharmod( ) Number modifiers for the last typed character
|
||||
getcmdline() String return the current command-line
|
||||
@@ -1798,12 +1799,14 @@ getpos( {expr}) List position of cursor, mark, etc.
|
||||
getqflist() List list of quickfix items
|
||||
getreg( [{regname} [, 1]]) String contents of register
|
||||
getregtype( [{regname}]) String type of register
|
||||
gettabvar( {nr}, {varname}) any variable {varname} in tab {nr}
|
||||
gettabwinvar( {tabnr}, {winnr}, {name})
|
||||
gettabvar( {nr}, {varname} [, {def}])
|
||||
any variable {varname} in tab {nr} or {def}
|
||||
gettabwinvar( {tabnr}, {winnr}, {name} [, {def}])
|
||||
any {name} in {winnr} in tab page {tabnr}
|
||||
getwinposx() Number X coord in pixels of GUI Vim window
|
||||
getwinposy() Number Y coord in pixels of GUI Vim window
|
||||
getwinvar( {nr}, {varname}) any variable {varname} in window {nr}
|
||||
getwinvar( {nr}, {varname} [, {def}])
|
||||
any variable {varname} in window {nr}
|
||||
glob( {expr} [, {nosuf} [, {list}]])
|
||||
any expand file wildcards in {expr}
|
||||
globpath( {path}, {expr} [, {flag}])
|
||||
@@ -1931,6 +1934,7 @@ settabvar( {nr}, {varname}, {val}) set {varname} in tab page {nr} to {val}
|
||||
settabwinvar( {tabnr}, {winnr}, {varname}, {val}) set {varname} in window
|
||||
{winnr} in tab page {tabnr} to {val}
|
||||
setwinvar( {nr}, {varname}, {val}) set {varname} in window {nr} to {val}
|
||||
sha256( {string}) String SHA256 checksum of {string}
|
||||
shellescape( {string} [, {special}])
|
||||
String escape {string} for use as shell
|
||||
command argument
|
||||
@@ -1992,6 +1996,7 @@ undotree() List undo file tree
|
||||
values( {dict}) List values in {dict}
|
||||
virtcol( {expr}) Number screen column of cursor or mark
|
||||
visualmode( [expr]) String last visual mode used
|
||||
wildmenumode() Number whether 'wildmenu' mode is active
|
||||
winbufnr( {nr}) Number buffer number of window {nr}
|
||||
wincol() Number window column of the cursor
|
||||
winheight( {nr}) Number height of window {nr}
|
||||
@@ -2578,6 +2583,8 @@ delete({fname}) *delete()*
|
||||
which is 0 if the file was deleted successfully, and non-zero
|
||||
when the deletion failed.
|
||||
Use |remove()| to delete an item from a |List|.
|
||||
To delete a line from the buffer use |:delete|. Use |:exe|
|
||||
when the line number is in a variable.
|
||||
|
||||
*did_filetype()*
|
||||
did_filetype() Returns non-zero when autocommands are being executed and the
|
||||
@@ -3141,7 +3148,7 @@ getbufline({expr}, {lnum} [, {end}])
|
||||
Example: >
|
||||
:let lines = getbufline(bufnr("myfile"), 1, "$")
|
||||
|
||||
getbufvar({expr}, {varname}) *getbufvar()*
|
||||
getbufvar({expr}, {varname} [, {def}]) *getbufvar()*
|
||||
The result is the value of option or local buffer variable
|
||||
{varname} in buffer {expr}. Note that the name without "b:"
|
||||
must be used.
|
||||
@@ -3151,8 +3158,8 @@ getbufvar({expr}, {varname}) *getbufvar()*
|
||||
doesn't work for a global variable, window-local variable or
|
||||
window-local option.
|
||||
For the use of {expr}, see |bufname()| above.
|
||||
When the buffer or variable doesn't exist an empty string is
|
||||
returned, there is no error message.
|
||||
When the buffer or variable doesn't exist {def} or an empty
|
||||
string is returned, there is no error message.
|
||||
Examples: >
|
||||
:let bufmodified = getbufvar(1, "&mod")
|
||||
:echo "todo myvar = " . getbufvar("todo", "myvar")
|
||||
@@ -3429,26 +3436,30 @@ getregtype([{regname}]) *getregtype()*
|
||||
<CTRL-V> is one character with value 0x16.
|
||||
If {regname} is not specified, |v:register| is used.
|
||||
|
||||
gettabvar({tabnr}, {varname}) *gettabvar()*
|
||||
gettabvar({tabnr}, {varname} [, {def}]) *gettabvar()*
|
||||
Get the value of a tab-local variable {varname} in tab page
|
||||
{tabnr}. |t:var|
|
||||
Tabs are numbered starting with one.
|
||||
Note that the name without "t:" must be used.
|
||||
When the tab or variable doesn't exist {def} or an empty
|
||||
string is returned, there is no error message.
|
||||
|
||||
gettabwinvar({tabnr}, {winnr}, {varname}) *gettabwinvar()*
|
||||
gettabwinvar({tabnr}, {winnr}, {varname} [, {def}]) *gettabwinvar()*
|
||||
Get the value of window-local variable {varname} in window
|
||||
{winnr} in tab page {tabnr}.
|
||||
When {varname} starts with "&" get the value of a window-local
|
||||
option.
|
||||
When {varname} is empty a dictionary with all window-local
|
||||
variables is returned.
|
||||
Note that {varname} must be the name without "w:".
|
||||
Tabs are numbered starting with one. For the current tabpage
|
||||
use |getwinvar()|.
|
||||
When {winnr} is zero the current window is used.
|
||||
This also works for a global option, buffer-local option and
|
||||
window-local option, but it doesn't work for a global variable
|
||||
or buffer-local variable.
|
||||
When {varname} is empty a dictionary with all window-local
|
||||
variables is returned.
|
||||
Note that {varname} must be the name without "w:".
|
||||
When the tab, window or variable doesn't exist {def} or an
|
||||
empty string is returned, there is no error message.
|
||||
Examples: >
|
||||
:let list_is_on = gettabwinvar(1, 2, '&list')
|
||||
:echo "myvar = " . gettabwinvar(3, 1, 'myvar')
|
||||
@@ -3463,7 +3474,7 @@ getwinposy() The result is a Number, which is the Y coordinate in pixels of
|
||||
the top of the GUI Vim window. The result will be -1 if the
|
||||
information is not available.
|
||||
|
||||
getwinvar({winnr}, {varname}) *getwinvar()*
|
||||
getwinvar({winnr}, {varname} [, {def}]) *getwinvar()*
|
||||
Like |gettabwinvar()| for the current tabpage.
|
||||
Examples: >
|
||||
:let list_is_on = getwinvar(2, '&list')
|
||||
@@ -5336,6 +5347,11 @@ setwinvar({nr}, {varname}, {val}) *setwinvar()*
|
||||
:call setwinvar(1, "&list", 0)
|
||||
:call setwinvar(2, "myvar", "foobar")
|
||||
|
||||
sha256({string}) *sha256()*
|
||||
Returns a String with 64 hex charactes, which is the SHA256
|
||||
checksum of {string}.
|
||||
{only available when compiled with the |+cryptv| feature}
|
||||
|
||||
shellescape({string} [, {special}]) *shellescape()*
|
||||
Escape {string} for use as a shell command argument.
|
||||
On MS-Windows and MS-DOS, when 'shellslash' is not set, it
|
||||
@@ -6156,6 +6172,18 @@ visualmode([expr]) *visualmode()*
|
||||
Dictionary or Float is not a Number or String, thus does not
|
||||
cause the mode to be cleared.
|
||||
|
||||
wildmenumode() *wildmenumode()*
|
||||
Returns non-zero when the wildmenu is active and zero
|
||||
otherwise. See 'wildmenu' and 'wildmode'.
|
||||
This can be used in mappings to handle the 'wildcharm' option
|
||||
gracefully. (Makes only sense with |mapmode-c| mappings).
|
||||
|
||||
For example to make <c-j> work like <down> in wildmode, use: >
|
||||
:cnoremap <expr> <C-j> wildmenumode() ? "\<Down>\<Tab>" : "\<c-j>"
|
||||
<
|
||||
(Note, this needs the 'wildcharm' option set appropriately).
|
||||
|
||||
|
||||
*winbufnr()*
|
||||
winbufnr({nr}) The result is a Number, which is the number of the buffer
|
||||
associated with window {nr}. When {nr} is zero, the number of
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*ft_sql.txt* For Vim version 7.3. Last change: 2010 Jul 20
|
||||
*ft_sql.txt* For Vim version 7.3. Last change: 2013 Apr 05
|
||||
|
||||
by David Fishburn
|
||||
|
||||
@@ -435,7 +435,7 @@ the space bar):
|
||||
of columns, you can press <Left>, this will
|
||||
replace the column list with the list of tables.
|
||||
- This allows you to quickly drill down into a
|
||||
table to view it's columns and back again.
|
||||
table to view its columns and back again.
|
||||
- <Right> and <Left> can be also be chosen via
|
||||
your |.vimrc| >
|
||||
let g:ftplugin_sql_omni_key_right = '<Right>'
|
||||
@@ -645,7 +645,7 @@ your |vimrc|: >
|
||||
- When completing tables, procedure or views and using dbext.vim 3.00
|
||||
or higher the list of objects will also include the owner name.
|
||||
When completing these objects and omni_sql_include_owner is enabled
|
||||
the owner name will be be replaced. >
|
||||
the owner name will be replaced. >
|
||||
|
||||
omni_sql_precache_syntax_groups
|
||||
< - Default:
|
||||
|
||||
@@ -16,7 +16,7 @@ Vim's Graphical User Interface *gui-w16* *win16-gui*
|
||||
|
||||
Other relevant documentation:
|
||||
|gui.txt| For generic items of the GUI.
|
||||
|os_msdos.txt| For items common to DOS and Windows.
|
||||
|os_msdos.txt| For items common to DOS and Windows.
|
||||
|gui_w32.txt| Some items here are also applicable to the Win16 version.
|
||||
|
||||
{Vi does not have a Windows GUI}
|
||||
|
||||
@@ -17,7 +17,7 @@ Vim's Win32 Graphical User Interface *gui-w32* *win32-gui*
|
||||
|
||||
Other relevant documentation:
|
||||
|gui.txt| For generic items of the GUI.
|
||||
|os_win32.txt| For Win32 specific items.
|
||||
|os_win32.txt| For Win32 specific items.
|
||||
|
||||
{Vi does not have a Windows GUI}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_mzsch.txt* For Vim version 7.3. Last change: 2010 Feb 11
|
||||
*if_mzsch.txt* For Vim version 7.3. Last change: 2012 Dec 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Sergey Khorev
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_pyth.txt* For Vim version 7.3. Last change: 2013 Jan 30
|
||||
*if_pyth.txt* For Vim version 7.3. Last change: 2013 Feb 03
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Moore
|
||||
@@ -385,7 +385,7 @@ sure edit "gvim.exe" and search for "python\d*.dll\c".
|
||||
|
||||
*:py3* *:python3*
|
||||
The |:py3| and |:python3| commands work similar to |:python|. A simple check
|
||||
if the `:py3` command is wrong: >
|
||||
if the `:py3` command is working: >
|
||||
:py3 print("Hello")
|
||||
< *:py3file*
|
||||
The |:py3file| command works similar to |:pyfile|.
|
||||
|
||||
@@ -577,6 +577,106 @@ $VIMRUNTIME/indent directory for examples.
|
||||
REMARKS ABOUT SPECIFIC INDENT FILES ~
|
||||
|
||||
|
||||
CLOJURE *ft-clojure-indent* *clojure-indent*
|
||||
|
||||
Clojure indentation differs somewhat from traditional Lisps, due in part to
|
||||
the use of square and curly brackets, and otherwise by community convention.
|
||||
These conventions are not always universally followed, so the Clojure indent
|
||||
script offers a few configurable options, listed below.
|
||||
|
||||
If the current vim does not include searchpairpos(), the indent script falls
|
||||
back to normal 'lisp' indenting, and the following options are ignored.
|
||||
|
||||
*g:clojure_maxlines*
|
||||
|
||||
Set maximum scan distance of searchpairpos(). Larger values trade performance
|
||||
for correctness when dealing with very long forms. A value of 0 will scan
|
||||
without limits.
|
||||
>
|
||||
" Default
|
||||
let g:clojure_maxlines = 100
|
||||
<
|
||||
|
||||
*g:clojure_fuzzy_indent*
|
||||
*g:clojure_fuzzy_indent_patterns*
|
||||
*g:clojure_fuzzy_indent_blacklist*
|
||||
|
||||
The 'lispwords' option is a list of comma-separated words that mark special
|
||||
forms whose subforms must be indented with two spaces.
|
||||
|
||||
For example:
|
||||
>
|
||||
(defn bad []
|
||||
"Incorrect indentation")
|
||||
|
||||
(defn good []
|
||||
"Correct indentation")
|
||||
<
|
||||
If you would like to specify 'lispwords' with a |pattern| instead, you can use
|
||||
the fuzzy indent feature:
|
||||
>
|
||||
" Default
|
||||
let g:clojure_fuzzy_indent = 1
|
||||
let g:clojure_fuzzy_indent_patterns = ['^with', '^def', '^let']
|
||||
let g:clojure_fuzzy_indent_blacklist =
|
||||
\ ['-fn$', '\v^with-%(meta|out-str|loading-context)$']
|
||||
|
||||
" Legacy comma-delimited string version; the list format above is
|
||||
" recommended. Note that patterns are implicitly anchored with ^ and $
|
||||
let g:clojure_fuzzy_indent_patterns = 'with.*,def.*,let.*'
|
||||
<
|
||||
|g:clojure_fuzzy_indent_patterns| and |g:clojure_fuzzy_indent_blacklist| are
|
||||
|Lists| of patterns that will be matched against the unquoted, unqualified
|
||||
symbol at the head of a list. This means that a pattern like "^foo" will match
|
||||
all these candidates: "foobar", "my.ns/foobar", and "#'foobar".
|
||||
|
||||
Each candidate word is tested for special treatment in this order:
|
||||
|
||||
1. Return true if word is literally in 'lispwords'
|
||||
2. Return false if word matches a pattern in
|
||||
|g:clojure_fuzzy_indent_blacklist|
|
||||
3. Return true if word matches a pattern in
|
||||
|g:clojure_fuzzy_indent_patterns|
|
||||
4. Return false and indent normally otherwise
|
||||
|
||||
*g:clojure_special_indent_words*
|
||||
|
||||
Some forms in Clojure are indented so that every subform is indented only two
|
||||
spaces, regardless of 'lispwords'. If you have a custom construct that should
|
||||
be indented in this idiosyncratic fashion, you can add your symbols to the
|
||||
default list below.
|
||||
>
|
||||
" Default
|
||||
let g:clojure_special_indent_words =
|
||||
\ 'deftype,defrecord,reify,proxy,extend-type,extend-protocol,letfn'
|
||||
<
|
||||
|
||||
*g:clojure_align_multiline_strings*
|
||||
|
||||
Align subsequent lines in multiline strings to the column after the opening
|
||||
quote, instead of the same column.
|
||||
|
||||
For example:
|
||||
>
|
||||
(def default
|
||||
"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
|
||||
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
|
||||
enim ad minim veniam, quis nostrud exercitation ullamco laboris
|
||||
nisi ut aliquip ex ea commodo consequat.")
|
||||
|
||||
(def aligned
|
||||
"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
|
||||
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
|
||||
enim ad minim veniam, quis nostrud exercitation ullamco laboris
|
||||
nisi ut aliquip ex ea commodo consequat.")
|
||||
<
|
||||
This option is off by default.
|
||||
>
|
||||
" Default
|
||||
let g:clojure_align_multiline_strings = 0
|
||||
<
|
||||
|
||||
|
||||
FORTRAN *ft-fortran-indent*
|
||||
|
||||
Block if, select case, where, and forall constructs are indented. So are
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 7.3. Last change: 2012 Jul 25
|
||||
*index.txt* For Vim version 7.3. Last change: 2013 Feb 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -94,8 +94,8 @@ tag char action in Insert mode ~
|
||||
|i_CTRL-Z| CTRL-Z when 'insertmode' set: suspend Vim
|
||||
|i_<Esc>| <Esc> end insert mode (unless 'insertmode' set)
|
||||
|i_CTRL-[| CTRL-[ same as <Esc>
|
||||
|i_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode
|
||||
|i_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
|
||||
|i_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode
|
||||
|i_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
|
||||
CTRL-\ a - z reserved for extensions
|
||||
CTRL-\ others not used
|
||||
|i_CTRL-]| CTRL-] trigger abbreviation
|
||||
@@ -141,7 +141,7 @@ tag char action in Insert mode ~
|
||||
|i_<ScrollWheelUp>| <ScrollWheelUp> move window three lines up
|
||||
|i_<S-ScrollWheelUp>| <S-ScrollWheelUp> move window one page up
|
||||
|i_<ScrollWheelLeft>| <ScrollWheelLeft> move window six columns left
|
||||
|i_<S-ScrollWheelLeft>| <S-ScrollWheelLeft> move window one page left
|
||||
|i_<S-ScrollWheelLeft>| <S-ScrollWheelLeft> move window one page left
|
||||
|i_<ScrollWheelRight>| <ScrollWheelRight> move window six columns right
|
||||
|i_<S-ScrollWheelRight>| <S-ScrollWheelRight> move window one page right
|
||||
|
||||
@@ -212,8 +212,8 @@ tag char note action in Normal mode ~
|
||||
|CTRL-Y| CTRL-Y scroll N lines downwards
|
||||
|CTRL-Z| CTRL-Z suspend program (or start new shell)
|
||||
CTRL-[ <Esc> not used
|
||||
|CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode (no-op)
|
||||
|CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
|
||||
|CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode (no-op)
|
||||
|CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
|
||||
CTRL-\ a - z reserved for extensions
|
||||
CTRL-\ others not used
|
||||
|CTRL-]| CTRL-] :ta to ident under cursor
|
||||
@@ -431,7 +431,7 @@ tag char note action in Normal mode ~
|
||||
|<Insert>| <Insert> 2 same as "i"
|
||||
|<Left>| <Left> 1 same as "h"
|
||||
|<LeftMouse>| <LeftMouse> 1 move cursor to the mouse click position
|
||||
|<MiddleMouse>| <MiddleMouse> 2 same as "gP" at the mouse click position
|
||||
|<MiddleMouse>| <MiddleMouse> 2 same as "gP" at the mouse click position
|
||||
|<PageDown>| <PageDown> same as CTRL-F
|
||||
|<PageUp>| <PageUp> same as CTRL-B
|
||||
|<Right>| <Right> 1 same as "l"
|
||||
@@ -640,7 +640,7 @@ tag char note action in Normal mode ~
|
||||
|[s| [s 1 move to the previous misspelled word
|
||||
|[z| [z 1 move to start of open fold
|
||||
|[{| [{ 1 cursor N times back to unmatched '{'
|
||||
|[<MiddleMouse> [<MiddleMouse> 2 same as "[p"
|
||||
|[<MiddleMouse>| [<MiddleMouse> 2 same as "[p"
|
||||
|
||||
|]_CTRL-D| ] CTRL-D jump to first #define found in current and
|
||||
included files matching the word under the
|
||||
@@ -680,7 +680,7 @@ tag char note action in Normal mode ~
|
||||
|]s| ]s 1 move to next misspelled word
|
||||
|]z| ]z 1 move to end of open fold
|
||||
|]}| ]} 1 cursor N times forward to unmatched '}'
|
||||
|]<MiddleMouse> ]<MiddleMouse> 2 same as "]p"
|
||||
|]<MiddleMouse>| ]<MiddleMouse> 2 same as "]p"
|
||||
|
||||
==============================================================================
|
||||
2.4 Commands starting with 'g' *g*
|
||||
@@ -1011,8 +1011,8 @@ tag command action in Command-line editing mode ~
|
||||
CTRL-Z not used (reserved for suspend)
|
||||
|c_<Esc>| <Esc> abandon command-line without executing it
|
||||
|c_<Esc>| CTRL-[ same as <Esc>
|
||||
|c_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode, abandon command-line
|
||||
|c_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode',
|
||||
|c_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode, abandon command-line
|
||||
|c_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode',
|
||||
abandon command-line
|
||||
CTRL-\ a - d reserved for extensions
|
||||
|c_CTRL-\_e| CTRL-\ e {expr} replace the command line with the result of
|
||||
@@ -1134,7 +1134,7 @@ tag command action ~
|
||||
|:cgetbuffer| :cgetb[uffer] get errors from buffer
|
||||
|:cgetexpr| :cgete[xpr] get errors from expr
|
||||
|:cgetfile| :cg[etfile] read file with error messages
|
||||
|:changes| :cha[nges] print the change list
|
||||
|:changes| :changes print the change list
|
||||
|:chdir| :chd[ir] change directory
|
||||
|:checkpath| :che[ckpath] list included files
|
||||
|:checktime| :checkt[ime] check timestamp of loaded buffers
|
||||
@@ -1383,7 +1383,7 @@ tag command action ~
|
||||
|:promptrepl| :promptr[epl] open GUI dialog for search/replace
|
||||
|:perldo| :perld[o] execute Perl command for each line
|
||||
|:pop| :po[p] jump to older entry in tag stack
|
||||
|:popup| :pop[up] popup a menu by name
|
||||
|:popup| :popu[p] popup a menu by name
|
||||
|:ppop| :pp[op] ":pop" in preview window
|
||||
|:preserve| :pre[serve] write all text to swap file
|
||||
|:previous| :prev[ious] go to previous file in argument list
|
||||
@@ -1469,7 +1469,7 @@ tag command action ~
|
||||
|:slast| :sla[st] split window and go to last file in the
|
||||
argument list
|
||||
|:smagic| :sm[agic] :substitute with 'magic'
|
||||
|:smap| :sma[p] like ":map" but for Select mode
|
||||
|:smap| :smap like ":map" but for Select mode
|
||||
|:smapclear| :smapc[lear] remove all mappings for Select mode
|
||||
|:smenu| :sme[nu] add menu for Select mode
|
||||
|:snext| :sn[ext] split window and go to next file in the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 7.3. Last change: 2013 Jan 09
|
||||
*insert.txt* For Vim version 7.3. Last change: 2013 Apr 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1869,13 +1869,15 @@ NOTE: These commands cannot be used with |:global| or |:vglobal|.
|
||||
See |++opt| for the possible values of [++opt].
|
||||
|
||||
*:r!* *:read!*
|
||||
:[range]r[ead] !{cmd} Execute {cmd} and insert its standard output below
|
||||
:[range]r[ead] [++opt] !{cmd}
|
||||
Execute {cmd} and insert its standard output below
|
||||
the cursor or the specified line. A temporary file is
|
||||
used to store the output of the command which is then
|
||||
read into the buffer. 'shellredir' is used to save
|
||||
the output of the command, which can be set to include
|
||||
stderr or not. {cmd} is executed like with ":!{cmd}",
|
||||
any '!' is replaced with the previous command |:!|.
|
||||
See |++opt| for the possible values of [++opt].
|
||||
|
||||
These commands insert the contents of a file, or the output of a command,
|
||||
into the buffer. They can be undone. They cannot be repeated with the "."
|
||||
|
||||
@@ -394,8 +394,8 @@ CTRL-{char} {char} typed as a control character; that is, typing {char}
|
||||
*quotecommandquote*
|
||||
"command" A reference to a command that you can type is enclosed in
|
||||
double quotes.
|
||||
`command` New style command, this distinguishes it from other
|
||||
quoted text and strings.
|
||||
`command` New style command, this distinguishes it from other quoted
|
||||
text and strings.
|
||||
|
||||
*key-notation* *key-codes* *keycodes*
|
||||
These names for keys are used in the documentation. They can also be used
|
||||
|
||||
@@ -1067,7 +1067,7 @@ The actual mappings are in the lines below "loadkeymap". In the example "a"
|
||||
is mapped to "A" and "b" to "B". Thus the first item is mapped to the second
|
||||
item. This is done for each line, until the end of the file.
|
||||
These items are exactly the same as what can be used in a |:lnoremap| command,
|
||||
using "<buffer>" to make the mappings local to the buffer..
|
||||
using "<buffer>" to make the mappings local to the buffer.
|
||||
You can check the result with this command: >
|
||||
:lmap
|
||||
The two items must be separated by white space. You cannot include white
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*message.txt* For Vim version 7.3. Last change: 2011 May 10
|
||||
*message.txt* For Vim version 7.3. Last change: 2013 Feb 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -730,7 +730,11 @@ Vim cannot create a temporary file.
|
||||
Can't open file {filename}
|
||||
Can't read file {filename}
|
||||
|
||||
Vim cannot read a temporary file.
|
||||
Vim cannot read a temporary file. Especially on Windows, this can be caused
|
||||
by wrong escaping of special characters for cmd.exe; the approach was
|
||||
changed with patch 7.3.443. Try using |shellescape()| for all shell arguments
|
||||
given to |system()|, or explicitly add escaping with ^. Also see
|
||||
'shellxquote' and 'shellxescape'.
|
||||
|
||||
*E464* >
|
||||
Ambiguous use of user-defined command
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*motion.txt* For Vim version 7.3. Last change: 2012 Aug 04
|
||||
*motion.txt* For Vim version 7.3. Last change: 2013 Mar 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -104,13 +104,14 @@ strokes and has limited redo functionality. See the chapter on Visual mode
|
||||
|Visual-mode|.
|
||||
|
||||
You can use a ":" command for a motion. For example "d:call FindEnd()".
|
||||
But this can't be redone with "." if the command is more than one line.
|
||||
But this can't be repeated with "." if the command is more than one line.
|
||||
This can be repeated: >
|
||||
d:call search("f")<CR>
|
||||
This cannot be repeated: >
|
||||
d:if 1<CR>
|
||||
call search("f")<CR>
|
||||
endif<CR>
|
||||
Note that when using ":" any motion becomes characterwise exclusive.
|
||||
|
||||
|
||||
FORCING A MOTION TO BE LINEWISE, CHARACTERWISE OR BLOCKWISE
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 7.3. Last change: 2013 Jan 30
|
||||
*options.txt* For Vim version 7.3. Last change: 2013 Apr 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -699,6 +699,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
when the system locale is set to one of CJK locales. See Unicode
|
||||
Standard Annex #11 (http://www.unicode.org/reports/tr11).
|
||||
|
||||
Vim may set this option automatically at startup time when Vim is
|
||||
compiled with the |+termresponse| feature and if |t_u7| is set to the
|
||||
escape sequence to request cursor position report.
|
||||
|
||||
*'antialias'* *'anti'* *'noantialias'* *'noanti'*
|
||||
'antialias' 'anti' boolean (default: off)
|
||||
global
|
||||
@@ -986,7 +990,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
- The backup file will be created in the first directory in the list
|
||||
where this is possible. The directory must exist, Vim will not
|
||||
create it for you.
|
||||
- Empty means that no backup file will be created ('patchmode' is
|
||||
- Empty means that no backup file will be created ( 'patchmode' is
|
||||
impossible!). Writing may fail because of this.
|
||||
- A directory "." means to put the backup file in the same directory
|
||||
as the edited file.
|
||||
@@ -1463,11 +1467,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|gui-clipboard|.
|
||||
|
||||
*clipboard-unnamedplus*
|
||||
unnamedplus A variant of "unnamed" flag which uses the clipboard
|
||||
register '+' (|quoteplus|) instead of register '*' for
|
||||
all operations except yank. Yank shall copy the text
|
||||
into register '+' and also into '*' when "unnamed" is
|
||||
included.
|
||||
unnamedplus A variant of the "unnamed" flag which uses the
|
||||
clipboard register '+' (|quoteplus|) instead of
|
||||
register '*' for all yank, delete, change and put
|
||||
operations which would normally go to the unnamed
|
||||
register. When "unnamed" is also included to the
|
||||
option, yank operations (but not delete, change or
|
||||
put) will additionally copy the text into register
|
||||
'*'.
|
||||
Only available with the |+X11| feature.
|
||||
Availability can be checked with: >
|
||||
if has('unnamedplus')
|
||||
@@ -1700,7 +1707,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
when CTRL-P or CTRL-N are used. It is also used for whole-line
|
||||
completion |i_CTRL-X_CTRL-L|. It indicates the type of completion
|
||||
and the places to scan. It is a comma separated list of flags:
|
||||
. scan the current buffer ('wrapscan' is ignored)
|
||||
. scan the current buffer ( 'wrapscan' is ignored)
|
||||
w scan buffers from other windows
|
||||
b scan other loaded buffers that are in the buffer list
|
||||
u scan the unloaded buffers that are in the buffer list
|
||||
@@ -2865,7 +2872,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
See |file-formats| and |file-read|.
|
||||
For the character encoding of the file see 'fileencoding'.
|
||||
When 'binary' is set, the value of 'fileformat' is ignored, file I/O
|
||||
works like it was set to "unix'.
|
||||
works like it was set to "unix".
|
||||
This option is set automatically when starting to edit a file and
|
||||
'fileformats' is not empty and 'binary' is off.
|
||||
When this option is set, after starting to edit a file, the 'modified'
|
||||
@@ -2934,6 +2941,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
NOTE: This option is set to the Vi default value when 'compatible' is
|
||||
set and to the Vim default value when 'compatible' is reset.
|
||||
|
||||
*'fileignorecase'* *'fic'* *'nofileignorecase'* *'nofic'*
|
||||
'fileignorecase' 'fic' boolean (default on for systems where case in file
|
||||
names is normally ignored)
|
||||
global
|
||||
{not in Vi}
|
||||
When set case is ignored when using file names and directories.
|
||||
See 'wildignorecase' for only ignoring case when doing completion.
|
||||
|
||||
*'filetype'* *'ft'*
|
||||
'filetype' 'ft' string (default: "")
|
||||
local to buffer
|
||||
@@ -7082,7 +7097,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{not in Vi}
|
||||
Encoding used for the terminal. This specifies what character
|
||||
encoding the keyboard produces and the display will understand. For
|
||||
the GUI it only applies to the keyboard ('encoding' is used for the
|
||||
the GUI it only applies to the keyboard ( 'encoding' is used for the
|
||||
display). Except for the Mac when 'macatsui' is off, then
|
||||
'termencoding' should be "macroman".
|
||||
In the Win32 console version the default value is the console codepage
|
||||
@@ -7896,7 +7911,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
global
|
||||
{not in Vi}
|
||||
When set case is ignored when completing file names and directories.
|
||||
Has no effect on systems where file name case is generally ignored.
|
||||
Has no effect when 'fileignorecase' is set.
|
||||
Does not apply when the shell is used to expand wildcards, which
|
||||
happens when there are special characters.
|
||||
|
||||
@@ -7915,6 +7930,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
CTRL-P/CTRL-N, cause the highlight to move to the appropriate match.
|
||||
When 'wildmode' is used, "wildmenu" mode is used where "full" is
|
||||
specified. "longest" and "list" do not start "wildmenu" mode.
|
||||
You can check the current mode with |wildmenumode()|.
|
||||
If there are more matches than can fit in the line, a ">" is shown on
|
||||
the right and/or a "<" is shown on the left. The status line scrolls
|
||||
as needed.
|
||||
|
||||
@@ -504,7 +504,7 @@ Character classes {not in Vi}: */character-classes*
|
||||
x x a character with no special meaning matches itself
|
||||
|
||||
|/[]| [] \[] any character specified inside the []
|
||||
|/\%[]| \%[] \%[] a sequence of optionally matched atoms
|
||||
|/\%[]| \%[] \%[] a sequence of optionally matched atoms
|
||||
|
||||
|/\c| \c \c ignore case, do not use the 'ignorecase' option
|
||||
|/\C| \C \C match case, do not use the 'ignorecase' option
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 7.3. Last change: 2011 May 10
|
||||
*quickfix.txt* For Vim version 7.3. Last change: 2013 Mar 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -574,6 +574,8 @@ commands can be combined to create a NewGrep command: >
|
||||
'ignorecase' applies. To overrule it put |/\c| in the
|
||||
pattern to ignore case or |/\C| to match case.
|
||||
'smartcase' is not used.
|
||||
If {pattern} is empty (e.g. // is specified), the last
|
||||
used search pattern is used. |last-pattern|
|
||||
|
||||
When a number is put before the command this is used
|
||||
as the maximum number of matches to find. Use
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 7.3. Last change: 2012 Feb 22
|
||||
*quickref.txt* For Vim version 7.3. Last change: 2013 Apr 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
*quickref* *Contents*
|
||||
tag subject tag subject ~
|
||||
|Q_ct| list of help files |Q_re| Repeating commands
|
||||
|Q_ct| list of help files |Q_re| Repeating commands
|
||||
|Q_lr| motion: Left-right |Q_km| Key mapping
|
||||
|Q_ud| motion: Up-down |Q_ab| Abbreviations
|
||||
|Q_tm| motion: Text object |Q_op| Options
|
||||
@@ -27,7 +27,7 @@
|
||||
|Q_co| change: Complex |Q_bu| Buffer list commands
|
||||
|Q_vi| Visual mode |Q_sy| Syntax highlighting
|
||||
|Q_to| Text objects |Q_gu| GUI commands
|
||||
|Q_fo| Folding
|
||||
|Q_fo| Folding
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
N is used to indicate an optional count that can be given before the command.
|
||||
@@ -186,7 +186,7 @@ N is used to indicate an optional count that can be given before the command.
|
||||
|:marks| :marks print the active marks
|
||||
|CTRL-O| N CTRL-O go to Nth older position in jump list
|
||||
|CTRL-I| N CTRL-I go to Nth newer position in jump list
|
||||
|:ju| :ju[mps] print the jump list
|
||||
|:ju| :ju[mps] print the jump list
|
||||
------------------------------------------------------------------------------
|
||||
*Q_vm* Various motions
|
||||
|
||||
@@ -204,30 +204,30 @@ N is used to indicate an optional count that can be given before the command.
|
||||
------------------------------------------------------------------------------
|
||||
*Q_ta* Using tags
|
||||
|
||||
|:ta| :ta[g][!] {tag} jump to tag {tag}
|
||||
|:ta| :[count]ta[g][!] jump to [count]'th newer tag in tag list
|
||||
|:ta| :ta[g][!] {tag} jump to tag {tag}
|
||||
|:ta| :[count]ta[g][!] jump to [count]'th newer tag in tag list
|
||||
|CTRL-]| CTRL-] jump to the tag under cursor, unless changes
|
||||
have been made
|
||||
|:ts| :ts[elect][!] [tag] list matching tags and select one to jump to
|
||||
|:ts| :ts[elect][!] [tag] list matching tags and select one to jump to
|
||||
|:tjump| :tj[ump][!] [tag] jump to tag [tag] or select from list when
|
||||
there are multiple matches
|
||||
|:ltag| :lt[ag][!] [tag] jump to tag [tag] and add matching tags to the
|
||||
|:ltag| :lt[ag][!] [tag] jump to tag [tag] and add matching tags to the
|
||||
location list
|
||||
|
||||
|:tags| :tags print tag list
|
||||
|:tags| :tags print tag list
|
||||
|CTRL-T| N CTRL-T jump back from Nth older tag in tag list
|
||||
|:po| :[count]po[p][!] jump back from [count]'th older tag in tag list
|
||||
|:po| :[count]po[p][!] jump back from [count]'th older tag in tag list
|
||||
|:tnext| :[count]tn[ext][!] jump to [count]'th next matching tag
|
||||
|:tp| :[count]tp[revious][!] jump to [count]'th previous matching tag
|
||||
|:tr| :[count]tr[ewind][!] jump to [count]'th matching tag
|
||||
|:tl| :tl[ast][!] jump to last matching tag
|
||||
|:tr| :[count]tr[ewind][!] jump to [count]'th matching tag
|
||||
|:tl| :tl[ast][!] jump to last matching tag
|
||||
|
||||
|:ptag| :pt[ag] {tag} open a preview window to show tag {tag}
|
||||
|CTRL-W_}| CTRL-W } like CTRL-] but show tag in preview window
|
||||
|:ptag| :pt[ag] {tag} open a preview window to show tag {tag}
|
||||
|CTRL-W_}| CTRL-W } like CTRL-] but show tag in preview window
|
||||
|:pts| :pts[elect] like ":tselect" but show tag in preview window
|
||||
|:ptjump| :ptj[ump] like ":tjump" but show tag in preview window
|
||||
|:pclose| :pc[lose] close tag preview window
|
||||
|CTRL-W_z| CTRL-W z close tag preview window
|
||||
|CTRL-W_z| CTRL-W z close tag preview window
|
||||
------------------------------------------------------------------------------
|
||||
*Q_sc* Scrolling
|
||||
|
||||
@@ -260,7 +260,7 @@ These only work when 'wrap' is off:
|
||||
|:startreplace| :startr[eplace][!] start Replace mode, at EOL when [!] used
|
||||
|
||||
in Visual block mode:
|
||||
|v_b_I| I insert the same text in front of all the selected lines
|
||||
|v_b_I| I insert the same text in front of all the selected lines
|
||||
|v_b_A| A append the same text after all the selected lines
|
||||
------------------------------------------------------------------------------
|
||||
*Q_ai* Insert mode keys
|
||||
@@ -334,16 +334,16 @@ In Insert or Command-line mode:
|
||||
*Q_de* Deleting text
|
||||
|
||||
|x| N x delete N characters under and after the cursor
|
||||
|<Del>| N <Del> delete N characters under and after the cursor
|
||||
|<Del>| N <Del> delete N characters under and after the cursor
|
||||
|X| N X delete N characters before the cursor
|
||||
|d| N d{motion} delete the text that is moved over with {motion}
|
||||
|v_d| {visual}d delete the highlighted text
|
||||
|v_d| {visual}d delete the highlighted text
|
||||
|dd| N dd delete N lines
|
||||
|D| N D delete to the end of the line (and N-1 more lines)
|
||||
|J| N J join N-1 lines (delete <EOL>s)
|
||||
|v_J| {visual}J join the highlighted lines
|
||||
|v_J| {visual}J join the highlighted lines
|
||||
|gJ| N gJ like "J", but without inserting spaces
|
||||
|v_gJ| {visual}gJ like "{visual}J", but without inserting spaces
|
||||
|v_gJ| {visual}gJ like "{visual}J", but without inserting spaces
|
||||
|:d| :[range]d [x] delete [range] lines [into register x]
|
||||
------------------------------------------------------------------------------
|
||||
*Q_cm* Copying and moving text
|
||||
@@ -369,7 +369,7 @@ In Insert or Command-line mode:
|
||||
|R| N R enter Replace mode (repeat the entered text N times)
|
||||
|gR| N gR enter virtual Replace mode: Like Replace mode but
|
||||
without affecting layout
|
||||
|v_b_r| {visual}r{char}
|
||||
|v_b_r| {visual}r{char}
|
||||
in Visual block mode: Replace each char of the
|
||||
selected text with {char}
|
||||
|
||||
@@ -447,13 +447,13 @@ In Insert or Command-line mode:
|
||||
|
||||
|visual-index| list of Visual mode commands.
|
||||
|
||||
|v| v start highlighting characters } move cursor and use
|
||||
|V| V start highlighting linewise } operator to affect
|
||||
|v| v start highlighting characters } move cursor and use
|
||||
|V| V start highlighting linewise } operator to affect
|
||||
|CTRL-V| CTRL-V start highlighting blockwise } highlighted text
|
||||
|v_o| o exchange cursor position with start of highlighting
|
||||
|gv| gv start highlighting on previous visual area
|
||||
|v_v| v highlight characters or stop highlighting
|
||||
|v_V| V highlight linewise or stop highlighting
|
||||
|v_o| o exchange cursor position with start of highlighting
|
||||
|gv| gv start highlighting on previous visual area
|
||||
|v_v| v highlight characters or stop highlighting
|
||||
|v_V| V highlight linewise or stop highlighting
|
||||
|v_CTRL-V| CTRL-V highlight blockwise or stop highlighting
|
||||
------------------------------------------------------------------------------
|
||||
*Q_to* Text objects (only in Visual mode or after an operator)
|
||||
@@ -509,8 +509,8 @@ In Insert or Command-line mode:
|
||||
------------------------------------------------------------------------------
|
||||
*Q_km* Key mapping
|
||||
|
||||
|:map| :ma[p] {lhs} {rhs} map {lhs} to {rhs} in Normal and Visual mode
|
||||
|:map!| :ma[p]! {lhs} {rhs} map {lhs} to {rhs} in Insert and Command-line
|
||||
|:map| :ma[p] {lhs} {rhs} map {lhs} to {rhs} in Normal and Visual mode
|
||||
|:map!| :ma[p]! {lhs} {rhs} map {lhs} to {rhs} in Insert and Command-line
|
||||
mode
|
||||
|:noremap| :no[remap][!] {lhs} {rhs}
|
||||
same as ":map", no remapping for this {rhs}
|
||||
@@ -522,19 +522,19 @@ In Insert or Command-line mode:
|
||||
Normal and Visual mode
|
||||
|:map_l!| :ma[p]! [lhs] list mappings (starting with [lhs]) for
|
||||
Insert and Command-line mode
|
||||
|:cmap| :cmap/:cunmap/:cnoremap
|
||||
|:cmap| :cmap/:cunmap/:cnoremap
|
||||
like ":map!"/":unmap!"/":noremap!" but for
|
||||
Command-line mode only
|
||||
|:imap| :imap/:iunmap/:inoremap
|
||||
|:imap| :imap/:iunmap/:inoremap
|
||||
like ":map!"/":unmap!"/":noremap!" but for
|
||||
Insert mode only
|
||||
|:nmap| :nmap/:nunmap/:nnoremap
|
||||
|:nmap| :nmap/:nunmap/:nnoremap
|
||||
like ":map"/":unmap"/":noremap" but for
|
||||
Normal mode only
|
||||
|:vmap| :vmap/:vunmap/:vnoremap
|
||||
|:vmap| :vmap/:vunmap/:vnoremap
|
||||
like ":map"/":unmap"/":noremap" but for
|
||||
Visual mode only
|
||||
|:omap| :omap/:ounmap/:onoremap
|
||||
|:omap| :omap/:ounmap/:onoremap
|
||||
like ":map"/":unmap"/":noremap" but only for
|
||||
when an operator is pending
|
||||
|:mapc| :mapc[lear] remove mappings for Normal and Visual mode
|
||||
@@ -691,6 +691,7 @@ Short explanation of each option: *option-list*
|
||||
'fileencodings' 'fencs' automatically detected character encodings
|
||||
'fileformat' 'ff' file format used for file I/O
|
||||
'fileformats' 'ffs' automatically detected values for 'fileformat'
|
||||
'fileignorecase' 'fic' ignore case when using file names
|
||||
'filetype' 'ft' type of file, used for autocommands
|
||||
'fillchars' 'fcs' characters to use for displaying special items
|
||||
'fkmap' 'fk' Farsi keyboard mapping
|
||||
@@ -958,9 +959,9 @@ Short explanation of each option: *option-list*
|
||||
------------------------------------------------------------------------------
|
||||
*Q_ur* Undo/Redo commands
|
||||
|
||||
|u| N u undo last N changes
|
||||
|u| N u undo last N changes
|
||||
|CTRL-R| N CTRL-R redo last N undone changes
|
||||
|U| U restore last changed line
|
||||
|U| U restore last changed line
|
||||
------------------------------------------------------------------------------
|
||||
*Q_et* External commands
|
||||
|
||||
@@ -1011,7 +1012,7 @@ Short explanation of each option: *option-list*
|
||||
C4350, etc.)
|
||||
|:normal| :norm[al][!] {commands}
|
||||
execute Normal mode commands
|
||||
|Q| Q switch to "Ex" mode
|
||||
|Q| Q switch to "Ex" mode
|
||||
|
||||
|:redir| :redir >{file} redirect messages to {file}
|
||||
|:silent| :silent[!] {command} execute {command} silently
|
||||
@@ -1087,11 +1088,11 @@ Context-sensitive completion on the command-line:
|
||||
------------------------------------------------------------------------------
|
||||
*Q_ex* Special Ex characters
|
||||
|
||||
|:bar| | separates two commands (not for ":global" and ":!")
|
||||
|:bar| | separates two commands (not for ":global" and ":!")
|
||||
|:quote| " begins comment
|
||||
|
||||
|:_%| % current file name (only where a file name is expected)
|
||||
|:_#| #[num] alternate file name [num] (only where a file name is
|
||||
|:_%| % current file name (only where a file name is expected)
|
||||
|:_#| #[num] alternate file name [num] (only where a file name is
|
||||
expected)
|
||||
Note: The next seven are typed literally; these are not special keys!
|
||||
|:<abuf>| <abuf> buffer number, for use in an autocommand (only where a
|
||||
@@ -1171,18 +1172,18 @@ Context-sensitive completion on the command-line:
|
||||
Without !: Fail if changes have been made to the current buffer.
|
||||
With !: Discard any changes to the current buffer.
|
||||
|:edit_f| :e[dit][!] {file} edit {file}
|
||||
|:edit| :e[dit][!] reload the current file
|
||||
|:enew| :ene[w][!] edit a new, unnamed buffer
|
||||
|:edit| :e[dit][!] reload the current file
|
||||
|:enew| :ene[w][!] edit a new, unnamed buffer
|
||||
|:find| :fin[d][!] {file} find {file} in 'path' and edit it
|
||||
|
||||
|CTRL-^| N CTRL-^ edit alternate file N (equivalent to ":e #N")
|
||||
|gf| gf or ]f edit the file whose name is under the cursor
|
||||
|:pwd| :pwd print the current directory name
|
||||
|:cd| :cd [path] change the current directory to [path]
|
||||
|:cd-| :cd - back to previous current directory
|
||||
|:file| :f[ile] print the current file name and the cursor
|
||||
|CTRL-^| N CTRL-^ edit alternate file N (equivalent to ":e #N")
|
||||
|gf| gf or ]f edit the file whose name is under the cursor
|
||||
|:pwd| :pwd print the current directory name
|
||||
|:cd| :cd [path] change the current directory to [path]
|
||||
|:cd-| :cd - back to previous current directory
|
||||
|:file| :f[ile] print the current file name and the cursor
|
||||
position
|
||||
|:file| :f[ile] {name} set the current file name to {name}
|
||||
|:file| :f[ile] {name} set the current file name to {name}
|
||||
|:files| :files show alternate file names
|
||||
------------------------------------------------------------------------------
|
||||
*Q_fl* Using the argument list |argument-list|
|
||||
@@ -1198,12 +1199,12 @@ Context-sensitive completion on the command-line:
|
||||
|
||||
in current window in new window ~
|
||||
|:argument| :argu[ment] N :sar[gument] N edit file N
|
||||
|:next| :n[ext] :sn[ext] edit next file
|
||||
|:next| :n[ext] :sn[ext] edit next file
|
||||
|:next_f| :n[ext] {arglist} :sn[ext] {arglist} define new arg list
|
||||
and edit first file
|
||||
|:Next| :N[ext] :sN[ext] edit previous file
|
||||
|:Next| :N[ext] :sN[ext] edit previous file
|
||||
|:first| :fir[st] :sfir[st] edit first file
|
||||
|:last| :la[st] :sla[st] edit last file
|
||||
|:last| :la[st] :sla[st] edit last file
|
||||
------------------------------------------------------------------------------
|
||||
*Q_wq* Writing and quitting
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 7.3. Last change: 2013 Jan 30
|
||||
*syntax.txt* For Vim version 7.3. Last change: 2013 Apr 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -999,6 +999,14 @@ comment highlighting, add the following line to your startup file: >
|
||||
The ColdFusion syntax file is based on the HTML syntax file.
|
||||
|
||||
|
||||
CPP *cpp.vim* *ft-cpp-syntax*
|
||||
|
||||
Most of things are same as |ft-c-syntax|.
|
||||
|
||||
Variable Highlight ~
|
||||
cpp_no_c11 don't highlight C++11 standard items
|
||||
|
||||
|
||||
CSH *csh.vim* *ft-csh-syntax*
|
||||
|
||||
This covers the shell named "csh". Note that on some systems tcsh is actually
|
||||
@@ -2061,7 +2069,7 @@ Therefore, you should be careful about not using more space between sentences
|
||||
than you intend to have in your final document. For this reason, the common
|
||||
practice is to insert a carriage return immediately after all punctuation
|
||||
marks. If you want to have "even" text in your final processed output, you
|
||||
need to maintaining regular spacing in the input text. To mark both trailing
|
||||
need to maintain regular spacing in the input text. To mark both trailing
|
||||
spaces and two or more spaces after a punctuation as an error, use: >
|
||||
|
||||
:let nroff_space_errors = 1
|
||||
@@ -2440,24 +2448,33 @@ Pascal. Use this if you don't use assembly and Pascal: >
|
||||
|
||||
PYTHON *python.vim* *ft-python-syntax*
|
||||
|
||||
There are four options to control Python syntax highlighting.
|
||||
There are six options to control Python syntax highlighting.
|
||||
|
||||
For highlighted numbers: >
|
||||
:let python_highlight_numbers = 1
|
||||
:let python_no_number_highlight = 1
|
||||
|
||||
For highlighted builtin functions: >
|
||||
:let python_highlight_builtins = 1
|
||||
:let python_no_builtin_highlight = 1
|
||||
|
||||
For highlighted standard exceptions: >
|
||||
:let python_highlight_exceptions = 1
|
||||
:let python_no_exception_highlight = 1
|
||||
|
||||
For highlighted doctests and code inside: >
|
||||
:let python_no_doctest_highlight = 1
|
||||
or >
|
||||
:let python_no_doctest_code_highlight = 1
|
||||
(first option implies second one).
|
||||
|
||||
For highlighted trailing whitespace and mix of spaces and tabs: >
|
||||
:let python_highlight_space_errors = 1
|
||||
:let python_space_error_highlight = 1
|
||||
|
||||
If you want all possible Python highlighting (the same as setting the
|
||||
preceding three options): >
|
||||
preceding last option and unsetting all other ones): >
|
||||
:let python_highlight_all = 1
|
||||
|
||||
Note: only existence of these options matter, not their value. You can replace
|
||||
1 above with anything.
|
||||
|
||||
|
||||
QUAKE *quake.vim* *ft-quake-syntax*
|
||||
|
||||
@@ -2911,6 +2928,35 @@ if any, is the text at the top of the screen supposed to be in?).
|
||||
Another cause of slow highlighting is due to syntax-driven folding; see
|
||||
|tex-folding| for a way around this.
|
||||
|
||||
*g:tex_fast*
|
||||
|
||||
Finally, if syntax highlighting is still too slow, you may set >
|
||||
|
||||
:let g:tex_fast= ""
|
||||
|
||||
in your .vimrc. Used this way, the g:tex_fast variable causes the syntax
|
||||
highlighting script to avoid defining any regions and associated
|
||||
synchronization. The result will be much faster syntax highlighting; the
|
||||
price: you will no longer have as much highlighting or any syntax-based
|
||||
folding, and you will be missing syntax-based error checking.
|
||||
|
||||
You may decide that some syntax is acceptable; you may use the following table
|
||||
selectively to enable just some syntax highlighting: >
|
||||
|
||||
b : allow bold and italic syntax
|
||||
c : allow texComment syntax
|
||||
m : allow texMatcher syntax (ie. {...} and [...])
|
||||
M : allow texMath syntax
|
||||
p : allow parts, chapter, section, etc syntax
|
||||
r : allow texRefZone syntax (nocite, bibliography, label, pageref, eqref)
|
||||
s : allow superscript/subscript regions
|
||||
S : allow texStyle syntax
|
||||
v : allow verbatim syntax
|
||||
V : allow texNewEnv and texNewCmd syntax
|
||||
<
|
||||
As an example, let g:tex_fast= "M" will allow math-associated highlighting
|
||||
but suppress all the other region-based syntax highlighting.
|
||||
|
||||
*tex-morecommands* *tex-package*
|
||||
Tex: Want To Highlight More Commands? ~
|
||||
|
||||
@@ -3805,7 +3851,7 @@ s-{nr} start of the matched pattern plus {nr} chars to the left
|
||||
e end of the matched pattern
|
||||
e+{nr} end of the matched pattern plus {nr} chars to the right
|
||||
e-{nr} end of the matched pattern plus {nr} chars to the left
|
||||
{nr} (for "lc" only): start matching {nr} chars to the left
|
||||
{nr} (for "lc" only): start matching {nr} chars right of the start
|
||||
|
||||
Examples: "ms=s+1", "hs=e-2", "lc=3".
|
||||
|
||||
@@ -4882,7 +4928,7 @@ restoring "b:current_syntax", since the syntax files do set
|
||||
|
||||
Once a window has its own syntax, syntax commands executed from other windows
|
||||
on the same buffer (including :syntax clear) have no effect. Conversely,
|
||||
syntax commands executed from that window do not effect other windows on the
|
||||
syntax commands executed from that window do not affect other windows on the
|
||||
same buffer.
|
||||
|
||||
A window with its own syntax reverts to normal behavior when another buffer
|
||||
|
||||
@@ -233,10 +233,12 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'fex' options.txt /*'fex'*
|
||||
'ff' options.txt /*'ff'*
|
||||
'ffs' options.txt /*'ffs'*
|
||||
'fic' options.txt /*'fic'*
|
||||
'fileencoding' options.txt /*'fileencoding'*
|
||||
'fileencodings' options.txt /*'fileencodings'*
|
||||
'fileformat' options.txt /*'fileformat'*
|
||||
'fileformats' options.txt /*'fileformats'*
|
||||
'fileignorecase' options.txt /*'fileignorecase'*
|
||||
'filetype' options.txt /*'filetype'*
|
||||
'fillchars' options.txt /*'fillchars'*
|
||||
'fk' options.txt /*'fk'*
|
||||
@@ -523,6 +525,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'noexpandtab' options.txt /*'noexpandtab'*
|
||||
'noexrc' options.txt /*'noexrc'*
|
||||
'nofen' options.txt /*'nofen'*
|
||||
'nofic' options.txt /*'nofic'*
|
||||
'nofileignorecase' options.txt /*'nofileignorecase'*
|
||||
'nofk' options.txt /*'nofk'*
|
||||
'nofkmap' options.txt /*'nofkmap'*
|
||||
'nofoldenable' options.txt /*'nofoldenable'*
|
||||
@@ -964,6 +968,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
't_te' term.txt /*'t_te'*
|
||||
't_ti' term.txt /*'t_ti'*
|
||||
't_ts' term.txt /*'t_ts'*
|
||||
't_u7' term.txt /*'t_u7'*
|
||||
't_ue' term.txt /*'t_ue'*
|
||||
't_us' term.txt /*'t_us'*
|
||||
't_ut' term.txt /*'t_ut'*
|
||||
@@ -4251,6 +4256,7 @@ E859 eval.txt /*E859*
|
||||
E86 windows.txt /*E86*
|
||||
E860 eval.txt /*E860*
|
||||
E861 eval.txt /*E861*
|
||||
E862 eval.txt /*E862*
|
||||
E87 windows.txt /*E87*
|
||||
E88 windows.txt /*E88*
|
||||
E89 message.txt /*E89*
|
||||
@@ -4478,6 +4484,8 @@ TabLeave autocmd.txt /*TabLeave*
|
||||
Tcl if_tcl.txt /*Tcl*
|
||||
TermChanged autocmd.txt /*TermChanged*
|
||||
TermResponse autocmd.txt /*TermResponse*
|
||||
TextChanged autocmd.txt /*TextChanged*
|
||||
TextChangedI autocmd.txt /*TextChangedI*
|
||||
Transact-SQL ft_sql.txt /*Transact-SQL*
|
||||
U undo.txt /*U*
|
||||
UTF-8 mbyte.txt /*UTF-8*
|
||||
@@ -4768,7 +4776,7 @@ aw motion.txt /*aw*
|
||||
a{ motion.txt /*a{*
|
||||
a} motion.txt /*a}*
|
||||
b motion.txt /*b*
|
||||
b:changedtick-variable eval.txt /*b:changedtick-variable*
|
||||
b:changedtick eval.txt /*b:changedtick*
|
||||
b:changelog_name filetype.txt /*b:changelog_name*
|
||||
b:current_syntax-variable syntax.txt /*b:current_syntax-variable*
|
||||
b:netrw_lastfile pi_netrw.txt /*b:netrw_lastfile*
|
||||
@@ -5032,6 +5040,7 @@ clipboard-exclude options.txt /*clipboard-exclude*
|
||||
clipboard-html options.txt /*clipboard-html*
|
||||
clipboard-unnamed options.txt /*clipboard-unnamed*
|
||||
clipboard-unnamedplus options.txt /*clipboard-unnamedplus*
|
||||
clojure-indent indent.txt /*clojure-indent*
|
||||
cmdarg-variable eval.txt /*cmdarg-variable*
|
||||
cmdbang-variable eval.txt /*cmdbang-variable*
|
||||
cmdline-arguments vi_diff.txt /*cmdline-arguments*
|
||||
@@ -5180,6 +5189,7 @@ cpo-w options.txt /*cpo-w*
|
||||
cpo-x options.txt /*cpo-x*
|
||||
cpo-y options.txt /*cpo-y*
|
||||
cpo-{ options.txt /*cpo-{*
|
||||
cpp.vim syntax.txt /*cpp.vim*
|
||||
crash-recovery recover.txt /*crash-recovery*
|
||||
creating-menus gui.txt /*creating-menus*
|
||||
credits intro.txt /*credits*
|
||||
@@ -5653,8 +5663,10 @@ ft-ch-syntax syntax.txt /*ft-ch-syntax*
|
||||
ft-changelog-plugin filetype.txt /*ft-changelog-plugin*
|
||||
ft-changelog-syntax syntax.txt /*ft-changelog-syntax*
|
||||
ft-chill-syntax syntax.txt /*ft-chill-syntax*
|
||||
ft-clojure-indent indent.txt /*ft-clojure-indent*
|
||||
ft-cobol-syntax syntax.txt /*ft-cobol-syntax*
|
||||
ft-coldfusion-syntax syntax.txt /*ft-coldfusion-syntax*
|
||||
ft-cpp-syntax syntax.txt /*ft-cpp-syntax*
|
||||
ft-csh-syntax syntax.txt /*ft-csh-syntax*
|
||||
ft-css-omni insert.txt /*ft-css-omni*
|
||||
ft-cweb-syntax syntax.txt /*ft-cweb-syntax*
|
||||
@@ -5817,6 +5829,12 @@ g:ada_space_errors ft_ada.txt /*g:ada_space_errors*
|
||||
g:ada_standard_types ft_ada.txt /*g:ada_standard_types*
|
||||
g:ada_with_gnat_project_files ft_ada.txt /*g:ada_with_gnat_project_files*
|
||||
g:ada_withuse_ordinary ft_ada.txt /*g:ada_withuse_ordinary*
|
||||
g:clojure_align_multiline_strings indent.txt /*g:clojure_align_multiline_strings*
|
||||
g:clojure_fuzzy_indent indent.txt /*g:clojure_fuzzy_indent*
|
||||
g:clojure_fuzzy_indent_blacklist indent.txt /*g:clojure_fuzzy_indent_blacklist*
|
||||
g:clojure_fuzzy_indent_patterns indent.txt /*g:clojure_fuzzy_indent_patterns*
|
||||
g:clojure_maxlines indent.txt /*g:clojure_maxlines*
|
||||
g:clojure_special_indent_words indent.txt /*g:clojure_special_indent_words*
|
||||
g:colors_name options.txt /*g:colors_name*
|
||||
g:decada ft_ada.txt /*g:decada*
|
||||
g:decada.Error_Format ft_ada.txt /*g:decada.Error_Format*
|
||||
@@ -5949,6 +5967,7 @@ g:tar_readoptions pi_tar.txt /*g:tar_readoptions*
|
||||
g:tar_secure pi_tar.txt /*g:tar_secure*
|
||||
g:tar_writeoptions pi_tar.txt /*g:tar_writeoptions*
|
||||
g:tex_conceal syntax.txt /*g:tex_conceal*
|
||||
g:tex_fast syntax.txt /*g:tex_fast*
|
||||
g:tex_isk syntax.txt /*g:tex_isk*
|
||||
g:var eval.txt /*g:var*
|
||||
g:vimball_home pi_vimball.txt /*g:vimball_home*
|
||||
@@ -6150,6 +6169,7 @@ gui_w16.txt gui_w16.txt /*gui_w16.txt*
|
||||
gui_w32.txt gui_w32.txt /*gui_w32.txt*
|
||||
gui_x11.txt gui_x11.txt /*gui_x11.txt*
|
||||
guifontwide_gtk2 options.txt /*guifontwide_gtk2*
|
||||
guifontwide_win_mbyte options.txt /*guifontwide_win_mbyte*
|
||||
guioptions_a options.txt /*guioptions_a*
|
||||
guu change.txt /*guu*
|
||||
gv visual.txt /*gv*
|
||||
@@ -6685,6 +6705,7 @@ mapmode-s map.txt /*mapmode-s*
|
||||
mapmode-v map.txt /*mapmode-v*
|
||||
mapmode-x map.txt /*mapmode-x*
|
||||
mapping map.txt /*mapping*
|
||||
mapping-functions usr_41.txt /*mapping-functions*
|
||||
mark motion.txt /*mark*
|
||||
mark-functions usr_41.txt /*mark-functions*
|
||||
mark-motions motion.txt /*mark-motions*
|
||||
@@ -6796,6 +6817,7 @@ mzscheme-buffer if_mzsch.txt /*mzscheme-buffer*
|
||||
mzscheme-commands if_mzsch.txt /*mzscheme-commands*
|
||||
mzscheme-dynamic if_mzsch.txt /*mzscheme-dynamic*
|
||||
mzscheme-examples if_mzsch.txt /*mzscheme-examples*
|
||||
mzscheme-funcref if_mzsch.txt /*mzscheme-funcref*
|
||||
mzscheme-mzeval if_mzsch.txt /*mzscheme-mzeval*
|
||||
mzscheme-sandbox if_mzsch.txt /*mzscheme-sandbox*
|
||||
mzscheme-threads if_mzsch.txt /*mzscheme-threads*
|
||||
@@ -7551,6 +7573,7 @@ sgr-mouse options.txt /*sgr-mouse*
|
||||
sh-awk syntax.txt /*sh-awk*
|
||||
sh-embed syntax.txt /*sh-embed*
|
||||
sh.vim syntax.txt /*sh.vim*
|
||||
sha256() eval.txt /*sha256()*
|
||||
shell-window tips.txt /*shell-window*
|
||||
shell_error-variable eval.txt /*shell_error-variable*
|
||||
shellescape() eval.txt /*shellescape()*
|
||||
@@ -7962,6 +7985,7 @@ t_ti term.txt /*t_ti*
|
||||
t_tp version4.txt /*t_tp*
|
||||
t_ts term.txt /*t_ts*
|
||||
t_ts_old version4.txt /*t_ts_old*
|
||||
t_u7 term.txt /*t_u7*
|
||||
t_ue term.txt /*t_ue*
|
||||
t_undo version4.txt /*t_undo*
|
||||
t_us term.txt /*t_us*
|
||||
@@ -8513,6 +8537,7 @@ white-space pattern.txt /*white-space*
|
||||
whitespace pattern.txt /*whitespace*
|
||||
wildcard editing.txt /*wildcard*
|
||||
wildcards editing.txt /*wildcards*
|
||||
wildmenumode() eval.txt /*wildmenumode()*
|
||||
win16-!start gui_w16.txt /*win16-!start*
|
||||
win16-clipboard gui_w16.txt /*win16-clipboard*
|
||||
win16-colors gui_w16.txt /*win16-colors*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*term.txt* For Vim version 7.3. Last change: 2011 Feb 16
|
||||
*term.txt* For Vim version 7.3. Last change: 2013 Mar 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -294,6 +294,8 @@ Added by Vim (there are no standard codes for these):
|
||||
|termcap-cursor-shape|
|
||||
t_RV request terminal version string (for xterm) *t_RV* *'t_RV'*
|
||||
|xterm-8bit| |v:termresponse| |'ttymouse'| |xterm-codes|
|
||||
t_u7 request cursor position (for xterm) *t_u7* *'t_u7'*
|
||||
see |'ambiwidth'|
|
||||
|
||||
KEY CODES
|
||||
Note: Use the <> form if possible
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 7.3. Last change: 2013 Jan 30
|
||||
*todo.txt* For Vim version 7.3. Last change: 2013 Apr 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -39,6 +39,8 @@ highlight group. Add a "\zs" after it?
|
||||
|
||||
Go through more coverity reports.
|
||||
|
||||
Valgrind errors in test 16.
|
||||
|
||||
Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
|
||||
|
||||
Checking runtime scripts: Thilo Six, 2012 Jun 6.
|
||||
@@ -52,50 +54,31 @@ The CompleteDone autocommand needs some info passed to it:
|
||||
- The word that was selected (empty if abandoned complete)
|
||||
- Type of completion: tag, omnifunc, user func.
|
||||
|
||||
Patch for mzscheme. (Sergey Khorev, 2012 Nov 19)
|
||||
Updated patch 2013 Jan 28.
|
||||
Using ":call foo#d.f()" doesn't autoload the "foo.vim" file.
|
||||
That is, calling a dictionary function on an autoloaded dict.
|
||||
Works OK for echo, just not for ":call" and ":call call()". (Ted, 2011 Mar
|
||||
17)
|
||||
Patch by Christian Brabandt, 2013 Mar 23.
|
||||
|
||||
Patch to fix :s command with confirm and typing "a". (Christian Brabandt, 2012
|
||||
Oct 28)
|
||||
|
||||
/[^\n] does match at a line break. Expected to do the same as /.
|
||||
Patch by Christian Brabandt, 2012 Dec 1.
|
||||
Test files in archive in another message.
|
||||
|
||||
Patch to make multibyte input work on Win32 console when codepage differs from
|
||||
'encoding'. (Ken Takata, 2012 Sep 29)
|
||||
|
||||
Patch for building with Ruby and Cygwin. (Ken Takata, 2013 Jan 9)
|
||||
|
||||
Patch to make 'relativenumber' show the current lnum instead of zero.
|
||||
(Nazri Ramliy, 2013 Jan 29)
|
||||
|
||||
It's possible to define an input() function that overrides the built-in one.
|
||||
(ZyX, 2012 Sep 28)
|
||||
|
||||
Patch to add sha256() function. (Tyru, 2013 Jan 8)
|
||||
|
||||
Patch to make pyeval() print error messages. (ZyX, 2013 Jan 12)
|
||||
Patch to make building with Ruby 2.0 on 64 bit system work. (eagletmt (Kohei
|
||||
Suzuki), 2013 Mar 25)
|
||||
|
||||
Win32: When a directory name contains an exclamation mark, completion doesn't
|
||||
complete the contents of the directory. No escaping for the "!"? (Jan
|
||||
Stocker, 2012 Jan 5)
|
||||
|
||||
Patch for Win32 clipboard under Cygwin. (Frodak Baksik, Feb 15)
|
||||
Sutcliffe says it works well.
|
||||
Update 2007 May 22 for Vim 7.1
|
||||
Update 2008 Dec 2008 for Vim 7.2.xx (Sharonov)
|
||||
Update by Ken Takata (2012 Dec 31, 2013 Jan 4, 2013 Jan 26)
|
||||
|
||||
Problem parsing expression with function(). (Andy Wokula, 2012 Nov 22)
|
||||
Patch by Christian Brabandt, Nov 22. Tests in another patch, Nov 23.
|
||||
|
||||
Patch to add default value to getbufvar() et al. (Hirohito Higashi, 2013 Jan 1)
|
||||
Patch to avoid that visul motion breaks repeat with ".". (Sung Pae, 2013 Mar
|
||||
25)
|
||||
|
||||
Problem caused by patch 7.3.638: window->open does not update window
|
||||
correctly. Issue 91.
|
||||
|
||||
Patch to fix compiler warnings for MingW 4.5.3. (Ken Takata, 2013 Jan 26)
|
||||
Patch to fix that 'cedit' is recognized after :normal. (Christian Brabandt,
|
||||
2013 Mar 19, later message)
|
||||
|
||||
Patch to view coverage of the tests. (Nazri Ramliy, 2013 Feb 15)
|
||||
|
||||
Patch to make vim.bindeval() in Python work. (Yukihiro Nakadaira, 2013 Mar 25)
|
||||
|
||||
Do allow real tags above the !_TAG entries. Undo older patch. Issue 90.
|
||||
|
||||
@@ -104,19 +87,37 @@ Patch to support 'u' in interactive substitute. (Christian Brabandt, 2012 Sep
|
||||
|
||||
Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec)
|
||||
|
||||
Patch to add more testing for Visual operators. (glts, 2013 Mar 28)
|
||||
|
||||
Patch for IME handling, adds 'imactivatefunc' and 'imstatusfunc' option.
|
||||
(Yukihiro Nakadaira, 2012 Aug 16)
|
||||
Patch to improve IME handling. (Yasuhiro Matsumoto, 2012 Jul 18)
|
||||
|
||||
Issue 54: document behavior of -complete, also expands arg.
|
||||
|
||||
Matches might be highlighted correctly. Inefficient patch by Christian
|
||||
Brabandt, 2013 Feb 26.
|
||||
|
||||
New syntax files for apt. (quidame, 2012 Sep 21)
|
||||
|
||||
Patch to use bold/italic fonts when 'guifontewide' is set. (Ken Takata, 2013
|
||||
Mar 31)
|
||||
|
||||
v:register is not directly reset to " after a delete command that specifies a
|
||||
register. It is reset after the next command. (Steve Vermeulen, 2013 Mar 16)
|
||||
|
||||
'ff' is wrong for one-line file without EOL. (Issue 77)
|
||||
|
||||
Patch for if_lua. (Luis Carvalho, 2012 Aug 26, update Aug 29, another Aug 30,
|
||||
then Sep 1, reminder Oct 14)
|
||||
|
||||
Patch to check if 'foldexpr' sets did_emsg. (Christian Brabandt, 2013 Mar 20)
|
||||
|
||||
Patch to set antialiasing style on Windows. (Ondrej Balaz, 2013 Mar 14)
|
||||
Needs a different check for CLEARTYPE_QUALITY.
|
||||
|
||||
Patch for repeating change that uses ":normal". (glts, 2013 March 23)
|
||||
|
||||
Issue 72: 'autochdir' causes problems for :vimgrep.
|
||||
|
||||
Undo problem: line not removed as expected when using setline() from Insert
|
||||
@@ -134,8 +135,18 @@ MS-Windows: Crash opening very long file name starting with "\\".
|
||||
It's probably a good idea to make a negative value for 'sts' use the value of
|
||||
'sw'. Patch by So8res, Oct 3 2012
|
||||
|
||||
Test 79 fails on Windows only. (Michael Soyka, 2013 Apr 11).
|
||||
What makes the test script mapping continue after an error?
|
||||
|
||||
patch to add "combine" flag to syntax commands. (so8res, 2012 Dec 6)
|
||||
|
||||
Combining characters are not used when executing a register with :@w.
|
||||
(William Fugh, 2013 Apr 5, more info from Ben Fritz)
|
||||
Patch by Christian Brabandt, 2013 Apr 6. Second one.
|
||||
|
||||
Bug in completion menu. (Olivier Teuliere, 2013 Feb 15)
|
||||
Patch by Christian Brabandt, Feb 16.
|
||||
|
||||
Syntax update problem in one buffer opened in two windows, bottom window is
|
||||
not correctly updated. (Paul Harris, 2012 Feb 27)
|
||||
|
||||
@@ -147,10 +158,12 @@ Or use expand('<sid>')?
|
||||
|
||||
Patch to make confirm() display colors. (Christian Brabandt, 2012 Nov 9)
|
||||
|
||||
Patch to add functions for signs. (Christian Brabandt,, 2013 Jan 27)
|
||||
Patch to add functions for signs. (Christian Brabandt, 2013 Jan 27)
|
||||
|
||||
Patch to use directX to draw text on Windows. Adds the 'directx' option.
|
||||
(Taro Muraoka, 2013 Jan 25)
|
||||
Patch to use directX to draw text on Windows. Adds the 'renderoptions'
|
||||
option. (Taro Muraoka, 2013 Jan 25, update 2013 Apr 3)
|
||||
|
||||
Problem with refresh:always in completion. (Tyler Wade, 2013 Mar 17)
|
||||
|
||||
b:undo_ftplugin cannot call a script-local function. (Boris Danilov, 2013 Jan
|
||||
7)
|
||||
@@ -184,7 +197,10 @@ MS-Windows resizing problems:
|
||||
|
||||
'iminsert' global value set when using ":setlocal iminsert"? (Wu, 2012 Jun 23)
|
||||
|
||||
Help for b:undo_indent'. (Thilo Six, 2012 May 28)
|
||||
Patch to append regesp to tag commands to make it possible to select one out
|
||||
of many matches. (Cody Cutler, 2013 Mar 28)
|
||||
|
||||
Help for 'b:undo_indent'. (Thilo Six, 2012 May 28)
|
||||
Also question if examples are correct.
|
||||
|
||||
It should be possible to make globpath() return a list instead of a string,
|
||||
@@ -245,9 +261,6 @@ And one for gui_x11.txt.
|
||||
More recent version: https://retracile.net/wiki/VimBreakIndent
|
||||
Posted to vim-dev by Taylor Hedberg, 2011 Nov 25
|
||||
|
||||
Problem with starting Visual block mode with :norm when 'virtualedit' is set.
|
||||
(David glts, 2012 Jun 5)
|
||||
|
||||
":cd" doesn't work when current directory path contains "**".
|
||||
finddir() has the same problem. (Yukihiro Nakadaira, 2012 Jan 10)
|
||||
Requires a rewrite of the file_file_in_path code.
|
||||
@@ -256,10 +269,9 @@ Problem with l: dictionary being locked in a function. (ZyX, 2011 Jul 21)
|
||||
|
||||
Should use has("browsefilter") in ftplugins. Requires patch 7.3.593.
|
||||
|
||||
Issue 48: foldopen error can't be caught by try/catch
|
||||
Update for vim2html.pl. (Tyru, 2013 Feb 22)
|
||||
|
||||
"dg_" deletes including the last character, "d:normal! g_" doesn't.
|
||||
(Nomen Nescio, 2012 Jun 27)
|
||||
Issue 48: foldopen error can't be caught by try/catch
|
||||
|
||||
Patch to sort functions starting with '<' after others. Omit dict functions,
|
||||
they can't be called. (Yasuhiro Matsumoto, 2011 Oct 11)
|
||||
@@ -360,9 +372,6 @@ The error was 'RenderBadPicture (invalid Picture parameter)'.
|
||||
backtrace from your debugger if you break on the gdk_x_error() function.)
|
||||
Check that number of pixels doesn't go above 65535?
|
||||
|
||||
popup completion menu closes quickly when there is a fold in the buffer. (Jan
|
||||
Christoph Ebersbach, 2011 Jul 3)
|
||||
|
||||
Windows keys not set properly on Windows 7? (cncyber, 2010 Aug 26)
|
||||
|
||||
When using a Vim server, a # in the path causes an error message.
|
||||
@@ -406,6 +415,7 @@ When a buffer-local mapping is used, but a global mapping starts with the same
|
||||
characters, Vim currently waits for the next typed character to find out if
|
||||
the global mapping matches. It is probably better to let the local mapping
|
||||
win and not wait. (discussion with Andy Wokula, 2013 Jan 30)
|
||||
Patch by Michael Henry, 2013 Jan 30, update Feb 15.
|
||||
|
||||
When doing "redir => s:foo" in a script and then "redir END" somewhere else
|
||||
(e.g. in a function) it can't find s:foo.
|
||||
@@ -506,6 +516,9 @@ New esperanto spell file can't be processed. (Dominique Pelle, 2011 Jan 30)
|
||||
"L'Italie" noted as a spell error at start of the sentence. (Dominique Pelle,
|
||||
2011 Feb 27)
|
||||
|
||||
Functions to read the actual contents of the screen, so that things like
|
||||
conceal can be tested. (Nazri Ramliy, 2013 Feb 18)
|
||||
|
||||
Copy/paste between Vim and Google chrome doesn't work well for multi-byte
|
||||
characters. (Ben Haskell, 2010 Sep 17)
|
||||
When putting text in the cut buffer (when exiting) and conversion doesn't work
|
||||
@@ -517,6 +530,9 @@ Experimental patch by Christian Brabandt, 2012 Apr 19.
|
||||
Editing a file with a ^M with 'ff' set to "mac", opening a help file, then the
|
||||
^M is displayed as ^J sometimes. Getting 'ff' value from wrong window/buffer?
|
||||
|
||||
'colorcolumn' has higher priority than hlsearch. Should probably be the other
|
||||
way around. (Nazri Ramliy, 2013 Feb 19)
|
||||
|
||||
When Vim is put in the background (SIGTSTP) and then gets a SIGHUP it doesn't
|
||||
exit. It exists as soon as back in the foreground. (Stephen Liang, 2011 Jan
|
||||
9) Caused by vim_handle_signal(SIGNAL_BLOCK); in ui.c.
|
||||
@@ -705,9 +721,6 @@ Syntax priority problem. (Charles Campbell, 2011 Sep 15)
|
||||
When completion inserts the first match, it may trigger the line to be folded.
|
||||
Disable updating folds while completion is active? (Peter Odding, 2010 Jun 9)
|
||||
|
||||
Using ":call foo#d.f()" doesn't autoload the "foo.vim" file. Works OK for
|
||||
echo, just not for ":call" and ":call call()". (Ted, 2011 Mar 17)
|
||||
|
||||
When a:base in 'completefunc' starts with a number it's passed as a number,
|
||||
not a string. (Sean Ma) Need to add flag to call_func_retlist() to force a
|
||||
string value.
|
||||
@@ -1573,9 +1586,6 @@ resulting in highlighted "{" in that window, not in the other.
|
||||
In mswin.vim: Instead of mapping <C-V> for Insert mode in a complicated way,
|
||||
can it be done like ":imap <C-V> <MiddleMouse>" without negative side effects?
|
||||
|
||||
Completion menu disappears when using 'cursorcolumn'. (Sven-Hendrik Haase,
|
||||
2011 May 23)
|
||||
|
||||
GTK: when the Tab pages bar appears or disappears while the window is
|
||||
maximized the window is no longer maximized. Patch that has some idea but
|
||||
doesn't work from Geoffrey Antos, 2008 May 5.
|
||||
@@ -2278,8 +2288,6 @@ Macintosh:
|
||||
the :catch commands are always executed, also when the file is edited
|
||||
normally. Should reset did_emsg and undo side effects. Also make sure
|
||||
the ATTENTION message shows up. Servatius Brandt works on this.
|
||||
8 ":g//" gives "Pattern not found error" with E486. Should not use the
|
||||
error number, it's not a regular error message.
|
||||
7 Vimtutor leaves escape sequence in terminal. This is the xterm response to
|
||||
requesting the version number. (Yasuhiro Matsumoto)
|
||||
8 When redirecting and using ":silent" the current column for displaying and
|
||||
@@ -3968,9 +3976,6 @@ Command line completion:
|
||||
|
||||
|
||||
Command line history:
|
||||
9 Remember which command lines were actually typed and were not loaded from
|
||||
viminfo. When writing viminfo append only these lines, so that lines from
|
||||
other Vim's are not overwritten.
|
||||
- Add "KeyWasTyped" flag: It's reset before each command and set when a
|
||||
character from the keyboard is consumed. Value is used to decide to put a
|
||||
command line in history or not. Put line in history if it didn't
|
||||
|
||||
@@ -17,7 +17,7 @@ side by side. All this is possible with split windows.
|
||||
|08.6| Commands for all windows
|
||||
|08.7| Viewing differences with vimdiff
|
||||
|08.8| Various
|
||||
|08.9| Tab pages
|
||||
|08.9| Tab pages
|
||||
|
||||
Next chapter: |usr_09.txt| Using the GUI
|
||||
Previous chapter: |usr_07.txt| Editing more than one file
|
||||
|
||||
@@ -18,7 +18,7 @@ This chapter explains the different ways this can be done.
|
||||
|28.7| Folding by syntax
|
||||
|28.8| Folding by expression
|
||||
|28.9| Folding unchanged lines
|
||||
|28.10| Which fold method to use?
|
||||
|28.10| Which fold method to use?
|
||||
|
||||
Next chapter: |usr_29.txt| Moving through programs
|
||||
Previous chapter: |usr_27.txt| Search commands and patterns
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 7.3. Last change: 2012 Oct 13
|
||||
*usr_41.txt* For Vim version 7.3. Last change: 2013 Feb 20
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -863,12 +863,15 @@ Window size and position: *window-size-functions*
|
||||
winsaveview() get view of current window
|
||||
winrestview() restore saved view of current window
|
||||
|
||||
Various: *various-functions*
|
||||
mode() get current editing mode
|
||||
visualmode() last visual mode used
|
||||
Mappings: *mapping-functions*
|
||||
hasmapto() check if a mapping exists
|
||||
mapcheck() check if a matching mapping exists
|
||||
maparg() get rhs of a mapping
|
||||
wildmenumode() check if the wildmode is active
|
||||
|
||||
Various: *various-functions*
|
||||
mode() get current editing mode
|
||||
visualmode() last visual mode used
|
||||
exists() check if a variable, function, etc. exists
|
||||
has() check if a feature is supported in Vim
|
||||
changenr() return number of most recent change
|
||||
|
||||
@@ -248,7 +248,7 @@ Subjects that can be read independently.
|
||||
|28.7| Folding by syntax
|
||||
|28.8| Folding by expression
|
||||
|28.9| Folding unchanged lines
|
||||
|28.10| Which fold method to use?
|
||||
|28.10| Which fold method to use?
|
||||
|
||||
|usr_29.txt| Moving through programs
|
||||
|29.1| Using tags
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2012 Nov 28
|
||||
" Last Change: 2013 Apr 08
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -139,6 +139,9 @@ au BufNewFile,BufRead .arch-inventory,=tagging-method setf arch
|
||||
" ART*Enterprise (formerly ART-IM)
|
||||
au BufNewFile,BufRead *.art setf art
|
||||
|
||||
" AsciiDoc
|
||||
au BufNewFile,BufRead *.asciidoc setf asciidoc
|
||||
|
||||
" ASN.1
|
||||
au BufNewFile,BufRead *.asn,*.asn1 setf asn
|
||||
|
||||
@@ -325,6 +328,9 @@ au BufNewFile,BufRead calendar setf calendar
|
||||
" C#
|
||||
au BufNewFile,BufRead *.cs setf cs
|
||||
|
||||
" CSDL
|
||||
au BufNewFile,BufRead *.csdl setf csdl
|
||||
|
||||
" Cabal
|
||||
au BufNewFile,BufRead *.cabal setf cabal
|
||||
|
||||
@@ -489,6 +495,9 @@ au BufNewFile,BufRead *.prg
|
||||
\ setf clipper |
|
||||
\ endif
|
||||
|
||||
" Clojure
|
||||
au BufNewFile,BufRead *.clj,*.cljs setf clojure
|
||||
|
||||
" Cmake
|
||||
au BufNewFile,BufRead CMakeLists.txt,*.cmake,*.cmake.in setf cmake
|
||||
|
||||
@@ -743,11 +752,12 @@ au BufNewFile,BufRead *.mo,*.gdmo setf gdmo
|
||||
au BufNewFile,BufRead *.ged,lltxxxxx.txt setf gedcom
|
||||
|
||||
" Git
|
||||
au BufNewFile,BufRead *.git/COMMIT_EDITMSG setf gitcommit
|
||||
au BufNewFile,BufRead *.git/COMMIT_EDITMSG setf gitcommit
|
||||
au BufNewFile,BufRead *.git/MERGE_MSG setf gitcommit
|
||||
au BufNewFile,BufRead *.git/config,.gitconfig,.gitmodules setf gitconfig
|
||||
au BufNewFile,BufRead *.git/modules/**/COMMIT_EDITMSG setf gitcommit
|
||||
au BufNewFile,BufRead *.git/modules/**/config setf gitconfig
|
||||
au BufNewFile,BufRead git-rebase-todo setf gitrebase
|
||||
au BufNewFile,BufRead *.git/modules/**/config setf gitconfig
|
||||
au BufNewFile,BufRead git-rebase-todo setf gitrebase
|
||||
au BufNewFile,BufRead .msg.[0-9]*
|
||||
\ if getline(1) =~ '^From.*# This line is ignored.$' |
|
||||
\ setf gitsendemail |
|
||||
@@ -774,7 +784,7 @@ au BufNewFile,BufRead gnashrc,.gnashrc,gnashpluginrc,.gnashpluginrc setf gnash
|
||||
" Gitolite
|
||||
au BufNewFile,BufRead gitolite.conf setf gitolite
|
||||
au BufNewFile,BufRead */gitolite-admin/conf/* call s:StarSetf('gitolite')
|
||||
au BufNewFile,BufRead {,.}gitolite.rc,example.gitolite.rc setf perl
|
||||
au BufNewFile,BufRead {,.}gitolite.rc,example.gitolite.rc setf perl
|
||||
|
||||
" Gnuplot scripts
|
||||
au BufNewFile,BufRead *.gpi setf gnuplot
|
||||
@@ -1075,6 +1085,9 @@ au BufNewFile,BufRead *[mM]akefile,*.mk,*.mak,*.dsp setf make
|
||||
" MakeIndex
|
||||
au BufNewFile,BufRead *.ist,*.mst setf ist
|
||||
|
||||
" Mallard
|
||||
au BufNewFile,BufRead *.page setf mallard
|
||||
|
||||
" Manpage
|
||||
au BufNewFile,BufRead *.man setf man
|
||||
|
||||
@@ -1634,6 +1647,9 @@ au BufNewFile,BufRead resolv.conf setf resolv
|
||||
" Relax NG Compact
|
||||
au BufNewFile,BufRead *.rnc setf rnc
|
||||
|
||||
" Relax NG XML
|
||||
au BufNewFile,BufRead *.rng setf rng
|
||||
|
||||
" RPL/2
|
||||
au BufNewFile,BufRead *.rpl setf rpl
|
||||
|
||||
@@ -2184,8 +2200,12 @@ au BufNewFile,BufRead *.uc setf uc
|
||||
au BufNewFile,BufRead */etc/updatedb.conf setf updatedb
|
||||
|
||||
" Upstart (init(8)) config files
|
||||
au BufNewFile,BufRead */etc/init/*.conf,*/.init/*.conf setf upstart
|
||||
au BufNewFile,BufRead */etc/init/*.override,*/.init/*.override setf upstart
|
||||
au BufNewFile,BufRead */usr/share/upstart/*.conf setf upstart
|
||||
au BufNewFile,BufRead */usr/share/upstart/*.override setf upstart
|
||||
au BufNewFile,BufRead */etc/init/*.conf,*/etc/init/*.override setf upstart
|
||||
au BufNewFile,BufRead */.init/*.conf,*/.init/*.override setf upstart
|
||||
au BufNewFile,BufRead */.config/upstart/*.conf setf upstart
|
||||
au BufNewFile,BufRead */.config/upstart/*.override setf upstart
|
||||
|
||||
" Vera
|
||||
au BufNewFile,BufRead *.vr,*.vri,*.vrh setf vera
|
||||
@@ -2395,10 +2415,10 @@ endfunc
|
||||
au BufNewFile,BufRead *.yaml,*.yml setf yaml
|
||||
|
||||
" yum conf (close enough to dosini)
|
||||
au BufNewFile,BufRead */etc/yum.conf setf dosini
|
||||
au BufNewFile,BufRead */etc/yum.conf setf dosini
|
||||
|
||||
" Zimbu
|
||||
au BufNewFile,BufRead *.zu setf zimbu
|
||||
au BufNewFile,BufRead *.zu setf zimbu
|
||||
|
||||
" Zope
|
||||
" dtml (zope dynamic template markup language), pt (zope page template),
|
||||
@@ -2543,6 +2563,20 @@ au BufNewFile,BufRead *termcap*
|
||||
\| let b:ptcap_type = "term" | call s:StarSetf('ptcap')
|
||||
\|endif
|
||||
|
||||
" ReDIF
|
||||
" Only used when the .rdf file was not detected to be XML.
|
||||
au BufRead,BufNewFile *.rdf call s:Redif()
|
||||
func! s:Redif()
|
||||
let lnum = 1
|
||||
while lnum <= 5 && lnum < line('$')
|
||||
if getline(lnum) =~ "^\ctemplate-type:"
|
||||
setf redif
|
||||
return
|
||||
endif
|
||||
let lnum = lnum + 1
|
||||
endwhile
|
||||
endfunc
|
||||
|
||||
" Remind
|
||||
au BufNewFile,BufRead .reminders* call s:StarSetf('remind')
|
||||
|
||||
@@ -2571,7 +2605,7 @@ au BufNewFile,BufRead *xmodmap* call s:StarSetf('xmodmap')
|
||||
au BufNewFile,BufRead */etc/xinetd.d/* call s:StarSetf('xinetd')
|
||||
|
||||
" yum conf (close enough to dosini)
|
||||
au BufNewFile,BufRead */etc/yum.repos.d/* call s:StarSetf('dosini')
|
||||
au BufNewFile,BufRead */etc/yum.repos.d/* call s:StarSetf('dosini')
|
||||
|
||||
" Z-Shell script
|
||||
au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh')
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Aap recipe
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2003 Nov 04
|
||||
" Last Change: 2013 Apr 05
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -19,7 +19,7 @@ let b:undo_ftplugin = "setl fo< com< et<"
|
||||
setlocal fo-=t fo+=croql
|
||||
|
||||
" Set 'comments' to format dashed lists in comments.
|
||||
setlocal comments=s:#\ -,m:#\ \,e:#,n:#,fb:-
|
||||
setlocal comments=s:#\ -,m:#\ \ ,e:#,n:#,fb:-
|
||||
|
||||
" Expand tabs to spaces to avoid trouble.
|
||||
setlocal expandtab
|
||||
|
||||
29
runtime/ftplugin/abap.vim
Normal file
29
runtime/ftplugin/abap.vim
Normal file
@@ -0,0 +1,29 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: ABAP
|
||||
" Author: Steven Oliver <oliver.steven@gmail.com>
|
||||
" Copyright: Copyright (c) 2013 Steven Oliver
|
||||
" License: You may redistribute this under the same terms as Vim itself
|
||||
" --------------------------------------------------------------------------
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal softtabstop=2 shiftwidth=2
|
||||
setlocal suffixesadd=.abap
|
||||
|
||||
" Windows allows you to filter the open file dialog
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "ABAP Source Files (*.abap)\t*.abap\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: set sw=4 sts=4 et tw=80 :
|
||||
@@ -7,7 +7,7 @@
|
||||
" Neil Bird <neil@fnxweb.com>
|
||||
" $Author: krischik $
|
||||
" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
|
||||
" Version: 4.6
|
||||
" Version: 4.6 with patch from David Bürgin
|
||||
" $Revision: 887 $
|
||||
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/ftplugin/ada.vim $
|
||||
" History: 24.05.2006 MK Unified Headers
|
||||
@@ -42,7 +42,7 @@ set cpoptions-=C
|
||||
|
||||
" Section: Comments {{{1
|
||||
"
|
||||
setlocal comments=O:--,:--\ \
|
||||
setlocal comments=O:--,:--\ \
|
||||
setlocal commentstring=--\ \ %s
|
||||
setlocal complete=.,w,b,u,t,i
|
||||
|
||||
|
||||
79
runtime/ftplugin/clojure.vim
Normal file
79
runtime/ftplugin/clojure.vim
Normal file
@@ -0,0 +1,79 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Clojure
|
||||
" Author: Meikel Brandmeyer <mb@kotka.de>
|
||||
"
|
||||
" Maintainer: Sung Pae <self@sungpae.com>
|
||||
" URL: https://github.com/guns/vim-clojure-static
|
||||
" License: Same as Vim
|
||||
" Last Change: 30 January 2013
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = 'setlocal define< formatoptions< comments< commentstring<'
|
||||
|
||||
" There will be false positives, but this is better than missing the whole set
|
||||
" of user-defined def* definitions.
|
||||
setlocal define=\\v[(/]def(ault)@!\\S*
|
||||
|
||||
" Remove 't' from 'formatoptions' to avoid auto-wrapping code. The '+=croql'
|
||||
" is standard ftplugin boilerplate, although it is arguably intrusive.
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
" Lisp comments are routinely nested (e.g. ;;; SECTION HEADING)
|
||||
setlocal comments=n:;
|
||||
setlocal commentstring=;\ %s
|
||||
|
||||
" Provide insert mode completions for special forms and clojure.core. As
|
||||
" 'omnifunc' is set by popular Clojure REPL client plugins, we also set
|
||||
" 'completefunc' so that the user has some form of completion available when
|
||||
" 'omnifunc' is set and no REPL connection exists.
|
||||
for s:setting in ['omnifunc', 'completefunc']
|
||||
if exists('&' . s:setting) && empty(eval('&' . s:setting))
|
||||
execute 'setlocal ' . s:setting . '=clojurecomplete#Complete'
|
||||
let b:undo_ftplugin .= ' | setlocal ' . s:setting . '<'
|
||||
endif
|
||||
endfor
|
||||
|
||||
" Take all directories of the CLOJURE_SOURCE_DIRS environment variable
|
||||
" and add them to the path option.
|
||||
"
|
||||
" This is a legacy option for VimClojure users.
|
||||
if exists('$CLOJURE_SOURCE_DIRS')
|
||||
for s:dir in split($CLOJURE_SOURCE_DIRS, (has("win32") || has("win64")) ? ';' : ':')
|
||||
let s:dir = fnameescape(s:dir)
|
||||
" Whitespace escaping for Windows
|
||||
let s:dir = substitute(s:dir, '\', '\\\\', 'g')
|
||||
let s:dir = substitute(s:dir, '\ ', '\\ ', 'g')
|
||||
execute "setlocal path+=" . s:dir . "/**"
|
||||
endfor
|
||||
let b:undo_ftplugin .= ' | setlocal path<'
|
||||
endif
|
||||
|
||||
" Skip brackets in ignored syntax regions when using the % command
|
||||
if exists('loaded_matchit')
|
||||
let b:match_words = &matchpairs
|
||||
let b:match_skip = 's:comment\|string\|regex\|character'
|
||||
let b:undo_ftplugin .= ' | unlet! b:match_words b:match_skip'
|
||||
endif
|
||||
|
||||
" Win32 can filter files in the browse dialog
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Clojure Source Files (*.clj)\t*.clj\n" .
|
||||
\ "ClojureScript Source Files (*.cljs)\t*.cljs\n" .
|
||||
\ "Java Source Files (*.java)\t*.java\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin .= ' | unlet! b:browsefilter'
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
|
||||
unlet! s:cpo_save s:setting s:dir
|
||||
|
||||
" vim:sts=4 sw=4 et:
|
||||
@@ -4,7 +4,7 @@
|
||||
" URL: http://sites.google.com/site/khorser/opensource/vim
|
||||
" Original author: Dorai Sitaram <ds26@gte.com>
|
||||
" Original URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
|
||||
" Last Change: Mar 5, 2012
|
||||
" Last Change: Feb 12, 2013
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -19,10 +19,11 @@ setl define=^\\s*(def\\k*
|
||||
setl formatoptions-=t
|
||||
setl iskeyword+=+,-,*,/,%,<,=,>,:,$,?,!,@-@,94
|
||||
setl lisp
|
||||
setl commentstring=;%s
|
||||
|
||||
" make comments behaviour like in c.vim
|
||||
" e.g. insertion of ;;; and ;; on normal "O" or "o" when staying in comment
|
||||
setl comments^=:;;;,:;;,sr:#\|,mb:\|,ex:\|#
|
||||
setl formatoptions+=croql
|
||||
|
||||
let b:undo_ftplugin = "setlocal comments< define< formatoptions< iskeyword< lisp<"
|
||||
let b:undo_ftplugin = "setlocal comments< define< formatoptions< iskeyword< lisp< commentstring<"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" URL: http://sites.google.com/site/khorser/opensource/vim
|
||||
" Original author: Dorai Sitaram <ds26@gte.com>
|
||||
" Original URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
|
||||
" Last Change: Mar 5, 2012
|
||||
" Last Change: Feb 12, 2013
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -20,6 +20,7 @@ setl define=^\\s*(def\\k*
|
||||
setl formatoptions-=t
|
||||
setl iskeyword+=+,-,*,/,%,<,=,>,:,$,?,!,@-@,94
|
||||
setl lisp
|
||||
setl commentstring=;%s
|
||||
|
||||
" make comments behaviour like in c.vim
|
||||
" e.g. insertion of ;;; and ;; on normal "O" or "o" when staying in comment
|
||||
@@ -44,4 +45,4 @@ if exists("b:is_chicken") || exists("is_chicken")
|
||||
setl lispwords+=cond-expand,and-let*,foreign-lambda,foreign-lambda*
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setlocal comments< define< formatoptions< iskeyword< lispwords< lisp<"
|
||||
let b:undo_ftplugin = "setlocal comments< define< formatoptions< iskeyword< lispwords< lisp< commentstring<"
|
||||
|
||||
398
runtime/indent/clojure.vim
Normal file
398
runtime/indent/clojure.vim
Normal file
@@ -0,0 +1,398 @@
|
||||
" Vim indent file
|
||||
" Language: Clojure
|
||||
" Author: Meikel Brandmeyer <mb@kotka.de>
|
||||
" URL: http://kotka.de/projects/clojure/vimclojure.html
|
||||
"
|
||||
" Maintainer: Sung Pae <self@sungpae.com>
|
||||
" URL: https://github.com/guns/vim-clojure-static
|
||||
" License: Same as Vim
|
||||
" Last Change: 30 January 2013
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_indent = 'setlocal autoindent< smartindent< lispwords< expandtab< softtabstop< shiftwidth< indentexpr< indentkeys<'
|
||||
|
||||
setlocal noautoindent nosmartindent
|
||||
setlocal softtabstop=2 shiftwidth=2 expandtab
|
||||
setlocal indentkeys=!,o,O
|
||||
|
||||
if exists("*searchpairpos")
|
||||
|
||||
if !exists('g:clojure_maxlines')
|
||||
let g:clojure_maxlines = 100
|
||||
endif
|
||||
|
||||
if !exists('g:clojure_fuzzy_indent')
|
||||
let g:clojure_fuzzy_indent = 1
|
||||
endif
|
||||
|
||||
if !exists('g:clojure_fuzzy_indent_patterns')
|
||||
let g:clojure_fuzzy_indent_patterns = ['^with', '^def', '^let']
|
||||
endif
|
||||
|
||||
if !exists('g:clojure_fuzzy_indent_blacklist')
|
||||
let g:clojure_fuzzy_indent_blacklist = ['-fn$', '\v^with-%(meta|out-str|loading-context)$']
|
||||
endif
|
||||
|
||||
if !exists('g:clojure_special_indent_words')
|
||||
let g:clojure_special_indent_words = 'deftype,defrecord,reify,proxy,extend-type,extend-protocol,letfn'
|
||||
endif
|
||||
|
||||
if !exists('g:clojure_align_multiline_strings')
|
||||
let g:clojure_align_multiline_strings = 0
|
||||
endif
|
||||
|
||||
function! s:SynIdName()
|
||||
return synIDattr(synID(line("."), col("."), 0), "name")
|
||||
endfunction
|
||||
|
||||
function! s:CurrentChar()
|
||||
return getline('.')[col('.')-1]
|
||||
endfunction
|
||||
|
||||
function! s:CurrentWord()
|
||||
return getline('.')[col('.')-1 : searchpos('\v>', 'n', line('.'))[1]-2]
|
||||
endfunction
|
||||
|
||||
function! s:IsParen()
|
||||
return s:CurrentChar() =~ '\v[\(\)\[\]\{\}]' &&
|
||||
\ s:SynIdName() !~? '\vstring|comment'
|
||||
endfunction
|
||||
|
||||
" Returns 1 if string matches a pattern in 'patterns', which may be a
|
||||
" list of patterns, or a comma-delimited string of implicitly anchored
|
||||
" patterns.
|
||||
function! s:MatchesOne(patterns, string)
|
||||
let list = type(a:patterns) == type([])
|
||||
\ ? a:patterns
|
||||
\ : map(split(a:patterns, ','), '"^" . v:val . "$"')
|
||||
for pat in list
|
||||
if a:string =~ pat | return 1 | endif
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
function! s:SavePosition()
|
||||
let [ _b, l, c, _o ] = getpos(".")
|
||||
let b = bufnr("%")
|
||||
return [b, l, c]
|
||||
endfunction
|
||||
|
||||
function! s:RestorePosition(value)
|
||||
let [b, l, c] = a:value
|
||||
if bufnr("%") != b
|
||||
execute b "buffer!"
|
||||
endif
|
||||
call setpos(".", [0, l, c, 0])
|
||||
endfunction
|
||||
|
||||
function! s:MatchPairs(open, close, stopat)
|
||||
" Stop only on vector and map [ resp. {. Ignore the ones in strings and
|
||||
" comments.
|
||||
if a:stopat == 0
|
||||
let stopat = max([line(".") - g:clojure_maxlines, 0])
|
||||
else
|
||||
let stopat = a:stopat
|
||||
endif
|
||||
|
||||
let pos = searchpairpos(a:open, '', a:close, 'bWn', "!s:IsParen()", stopat)
|
||||
return [pos[0], virtcol(pos)]
|
||||
endfunction
|
||||
|
||||
function! s:ClojureCheckForStringWorker()
|
||||
" Check whether there is the last character of the previous line is
|
||||
" highlighted as a string. If so, we check whether it's a ". In this
|
||||
" case we have to check also the previous character. The " might be the
|
||||
" closing one. In case the we are still in the string, we search for the
|
||||
" opening ". If this is not found we take the indent of the line.
|
||||
let nb = prevnonblank(v:lnum - 1)
|
||||
|
||||
if nb == 0
|
||||
return -1
|
||||
endif
|
||||
|
||||
call cursor(nb, 0)
|
||||
call cursor(0, col("$") - 1)
|
||||
if s:SynIdName() !~? "string"
|
||||
return -1
|
||||
endif
|
||||
|
||||
" This will not work for a " in the first column...
|
||||
if s:CurrentChar() == '"'
|
||||
call cursor(0, col("$") - 2)
|
||||
if s:SynIdName() !~? "string"
|
||||
return -1
|
||||
endif
|
||||
if s:CurrentChar() != '\\'
|
||||
return -1
|
||||
endif
|
||||
call cursor(0, col("$") - 1)
|
||||
endif
|
||||
|
||||
let p = searchpos('\(^\|[^\\]\)\zs"', 'bW')
|
||||
|
||||
if p != [0, 0]
|
||||
return p[1] - 1
|
||||
endif
|
||||
|
||||
return indent(".")
|
||||
endfunction
|
||||
|
||||
function! s:CheckForString()
|
||||
let pos = s:SavePosition()
|
||||
try
|
||||
let val = s:ClojureCheckForStringWorker()
|
||||
finally
|
||||
call s:RestorePosition(pos)
|
||||
endtry
|
||||
return val
|
||||
endfunction
|
||||
|
||||
function! s:ClojureIsMethodSpecialCaseWorker(position)
|
||||
" Find the next enclosing form.
|
||||
call search('\S', 'Wb')
|
||||
|
||||
" Special case: we are at a '(('.
|
||||
if s:CurrentChar() == '('
|
||||
return 0
|
||||
endif
|
||||
call cursor(a:position)
|
||||
|
||||
let nextParen = s:MatchPairs('(', ')', 0)
|
||||
|
||||
" Special case: we are now at toplevel.
|
||||
if nextParen == [0, 0]
|
||||
return 0
|
||||
endif
|
||||
call cursor(nextParen)
|
||||
|
||||
call search('\S', 'W')
|
||||
if g:clojure_special_indent_words =~ '\<' . s:CurrentWord() . '\>'
|
||||
return 1
|
||||
endif
|
||||
|
||||
return 0
|
||||
endfunction
|
||||
|
||||
function! s:IsMethodSpecialCase(position)
|
||||
let pos = s:SavePosition()
|
||||
try
|
||||
let val = s:ClojureIsMethodSpecialCaseWorker(a:position)
|
||||
finally
|
||||
call s:RestorePosition(pos)
|
||||
endtry
|
||||
return val
|
||||
endfunction
|
||||
|
||||
function! GetClojureIndent()
|
||||
" Get rid of special case.
|
||||
if line(".") == 1
|
||||
return 0
|
||||
endif
|
||||
|
||||
" We have to apply some heuristics here to figure out, whether to use
|
||||
" normal lisp indenting or not.
|
||||
let i = s:CheckForString()
|
||||
if i > -1
|
||||
return i + !!g:clojure_align_multiline_strings
|
||||
endif
|
||||
|
||||
call cursor(0, 1)
|
||||
|
||||
" Find the next enclosing [ or {. We can limit the second search
|
||||
" to the line, where the [ was found. If no [ was there this is
|
||||
" zero and we search for an enclosing {.
|
||||
let paren = s:MatchPairs('(', ')', 0)
|
||||
let bracket = s:MatchPairs('\[', '\]', paren[0])
|
||||
let curly = s:MatchPairs('{', '}', bracket[0])
|
||||
|
||||
" In case the curly brace is on a line later then the [ or - in
|
||||
" case they are on the same line - in a higher column, we take the
|
||||
" curly indent.
|
||||
if curly[0] > bracket[0] || curly[1] > bracket[1]
|
||||
if curly[0] > paren[0] || curly[1] > paren[1]
|
||||
return curly[1]
|
||||
endif
|
||||
endif
|
||||
|
||||
" If the curly was not chosen, we take the bracket indent - if
|
||||
" there was one.
|
||||
if bracket[0] > paren[0] || bracket[1] > paren[1]
|
||||
return bracket[1]
|
||||
endif
|
||||
|
||||
" There are neither { nor [ nor (, ie. we are at the toplevel.
|
||||
if paren == [0, 0]
|
||||
return 0
|
||||
endif
|
||||
|
||||
" Now we have to reimplement lispindent. This is surprisingly easy, as
|
||||
" soon as one has access to syntax items.
|
||||
"
|
||||
" - Check whether we are in a special position after a word in
|
||||
" g:clojure_special_indent_words. These are special cases.
|
||||
" - Get the next keyword after the (.
|
||||
" - If its first character is also a (, we have another sexp and align
|
||||
" one column to the right of the unmatched (.
|
||||
" - In case it is in lispwords, we indent the next line to the column of
|
||||
" the ( + sw.
|
||||
" - If not, we check whether it is last word in the line. In that case
|
||||
" we again use ( + sw for indent.
|
||||
" - In any other case we use the column of the end of the word + 2.
|
||||
call cursor(paren)
|
||||
|
||||
if s:IsMethodSpecialCase(paren)
|
||||
return paren[1] + &shiftwidth - 1
|
||||
endif
|
||||
|
||||
" In case we are at the last character, we use the paren position.
|
||||
if col("$") - 1 == paren[1]
|
||||
return paren[1]
|
||||
endif
|
||||
|
||||
" In case after the paren is a whitespace, we search for the next word.
|
||||
normal! l
|
||||
if s:CurrentChar() == ' '
|
||||
normal! w
|
||||
endif
|
||||
|
||||
" If we moved to another line, there is no word after the (. We
|
||||
" use the ( position for indent.
|
||||
if line(".") > paren[0]
|
||||
return paren[1]
|
||||
endif
|
||||
|
||||
" We still have to check, whether the keyword starts with a (, [ or {.
|
||||
" In that case we use the ( position for indent.
|
||||
let w = s:CurrentWord()
|
||||
if stridx('([{', w[0]) > -1
|
||||
return paren[1]
|
||||
endif
|
||||
|
||||
" Test words without namespace qualifiers and leading reader macro
|
||||
" metacharacters.
|
||||
"
|
||||
" e.g. clojure.core/defn and #'defn should both indent like defn.
|
||||
let ww = substitute(w, "\\v%(.*/|[#'`~@^,]*)(.*)", '\1', '')
|
||||
|
||||
if &lispwords =~ '\V\<' . ww . '\>'
|
||||
return paren[1] + &shiftwidth - 1
|
||||
endif
|
||||
|
||||
if g:clojure_fuzzy_indent
|
||||
\ && !s:MatchesOne(g:clojure_fuzzy_indent_blacklist, ww)
|
||||
\ && s:MatchesOne(g:clojure_fuzzy_indent_patterns, ww)
|
||||
return paren[1] + &shiftwidth - 1
|
||||
endif
|
||||
|
||||
normal! W
|
||||
if paren[0] < line(".")
|
||||
return paren[1] + &shiftwidth - 1
|
||||
endif
|
||||
|
||||
normal! ge
|
||||
return virtcol(".") + 1
|
||||
endfunction
|
||||
|
||||
setlocal indentexpr=GetClojureIndent()
|
||||
|
||||
else
|
||||
|
||||
" In case we have searchpairpos not available we fall back to
|
||||
" normal lisp indenting.
|
||||
setlocal indentexpr=
|
||||
setlocal lisp
|
||||
let b:undo_indent .= '| setlocal lisp<'
|
||||
|
||||
endif
|
||||
|
||||
" Specially indented symbols from clojure.core and clojure.test.
|
||||
"
|
||||
" Clojure symbols are indented in the defn style when they:
|
||||
"
|
||||
" * Define vars and anonymous functions
|
||||
" * Create new lexical scopes or scopes with altered environments
|
||||
" * Create conditional branches from a predicate function or value
|
||||
"
|
||||
" The arglists for these functions are generally in the form of [x & body];
|
||||
" Functions that accept a flat list of forms do not treat the first argument
|
||||
" specially and hence are not indented specially.
|
||||
|
||||
" Definitions
|
||||
setlocal lispwords=
|
||||
setlocal lispwords+=bound-fn
|
||||
setlocal lispwords+=def
|
||||
setlocal lispwords+=definline
|
||||
setlocal lispwords+=definterface
|
||||
setlocal lispwords+=defmacro
|
||||
setlocal lispwords+=defmethod
|
||||
setlocal lispwords+=defmulti
|
||||
setlocal lispwords+=defn
|
||||
setlocal lispwords+=defn-
|
||||
setlocal lispwords+=defonce
|
||||
setlocal lispwords+=defprotocol
|
||||
setlocal lispwords+=defrecord
|
||||
setlocal lispwords+=defstruct
|
||||
setlocal lispwords+=deftest " clojure.test
|
||||
setlocal lispwords+=deftest- " clojure.test
|
||||
setlocal lispwords+=deftype
|
||||
setlocal lispwords+=extend
|
||||
setlocal lispwords+=extend-protocol
|
||||
setlocal lispwords+=extend-type
|
||||
setlocal lispwords+=fn
|
||||
setlocal lispwords+=ns
|
||||
setlocal lispwords+=proxy
|
||||
setlocal lispwords+=reify
|
||||
setlocal lispwords+=set-test " clojure.test
|
||||
|
||||
" Binding forms
|
||||
setlocal lispwords+=as->
|
||||
setlocal lispwords+=binding
|
||||
setlocal lispwords+=doall
|
||||
setlocal lispwords+=dorun
|
||||
setlocal lispwords+=doseq
|
||||
setlocal lispwords+=dotimes
|
||||
setlocal lispwords+=doto
|
||||
setlocal lispwords+=for
|
||||
setlocal lispwords+=if-let
|
||||
setlocal lispwords+=let
|
||||
setlocal lispwords+=letfn
|
||||
setlocal lispwords+=locking
|
||||
setlocal lispwords+=loop
|
||||
setlocal lispwords+=testing " clojure.test
|
||||
setlocal lispwords+=when-first
|
||||
setlocal lispwords+=when-let
|
||||
setlocal lispwords+=with-bindings
|
||||
setlocal lispwords+=with-in-str
|
||||
setlocal lispwords+=with-local-vars
|
||||
setlocal lispwords+=with-open
|
||||
setlocal lispwords+=with-precision
|
||||
setlocal lispwords+=with-redefs
|
||||
setlocal lispwords+=with-redefs-fn
|
||||
setlocal lispwords+=with-test " clojure.test
|
||||
|
||||
" Conditional branching
|
||||
setlocal lispwords+=case
|
||||
setlocal lispwords+=cond->
|
||||
setlocal lispwords+=cond->>
|
||||
setlocal lispwords+=condp
|
||||
setlocal lispwords+=if
|
||||
setlocal lispwords+=if-not
|
||||
setlocal lispwords+=when
|
||||
setlocal lispwords+=when-not
|
||||
setlocal lispwords+=while
|
||||
|
||||
" Exception handling
|
||||
setlocal lispwords+=catch
|
||||
setlocal lispwords+=try " For aesthetics when enclosing single line
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet! s:save_cpo
|
||||
|
||||
" vim:sts=4 sw=4 et:
|
||||
@@ -5,7 +5,6 @@
|
||||
" Credits: Thanks to the ruby.vim authors, I borrow a lot!
|
||||
" Previous Maintainer: Brent A. Fulgham <bfulgham@debian.org>
|
||||
" -----------------------------------------------------------
|
||||
" GetLatestVimScripts: 2752 1 :AutoInstall: falcon.vim
|
||||
|
||||
"======================================
|
||||
" SETUP
|
||||
@@ -132,7 +131,7 @@ function FalconGetIndent()
|
||||
" If previous line ends in a semi-colon reset indent to previous
|
||||
" lines setting
|
||||
if prevline =~? ';\s*$' && prevnonblank(prevline) =~? ',\s*$'
|
||||
return chg = chg - (2 * &sw)
|
||||
let chg = chg - (2 * &sw)
|
||||
endif
|
||||
|
||||
" If previous line ended in a comma, indent again
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
" Vim indent file
|
||||
" Language: R
|
||||
" Author: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Fri Oct 14, 2011 09:50PM
|
||||
" Last Change: Fri Feb 15, 2013 08:11PM
|
||||
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_r_indent")
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_r_indent = 1
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentkeys=0{,0},:,!^F,o,O,e
|
||||
setlocal indentexpr=GetRIndent()
|
||||
|
||||
@@ -73,7 +73,7 @@ function! GetSDLIndent()
|
||||
|
||||
" Systems and packages are always in column 0
|
||||
if getline(v:lnum) =~? '^\s*\(\(end\)\=system\|\(end\)\=package\)'
|
||||
return 0;
|
||||
return 0
|
||||
endif
|
||||
|
||||
" Put each end* where the corresponding begin was
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"
|
||||
" Menu Translations: Japanese (EUC-JP)
|
||||
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Last Change: 15-Jun-2012.
|
||||
" Last Change: 24-Feb-2013.
|
||||
"
|
||||
" Copyright (C) 2001-12 MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
|
||||
@@ -241,6 +241,8 @@ menutrans &Paste Ž
|
||||
menutrans &Delete <09><><EFBFBD><EFBFBD>(&D)
|
||||
menutrans Select\ Blockwise <09><><EFBFBD><EFBFBD><EFBFBD>֥<EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans Select\ &Word ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)
|
||||
menutrans Select\ &Sentence ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
|
||||
menutrans Select\ Pa&ragraph <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)
|
||||
menutrans Select\ &Line <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&L)
|
||||
menutrans Select\ &Block <09>֥<EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&B)
|
||||
menutrans Select\ &All <09><><EFBFBD>٤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&A)
|
||||
@@ -301,12 +303,12 @@ menutrans &Convert\ to\ HTML HTML
|
||||
" <20><><EFBFBD>ݤ<EFBFBD>iconv<6E><76><EFBFBD>衢ɬ<E8A1A2><C9AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤷ<EFBFBD><EAA4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F3A5B3A1>ɤˤʤ<CBA4><CAA4>櫓<EFBFBD>ǤϤʤ<CFA4><CAA4><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD>
|
||||
if has('iconv')
|
||||
" iconv<6E>ΥС<CEA5><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƚ<EFBFBD><C8BD>
|
||||
let support_jisx0213 = (iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb") ? 1 : 0
|
||||
"
|
||||
let s:support_jisx0213 = (iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb") ? 1 : 0
|
||||
|
||||
" <20>ɤ߹<C9A4><DFB9><EFBFBD>
|
||||
an 10.395 &File.-SEPICONV- <Nop>
|
||||
an 10.396.100.100 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><><EFBFBD><EFBFBD>(&O)\.\.\..SJIS(&S)<Tab>fenc=cp932 :browse confirm e ++enc=cp932<CR>
|
||||
if !support_jisx0213
|
||||
if !s:support_jisx0213
|
||||
an 10.396.100.110 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><><EFBFBD><EFBFBD>(&O)\.\.\..EUC(&E)<Tab>fenc=euc-jp :browse confirm e ++enc=euc-jp<CR>
|
||||
an 10.396.100.120 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><><EFBFBD><EFBFBD>(&O)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :browse confirm e ++enc=iso-2022-jp<CR>
|
||||
else
|
||||
@@ -317,7 +319,7 @@ if has('iconv')
|
||||
|
||||
" <20><><EFBFBD>ɹ<EFBFBD>
|
||||
an 10.396.110.100 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><><EFBFBD>ɹ<EFBFBD>(&R)\.\.\..SJIS(&S)<Tab>fenc=cp932 :e ++enc=cp932<CR>
|
||||
if !support_jisx0213
|
||||
if !s:support_jisx0213
|
||||
an 10.396.110.110 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><><EFBFBD>ɹ<EFBFBD>(&R)\.\.\..EUC(&E)<Tab>fenc=euc-jp :e ++enc=euc-jp<CR>
|
||||
an 10.396.110.120 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><><EFBFBD>ɹ<EFBFBD>(&R)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :e ++enc=iso-2022-jp<CR>
|
||||
else
|
||||
@@ -329,7 +331,7 @@ if has('iconv')
|
||||
" <20><>¸
|
||||
an 10.396.115 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..-SEP1- <Nop>
|
||||
an 10.396.120.100 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><>¸(&S)\.\.\..SJIS(&S)<Tab>fenc=cp932 :set fenc=cp932 \| w<CR>
|
||||
if !support_jisx0213
|
||||
if !s:support_jisx0213
|
||||
an 10.396.120.110 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><>¸(&S)\.\.\..EUC(&E)<Tab>fenc=euc-jp :set fenc=euc-jp \| w<CR>
|
||||
an 10.396.120.120 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><>¸(&S)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :set fenc=iso-2022-jp \| w<CR>
|
||||
else
|
||||
@@ -337,6 +339,8 @@ if has('iconv')
|
||||
an 10.396.120.120 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><>¸(&S)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp-3 :set fenc=iso-2022-jp-3 \| w<CR>
|
||||
endif
|
||||
an 10.396.120.130 &File.<2E><><EFBFBD><EFBFBD><F3A5B3A1>ɻ<EFBFBD><EFBFBD><EFBFBD>(&E)\.\.\..<2E><>¸(&S)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :set fenc=utf-8 \| w<CR>
|
||||
|
||||
unlet s:support_jisx0213
|
||||
endif
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"
|
||||
" Menu Translations: Japanese (UTF-8)
|
||||
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Last Change: 15-Jun-2012.
|
||||
" Last Change: 24-Feb-2013.
|
||||
"
|
||||
" Copyright (C) 2001-12 MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
|
||||
@@ -241,6 +241,8 @@ menutrans &Paste 貼り付け(&P)
|
||||
menutrans &Delete 削除(&D)
|
||||
menutrans Select\ Blockwise 矩形ブロック選択
|
||||
menutrans Select\ &Word 単語選択(&W)
|
||||
menutrans Select\ &Sentence 文選択(&S)
|
||||
menutrans Select\ Pa&ragraph 段落選択(&R)
|
||||
menutrans Select\ &Line 行選択(&L)
|
||||
menutrans Select\ &Block ブロック選択(&B)
|
||||
menutrans Select\ &All すべて選択(&A)
|
||||
@@ -301,12 +303,12 @@ menutrans &Convert\ to\ HTML HTMLへコンバート(&C)
|
||||
" 成否はiconv次第、必ずしも指定したエンコードになるわけではないことに注意
|
||||
if has('iconv')
|
||||
" iconvのバージョン判定
|
||||
let support_jisx0213 = (iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb") ? 1 : 0
|
||||
"
|
||||
let s:support_jisx0213 = (iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb") ? 1 : 0
|
||||
|
||||
" 読み込み
|
||||
an 10.395 &File.-SEPICONV- <Nop>
|
||||
an 10.396.100.100 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..SJIS(&S)<Tab>fenc=cp932 :browse confirm e ++enc=cp932<CR>
|
||||
if !support_jisx0213
|
||||
if !s:support_jisx0213
|
||||
an 10.396.100.110 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..EUC(&E)<Tab>fenc=euc-jp :browse confirm e ++enc=euc-jp<CR>
|
||||
an 10.396.100.120 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :browse confirm e ++enc=iso-2022-jp<CR>
|
||||
else
|
||||
@@ -317,7 +319,7 @@ if has('iconv')
|
||||
|
||||
" 再読込
|
||||
an 10.396.110.100 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..SJIS(&S)<Tab>fenc=cp932 :e ++enc=cp932<CR>
|
||||
if !support_jisx0213
|
||||
if !s:support_jisx0213
|
||||
an 10.396.110.110 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..EUC(&E)<Tab>fenc=euc-jp :e ++enc=euc-jp<CR>
|
||||
an 10.396.110.120 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :e ++enc=iso-2022-jp<CR>
|
||||
else
|
||||
@@ -329,7 +331,7 @@ if has('iconv')
|
||||
" 保存
|
||||
an 10.396.115 &File.エンコード指定(&E)\.\.\..-SEP1- <Nop>
|
||||
an 10.396.120.100 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..SJIS(&S)<Tab>fenc=cp932 :set fenc=cp932 \| w<CR>
|
||||
if !support_jisx0213
|
||||
if !s:support_jisx0213
|
||||
an 10.396.120.110 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..EUC(&E)<Tab>fenc=euc-jp :set fenc=euc-jp \| w<CR>
|
||||
an 10.396.120.120 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :set fenc=iso-2022-jp \| w<CR>
|
||||
else
|
||||
@@ -337,6 +339,8 @@ if has('iconv')
|
||||
an 10.396.120.120 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp-3 :set fenc=iso-2022-jp-3 \| w<CR>
|
||||
endif
|
||||
an 10.396.120.130 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :set fenc=utf-8 \| w<CR>
|
||||
|
||||
unlet s:support_jisx0213
|
||||
endif
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"
|
||||
" Menu Translations: Japanese (CP932)
|
||||
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Last Change: 15-Jun-2012.
|
||||
" Last Change: 24-Feb-2013.
|
||||
"
|
||||
" Copyright (C) 2001-12 MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
|
||||
@@ -241,6 +241,8 @@ menutrans &Paste
|
||||
menutrans &Delete <09>폜(&D)
|
||||
menutrans Select\ Blockwise <09><><EFBFBD>`<60>u<EFBFBD><EFBFBD><EFBFBD>b<EFBFBD>N<EFBFBD>I<EFBFBD><EFBFBD>
|
||||
menutrans Select\ &Word <09>P<EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><EFBFBD>(&W)
|
||||
menutrans Select\ &Sentence <09><><EFBFBD>I<EFBFBD><EFBFBD>(&S)
|
||||
menutrans Select\ Pa&ragraph <09>i<EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><EFBFBD>(&R)
|
||||
menutrans Select\ &Line <09>s<EFBFBD>I<EFBFBD><EFBFBD>(&L)
|
||||
menutrans Select\ &Block <09>u<EFBFBD><EFBFBD><EFBFBD>b<EFBFBD>N<EFBFBD>I<EFBFBD><EFBFBD>(&B)
|
||||
menutrans Select\ &All <09><><EFBFBD>ׂđI<EFBFBD><EFBFBD>(&A)
|
||||
@@ -301,12 +303,12 @@ menutrans &Convert\ to\ HTML HTML
|
||||
" <20><><EFBFBD>ۂ<EFBFBD>iconv<6E><76><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>K<EFBFBD><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>w<EFBFBD>肵<EFBFBD><E882B5><EFBFBD>G<EFBFBD><47><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>ɂȂ<C982><C882>킯<EFBFBD>ł͂Ȃ<CD82><C882><EFBFBD><EFBFBD>Ƃɒ<C682><C992><EFBFBD>
|
||||
if has('iconv')
|
||||
" iconv<6E>̃o<CC83>[<5B>W<EFBFBD><57><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
let support_jisx0213 = (iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb") ? 1 : 0
|
||||
"
|
||||
let s:support_jisx0213 = (iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb") ? 1 : 0
|
||||
|
||||
" <20>ǂݍ<C782><DD8D><EFBFBD>
|
||||
an 10.395 &File.-SEPICONV- <Nop>
|
||||
an 10.396.100.100 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>J<EFBFBD><EFBFBD>(&O)\.\.\..SJIS(&S)<Tab>fenc=cp932 :browse confirm e ++enc=cp932<CR>
|
||||
if !support_jisx0213
|
||||
if !s:support_jisx0213
|
||||
an 10.396.100.110 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>J<EFBFBD><EFBFBD>(&O)\.\.\..EUC(&E)<Tab>fenc=euc-jp :browse confirm e ++enc=euc-jp<CR>
|
||||
an 10.396.100.120 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>J<EFBFBD><EFBFBD>(&O)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :browse confirm e ++enc=iso-2022-jp<CR>
|
||||
else
|
||||
@@ -317,7 +319,7 @@ if has('iconv')
|
||||
|
||||
" <20>ēǍ<C493>
|
||||
an 10.396.110.100 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>ēǍ<EFBFBD>(&R)\.\.\..SJIS(&S)<Tab>fenc=cp932 :e ++enc=cp932<CR>
|
||||
if !support_jisx0213
|
||||
if !s:support_jisx0213
|
||||
an 10.396.110.110 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>ēǍ<EFBFBD>(&R)\.\.\..EUC(&E)<Tab>fenc=euc-jp :e ++enc=euc-jp<CR>
|
||||
an 10.396.110.120 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>ēǍ<EFBFBD>(&R)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :e ++enc=iso-2022-jp<CR>
|
||||
else
|
||||
@@ -329,7 +331,7 @@ if has('iconv')
|
||||
" <20>ۑ<EFBFBD>
|
||||
an 10.396.115 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..-SEP1- <Nop>
|
||||
an 10.396.120.100 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>ۑ<EFBFBD>(&S)\.\.\..SJIS(&S)<Tab>fenc=cp932 :set fenc=cp932 \| w<CR>
|
||||
if !support_jisx0213
|
||||
if !s:support_jisx0213
|
||||
an 10.396.120.110 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>ۑ<EFBFBD>(&S)\.\.\..EUC(&E)<Tab>fenc=euc-jp :set fenc=euc-jp \| w<CR>
|
||||
an 10.396.120.120 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>ۑ<EFBFBD>(&S)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :set fenc=iso-2022-jp \| w<CR>
|
||||
else
|
||||
@@ -337,6 +339,8 @@ if has('iconv')
|
||||
an 10.396.120.120 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>ۑ<EFBFBD>(&S)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp-3 :set fenc=iso-2022-jp-3 \| w<CR>
|
||||
endif
|
||||
an 10.396.120.130 &File.<2E>G<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B>h<EFBFBD>w<EFBFBD><EFBFBD>(&E)\.\.\..<2E>ۑ<EFBFBD>(&S)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :set fenc=utf-8 \| w<CR>
|
||||
|
||||
unlet s:support_jisx0213
|
||||
endif
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim Plugin: Edit the file with an existing Vim if possible
|
||||
" Maintainer: Bram Moolenaar
|
||||
" Last Change: 2008 May 29
|
||||
" Last Change: 2013 Feb 24
|
||||
|
||||
" This is a plugin, drop it in your (Unix) ~/.vim/plugin or (Win32)
|
||||
" $VIM/vimfiles/plugin directory. Or make a symbolic link, so that you
|
||||
@@ -98,7 +98,7 @@ func! EditExisting(fname, command)
|
||||
" Make this tab page the current one and find the window number.
|
||||
exe 'tabnext ' . (i + 1)
|
||||
let winnr = bufwinnr(a:fname)
|
||||
break;
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" These commands create the option window.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2012 Feb 22
|
||||
" Last Change: 2013 Apr 05
|
||||
|
||||
" If there already is an option window, jump to that one.
|
||||
if bufwinnr("option-window") > 0
|
||||
@@ -1035,6 +1035,8 @@ if has("wildignore")
|
||||
call append("$", "wildignore\tlist of patterns to ignore files for file name completion")
|
||||
call <SID>OptionG("wig", &wig)
|
||||
endif
|
||||
call append("$", "fileignorecase\tignore case when using file names")
|
||||
call <SID>BinOptionG("fic", &fic)
|
||||
call append("$", "wildignorecase\tignore case when completing file names")
|
||||
call <SID>BinOptionG("wic", &wic)
|
||||
if has("wildmenu")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim plugin for showing matching parens
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2011 Aug 27
|
||||
" Last Change: 2013 Mar 19
|
||||
|
||||
" Exit quickly when:
|
||||
" - this plugin was already loaded (or disabled)
|
||||
@@ -14,6 +14,9 @@ let g:loaded_matchparen = 1
|
||||
augroup matchparen
|
||||
" Replace all matchparen autocommands
|
||||
autocmd! CursorMoved,CursorMovedI,WinEnter * call s:Highlight_Matching_Pair()
|
||||
if exists('##TextChanged')
|
||||
autocmd! TextChanged,TextChangedI * call s:Highlight_Matching_Pair()
|
||||
endif
|
||||
augroup END
|
||||
|
||||
" Skip the rest if it was already done.
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
*** br_FR.aff.orig 2012-08-01 22:40:24.000000000 +0200
|
||||
--- br_FR.aff 2012-08-01 22:46:03.028851510 +0200
|
||||
***************
|
||||
*** 13,20 ****
|
||||
SET UTF-8
|
||||
TRY esiaùnñrtolcdugmphbyfvkwzESIAÙNÑRTOLCDUGMPHBYFVKWZ'
|
||||
|
||||
# Permet à l'utilitaire en ligne de commande hunspell de fonctionner avec les mots contenant des quotes (lec'hienn, ...)
|
||||
! WORDCHARS '
|
||||
|
||||
FLAG long
|
||||
|
||||
--- 13,22 ----
|
||||
SET UTF-8
|
||||
TRY esiaùnñrtolcdugmphbyfvkwzESIAÙNÑRTOLCDUGMPHBYFVKWZ'
|
||||
|
||||
+ MIDWORD '
|
||||
+
|
||||
# Permet à l'utilitaire en ligne de commande hunspell de fonctionner avec les mots contenant des quotes (lec'hienn, ...)
|
||||
! WORDCHARS '-
|
||||
|
||||
FLAG long
|
||||
|
||||
|
||||
@@ -25,16 +25,16 @@ $SPELLDIR/br.utf-8.spl : $FILES
|
||||
#
|
||||
# Fetching the files from OpenOffice.org.
|
||||
#
|
||||
OODIR = http://extensions.services.openoffice.org/e-files/2207/6
|
||||
:attr {fetch = $OODIR/%file%} dict-br_0.8.oxt
|
||||
OODIR = http://extensions.libreoffice.org/extension-center/an-drouizig-breton-spellchecker/releases/0.11/
|
||||
:attr {fetch = $OODIR/%file%} dict-br-0.11.oxt
|
||||
|
||||
# The files don't depend on the .zip file so that we can delete it.
|
||||
# Only download the zip file if the targets don't exist.
|
||||
br_FR.aff br_FR.dic: {buildcheck=}
|
||||
:assertpkg unzip patch
|
||||
:fetch dict-br_0.8.oxt
|
||||
:sys $UNZIP dict-br_0.8.oxt
|
||||
:delete dict-br_0.8.oxt
|
||||
:fetch dict-br-0.11.oxt
|
||||
:sys $UNZIP dict-br-0.11.oxt
|
||||
:delete dict-br-0.11.oxt
|
||||
:copy dictionaries/br_FR.aff br_FR.aff
|
||||
:copy dictionaries/br_FR.dic br_FR.dic
|
||||
# The br_FR.aff file contains a BOM, remove it.
|
||||
@@ -65,12 +65,12 @@ diff:
|
||||
|
||||
check:
|
||||
:assertpkg unzip diff
|
||||
:fetch dict-br_0.8.oxt
|
||||
:fetch dict-br-0.11.oxt
|
||||
:mkdir tmp
|
||||
:cd tmp
|
||||
@try:
|
||||
@import stat
|
||||
:sys $UNZIP ../dict-br_0.8.oxt
|
||||
:sys $UNZIP ../dict-br-0.11.oxt
|
||||
:sys {force} diff ../dictionaries/br_FR.aff br_FR.aff >d
|
||||
@if os.stat('d')[stat.ST_SIZE] > 0:
|
||||
:copy br_FR.aff ../br_FR.new.aff
|
||||
@@ -80,7 +80,7 @@ check:
|
||||
@finally:
|
||||
:cd ..
|
||||
:delete {r}{f}{q} tmp
|
||||
:delete dict-br_0.8.oxt
|
||||
:delete dict-br-0.11.oxt
|
||||
|
||||
|
||||
# vim: set sts=4 sw=4 :
|
||||
|
||||
@@ -124,16 +124,17 @@ an 50.20.360 &Syntax.C.Config.Configure\.in :cal SetSyn("config")<CR>
|
||||
an 50.20.370 &Syntax.C.Config.Generic\ Config\ file :cal SetSyn("conf")<CR>
|
||||
an 50.20.380 &Syntax.C.CRM114 :cal SetSyn("crm")<CR>
|
||||
an 50.20.390 &Syntax.C.Crontab :cal SetSyn("crontab")<CR>
|
||||
an 50.20.400 &Syntax.C.CSP :cal SetSyn("csp")<CR>
|
||||
an 50.20.410 &Syntax.C.Ctrl-H :cal SetSyn("ctrlh")<CR>
|
||||
an 50.20.420 &Syntax.C.Cucumber :cal SetSyn("cucumber")<CR>
|
||||
an 50.20.430 &Syntax.C.CUDA :cal SetSyn("cuda")<CR>
|
||||
an 50.20.440 &Syntax.C.CUPL.CUPL :cal SetSyn("cupl")<CR>
|
||||
an 50.20.450 &Syntax.C.CUPL.Simulation :cal SetSyn("cuplsim")<CR>
|
||||
an 50.20.460 &Syntax.C.CVS.commit\ file :cal SetSyn("cvs")<CR>
|
||||
an 50.20.470 &Syntax.C.CVS.cvsrc :cal SetSyn("cvsrc")<CR>
|
||||
an 50.20.480 &Syntax.C.Cyn++ :cal SetSyn("cynpp")<CR>
|
||||
an 50.20.490 &Syntax.C.Cynlib :cal SetSyn("cynlib")<CR>
|
||||
an 50.20.400 &Syntax.C.CSDL :cal SetSyn("csdl")<CR>
|
||||
an 50.20.410 &Syntax.C.CSP :cal SetSyn("csp")<CR>
|
||||
an 50.20.420 &Syntax.C.Ctrl-H :cal SetSyn("ctrlh")<CR>
|
||||
an 50.20.430 &Syntax.C.Cucumber :cal SetSyn("cucumber")<CR>
|
||||
an 50.20.440 &Syntax.C.CUDA :cal SetSyn("cuda")<CR>
|
||||
an 50.20.450 &Syntax.C.CUPL.CUPL :cal SetSyn("cupl")<CR>
|
||||
an 50.20.460 &Syntax.C.CUPL.Simulation :cal SetSyn("cuplsim")<CR>
|
||||
an 50.20.470 &Syntax.C.CVS.commit\ file :cal SetSyn("cvs")<CR>
|
||||
an 50.20.480 &Syntax.C.CVS.cvsrc :cal SetSyn("cvsrc")<CR>
|
||||
an 50.20.490 &Syntax.C.Cyn++ :cal SetSyn("cynpp")<CR>
|
||||
an 50.20.500 &Syntax.C.Cynlib :cal SetSyn("cynlib")<CR>
|
||||
an 50.30.100 &Syntax.DE.D :cal SetSyn("d")<CR>
|
||||
an 50.30.110 &Syntax.DE.Datascript :cal SetSyn("datascript")<CR>
|
||||
an 50.30.120 &Syntax.DE.Debian.Debian\ ChangeLog :cal SetSyn("debchangelog")<CR>
|
||||
|
||||
183
runtime/syntax/asciidoc.vim
Normal file
183
runtime/syntax/asciidoc.vim
Normal file
@@ -0,0 +1,183 @@
|
||||
" Vim syntax file
|
||||
" Language: AsciiDoc
|
||||
" Author: Stuart Rackham <srackham@gmail.com> (inspired by Felix
|
||||
" Obenhuber's original asciidoc.vim script).
|
||||
" URL: http://asciidoc.org/
|
||||
" Licence: GPL (http://www.gnu.org)
|
||||
" Remarks: Vim 6 or greater
|
||||
" Limitations:
|
||||
"
|
||||
" - Nested quoted text formatting is highlighted according to the outer
|
||||
" format.
|
||||
" - If a closing Example Block delimiter may be mistaken for a title
|
||||
" underline. A workaround is to insert a blank line before the closing
|
||||
" delimiter.
|
||||
" - Lines within a paragraph starting with equals characters are
|
||||
" highlighted as single-line titles.
|
||||
" - Lines within a paragraph beginning with a period are highlighted as
|
||||
" block titles.
|
||||
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
syn clear
|
||||
syn sync fromstart
|
||||
syn sync linebreaks=100
|
||||
|
||||
" Run :help syn-priority to review syntax matching priority.
|
||||
syn keyword asciidocToDo TODO FIXME CHECK TEST XXX ZZZ DEPRECATED
|
||||
syn match asciidocBackslash /\\/
|
||||
syn region asciidocIdMarker start=/^\$Id:\s/ end=/\s\$$/
|
||||
syn match asciidocCallout /\\\@<!<\d\{1,2}>/
|
||||
syn match asciidocOpenBlockDelimiter /^--$/
|
||||
syn match asciidocLineBreak /[ \t]+$/ containedin=asciidocList
|
||||
syn match asciidocRuler /^'\{3,}$/
|
||||
syn match asciidocPagebreak /^<\{3,}$/
|
||||
syn match asciidocEntityRef /\\\@<!&[#a-zA-Z]\S\{-};/
|
||||
syn region asciidocLiteralParagraph start=/\(\%^\|\_^\s*\n\)\@<=\s\+\S\+/ end=/\(^\(+\|--\)\?\s*$\)\@=/ contains=asciidocToDo
|
||||
syn match asciidocURL /\\\@<!\<\(http\|https\|ftp\|file\|irc\):\/\/[^| \t]*\(\w\|\/\)/
|
||||
syn match asciidocEmail /[\\.:]\@<!\(\<\|<\)\w\(\w\|[.-]\)*@\(\w\|[.-]\)*\w>\?[0-9A-Za-z_]\@!/
|
||||
syn match asciidocAttributeRef /\\\@<!{\w\(\w\|[-,+]\)*\([=!@#$%?:].*\)\?}/
|
||||
|
||||
" As a damage control measure quoted patterns always terminate at a blank
|
||||
" line (see 'Limitations' above).
|
||||
syn match asciidocQuotedAttributeList /\\\@<!\[[a-zA-Z0-9_-][a-zA-Z0-9 _-]*\][+_'`#*]\@=/
|
||||
syn match asciidocQuotedSubscript /\\\@<!\~\S\_.\{-}\(\~\|\n\s*\n\)/ contains=asciidocEntityRef
|
||||
syn match asciidocQuotedSuperscript /\\\@<!\^\S\_.\{-}\(\^\|\n\s*\n\)/ contains=asciidocEntityRef
|
||||
|
||||
syn match asciidocQuotedMonospaced /\(^\|[| \t([.,=\]]\)\@<=+\([+ \n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\(+\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
|
||||
syn match asciidocQuotedMonospaced2 /\(^\|[| \t([.,=\]]\)\@<=`\([` \n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\(`\([| \t)[\],.?!;:=]\|$\)\@=\)/
|
||||
syn match asciidocQuotedUnconstrainedMonospaced /[\\+]\@<!++\S\_.\{-}\(++\|\n\s*\n\)/ contains=asciidocEntityRef
|
||||
|
||||
syn match asciidocQuotedEmphasized /\(^\|[| \t([.,=\]]\)\@<=_\([_ \n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\(_\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
|
||||
syn match asciidocQuotedEmphasized2 /\(^\|[| \t([.,=\]]\)\@<='\([' \n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\('\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
|
||||
syn match asciidocQuotedUnconstrainedEmphasized /\\\@<!__\S\_.\{-}\(__\|\n\s*\n\)/ contains=asciidocEntityRef
|
||||
|
||||
syn match asciidocQuotedBold /\(^\|[| \t([.,=\]]\)\@<=\*\([* \n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\(\*\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
|
||||
syn match asciidocQuotedUnconstrainedBold /\\\@<!\*\*\S\_.\{-}\(\*\*\|\n\s*\n\)/ contains=asciidocEntityRef
|
||||
|
||||
" Don't allow ` in single quoted (a kludge to stop confusion with `monospaced`).
|
||||
syn match asciidocQuotedSingleQuoted /\(^\|[| \t([.,=\]]\)\@<=`\([` \n\t]\)\@!\([^`]\|\n\(\s*\n\)\@!\)\{-}[^` \t]\('\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
|
||||
|
||||
syn match asciidocQuotedDoubleQuoted /\(^\|[| \t([.,=\]]\)\@<=``\([` \n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\(''\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
|
||||
|
||||
syn match asciidocDoubleDollarPassthrough /\\\@<!\(^\|[^0-9a-zA-Z$]\)\@<=\$\$..\{-}\(\$\$\([^0-9a-zA-Z$]\|$\)\@=\|^$\)/
|
||||
syn match asciidocTriplePlusPassthrough /\\\@<!\(^\|[^0-9a-zA-Z$]\)\@<=+++..\{-}\(+++\([^0-9a-zA-Z$]\|$\)\@=\|^$\)/
|
||||
|
||||
syn match asciidocAdmonition /^\u\{3,15}:\(\s\+.*\)\@=/
|
||||
|
||||
syn region asciidocTable_OLD start=/^\([`.']\d*[-~_]*\)\+[-~_]\+\d*$/ end=/^$/
|
||||
syn match asciidocBlockTitle /^\.[^. \t].*[^-~_]$/ contains=asciidocQuoted.*,asciidocAttributeRef
|
||||
syn match asciidocTitleUnderline /[-=~^+]\{2,}$/ transparent contained contains=NONE
|
||||
syn match asciidocOneLineTitle /^=\{1,5}\s\+\S.*$/ contains=asciidocQuoted.*,asciidocMacroAttributes,asciidocAttributeRef,asciidocEntityRef,asciidocEmail,asciidocURL,asciidocBackslash
|
||||
syn match asciidocTwoLineTitle /^[^. +/].*[^.]\n[-=~^+]\{3,}$/ contains=asciidocQuoted.*,asciidocMacroAttributes,asciidocAttributeRef,asciidocEntityRef,asciidocEmail,asciidocURL,asciidocBackslash,asciidocTitleUnderline
|
||||
|
||||
syn match asciidocAttributeList /^\[[^[ \t].*\]$/
|
||||
syn match asciidocQuoteBlockDelimiter /^_\{4,}$/
|
||||
syn match asciidocExampleBlockDelimiter /^=\{4,}$/
|
||||
syn match asciidocSidebarDelimiter /^*\{4,}$/
|
||||
|
||||
" See http://vimdoc.sourceforge.net/htmldoc/usr_44.html for excluding region
|
||||
" contents from highlighting.
|
||||
syn match asciidocTablePrefix /\(\S\@<!\(\([0-9.]\+\)\([*+]\)\)\?\([<\^>.]\{,3}\)\?\([a-z]\)\?\)\?|/ containedin=asciidocTableBlock contained
|
||||
syn region asciidocTableBlock matchgroup=asciidocTableDelimiter start=/^|=\{3,}$/ end=/^|=\{3,}$/ keepend contains=ALL
|
||||
syn match asciidocTablePrefix /\(\S\@<!\(\([0-9.]\+\)\([*+]\)\)\?\([<\^>.]\{,3}\)\?\([a-z]\)\?\)\?!/ containedin=asciidocTableBlock contained
|
||||
syn region asciidocTableBlock2 matchgroup=asciidocTableDelimiter2 start=/^!=\{3,}$/ end=/^!=\{3,}$/ keepend contains=ALL
|
||||
|
||||
syn match asciidocListContinuation /^+$/
|
||||
syn region asciidocLiteralBlock start=/^\.\{4,}$/ end=/^\.\{4,}$/ contains=asciidocCallout,asciidocToDo keepend
|
||||
syn region asciidocListingBlock start=/^-\{4,}$/ end=/^-\{4,}$/ contains=asciidocCallout,asciidocToDo keepend
|
||||
syn region asciidocCommentBlock start="^/\{4,}$" end="^/\{4,}$" contains=asciidocToDo
|
||||
syn region asciidocPassthroughBlock start="^+\{4,}$" end="^+\{4,}$"
|
||||
|
||||
" Allowing leading \w characters in the filter delimiter is to accomodate
|
||||
" the pre version 8.2.7 syntax and may be removed in future releases.
|
||||
syn region asciidocFilterBlock start=/^\w*\~\{4,}$/ end=/^\w*\~\{4,}$/
|
||||
|
||||
syn region asciidocMacroAttributes matchgroup=asciidocRefMacro start=/\\\@<!<<"\{-}\(\w\|-\|_\|:\|\.\)\+"\?,\?/ end=/\(>>\)\|^$/ contains=asciidocQuoted.* keepend
|
||||
syn region asciidocMacroAttributes matchgroup=asciidocAnchorMacro start=/\\\@<!\[\{2}\(\w\|-\|_\|:\|\.\)\+,\?/ end=/\]\{2}/ keepend
|
||||
syn region asciidocMacroAttributes matchgroup=asciidocAnchorMacro start=/\\\@<!\[\{3}\(\w\|-\|_\|:\|\.\)\+/ end=/\]\{3}/ keepend
|
||||
syn region asciidocMacroAttributes matchgroup=asciidocMacro start=/[\\0-9a-zA-Z]\@<!\w\(\w\|-\)*:\S\{-}\[/ skip=/\\\]/ end=/\]\|^$/ contains=asciidocQuoted.*,asciidocAttributeRef,asciidocEntityRef keepend
|
||||
" Highlight macro that starts with an attribute reference (a common idiom).
|
||||
syn region asciidocMacroAttributes matchgroup=asciidocMacro start=/\(\\\@<!{\w\(\w\|[-,+]\)*\([=!@#$%?:].*\)\?}\)\@<=\S\{-}\[/ skip=/\\\]/ end=/\]\|^$/ contains=asciidocQuoted.*,asciidocAttributeRef keepend
|
||||
syn region asciidocMacroAttributes matchgroup=asciidocIndexTerm start=/\\\@<!(\{2,3}/ end=/)\{2,3}/ contains=asciidocQuoted.*,asciidocAttributeRef keepend
|
||||
|
||||
syn match asciidocCommentLine "^//\([^/].*\|\)$" contains=asciidocToDo
|
||||
|
||||
syn region asciidocAttributeEntry start=/^:\w/ end=/:\(\s\|$\)/ oneline
|
||||
|
||||
" Lists.
|
||||
syn match asciidocListBullet /^\s*\zs\(-\|\*\{1,5}\)\ze\s/
|
||||
syn match asciidocListNumber /^\s*\zs\(\(\d\+\.\)\|\.\{1,5}\|\(\a\.\)\|\([ivxIVX]\+)\)\)\ze\s\+/
|
||||
syn region asciidocListLabel start=/^\s*/ end=/\(:\{2,4}\|;;\)$/ oneline contains=asciidocQuoted.*,asciidocMacroAttributes,asciidocAttributeRef,asciidocEntityRef,asciidocEmail,asciidocURL,asciidocBackslash,asciidocToDo keepend
|
||||
" DEPRECATED: Horizontal label.
|
||||
syn region asciidocHLabel start=/^\s*/ end=/\(::\|;;\)\(\s\+\|\\$\)/ oneline contains=asciidocQuoted.*,asciidocMacroAttributes keepend
|
||||
" Starts with any of the above.
|
||||
syn region asciidocList start=/^\s*\(-\|\*\{1,5}\)\s/ start=/^\s*\(\(\d\+\.\)\|\.\{1,5}\|\(\a\.\)\|\([ivxIVX]\+)\)\)\s\+/ start=/.\+\(:\{2,4}\|;;\)$/ end=/\(^[=*]\{4,}$\)\@=/ end=/\(^\(+\|--\)\?\s*$\)\@=/ contains=asciidocList.\+,asciidocQuoted.*,asciidocMacroAttributes,asciidocAttributeRef,asciidocEntityRef,asciidocEmail,asciidocURL,asciidocBackslash,asciidocCommentLine,asciidocAttributeList,asciidocToDo
|
||||
|
||||
hi def link asciidocAdmonition Special
|
||||
hi def link asciidocAnchorMacro Macro
|
||||
hi def link asciidocAttributeEntry Special
|
||||
hi def link asciidocAttributeList Special
|
||||
hi def link asciidocAttributeMacro Macro
|
||||
hi def link asciidocAttributeRef Special
|
||||
hi def link asciidocBackslash Special
|
||||
hi def link asciidocBlockTitle Title
|
||||
hi def link asciidocCallout Label
|
||||
hi def link asciidocCommentBlock Comment
|
||||
hi def link asciidocCommentLine Comment
|
||||
hi def link asciidocDoubleDollarPassthrough Special
|
||||
hi def link asciidocEmail Macro
|
||||
hi def link asciidocEntityRef Special
|
||||
hi def link asciidocExampleBlockDelimiter Type
|
||||
hi def link asciidocFilterBlock Type
|
||||
hi def link asciidocHLabel Label
|
||||
hi def link asciidocIdMarker Special
|
||||
hi def link asciidocIndexTerm Macro
|
||||
hi def link asciidocLineBreak Special
|
||||
hi def link asciidocOpenBlockDelimiter Label
|
||||
hi def link asciidocListBullet Label
|
||||
hi def link asciidocListContinuation Label
|
||||
hi def link asciidocListingBlock Identifier
|
||||
hi def link asciidocListLabel Label
|
||||
hi def link asciidocListNumber Label
|
||||
hi def link asciidocLiteralBlock Identifier
|
||||
hi def link asciidocLiteralParagraph Identifier
|
||||
hi def link asciidocMacroAttributes Label
|
||||
hi def link asciidocMacro Macro
|
||||
hi def link asciidocOneLineTitle Title
|
||||
hi def link asciidocPagebreak Type
|
||||
hi def link asciidocPassthroughBlock Identifier
|
||||
hi def link asciidocQuoteBlockDelimiter Type
|
||||
hi def link asciidocQuotedAttributeList Special
|
||||
hi def link asciidocQuotedBold Special
|
||||
hi def link asciidocQuotedDoubleQuoted Label
|
||||
hi def link asciidocQuotedEmphasized2 Type
|
||||
hi def link asciidocQuotedEmphasized Type
|
||||
hi def link asciidocQuotedMonospaced2 Identifier
|
||||
hi def link asciidocQuotedMonospaced Identifier
|
||||
hi def link asciidocQuotedSingleQuoted Label
|
||||
hi def link asciidocQuotedSubscript Type
|
||||
hi def link asciidocQuotedSuperscript Type
|
||||
hi def link asciidocQuotedUnconstrainedBold Special
|
||||
hi def link asciidocQuotedUnconstrainedEmphasized Type
|
||||
hi def link asciidocQuotedUnconstrainedMonospaced Identifier
|
||||
hi def link asciidocRefMacro Macro
|
||||
hi def link asciidocRuler Type
|
||||
hi def link asciidocSidebarDelimiter Type
|
||||
hi def link asciidocTableBlock2 NONE
|
||||
hi def link asciidocTableBlock NONE
|
||||
hi def link asciidocTableDelimiter2 Label
|
||||
hi def link asciidocTableDelimiter Label
|
||||
hi def link asciidocTable_OLD Type
|
||||
hi def link asciidocTablePrefix2 Label
|
||||
hi def link asciidocTablePrefix Label
|
||||
hi def link asciidocToDo Todo
|
||||
hi def link asciidocTriplePlusPassthrough Special
|
||||
hi def link asciidocTwoLineTitle Title
|
||||
hi def link asciidocURL Macro
|
||||
let b:current_syntax = "asciidoc"
|
||||
|
||||
" vim: wrap et sw=2 sts=2:
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: C
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2012 Dec 14
|
||||
" Last Change: 2013 Mar 13
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -36,7 +36,13 @@ endif
|
||||
if exists("c_no_cformat")
|
||||
syn region cString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,@Spell extend
|
||||
" cCppString: same as cString, but ends at end of line
|
||||
syn region cCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,@Spell
|
||||
if !exists("cpp_no_cpp11") " ISO C++11
|
||||
syn region cCppString start=+\(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell
|
||||
else
|
||||
syn region cCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell
|
||||
endif
|
||||
syn region cCppOut2 contained start="0" end="^\s*\(%:\|#\)\s*\(endif\>\|else\>\|elif\>\)" contains=cSpaceError,cCppSkip
|
||||
syn region cCppSkip contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=cSpaceError,cCppSkip
|
||||
else
|
||||
if !exists("c_no_c99") " ISO C99
|
||||
syn match cFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlLjzt]\|ll\|hh\)\=\([aAbdiuoxXDOUfFeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
|
||||
@@ -104,30 +110,57 @@ endif
|
||||
" But avoid matching <::.
|
||||
syn cluster cParenGroup contains=cParenError,cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserLabel,cBitField,cOctalZero,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom
|
||||
if exists("c_no_curly_error")
|
||||
syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cCppString,@Spell
|
||||
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
|
||||
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
|
||||
syn match cParenError display ")"
|
||||
syn match cErrInParen display contained "^[{}]\|^<%\|^%>"
|
||||
if &filetype ==# 'cpp' && !exists("cpp_no_cpp11")
|
||||
syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cCppString,@Spell
|
||||
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
|
||||
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
|
||||
syn match cParenError display ")"
|
||||
syn match cErrInParen display contained "^^<%\|^%>"
|
||||
else
|
||||
syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cCppString,@Spell
|
||||
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
|
||||
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
|
||||
syn match cParenError display ")"
|
||||
syn match cErrInParen display contained "^[{}]\|^<%\|^%>"
|
||||
endif
|
||||
elseif exists("c_no_bracket_error")
|
||||
syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cCppString,@Spell
|
||||
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
|
||||
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
|
||||
syn match cParenError display ")"
|
||||
syn match cErrInParen display contained "[{}]\|<%\|%>"
|
||||
if &filetype ==# 'cpp' && !exists("cpp_no_cpp11")
|
||||
syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cCppString,@Spell
|
||||
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
|
||||
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
|
||||
syn match cParenError display ")"
|
||||
syn match cErrInParen display contained "<%\|%>"
|
||||
else
|
||||
syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cCppString,@Spell
|
||||
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
|
||||
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
|
||||
syn match cParenError display ")"
|
||||
syn match cErrInParen display contained "[{}]\|<%\|%>"
|
||||
endif
|
||||
else
|
||||
syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,cCppString,@Spell
|
||||
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
|
||||
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cErrInBracket,cParen,cBracket,cString,@Spell
|
||||
syn match cParenError display "[\])]"
|
||||
syn match cErrInParen display contained "[\]{}]\|<%\|%>"
|
||||
syn region cBracket transparent start='\[\|<::\@!' end=']\|:>' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cErrInParen,cCppParen,cCppBracket,cCppString,@Spell
|
||||
if &filetype ==# 'cpp' && !exists("cpp_no_cpp11")
|
||||
syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,cCppString,@Spell
|
||||
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
|
||||
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cErrInBracket,cParen,cBracket,cString,@Spell
|
||||
syn match cParenError display "[\])]"
|
||||
syn match cErrInParen display contained "<%\|%>"
|
||||
syn region cBracket transparent start='\[\|<::\@!' end=']\|:>' contains=ALLBUT,@cParenGroup,cErrInParen,cCppParen,cCppBracket,cCppString,@Spell
|
||||
else
|
||||
syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,cCppString,@Spell
|
||||
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
|
||||
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cErrInBracket,cParen,cBracket,cString,@Spell
|
||||
syn match cParenError display "[\])]"
|
||||
syn match cErrInParen display contained "[\]{}]\|<%\|%>"
|
||||
syn region cBracket transparent start='\[\|<::\@!' end=']\|:>' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cErrInParen,cCppParen,cCppBracket,cCppString,@Spell
|
||||
endif
|
||||
" cCppBracket: same as cParen but ends at end-of-line; used in cDefine
|
||||
syn region cCppBracket transparent start='\[\|<::\@!' skip='\\$' excludenl end=']\|:>' end='$' contained contains=ALLBUT,@cParenGroup,cErrInParen,cParen,cBracket,cString,@Spell
|
||||
syn match cErrInBracket display contained "[);{}]\|<%\|%>"
|
||||
endif
|
||||
|
||||
syntax region cBadBlock keepend start="{" end="}" contained containedin=cParen,cBracket,cBadBlock transparent fold
|
||||
if &filetype ==# 'c' || exists("cpp_no_cpp11")
|
||||
syn region cBadBlock keepend start="{" end="}" contained containedin=cParen,cBracket,cBadBlock transparent fold
|
||||
endif
|
||||
|
||||
"integer number, or floating point number without a dot and with "f".
|
||||
syn case ignore
|
||||
@@ -164,16 +197,16 @@ if exists("c_comment_strings")
|
||||
" need to use a special type of cString: cCommentString, which also ends on
|
||||
" "*/", and sees a "*" at the start of the line as comment again.
|
||||
" Unfortunately this doesn't very well work for // type of comments :-(
|
||||
syntax match cCommentSkip contained "^\s*\*\($\|\s\+\)"
|
||||
syntax region cCommentString contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=cSpecial,cCommentSkip
|
||||
syntax region cComment2String contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=cSpecial
|
||||
syntax region cCommentL start="//" skip="\\$" end="$" keepend contains=@cCommentGroup,cComment2String,cCharacter,cNumbersCom,cSpaceError,@Spell
|
||||
syn match cCommentSkip contained "^\s*\*\($\|\s\+\)"
|
||||
syn region cCommentString contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=cSpecial,cCommentSkip
|
||||
syn region cComment2String contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=cSpecial
|
||||
syn region cCommentL start="//" skip="\\$" end="$" keepend contains=@cCommentGroup,cComment2String,cCharacter,cNumbersCom,cSpaceError,@Spell
|
||||
if exists("c_no_comment_fold")
|
||||
" Use "extend" here to have preprocessor lines not terminate halfway a
|
||||
" comment.
|
||||
syntax region cComment matchgroup=cCommentStart start="/\*" end="\*/" contains=@cCommentGroup,cCommentStartError,cCommentString,cCharacter,cNumbersCom,cSpaceError,@Spell extend
|
||||
syn region cComment matchgroup=cCommentStart start="/\*" end="\*/" contains=@cCommentGroup,cCommentStartError,cCommentString,cCharacter,cNumbersCom,cSpaceError,@Spell extend
|
||||
else
|
||||
syntax region cComment matchgroup=cCommentStart start="/\*" end="\*/" contains=@cCommentGroup,cCommentStartError,cCommentString,cCharacter,cNumbersCom,cSpaceError,@Spell fold extend
|
||||
syn region cComment matchgroup=cCommentStart start="/\*" end="\*/" contains=@cCommentGroup,cCommentStartError,cCommentString,cCharacter,cNumbersCom,cSpaceError,@Spell fold extend
|
||||
endif
|
||||
else
|
||||
syn region cCommentL start="//" skip="\\$" end="$" keepend contains=@cCommentGroup,cSpaceError,@Spell
|
||||
@@ -184,8 +217,8 @@ else
|
||||
endif
|
||||
endif
|
||||
" keep a // comment separately, it terminates a preproc. conditional
|
||||
syntax match cCommentError display "\*/"
|
||||
syntax match cCommentStartError display "/\*"me=e-1 contained
|
||||
syn match cCommentError display "\*/"
|
||||
syn match cCommentStartError display "/\*"me=e-1 contained
|
||||
|
||||
syn keyword cOperator sizeof
|
||||
if exists("c_gnu")
|
||||
@@ -337,7 +370,9 @@ syn region cPreProc start="^\s*\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>
|
||||
|
||||
" Highlight User Labels
|
||||
syn cluster cMultiGroup contains=cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cCppParen,cCppBracket,cCppString
|
||||
syn region cMulti transparent start='?' skip='::' end=':' contains=ALLBUT,@cMultiGroup,@Spell
|
||||
if &filetype ==# 'c' || exists("cpp_no_cpp11")
|
||||
syn region cMulti transparent start='?' skip='::' end=':' contains=ALLBUT,@cMultiGroup,@Spell
|
||||
endif
|
||||
" Avoid matching foo::bar() in C++ by requiring that the next char is not ':'
|
||||
syn cluster cLabelGroup contains=cUserLabel
|
||||
syn match cUserCont display "^\s*\I\i*\s*:$" contains=@cLabelGroup
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
" Vim syntax file
|
||||
" Language: CL
|
||||
" (pronounced alphabetically, and NOT known as Clever)
|
||||
" (CL was created by Multibase, http://www.mbase.com.au)
|
||||
" Language: CL
|
||||
" (pronounced alphabetically: "Cee-El".
|
||||
" CL stands for Clever Language,
|
||||
" but the language is CL, not "Clever".
|
||||
" CL was created by Multibase, http://www.mbase.com.au)
|
||||
" Filename extensions: *.ent
|
||||
" *.eni
|
||||
" *.eni
|
||||
" Maintainer: Philip Uren <philuSPAX@ieee.org> Remove SPAX spam block
|
||||
" Version: 5
|
||||
" Last Change: Aug 16 2012
|
||||
" Version: 6
|
||||
" Last Change: Mar 06 2013
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -17,9 +19,9 @@ elseif exists("b:current_syntax")
|
||||
endif
|
||||
|
||||
if version >= 600
|
||||
setlocal iskeyword=@,48-57,_,-,
|
||||
setlocal iskeyword=@,48-57,_,-
|
||||
else
|
||||
set iskeyword=@,48-57,_,-,
|
||||
set iskeyword=@,48-57,_,-
|
||||
endif
|
||||
|
||||
syn case ignore
|
||||
|
||||
134
runtime/syntax/clojure.vim
Normal file
134
runtime/syntax/clojure.vim
Normal file
File diff suppressed because one or more lines are too long
@@ -1,7 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: C++
|
||||
" Maintainer: Ken Shan <ccshan@post.harvard.edu>
|
||||
" Last Change: 2002 Jul 15
|
||||
" Current Maintainer: vim-jp (https://github.com/vim-jp/cpp-vim)
|
||||
" Previous Maintainer: Ken Shan <ccshan@post.harvard.edu>
|
||||
" Last Change: 2012 Jun 14
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -19,7 +20,7 @@ else
|
||||
unlet b:current_syntax
|
||||
endif
|
||||
|
||||
" C++ extentions
|
||||
" C++ extensions
|
||||
syn keyword cppStatement new delete this friend using
|
||||
syn keyword cppAccess public protected private
|
||||
syn keyword cppType inline virtual explicit export bool wchar_t
|
||||
@@ -30,9 +31,16 @@ syn match cppCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*<"me=e-1
|
||||
syn match cppCast "\<\(const\|static\|dynamic\|reinterpret\)_cast\s*$"
|
||||
syn keyword cppStorageClass mutable
|
||||
syn keyword cppStructure class typename template namespace
|
||||
syn keyword cppNumber NPOS
|
||||
syn keyword cppBoolean true false
|
||||
|
||||
" C++ 11 extensions
|
||||
if !exists("cpp_no_cpp11")
|
||||
syn keyword cppType override final
|
||||
syn keyword cppExceptions noexcept
|
||||
syn keyword cppStorageClass constexpr decltype
|
||||
syn keyword cppConstant nullptr
|
||||
endif
|
||||
|
||||
" The minimum and maximum operators in GNU C++
|
||||
syn match cppMinMax "[<>]?"
|
||||
|
||||
@@ -52,8 +60,8 @@ if version >= 508 || !exists("did_cpp_syntax_inits")
|
||||
HiLink cppType Type
|
||||
HiLink cppStorageClass StorageClass
|
||||
HiLink cppStructure Structure
|
||||
HiLink cppNumber Number
|
||||
HiLink cppBoolean Boolean
|
||||
HiLink cppConstant Constant
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
|
||||
536
runtime/syntax/csdl.vim
Normal file
536
runtime/syntax/csdl.vim
Normal file
@@ -0,0 +1,536 @@
|
||||
" Vim syntax file
|
||||
" Language: Curated Stream Definition Language (CSDL)
|
||||
" Maintainer: Jacek Artymiak
|
||||
" Latest Revision: 25 February 2013
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
setlocal iskeyword=.,@,48-57,_,192-255
|
||||
syn case ignore
|
||||
|
||||
syn match csdlKeyword "tag "
|
||||
syn match csdlKeyword "stream "
|
||||
syn match csdlKeyword "return "
|
||||
|
||||
syn keyword csdlOperator contains
|
||||
syn match csdlOperator "cs contains"
|
||||
syn keyword csdlOperator substr
|
||||
syn match csdlOperator "cs substr"
|
||||
syn keyword csdlOperator contains_any
|
||||
syn match csdlOperator "cs contains_any"
|
||||
syn keyword csdlOperator any
|
||||
syn match csdlOperator "cs any"
|
||||
syn keyword csdlOperator contains_near
|
||||
syn match csdlOperator "cs contains_near"
|
||||
syn keyword csdlOperator exists
|
||||
syn keyword csdlOperator in
|
||||
syn keyword csdlOperator url_in
|
||||
syn match csdlOperator "=="
|
||||
syn match csdlOperator "!="
|
||||
syn match csdlOperator "cs =="
|
||||
syn match csdlOperator "cs !="
|
||||
syn match csdlOperator ">"
|
||||
syn match csdlOperator ">="
|
||||
syn match csdlOperator "<"
|
||||
syn match csdlOperator "<="
|
||||
syn keyword csdlOperator regex_partial
|
||||
syn keyword csdlOperator regex_exact
|
||||
syn keyword csdlOperator geo_box
|
||||
syn keyword csdlOperator geo_radius
|
||||
syn keyword csdlOperator geo_polygon
|
||||
|
||||
syn keyword csdlLogicalOperator and
|
||||
syn keyword csdlLogicalOperator or
|
||||
syn keyword csdlLogicalOperator not
|
||||
|
||||
syn match csdlTarget 'reddit\.title'
|
||||
syn match csdlTarget 'reddit\.content'
|
||||
syn match csdlTarget 'reddit\.contenttype'
|
||||
syn match csdlTarget 'reddit\.link'
|
||||
syn match csdlTarget 'reddit\.author\.name'
|
||||
syn match csdlTarget 'reddit\.author\.link'
|
||||
syn match csdlTarget 'reddit\.type'
|
||||
syn match csdlTarget 'reddit\.thread'
|
||||
syn match csdlTarget 'interaction\.type'
|
||||
syn match csdlTarget 'interaction\.title'
|
||||
syn match csdlTarget 'interaction\.content'
|
||||
syn match csdlTarget 'interaction\.source'
|
||||
syn match csdlTarget 'interaction\.geo'
|
||||
syn match csdlTarget 'interaction\.link'
|
||||
syn match csdlTarget 'interaction\.author\.username'
|
||||
syn match csdlTarget 'interaction\.author\.name'
|
||||
syn match csdlTarget 'interaction\.author\.id'
|
||||
syn match csdlTarget 'interaction\.author\.avatar'
|
||||
syn match csdlTarget 'interaction\.author\.link'
|
||||
syn match csdlTarget 'interaction\.sample'
|
||||
syn match csdlTarget 'links\.title'
|
||||
syn match csdlTarget 'links\.url'
|
||||
syn keyword csdlTarget links.normalized_url
|
||||
syn match csdlTarget 'links\.hops'
|
||||
syn match csdlTarget 'links\.code'
|
||||
syn match csdlTarget 'links\.domain'
|
||||
syn keyword csdlTarget links.retweet_count
|
||||
syn match csdlTarget 'links\.age'
|
||||
syn keyword csdlTarget links.meta.content_type
|
||||
syn match csdlTarget 'links\.meta\.charset'
|
||||
syn match csdlTarget 'links\.meta\.lang'
|
||||
syn match csdlTarget 'links\.meta\.keywords'
|
||||
syn match csdlTarget 'links\.meta\.description'
|
||||
syn match csdlTarget 'links\.meta\.newskeywords'
|
||||
syn match csdlTarget 'links\.meta\.standout'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.type'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.title'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.image'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.url'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.description'
|
||||
syn keyword csdlTarget links.meta.opengraph.site_name
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.email'
|
||||
syn keyword csdlTarget links.meta.opengraph.phone_number
|
||||
syn keyword csdlTarget links.meta.opengraph.fax_number
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.geo'
|
||||
syn keyword csdlTarget links.meta.opengraph.street_address
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.locality'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.region'
|
||||
syn keyword csdlTarget links.meta.opengraph.postal_code
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.activity'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.sport'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.bar'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.company'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.cafe'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.hotel'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.restaurant'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.cause'
|
||||
syn keyword csdlTarget links.meta.opengraph.sports_league
|
||||
syn keyword csdlTarget links.meta.opengraph.sports_team
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.band'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.government'
|
||||
syn keyword csdlTarget links.meta.opengraph.non_profit
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.school'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.university'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.actor'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.athlete'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.author'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.director'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.musician'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.politician'
|
||||
syn keyword csdlTarget links.meta.opengraph.public_figure
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.city'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.country'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.landmark'
|
||||
syn keyword csdlTarget links.meta.opengraph.state_province
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.album'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.book'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.drink'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.food'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.game'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.movie'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.product'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.song'
|
||||
syn keyword csdlTarget links.meta.opengraph.tv_show
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.blog'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.website'
|
||||
syn match csdlTarget 'links\.meta\.opengraph\.article'
|
||||
syn match csdlTarget 'links\.meta\.twitter\.card'
|
||||
syn match csdlTarget 'links\.meta\.twitter\.site'
|
||||
syn keyword csdlTarget links.meta.twitter.site_id
|
||||
syn match csdlTarget 'links\.meta\.twitter\.creator'
|
||||
syn keyword csdlTarget links.meta.twitter.creator_id
|
||||
syn match csdlTarget 'links\.meta\.twitter\.url'
|
||||
syn match csdlTarget 'links\.meta\.twitter\.description'
|
||||
syn match csdlTarget 'links\.meta\.twitter\.title'
|
||||
syn match csdlTarget 'links\.meta\.twitter\.image'
|
||||
syn keyword csdlTarget links.meta.twitter.image_width
|
||||
syn keyword csdlTarget links.meta.twitter.image_height
|
||||
syn match csdlTarget 'links\.meta\.twitter\.player'
|
||||
syn keyword csdlTarget links.meta.twitter.player_width
|
||||
syn keyword csdlTarget links.meta.twitter.player_height
|
||||
syn keyword csdlTarget links.meta.twitter.player_stream
|
||||
syn keyword csdlTarget links.meta.twitter.player_stream_content_type
|
||||
syn match csdlTarget 'myspace\.link'
|
||||
syn match csdlTarget 'myspace\.content'
|
||||
syn match csdlTarget 'myspace\.contenttype'
|
||||
syn match csdlTarget 'myspace\.category'
|
||||
syn match csdlTarget 'myspace\.author\.username'
|
||||
syn match csdlTarget 'myspace\.author\.name'
|
||||
syn match csdlTarget 'myspace\.author\.id'
|
||||
syn match csdlTarget 'myspace\.author\.link'
|
||||
syn match csdlTarget 'myspace\.author\.avatar'
|
||||
syn match csdlTarget 'myspace\.geo'
|
||||
syn match csdlTarget 'myspace\.verb'
|
||||
syn match csdlTarget 'newscred\.type'
|
||||
syn match csdlTarget 'newscred\.article\.domain'
|
||||
syn match csdlTarget 'newscred\.video\.domain'
|
||||
syn match csdlTarget 'newscred\.article\.topics'
|
||||
syn match csdlTarget 'newscred\.video\.topics'
|
||||
syn match csdlTarget 'newscred\.article\.category'
|
||||
syn match csdlTarget 'newscred\.video\.category'
|
||||
syn match csdlTarget 'newscred\.article\.title'
|
||||
syn match csdlTarget 'newscred\.video\.title'
|
||||
syn match csdlTarget 'newscred\.article\.content'
|
||||
syn match csdlTarget 'newscred\.article\.fulltext'
|
||||
syn match csdlTarget 'newscred\.article\.authors'
|
||||
syn match csdlTarget 'newscred\.image\.caption'
|
||||
syn match csdlTarget 'newscred\.video\.caption'
|
||||
syn match csdlTarget 'newscred\.image\.attribution\.text'
|
||||
syn match csdlTarget 'newscred\.image\.attribution\.link'
|
||||
syn match csdlTarget 'newscred\.source\.name'
|
||||
syn match csdlTarget 'newscred\.source\.link'
|
||||
syn match csdlTarget 'newscred\.source\.domain'
|
||||
syn keyword csdlTarget newscred.source.media_type
|
||||
syn keyword csdlTarget newscred.source.company_type
|
||||
syn match csdlTarget 'newscred\.source\.country'
|
||||
syn match csdlTarget 'newscred\.source\.circulation'
|
||||
syn match csdlTarget 'newscred\.source\.founded'
|
||||
syn match csdlTarget 'imdb\.title'
|
||||
syn match csdlTarget 'imdb\.content'
|
||||
syn match csdlTarget 'imdb\.contenttype'
|
||||
syn match csdlTarget 'imdb\.link'
|
||||
syn match csdlTarget 'imdb\.author\.name'
|
||||
syn match csdlTarget 'imdb\.author\.link'
|
||||
syn match csdlTarget 'imdb\.type'
|
||||
syn match csdlTarget 'imdb\.thread'
|
||||
syn match csdlTarget 'amazon\.title'
|
||||
syn match csdlTarget 'amazon\.content'
|
||||
syn match csdlTarget 'amazon\.contenttype'
|
||||
syn match csdlTarget 'amazon\.link'
|
||||
syn match csdlTarget 'amazon\.author\.name'
|
||||
syn match csdlTarget 'amazon\.author\.link'
|
||||
syn match csdlTarget 'amazon\.type'
|
||||
syn match csdlTarget 'amazon\.thread'
|
||||
syn match csdlTarget 'salience\.content\.sentiment'
|
||||
syn match csdlTarget 'salience\.content\.topics'
|
||||
syn match csdlTarget 'salience\.title\.sentiment'
|
||||
syn match csdlTarget 'salience\.title\.topics'
|
||||
syn match csdlTarget 'salience\.content\.entities\.name'
|
||||
syn match csdlTarget 'salience\.content\.entities\.type'
|
||||
syn match csdlTarget 'salience\.title\.entities\.name'
|
||||
syn match csdlTarget 'salience\.title\.entities\.type'
|
||||
syn match csdlTarget 'klout\.score'
|
||||
syn match csdlTarget 'klout\.network'
|
||||
syn match csdlTarget 'klout\.amplification'
|
||||
syn keyword csdlTarget klout.true_reach
|
||||
syn match csdlTarget 'klout\.topics'
|
||||
syn match csdlTarget 'wikipedia\.author\.talk'
|
||||
syn match csdlTarget 'wikipedia\.author\.contributions'
|
||||
syn match csdlTarget 'wikipedia\.author\.username'
|
||||
syn match csdlTarget 'wikipedia\.body'
|
||||
syn match csdlTarget 'wikipedia\.title'
|
||||
syn match csdlTarget 'wikipedia\.images'
|
||||
syn match csdlTarget 'wikipedia\.categories'
|
||||
syn match csdlTarget 'wikipedia\.externallinks'
|
||||
syn match csdlTarget 'wikipedia\.ns'
|
||||
syn match csdlTarget 'wikipedia\.namespace'
|
||||
syn match csdlTarget 'wikipedia\.pageid'
|
||||
syn match csdlTarget 'wikipedia\.parentid'
|
||||
syn match csdlTarget 'wikipedia\.oldlen'
|
||||
syn match csdlTarget 'wikipedia\.newlen'
|
||||
syn match csdlTarget 'wikipedia\.changetype'
|
||||
syn match csdlTarget 'wikipedia\.diff\.from'
|
||||
syn match csdlTarget 'wikipedia\.diff\.to'
|
||||
syn match csdlTarget 'wikipedia\.diff\.changes\.added'
|
||||
syn match csdlTarget 'wikipedia\.diff\.changes\.removed'
|
||||
syn keyword csdlTarget demographic.twitter_activity
|
||||
syn match csdlTarget 'demographic\.location\.country'
|
||||
syn keyword csdlTarget demographic.location.us_state
|
||||
syn match csdlTarget 'demographic\.location\.city'
|
||||
syn match csdlTarget 'demographic\.type'
|
||||
syn match csdlTarget 'demographic\.sex'
|
||||
syn match csdlTarget 'demographic\.status\.relationship'
|
||||
syn match csdlTarget 'demographic\.status\.work'
|
||||
syn keyword csdlTarget demographic.likes_and_interests
|
||||
syn keyword csdlTarget demographic.first_language
|
||||
syn match csdlTarget 'demographic\.professions'
|
||||
syn match csdlTarget 'demographic\.services'
|
||||
syn keyword csdlTarget demographic.large_accounts_followed
|
||||
syn keyword csdlTarget demographic.age_range.start
|
||||
syn keyword csdlTarget demographic.age_range.end
|
||||
syn match csdlTarget 'demographic\.income\.start'
|
||||
syn match csdlTarget 'demographic\.income\.end'
|
||||
syn keyword csdlTarget demographic.main_street.dressed_by
|
||||
syn keyword csdlTarget demographic.main_street.shop_at
|
||||
syn keyword csdlTarget demographic.main_street.eat_and_drink_at
|
||||
syn match csdlTarget 'demographic\.accounts\.categories'
|
||||
syn match csdlTarget 'tumblr\.activity'
|
||||
syn match csdlTarget 'tumblr\.source\.blogid'
|
||||
syn match csdlTarget 'tumblr\.dest\.blogid'
|
||||
syn match csdlTarget 'tumblr\.dest\.postid'
|
||||
syn match csdlTarget 'tumblr\.root\.blogid'
|
||||
syn match csdlTarget 'tumblr\.root\.postid'
|
||||
syn match csdlTarget 'tumblr\.blogid'
|
||||
syn keyword csdlTarget tumblr.blog_name
|
||||
syn match csdlTarget 'tumblr\.type'
|
||||
syn match csdlTarget 'tumblr\.title'
|
||||
syn match csdlTarget 'tumblr\.body'
|
||||
syn match csdlTarget 'tumblr\.text'
|
||||
syn match csdlTarget 'tumblr\.tags'
|
||||
syn keyword csdlTarget tumblr.track_name
|
||||
syn match csdlTarget 'tumblr\.album'
|
||||
syn match csdlTarget 'tumblr\.link'
|
||||
syn match csdlTarget 'tumblr\.meta\.url'
|
||||
syn match csdlTarget 'tumblr\.meta\.type'
|
||||
syn match csdlTarget 'tumblr\.meta\.description'
|
||||
syn keyword csdlTarget tumblr.meta.likes_local
|
||||
syn keyword csdlTarget tumblr.meta.likes_global
|
||||
syn keyword csdlTarget tumblr.meta.reblogged_global
|
||||
syn match csdlTarget 'demographic\.gender'
|
||||
syn match csdlTarget 'flickr\.title'
|
||||
syn match csdlTarget 'flickr\.content'
|
||||
syn match csdlTarget 'flickr\.contenttype'
|
||||
syn match csdlTarget 'flickr\.link'
|
||||
syn match csdlTarget 'flickr\.author\.name'
|
||||
syn match csdlTarget 'flickr\.author\.link'
|
||||
syn match csdlTarget 'flickr\.author\.username'
|
||||
syn match csdlTarget 'flickr\.type'
|
||||
syn match csdlTarget 'flickr\.thread'
|
||||
syn match csdlTarget 'twitter\.text'
|
||||
syn match csdlTarget 'twitter\.source'
|
||||
syn match csdlTarget 'twitter\.mentions'
|
||||
syn keyword csdlTarget twitter.mention_ids
|
||||
syn match csdlTarget 'twitter\.links'
|
||||
syn match csdlTarget 'twitter\.domains'
|
||||
syn keyword csdlTarget twitter.in_reply_to_screen_name
|
||||
syn keyword csdlTarget twitter.in_reply_to_user_id
|
||||
syn keyword csdlTarget twitter.in_reply_to_status_id
|
||||
syn keyword csdlTarget twitter.filter_level
|
||||
syn match csdlTarget 'twitter\.lang'
|
||||
syn match csdlTarget 'twitter\.geo'
|
||||
syn match csdlTarget 'twitter\.user\.description'
|
||||
syn match csdlTarget 'twitter\.user\.location'
|
||||
syn keyword csdlTarget twitter.user.statuses_count
|
||||
syn keyword csdlTarget twitter.user.followers_count
|
||||
syn keyword csdlTarget twitter.user.follower_ratio
|
||||
syn keyword csdlTarget twitter.user.profile_age
|
||||
syn keyword csdlTarget twitter.user.friends_count
|
||||
syn keyword csdlTarget twitter.user.screen_name
|
||||
syn match csdlTarget 'twitter\.user\.lang'
|
||||
syn keyword csdlTarget twitter.user.time_zone
|
||||
syn match csdlTarget 'twitter\.user\.name'
|
||||
syn match csdlTarget 'twitter\.user\.id'
|
||||
syn keyword csdlTarget twitter.user.listed_count
|
||||
syn match csdlTarget 'twitter\.user\.url'
|
||||
syn match csdlTarget 'twitter\.user\.verified'
|
||||
syn keyword csdlTarget twitter.place.place_type
|
||||
syn match csdlTarget 'twitter\.place\.country'
|
||||
syn keyword csdlTarget twitter.place.country_code
|
||||
syn keyword csdlTarget twitter.place.full_name
|
||||
syn match csdlTarget 'twitter\.place\.name'
|
||||
syn match csdlTarget 'twitter\.place\.url'
|
||||
syn match csdlTarget 'twitter\.place\.attributes\.locality'
|
||||
syn match csdlTarget 'twitter\.place\.attributes\.region'
|
||||
syn keyword csdlTarget twitter.place.attributes.street_address
|
||||
syn match csdlTarget 'twitter\.status'
|
||||
syn match csdlTarget 'twitter\.retweet\.text'
|
||||
syn match csdlTarget 'twitter\.retweet\.elapsed'
|
||||
syn match csdlTarget 'twitter\.retweet\.source'
|
||||
syn keyword csdlTarget twitter.retweet.filter_level
|
||||
syn match csdlTarget 'twitter\.retweet\.lang'
|
||||
syn match csdlTarget 'twitter\.retweet\.user\.description'
|
||||
syn match csdlTarget 'twitter\.retweet\.user\.location'
|
||||
syn keyword csdlTarget twitter.retweet.user.statuses_count
|
||||
syn keyword csdlTarget twitter.retweet.user.followers_count
|
||||
syn keyword csdlTarget twitter.retweet.user.follower_ratio
|
||||
syn keyword csdlTarget twitter.retweet.user.profile_age
|
||||
syn keyword csdlTarget twitter.retweet.user.friends_count
|
||||
syn keyword csdlTarget twitter.retweet.user.screen_name
|
||||
syn match csdlTarget 'twitter\.retweet\.user\.lang'
|
||||
syn keyword csdlTarget twitter.retweet.user.time_zone
|
||||
syn match csdlTarget 'twitter\.retweet\.user\.name'
|
||||
syn match csdlTarget 'twitter\.retweet\.user\.id'
|
||||
syn keyword csdlTarget twitter.retweet.user.listed_count
|
||||
syn match csdlTarget 'twitter\.retweet\.user\.url'
|
||||
syn match csdlTarget 'twitter\.retweet\.user\.verified'
|
||||
syn match csdlTarget 'twitter\.retweeted\.id'
|
||||
syn match csdlTarget 'twitter\.retweeted\.source'
|
||||
syn keyword csdlTarget twitter.retweeted.in_reply_to_screen_name
|
||||
syn keyword csdlTarget twitter.retweeted.in_reply_to_user_id_str
|
||||
syn keyword csdlTarget twitter.retweeted.in_reply_to_status_id
|
||||
syn match csdlTarget 'twitter\.retweet\.count'
|
||||
syn match csdlTarget 'twitter\.retweet\.mentions'
|
||||
syn keyword csdlTarget twitter.retweet.mention_ids
|
||||
syn match csdlTarget 'twitter\.retweet\.links'
|
||||
syn match csdlTarget 'twitter\.retweet\.domains'
|
||||
syn match csdlTarget 'twitter\.retweeted\.user\.description'
|
||||
syn match csdlTarget 'twitter\.retweeted\.user\.location'
|
||||
syn keyword csdlTarget twitter.retweeted.user.statuses_count
|
||||
syn keyword csdlTarget twitter.retweeted.user.followers_count
|
||||
syn keyword csdlTarget twitter.retweeted.user.follower_ratio
|
||||
syn keyword csdlTarget twitter.retweeted.user.profile_age
|
||||
syn keyword csdlTarget twitter.retweeted.user.friends_count
|
||||
syn keyword csdlTarget twitter.retweeted.user.screen_name
|
||||
syn match csdlTarget 'twitter\.retweeted\.user\.lang'
|
||||
syn keyword csdlTarget twitter.retweeted.user.time_zone
|
||||
syn match csdlTarget 'twitter\.retweeted\.user\.name'
|
||||
syn match csdlTarget 'twitter\.retweeted\.user\.id'
|
||||
syn keyword csdlTarget twitter.retweeted.user.listed_count
|
||||
syn match csdlTarget 'twitter\.retweeted\.user\.url'
|
||||
syn match csdlTarget 'twitter\.retweeted\.user\.verified'
|
||||
syn match csdlTarget 'twitter\.retweeted\.geo'
|
||||
syn keyword csdlTarget twitter.retweeted.place.place_type
|
||||
syn match csdlTarget 'twitter\.retweeted\.place\.country'
|
||||
syn keyword csdlTarget twitter.retweeted.place.country_code
|
||||
syn keyword csdlTarget twitter.retweeted.place.full_name
|
||||
syn match csdlTarget 'twitter\.retweeted\.place\.name'
|
||||
syn match csdlTarget 'twitter\.retweeted\.place\.url'
|
||||
syn match csdlTarget 'twitter\.retweeted\.place\.attributes'
|
||||
syn match csdlTarget 'twitter\.hashtags'
|
||||
syn match csdlTarget 'twitter\.retweet\.hashtags'
|
||||
syn match csdlTarget 'twitter\.media\.type'
|
||||
syn keyword csdlTarget twitter.media.media_url
|
||||
syn keyword csdlTarget twitter.media.display_url
|
||||
syn match csdlTarget 'twitter\.retweet\.media\.type'
|
||||
syn keyword csdlTarget twitter.retweet.media.media_url
|
||||
syn keyword csdlTarget twitter.retweet.media.display_url
|
||||
syn match csdlTarget 'blog\.title'
|
||||
syn match csdlTarget 'blog\.content'
|
||||
syn match csdlTarget 'blog\.contenttype'
|
||||
syn match csdlTarget 'blog\.link'
|
||||
syn match csdlTarget 'blog\.domain'
|
||||
syn match csdlTarget 'blog\.author\.name'
|
||||
syn match csdlTarget 'blog\.author\.link'
|
||||
syn match csdlTarget 'blog\.author\.avatar'
|
||||
syn match csdlTarget 'blog\.author\.username'
|
||||
syn match csdlTarget 'blog\.type'
|
||||
syn match csdlTarget 'blog\.post\.link'
|
||||
syn match csdlTarget 'blog\.post\.title'
|
||||
syn match csdlTarget 'facebook\.author\.name'
|
||||
syn match csdlTarget 'facebook\.author\.link'
|
||||
syn match csdlTarget 'facebook\.author\.id'
|
||||
syn match csdlTarget 'facebook\.author\.avatar'
|
||||
syn match csdlTarget 'facebook\.message'
|
||||
syn match csdlTarget 'facebook\.description'
|
||||
syn match csdlTarget 'facebook\.caption'
|
||||
syn match csdlTarget 'facebook\.type'
|
||||
syn match csdlTarget 'facebook\.application'
|
||||
syn match csdlTarget 'facebook\.source'
|
||||
syn match csdlTarget 'facebook\.link'
|
||||
syn match csdlTarget 'facebook\.name'
|
||||
syn match csdlTarget 'facebook\.to\.names'
|
||||
syn match csdlTarget 'facebook\.to\.ids'
|
||||
syn match csdlTarget 'facebook\.og\.title'
|
||||
syn match csdlTarget 'facebook\.og\.location'
|
||||
syn match csdlTarget 'facebook\.og\.photos'
|
||||
syn match csdlTarget 'facebook\.og\.by'
|
||||
syn match csdlTarget 'facebook\.og\.description'
|
||||
syn match csdlTarget 'facebook\.og\.type'
|
||||
syn match csdlTarget 'facebook\.og\.length'
|
||||
syn match csdlTarget 'facebook\.likes\.count'
|
||||
syn match csdlTarget 'facebook\.likes\.names'
|
||||
syn match csdlTarget 'facebook\.likes\.ids'
|
||||
syn match csdlTarget 'topix\.title'
|
||||
syn match csdlTarget 'topix\.content'
|
||||
syn match csdlTarget 'topix\.contenttype'
|
||||
syn match csdlTarget 'topix\.link'
|
||||
syn match csdlTarget 'topix\.author\.name'
|
||||
syn match csdlTarget 'topix\.type'
|
||||
syn match csdlTarget 'topix\.thread'
|
||||
syn match csdlTarget 'topix\.author\.location'
|
||||
syn match csdlTarget 'bitly\.user\.agent'
|
||||
syn keyword csdlTarget bitly.url_hash
|
||||
syn match csdlTarget 'bitly\.share\.hash'
|
||||
syn match csdlTarget 'bitly\.cname'
|
||||
syn keyword csdlTarget bitly.referring_url
|
||||
syn keyword csdlTarget bitly.referring_domain
|
||||
syn match csdlTarget 'bitly\.url'
|
||||
syn match csdlTarget 'bitly\.domain'
|
||||
syn keyword csdlTarget bitly.country_code
|
||||
syn keyword csdlTarget bitly.geo_region_code
|
||||
syn match csdlTarget 'bitly\.country'
|
||||
syn keyword csdlTarget bitly.geo_region
|
||||
syn keyword csdlTarget bitly.geo_city
|
||||
syn match csdlTarget 'bitly\.geo'
|
||||
syn match csdlTarget 'bitly\.timezone'
|
||||
syn match csdlTarget 'trends\.type'
|
||||
syn match csdlTarget 'trends\.content'
|
||||
syn match csdlTarget 'trends\.source'
|
||||
syn match csdlTarget 'board\.title'
|
||||
syn match csdlTarget 'board\.content'
|
||||
syn match csdlTarget 'board\.contenttype'
|
||||
syn match csdlTarget 'board\.link'
|
||||
syn match csdlTarget 'board\.domain'
|
||||
syn match csdlTarget 'board\.author\.name'
|
||||
syn match csdlTarget 'board\.author\.link'
|
||||
syn match csdlTarget 'board\.author\.avatar'
|
||||
syn match csdlTarget 'board\.author\.username'
|
||||
syn match csdlTarget 'board\.type'
|
||||
syn match csdlTarget 'board\.thread'
|
||||
syn match csdlTarget 'board\.author\.location'
|
||||
syn match csdlTarget 'board\.author\.signature'
|
||||
syn match csdlTarget 'board\.author\.registered'
|
||||
syn match csdlTarget 'board\.author\.age'
|
||||
syn match csdlTarget 'board\.author\.gender'
|
||||
syn match csdlTarget 'video\.title'
|
||||
syn match csdlTarget 'video\.content'
|
||||
syn match csdlTarget 'video\.contenttype'
|
||||
syn match csdlTarget 'video\.domain'
|
||||
syn match csdlTarget 'video\.author\.name'
|
||||
syn match csdlTarget 'video\.author\.link'
|
||||
syn match csdlTarget 'video\.author\.avatar'
|
||||
syn match csdlTarget 'video\.author\.username'
|
||||
syn match csdlTarget 'video\.type'
|
||||
syn match csdlTarget 'video\.videolink'
|
||||
syn match csdlTarget 'video\.commentslink'
|
||||
syn match csdlTarget 'video\.duration'
|
||||
syn match csdlTarget 'video\.thumbnail'
|
||||
syn match csdlTarget 'video\.category'
|
||||
syn match csdlTarget 'video\.tags'
|
||||
syn match csdlTarget '2ch\.title'
|
||||
syn match csdlTarget '2ch\.content'
|
||||
syn match csdlTarget '2ch\.contenttype'
|
||||
syn match csdlTarget '2ch\.link'
|
||||
syn match csdlTarget '2ch\.author\.name'
|
||||
syn match csdlTarget '2ch\.type'
|
||||
syn match csdlTarget '2ch\.thread'
|
||||
syn match csdlTarget 'dailymotion\.title'
|
||||
syn match csdlTarget 'dailymotion\.content'
|
||||
syn match csdlTarget 'dailymotion\.contenttype'
|
||||
syn match csdlTarget 'dailymotion\.author\.link'
|
||||
syn match csdlTarget 'dailymotion\.author\.username'
|
||||
syn match csdlTarget 'dailymotion\.videolink'
|
||||
syn match csdlTarget 'dailymotion\.duration'
|
||||
syn match csdlTarget 'dailymotion\.thumbnail'
|
||||
syn match csdlTarget 'dailymotion\.category'
|
||||
syn match csdlTarget 'dailymotion\.tags'
|
||||
syn match csdlTarget 'language\.tag'
|
||||
syn match csdlTarget 'language\.confidence'
|
||||
syn match csdlTarget 'digg\.type'
|
||||
syn match csdlTarget 'digg\.user\.name'
|
||||
syn match csdlTarget 'digg\.user\.fullname'
|
||||
syn match csdlTarget 'digg\.user\.registered'
|
||||
syn match csdlTarget 'digg\.user\.profileviews'
|
||||
syn match csdlTarget 'digg\.user\.icon'
|
||||
syn match csdlTarget 'digg\.user\.links'
|
||||
syn match csdlTarget 'digg\.item\.status'
|
||||
syn match csdlTarget 'digg\.item\.description'
|
||||
syn match csdlTarget 'digg\.item\.title'
|
||||
syn match csdlTarget 'digg\.item\.diggs'
|
||||
syn match csdlTarget 'digg\.item\.comments'
|
||||
syn match csdlTarget 'digg\.item\.topic'
|
||||
syn match csdlTarget 'digg\.comment\.buries'
|
||||
syn match csdlTarget 'digg\.comment\.diggs'
|
||||
syn match csdlTarget 'digg\.comment\.text'
|
||||
syn match csdlTarget 'youtube\.title'
|
||||
syn match csdlTarget 'youtube\.content'
|
||||
syn match csdlTarget 'youtube\.contenttype'
|
||||
syn match csdlTarget 'youtube\.author\.name'
|
||||
syn match csdlTarget 'youtube\.author\.link'
|
||||
syn match csdlTarget 'youtube\.type'
|
||||
syn match csdlTarget 'youtube\.videolink'
|
||||
syn match csdlTarget 'youtube\.commentslink'
|
||||
syn match csdlTarget 'youtube\.duration'
|
||||
syn match csdlTarget 'youtube\.thumbnail'
|
||||
syn match csdlTarget 'youtube\.category'
|
||||
syn match csdlTarget 'youtube\.tags'
|
||||
|
||||
syn match csdlComment "^\/\/.*$"
|
||||
syn match csdlComment "^\/\*.*$"
|
||||
syn match csdlComment "^.*\*\/$"
|
||||
|
||||
highlight link csdlKeyword Statement
|
||||
highlight link csdlOperator Operator
|
||||
highlight link csdlLogicalOperator Operator
|
||||
highlight link csdlTarget Constant
|
||||
highlight link csdlComment Comment
|
||||
"
|
||||
let b:current_syntax = "csdl"
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
||||
" Wichert Akkerman <wakkerma@debian.org>
|
||||
" Last Change: 2012 April 29
|
||||
" Last Change: 2013 Jan 03
|
||||
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debchangelog.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
@@ -19,7 +19,7 @@ syn case ignore
|
||||
" Define some common expressions we can use later on
|
||||
syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
|
||||
syn match debchangelogUrgency contained "; urgency=\(low\|medium\|high\|critical\|emergency\)\( \S.*\)\="
|
||||
syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(squeeze)-%(backports%(-sloppy)=|volatile)|%(hardy|lucid|natty|oneiric|precise|quantal)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
|
||||
syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(squeeze)-%(backports%(-sloppy)=|volatile)|%(hardy|lucid|oneiric|precise|quantal|raring)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
|
||||
syn match debchangelogVersion contained "(.\{-})"
|
||||
syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
|
||||
syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
||||
" Wichert Akkerman <wakkerma@debian.org>
|
||||
" Last Change: 2012 Jun 06
|
||||
" Last Change: 2012 Dec 31
|
||||
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debcontrol.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
@@ -50,7 +50,9 @@ syn match debcontrolComment "^#.*$" contains=@Spell
|
||||
syn case ignore
|
||||
|
||||
" List of all legal keys
|
||||
syn match debcontrolKey contained "^\%(Source\|Package\|Section\|Priority\|\%(XSBC-Original-\)\=Maintainer\|Uploaders\|Build-\%(Conflicts\|Depends\)\%(-Indep\)\=\|Standards-Version\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Breaks\|Essential\|Architecture\|Multi-Arch\|Description\|Bugs\|Origin\|X[SB]-Python-Version\|Homepage\|\(XS-\)\=Vcs-\(Browser\|Arch\|Bzr\|Cvs\|Darcs\|Git\|Hg\|Mtn\|Svn\)\|\%(XC-\)\=Package-Type\|\%(XS-\)\=DM-Upload-Allowed\): *"
|
||||
syn match debcontrolKey contained "^\%(Source\|Package\|Section\|Priority\|\%(XSBC-Original-\)\=Maintainer\|Uploaders\|Build-\%(Conflicts\|Depends\)\%(-Indep\)\=\|Standards-Version\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Breaks\|Essential\|Architecture\|Multi-Arch\|Description\|Bugs\|Origin\|X[SB]-Python-Version\|Homepage\|\(XS-\)\=Vcs-\(Browser\|Arch\|Bzr\|Cvs\|Darcs\|Git\|Hg\|Mtn\|Svn\)\|\%(XC-\)\=Package-Type\): *"
|
||||
|
||||
syn match debcontrolDeprecatedKey contained "^\%(\%(XS-\)\=DM-Upload-Allowed\): *"
|
||||
|
||||
" Fields for which we do strict syntax checking
|
||||
syn region debcontrolStrictField start="^Architecture" end="$" contains=debcontrolKey,debcontrolArchitecture,debcontrolSpace oneline
|
||||
@@ -64,7 +66,7 @@ syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-\%(Browser\|Arch\|Bzr\|Da
|
||||
syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Svn" end="$" contains=debcontrolKey,debcontrolVcsSvn,debcontrolHTTPUrl oneline keepend
|
||||
syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Cvs" end="$" contains=debcontrolKey,debcontrolVcsCvs oneline keepend
|
||||
syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Git" end="$" contains=debcontrolKey,debcontrolVcsGit oneline keepend
|
||||
syn region debcontrolStrictField start="^\%(XS-\)\=DM-Upload-Allowed" end="$" contains=debcontrolKey,debcontrolDmUpload oneline
|
||||
syn region debcontrolStrictField start="^\%(XS-\)\=DM-Upload-Allowed" end="$" contains=debcontrolDeprecatedKey,debcontrolDmUpload oneline
|
||||
|
||||
" Catch-all for the other legal fields
|
||||
syn region debcontrolField start="^\%(\%(XSBC-Original-\)\=Maintainer\|Standards-Version\|Essential\|Bugs\|Origin\|X[SB]-Python-Version\|\%(XS-\)\=Vcs-Mtn\):" end="$" contains=debcontrolKey,debcontrolVariable,debcontrolEmail oneline
|
||||
@@ -83,6 +85,7 @@ if version >= 508 || !exists("did_debcontrol_syn_inits")
|
||||
HiLink debcontrolKey Keyword
|
||||
HiLink debcontrolField Normal
|
||||
HiLink debcontrolStrictField Error
|
||||
HiLink debcontrolDeprecatedKey Error
|
||||
HiLink debcontrolMultiField Normal
|
||||
HiLink debcontrolArchitecture Normal
|
||||
HiLink debcontrolMultiArch Normal
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Debian sources.list
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
|
||||
" Last Change: 2012 April 29
|
||||
" Last Change: 2013 Jan 03
|
||||
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debsources.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
@@ -23,7 +23,7 @@ syn match debsourcesComment /#.*/ contains=@Spell
|
||||
|
||||
" Match uri's
|
||||
syn match debsourcesUri +\(http://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\++
|
||||
syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(squeeze\|wheezy\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|hardy\|lucid\|natty\|oneiric\|precise\|quantal\)\([-[:alnum:]_./]*\)+
|
||||
syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(squeeze\|wheezy\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|hardy\|lucid\|oneiric\|precise\|quantal\|raring\)\([-[:alnum:]_./]*\)+
|
||||
|
||||
" Associate our matches and regions with pretty colours
|
||||
hi def link debsourcesLine Error
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: dts/dtsi (device tree files)
|
||||
" Maintainer: Daniel Mack <vim@zonque.org>
|
||||
" Last Change: 2012 Oct 04
|
||||
" Last Change: 2013 Apr 05
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -13,6 +13,7 @@ syntax region dtsBinaryProperty start="\[" end="\]"
|
||||
syntax match dtsStringProperty "\".*\""
|
||||
syntax match dtsKeyword "/.*/"
|
||||
syntax match dtsLabel "^[[:space:]]*[[:alpha:][:digit:]_]\+:"
|
||||
syntax match dtsNode /[[:alpha:][:digit:]-_]\+\(@[0-9a-fA-F]\+\|\)[[:space:]]*{/he=e-1
|
||||
syntax region dtsCellProperty start="<" end=">" contains=dtsReference,dtsBinaryProperty,dtsStringProperty,dtsComment
|
||||
syntax region dtsCommentInner start="/\*" end="\*/"
|
||||
|
||||
@@ -21,6 +22,7 @@ hi def link dtsBinaryProperty Number
|
||||
hi def link dtsStringProperty String
|
||||
hi def link dtsKeyword Include
|
||||
hi def link dtsLabel Label
|
||||
hi def link dtsNode Structure
|
||||
hi def link dtsReference Macro
|
||||
hi def link dtsComment Comment
|
||||
hi def link dtsCommentInner Comment
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
" Language: Groovy
|
||||
" Original Author: Alessio Pace <billy.corgan@tiscali.it>
|
||||
" Maintainer: Tobias Rapp <yahuxo@gmx.de>
|
||||
" Version: 0.1.11
|
||||
" Version: 0.1.12
|
||||
" URL: http://www.vim.org/scripts/script.php?script_id=945
|
||||
" Last Change: 2012 Jan 08
|
||||
" Last Change: 2013 Mar 14
|
||||
|
||||
" THE ORIGINAL AUTHOR'S NOTES:
|
||||
"
|
||||
@@ -250,13 +250,17 @@ syn match groovyComment "/\*\*/"
|
||||
" Strings and constants
|
||||
syn match groovySpecialError contained "\\."
|
||||
syn match groovySpecialCharError contained "[^']"
|
||||
syn match groovySpecialChar contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\)"
|
||||
syn match groovySpecialChar contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\|\$\)"
|
||||
syn match groovyRegexChar contained "\\."
|
||||
syn region groovyString start=+"+ end=+"+ end=+$+ contains=groovySpecialChar,groovySpecialError,@Spell,groovyELExpr
|
||||
syn region groovyString start=+'+ end=+'+ end=+$+ contains=groovySpecialChar,groovySpecialError,@Spell
|
||||
syn region groovyString start=+"""+ end=+"""+ contains=groovySpecialChar,groovySpecialError,@Spell,groovyELExpr
|
||||
syn region groovyString start=+'''+ end=+'''+ contains=groovySpecialChar,groovySpecialError,@Spell
|
||||
" regex string
|
||||
syn region groovyString start='/[^/]' end='/' contains=groovySpecialChar,groovyRegexChar,groovyELExpr
|
||||
" syn region groovyELExpr start=+${+ end=+}+ keepend contained
|
||||
syn match groovyELExpr /\${.\{-}}/ contained
|
||||
syn match groovyELExpr /\${.\{-}}/ contained
|
||||
syn match groovyELExpr /\$[a-zA-Z_][a-zA-Z0-9_.]*/ contained
|
||||
GroovyHiLink groovyELExpr Identifier
|
||||
|
||||
" TODO: better matching. I am waiting to understand how it really works in groovy
|
||||
@@ -415,6 +419,7 @@ if version >= 508 || !exists("did_groovy_syn_inits")
|
||||
GroovyHiLink groovySpecialError Error
|
||||
GroovyHiLink groovySpecialCharError Error
|
||||
GroovyHiLink groovyString String
|
||||
GroovyHiLink groovyRegexChar String
|
||||
GroovyHiLink groovyCharacter Character
|
||||
GroovyHiLink groovySpecialChar SpecialChar
|
||||
GroovyHiLink groovyNumber Number
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: Vim help file
|
||||
" Maintainer: Bram Moolenaar (Bram@vim.org)
|
||||
" Last Change: 2012 Jul 16
|
||||
" Last Change: 2013 Apr 07
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -25,10 +25,12 @@ else
|
||||
syn match helpHyperTextEntry "\*[#-)!+-~]\+\*$" contains=helpStar
|
||||
endif
|
||||
if has("conceal")
|
||||
syn match helpBar contained "[|`]" conceal
|
||||
syn match helpBar contained "|" conceal
|
||||
syn match helpBacktick contained "`" conceal
|
||||
syn match helpStar contained "\*" conceal
|
||||
else
|
||||
syn match helpBar contained "[|`]"
|
||||
syn match helpBar contained "|"
|
||||
syn match helpBacktick contained "`"
|
||||
syn match helpStar contained "\*"
|
||||
endif
|
||||
syn match helpNormal "|.*====*|"
|
||||
@@ -38,7 +40,7 @@ syn match helpVim "Vim version [0-9.a-z]\+"
|
||||
syn match helpVim "VIM REFERENCE.*"
|
||||
syn match helpOption "'[a-z]\{2,\}'"
|
||||
syn match helpOption "'t_..'"
|
||||
syn match helpCommand "`[^` ]*`"hs=s+1,he=e-1 contains=helpBar
|
||||
syn match helpCommand "`[^` ]\+`"hs=s+1,he=e-1 contains=helpBacktick
|
||||
syn match helpHeader "\s*\zs.\{-}\ze\s\=\~$" nextgroup=helpIgnore
|
||||
syn match helpGraphic ".* \ze`$" nextgroup=helpIgnore
|
||||
if has("conceal")
|
||||
@@ -150,6 +152,7 @@ syn sync minlines=40
|
||||
hi def link helpIgnore Ignore
|
||||
hi def link helpHyperTextJump Subtitle
|
||||
hi def link helpBar Ignore
|
||||
hi def link helpBacktick Ignore
|
||||
hi def link helpStar Ignore
|
||||
hi def link helpHyperTextEntry String
|
||||
hi def link helpHeadline Statement
|
||||
|
||||
37
runtime/syntax/mallard.vim
Normal file
37
runtime/syntax/mallard.vim
Normal file
@@ -0,0 +1,37 @@
|
||||
" Vim syntax file
|
||||
" Language: Mallard
|
||||
" Maintainer: Jaromir Hradilek <jhradilek@gmail.com>
|
||||
" URL: https://github.com/jhradilek/vim-syntax
|
||||
" Last Change: 11 February 2013
|
||||
" Description: A syntax file for the Mallard markup language according to
|
||||
" Mallard 1.0 DRAFT as of 2013-02-11.
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
do Syntax xml
|
||||
syn cluster xmlTagHook add=mallardTagName
|
||||
syn spell toplevel
|
||||
syn case match
|
||||
|
||||
syn keyword mallardTagName app cite cmd code col colgroup comment contained
|
||||
syn keyword mallardTagName credit desc em email example figure contained
|
||||
syn keyword mallardTagName file gui guiseq info input item key contained
|
||||
syn keyword mallardTagName keyseq license link links list listing contained
|
||||
syn keyword mallardTagName media name note output p page quote contained
|
||||
syn keyword mallardTagName revision screen section span steps contained
|
||||
syn keyword mallardTagName subtitle synopsis sys table tbody td contained
|
||||
syn keyword mallardTagName terms tfoot thead title tr tree var contained
|
||||
syn keyword mallardTagName years contained
|
||||
|
||||
syn region mallardComment start="<comment\>" end="</comment>"me=e-10 contains=xmlTag,xmlNamespace,xmlTagName,xmlEndTag,xmlRegion,xmlEntity,@Spell keepend
|
||||
syn region mallardEmphasis start="<em\>" end="</em>"me=e-5 contains=xmlTag,xmlNamespace,xmlTagName,xmlEndTag,xmlRegion,xmlEntity,@Spell keepend
|
||||
syn region mallardTitle start="<title\>" end="</title>"me=e-8 contains=xmlTag,xmlNamespace,xmlTagName,xmlEndTag,xmlRegion,xmlEntity,@Spell keepend
|
||||
|
||||
hi def link mallardComment Comment
|
||||
hi def link mallardTagName Statement
|
||||
hi def link mallardTitle Title
|
||||
hi def mallardEmphasis term=italic cterm=italic gui=italic
|
||||
|
||||
let b:current_syntax = "mallard"
|
||||
@@ -1,13 +1,13 @@
|
||||
" ninja build file syntax.
|
||||
" Language: ninja build file as described at
|
||||
" http://martine.github.com/ninja/manual.html
|
||||
" Version: 1.2
|
||||
" Last Change: 2012/06/01
|
||||
" Version: 1.3
|
||||
" Last Change: 2013 Apr 12
|
||||
" Maintainer: Nicolas Weber <nicolasweber@gmx.de>
|
||||
|
||||
" ninja lexer and parser are at
|
||||
" https://github.com/martine/ninja/blob/master/src/lexer.in.cc
|
||||
" https://github.com/martine/ninja/blob/master/src/parsers.cc
|
||||
" https://github.com/martine/ninja/blob/master/src/manifest_parser.cc
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -19,9 +19,10 @@ syn match ninjaComment /#.*/ contains=@Spell
|
||||
|
||||
" Toplevel statements are the ones listed here and
|
||||
" toplevel variable assignments (ident '=' value).
|
||||
" lexer.in.cc, ReadToken() and parsers.cc, Parse()
|
||||
" lexer.in.cc, ReadToken() and manifest_parser.cc, Parse()
|
||||
syn match ninjaKeyword "^build\>"
|
||||
syn match ninjaKeyword "^rule\>"
|
||||
syn match ninjaKeyword "^pool\>"
|
||||
syn match ninjaKeyword "^default\>"
|
||||
syn match ninjaKeyword "^include\>"
|
||||
syn match ninjaKeyword "^subninja\>"
|
||||
@@ -30,9 +31,12 @@ syn match ninjaKeyword "^subninja\>"
|
||||
" on the first line without indent. 'rule' allows only a
|
||||
" limited set of magic variables, 'build' allows general
|
||||
" let assignments.
|
||||
" parsers.cc, ParseRule()
|
||||
" manifest_parser.cc, ParseRule()
|
||||
syn region ninjaRule start="^rule" end="^\ze\S" contains=ALL transparent
|
||||
syn keyword ninjaRuleCommand contained command depfile description generator restat
|
||||
syn keyword ninjaRuleCommand contained command deps depfile description generator pool restat rspfile rspfile_content
|
||||
|
||||
syn region ninjaPool start="^pool" end="^\ze\S" contains=ALL transparent
|
||||
syn keyword ninjaPoolCommand contained depth
|
||||
|
||||
" Strings are parsed as follows:
|
||||
" lexer.in.cc, ReadEvalString()
|
||||
@@ -58,6 +62,7 @@ syn match ninjaOperator "\(=\|:\||\|||\)\ze\s"
|
||||
hi def link ninjaComment Comment
|
||||
hi def link ninjaKeyword Keyword
|
||||
hi def link ninjaRuleCommand Statement
|
||||
hi def link ninjaPoolCommand Statement
|
||||
hi def link ninjaWrapLineOperator ninjaOperator
|
||||
hi def link ninjaOperator Operator
|
||||
hi def link ninjaSimpleVar ninjaVar
|
||||
|
||||
@@ -3,7 +3,10 @@
|
||||
" Maintainer: Kazunobu Kuriyama <kazunobu.kuriyama@nifty.com>
|
||||
" Ex-maintainer: Anthony Hodsdon <ahodsdon@fastmail.fm>
|
||||
" First Author: Valentino Kyriakides <1kyriaki@informatik.uni-hamburg.de>
|
||||
" Last Change: 2012 Apr 30
|
||||
" Last Change: 2013 Feb 20
|
||||
"
|
||||
" 2013 Feb 19 Revised based on a patch sent to the maintainer by
|
||||
" Christos Kontas <xakon@yahoo.com> on 2012 Dec 12.
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -48,6 +51,11 @@ syn match objcDirective "@class\|@end\|@defs"
|
||||
syn match objcDirective "@encode\|@protocol\|@selector"
|
||||
syn match objcDirective "@try\|@catch\|@finally\|@throw\|@synchronized"
|
||||
|
||||
" New directives introduced with Objc-2.0
|
||||
syn match objcDirective "@property\|@synthesize\|@dynamic"
|
||||
syn match objcDirective "@optional\|@required"
|
||||
syn match objcDirective "@autoreleasepool"
|
||||
|
||||
" Match the ObjC method types
|
||||
"
|
||||
" NOTE: here I match only the indicators, this looks
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
" pf syntax file
|
||||
" Language: OpenBSD packet filter configuration (pf.conf)
|
||||
" Maintainer: Camiel Dobbelaar <cd@sentia.nl>
|
||||
" Last Change: 2003 May 27
|
||||
" Language: OpenBSD packet filter configuration (pf.conf)
|
||||
" Original Author: Camiel Dobbelaar <cd@sentia.nl>
|
||||
" Maintainer: Lauri Tirkkonen <lotheac@iki.fi>
|
||||
" Last Change: 2013 Apr 02
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -14,7 +15,7 @@ endif
|
||||
setlocal foldmethod=syntax
|
||||
syn sync fromstart
|
||||
|
||||
syn cluster pfNotLS contains=pfComment,pfTodo,pfVarAssign
|
||||
syn cluster pfNotLS contains=pfTodo,pfVarAssign
|
||||
syn keyword pfCmd altq anchor antispoof binat nat pass
|
||||
syn keyword pfCmd queue rdr scrub table set
|
||||
syn keyword pfService auth bgp domain finger ftp http https ident
|
||||
|
||||
@@ -12,9 +12,9 @@ elseif exists("b:current_syntax")
|
||||
endif
|
||||
|
||||
if version >= 600
|
||||
setlocal iskeyword=@,48-57,_,128-167,224-235,-,
|
||||
setlocal iskeyword=@,48-57,_,128-167,224-235,-
|
||||
else
|
||||
set iskeyword=@,48-57,_,128-167,224-235,-,
|
||||
set iskeyword=@,48-57,_,128-167,224-235,-
|
||||
endif
|
||||
|
||||
syn keyword pineConfig addrbook-sort-rule
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: Python
|
||||
" Maintainer: Neil Schemenauer <nas@python.ca>
|
||||
" Last Change: 2010 Sep 21
|
||||
" Last Change: 2013 Feb 26
|
||||
" Credits: Zvezdan Petkovic <zpetkovic@acm.org>
|
||||
" Neil Schemenauer <nas@python.ca>
|
||||
" Dmitry Vasiliev
|
||||
@@ -236,7 +236,7 @@ endif
|
||||
" Notice that the end of a string, either ''', or """, will end the contained
|
||||
" doctest too. Thus, we do *not* need to have it as an end pattern.
|
||||
if !exists("python_no_doctest_highlight")
|
||||
if !exists("python_no_doctest_code_higlight")
|
||||
if !exists("python_no_doctest_code_highlight")
|
||||
syn region pythonDoctest
|
||||
\ start="^\s*>>>\s" end="^\s*$"
|
||||
\ contained contains=ALLBUT,pythonDoctest,@Spell
|
||||
|
||||
972
runtime/syntax/redif.vim
Normal file
972
runtime/syntax/redif.vim
Normal file
@@ -0,0 +1,972 @@
|
||||
" Vim syntax file
|
||||
" Language: ReDIF
|
||||
" Maintainer: Axel Castellane <axel.castellane@polytechnique.edu>
|
||||
" Last Change: 2013 April 08
|
||||
" Original Author: Axel Castellane
|
||||
" Source: http://openlib.org/acmes/root/docu/redif_1.html
|
||||
" File Extension: rdf
|
||||
" Note: The ReDIF format is used by RePEc.
|
||||
|
||||
" To be compatible with Vim 5.8 use:
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" ReDIF is case-insensitive
|
||||
syntax case ignore
|
||||
|
||||
" Structure: Some fields determine what fields can come next. For example:
|
||||
" Template-Type
|
||||
" *-Name
|
||||
" File-URL
|
||||
" *-Institution
|
||||
" Those fields span a syntax region over several lines so that these regions
|
||||
" can only contain their respective items.
|
||||
|
||||
" Any line which is not a correct template or part of an argument is an error.
|
||||
" This comes at the very beginning, so it has the lowest priority and will
|
||||
" only match if nothing else did.
|
||||
syntax match redifWrongLine /^.\+/ display
|
||||
|
||||
highlight def link redifWrongLine redifError
|
||||
|
||||
" Comments must start with # and it must be the first character of the line,
|
||||
" otherwise I believe that they are considered as part of an argument.
|
||||
syntax match redifComment /^#.*/ containedin=ALL display
|
||||
|
||||
" Defines the 9 possible multi-lines regions of Template-Type and the fields
|
||||
" they can contain.
|
||||
syntax region redifRegionTemplatePaper start=/^Template-Type:\_s*ReDIF-Paper \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsPaper,redifWrongLine,redifRegionClusterAuthor,redifRegionClusterFile fold
|
||||
syntax region redifRegionTemplateArticle start=/^Template-Type:\_s*ReDIF-Article \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsArticle,redifWrongLine,redifRegionClusterAuthor,redifRegionClusterFile fold
|
||||
syntax region redifRegionTemplateChapter start=/^Template-Type:\_s*ReDIF-Chapter \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsChapter,redifWrongLine,redifRegionClusterAuthor,redifRegionClusterFile,redifRegionClusterProvider,redifRegionClusterPublisher,redifRegionClusterEditor fold
|
||||
syntax region redifRegionTemplateBook start=/^Template-Type:\_s*ReDIF-Book \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsBook,redifWrongLine,redifRegionClusterAuthor,redifRegionClusterFile,redifRegionClusterProvider,redifRegionClusterPublisher,redifRegionClusterEditor fold
|
||||
syntax region redifRegionTemplateSoftware start=/^Template-Type:\_s*ReDIF-Software \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsSoftware,redifWrongLine,redifRegionClusterAuthor,redifRegionClusterFile fold
|
||||
syntax region redifRegionTemplateArchive start=/^Template-Type:\_s*ReDIF-Archive \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsArchive,redifWrongLine fold
|
||||
syntax region redifRegionTemplateSeries start=/^Template-Type:\_s*ReDIF-Series \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsSeries,redifWrongLine,redifRegionClusterProvider,redifRegionClusterPublisher,redifRegionClusterEditor fold
|
||||
syntax region redifRegionTemplateInstitution start=/^Template-Type:\_s*ReDIF-Institution \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsInstitution,redifWrongLine,redifRegionClusterPrimary,redifRegionClusterSecondary,redifRegionClusterTertiary,redifRegionClusterQuaternary fold
|
||||
syntax region redifRegionTemplatePerson start=/^Template-Type:\_s*ReDIF-Person \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsPerson,redifWrongLine,redifRegionClusterWorkplace fold
|
||||
|
||||
" All fields are foldable (These come before clusters, so they have lower
|
||||
" priority). So they are contained in a foldable syntax region.
|
||||
syntax region redifContainerFieldsPaper start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldTitle,redifFieldHandleOfWork,redifFieldLanguage,redifFieldContactEmail,redifFieldAbstract,redifFieldClassificationJEL,redifFieldKeywords,redifFieldNumber,redifFieldCreationDate,redifFieldRevisionDate,redifFieldPublicationStatus,redifFieldNote,redifFieldLength,redifFieldSeries,redifFieldAvailability,redifFieldOrderURL,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldRestriction,redifFieldPrice,redifFieldNotification,redifFieldPublicationType,redifFieldTemplateType,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsArticle start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldTitle,redifFieldHandleOfWork,redifFieldLanguage,redifFieldContactEmail,redifFieldAbstract,redifFieldClassificationJEL,redifFieldKeywords,redifFieldNumber,redifFieldCreationDate,redifFieldPublicationStatus,redifFieldOrderURL,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldRestriction,redifFieldPrice,redifFieldNotification,redifFieldPublicationType,redifFieldJournal,redifFieldVolume,redifFieldYear,redifFieldIssue,redifFieldMonth,redifFieldPages,redifFieldNumber,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldTemplateType,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsChapter start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldHandleOfWork,redifFieldTitle,redifFieldContactEmail,redifFieldAbstract,redifFieldClassificationJEL,redifFieldKeywords,redifFieldBookTitle,redifFieldYear,redifFieldMonth,redifFieldPages,redifFieldChapter,redifFieldVolume,redifFieldEdition,redifFieldSeries,redifFieldISBN,redifFieldPublicationStatus,redifFieldNote,redifFieldInBook,redifFieldOrderURL,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldTemplateType,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsBook start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldTitle,redifFieldHandleOfWork,redifFieldContactEmail,redifFieldYear,redifFieldMonth,redifFieldVolume,redifFieldEdition,redifFieldSeries,redifFieldISBN,redifFieldPublicationStatus,redifFieldNote,redifFieldAbstract,redifFieldClassificationJEL,redifFieldKeywords,redifFieldHasChapter,redifFieldPrice,redifFieldOrderURL,redifFieldNumber,redifFieldCreationDate,redifFieldPublicationDate,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldTemplateType,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsSoftware start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldHandleOfWork,redifFieldTitle,redifFieldProgrammingLanguage,redifFieldAbstract,redifFieldNumber,redifFieldVersion,redifFieldClassificationJEL,redifFieldKeywords,redifFieldSize,redifFieldSeries,redifFieldCreationDate,redifFieldRevisionDate,redifFieldNote,redifFieldRequires,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldTemplateType,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsArchive start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldHandleOfArchive,redifFieldURL,redifFieldMaintainerEmail,redifFieldName,redifFieldMaintainerName,redifFieldMaintainerPhone,redifFieldMaintainerFax,redifFieldClassificationJEL,redifFieldHomepage,redifFieldDescription,redifFieldNotification,redifFieldRestriction,redifFieldTemplateType,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsSeries start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldName,redifFieldHandleOfSeries,redifFieldMaintainerEmail,redifFieldType,redifFieldOrderEmail,redifFieldOrderHomepage,redifFieldOrderPostal,redifFieldPrice,redifFieldRestriction,redifFieldMaintainerPhone,redifFieldMaintainerFax,redifFieldMaintainerName,redifFieldDescription,redifFieldClassificationJEL,redifFieldKeywords,redifFieldNotification,redifFieldISSN,redifFieldFollowup,redifFieldPredecessor,redifFieldTemplateType,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsInstitution start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldHandleOfInstitution,redifFieldPrimaryDefunct,redifFieldSecondaryDefunct,redifFieldTertiaryDefunct,redifFieldTemplateType,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsPerson start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldHandleOfPerson,redifFieldNameFull,redifFieldNameFirst,redifFieldNameLast,redifFieldNamePrefix,redifFieldNameMiddle,redifFieldNameSuffix,redifFieldNameASCII,redifFieldEmail,redifFieldHomepage,redifFieldFax,redifFieldPostal,redifFieldPhone,redifFieldWorkplaceOrganization,redifFieldAuthorPaper,redifFieldAuthorArticle,redifFieldAuthorSoftware,redifFieldAuthorBook,redifFieldAuthorChapter,redifFieldEditorBook,redifFieldEditorSeries,redifFieldClassificationJEL,redifFieldShortId,redifFieldLastLoginDate,redifFieldRegisteredDate,redifWrongLine contained transparent fold
|
||||
|
||||
" Defines the 10 possible clusters and what they can contain
|
||||
" A field not in the cluster ends the cluster.
|
||||
syntax region redifRegionClusterWorkplace start=/^Workplace-Name:/ skip=/^Workplace-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsWorkplace fold
|
||||
syntax region redifRegionClusterPrimary start=/^Primary-Name:/ skip=/^Primary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsPrimary fold
|
||||
syntax region redifRegionClusterSecondary start=/^Secondary-Name:/ skip=/^Secondary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsSecondary fold
|
||||
syntax region redifRegionClusterTertiary start=/^Tertiary-Name:/ skip=/^Tertiary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsTertiary fold
|
||||
syntax region redifRegionClusterQuaternary start=/^Quaternary-Name:/ skip=/^Quaternary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsQuaternary fold
|
||||
syntax region redifRegionClusterProvider start=/^Provider-Name:/ skip=/^Provider-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsProvider fold
|
||||
syntax region redifRegionClusterPublisher start=/^Publisher-Name:/ skip=/^Publisher-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsPublisher fold
|
||||
syntax region redifRegionClusterAuthor start=/^Author-Name:/ skip=/^Author-\%(Name\%(-First\|-Last\)\|Homepage\|Email\|Fax\|Postal\|Phone\|Person\|Workplace-Name\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifRegionClusterAuthorWorkplace,redifContainerFieldsAuthor fold
|
||||
syntax region redifRegionClusterEditor start=/^Editor-Name:/ skip=/^Editor-\%(Name\%(-First\|-Last\)\|Homepage\|Email\|Fax\|Postal\|Phone\|Person\|Workplace-Name\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifRegionClusterEditorWorkplace,redifContainerFieldsEditor fold
|
||||
syntax region redifRegionClusterFile start=/^File-URL:/ skip=/^File-\%(Format\|Function\|Size\|Restriction\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsFile fold
|
||||
|
||||
" The foldable containers of the clusters.
|
||||
syntax region redifContainerFieldsWorkplace start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldWorkplaceName,redifFieldWorkplaceHomepage,redifFieldWorkplaceNameEnglish,redifFieldWorkplacePostal,redifFieldWorkplaceLocation,redifFieldWorkplaceEmail,redifFieldWorkplacePhone,redifFieldWorkplaceFax,redifFieldWorkplaceInstitution,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsPrimary start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldPrimaryName,redifFieldPrimaryHomepage,redifFieldPrimaryNameEnglish,redifFieldPrimaryPostal,redifFieldPrimaryLocation,redifFieldPrimaryEmail,redifFieldPrimaryPhone,redifFieldPrimaryFax,redifFieldPrimaryInstitution,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsSecondary start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldSecondaryName,redifFieldSecondaryHomepage,redifFieldSecondaryNameEnglish,redifFieldSecondaryPostal,redifFieldSecondaryLocation,redifFieldSecondaryEmail,redifFieldSecondaryPhone,redifFieldSecondaryFax,redifFieldSecondaryInstitution,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsTertiary start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldTertiaryName,redifFieldTertiaryHomepage,redifFieldTertiaryNameEnglish,redifFieldTertiaryPostal,redifFieldTertiaryLocation,redifFieldTertiaryEmail,redifFieldTertiaryPhone,redifFieldTertiaryFax,redifFieldTertiaryInstitution,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsQuaternary start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldQuaternaryName,redifFieldQuaternaryHomepage,redifFieldQuaternaryNameEnglish,redifFieldQuaternaryPostal,redifFieldQuaternaryLocation,redifFieldQuaternaryEmail,redifFieldQuaternaryPhone,redifFieldQuaternaryFax,redifFieldQuaternaryInstitution,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsProvider start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldProviderName,redifFieldProviderHomepage,redifFieldProviderNameEnglish,redifFieldProviderPostal,redifFieldProviderLocation,redifFieldProviderEmail,redifFieldProviderPhone,redifFieldProviderFax,redifFieldProviderInstitution,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsPublisher start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldPublisherName,redifFieldPublisherHomepage,redifFieldPublisherNameEnglish,redifFieldPublisherPostal,redifFieldPublisherLocation,redifFieldPublisherEmail,redifFieldPublisherPhone,redifFieldPublisherFax,redifFieldPublisherInstitution,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsAuthor start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldAuthorName,redifFieldAuthorNameFirst,redifFieldAuthorNameLast,redifFieldAuthorHomepage,redifFieldAuthorEmail,redifFieldAuthorFax,redifFieldAuthorPostal,redifFieldAuthorPhone,redifFieldAuthorPerson,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsEditor start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldEditorName,redifFieldEditorNameFirst,redifFieldEditorNameLast,redifFieldEditorHomepage,redifFieldEditorEmail,redifFieldEditorFax,redifFieldEditorPostal,redifFieldEditorPhone,redifFieldEditorPerson,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsFile start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldFileURL,redifFieldFileFormat,redifFieldFileFunction,redifFieldFileSize,redifFieldFileRestriction,redifWrongLine contained transparent fold
|
||||
|
||||
" The two clusters in cluster (must be presented after to have priority over
|
||||
" fields containers)
|
||||
syntax region redifRegionClusterAuthorWorkplace start=/^Author-Workplace-Name:/ skip=/^Author-Workplace-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsAuthorWorkplace fold
|
||||
syntax region redifRegionClusterEditorWorkplace start=/^Editor-Workplace-Name:/ skip=/^Editor-Workplace-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsEditorWorkplace fold
|
||||
|
||||
" Their foldable fields containers
|
||||
syntax region redifContainerFieldsAuthorWorkplace start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldAuthorWorkplaceName,redifFieldAuthorWorkplaceHomepage,redifFieldAuthorWorkplaceNameEnglish,redifFieldAuthorWorkplacePostal,redifFieldAuthorWorkplaceLocation,redifFieldAuthorWorkplaceEmail,redifFieldAuthorWorkplacePhone,redifFieldAuthorWorkplaceFax,redifFieldAuthorWorkplaceInstitution,redifWrongLine contained transparent fold
|
||||
syntax region redifContainerFieldsEditorWorkplace start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldEditorWorkplaceName,redifFieldEditorWorkplaceHomepage,redifFieldEditorWorkplaceNameEnglish,redifFieldEditorWorkplacePostal,redifFieldEditorWorkplaceLocation,redifFieldEditorWorkplaceEmail,redifFieldEditorWorkplacePhone,redifFieldEditorWorkplaceFax,redifFieldEditorWorkplaceInstitution,redifWrongLine contained transparent fold
|
||||
|
||||
" All the possible fields
|
||||
" Note: The "Handle" field is handled a little bit differently, because it
|
||||
" does not have the same meaning depending on the Template-Type. See:
|
||||
" /redifFieldHandleOf....
|
||||
syntax match redifFieldAbstract /^Abstract:/ skipwhite skipempty nextgroup=redifArgumentAbstract contained
|
||||
syntax match redifFieldArticleHandle /^Article-Handle:/ skipwhite skipempty nextgroup=redifArgumentArticleHandle contained
|
||||
syntax match redifFieldAuthorArticle /^Author-Article:/ skipwhite skipempty nextgroup=redifArgumentAuthorArticle contained
|
||||
syntax match redifFieldAuthorBook /^Author-Book:/ skipwhite skipempty nextgroup=redifArgumentAuthorBook contained
|
||||
syntax match redifFieldAuthorChapter /^Author-Chapter:/ skipwhite skipempty nextgroup=redifArgumentAuthorChapter contained
|
||||
syntax match redifFieldAuthorEmail /^Author-Email:/ skipwhite skipempty nextgroup=redifArgumentAuthorEmail contained
|
||||
syntax match redifFieldAuthorFax /^Author-Fax:/ skipwhite skipempty nextgroup=redifArgumentAuthorFax contained
|
||||
syntax match redifFieldAuthorHomepage /^Author-Homepage:/ skipwhite skipempty nextgroup=redifArgumentAuthorHomepage contained
|
||||
syntax match redifFieldAuthorName /^Author-Name:/ skipwhite skipempty nextgroup=redifArgumentAuthorName contained
|
||||
syntax match redifFieldAuthorNameFirst /^Author-Name-First:/ skipwhite skipempty nextgroup=redifArgumentAuthorNameFirst contained
|
||||
syntax match redifFieldAuthorNameLast /^Author-Name-Last:/ skipwhite skipempty nextgroup=redifArgumentAuthorNameLast contained
|
||||
syntax match redifFieldAuthorPaper /^Author-Paper:/ skipwhite skipempty nextgroup=redifArgumentAuthorPaper contained
|
||||
syntax match redifFieldAuthorPerson /^Author-Person:/ skipwhite skipempty nextgroup=redifArgumentAuthorPerson contained
|
||||
syntax match redifFieldAuthorPhone /^Author-Phone:/ skipwhite skipempty nextgroup=redifArgumentAuthorPhone contained
|
||||
syntax match redifFieldAuthorPostal /^Author-Postal:/ skipwhite skipempty nextgroup=redifArgumentAuthorPostal contained
|
||||
syntax match redifFieldAuthorSoftware /^Author-Software:/ skipwhite skipempty nextgroup=redifArgumentAuthorSoftware contained
|
||||
syntax match redifFieldAuthorWorkplaceEmail /^Author-Workplace-Email:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceEmail contained
|
||||
syntax match redifFieldAuthorWorkplaceFax /^Author-Workplace-Fax:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceFax contained
|
||||
syntax match redifFieldAuthorWorkplaceHomepage /^Author-Workplace-Homepage:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceHomepage contained
|
||||
syntax match redifFieldAuthorWorkplaceInstitution /^Author-Workplace-Institution:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceInstitution contained
|
||||
syntax match redifFieldAuthorWorkplaceLocation /^Author-Workplace-Location:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceLocation contained
|
||||
syntax match redifFieldAuthorWorkplaceName /^Author-Workplace-Name:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceName contained
|
||||
syntax match redifFieldAuthorWorkplaceNameEnglish /^Author-Workplace-Name-English:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceNameEnglish contained
|
||||
syntax match redifFieldAuthorWorkplacePhone /^Author-Workplace-Phone:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplacePhone contained
|
||||
syntax match redifFieldAuthorWorkplacePostal /^Author-Workplace-Postal:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplacePostal contained
|
||||
syntax match redifFieldAvailability /^Availability:/ skipwhite skipempty nextgroup=redifArgumentAvailability contained
|
||||
syntax match redifFieldBookHandle /^Book-Handle:/ skipwhite skipempty nextgroup=redifArgumentBookHandle contained
|
||||
syntax match redifFieldBookTitle /^Book-Title:/ skipwhite skipempty nextgroup=redifArgumentBookTitle contained
|
||||
syntax match redifFieldChapterHandle /^Chapter-Handle:/ skipwhite skipempty nextgroup=redifArgumentChapterHandle contained
|
||||
syntax match redifFieldChapter /^Chapter:/ skipwhite skipempty nextgroup=redifArgumentChapter contained
|
||||
syntax match redifFieldClassificationJEL /^Classification-JEL:/ skipwhite skipempty nextgroup=redifArgumentClassificationJEL contained
|
||||
syntax match redifFieldContactEmail /^Contact-Email:/ skipwhite skipempty nextgroup=redifArgumentContactEmail contained
|
||||
syntax match redifFieldCreationDate /^Creation-Date:/ skipwhite skipempty nextgroup=redifArgumentCreationDate contained
|
||||
syntax match redifFieldDescription /^Description:/ skipwhite skipempty nextgroup=redifArgumentDescription contained
|
||||
syntax match redifFieldEdition /^Edition:/ skipwhite skipempty nextgroup=redifArgumentEdition contained
|
||||
syntax match redifFieldEditorBook /^Editor-Book:/ skipwhite skipempty nextgroup=redifArgumentEditorBook contained
|
||||
syntax match redifFieldEditorEmail /^Editor-Email:/ skipwhite skipempty nextgroup=redifArgumentEditorEmail contained
|
||||
syntax match redifFieldEditorFax /^Editor-Fax:/ skipwhite skipempty nextgroup=redifArgumentEditorFax contained
|
||||
syntax match redifFieldEditorHomepage /^Editor-Homepage:/ skipwhite skipempty nextgroup=redifArgumentEditorHomepage contained
|
||||
syntax match redifFieldEditorName /^Editor-Name:/ skipwhite skipempty nextgroup=redifArgumentEditorName contained
|
||||
syntax match redifFieldEditorNameFirst /^Editor-Name-First:/ skipwhite skipempty nextgroup=redifArgumentEditorNameFirst contained
|
||||
syntax match redifFieldEditorNameLast /^Editor-Name-Last:/ skipwhite skipempty nextgroup=redifArgumentEditorNameLast contained
|
||||
syntax match redifFieldEditorPerson /^Editor-Person:/ skipwhite skipempty nextgroup=redifArgumentEditorPerson contained
|
||||
syntax match redifFieldEditorPhone /^Editor-Phone:/ skipwhite skipempty nextgroup=redifArgumentEditorPhone contained
|
||||
syntax match redifFieldEditorPostal /^Editor-Postal:/ skipwhite skipempty nextgroup=redifArgumentEditorPostal contained
|
||||
syntax match redifFieldEditorSeries /^Editor-Series:/ skipwhite skipempty nextgroup=redifArgumentEditorSeries contained
|
||||
syntax match redifFieldEditorWorkplaceEmail /^Editor-Workplace-Email:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceEmail contained
|
||||
syntax match redifFieldEditorWorkplaceFax /^Editor-Workplace-Fax:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceFax contained
|
||||
syntax match redifFieldEditorWorkplaceHomepage /^Editor-Workplace-Homepage:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceHomepage contained
|
||||
syntax match redifFieldEditorWorkplaceInstitution /^Editor-Workplace-Institution:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceInstitution contained
|
||||
syntax match redifFieldEditorWorkplaceLocation /^Editor-Workplace-Location:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceLocation contained
|
||||
syntax match redifFieldEditorWorkplaceName /^Editor-Workplace-Name:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceName contained
|
||||
syntax match redifFieldEditorWorkplaceNameEnglish /^Editor-Workplace-Name-English:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceNameEnglish contained
|
||||
syntax match redifFieldEditorWorkplacePhone /^Editor-Workplace-Phone:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplacePhone contained
|
||||
syntax match redifFieldEditorWorkplacePostal /^Editor-Workplace-Postal:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplacePostal contained
|
||||
syntax match redifFieldEmail /^Email:/ skipwhite skipempty nextgroup=redifArgumentEmail contained
|
||||
syntax match redifFieldFax /^Fax:/ skipwhite skipempty nextgroup=redifArgumentFax contained
|
||||
syntax match redifFieldFileFormat /^File-Format:/ skipwhite skipempty nextgroup=redifArgumentFileFormat contained
|
||||
syntax match redifFieldFileFunction /^File-Function:/ skipwhite skipempty nextgroup=redifArgumentFileFunction contained
|
||||
syntax match redifFieldFileRestriction /^File-Restriction:/ skipwhite skipempty nextgroup=redifArgumentFileRestriction contained
|
||||
syntax match redifFieldFileSize /^File-Size:/ skipwhite skipempty nextgroup=redifArgumentFileSize contained
|
||||
syntax match redifFieldFileURL /^File-URL:/ skipwhite skipempty nextgroup=redifArgumentFileURL contained
|
||||
syntax match redifFieldFollowup /^Followup:/ skipwhite skipempty nextgroup=redifArgumentFollowup contained
|
||||
syntax match redifFieldHandleOfArchive /^Handle:/ skipwhite skipempty nextgroup=redifArgumentHandleOfArchive contained
|
||||
syntax match redifFieldHandleOfInstitution /^Handle:/ skipwhite skipempty nextgroup=redifArgumentHandleOfInstitution contained
|
||||
syntax match redifFieldHandleOfPerson /^Handle:/ skipwhite skipempty nextgroup=redifArgumentHandleOfPerson contained
|
||||
syntax match redifFieldHandleOfSeries /^Handle:/ skipwhite skipempty nextgroup=redifArgumentHandleOfSeries contained
|
||||
syntax match redifFieldHandleOfWork /^Handle:/ skipwhite skipempty nextgroup=redifArgumentHandleOfWork contained
|
||||
syntax match redifFieldHasChapter /^HasChapter:/ skipwhite skipempty nextgroup=redifArgumentHasChapter contained
|
||||
syntax match redifFieldHomepage /^Homepage:/ skipwhite skipempty nextgroup=redifArgumentHomepage contained
|
||||
syntax match redifFieldInBook /^In-Book:/ skipwhite skipempty nextgroup=redifArgumentInBook contained
|
||||
syntax match redifFieldISBN /^ISBN:/ skipwhite skipempty nextgroup=redifArgumentISBN contained
|
||||
syntax match redifFieldISSN /^ISSN:/ skipwhite skipempty nextgroup=redifArgumentISSN contained
|
||||
syntax match redifFieldIssue /^Issue:/ skipwhite skipempty nextgroup=redifArgumentIssue contained
|
||||
syntax match redifFieldJournal /^Journal:/ skipwhite skipempty nextgroup=redifArgumentJournal contained
|
||||
syntax match redifFieldKeywords /^Keywords:/ skipwhite skipempty nextgroup=redifArgumentKeywords contained
|
||||
syntax match redifFieldKeywords /^Keywords:/ skipwhite skipempty nextgroup=redifArgumentKeywords contained
|
||||
syntax match redifFieldLanguage /^Language:/ skipwhite skipempty nextgroup=redifArgumentLanguage contained
|
||||
syntax match redifFieldLastLoginDate /^Last-Login-Date:/ skipwhite skipempty nextgroup=redifArgumentLastLoginDate contained
|
||||
syntax match redifFieldLength /^Length:/ skipwhite skipempty nextgroup=redifArgumentLength contained
|
||||
syntax match redifFieldMaintainerEmail /^Maintainer-Email:/ skipwhite skipempty nextgroup=redifArgumentMaintainerEmail contained
|
||||
syntax match redifFieldMaintainerFax /^Maintainer-Fax:/ skipwhite skipempty nextgroup=redifArgumentMaintainerFax contained
|
||||
syntax match redifFieldMaintainerName /^Maintainer-Name:/ skipwhite skipempty nextgroup=redifArgumentMaintainerName contained
|
||||
syntax match redifFieldMaintainerPhone /^Maintainer-Phone:/ skipwhite skipempty nextgroup=redifArgumentMaintainerPhone contained
|
||||
syntax match redifFieldMonth /^Month:/ skipwhite skipempty nextgroup=redifArgumentMonth contained
|
||||
syntax match redifFieldNameASCII /^Name-ASCII:/ skipwhite skipempty nextgroup=redifArgumentNameASCII contained
|
||||
syntax match redifFieldNameFirst /^Name-First:/ skipwhite skipempty nextgroup=redifArgumentNameFirst contained
|
||||
syntax match redifFieldNameFull /^Name-Full:/ skipwhite skipempty nextgroup=redifArgumentNameFull contained
|
||||
syntax match redifFieldNameLast /^Name-Last:/ skipwhite skipempty nextgroup=redifArgumentNameLast contained
|
||||
syntax match redifFieldNameMiddle /^Name-Middle:/ skipwhite skipempty nextgroup=redifArgumentNameMiddle contained
|
||||
syntax match redifFieldNamePrefix /^Name-Prefix:/ skipwhite skipempty nextgroup=redifArgumentNamePrefix contained
|
||||
syntax match redifFieldNameSuffix /^Name-Suffix:/ skipwhite skipempty nextgroup=redifArgumentNameSuffix contained
|
||||
syntax match redifFieldName /^Name:/ skipwhite skipempty nextgroup=redifArgumentName contained
|
||||
syntax match redifFieldNote /^Note:/ skipwhite skipempty nextgroup=redifArgumentNote contained
|
||||
syntax match redifFieldNotification /^Notification:/ skipwhite skipempty nextgroup=redifArgumentNotification contained
|
||||
syntax match redifFieldNumber /^Number:/ skipwhite skipempty nextgroup=redifArgumentNumber contained
|
||||
syntax match redifFieldOrderEmail /^Order-Email:/ skipwhite skipempty nextgroup=redifArgumentOrderEmail contained
|
||||
syntax match redifFieldOrderHomepage /^Order-Homepage:/ skipwhite skipempty nextgroup=redifArgumentOrderHomepage contained
|
||||
syntax match redifFieldOrderPostal /^Order-Postal:/ skipwhite skipempty nextgroup=redifArgumentOrderPostal contained
|
||||
syntax match redifFieldOrderURL /^Order-URL:/ skipwhite skipempty nextgroup=redifArgumentOrderURL contained
|
||||
syntax match redifFieldPages /^Pages:/ skipwhite skipempty nextgroup=redifArgumentPages contained
|
||||
syntax match redifFieldPaperHandle /^Paper-Handle:/ skipwhite skipempty nextgroup=redifArgumentPaperHandle contained
|
||||
syntax match redifFieldPhone /^Phone:/ skipwhite skipempty nextgroup=redifArgumentPhone contained
|
||||
syntax match redifFieldPostal /^Postal:/ skipwhite skipempty nextgroup=redifArgumentPostal contained
|
||||
syntax match redifFieldPredecessor /^Predecessor:/ skipwhite skipempty nextgroup=redifArgumentPredecessor contained
|
||||
syntax match redifFieldPrice /^Price:/ skipwhite skipempty nextgroup=redifArgumentPrice contained
|
||||
syntax match redifFieldPrimaryDefunct /^Primary-Defunct:/ skipwhite skipempty nextgroup=redifArgumentPrimaryDefunct contained
|
||||
syntax match redifFieldPrimaryEmail /^Primary-Email:/ skipwhite skipempty nextgroup=redifArgumentPrimaryEmail contained
|
||||
syntax match redifFieldPrimaryFax /^Primary-Fax:/ skipwhite skipempty nextgroup=redifArgumentPrimaryFax contained
|
||||
syntax match redifFieldPrimaryHomepage /^Primary-Homepage:/ skipwhite skipempty nextgroup=redifArgumentPrimaryHomepage contained
|
||||
syntax match redifFieldPrimaryInstitution /^Primary-Institution:/ skipwhite skipempty nextgroup=redifArgumentPrimaryInstitution contained
|
||||
syntax match redifFieldPrimaryLocation /^Primary-Location:/ skipwhite skipempty nextgroup=redifArgumentPrimaryLocation contained
|
||||
syntax match redifFieldPrimaryName /^Primary-Name:/ skipwhite skipempty nextgroup=redifArgumentPrimaryName contained
|
||||
syntax match redifFieldPrimaryNameEnglish /^Primary-Name-English:/ skipwhite skipempty nextgroup=redifArgumentPrimaryNameEnglish contained
|
||||
syntax match redifFieldPrimaryPhone /^Primary-Phone:/ skipwhite skipempty nextgroup=redifArgumentPrimaryPhone contained
|
||||
syntax match redifFieldPrimaryPostal /^Primary-Postal:/ skipwhite skipempty nextgroup=redifArgumentPrimaryPostal contained
|
||||
syntax match redifFieldProgrammingLanguage /^Programming-Language:/ skipwhite skipempty nextgroup=redifArgumentProgrammingLanguage contained
|
||||
syntax match redifFieldProviderEmail /^Provider-Email:/ skipwhite skipempty nextgroup=redifArgumentProviderEmail contained
|
||||
syntax match redifFieldProviderFax /^Provider-Fax:/ skipwhite skipempty nextgroup=redifArgumentProviderFax contained
|
||||
syntax match redifFieldProviderHomepage /^Provider-Homepage:/ skipwhite skipempty nextgroup=redifArgumentProviderHomepage contained
|
||||
syntax match redifFieldProviderInstitution /^Provider-Institution:/ skipwhite skipempty nextgroup=redifArgumentProviderInstitution contained
|
||||
syntax match redifFieldProviderLocation /^Provider-Location:/ skipwhite skipempty nextgroup=redifArgumentProviderLocation contained
|
||||
syntax match redifFieldProviderName /^Provider-Name:/ skipwhite skipempty nextgroup=redifArgumentProviderName contained
|
||||
syntax match redifFieldProviderNameEnglish /^Provider-Name-English:/ skipwhite skipempty nextgroup=redifArgumentProviderNameEnglish contained
|
||||
syntax match redifFieldProviderPhone /^Provider-Phone:/ skipwhite skipempty nextgroup=redifArgumentProviderPhone contained
|
||||
syntax match redifFieldProviderPostal /^Provider-Postal:/ skipwhite skipempty nextgroup=redifArgumentProviderPostal contained
|
||||
syntax match redifFieldPublicationDate /^Publication-Date:/ skipwhite skipempty nextgroup=redifArgumentPublicationDate contained
|
||||
syntax match redifFieldPublicationStatus /^Publication-Status:/ skipwhite skipempty nextgroup=redifArgumentPublicationStatus contained
|
||||
syntax match redifFieldPublicationType /^Publication-Type:/ skipwhite skipempty nextgroup=redifArgumentPublicationType contained
|
||||
syntax match redifFieldQuaternaryEmail /^Quaternary-Email:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryEmail contained
|
||||
syntax match redifFieldQuaternaryFax /^Quaternary-Fax:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryFax contained
|
||||
syntax match redifFieldQuaternaryHomepage /^Quaternary-Homepage:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryHomepage contained
|
||||
syntax match redifFieldQuaternaryInstitution /^Quaternary-Institution:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryInstitution contained
|
||||
syntax match redifFieldQuaternaryLocation /^Quaternary-Location:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryLocation contained
|
||||
syntax match redifFieldQuaternaryName /^Quaternary-Name:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryName contained
|
||||
syntax match redifFieldQuaternaryNameEnglish /^Quaternary-Name-English:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryNameEnglish contained
|
||||
syntax match redifFieldQuaternaryPhone /^Quaternary-Phone:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryPhone contained
|
||||
syntax match redifFieldQuaternaryPostal /^Quaternary-Postal:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryPostal contained
|
||||
syntax match redifFieldRegisteredDate /^Registered-Date:/ skipwhite skipempty nextgroup=redifArgumentRegisteredDate contained
|
||||
syntax match redifFieldRequires /^Requires:/ skipwhite skipempty nextgroup=redifArgumentRequires contained
|
||||
syntax match redifFieldRestriction /^Restriction:/ skipwhite skipempty nextgroup=redifArgumentRestriction contained
|
||||
syntax match redifFieldRevisionDate /^Revision-Date:/ skipwhite skipempty nextgroup=redifArgumentRevisionDate contained
|
||||
syntax match redifFieldSecondaryDefunct /^Secondary-Defunct:/ skipwhite skipempty nextgroup=redifArgumentSecondaryDefunct contained
|
||||
syntax match redifFieldSecondaryEmail /^Secondary-Email:/ skipwhite skipempty nextgroup=redifArgumentSecondaryEmail contained
|
||||
syntax match redifFieldSecondaryFax /^Secondary-Fax:/ skipwhite skipempty nextgroup=redifArgumentSecondaryFax contained
|
||||
syntax match redifFieldSecondaryHomepage /^Secondary-Homepage:/ skipwhite skipempty nextgroup=redifArgumentSecondaryHomepage contained
|
||||
syntax match redifFieldSecondaryInstitution /^Secondary-Institution:/ skipwhite skipempty nextgroup=redifArgumentSecondaryInstitution contained
|
||||
syntax match redifFieldSecondaryLocation /^Secondary-Location:/ skipwhite skipempty nextgroup=redifArgumentSecondaryLocation contained
|
||||
syntax match redifFieldSecondaryName /^Secondary-Name:/ skipwhite skipempty nextgroup=redifArgumentSecondaryName contained
|
||||
syntax match redifFieldSecondaryNameEnglish /^Secondary-Name-English:/ skipwhite skipempty nextgroup=redifArgumentSecondaryNameEnglish contained
|
||||
syntax match redifFieldSecondaryPhone /^Secondary-Phone:/ skipwhite skipempty nextgroup=redifArgumentSecondaryPhone contained
|
||||
syntax match redifFieldSecondaryPostal /^Secondary-Postal:/ skipwhite skipempty nextgroup=redifArgumentSecondaryPostal contained
|
||||
syntax match redifFieldSeries /^Series:/ skipwhite skipempty nextgroup=redifArgumentSeries contained
|
||||
syntax match redifFieldShortId /^Short-Id:/ skipwhite skipempty nextgroup=redifArgumentShortId contained
|
||||
syntax match redifFieldSize /^Size:/ skipwhite skipempty nextgroup=redifArgumentSize contained
|
||||
syntax match redifFieldSoftwareHandle /^Software-Handle:/ skipwhite skipempty nextgroup=redifArgumentSoftwareHandle contained
|
||||
syntax match redifFieldTemplateType /^Template-Type:/ skipwhite skipempty nextgroup=redifArgumentTemplateType contained
|
||||
syntax match redifFieldTertiaryDefunct /^Tertiary-Defunct:/ skipwhite skipempty nextgroup=redifArgumentTertiaryDefunct contained
|
||||
syntax match redifFieldTertiaryEmail /^Tertiary-Email:/ skipwhite skipempty nextgroup=redifArgumentTertiaryEmail contained
|
||||
syntax match redifFieldTertiaryFax /^Tertiary-Fax:/ skipwhite skipempty nextgroup=redifArgumentTertiaryFax contained
|
||||
syntax match redifFieldTertiaryHomepage /^Tertiary-Homepage:/ skipwhite skipempty nextgroup=redifArgumentTertiaryHomepage contained
|
||||
syntax match redifFieldTertiaryInstitution /^Tertiary-Institution:/ skipwhite skipempty nextgroup=redifArgumentTertiaryInstitution contained
|
||||
syntax match redifFieldTertiaryLocation /^Tertiary-Location:/ skipwhite skipempty nextgroup=redifArgumentTertiaryLocation contained
|
||||
syntax match redifFieldTertiaryName /^Tertiary-Name:/ skipwhite skipempty nextgroup=redifArgumentTertiaryName contained
|
||||
syntax match redifFieldTertiaryNameEnglish /^Tertiary-Name-English:/ skipwhite skipempty nextgroup=redifArgumentTertiaryNameEnglish contained
|
||||
syntax match redifFieldTertiaryPhone /^Tertiary-Phone:/ skipwhite skipempty nextgroup=redifArgumentTertiaryPhone contained
|
||||
syntax match redifFieldTertiaryPostal /^Tertiary-Postal:/ skipwhite skipempty nextgroup=redifArgumentTertiaryPostal contained
|
||||
syntax match redifFieldTitle /^Title:/ skipwhite skipempty nextgroup=redifArgumentTitle contained
|
||||
syntax match redifFieldType /^Type:/ skipwhite skipempty nextgroup=redifArgumentType contained
|
||||
syntax match redifFieldURL /^URL:/ skipwhite skipempty nextgroup=redifArgumentURL contained
|
||||
syntax match redifFieldVersion /^Version:/ skipwhite skipempty nextgroup=redifArgumentVersion contained
|
||||
syntax match redifFieldVolume /^Volume:/ skipwhite skipempty nextgroup=redifArgumentVolume contained
|
||||
syntax match redifFieldWorkplaceEmail /^Workplace-Email:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceEmail contained
|
||||
syntax match redifFieldWorkplaceFax /^Workplace-Fax:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceFax contained
|
||||
syntax match redifFieldWorkplaceHomepage /^Workplace-Homepage:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceHomepage contained
|
||||
syntax match redifFieldWorkplaceInstitution /^Workplace-Institution:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceInstitution contained
|
||||
syntax match redifFieldWorkplaceLocation /^Workplace-Location:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceLocation contained
|
||||
syntax match redifFieldWorkplaceName /^Workplace-Name:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceName contained
|
||||
syntax match redifFieldWorkplaceNameEnglish /^Workplace-Name-English:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceNameEnglish contained
|
||||
syntax match redifFieldWorkplaceOrganization /^Workplace-Organization:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceOrganization contained
|
||||
syntax match redifFieldWorkplacePhone /^Workplace-Phone:/ skipwhite skipempty nextgroup=redifArgumentWorkplacePhone contained
|
||||
syntax match redifFieldWorkplacePostal /^Workplace-Postal:/ skipwhite skipempty nextgroup=redifArgumentWorkplacePostal contained
|
||||
syntax match redifFieldYear /^Year:/ skipwhite skipempty nextgroup=redifArgumentYear contained
|
||||
|
||||
highlight def link redifFieldAbstract redifField
|
||||
highlight def link redifFieldArticleHandle redifField
|
||||
highlight def link redifFieldAuthorArticle redifField
|
||||
highlight def link redifFieldAuthorBook redifField
|
||||
highlight def link redifFieldAuthorChapter redifField
|
||||
highlight def link redifFieldAuthorEmail redifField
|
||||
highlight def link redifFieldAuthorFax redifField
|
||||
highlight def link redifFieldAuthorHomepage redifField
|
||||
highlight def link redifFieldAuthorName redifField
|
||||
highlight def link redifFieldAuthorNameFirst redifField
|
||||
highlight def link redifFieldAuthorNameLast redifField
|
||||
highlight def link redifFieldAuthorPaper redifField
|
||||
highlight def link redifFieldAuthorPerson redifField
|
||||
highlight def link redifFieldAuthorPhone redifField
|
||||
highlight def link redifFieldAuthorPostal redifField
|
||||
highlight def link redifFieldAuthorSoftware redifField
|
||||
highlight def link redifFieldAuthorWorkplaceEmail redifField
|
||||
highlight def link redifFieldAuthorWorkplaceFax redifField
|
||||
highlight def link redifFieldAuthorWorkplaceHomepage redifField
|
||||
highlight def link redifFieldAuthorWorkplaceInstitution redifField
|
||||
highlight def link redifFieldAuthorWorkplaceLocation redifField
|
||||
highlight def link redifFieldAuthorWorkplaceName redifField
|
||||
highlight def link redifFieldAuthorWorkplaceNameEnglish redifField
|
||||
highlight def link redifFieldAuthorWorkplacePhone redifField
|
||||
highlight def link redifFieldAuthorWorkplacePostal redifField
|
||||
highlight def link redifFieldAvailability redifField
|
||||
highlight def link redifFieldBookHandle redifField
|
||||
highlight def link redifFieldBookTitle redifField
|
||||
highlight def link redifFieldChapterHandle redifField
|
||||
highlight def link redifFieldChapter redifField
|
||||
highlight def link redifFieldClassificationJEL redifField
|
||||
highlight def link redifFieldContactEmail redifField
|
||||
highlight def link redifFieldCreationDate redifField
|
||||
highlight def link redifFieldDescription redifField
|
||||
highlight def link redifFieldEdition redifField
|
||||
highlight def link redifFieldEditorBook redifField
|
||||
highlight def link redifFieldEditorEmail redifField
|
||||
highlight def link redifFieldEditorFax redifField
|
||||
highlight def link redifFieldEditorHomepage redifField
|
||||
highlight def link redifFieldEditorName redifField
|
||||
highlight def link redifFieldEditorNameFirst redifField
|
||||
highlight def link redifFieldEditorNameLast redifField
|
||||
highlight def link redifFieldEditorPerson redifField
|
||||
highlight def link redifFieldEditorPhone redifField
|
||||
highlight def link redifFieldEditorPostal redifField
|
||||
highlight def link redifFieldEditorSeries redifField
|
||||
highlight def link redifFieldEditorWorkplaceEmail redifField
|
||||
highlight def link redifFieldEditorWorkplaceFax redifField
|
||||
highlight def link redifFieldEditorWorkplaceHomepage redifField
|
||||
highlight def link redifFieldEditorWorkplaceInstitution redifField
|
||||
highlight def link redifFieldEditorWorkplaceLocation redifField
|
||||
highlight def link redifFieldEditorWorkplaceName redifField
|
||||
highlight def link redifFieldEditorWorkplaceNameEnglish redifField
|
||||
highlight def link redifFieldEditorWorkplacePhone redifField
|
||||
highlight def link redifFieldEditorWorkplacePostal redifField
|
||||
highlight def link redifFieldEmail redifField
|
||||
highlight def link redifFieldFax redifField
|
||||
highlight def link redifFieldFileFormat redifField
|
||||
highlight def link redifFieldFileFunction redifField
|
||||
highlight def link redifFieldFileRestriction redifField
|
||||
highlight def link redifFieldFileSize redifField
|
||||
highlight def link redifFieldFileURL redifField
|
||||
highlight def link redifFieldFollowup redifField
|
||||
highlight def link redifFieldHandleOfArchive redifField
|
||||
highlight def link redifFieldHandleOfInstitution redifField
|
||||
highlight def link redifFieldHandleOfPerson redifField
|
||||
highlight def link redifFieldHandleOfSeries redifField
|
||||
highlight def link redifFieldHandleOfWork redifField
|
||||
highlight def link redifFieldHasChapter redifField
|
||||
highlight def link redifFieldHomepage redifField
|
||||
highlight def link redifFieldInBook redifField
|
||||
highlight def link redifFieldISBN redifField
|
||||
highlight def link redifFieldISSN redifField
|
||||
highlight def link redifFieldIssue redifField
|
||||
highlight def link redifFieldJournal redifField
|
||||
highlight def link redifFieldKeywords redifField
|
||||
highlight def link redifFieldKeywords redifField
|
||||
highlight def link redifFieldLanguage redifField
|
||||
highlight def link redifFieldLastLoginDate redifField
|
||||
highlight def link redifFieldLength redifField
|
||||
highlight def link redifFieldMaintainerEmail redifField
|
||||
highlight def link redifFieldMaintainerFax redifField
|
||||
highlight def link redifFieldMaintainerName redifField
|
||||
highlight def link redifFieldMaintainerPhone redifField
|
||||
highlight def link redifFieldMonth redifField
|
||||
highlight def link redifFieldNameASCII redifField
|
||||
highlight def link redifFieldNameFirst redifField
|
||||
highlight def link redifFieldNameFull redifField
|
||||
highlight def link redifFieldNameLast redifField
|
||||
highlight def link redifFieldNameMiddle redifField
|
||||
highlight def link redifFieldNamePrefix redifField
|
||||
highlight def link redifFieldNameSuffix redifField
|
||||
highlight def link redifFieldName redifField
|
||||
highlight def link redifFieldNote redifField
|
||||
highlight def link redifFieldNotification redifField
|
||||
highlight def link redifFieldNumber redifField
|
||||
highlight def link redifFieldOrderEmail redifField
|
||||
highlight def link redifFieldOrderHomepage redifField
|
||||
highlight def link redifFieldOrderPostal redifField
|
||||
highlight def link redifFieldOrderURL redifField
|
||||
highlight def link redifFieldPages redifField
|
||||
highlight def link redifFieldPaperHandle redifField
|
||||
highlight def link redifFieldPhone redifField
|
||||
highlight def link redifFieldPostal redifField
|
||||
highlight def link redifFieldPredecessor redifField
|
||||
highlight def link redifFieldPrice redifField
|
||||
highlight def link redifFieldPrimaryDefunct redifField
|
||||
highlight def link redifFieldPrimaryEmail redifField
|
||||
highlight def link redifFieldPrimaryFax redifField
|
||||
highlight def link redifFieldPrimaryHomepage redifField
|
||||
highlight def link redifFieldPrimaryInstitution redifField
|
||||
highlight def link redifFieldPrimaryLocation redifField
|
||||
highlight def link redifFieldPrimaryName redifField
|
||||
highlight def link redifFieldPrimaryNameEnglish redifField
|
||||
highlight def link redifFieldPrimaryPhone redifField
|
||||
highlight def link redifFieldPrimaryPostal redifField
|
||||
highlight def link redifFieldProgrammingLanguage redifField
|
||||
highlight def link redifFieldProviderEmail redifField
|
||||
highlight def link redifFieldProviderFax redifField
|
||||
highlight def link redifFieldProviderHomepage redifField
|
||||
highlight def link redifFieldProviderInstitution redifField
|
||||
highlight def link redifFieldProviderLocation redifField
|
||||
highlight def link redifFieldProviderName redifField
|
||||
highlight def link redifFieldProviderNameEnglish redifField
|
||||
highlight def link redifFieldProviderPhone redifField
|
||||
highlight def link redifFieldProviderPostal redifField
|
||||
highlight def link redifFieldPublicationDate redifField
|
||||
highlight def link redifFieldPublicationStatus redifField
|
||||
highlight def link redifFieldPublicationType redifField
|
||||
highlight def link redifFieldQuaternaryEmail redifField
|
||||
highlight def link redifFieldQuaternaryFax redifField
|
||||
highlight def link redifFieldQuaternaryHomepage redifField
|
||||
highlight def link redifFieldQuaternaryInstitution redifField
|
||||
highlight def link redifFieldQuaternaryLocation redifField
|
||||
highlight def link redifFieldQuaternaryName redifField
|
||||
highlight def link redifFieldQuaternaryNameEnglish redifField
|
||||
highlight def link redifFieldQuaternaryPhone redifField
|
||||
highlight def link redifFieldQuaternaryPostal redifField
|
||||
highlight def link redifFieldRegisteredDate redifField
|
||||
highlight def link redifFieldRequires redifField
|
||||
highlight def link redifFieldRestriction redifField
|
||||
highlight def link redifFieldRevisionDate redifField
|
||||
highlight def link redifFieldSecondaryDefunct redifField
|
||||
highlight def link redifFieldSecondaryEmail redifField
|
||||
highlight def link redifFieldSecondaryFax redifField
|
||||
highlight def link redifFieldSecondaryHomepage redifField
|
||||
highlight def link redifFieldSecondaryInstitution redifField
|
||||
highlight def link redifFieldSecondaryLocation redifField
|
||||
highlight def link redifFieldSecondaryName redifField
|
||||
highlight def link redifFieldSecondaryNameEnglish redifField
|
||||
highlight def link redifFieldSecondaryPhone redifField
|
||||
highlight def link redifFieldSecondaryPostal redifField
|
||||
highlight def link redifFieldSeries redifField
|
||||
highlight def link redifFieldShortId redifField
|
||||
highlight def link redifFieldSize redifField
|
||||
highlight def link redifFieldSoftwareHandle redifField
|
||||
highlight def link redifFieldTemplateType redifField
|
||||
highlight def link redifFieldTertiaryDefunct redifField
|
||||
highlight def link redifFieldTertiaryEmail redifField
|
||||
highlight def link redifFieldTertiaryFax redifField
|
||||
highlight def link redifFieldTertiaryHomepage redifField
|
||||
highlight def link redifFieldTertiaryInstitution redifField
|
||||
highlight def link redifFieldTertiaryLocation redifField
|
||||
highlight def link redifFieldTertiaryName redifField
|
||||
highlight def link redifFieldTertiaryNameEnglish redifField
|
||||
highlight def link redifFieldTertiaryPhone redifField
|
||||
highlight def link redifFieldTertiaryPostal redifField
|
||||
highlight def link redifFieldTitle redifField
|
||||
highlight def link redifFieldTitle redifField
|
||||
highlight def link redifFieldType redifField
|
||||
highlight def link redifFieldURL redifField
|
||||
highlight def link redifFieldVersion redifField
|
||||
highlight def link redifFieldVolume redifField
|
||||
highlight def link redifFieldWorkplaceEmail redifField
|
||||
highlight def link redifFieldWorkplaceFax redifField
|
||||
highlight def link redifFieldWorkplaceHomepage redifField
|
||||
highlight def link redifFieldWorkplaceInstitution redifField
|
||||
highlight def link redifFieldWorkplaceLocation redifField
|
||||
highlight def link redifFieldWorkplaceName redifField
|
||||
highlight def link redifFieldWorkplaceNameEnglish redifField
|
||||
highlight def link redifFieldWorkplaceOrganization redifField
|
||||
highlight def link redifFieldWorkplacePhone redifField
|
||||
highlight def link redifFieldWorkplacePostal redifField
|
||||
highlight def link redifFieldYear redifField
|
||||
|
||||
" Deprecated
|
||||
" same as Provider-*
|
||||
" nextgroup=redifArgumentProvider*
|
||||
syntax match redifFieldPublisherEmail /^Publisher-Email:/ skipwhite skipempty nextgroup=redifArgumentProviderEmail contained
|
||||
syntax match redifFieldPublisherFax /^Publisher-Fax:/ skipwhite skipempty nextgroup=redifArgumentProviderFax contained
|
||||
syntax match redifFieldPublisherHomepage /^Publisher-Homepage:/ skipwhite skipempty nextgroup=redifArgumentProviderHomepage contained
|
||||
syntax match redifFieldPublisherInstitution /^Publisher-Institution:/ skipwhite skipempty nextgroup=redifArgumentProviderInstitution contained
|
||||
syntax match redifFieldPublisherLocation /^Publisher-Location:/ skipwhite skipempty nextgroup=redifArgumentProviderLocation contained
|
||||
syntax match redifFieldPublisherName /^Publisher-Name:/ skipwhite skipempty nextgroup=redifArgumentProviderName contained
|
||||
syntax match redifFieldPublisherNameEnglish /^Publisher-Name-English:/ skipwhite skipempty nextgroup=redifArgumentProviderNameEnglish contained
|
||||
syntax match redifFieldPublisherPhone /^Publisher-Phone:/ skipwhite skipempty nextgroup=redifArgumentProviderPhone contained
|
||||
syntax match redifFieldPublisherPostal /^Publisher-Postal:/ skipwhite skipempty nextgroup=redifArgumentProviderPostal contained
|
||||
|
||||
highlight def link redifFieldPublisherEmail redifFieldDeprecated
|
||||
highlight def link redifFieldPublisherFax redifFieldDeprecated
|
||||
highlight def link redifFieldPublisherHomepage redifFieldDeprecated
|
||||
highlight def link redifFieldPublisherInstitution redifFieldDeprecated
|
||||
highlight def link redifFieldPublisherLocation redifFieldDeprecated
|
||||
highlight def link redifFieldPublisherName redifFieldDeprecated
|
||||
highlight def link redifFieldPublisherNameEnglish redifFieldDeprecated
|
||||
highlight def link redifFieldPublisherPhone redifFieldDeprecated
|
||||
highlight def link redifFieldPublisherPostal redifFieldDeprecated
|
||||
|
||||
" Standard arguments
|
||||
" By default, they contain all the argument until another field is started:
|
||||
" start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1
|
||||
" For arguments that must not span more than one line, use a match:
|
||||
" /\%(^\S\{-}:\)\@!\S.*/
|
||||
" AND ADD "display"
|
||||
" This is faster.
|
||||
"
|
||||
" Those arguments are not highlighted so far. They are here for future
|
||||
" extensions.
|
||||
" TODO Find more RegEx for these arguments
|
||||
" TODO Fax, Phone
|
||||
" TODO URL, Homepage
|
||||
" TODO Keywords
|
||||
" TODO Classification-JEL
|
||||
" TODO Short-Id, Author-Person, Editor-Person
|
||||
"
|
||||
" Arguments that may span several lines:
|
||||
syntax region redifArgumentAuthorWorkplaceLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorWorkplacePostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorWorkplacePostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentFileFunction start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentIssue start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentJournal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentOrderPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentPrice start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentPrimaryLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentPrimaryPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentProviderLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentProviderPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentQuaternaryLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentQuaternaryPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentRequires start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentSecondaryLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentSecondaryPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentSize start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentTertiaryLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentTertiaryPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentVersion start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentWorkplaceLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentWorkplacePhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentWorkplacePostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
|
||||
" Arguments that may not span several lines:
|
||||
" If you are sure that these arguments cannot span several lines, change
|
||||
" them to a match:
|
||||
" /\%(^\S\{-}:\)\@!\S.*/
|
||||
" AND ADD "display" after "contained"
|
||||
" You can use this command on each line that you want to change:
|
||||
" :s+\Vregion \(\w\+\) start=/\\%(^\\S\\{-}:\\)\\@!\\S/ end=/^\\S\\{-}:/me=s-1 contained+match \1 /\\%(^\\S\\{-}:\\)\\@!\\S.*/ contained display
|
||||
syntax region redifArgumentAuthorFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorNameFirst start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorNameLast start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorPerson start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorWorkplaceFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorWorkplaceHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorWorkplaceName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorWorkplaceNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentAuthorWorkplacePhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorNameFirst start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorNameLast start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorPerson start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorWorkplaceFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorWorkplaceHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorWorkplaceLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorWorkplaceName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorWorkplaceNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentEditorWorkplacePhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentFileURL start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentMaintainerFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentMaintainerName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentMaintainerPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentNameFirst start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentNameFull start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentNameLast start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentNameMiddle start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentNamePrefix start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentNameSuffix start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentOrderHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentOrderURL start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentPrimaryFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentPrimaryHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentPrimaryName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentPrimaryNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentPrimaryPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentProviderFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentProviderHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentProviderName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentProviderNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentProviderPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentQuaternaryFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentQuaternaryHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentQuaternaryName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentQuaternaryNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentQuaternaryPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentSecondaryFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentSecondaryHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentSecondaryName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentSecondaryNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentSecondaryPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentSeries start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentShortId start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentTertiaryFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentTertiaryHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentTertiaryName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentTertiaryNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentTertiaryPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentURL start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentWorkplaceFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentWorkplaceHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentWorkplaceName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentWorkplaceNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
syntax region redifArgumentWorkplaceOrganization start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
|
||||
|
||||
" Special arguments
|
||||
" Those arguments require special values
|
||||
" TODO Improve some RegEx
|
||||
" TODO Improve Emails
|
||||
" TODO Improve ISBN
|
||||
" TODO Improve ISSN
|
||||
" TODO Improve spell check (add words from economics.
|
||||
" expl=macroeconometrics, Schumpeterian, IS-LM, etc.)
|
||||
"
|
||||
" Template-Type
|
||||
syntax match redifArgumentTemplateType /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectTemplateType contained display
|
||||
syntax match redifCorrectTemplateType /ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\)/ nextgroup=redifTemplateVersionNumberContainer contained display
|
||||
syntax match redifTemplateVersionNumberContainer /.\+/ contains=redifTemplateVersionNumber contained display
|
||||
syntax match redifTemplateVersionNumber / \d\+\.\d\+/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentTemplateType redifError
|
||||
highlight def link redifCorrectTemplateType Constant
|
||||
highlight def link redifTemplateVersionNumber Number
|
||||
highlight def link redifTemplateVersionNumberContainer redifError
|
||||
|
||||
" Handles:
|
||||
"
|
||||
" Handles of Works:
|
||||
syntax match redifArgumentHandleOfWork /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
|
||||
syntax match redifArgumentAuthorArticle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
|
||||
syntax match redifArgumentAuthorBook /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
|
||||
syntax match redifArgumentAuthorChapter /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
|
||||
syntax match redifArgumentAuthorPaper /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
|
||||
syntax match redifArgumentAuthorSoftware /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
|
||||
syntax match redifArgumentEditorBook /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
|
||||
syntax match redifArgumentEditorSeries /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
|
||||
syntax match redifArgumentInBook /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
|
||||
syntax match redifArgumentHasChapter /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
|
||||
syntax match redifArgumentArticleHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
|
||||
syntax match redifArgumentBookHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
|
||||
syntax match redifArgumentChapterHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
|
||||
syntax match redifArgumentPaperHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
|
||||
syntax match redifArgumentSoftwareHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
|
||||
syntax match redifCorrectHandleOfWork /RePEc:\a\a\a:\%(_\@!\w\)\{6}:\S\+/ contains=redifForbiddenCharactersInHandle,redifBestPracticeInHandle nextgroup=redifWrongLineEnding contained display
|
||||
" TODO Are those characters really forbidden???
|
||||
syntax match redifForbiddenCharactersInHandle /[\/*?"<>|]/ contained display
|
||||
syntax match redifBestPracticeInHandle /\<\%([vi]:[1-9]\d*\|y:[1-9]\d\{3}\|p:[1-9]\d*-[1-9]\d*\|i:\%(jan\|feb\|mar\|apr\|may\|jun\|jul\|aug\|sep\|oct\|nov\|dec\|spr\|sum\|aut\|win\|spe\|Q[1-4]\|\d\d-\d\d\)\|Q:[1-4]\)\>/ contained display
|
||||
|
||||
highlight def link redifArgumentHandleOfWork redifError
|
||||
highlight def link redifArgumentAuthorArticle redifError
|
||||
highlight def link redifArgumentAuthorBook redifError
|
||||
highlight def link redifArgumentAuthorChapter redifError
|
||||
highlight def link redifArgumentAuthorPaper redifError
|
||||
highlight def link redifArgumentAuthorSoftware redifError
|
||||
highlight def link redifArgumentEditorBook redifError
|
||||
highlight def link redifArgumentEditorSeries redifError
|
||||
highlight def link redifArgumentInBook redifError
|
||||
highlight def link redifArgumentHasChapter redifError
|
||||
highlight def link redifArgumentArticleHandle redifError
|
||||
highlight def link redifArgumentBookHandle redifError
|
||||
highlight def link redifArgumentChapterHandle redifError
|
||||
highlight def link redifArgumentPaperHandle redifError
|
||||
highlight def link redifArgumentSoftwareHandle redifError
|
||||
highlight def link redifForbiddenCharactersInHandle redifError
|
||||
highlight def link redifBestPracticeInHandle redifSpecial
|
||||
|
||||
" Handles of Series:
|
||||
syntax match redifArgumentHandleOfSeries /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfSeries contained display
|
||||
syntax match redifArgumentFollowup /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfSeries contained display
|
||||
syntax match redifArgumentPredecessor /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfSeries contained display
|
||||
syntax match redifCorrectHandleOfSeries /RePEc:\a\a\a:\%(_\@!\w\)\{6}/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentHandleOfSeries redifError
|
||||
highlight def link redifArgumentFollowup redifError
|
||||
highlight def link redifArgumentPredecessor redifError
|
||||
|
||||
" Handles of Archives:
|
||||
syntax match redifArgumentHandleOfArchive /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfArchive contained display
|
||||
syntax match redifCorrectHandleOfArchive /RePEc:\a\a\a/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentHandleOfArchive redifError
|
||||
|
||||
" Handles of Person:
|
||||
syntax match redifArgumentHandleOfPerson /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfPerson contained display
|
||||
syntax match redifCorrectHandleOfPerson /\%(\%(:\@!\S\)\{-}:\)\{2}[1-9]\d\{3}\%(-02\%(-[12]\d\|-0[1-9]\)\|-\%(0[469]\|11\)\%(-30\|-[12]\d\|-0[1-9]\)\|-\%(0[13578]\|1[02]\)\%(-3[01]\|-[12]\d\|-0[1-9]\)\):\S\+/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentHandleOfPerson redifError
|
||||
|
||||
" Handles of Institution:
|
||||
syntax match redifArgumentAuthorWorkplaceInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
|
||||
syntax match redifArgumentEditorWorkplaceInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
|
||||
syntax match redifArgumentPrimaryInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
|
||||
syntax match redifArgumentProviderInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
|
||||
syntax match redifArgumentPublisherInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
|
||||
syntax match redifArgumentQuaternaryInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
|
||||
syntax match redifArgumentSecondaryInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
|
||||
syntax match redifArgumentTertiaryInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
|
||||
syntax match redifArgumentWorkplaceInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
|
||||
syntax match redifArgumentHandleOfInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
|
||||
syntax match redifArgumentPrimaryDefunct /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
|
||||
syntax match redifArgumentSecondaryDefunct /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
|
||||
syntax match redifArgumentTertiaryDefunct /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
|
||||
" TODO Are digits authorized? Apparently not.
|
||||
" Country codes:
|
||||
" http://www.iso.org/iso/country_codes/iso_3166_code_lists/country_names_and_code_elements.htm
|
||||
syntax match redifCorrectHandleOfInstitution /RePEc:\a\a\a:\a\{5}\(ea\|af\|ax\|al\|dz\|as\|ad\|ao\|ai\|aq\|ag\|ar\|am\|aw\|au\|at\|az\|bs\|bh\|bd\|bb\|by\|be\|bz\|bj\|bm\|bt\|bo\|bq\|ba\|bw\|bv\|br\|io\|bn\|bg\|bf\|bi\|kh\|cm\|ca\|cv\|ky\|cf\|td\|cl\|cn\|cx\|cc\|co\|km\|cg\|cd\|ck\|cr\|ci\|hr\|cu\|cw\|cy\|cz\|dk\|dj\|dm\|do\|ec\|eg\|sv\|gq\|er\|ee\|et\|fk\|fo\|fj\|fi\|fr\|gf\|pf\|tf\|ga\|gm\|ge\|de\|gh\|gi\|gr\|gl\|gd\|gp\|gu\|gt\|gg\|gn\|gw\|gy\|ht\|hm\|va\|hn\|hk\|hu\|is\|in\|id\|ir\|iq\|ie\|im\|il\|it\|jm\|jp\|je\|jo\|kz\|ke\|ki\|kp\|kr\|kw\|kg\|la\|lv\|lb\|ls\|lr\|ly\|li\|lt\|lu\|mo\|mk\|mg\|mw\|my\|mv\|ml\|mt\|mh\|mq\|mr\|mu\|yt\|mx\|fm\|md\|mc\|mn\|me\|ms\|ma\|mz\|mm\|na\|nr\|np\|nl\|nc\|nz\|ni\|ne\|ng\|nu\|nf\|mp\|no\|om\|pk\|pw\|ps\|pa\|pg\|py\|pe\|ph\|pn\|pl\|pt\|pr\|qa\|re\|ro\|ru\|rw\|bl\|sh\|kn\|lc\|mf\|pm\|vc\|ws\|sm\|st\|sa\|sn\|rs\|sc\|sl\|sg\|sx\|sk\|si\|sb\|so\|za\|gs\|ss\|es\|lk\|sd\|sr\|sj\|sz\|se\|ch\|sy\|tw\|tj\|tz\|th\|tl\|tg\|tk\|to\|tt\|tn\|tr\|tm\|tc\|tv\|ug\|ua\|ae\|gb\|us\|um\|uy\|uz\|vu\|ve\|vn\|vg\|vi\|wf\|eh\|ye\|zm\|zw\)/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentHandleOfInstitution redifError
|
||||
highlight def link redifArgumentPrimaryDefunct redifError
|
||||
highlight def link redifArgumentSecondaryDefunct redifError
|
||||
highlight def link redifArgumentTertiaryDefunct redifError
|
||||
|
||||
" Emails:
|
||||
syntax match redifArgumentAuthorEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
|
||||
syntax match redifArgumentAuthorWorkplaceEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
|
||||
syntax match redifArgumentContactEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
|
||||
syntax match redifArgumentEditorEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
|
||||
syntax match redifArgumentEditorWorkplaceEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
|
||||
syntax match redifArgumentEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
|
||||
syntax match redifArgumentMaintainerEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
|
||||
syntax match redifArgumentOrderEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
|
||||
syntax match redifArgumentPrimaryEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
|
||||
syntax match redifArgumentProviderEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
|
||||
syntax match redifArgumentPublisherEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
|
||||
syntax match redifArgumentQuaternaryEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
|
||||
syntax match redifArgumentSecondaryEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
|
||||
syntax match redifArgumentTertiaryEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
|
||||
syntax match redifArgumentWorkplaceEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
|
||||
syntax match redifCorrectEmail /\%(@\@!\S\)\+@\%(@\@!\S\)\+/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentAuthorEmail redifError
|
||||
highlight def link redifArgumentAuthorWorkplaceEmail redifError
|
||||
highlight def link redifArgumentContactEmail redifError
|
||||
highlight def link redifArgumentEditorEmail redifError
|
||||
highlight def link redifArgumentEditorWorkplaceEmail redifError
|
||||
highlight def link redifArgumentEmail redifError
|
||||
highlight def link redifArgumentMaintainerEmail redifError
|
||||
highlight def link redifArgumentOrderEmail redifError
|
||||
highlight def link redifArgumentPrimaryEmail redifError
|
||||
highlight def link redifArgumentProviderEmail redifError
|
||||
highlight def link redifArgumentPublisherEmail redifError
|
||||
highlight def link redifArgumentQuaternaryEmail redifError
|
||||
highlight def link redifArgumentSecondaryEmail redifError
|
||||
highlight def link redifArgumentTertiaryEmail redifError
|
||||
highlight def link redifArgumentWorkplaceEmail redifError
|
||||
|
||||
" Language
|
||||
" Source: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
|
||||
syntax match redifArgumentLanguage /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectLanguage contained display
|
||||
syntax match redifCorrectLanguage /\<\(aa\|ab\|af\|ak\|als\|am\|an\|ang\|ar\|arc\|as\|ast\|av\|ay\|az\|ba\|bar\|bat-smg\|bcl\|be\|be-x-old\|bg\|bh\|bi\|bm\|bn\|bo\|bpy\|br\|bs\|bug\|bxr\|ca\|ce\|ceb\|ch\|cho\|chr\|chy\|co\|cr\|cs\|csb\|cu\|cv\|cy\|da\|de\|diq\|dsb\|dv\|dz\|ee\|el\|en\|eo\|es\|et\|eu\|ext\|fa\|ff\|fi\|fiu-vro\|fj\|fo\|fr\|frp\|fur\|fy\|ga\|gd\|gil\|gl\|gn\|got\|gu\|gv\|ha\|haw\|he\|hi\|ho\|hr\|ht\|hu\|hy\|hz\|ia\|id\|ie\|ig\|ii\|ik\|ilo\|io\|is\|it\|iu\|ja\|jbo\|jv\|ka\|kg\|ki\|kj\|kk\|kl\|km\|kn\|khw\|ko\|kr\|ks\|ksh\|ku\|kv\|kw\|ky\|la\|lad\|lan\|lb\|lg\|li\|lij\|lmo\|ln\|lo\|lt\|lv\|map-bms\|mg\|mh\|mi\|mk\|ml\|mn\|mo\|mr\|ms\|mt\|mus\|my\|na\|nah\|nap\|nd\|nds\|nds-nl\|ne\|new\|ng\|nl\|nn\|no\|nr\|nso\|nrm\|nv\|ny\|oc\|oj\|om\|or\|os\|pa\|pag\|pam\|pap\|pdc\|pi\|pih\|pl\|pms\|ps\|pt\|qu\|rm\|rmy\|rn\|ro\|roa-rup\|ru\|rw\|sa\|sc\|scn\|sco\|sd\|se\|sg\|sh\|si\|simple\|sk\|sl\|sm\|sn\|so\|sq\|sr\|ss\|st\|su\|sv\|sw\|ta\|te\|tet\|tg\|th\|ti\|tk\|tl\|tlh\|tn\|to\|tpi\|tr\|ts\|tt\|tum\|tw\|ty\|udm\|ug\|uk\|ur\|uz\|ve\|vi\|vec\|vls\|vo\|wa\|war\|wo\|xal\|xh\|yi\|yo\|za\|zh\|zh-min-nan\|zh-yue\|zu\)\>/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentLanguage redifError
|
||||
highlight def link redifCorrectLanguage redifSpecial
|
||||
|
||||
" Length
|
||||
" Based on the example in the documentation. But apparently any field is
|
||||
" possible
|
||||
syntax region redifArgumentLength start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=redifGoodLength contained
|
||||
syntax match redifGoodLength /1 page\|[1-9]\d*\%( pages\)\=/ contained display
|
||||
|
||||
highlight def link redifGoodLength redifSpecial
|
||||
|
||||
" Publication-Type
|
||||
syntax match redifArgumentPublicationType /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectPublicationType contained display
|
||||
syntax match redifCorrectPublicationType /\<\(journal article\|book\|book chapter\|working paper\|conference paper\|report\|other\)\>/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentPublicationType redifError
|
||||
highlight def link redifCorrectPublicationType redifSpecial
|
||||
|
||||
" Publication-Status
|
||||
syntax region redifArgumentPublicationStatus start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=redifSpecialPublicationStatus contained
|
||||
syntax match redifSpecialPublicationStatus /published\|forthcoming/ nextgroup=redifCorrectPublicationStatus contained display
|
||||
syntax region redifCorrectPublicationStatus start=/./ end=/^\S\{-}:/me=s-1 contained
|
||||
|
||||
highlight def link redifArgumentPublicationStatus redifError
|
||||
highlight def link redifSpecialPublicationStatus redifSpecial
|
||||
|
||||
" Month
|
||||
" TODO Are numbers also allowed?
|
||||
syntax match redifArgumentMonth /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodMonth contained display
|
||||
syntax match redifGoodMonth /\<\(Jan\%(uary\)\=\|Feb\%(ruary\)\=\|Mar\%(ch\)\=\|Apr\%(il\)\=\|May\|June\=\|July\=\|Aug\%(ust\)\=\|Sep\%(tember\)\=\|Oct\%(ober\)\=\|Nov\%(ember\)\=\|Dec\%(ember\)\=\)\>/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifGoodMonth redifSpecial
|
||||
|
||||
" Integers: Number, Volume, Chapter
|
||||
syntax match redifArgumentNumber /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectInteger contained display
|
||||
syntax match redifArgumentVolume /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectInteger contained display
|
||||
syntax match redifArgumentChapter /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectInteger contained display
|
||||
syntax match redifCorrectInteger /[1-9]\d*/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentVolume redifError
|
||||
highlight def link redifArgumentChapter redifError
|
||||
|
||||
" Year
|
||||
syntax match redifArgumentYear /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectYear contained display
|
||||
syntax match redifCorrectYear /[1-9]\d\{3}/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentYear redifError
|
||||
|
||||
" Edition
|
||||
" Based on the example in the documentation.
|
||||
syntax match redifArgumentEdition /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodEdition contained display
|
||||
syntax match redifGoodEdition /1st\|2nd\|3rd\|[4-9]th\|[1-9]\d*\%(1st\|2nd\|3rd\|[4-9]th\)\|[1-9]\d*/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifGoodEdition redifSpecial
|
||||
|
||||
" ISBN
|
||||
syntax match redifArgumentISBN /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodISBN contained display
|
||||
syntax match redifGoodISBN /\d[0-9-]\{8,15}\d/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifGoodISBN redifSpecial
|
||||
|
||||
" ISSN
|
||||
syntax match redifArgumentISSN /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodISSN contained display
|
||||
syntax match redifGoodISSN /\d\{4}-\d\{3}[0-9X]/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifGoodISSN redifSpecial
|
||||
|
||||
" File-Size
|
||||
" Based on the example in the documentation.
|
||||
syntax region redifArgumentFileSize start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=redifGoodSize contained
|
||||
syntax match redifGoodSize /kb\|bytes/ contained display
|
||||
|
||||
highlight def link redifGoodSize redifSpecial
|
||||
|
||||
" Type
|
||||
syntax match redifArgumentType /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectType contained display
|
||||
syntax match redifCorrectType /ReDIF-Paper\|ReDIF-Software\|ReDIF-Article\|ReDIF-Chapter\|ReDIF-Book/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentType redifError
|
||||
highlight def link redifCorrectType redifSpecial
|
||||
|
||||
" Dates: Publication-Date, Creation-Date, Revision-Date,
|
||||
" Last-Login-Date, Registration-Date
|
||||
syntax match redifArgumentCreationDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectDate contained display
|
||||
syntax match redifArgumentLastLoginDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectDate contained display
|
||||
syntax match redifArgumentPublicationDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectDate contained display
|
||||
syntax match redifArgumentRegisteredDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectDate contained display
|
||||
syntax match redifArgumentRevisionDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectDate contained display
|
||||
syntax match redifCorrectDate /[1-9]\d\{3}\%(-02\%(-[12]\d\|-0[1-9]\)\=\|-\%(0[469]\|11\)\%(-30\|-[12]\d\|-0[1-9]\)\=\|-\%(0[13578]\|1[02]\)\%(-3[01]\|-[12]\d\|-0[1-9]\)\=\)\=/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentCreationDate redifError
|
||||
highlight def link redifArgumentLastLoginDate redifError
|
||||
highlight def link redifArgumentPublicationDate redifError
|
||||
highlight def link redifArgumentRegisteredDate redifError
|
||||
highlight def link redifArgumentRevisionDate redifError
|
||||
|
||||
" Classification-JEL
|
||||
syntax match redifArgumentClassificationJEL /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectJEL contained display
|
||||
syntax match redifCorrectJEL /\<\u\d\{,2}\%([,; \t]\s*\)\=/ contains=redifSpecialJEL nextgroup=redifWrongLineEnding contained display
|
||||
syntax match redifSpecialJEL /\<\u\d\{,2}/ contained display
|
||||
|
||||
highlight def link redifArgumentClassificationJEL redifError
|
||||
highlight def link redifSpecialJEL redifSpecial
|
||||
|
||||
" Pages
|
||||
syntax match redifArgumentPages /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectPages contained display
|
||||
syntax match redifCorrectPages /[1-9]\d*-[1-9]\d*/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifArgumentPages redifError
|
||||
|
||||
" Name-ASCII
|
||||
syntax match redifArgumentNameASCII /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectNameASCII contained display
|
||||
syntax match redifCorrectNameASCII /[ -~]/ contained display
|
||||
|
||||
highlight def link redifArgumentNameASCII redifError
|
||||
|
||||
" Programming-Language
|
||||
syntax match redifArgumentProgrammingLanguage /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodProgrammingLanguage contained display
|
||||
syntax match redifGoodProgrammingLanguage /\<c++\|\<\%(c\|dos executable\|executable\|fortran\|gauss\|gretl\|java\|mathematica\|matlab\|octave\|ox\|perl\|python\|rats\|r\|shazam\|s-plus\|stata\|tsp international\)\>/ nextgroup=redifWrongLineEnding contained display
|
||||
|
||||
highlight def link redifGoodProgrammingLanguage redifSpecial
|
||||
|
||||
" File-Format
|
||||
" TODO The link in the documentation that gives the list of possible formats is broken.
|
||||
" ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/media-types
|
||||
" These are based on the examples in the documentation.
|
||||
syntax match redifArgumentFileFormat /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodFormat contained display
|
||||
syntax match redifGoodFormat "\a\+/[[:alpha:]+-]\+" nextgroup=redifWrongLineEnding contains=redifSpecialFormat contained display
|
||||
syntax match redifSpecialFormat "application/atom+xml\|application/ecmascript\|application/EDI-X12\|application/EDIFACT\|application/json\|application/javascript\|application/octet-stream\|application/ogg\|application/pdf\|application/postscript\|application/rdf+xml\|application/rss+xml\|application/soap+xml\|application/font-woff\|application/xhtml+xml\|application/xml\|application/xml-dtd\|application/xop+xml\|application/zip\|application/gzip\|audio/basic\|audio/L24\|audio/mp4\|audio/mpeg\|audio/ogg\|audio/vorbis\|audio/vnd.rn-realaudio\|audio/vnd.wave\|audio/webm\|image/gif\|image/jpeg\|image/pjpeg\|image/png\|image/svg+xml\|image/tiff\|image/vnd.microsoft.icon\|message/http\|message/imdn+xml\|message/partial\|message/rfc822\|model/example\|model/iges\|model/mesh\|model/vrml\|model/x3d+binary\|model/x3d+vrml\|model/x3d+xml\|multipart/mixed\|multipart/alternative\|multipart/related\|multipart/form-data\|multipart/signed\|multipart/encrypted\|text/cmd\|text/css\|text/csv\|text/html\|text/javascript\|text/plain\|text/vcard\|text/xml\|video/mpeg\|video/mp4\|video/ogg\|video/quicktime\|video/webm\|video/x-matroska\|video/x-ms-wmv\|video/x-flv" contained display
|
||||
|
||||
highlight def link redifSpecialFormat redifSpecial
|
||||
highlight def link redifArgumentFileFormat redifError
|
||||
|
||||
" Keywords
|
||||
" Spell checked
|
||||
syntax match redifArgumentKeywords /\%(^\S\{-}:\)\@!\S.*/ contains=@Spell,redifKeywordsSemicolon contained
|
||||
syntax match redifKeywordsSemicolon /;/ contained
|
||||
|
||||
highlight def link redifKeywordsSemicolon redifSpecial
|
||||
|
||||
" Other spell-checked arguments
|
||||
" Very useful when copy-pasting abstracts that may contain hyphens or
|
||||
" ligatures.
|
||||
syntax region redifArgumentAbstract start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentAvailability start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentBookTitle start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentDescription start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentFileRestriction start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentNote start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentNotification start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentRestriction start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
syntax region redifArgumentTitle start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
|
||||
|
||||
" Wrong line ending
|
||||
syntax match redifWrongLineEnding /.\+/ contained display
|
||||
|
||||
highlight def link redifWrongLineEnding redifError
|
||||
|
||||
" Final highlight
|
||||
highlight def link redifComment Comment
|
||||
highlight def link redifError Error
|
||||
highlight def link redifField Identifier
|
||||
highlight def link redifFieldDeprecated Identifier
|
||||
highlight def link redifSpecial Special
|
||||
" For deprecated fields:
|
||||
highlight redifFieldDeprecated term=undercurl cterm=undercurl gui=undercurl guisp=DarkGrey
|
||||
|
||||
" Sync: The template-type (ReDIF-Paper, ReDIF-Archive, etc.) influences which
|
||||
" fields can follow. Thus sync must search backwards for it.
|
||||
"
|
||||
" I would like to simply ask VIM to search backward for the first occurence of
|
||||
" /^Template-Type:/, but it does not seem to be possible, so I have to start
|
||||
" from the beginning of the file... This might slow down a lot for files that
|
||||
" contain a lot of Template-Type statements.
|
||||
syntax sync fromstart
|
||||
|
||||
" The problem with syntax sync match (tried below), it is that, for example,
|
||||
" it cannot realize when it is inside a Author-Name cluster, which is inside a
|
||||
" Template-Type template...
|
||||
"
|
||||
" TODO Is this linecont pattern really useful? It seems to work anyway...
|
||||
"syntax sync linecont /^\(Template-Type:\)\=\s*$/
|
||||
" TODO This sync is surprising... It seems to work on several lines even
|
||||
" though I replaced \_s* by \s*, even without the linecont pattern...
|
||||
"syntax sync match redifSyncForTemplatePaper groupthere redifRegionTemplatePaper /^Template-Type:\s*ReDIF-Paper \d\+\.\d\+/
|
||||
"syntax sync match redifSyncForTemplateArticle groupthere redifRegionTemplateArticle /^Template-Type:\s*ReDIF-Article \d\+\.\d\+/
|
||||
"syntax sync match redifSyncForTemplateChapter groupthere redifRegionTemplateChapter /^Template-Type:\s*ReDIF-Chapter \d\+\.\d\+/
|
||||
"syntax sync match redifSyncForTemplateBook groupthere redifRegionTemplateBook /^Template-Type:\s*ReDIF-Book \d\+\.\d\+/
|
||||
"syntax sync match redifSyncForTemplateSoftware groupthere redifRegionTemplateSoftware /^Template-Type:\s*ReDIF-Software \d\+\.\d\+/
|
||||
"syntax sync match redifSyncForTemplateArchive groupthere redifRegionTemplateArchive /^Template-Type:\s*ReDIF-Archive \d\+\.\d\+/
|
||||
"syntax sync match redifSyncForTemplateSeries groupthere redifRegionTemplateSeries /^Template-Type:\s*ReDIF-Series \d\+\.\d\+/
|
||||
"syntax sync match redifSyncForTemplateInstitution groupthere redifRegionTemplateInstitution /^Template-Type:\s*ReDIF-Institution \d\+\.\d\+/
|
||||
"syntax sync match redifSyncForTemplatePerson groupthere redifRegionTemplatePerson /^Template-Type:\s*ReDIF-Person \d\+\.\d\+/
|
||||
|
||||
" I do not really know how sync linebreaks works, but it helps when making
|
||||
" changes on the argument when this argument is not on the same line than its
|
||||
" field. I just assume that people won't leave more than one line of
|
||||
" whitespace between fields and arguments (which is already very unlikely)
|
||||
" hence the value of 2.
|
||||
syntax sync linebreaks=2
|
||||
|
||||
" Since folding is defined by the syntax, set foldmethod to syntax.
|
||||
set foldmethod=syntax
|
||||
|
||||
" Set "b:current_syntax" to the name of the syntax at the end:
|
||||
let b:current_syntax="redif"
|
||||
25
runtime/syntax/rng.vim
Normal file
25
runtime/syntax/rng.vim
Normal file
@@ -0,0 +1,25 @@
|
||||
" Vim syntax file
|
||||
" Language: RELAX NG
|
||||
" Maintainer: Jaromir Hradilek <jhradilek@gmail.com>
|
||||
" URL: https://github.com/jhradilek/vim-rng
|
||||
" Last Change: 25 March 2013
|
||||
" Description: A syntax file for RELAX NG, a schema language for XML
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
do Syntax xml
|
||||
syn spell toplevel
|
||||
syn cluster xmlTagHook add=rngTagName
|
||||
syn case match
|
||||
|
||||
syn keyword rngTagName anyName attribute choice data define div contained
|
||||
syn keyword rngTagName element empty except externalRef grammar contained
|
||||
syn keyword rngTagName group include interleave list mixed name contained
|
||||
syn keyword rngTagName notAllowed nsName oneOrMore optional param contained
|
||||
syn keyword rngTagName parentRef ref start text value zeroOrMore contained
|
||||
|
||||
hi def link rngTagName Statement
|
||||
|
||||
let b:current_syntax = 'rng'
|
||||
@@ -2,8 +2,8 @@
|
||||
" Language: shell (sh) Korn shell (ksh) bash (sh)
|
||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int>
|
||||
" Last Change: Nov 14, 2012
|
||||
" Version: 128
|
||||
" Last Change: Mar 04, 2013
|
||||
" Version: 129
|
||||
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
|
||||
" For options and settings, please use: :help ft-sh-syntax
|
||||
" This file includes many ideas from ?ric Brunet (eric.brunet@ens.fr)
|
||||
@@ -108,7 +108,7 @@ 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 shCaseList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq
|
||||
"syn cluster shColonList contains=@shCaseList
|
||||
syn cluster shCommandSubList contains=shArithmetic,shDeref,shDerefSimple,shEscape,shNumber,shOperator,shPosnParm,shExSingleQuote,shSingleQuote,shExDoubleQuote,shDoubleQuote,shStatement,shVariable,shSubSh,shAlias,shTest,shCtrlSeq,shSpecial,shCmdParenRegion
|
||||
syn cluster shCommandSubList contains=shArithmetic,shDeref,shDerefSimple,shEcho,shEscape,shNumber,shOption,shPosnParm,shExSingleQuote,shSingleQuote,shExDoubleQuote,shDoubleQuote,shStatement,shVariable,shSubSh,shAlias,shTest,shCtrlSeq,shSpecial,shCmdParenRegion
|
||||
syn cluster shCurlyList contains=shNumber,shComma,shDeref,shDerefSimple,shDerefSpecial
|
||||
syn cluster shDblQuoteList contains=shCommandSub,shDeref,shDerefSimple,shEscape,shPosnParm,shCtrlSeq,shSpecial
|
||||
syn cluster shDerefList contains=shDeref,shDerefSimple,shDerefVar,shDerefSpecial,shDerefWordError,shDerefPPS
|
||||
|
||||
@@ -20,6 +20,7 @@ syn keyword sliceQualifier const extends idempotent implements local nonmutatin
|
||||
syn keyword sliceBoolean false true
|
||||
|
||||
" Include directives
|
||||
syn region sliceIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
|
||||
syn match sliceIncluded display contained "<[^>]*>"
|
||||
syn match sliceInclude display "^\s*#\s*include\>\s*["<]" contains=sliceIncluded
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
" Vim syntax file
|
||||
" Language: TeX
|
||||
" Maintainer: Charles E. Campbell <NdrchipO@ScampbellPfamily.AbizM>
|
||||
" Last Change: Nov 14, 2012
|
||||
" Version: 75
|
||||
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
|
||||
" Last Change: Mar 11, 2013
|
||||
" Version: 77
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX
|
||||
"
|
||||
" Notes: {{{1
|
||||
"
|
||||
@@ -52,8 +52,14 @@ if version >= 508 || !exists("did_tex_syntax_inits")
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
endif
|
||||
if exists("g:tex_no_error") && g:tex_no_error
|
||||
let s:tex_no_error= 1
|
||||
endif
|
||||
if exists("g:tex_fast") && g:tex_fast
|
||||
let s:tex_no_error= 1
|
||||
endif
|
||||
if exists("g:tex_tex") && !exists("g:tex_no_error")
|
||||
let g:tex_no_error= 1
|
||||
let s:tex_no_error= 1
|
||||
endif
|
||||
|
||||
" let user determine which classes of concealment will be supported
|
||||
@@ -110,7 +116,7 @@ endif
|
||||
" Clusters: {{{1
|
||||
" --------
|
||||
syn cluster texCmdGroup contains=texCmdBody,texComment,texDefParm,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texBeginEnd,texBeginEndName,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle
|
||||
if !exists("g:tex_no_error")
|
||||
if !exists("s:tex_no_error")
|
||||
syn cluster texCmdGroup add=texMathError
|
||||
endif
|
||||
syn cluster texEnvGroup contains=texMatcher,texMathDelim,texSpecialChar,texStatement
|
||||
@@ -132,7 +138,7 @@ if !exists("tex_no_math")
|
||||
syn cluster texMathDelimGroup contains=texMathDelimBad,texMathDelimKey,texMathDelimSet1,texMathDelimSet2
|
||||
syn cluster texMathMatchGroup contains=@texMathZones,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathMatcher,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone
|
||||
syn cluster texMathZoneGroup contains=texComment,texDelimiter,texLength,texMathDelim,texMathMatcher,texMathOper,texMathSymbol,texMathText,texRefZone,texSpecialChar,texStatement,texTypeSize,texTypeStyle
|
||||
if !exists("g:tex_no_error")
|
||||
if !exists("s:tex_no_error")
|
||||
syn cluster texMathMatchGroup add=texMathError
|
||||
syn cluster texMathZoneGroup add=texMathError
|
||||
endif
|
||||
@@ -153,26 +159,30 @@ if !exists("tex_no_math")
|
||||
endif
|
||||
|
||||
" Try to flag {} and () mismatches: {{{1
|
||||
if !exists("g:tex_no_error")
|
||||
syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texMatchGroup,texError
|
||||
syn region texMatcher matchgroup=Delimiter start="\[" end="]" contains=@texMatchGroup,texError,@NoSpell
|
||||
else
|
||||
syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texMatchGroup
|
||||
syn region texMatcher matchgroup=Delimiter start="\[" end="]" contains=@texMatchGroup
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'm'
|
||||
if !exists("s:tex_no_error")
|
||||
syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texMatchGroup,texError
|
||||
syn region texMatcher matchgroup=Delimiter start="\[" end="]" contains=@texMatchGroup,texError,@NoSpell
|
||||
else
|
||||
syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texMatchGroup
|
||||
syn region texMatcher matchgroup=Delimiter start="\[" end="]" contains=@texMatchGroup
|
||||
endif
|
||||
if !exists("g:tex_nospell") || !g:tex_nospell
|
||||
syn region texParen start="(" end=")" contains=@texMatchGroup,@Spell
|
||||
else
|
||||
syn region texParen start="(" end=")" contains=@texMatchGroup
|
||||
endif
|
||||
endif
|
||||
if !exists("g:tex_nospell") || !g:tex_nospell
|
||||
syn region texParen start="(" end=")" contains=@texMatchGroup,@Spell
|
||||
else
|
||||
syn region texParen start="(" end=")" contains=@texMatchGroup
|
||||
endif
|
||||
if !exists("g:tex_no_error")
|
||||
if !exists("s:tex_no_error")
|
||||
syn match texError "[}\])]"
|
||||
endif
|
||||
if !exists("tex_no_math")
|
||||
if !exists("g:tex_no_error")
|
||||
syn match texMathError "}" contained
|
||||
endif
|
||||
syn region texMathMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\}" end="}" end="%stopzone\>" contained contains=@texMathMatchGroup
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'M'
|
||||
if !exists("tex_no_math")
|
||||
if !exists("s:tex_no_error")
|
||||
syn match texMathError "}" contained
|
||||
endif
|
||||
syn region texMathMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\}" end="}" end="%stopzone\>" contained contains=@texMathMatchGroup
|
||||
endif
|
||||
endif
|
||||
|
||||
" TeX/LaTeX keywords: {{{1
|
||||
@@ -182,7 +192,7 @@ if exists("g:tex_tex") || b:tex_stylish
|
||||
syn match texStatement "\\[a-zA-Z@]\+"
|
||||
else
|
||||
syn match texStatement "\\\a\+"
|
||||
if !exists("g:tex_no_error")
|
||||
if !exists("s:tex_no_error")
|
||||
syn match texError "\\\a*@[a-zA-Z@]*"
|
||||
endif
|
||||
endif
|
||||
@@ -210,12 +220,16 @@ syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)$"
|
||||
|
||||
" \begin{}/\end{} section markers: {{{1
|
||||
syn match texBeginEnd "\\begin\>\|\\end\>" nextgroup=texBeginEndName
|
||||
syn region texBeginEndName matchgroup=Delimiter start="{" end="}" contained nextgroup=texBeginEndModifier contains=texComment
|
||||
syn region texBeginEndModifier matchgroup=Delimiter start="\[" end="]" contained contains=texComment,@NoSpell
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'm'
|
||||
syn region texBeginEndName matchgroup=Delimiter start="{" end="}" contained nextgroup=texBeginEndModifier contains=texComment
|
||||
syn region texBeginEndModifier matchgroup=Delimiter start="\[" end="]" contained contains=texComment,@NoSpell
|
||||
endif
|
||||
|
||||
" \documentclass, \documentstyle, \usepackage: {{{1
|
||||
syn match texDocType "\\documentclass\>\|\\documentstyle\>\|\\usepackage\>" nextgroup=texBeginEndName,texDocTypeArgs
|
||||
syn region texDocTypeArgs matchgroup=Delimiter start="\[" end="]" contained nextgroup=texBeginEndName contains=texComment,@NoSpell
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'm'
|
||||
syn region texDocTypeArgs matchgroup=Delimiter start="\[" end="]" contained nextgroup=texBeginEndName contains=texComment,@NoSpell
|
||||
endif
|
||||
|
||||
" Preamble syntax-based folding support: {{{1
|
||||
if g:tex_fold_enabled && has("folding")
|
||||
@@ -227,7 +241,9 @@ syn match texInput "\\input\s\+[a-zA-Z/.0-9_^]\+"hs=s+7 contains=texStatemen
|
||||
syn match texInputFile "\\include\(graphics\|list\)\=\(\[.\{-}\]\)\=\s*{.\{-}}" contains=texStatement,texInputCurlies,texInputFileOpt
|
||||
syn match texInputFile "\\\(epsfig\|input\|usepackage\)\s*\(\[.*\]\)\={.\{-}}" contains=texStatement,texInputCurlies,texInputFileOpt
|
||||
syn match texInputCurlies "[{}]" contained
|
||||
syn region texInputFileOpt matchgroup=Delimiter start="\[" end="\]" contained contains=texComment
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'm'
|
||||
syn region texInputFileOpt matchgroup=Delimiter start="\[" end="\]" contained contains=texComment
|
||||
endif
|
||||
|
||||
" Type Styles (LaTeX 2.09): {{{1
|
||||
syn match texTypeStyle "\\rm\>"
|
||||
@@ -293,62 +309,66 @@ syn match texSpaceCode "\\\(math\|cat\|del\|lc\|sf\|uc\)code`"me=e-1 nextgroup=
|
||||
syn match texSpaceCodeChar "`\\\=.\(\^.\)\==\(\d\|\"\x\{1,6}\|`.\)" contained
|
||||
|
||||
" Sections, subsections, etc: {{{1
|
||||
if !exists("g:tex_nospell") || !g:tex_nospell
|
||||
if g:tex_fold_enabled && has("folding")
|
||||
syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' fold contains=@texFoldGroup,@texDocGroup,@Spell
|
||||
syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texPartGroup,@Spell
|
||||
syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texChapterGroup,@Spell
|
||||
syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSectionGroup,@Spell
|
||||
syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSubSectionGroup,@Spell
|
||||
syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSubSubSectionGroup,@Spell
|
||||
syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texParaGroup,@Spell
|
||||
syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@Spell
|
||||
syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' fold contains=@texFoldGroup,@Spell
|
||||
syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' fold contains=@texFoldGroup,@Spell
|
||||
else
|
||||
syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' contains=@texFoldGroup,@texDocGroup,@Spell
|
||||
syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texPartGroup,@Spell
|
||||
syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texChapterGroup,@Spell
|
||||
syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSectionGroup,@Spell
|
||||
syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSectionGroup,@Spell
|
||||
syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSubSectionGroup,@Spell
|
||||
syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texParaGroup,@Spell
|
||||
syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@Spell
|
||||
syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' contains=@texFoldGroup,@Spell
|
||||
syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' contains=@texFoldGroup,@Spell
|
||||
endif
|
||||
else
|
||||
if g:tex_fold_enabled && has("folding")
|
||||
syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' fold contains=@texFoldGroup,@texDocGroup
|
||||
syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texPartGroup
|
||||
syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texChapterGroup
|
||||
syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSectionGroup
|
||||
syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSubSectionGroup
|
||||
syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSubSubSectionGroup
|
||||
syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texParaGroup
|
||||
syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup
|
||||
syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' fold contains=@texFoldGroup
|
||||
syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' fold contains=@texFoldGroup
|
||||
else
|
||||
syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' contains=@texFoldGroup,@texDocGroup
|
||||
syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texPartGroup
|
||||
syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texChapterGroup
|
||||
syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSectionGroup
|
||||
syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSectionGroup
|
||||
syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSubSectionGroup
|
||||
syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texParaGroup
|
||||
syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup
|
||||
syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' contains=@texFoldGroup
|
||||
syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' contains=@texFoldGroup
|
||||
endif
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'p'
|
||||
if !exists("g:tex_nospell") || !g:tex_nospell
|
||||
if g:tex_fold_enabled && has("folding")
|
||||
syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' fold contains=@texFoldGroup,@texDocGroup,@Spell
|
||||
syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texPartGroup,@Spell
|
||||
syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texChapterGroup,@Spell
|
||||
syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSectionGroup,@Spell
|
||||
syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSubSectionGroup,@Spell
|
||||
syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSubSubSectionGroup,@Spell
|
||||
syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texParaGroup,@Spell
|
||||
syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@Spell
|
||||
syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' fold contains=@texFoldGroup,@Spell
|
||||
syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' fold contains=@texFoldGroup,@Spell
|
||||
else
|
||||
syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' contains=@texFoldGroup,@texDocGroup,@Spell
|
||||
syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texPartGroup,@Spell
|
||||
syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texChapterGroup,@Spell
|
||||
syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSectionGroup,@Spell
|
||||
syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSectionGroup,@Spell
|
||||
syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSubSectionGroup,@Spell
|
||||
syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texParaGroup,@Spell
|
||||
syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@Spell
|
||||
syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' contains=@texFoldGroup,@Spell
|
||||
syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' contains=@texFoldGroup,@Spell
|
||||
endif
|
||||
else
|
||||
if g:tex_fold_enabled && has("folding")
|
||||
syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' fold contains=@texFoldGroup,@texDocGroup
|
||||
syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texPartGroup
|
||||
syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texChapterGroup
|
||||
syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSectionGroup
|
||||
syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSubSectionGroup
|
||||
syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texSubSubSectionGroup
|
||||
syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup,@texParaGroup
|
||||
syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' fold contains=@texFoldGroup
|
||||
syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' fold contains=@texFoldGroup
|
||||
syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' fold contains=@texFoldGroup
|
||||
else
|
||||
syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' contains=@texFoldGroup,@texDocGroup
|
||||
syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texPartGroup
|
||||
syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texChapterGroup
|
||||
syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSectionGroup
|
||||
syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSectionGroup
|
||||
syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSubSectionGroup
|
||||
syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texParaGroup
|
||||
syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup
|
||||
syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' contains=@texFoldGroup
|
||||
syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' contains=@texFoldGroup
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
" particular support for bold and italic {{{1
|
||||
if s:tex_conceal =~ 'b'
|
||||
syn region texBoldStyle matchgroup=texTypeStyle start="\\textbf\s*{" end="}" concealends contains=@texBoldGroup
|
||||
syn region texBoldItalStyle matchgroup=texTypeStyle start="\\textit\s*{" end="}" concealends contains=@texItalGroup
|
||||
syn region texItalStyle matchgroup=texTypeStyle start="\\textit\s*{" end="}" concealends contains=@texItalGroup
|
||||
syn region texItalBoldStyle matchgroup=texTypeStyle start="\\textbf\s*{" end="}" concealends contains=@texBoldGroup
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'b'
|
||||
if s:tex_conceal =~ 'b'
|
||||
syn region texBoldStyle matchgroup=texTypeStyle start="\\textbf\s*{" end="}" concealends contains=@texBoldGroup
|
||||
syn region texBoldItalStyle matchgroup=texTypeStyle start="\\textit\s*{" end="}" concealends contains=@texItalGroup
|
||||
syn region texItalStyle matchgroup=texTypeStyle start="\\textit\s*{" end="}" concealends contains=@texItalGroup
|
||||
syn region texItalBoldStyle matchgroup=texTypeStyle start="\\textbf\s*{" end="}" concealends contains=@texBoldGroup
|
||||
endif
|
||||
endif
|
||||
|
||||
" Bad Math (mismatched): {{{1
|
||||
@@ -373,17 +393,21 @@ if !exists("tex_no_math")
|
||||
let foldcmd= ""
|
||||
endif
|
||||
exe "syn cluster texMathZones add=".grpname
|
||||
exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd
|
||||
exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
|
||||
exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'M'
|
||||
exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd
|
||||
exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
|
||||
exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
|
||||
endif
|
||||
exe 'hi def link '.grpname.' texMath'
|
||||
if a:starform
|
||||
let grpname = "texMathZone".a:sfx.'S'
|
||||
let syncname = "texSyncMathZone".a:sfx.'S'
|
||||
exe "syn cluster texMathZones add=".grpname
|
||||
exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\*\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\*\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd
|
||||
exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
|
||||
exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'M'
|
||||
exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\*\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\*\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd
|
||||
exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
|
||||
exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
|
||||
endif
|
||||
exe 'hi def link '.grpname.' texMath'
|
||||
endif
|
||||
endfun
|
||||
@@ -403,26 +427,30 @@ if !exists("tex_no_math")
|
||||
call TexNewMathZone("L","xxalignat",0)
|
||||
|
||||
" Inline Math Zones: {{{2
|
||||
if has("conceal") && &enc == 'utf-8' && s:tex_conceal =~ 'd'
|
||||
syn region texMathZoneV matchgroup=Delimiter start="\\(" matchgroup=Delimiter end="\\)\|%stopzone\>" keepend concealends contains=@texMathZoneGroup
|
||||
syn region texMathZoneW matchgroup=Delimiter start="\\\[" matchgroup=Delimiter end="\\]\|%stopzone\>" keepend concealends contains=@texMathZoneGroup
|
||||
syn region texMathZoneX matchgroup=Delimiter start="\$" skip="\\\\\|\\\$" matchgroup=Delimiter end="\$" end="%stopzone\>" concealends contains=@texMathZoneGroup
|
||||
syn region texMathZoneY matchgroup=Delimiter start="\$\$" matchgroup=Delimiter end="\$\$" end="%stopzone\>" concealends keepend contains=@texMathZoneGroup
|
||||
else
|
||||
syn region texMathZoneV matchgroup=Delimiter start="\\(" matchgroup=Delimiter end="\\)\|%stopzone\>" keepend contains=@texMathZoneGroup
|
||||
syn region texMathZoneW matchgroup=Delimiter start="\\\[" matchgroup=Delimiter end="\\]\|%stopzone\>" keepend contains=@texMathZoneGroup
|
||||
syn region texMathZoneX matchgroup=Delimiter start="\$" skip="\\\\\|\\\$" matchgroup=Delimiter end="\$" end="%stopzone\>" contains=@texMathZoneGroup
|
||||
syn region texMathZoneY matchgroup=Delimiter start="\$\$" matchgroup=Delimiter end="\$\$" end="%stopzone\>" keepend contains=@texMathZoneGroup
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'M'
|
||||
if has("conceal") && &enc == 'utf-8' && s:tex_conceal =~ 'd'
|
||||
syn region texMathZoneV matchgroup=Delimiter start="\\(" matchgroup=Delimiter end="\\)\|%stopzone\>" keepend concealends contains=@texMathZoneGroup
|
||||
syn region texMathZoneW matchgroup=Delimiter start="\\\[" matchgroup=Delimiter end="\\]\|%stopzone\>" keepend concealends contains=@texMathZoneGroup
|
||||
syn region texMathZoneX matchgroup=Delimiter start="\$" skip="\\\\\|\\\$" matchgroup=Delimiter end="\$" end="%stopzone\>" concealends contains=@texMathZoneGroup
|
||||
syn region texMathZoneY matchgroup=Delimiter start="\$\$" matchgroup=Delimiter end="\$\$" end="%stopzone\>" concealends keepend contains=@texMathZoneGroup
|
||||
else
|
||||
syn region texMathZoneV matchgroup=Delimiter start="\\(" matchgroup=Delimiter end="\\)\|%stopzone\>" keepend contains=@texMathZoneGroup
|
||||
syn region texMathZoneW matchgroup=Delimiter start="\\\[" matchgroup=Delimiter end="\\]\|%stopzone\>" keepend contains=@texMathZoneGroup
|
||||
syn region texMathZoneX matchgroup=Delimiter start="\$" skip="\\\\\|\\\$" matchgroup=Delimiter end="\$" end="%stopzone\>" contains=@texMathZoneGroup
|
||||
syn region texMathZoneY matchgroup=Delimiter start="\$\$" matchgroup=Delimiter end="\$\$" end="%stopzone\>" keepend contains=@texMathZoneGroup
|
||||
endif
|
||||
syn region texMathZoneZ matchgroup=texStatement start="\\ensuremath\s*{" matchgroup=texStatement end="}" end="%stopzone\>" contains=@texMathZoneGroup
|
||||
endif
|
||||
syn region texMathZoneZ matchgroup=texStatement start="\\ensuremath\s*{" matchgroup=texStatement end="}" end="%stopzone\>" contains=@texMathZoneGroup
|
||||
|
||||
syn match texMathOper "[_^=]" contained
|
||||
|
||||
" Text Inside Math Zones: {{{2
|
||||
if !exists("g:tex_nospell") || !g:tex_nospell
|
||||
syn region texMathText matchgroup=texStatement start='\\\(\(inter\)\=text\|mbox\)\s*{' end='}' contains=@texFoldGroup,@Spell
|
||||
else
|
||||
syn region texMathText matchgroup=texStatement start='\\\(\(inter\)\=text\|mbox\)\s*{' end='}' contains=@texFoldGroup
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'M'
|
||||
if !exists("g:tex_nospell") || !g:tex_nospell
|
||||
syn region texMathText matchgroup=texStatement start='\\\(\(inter\)\=text\|mbox\)\s*{' end='}' contains=@texFoldGroup,@Spell
|
||||
else
|
||||
syn region texMathText matchgroup=texStatement start='\\\(\(inter\)\=text\|mbox\)\s*{' end='}' contains=@texFoldGroup
|
||||
endif
|
||||
endif
|
||||
|
||||
" \left..something.. and \right..something.. support: {{{2
|
||||
@@ -512,65 +540,77 @@ else
|
||||
" allows syntax-folding of 2 or more contiguous comment lines
|
||||
" single-line comments are not folded
|
||||
syn match texComment "%.*$" contains=@texCommentGroup
|
||||
syn region texComment start="^\zs\s*%.*\_s*%" skip="^\s*%" end='^\ze\s*[^%]' fold
|
||||
syn region texNoSpell contained fold matchgroup=texComment start="%\s*nospell\s*{" end="%\s*nospell\s*}" contains=@texFoldGroup,@NoSpell
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'c'
|
||||
syn region texComment start="^\zs\s*%.*\_s*%" skip="^\s*%" end='^\ze\s*[^%]' fold
|
||||
syn region texNoSpell contained fold matchgroup=texComment start="%\s*nospell\s*{" end="%\s*nospell\s*}" contains=@texFoldGroup,@NoSpell
|
||||
endif
|
||||
else
|
||||
syn match texComment "%.*$" contains=@texCommentGroup
|
||||
syn region texNoSpell contained matchgroup=texComment start="%\s*nospell\s*{" end="%\s*nospell\s*}" contains=@texFoldGroup,@NoSpell
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'c'
|
||||
syn region texNoSpell contained matchgroup=texComment start="%\s*nospell\s*{" end="%\s*nospell\s*}" contains=@texFoldGroup,@NoSpell
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
" Separate lines used for verb` and verb# so that the end conditions {{{1
|
||||
" will appropriately terminate.
|
||||
" If g:tex_verbspell exists, then verbatim texZones will permit spellchecking there.
|
||||
if exists("g:tex_verbspell") && g:tex_verbspell
|
||||
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 version < 600
|
||||
syn region texZone start="\\verb\*\=`" end="`\|%stopzone\>" contains=@Spell
|
||||
syn region texZone start="\\verb\*\=#" end="#\|%stopzone\>" contains=@Spell
|
||||
else
|
||||
if b:tex_stylish
|
||||
syn region texZone start="\\verb\*\=\z([^\ta-zA-Z@]\)" end="\z1\|%stopzone\>" contains=@Spell
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'v'
|
||||
if exists("g:tex_verbspell") && g:tex_verbspell
|
||||
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 version < 600
|
||||
syn region texZone start="\\verb\*\=`" end="`\|%stopzone\>" contains=@Spell
|
||||
syn region texZone start="\\verb\*\=#" end="#\|%stopzone\>" contains=@Spell
|
||||
else
|
||||
syn region texZone start="\\verb\*\=\z([^\ta-zA-Z]\)" end="\z1\|%stopzone\>" contains=@Spell
|
||||
if b:tex_stylish
|
||||
syn region texZone start="\\verb\*\=\z([^\ta-zA-Z@]\)" end="\z1\|%stopzone\>" contains=@Spell
|
||||
else
|
||||
syn region texZone start="\\verb\*\=\z([^\ta-zA-Z]\)" end="\z1\|%stopzone\>" contains=@Spell
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
else
|
||||
syn region texZone start="\\begin{[vV]erbatim}" end="\\end{[vV]erbatim}\|%stopzone\>"
|
||||
if version < 600
|
||||
syn region texZone start="\\verb\*\=`" end="`\|%stopzone\>"
|
||||
syn region texZone start="\\verb\*\=#" end="#\|%stopzone\>"
|
||||
else
|
||||
if b:tex_stylish
|
||||
syn region texZone start="\\verb\*\=\z([^\ta-zA-Z@]\)" end="\z1\|%stopzone\>"
|
||||
else
|
||||
syn region texZone start="\\begin{[vV]erbatim}" end="\\end{[vV]erbatim}\|%stopzone\>"
|
||||
if version < 600
|
||||
syn region texZone start="\\verb\*\=`" end="`\|%stopzone\>"
|
||||
syn region texZone start="\\verb\*\=#" end="#\|%stopzone\>"
|
||||
else
|
||||
syn region texZone start="\\verb\*\=\z([^\ta-zA-Z]\)" end="\z1\|%stopzone\>"
|
||||
if b:tex_stylish
|
||||
syn region texZone start="\\verb\*\=\z([^\ta-zA-Z@]\)" end="\z1\|%stopzone\>"
|
||||
else
|
||||
syn region texZone start="\\verb\*\=\z([^\ta-zA-Z]\)" end="\z1\|%stopzone\>"
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
" Tex Reference Zones: {{{1
|
||||
syn region texZone matchgroup=texStatement start="@samp{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||
syn region texRefZone matchgroup=texStatement start="\\nocite{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||
syn region texRefZone matchgroup=texStatement start="\\bibliography{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||
syn region texRefZone matchgroup=texStatement start="\\label{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||
syn region texRefZone matchgroup=texStatement start="\\\(page\|eq\)ref{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||
syn region texRefZone matchgroup=texStatement start="\\v\=ref{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'r'
|
||||
syn region texZone matchgroup=texStatement start="@samp{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||
syn region texRefZone matchgroup=texStatement start="\\nocite{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||
syn region texRefZone matchgroup=texStatement start="\\bibliography{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||
syn region texRefZone matchgroup=texStatement start="\\label{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||
syn region texRefZone matchgroup=texStatement start="\\\(page\|eq\)ref{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||
syn region texRefZone matchgroup=texStatement start="\\v\=ref{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||
syn region texRefOption contained matchgroup=Delimiter start='\[' end=']' contains=@texRefGroup,texRefZone nextgroup=texRefOption,texCite
|
||||
syn region texCite contained matchgroup=Delimiter start='{' end='}' contains=@texRefGroup,texRefZone,texCite
|
||||
endif
|
||||
syn match texRefZone '\\cite\%([tp]\*\=\)\=' nextgroup=texRefOption,texCite
|
||||
syn region texRefOption contained matchgroup=Delimiter start='\[' end=']' contains=@texRefGroup,texRefZone nextgroup=texRefOption,texCite
|
||||
syn region texCite contained matchgroup=Delimiter start='{' end='}' contains=@texRefGroup,texRefZone,texCite
|
||||
|
||||
" Handle newcommand, newenvironment : {{{1
|
||||
syn match texNewCmd "\\newcommand\>" nextgroup=texCmdName skipwhite skipnl
|
||||
syn region texCmdName contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texCmdArgs,texCmdBody skipwhite skipnl
|
||||
syn region texCmdArgs contained matchgroup=Delimiter start="\["rs=s+1 end="]" nextgroup=texCmdBody skipwhite skipnl
|
||||
syn region texCmdBody contained matchgroup=Delimiter start="{"rs=s+1 skip="\\\\\|\\[{}]" matchgroup=Delimiter end="}" contains=@texCmdGroup
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'V'
|
||||
syn region texCmdName contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texCmdArgs,texCmdBody skipwhite skipnl
|
||||
syn region texCmdArgs contained matchgroup=Delimiter start="\["rs=s+1 end="]" nextgroup=texCmdBody skipwhite skipnl
|
||||
syn region texCmdBody contained matchgroup=Delimiter start="{"rs=s+1 skip="\\\\\|\\[{}]" matchgroup=Delimiter end="}" contains=@texCmdGroup
|
||||
endif
|
||||
syn match texNewEnv "\\newenvironment\>" nextgroup=texEnvName skipwhite skipnl
|
||||
syn region texEnvName contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texEnvBgn skipwhite skipnl
|
||||
syn region texEnvBgn contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texEnvEnd skipwhite skipnl contains=@texEnvGroup
|
||||
syn region texEnvEnd contained matchgroup=Delimiter start="{"rs=s+1 end="}" skipwhite skipnl contains=@texEnvGroup
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'V'
|
||||
syn region texEnvName contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texEnvBgn skipwhite skipnl
|
||||
syn region texEnvBgn contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texEnvEnd skipwhite skipnl contains=@texEnvGroup
|
||||
syn region texEnvEnd contained matchgroup=Delimiter start="{"rs=s+1 end="}" skipwhite skipnl contains=@texEnvGroup
|
||||
endif
|
||||
|
||||
" Definitions/Commands: {{{1
|
||||
syn match texDefCmd "\\def\>" nextgroup=texDefName skipwhite skipnl
|
||||
@@ -591,11 +631,15 @@ syn match texLength "\<\d\+\([.,]\d\+\)\=\s*\(true\)\=\s*\(bp\|cc\|cm\|dd\|em\
|
||||
syn match texString "\(``\|''\|,,\)"
|
||||
|
||||
" makeatletter -- makeatother sections
|
||||
if !exists("g:tex_no_error")
|
||||
syn region texStyle matchgroup=texStatement start='\\makeatletter' end='\\makeatother' contains=@texStyleGroup contained
|
||||
if !exists("s:tex_no_error")
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'S'
|
||||
syn region texStyle matchgroup=texStatement start='\\makeatletter' end='\\makeatother' contains=@texStyleGroup contained
|
||||
endif
|
||||
syn match texStyleStatement "\\[a-zA-Z@]\+" contained
|
||||
syn region texStyleMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texStyleGroup,texError contained
|
||||
syn region texStyleMatcher matchgroup=Delimiter start="\[" end="]" contains=@texStyleGroup,texError contained
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'S'
|
||||
syn region texStyleMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texStyleGroup,texError contained
|
||||
syn region texStyleMatcher matchgroup=Delimiter start="\[" end="]" contains=@texStyleGroup,texError contained
|
||||
endif
|
||||
endif
|
||||
|
||||
" Conceal mode support (supports set cole=2) {{{1
|
||||
@@ -970,8 +1014,10 @@ if has("conceal") && &enc == 'utf-8'
|
||||
|
||||
" Superscripts/Subscripts {{{2
|
||||
if s:tex_conceal =~ 's'
|
||||
syn region texSuperscript matchgroup=Delimiter start='\^{' skip="\\\\\|\\[{}]" end='}' contained concealends contains=texSpecialChar,texSuperscripts,texStatement,texSubscript,texSuperscript,texMathMatcher
|
||||
syn region texSubscript matchgroup=Delimiter start='_{' skip="\\\\\|\\[{}]" end='}' contained concealends contains=texSpecialChar,texSubscripts,texStatement,texSubscript,texSuperscript,texMathMatcher
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 's'
|
||||
syn region texSuperscript matchgroup=Delimiter start='\^{' skip="\\\\\|\\[{}]" end='}' contained concealends contains=texSpecialChar,texSuperscripts,texStatement,texSubscript,texSuperscript,texMathMatcher
|
||||
syn region texSubscript matchgroup=Delimiter start='_{' skip="\\\\\|\\[{}]" end='}' contained concealends contains=texSpecialChar,texSubscripts,texStatement,texSubscript,texSuperscript,texMathMatcher
|
||||
endif
|
||||
fun! s:SuperSub(group,leader,pat,cchar)
|
||||
exe 'syn match '.a:group." '".a:leader.a:pat."' contained conceal cchar=".a:cchar
|
||||
exe 'syn match '.a:group."s '".a:pat."' contained conceal cchar=".a:cchar.' nextgroup='.a:group.'s'
|
||||
@@ -1180,7 +1226,7 @@ endif
|
||||
if did_tex_syntax_inits == 1
|
||||
let did_tex_syntax_inits= 2
|
||||
" TeX highlighting groups which should share similar highlighting
|
||||
if !exists("g:tex_no_error")
|
||||
if !exists("s:tex_no_error")
|
||||
if !exists("tex_no_math")
|
||||
HiLink texBadMath texError
|
||||
HiLink texMathDelimBad texError
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: Vim 7.3 script
|
||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Last Change: Nov 14, 2012
|
||||
" Version: 7.3-20
|
||||
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Last Change: February 15, 2013
|
||||
" Version: 7.3-24
|
||||
" Automatically generated keyword lists: {{{1
|
||||
|
||||
" Quit when a syntax file was already loaded {{{2
|
||||
@@ -18,37 +18,36 @@ syn keyword vimTodo contained COMBAK FIXME TODO XXX
|
||||
syn cluster vimCommentGroup contains=vimTodo,@Spell
|
||||
|
||||
" regular vim commands {{{2
|
||||
syn keyword vimCommand contained a arga[dd] argu[ment] bd[elete] bN[ext] breakd[el] buf c cal[l] ce[nter] cg[etfile] cl cn cNf comc[lear] cope[n] cr[ewind] d d[elete] diffo diffsplit di[splay] ds[earch] ec e:e:e en endt[ry] exu[sage] filetype fix[del] for go[to] h hi if intro k la lan[guage] lch[dir] let@ lg[etfile] lla[st] lnew[er] lNf[ile] loc[kmarks] lr[ewind] lv[imgrep] ma[rk] messages mkv mv n new noautocmd on[ly] p:~ perld[o] popu[p] p[rint] promptr[epl] ptl[ast] ptr[ewind] py3file q[uit] r[ead] redraws[tatus] ret[ab] r:r:r ru[ntime] sba[ll] sbp[revious] scs sf[ind] sil[ent] sm[ap] sno[magic] so[urce] spellr[epall] st startr[eplace] sunme sw[apname] t tabf[ind] tabn[ext] ta[g] tf[irst] tn tp[revious] tu undoj[oin] up[date] vi vmapc[lear] win wN[ext] wundo xmapc[lear] xnoremenu
|
||||
syn keyword vimCommand contained ab argd[elete] as[cii] bel[owright] bo[tright] breakl[ist] bufdo cabc[lear] cat[ch] cex[pr] c[hange] cla[st] cN cnf[ile] comment co[py] cs de delf diffoff difft dj[ump] dsp[lit] echoe[rr] e:e:r endf endw[hile] f fin fo[ld] fu gr[ep] ha[rdcopy] hid[e] ij[ump] is[earch] keepa lad la[st] lcl[ose] lex[pr] lgr[ep] lli[st] lne[xt] lo lockv[ar] ls lvimgrepa[dd] marks mk mkvie[w] Mycmd N n[ext] noh[lsearch] o[pen] P p:gs? pp[op] P[rint] ps[earch] ptn pts[elect] pyf[ile] quita[ll] rec[over] reg[isters] retu[rn] ru rv[iminfo] sbf[irst] sbr[ewind] scscope sfir[st] sim[alt] sme snoreme s?pat?sub? spellu[ndo] sta[g] stj[ump] sunmenu sy ta tabfir[st] tabN[ext] tags th[row] tN tr tu[nmenu] undol[ist] v vie[w] vne[w] winc[md] wp[revious] wv[iminfo] xme xterm
|
||||
syn keyword vimCommand contained abc[lear] argdo au bf[irst] bp[revious] br[ewind] b[uffer] cad cb[uffer] cf[ile] changes cl[ist] cnew[er] cNf[ile] comp[iler] count cscope debug delf[unction] DiffOrig diffthis dl[ist] dwim echom[sg] el[se] endfo[r] ene[w] f[ile] fina[lly] foldc[lose] fun grepa[dd] h[elp] his[tory] il[ist] isp[lit] keepalt laddb[uffer] lat lcs lf[ile] lgrepa[dd] lmak[e] lN[ext] loadk lol[der] lt[ag] lw[indow] mat[ch] mkdir mkv[imrc] MyCommand nbc[lose] N[ext] nu[mber] opt[ions] pc[lose] p:h pr pro p:t ptN pu[t] py[thon] quote red Ren rew[ind] rub[y] sal[l] sbl[ast] sb[uffer] se[t] sh[ell] sl smenu snoremenu spe spellw[rong] star st[op] sus[pend] syn tab tabl[ast] tabo[nly] tc[l] tj[ump] tn[ext] t:r u unh[ide] ve vim[grep] vs[plit] windo wq x xmenu xunme
|
||||
syn keyword vimCommand contained abo[veleft] arge[dit] bad[d] bl[ast] br bro[wse] buffers caddb[uffer] cc cfir[st] chd[ir] clo[se] cn[ext] col[der] con cpf[ile] cstag debugg[reedy] delm[arks] diffp diffu[pdate] do e echon elsei[f] endfun Error filename fin[d] folddoc[losed] fu[nction] gs?pat?sub? helpf[ind] i imapc[lear] iuna[bbrev] keepj[umps] lad[dexpr] later lcscope lfir[st] lh[elpgrep] lmapc[lear] lnf loadkeymap lop[en] lua ma menut mk[exrc] mo mz nb[key] nkf o ownsyntax pe p:h:h p:r profd[el] pta[g] ptn[ext] pw[d] python3 r redi[r] Rena ri[ght] rubyd[o] san[dbox] sbm[odified] scrip setf[iletype] si sla[st] sn[ext] s@\n@\=\r" spelld[ump] sp[lit] start stopi[nsert] s?version?main? sync tabc[lose] tabm[ove] tabp[revious] tcld[o] tl[ast] tN[ext] tr[ewind] un unl verb[ose] vimgrepa[dd] w winp[os] wqa[ll] X XMLent xunmenu
|
||||
syn keyword vimCommand contained al[l] argg[lobal] ba[ll] bm[odified] brea[k] browseset bun[load] cad[dexpr] ccl[ose] cgetb[uffer] che[ckpath] cmapc[lear] cN[ext] colo[rscheme] conf[irm] cp[revious] cuna[bbrev] del di diffpatch dig doau ea e[dit] em[enu] endf[unction] ex files fini[sh] foldd[oopen] g gui helpg[rep] ia in j[oin] kee[pmarks] laddf[ile] lb[uffer] le[ft] lgetb[uffer] l[ist] lN lNf lo[adview] lpf[ile] luado mak[e] menut[ranslate] mks[ession] mod[e] mzf[ile] nbs[tart] nmapc[lear] ol[dfiles] p ped[it] po[p] pre[serve] prof[ile] ptf[irst] ptN[ext] py q re red[o] Renu rightb[elow] rubyf[ile] sa[rgument] sbn[ext] scripte[ncoding] setg[lobal] sig sl[eep] sN[ext] so spe[llgood] spr[evious] startg[replace] sts[elect] s?version?main?:p syncbind tabd[o] tabN tabr[ewind] tclf[ile] tm TOhtml try una[bbreviate] unlo[ckvar] ve[rsion] vi[sual] wa[ll] win[size] w[rite] xa[ll] XMLns xwininfo
|
||||
syn keyword vimCommand contained Allargs argl[ocal] bar bn[ext] breaka[dd] bu bw[ipeout] caddf[ile] cd cgete[xpr] checkt[ime] cmdname cnf com con[tinue] cq[uit] cw[indow] delc[ommand] diffg[et] diffpu[t] dig[raphs] dr[op] earlier e:e emenu* en[dif] exi[t] filet fir[st] foldo[pen] get gvim helpt[ags] iabc[lear] index ju[mps] l lan lc[d] lefta[bove] lgete[xpr] ll lne lnf[ile] locale lp[revious] luafile Man mes mksp[ell] m[ove] mz[scheme] ne noa omapc[lear] p: pe[rl] popu prev[ious] promptf[ind] ptj[ump] ptp[revious] py3 qa[ll] r:e redr[aw] res[ize] r:r rundo sav[eas] sbN[ext] scrip[tnames] setl[ocal] sign sm[agic] sni[ff] sor[t] spelli[nfo] sre[wind] star[tinsert] sun[hide] sv[iew] synlist tabe[dit] tabnew tabs te[aroff] tm[enu] to[pleft] ts[elect] u[ndo] uns[ilent] vert[ical] viu[sage] wh[ile] wn[ext] ws[verb] x[it] xnoreme y[ank]
|
||||
syn keyword vimCommand contained ar ar[gs]
|
||||
syn keyword vimCommand contained a arga[dd] ar[gs] bar bn[ext] breaka[dd] bu bw[ipeout] caddf[ile] cd cgete[xpr] checkt[ime] cmdname cnf com con[tinue] cq[uit] cw[indow] delc[ommand] diffg[et] diffpu[t] dig[raphs] dr[op] earlier el[se] endfo[r] ene[w] filename fin[d] folddoc[losed] fu[nction] gui helpg[rep] ia in j[oin] kee[pmarks] laddf[ile] lb[uffer] le[ft] lgetb[uffer] l[ist] lN lNf lo[adview] lpf[ile] luado mak[e] menut[ranslate] mks[ession] mod[e] n new noautocmd on[ly] pc[lose] popu p[rint] promptr[epl] ptn pts[elect] py[thon] quote redi[r] res[ize] ru rv[iminfo] sbf[irst] sbr[ewind] scscope sfir[st] sim[alt] sme snoreme spe spellw[rong] star stj[ump] sunme sy t tabe[dit] tabN tabp[revious] tc[l] th[row] tn to[pleft] ts[elect] una[bbreviate] unl ve vie[w] vmapc[lear] wh[ile] win[size] wqa[ll] x xmenu xterm
|
||||
syn keyword vimCommand contained ab argd[elete] argu[ment] bd[elete] bN[ext] breakd[el] buf c cal[l] ce[nter] cg[etfile] cl cn cNf comc[lear] cope[n] cr[ewind] d d[elete] diffo diffsplit di[splay] ds[earch] ec elsei[f] endfun ex files fini[sh] foldd[oopen] g gvim helpt[ags] iabc[lear] index ju[mps] l lan lc[d] lefta[bove] lgete[xpr] ll lne lnf[ile] locale lp[revious] luafile Man mes mksp[ell] m[ove] N n[ext] noh[lsearch] o[pen] pe popu[p] P[rint] ps[earch] ptN pu[t] python3 r red[o] ret[ab] rub[y] sal[l] sbl[ast] sb[uffer] se[t] sh[ell] sl smenu snoremenu spelld[ump] sp[lit] start st[op] sunmenu syn ta tabf[ind] tabnew tabr[ewind] tcld[o] tj[ump] tN tp[revious] tu u[ndo] unlo[ckvar] verb[ose] vim[grep] vne[w] win wn[ext] w[rite] xa[ll] XMLent xunme
|
||||
syn keyword vimCommand contained abc[lear] argdo as[cii] bel[owright] bo[tright] breakl[ist] bufdo cabc[lear] cat[ch] cex[pr] c[hange] cla[st] cN cnf[ile] comment co[py] cs de delf diffoff difft dj[ump] dsp[lit] echoe[rr] em[enu] endf[unction] exi[t] filet fir[st] foldo[pen] get h hi if intro k la lan[guage] lch[dir] let@ lg[etfile] lla[st] lnew[er] lNf[ile] loc[kmarks] lr[ewind] lv[imgrep] ma[rk] messages mkv mv nbc[lose] N[ext] nu[mber] opt[ions] ped[it] pp[op] pro pta[g] ptn[ext] pw[d] q re redr[aw] retu[rn] rubyd[o] san[dbox] sbm[odified] scrip setf[iletype] si sla[st] sn[ext] s@\n@\=\r" spe[llgood] spr[evious] startg[replace] stopi[nsert] sus[pend] sync tab tabfir[st] tabn[ext] tabs tclf[ile] tl[ast] tn[ext] tr tu[nmenu] undoj[oin] uns[ilent] ve[rsion] vimgrepa[dd] vs[plit] winc[md] wN[ext] ws[verb] x[it] XMLns xunmenu
|
||||
syn keyword vimCommand contained abo[veleft] arge[dit] au bf[irst] bp[revious] br[ewind] b[uffer] cad cb[uffer] cf[ile] changes cl[ist] cnew[er] cNf[ile] comp[iler] count cscope debug delf[unction] DiffOrig diffthis dl[ist] dwim echom[sg] emenu* en[dif] exu[sage] filetype fix[del] for go[to] ha[rdcopy] hid[e] ij[ump] is[earch] keepa lad la[st] lcl[ose] lex[pr] lgr[ep] lli[st] lne[xt] lo lockv[ar] ls lvimgrepa[dd] marks mk mkvie[w] mz nb[key] nkf o ownsyntax pe[rl] pr profd[el] ptf[irst] ptN[ext] py qa[ll] r[ead] redraws[tatus] rew[ind] rubyf[ile] sa[rgument] sbn[ext] scripte[ncoding] setg[lobal] sig sl[eep] sN[ext] so spelli[nfo] sre[wind] star[tinsert] sts[elect] sv[iew] syncbind tabc[lose] tabl[ast] tabN[ext] ta[g] te[aroff] tm tN[ext] tr[ewind] u undol[ist] up[date] vert[ical] vi[sual] w windo wp[revious] wundo xmapc[lear] xnoreme xwininfo
|
||||
syn keyword vimCommand contained al[l] argg[lobal] bad[d] bl[ast] br bro[wse] buffers caddb[uffer] cc cfir[st] chd[ir] clo[se] cn[ext] col[der] con cpf[ile] cstag debugg[reedy] delm[arks] diffp diffu[pdate] do e echon en endt[ry] f fin fo[ld] fu gr[ep] h[elp] his[tory] il[ist] isp[lit] keepalt laddb[uffer] lat lcs lf[ile] lgrepa[dd] lmak[e] lN[ext] loadk lol[der] lt[ag] lw[indow] mat[ch] mkdir mkv[imrc] mzf[ile] nbs[tart] nmapc[lear] ol[dfiles] p perld[o] pre[serve] prof[ile] ptj[ump] ptp[revious] py3 q[uit] rec[over] reg[isters] ri[ght] rundo sav[eas] sbN[ext] scrip[tnames] setl[ocal] sign sm[agic] sni[ff] sor[t] spellr[epall] st startr[eplace] sun[hide] sw[apname] synlist tabd[o] tabm[ove] tabo[nly] tags tf[irst] tm[enu] TOhtml try un unh[ide] v vi viu[sage] wa[ll] winp[os] wq wv[iminfo] xme xnoremenu y[ank]
|
||||
syn keyword vimCommand contained ar argl[ocal] ba[ll] bm[odified] brea[k] browseset bun[load] cad[dexpr] ccl[ose] cgetb[uffer] che[ckpath] cmapc[lear] cN[ext] colo[rscheme] conf[irm] cp[revious] cuna[bbrev] del di diffpatch dig doau ea e[dit] endf endw[hile] f[ile] fina[lly] foldc[lose] fun grepa[dd] helpf[ind] i imapc[lear] iuna[bbrev] keepj[umps] lad[dexpr] later lcscope lfir[st] lh[elpgrep] lmapc[lear] lnf loadkeymap lop[en] lua ma menut mk[exrc] mo mz[scheme] ne noa omapc[lear] P po[p] prev[ious] promptf[ind] ptl[ast] ptr[ewind] pyf[ile] quita[ll] red Ren rightb[elow] ru[ntime] sba[ll] sbp[revious] scs sf[ind] sil[ent] sm[ap] sno[magic] so[urce] spellu[ndo] sta[g]
|
||||
syn match vimCommand contained "\<z[-+^.=]\="
|
||||
|
||||
" vimOptions are caught only when contained in a vimSet {{{2
|
||||
syn keyword vimOption contained acd ambiwidth arabicshape autowriteall backupdir bdlay binary breakat bufhidden cd ci cinw co commentstring confirm cpoptions cscoperelative csre cursorcolumn delcombine diffopt ea efm ep et fdc fdo ffs fk foldcolumn foldmethod formatoptions gd go guifont guitabtooltip hid hkp iconstring imd include inex isi js kp linebreak lm lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa path pheader previewheight printmbcharset pvw remap rl ruf sc scrollopt selectmode shellpipe shiftround showfulltag sidescrolloff smarttab sp spf srr startofline suffixes switchbuf tabline tags tbs textmode timeout tl tpm ttimeoutlen ttymouse udf undoreload vbs vi vop wcm whichwrap wildignore winaltkeys winminwidth wmnu write
|
||||
syn keyword vimOption contained ai ambw ari aw backupext beval biosk brk buflisted cdpath cin cinwords cocu compatible consk cpt cscopetag cst cursorline dex digraph ead ei equalalways eventignore fde fdt fileencoding fkmap foldenable foldminlines formatprg gdefault gp guifontset helpfile hidden hl ignorecase imdisable includeexpr inf isident key langmap lines lmap ma matchtime mco ml modeline mousefocus mousetime nrformats ofu para pdev pi previewwindow printmbfont qe report rlc ruler scb scs sessionoptions shellquote shiftwidth showmatch siso smc spc spl ss statusline suffixesadd sws tabpagemax tagstack tenc textwidth timeoutlen tm tr ttm ttyscroll udir updatecount vdir viewdir wa wd wi wildignorecase window winwidth wmw writeany
|
||||
syn keyword vimOption contained akm anti arshape awa backupskip bex bioskey browsedir buftype cedit cindent clipboard cole complete conskey crb cscopetagorder csto cwh dg dip eadirection ek equalprg ex fdi fen fileencodings flp foldexpr foldnestmax fp gfm grepformat guifontwide helpheight highlight hlg im imi incsearch infercase isk keymap langmenu linespace loadplugins macatsui maxcombine mef mls modelines mousehide mp nu omnifunc paragraphs penc pm printdevice printoptions quoteescape restorescreen rnu rulerformat scr sect sft shellredir shm showmode sj smd spell splitbelow ssl stl sw sxq tabstop tal term tf title to ts tty ttytype ul updatetime ve viewoptions wak weirdinvert wic wildmenu winfixheight wiv wop writebackup
|
||||
syn keyword vimOption contained al antialias autochdir background balloondelay bexpr bk bs casemap cf cink cmdheight colorcolumn completefunc copyindent cryptmethod cscopeverbose csverb debug dict dir eb enc errorbells expandtab fdl fenc fileformat fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatekey iminsert inde insertmode iskeyword keymodel laststatus lisp lpl magic maxfuncdepth menuitems mm modifiable mousem mps number opendevice paste pex pmbcs printencoding prompt rdt revins ro runtimepath scroll sections sh shellslash shortmess showtabline slm sn spellcapcheck splitright ssop stmp swapfile syn tag tb termbidi tgst titlelen toolbar tsl ttybuiltin tw undodir ur verbose viminfo warn wfh wig wildmode winfixwidth wiw wrap writedelay
|
||||
syn keyword vimOption contained aleph ar autoindent backspace ballooneval bg bkc bsdir cb cfu cinkeys cmdwinheight columns completeopt cot cscopepathcomp cspc cuc deco dictionary directory ed encoding errorfile exrc fdls fencs fileformats fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imak ims indentexpr is isp keywordprg lazyredraw lispwords ls makeef maxmapdepth mfd mmd modified mousemodel msm numberwidth operatorfunc pastetoggle pexpr pmbfn printexpr pt readonly ri rs sb scrollbind secure shcf shelltemp shortname shq sm so spellfile spr st sts swapsync synmaxcol tagbsearch tbi termencoding thesaurus titleold toolbariconsize tsr ttyfast tx undofile ut verbosefile virtualedit wb wfw wildchar wildoptions winheight wm wrapmargin ws
|
||||
syn keyword vimOption contained allowrevins arab autoread backup balloonexpr bh bl bsk cc ch cino cmp com concealcursor cp cscopeprg csprg cul def diff display edcompatible endofline errorformat fcl fdm fex filetype fo foldlevelstart formatexpr ft gfw gtt guipty hh hkmap ic imc imsearch indentkeys isf isprint km lbr list lsp makeprg maxmem mh mmp more mouses mzq nuw opfunc patchexpr pfn popt printfont pumheight redrawtime rightleft rtp sbo scrolljump sel shell shelltype showbreak si smartcase softtabstop spelllang sps sta su swb syntax taglength tbidi terse tildeop titlestring top ttimeout ttym uc undolevels vb vfile visualbell wc wh wildcharm wim winminheight wmh wrapscan ww
|
||||
syn keyword vimOption contained altkeymap arabic autowrite backupcopy bdir bin bomb bt ccv charconvert cinoptions cms comments conceallevel cpo cscopequickfix csqf cursorbind define diffexpr dy ef eol esckeys fcs fdn ff fillchars foldclose foldmarker formatlistpat gcr ghr guicursor guitablabel hi hkmapp icon imcmdline inc indk isfname joinspaces kmp lcs listchars lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchmode ph preserveindent printheader pvh relativenumber rightleftcmd ru sbr scrolloff selection shellcmdflag shellxquote showcmd sidescroll smartindent sol spellsuggest sr stal sua swf ta tagrelative tbis textauto
|
||||
syn keyword vimOption contained acd ambiwidth arabicshape autowriteall backupdir bdlay binary breakat bufhidden cd ci cinw co commentstring confirm cpoptions cscoperelative csre cursorcolumn delcombine diffopt ea efm ep et fdc fdo ffs fk foldcolumn foldmethod formatoptions gd go guifont guitabtooltip hid hkp iconstring imd include inex isi js kp linebreak lm lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa path pheader previewheight printmbcharset pvw remap rl ruf sc scrollopt selectmode shellpipe shellxquote showcmd sidescroll smartindent sol spellsuggest sr stal sua swf syntax taglength tbidi terse tildeop tl tpm ttimeoutlen ttymouse udf undoreload vbs vi vop wcm whichwrap wildignore winaltkeys winminwidth wmnu write
|
||||
syn keyword vimOption contained ai ambw ari aw backupext beval biosk brk buflisted cdpath cin cinwords cocu compatible consk cpt cscopetag cst cursorline dex digraph ead ei equalalways eventignore fde fdt fileencoding fkmap foldenable foldminlines formatprg gdefault gp guifontset helpfile hidden hl ignorecase imdisable includeexpr inf isident key langmap lines lmap ma matchtime mco ml modeline mousefocus mousetime nrformats ofu para pdev pi previewwindow printmbfont qe report rlc ruler scb scs sessionoptions shellquote shiftround showfulltag sidescrolloff smarttab sp spf srr startofline suffixes switchbuf ta tagrelative tbis textauto timeout tm tr ttm ttyscroll udir updatecount vdir viewdir wa wd wi wildignorecase window winwidth wmw writeany
|
||||
syn keyword vimOption contained akm anti arshape awa backupskip bex bioskey browsedir buftype cedit cindent clipboard cole complete conskey crb cscopetagorder csto cwh dg dip eadirection ek equalprg ex fdi fen fileencodings flp foldexpr foldnestmax fp gfm grepformat guifontwide helpheight highlight hlg im imi incsearch infercase isk keymap langmenu linespace loadplugins macatsui maxcombine mef mls modelines mousehide mp nu omnifunc paragraphs penc pm printdevice printoptions quoteescape restorescreen rnu rulerformat scr sect sft shellredir shiftwidth showmatch siso smc spc spl ss statusline suffixesadd sws tabline tags tbs textmode timeoutlen to ts tty ttytype ul updatetime ve viewoptions wak weirdinvert wic wildmenu winfixheight wiv wop writebackup
|
||||
syn keyword vimOption contained al antialias autochdir background balloondelay bexpr bk bs casemap cf cink cmdheight colorcolumn completefunc copyindent cryptmethod cscopeverbose csverb debug dict dir eb enc errorbells expandtab fdl fenc fileformat fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatekey iminsert inde insertmode iskeyword keymodel laststatus lisp lpl magic maxfuncdepth menuitems mm modifiable mousem mps number opendevice paste pex pmbcs printencoding prompt rdt revins ro runtimepath scroll sections sh shellslash shm showmode sj smd spell splitbelow ssl stl sw sxe tabpagemax tagstack tenc textwidth title toolbar tsl ttybuiltin tw undodir ur verbose viminfo warn wfh wig wildmode winfixwidth wiw wrap writedelay
|
||||
syn keyword vimOption contained aleph ar autoindent backspace ballooneval bg bkc bsdir cb cfu cinkeys cmdwinheight columns completeopt cot cscopepathcomp cspc cuc deco dictionary directory ed encoding errorfile exrc fdls fencs fileformats fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imak ims indentexpr is isp keywordprg lazyredraw lispwords ls makeef maxmapdepth mfd mmd modified mousemodel msm numberwidth operatorfunc pastetoggle pexpr pmbfn printexpr pt readonly ri rs sb scrollbind secure shcf shelltemp shortmess showtabline slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tal term tf titlelen toolbariconsize tsr ttyfast tx undofile ut verbosefile virtualedit wb wfw wildchar wildoptions winheight wm wrapmargin ws
|
||||
syn keyword vimOption contained allowrevins arab autoread backup balloonexpr bh bl bsk cc ch cino cmp com concealcursor cp cscopeprg csprg cul def diff display edcompatible endofline errorformat fcl fdm fex filetype fo foldlevelstart formatexpr ft gfw gtt guipty hh hkmap ic imc imsearch indentkeys isf isprint km lbr list lsp makeprg maxmem mh mmp more mouses mzq nuw opfunc patchexpr pfn popt printfont pumheight redrawtime rightleft rtp sbo scrolljump sel shell shelltype shortname shq sm so spellfile spr st sts swapsync syn tag tb termbidi tgst titleold top ttimeout ttym uc undolevels vb vfile visualbell wc wh wildcharm wim winminheight wmh wrapscan ww
|
||||
syn keyword vimOption contained altkeymap arabic autowrite backupcopy bdir bin bomb bt ccv charconvert cinoptions cms comments conceallevel cpo cscopequickfix csqf cursorbind define diffexpr dy ef eol esckeys fcs fdn ff fillchars foldclose foldmarker formatlistpat gcr ghr guicursor guitablabel hi hkmapp icon imcmdline inc indk isfname joinspaces kmp lcs listchars lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchmode ph preserveindent printheader pvh relativenumber rightleftcmd ru sbr scrolloff selection shellcmdflag shellxescape showbreak si smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tbi termencoding thesaurus titlestring
|
||||
|
||||
" vimOptions: These are the turn-off setting variants {{{2
|
||||
syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobk nobuflisted nocin noconfirm nocopyindent nocscopetag nocsverb nocursorbind nodeco nodiff noeb noek noequalalways noesckeys noex noexrc nofk nofoldenable nogdefault nohid nohk nohkmapp nohls noic noignorecase noimc noimd noincsearch noinfercase nois nojs nolbr nolisp noloadplugins nolz nomacatsui nomh nomod nomodifiable nomore nomousefocus nonu noodev nopaste nopreserveindent noprompt noreadonly noremap norevins norightleft nornu nors noruler nosc noscrollbind nosecure noshellslash noshiftround noshowcmd noshowmatch nosi nosmartcase nosmarttab nosn nospell nosplitright nosr nosta nostmp noswf notagbsearch notagstack notbidi notermbidi notextauto notf notildeop notitle notop nottimeout nottyfast novb nowa nowb nowfh nowildignorecase* * nowinfixheight nowiv nowrap nowrite nowritebackup
|
||||
syn keyword vimOption contained noai noaltkeymap noar noarabicshape noautochdir noautowrite noawa nobeval nobiosk nobl nocf nocindent noconsk nocp nocscopeverbose nocuc nocursorcolumn nodelcombine nodigraph noed noendofline noerrorbells noet noexpandtab nofen nofkmap nogd noguipty nohidden nohkmap nohkp nohlsearch noicon noim noimcmdline noimdisable noinf noinsertmode nojoinspaces nolazyredraw nolinebreak nolist nolpl noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx novisualbell nowarn noweirdinvert nowfw nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows
|
||||
syn keyword vimOption contained noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobioskey nobomb noci nocompatible noconskey nocrb nocst nocul nocursorline nodg noea noedcompatible noeol
|
||||
syn keyword vimOption contained noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobioskey nobomb noci nocompatible noconskey nocrb nocst nocul nocursorline nodg noea noedcompatible noeol
|
||||
|
||||
" vimOptions: These are the invertible variants {{{2
|
||||
syn keyword vimOption contained invacd invallowrevins invantialias invarabic invarshape invautoread invaw invballooneval invbinary invbk invbuflisted invcin invconfirm invcopyindent invcscopetag invcsverb invcursorbind invdeco invdiff inveb invek invequalalways invesckeys invex invexrc invfk invfoldenable invgdefault invhid invhk invhkmapp invhls invic invignorecase invimc invimd invincsearch invinfercase invis invjs invlbr invlisp invloadplugins invlz invmacatsui invmh invmod invmodifiable invmore invmousefocus invnu invodev invpaste invpreserveindent invprompt invreadonly invremap invrevins invrightleft invrnu invrs invruler invsc invscrollbind invsecure invshellslash invshiftround invshowcmd invshowmatch invsi invsmartcase invsmarttab invsn invspell invsplitright invsr invsta invstmp invswf invtagbsearch invtagstack invtbidi invtermbidi invtextauto invtf invtildeop invtitle invtop invttimeout invttyfast invvb invwa invwb invwfh invwildignorecase* * invwinfixheight invwiv invwrap invwrite invwritebackup
|
||||
syn keyword vimOption contained invai invaltkeymap invar invarabicshape invautochdir invautowrite invawa invbeval invbiosk invbl invcf invcindent invconsk invcp invcscopeverbose invcuc invcursorcolumn invdelcombine invdigraph inved invendofline inverrorbells invet invexpandtab invfen invfkmap invgd invguipty invhidden invhkmap invhkp invhlsearch invicon invim invimcmdline invimdisable invinf invinsertmode invjoinspaces invlazyredraw invlinebreak invlist invlpl invma invmagic invml invmodeline invmodified invmousef invmousehide invnumber invopendevice invpi invpreviewwindow invpvw invrelativenumber invrestorescreen invri invrl invro invru invsb invscb invscs invsft invshelltemp invshortname invshowfulltag invshowmode invsm invsmartindent invsmd invsol invsplitbelow invspr invssl invstartofline invswapfile invta invtagrelative invtbi invtbs invterse invtextmode invtgst invtimeout invto invtr invttybuiltin invtx invvisualbell invwarn invweirdinvert invwfw invwildmenu invwinfixwidth invwmnu invwrapscan invwriteany invws
|
||||
syn keyword vimOption contained invakm invanti invarab invari invautoindent invautowriteall invbackup invbin invbioskey invbomb invci invcompatible invconskey invcrb invcst invcul invcursorline invdg invea invedcompatible inveol
|
||||
syn keyword vimOption contained invakm invanti invarab invari invautoindent invautowriteall invbackup invbin invbioskey invbomb invci invcompatible invconskey invcrb invcst invcul invcursorline invdg invea invedcompatible inveol
|
||||
|
||||
" termcap codes (which can also be set) {{{2
|
||||
syn keyword vimOption contained t_AB t_al t_bc t_ce t_cl t_Co t_cs t_Cs t_CS t_CV t_da t_db t_dl t_DL t_EI t_F1 t_F2 t_F3 t_F4 t_F5 t_F6 t_F7 t_F8 t_F9 t_fs t_IE t_IS t_k1 t_K1 t_k2 t_k3 t_K3 t_k4 t_K4 t_k5 t_K5 t_k6 t_K6 t_k7 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_ke t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ks t_ku t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_RI t_RV t_Sb t_se t_Sf t_SI t_so t_sr t_te t_ti t_ts t_ue t_us t_ut t_vb t_ve t_vi t_vs t_WP t_WS t_xs t_ZH t_ZR
|
||||
syn keyword vimOption contained t_AF t_AL t_cd t_Ce t_cm
|
||||
syn keyword vimOption contained t_AF t_AL t_cd t_Ce t_cm
|
||||
syn match vimOption contained "t_%1"
|
||||
syn match vimOption contained "t_#2"
|
||||
syn match vimOption contained "t_#4"
|
||||
@@ -59,26 +58,26 @@ syn match vimOption contained "t_%i"
|
||||
syn match vimOption contained "t_k;"
|
||||
|
||||
" unsupported settings: these are supported by vi but don't do anything in vim {{{2
|
||||
syn keyword vimErrSetting contained hardtabs ht w1200 w300 w9600
|
||||
syn keyword vimErrSetting contained hardtabs ht w1200 w300 w9600
|
||||
|
||||
" AutoCmd Events {{{2
|
||||
syn case ignore
|
||||
syn keyword vimAutoEvent contained BufAdd BufCreate BufDelete BufEnter BufFilePost BufFilePre BufHidden BufLeave BufNew BufNewFile BufRead BufReadCmd BufReadPost BufReadPre BufUnload BufWinEnter BufWinLeave BufWipeout BufWrite BufWriteCmd BufWritePost BufWritePre Cmd-event CmdwinEnter CmdwinLeave ColorScheme CursorHold CursorHoldI CursorMoved CursorMovedI EncodingChanged FileAppendCmd FileAppendPost FileAppendPre FileChangedRO FileChangedShell FileChangedShellPost FileEncoding FileReadCmd FileReadPost FileReadPre FileType FileWriteCmd FileWritePost FileWritePre FilterReadPost FilterReadPre FilterWritePost FilterWritePre FocusGained FocusLost FuncUndefined GUIEnter GUIFailed InsertChange InsertCharPre InsertEnter InsertLeave MenuPopup QuickFixCmdPost QuickFixCmdPre RemoteReply SessionLoadPost ShellCmdPost ShellFilterPost SourceCmd SourcePre SpellFileMissing StdinReadPost StdinReadPre SwapExists Syntax TabEnter TabLeave TermChanged TermResponse User UserGettingBored VimEnter VimLeave VimLeavePre VimResized WinEnter WinLeave
|
||||
syn keyword vimAutoEvent contained BufAdd BufCreate BufDelete BufEnter BufFilePost BufFilePre BufHidden BufLeave BufNew BufNewFile BufRead BufReadCmd BufReadPost BufReadPre BufUnload BufWinEnter BufWinLeave BufWipeout BufWrite BufWriteCmd BufWritePost BufWritePre Cmd-event CmdwinEnter CmdwinLeave ColorScheme CursorHold CursorHoldI CursorMoved CursorMovedI EncodingChanged FileAppendCmd FileAppendPost FileAppendPre FileChangedRO FileChangedShell FileChangedShellPost FileEncoding FileReadCmd FileReadPost FileReadPre FileType FileWriteCmd FileWritePost FileWritePre FilterReadPost FilterReadPre FilterWritePost FilterWritePre FocusGained FocusLost FuncUndefined GUIEnter GUIFailed InsertChange InsertCharPre InsertEnter InsertLeave MenuPopup QuickFixCmdPost QuickFixCmdPre RemoteReply SessionLoadPost ShellCmdPost ShellFilterPost SourceCmd SourcePre SpellFileMissing StdinReadPost StdinReadPre SwapExists Syntax TabEnter TabLeave TermChanged TermResponse User UserGettingBored VimEnter VimLeave VimLeavePre VimResized WinEnter WinLeave
|
||||
|
||||
" Highlight commonly used Groupnames {{{2
|
||||
syn keyword vimGroup contained Comment Constant String Character Number Boolean Float Identifier Function Statement Conditional Repeat Label Operator Keyword Exception PreProc Include Define Macro PreCondit Type StorageClass Structure Typedef Special SpecialChar Tag Delimiter SpecialComment Debug Underlined Ignore Error Todo
|
||||
syn keyword vimGroup contained Comment Constant String Character Number Boolean Float Identifier Function Statement Conditional Repeat Label Operator Keyword Exception PreProc Include Define Macro PreCondit Type StorageClass Structure Typedef Special SpecialChar Tag Delimiter SpecialComment Debug Underlined Ignore Error Todo
|
||||
|
||||
" Default highlighting groups {{{2
|
||||
syn keyword vimHLGroup contained ColorColumn Cursor CursorColumn CursorIM CursorLine DiffAdd DiffChange DiffDelete DiffText Directory ErrorMsg FoldColumn Folded IncSearch LineNr MatchParen Menu ModeMsg MoreMsg NonText Normal Pmenu PmenuSbar PmenuSel PmenuThumb Question Scrollbar Search SignColumn SpecialKey SpellBad SpellCap SpellLocal SpellRare StatusLine StatusLineNC TabLine TabLineFill TabLineSel Title Tooltip VertSplit Visual VisualNOS WarningMsg WildMenu
|
||||
syn keyword vimHLGroup contained ColorColumn Cursor CursorColumn CursorIM CursorLine DiffAdd DiffChange DiffDelete DiffText Directory ErrorMsg FoldColumn Folded IncSearch LineNr MatchParen Menu ModeMsg MoreMsg NonText Normal Pmenu PmenuSbar PmenuSel PmenuThumb Question Scrollbar Search SignColumn SpecialKey SpellBad SpellCap SpellLocal SpellRare StatusLine StatusLineNC TabLine TabLineFill TabLineSel Title Tooltip VertSplit Visual VisualNOS WarningMsg WildMenu
|
||||
syn match vimHLGroup contained "Conceal"
|
||||
syn case match
|
||||
|
||||
" Function Names {{{2
|
||||
syn keyword vimFuncName contained abs append argv atan2 bufexists bufname byte2line ceil cindent complete confirm cosh cursor did_filetype empty eventhandler exp extend filewritable findfile fmod foldclosed foldtext function getbufline getcharmod getcmdtype getfperm getftype getmatches getqflist gettabvar getwinposy globpath haslocaldir histdel hlexists iconv input inputrestore insert items len line localtime map match matchdelete matchstr min mode nextnonblank pathshorten prevnonblank pumvisible readfile reltimestr remote_foreground remote_read remove repeat reverse search searchpair searchpos serverlist setcmdpos setloclist setpos setreg settabwinvar shellescape sin sort spellbadword split str2float strchars strftime string strpart strtrans submatch synconcealed synIDattr synstack tabpagebuflist tabpagewinnr taglist tanh tolower tr type undotree virtcol winbufnr winheight winnr winrestview winwidth
|
||||
syn keyword vimFuncName contained acos argc asin browse buflisted bufnr byteidx changenr clearmatches complete_add copy count deepcopy diff_filler escape executable expand feedkeys filter float2nr fnameescape foldclosedend foldtextresult garbagecollect getbufvar getcmdline getcwd getfsize getline getpid getreg gettabwinvar getwinvar has hasmapto histget hlID indent inputdialog inputsave isdirectory join libcall line2byte log maparg matchadd matchend max mkdir mzeval nr2char pow printf range reltime remote_expr remote_peek remote_send rename resolve round searchdecl searchpairpos server2client setbufvar setline setmatches setqflist settabvar setwinvar simplify sinh soundfold spellsuggest sqrt str2nr strdisplaywidth stridx strlen strridx strwidth substitute synID synIDtrans system tabpagenr tagfiles tan tempname toupper trunc undofile values visualmode wincol winline winrestcmd winsaveview writefile
|
||||
syn keyword vimFuncName contained add argidx atan browsedir bufloaded bufwinnr call char2nr col complete_check cos cscope_connection delete diff_hlID eval exists expr8 filereadable finddir floor fnamemodify foldlevel foreground get getchar getcmdpos getfontname getftime getloclist getpos getregtype getwinposx glob has_key histadd histnr hostname index inputlist inputsecret islocked keys libcallnr lispindent log10 mapcheck matcharg matchlist
|
||||
syn keyword vimFuncName contained abs and argidx atan browsedir bufloaded bufwinnr call char2nr col complete_check cos cscope_connection delete diff_hlID eval exists expr8 filereadable finddir floor fnamemodify foldlevel foreground get getchar getcmdpos getfontname getftime getloclist getpos getregtype getwinposx glob has_key histadd histnr hostname index inputlist inputsecret isdirectory join libcall line2byte log map match matchdelete matchstr mkdir nextnonblank pathshorten printf pyeval reltime remote_foreground remote_read remove repeat reverse search searchpair searchpos serverlist setcmdpos setloclist setpos setreg settabwinvar shellescape simplify sinh soundfold spellsuggest sqrt str2nr strdisplaywidth stridx strlen strridx strwidth substitute synID synIDtrans system tabpagenr tagfiles tan tempname toupper trunc undofile values visualmode wincol winline winrestcmd winsaveview writefile
|
||||
syn keyword vimFuncName contained acos append argv atan2 bufexists bufname byte2line ceil cindent complete confirm cosh cursor did_filetype empty eventhandler exp extend filewritable findfile fmod foldclosed foldtext function getbufline getcharmod getcmdtype getfperm getftype getmatches getqflist gettabvar getwinposy globpath haslocaldir histdel hlexists iconv input inputrestore insert islocked keys libcallnr lispindent log10 maparg matchadd matchend max mode nr2char pow pumvisible range reltimestr remote_peek remote_send rename resolve round searchdecl searchpairpos server2client setbufvar setline setmatches setqflist settabvar setwinvar shiftwidth sin sort spellbadword split str2float strchars strftime string strpart strtrans submatch synconcealed synIDattr synstack tabpagebuflist tabpagewinnr taglist tanh tolower tr type undotree virtcol winbufnr winheight winnr winrestview winwidth xor
|
||||
syn keyword vimFuncName contained add argc asin browse buflisted bufnr byteidx changenr clearmatches complete_add copy count deepcopy diff_filler escape executable expand feedkeys filter float2nr fnameescape foldclosedend foldtextresult garbagecollect getbufvar getcmdline getcwd getfsize getline getpid getreg gettabwinvar getwinvar has hasmapto histget hlID indent inputdialog inputsave invert items len line localtime luaeval mapcheck matcharg matchlist min mzeval or prevnonblank py3eval readfile remote_expr
|
||||
|
||||
"--- syntax above generated by mkvimvim ---
|
||||
"--- syntax here and above generated by mkvimvim ---
|
||||
" Special Vim Highlighting (not automatic) {{{1
|
||||
|
||||
" commands not picked up by the generator (due to non-standard format)
|
||||
@@ -97,17 +96,17 @@ endif
|
||||
|
||||
" Numbers {{{2
|
||||
" =======
|
||||
syn match vimNumber "\<\d\+\([lL]\|\.\d\+\)\="
|
||||
syn match vimNumber "-\d\+\([lL]\|\.\d\+\)\="
|
||||
syn match vimNumber "\<\d\+\([lL]\|\.\d\+\)\=" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand
|
||||
syn match vimNumber "-\d\+\([lL]\|\.\d\+\)\=" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand
|
||||
syn match vimNumber "\<0[xX]\x\+"
|
||||
syn match vimNumber "#\x\{6}"
|
||||
|
||||
" All vimCommands are contained by vimIsCommands. {{{2
|
||||
syn match vimCmdSep "[:|]\+" skipwhite nextgroup=vimAddress,vimAutoCmd,vimCommand,vimExtCmd,vimFilter,vimLet,vimMap,vimMark,vimSet,vimSyntax,vimUserCmd
|
||||
syn match vimIsCommand "\<\h\w*\>" contains=vimCommand
|
||||
syn match vimVar "\<[bwglsav]:\K\k*\>"
|
||||
syn match vimVar contained "\<\K\k*\>"
|
||||
syn match vimFBVar contained "\<[bwglsav]:\K\k*\>"
|
||||
syn match vimVar contained "\<\h\w*\>"
|
||||
syn match vimVar "\<[bwglsav]:\h\w*\>"
|
||||
syn match vimFBVar contained "\<[bwglsav]:\h\w*\>"
|
||||
syn keyword vimCommand contained in
|
||||
|
||||
" Insertions And Appends: insert append {{{2
|
||||
@@ -137,9 +136,9 @@ syn keyword vimFTOption contained detect indent off on plugin
|
||||
" ======= : Trade-off: Increasing synclines with slower editing vs augroup END error checking.
|
||||
syn cluster vimAugroupList contains=vimIsCommand,vimCommand,vimUserCmd,vimExecute,vimNotFunc,vimFuncName,vimFunction,vimFunctionError,vimLineComment,vimSpecFile,vimOper,vimNumber,vimOperParen,vimComment,vimString,vimSubst,vimMark,vimRegister,vimAddress,vimFilter,vimCmplxRepeat,vimComment,vimLet,vimSet,vimAutoCmd,vimRegion,vimSynLine,vimNotation,vimCtrlChar,vimFuncVar,vimContinue
|
||||
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'a'
|
||||
syn region vimAugroup fold start="\<aug\%[roup]\>\s\+\K\k*" end="\<aug\%[roup]\>\s\+[eE][nN][dD]\>" contains=vimAugroupKey,vimAutoCmd,@vimAugroupList keepend
|
||||
syn region vimAugroup fold start="\<aug\%[roup]\>\s\+\h\w*" end="\<aug\%[roup]\>\s\+[eE][nN][dD]\>" contains=vimAugroupKey,vimAutoCmd,@vimAugroupList keepend
|
||||
else
|
||||
syn region vimAugroup start="\<aug\%[roup]\>\s\+\K\k*" end="\<aug\%[roup]\>\s\+[eE][nN][dD]\>" contains=vimAugroupKey,vimAutoCmd,@vimAugroupList keepend
|
||||
syn region vimAugroup start="\<aug\%[roup]\>\s\+\h\w*" end="\<aug\%[roup]\>\s\+[eE][nN][dD]\>" contains=vimAugroupKey,vimAutoCmd,@vimAugroupList keepend
|
||||
endif
|
||||
syn match vimAugroup "aug\%[roup]!" contains=vimAugroupKey
|
||||
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_noaugrouperror")
|
||||
@@ -150,7 +149,7 @@ syn keyword vimAugroupKey contained aug[roup]
|
||||
" Operators: {{{2
|
||||
" =========
|
||||
" COMBAK: vimOperParen used to have "oneline"
|
||||
syn cluster vimOperGroup contains=vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimRegister,vimContinue
|
||||
syn cluster vimOperGroup contains=vimEnvvar,vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimRegister,vimContinue
|
||||
syn match vimOper "\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\)[?#]\{0,2}" skipwhite nextgroup=vimString,vimSpecFile
|
||||
syn match vimOper "||\|&&\|[-+.]" skipwhite nextgroup=vimString,vimSpecFile
|
||||
syn region vimOperParen matchgroup=vimParenSep start="(" end=")" contains=@vimOperGroup
|
||||
@@ -162,7 +161,7 @@ endif
|
||||
" Functions : Tag is provided for those who wish to highlight tagged functions {{{2
|
||||
" =========
|
||||
syn cluster vimFuncList contains=vimCommand,vimFunctionError,vimFuncKey,Tag,vimFuncSID
|
||||
syn cluster vimFuncBodyList contains=vimAbb,vimAddress,vimAugroupKey,vimAutoCmd,vimCmplxRepeat,vimComment,vimComment,vimContinue,vimCtrlChar,vimEcho,vimEchoHL,vimExecute,vimIf,vimIsCommand,vimFBVar,vimFunc,vimFunction,vimFuncVar,vimHighlight,vimIsCommand,vimLet,vimLineComment,vimMap,vimMark,vimNorm,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegion,vimRegister,vimSet,vimSpecFile,vimString,vimSubst,vimSynLine,vimUserCommand
|
||||
syn cluster vimFuncBodyList contains=vimAbb,vimAddress,vimAugroupKey,vimAutoCmd,vimCmplxRepeat,vimComment,vimComment,vimContinue,vimCtrlChar,vimEcho,vimEchoHL,vimExecute,vimIf,vimIsCommand,vimFBVar,vimFunc,vimFunction,vimFuncVar,vimHighlight,vimIsCommand,vimLet,vimLineComment,vimMap,vimMark,vimNorm,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegion,vimRegister,vimSet,vimSpecFile,vimString,vimSubst,vimSynLine,vimUnmap,vimUserCommand
|
||||
syn match vimFunction "\<fu\%[nction]!\=\s\+\%(<[sS][iI][dD]>\|[sSgGbBwWtTlL]:\)\=\%(\i\|[#.]\|{.\{-1,}}\)*\ze\s*(" contains=@vimFuncList nextgroup=vimFuncBody
|
||||
|
||||
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'f'
|
||||
@@ -170,7 +169,7 @@ if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'f'
|
||||
else
|
||||
syn region vimFuncBody contained start="\ze(" matchgroup=vimCommand end="\<\(endf\>\|endfu\%[nction]\>\)" contains=@vimFuncBodyList
|
||||
endif
|
||||
syn match vimFuncVar contained "a:\(\K\k*\|\d\+\)"
|
||||
syn match vimFuncVar contained "a:\(\h\w*\|\d\+\)"
|
||||
syn match vimFuncSID contained "\c<sid>\|\<s:"
|
||||
syn keyword vimFuncKey contained fu[nction]
|
||||
syn match vimFuncBlank contained "\s\+"
|
||||
@@ -246,7 +245,7 @@ syn match vimStringCont contained +\(\\\\\|.\)\{-}[^\\]"+
|
||||
syn cluster vimSubstList contains=vimPatSep,vimPatRegion,vimPatSepErr,vimSubstTwoBS,vimSubstRange,vimNotation
|
||||
syn cluster vimSubstRepList contains=vimSubstSubstr,vimSubstTwoBS,vimNotation
|
||||
syn cluster vimSubstList add=vimCollection
|
||||
syn match vimSubst "\(:\+\s*\|^\s*\||\s*\)\<s\%[ubstitute][:[:alpha:]]\@!" nextgroup=vimSubstPat
|
||||
syn match vimSubst "\(:\+\s*\|^\s*\||\s*\)\<\%(s\%[ubstitute]\|sm\%[agic]\|sno\%[magic]\)[:[:alpha:]]\@!" nextgroup=vimSubstPat
|
||||
syn match vimSubst "s\%[ubstitute][:#[:alpha:]]\@!" nextgroup=vimSubstPat contained
|
||||
syn match vimSubst "/\zss\%[ubstitute]\ze/" nextgroup=vimSubstPat
|
||||
syn match vimSubst1 contained "s\%[ubstitute]\>" nextgroup=vimSubstPat
|
||||
@@ -290,7 +289,7 @@ syn match vimCmplxRepeat '@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\>\)'
|
||||
|
||||
" Set command and associated set-options (vimOptions) with comment {{{2
|
||||
syn region vimSet matchgroup=vimCommand start="\<\%(setl\%[ocal]\|setg\%[lobal]\|se\%[t]\)\>" skip="\%(\\\\\)*\\." end="$" matchgroup=vimNotation end="<[cC][rR]>" keepend oneline contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vimSetString,vimSetMod
|
||||
syn region vimSetEqual contained start="[=:]\|[-+^]=" skip="\\\\\|\\\s" end="[| \t]\|$"me=e-1 contains=vimCtrlChar,vimSetSep,vimNotation oneline
|
||||
syn region vimSetEqual contained start="[=:]\|[-+^]=" skip="\\\\\|\\\s" end="[| \t]\|$"me=e-1 contains=vimCtrlChar,vimSetSep,vimNotation,vimEnvvar oneline
|
||||
syn region vimSetString contained start=+="+hs=s+1 skip=+\\\\\|\\"+ end=+"+ contains=vimCtrlChar
|
||||
syn match vimSetSep contained "[,:]"
|
||||
syn match vimSetMod contained "&vim\=\|[!&?<]\|all&"
|
||||
@@ -349,7 +348,7 @@ syn match vimMenuBang "!" contained skipwhite nextgroup=@vimMenuList
|
||||
" Angle-Bracket Notation (tnx to Michael Geddes) {{{2
|
||||
" ======================
|
||||
syn case ignore
|
||||
syn match vimNotation "\(\\\|<lt>\)\=<\([scamd]-\)\{0,4}x\=\(f\d\{1,2}\|[^ \t:]\|cr\|lf\|linefeed\|return\|k\=del\%[ete]\|bs\|backspace\|tab\|esc\|right\|left\|help\|undo\|insert\|ins\|k\=home\|k\=end\|kplus\|kminus\|kdivide\|kmultiply\|kenter\|space\|k\=\(page\)\=\(\|down\|up\)\)>" contains=vimBracket
|
||||
syn match vimNotation "\(\\\|<lt>\)\=<\([scamd]-\)\{0,4}x\=\(f\d\{1,2}\|[^ \t:]\|cr\|lf\|linefeed\|return\|k\=del\%[ete]\|bs\|backspace\|tab\|esc\|right\|left\|help\|undo\|insert\|ins\|k\=home\|k\=end\|kplus\|kminus\|kdivide\|kmultiply\|kenter\|kpoint\|space\|k\=\(page\)\=\(\|down\|up\|k\d\>\)\)>" contains=vimBracket
|
||||
syn match vimNotation "\(\\\|<lt>\)\=<\([scam2-4]-\)\{0,4}\(right\|left\|middle\)\(mouse\)\=\(drag\|release\)\=>" contains=vimBracket
|
||||
syn match vimNotation "\(\\\|<lt>\)\=<\(bslash\|plug\|sid\|space\|bar\|nop\|nul\|lt\)>" contains=vimBracket
|
||||
syn match vimNotation '\(\\\|<lt>\)\=<C-R>[0-9a-z"%#:.\-=]'he=e-1 contains=vimBracket
|
||||
@@ -408,7 +407,7 @@ syn keyword vimSynType contained clear skipwhite nextgroup=vimGroupList
|
||||
|
||||
" Syntax: cluster {{{2
|
||||
syn keyword vimSynType contained cluster skipwhite nextgroup=vimClusterName
|
||||
syn region vimClusterName contained matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" matchgroup=vimSep end="$\||" contains=vimGroupAdd,vimGroupRem,vimSynContains,vimSynError
|
||||
syn region vimClusterName contained matchgroup=vimGroupName start="\h\w*" skip="\\\\\|\\|" matchgroup=vimSep end="$\||" contains=vimGroupAdd,vimGroupRem,vimSynContains,vimSynError
|
||||
syn match vimGroupAdd contained "add=" nextgroup=vimGroupList
|
||||
syn match vimGroupRem contained "remove=" nextgroup=vimGroupList
|
||||
syn cluster vimFuncBodyList add=vimSynType,vimGroupAdd,vimGroupRem
|
||||
@@ -420,14 +419,14 @@ syn cluster vimFuncBodyList add=vimSynType
|
||||
" Syntax: keyword {{{2
|
||||
syn cluster vimSynKeyGroup contains=vimSynNextgroup,vimSynKeyOpt,vimSynKeyContainedin
|
||||
syn keyword vimSynType contained keyword skipwhite nextgroup=vimSynKeyRegion
|
||||
syn region vimSynKeyRegion contained oneline keepend matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" matchgroup=vimSep end="|\|$" contains=@vimSynKeyGroup
|
||||
syn region vimSynKeyRegion contained oneline keepend matchgroup=vimGroupName start="\h\w*" skip="\\\\\|\\|" matchgroup=vimSep end="|\|$" contains=@vimSynKeyGroup
|
||||
syn match vimSynKeyOpt contained "\<\(conceal\|contained\|transparent\|skipempty\|skipwhite\|skipnl\)\>"
|
||||
syn cluster vimFuncBodyList add=vimSynType
|
||||
|
||||
" Syntax: match {{{2
|
||||
syn cluster vimSynMtchGroup contains=vimMtchComment,vimSynContains,vimSynError,vimSynMtchOpt,vimSynNextgroup,vimSynRegPat,vimNotation
|
||||
syn keyword vimSynType contained match skipwhite nextgroup=vimSynMatchRegion
|
||||
syn region vimSynMatchRegion contained keepend matchgroup=vimGroupName start="\k\+" matchgroup=vimSep end="|\|$" contains=@vimSynMtchGroup
|
||||
syn region vimSynMatchRegion contained keepend matchgroup=vimGroupName start="\h\w*" matchgroup=vimSep end="|\|$" contains=@vimSynMtchGroup
|
||||
syn match vimSynMtchOpt contained "\<\(conceal\|transparent\|contained\|excludenl\|skipempty\|skipwhite\|display\|extend\|skipnl\|fold\)\>"
|
||||
if has("conceal")
|
||||
syn match vimSynMtchOpt contained "\<cchar=" nextgroup=vimSynMtchCchar
|
||||
@@ -442,7 +441,7 @@ syn keyword vimSynType contained enable list manual off on reset
|
||||
syn cluster vimSynRegPatGroup contains=vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange,vimSubstSubstr,vimPatRegion,vimPatSepErr,vimNotation
|
||||
syn cluster vimSynRegGroup contains=vimSynContains,vimSynNextgroup,vimSynRegOpt,vimSynReg,vimSynMtchGrp
|
||||
syn keyword vimSynType contained region skipwhite nextgroup=vimSynRegion
|
||||
syn region vimSynRegion contained keepend matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" end="|\|$" contains=@vimSynRegGroup
|
||||
syn region vimSynRegion contained keepend matchgroup=vimGroupName start="\h\w*" skip="\\\\\|\\|" end="|\|$" contains=@vimSynRegGroup
|
||||
syn match vimSynRegOpt contained "\<\(conceal\(ends\)\=\|transparent\|contained\|excludenl\|skipempty\|skipwhite\|display\|keepend\|oneline\|extend\|skipnl\|fold\)\>"
|
||||
syn match vimSynReg contained "\(start\|skip\|end\)="he=e-1 nextgroup=vimSynRegPat
|
||||
syn match vimSynMtchGrp contained "matchgroup=" nextgroup=vimGroup,vimHLGroup
|
||||
@@ -468,9 +467,9 @@ syn keyword vimSyncRegion contained region skipwhite nextgroup=vimSynReg
|
||||
syn match vimSyncLinebreak contained "\<linebreaks=" skipwhite nextgroup=vimNumber
|
||||
syn keyword vimSyncLinecont contained linecont skipwhite nextgroup=vimSynRegPat
|
||||
syn match vimSyncLines contained "\(min\|max\)\=lines=" nextgroup=vimNumber
|
||||
syn match vimSyncGroupName contained "\k\+" skipwhite nextgroup=vimSyncKey
|
||||
syn match vimSyncGroupName contained "\h\w*" skipwhite nextgroup=vimSyncKey
|
||||
syn match vimSyncKey contained "\<groupthere\|grouphere\>" skipwhite nextgroup=vimSyncGroup
|
||||
syn match vimSyncGroup contained "\k\+" skipwhite nextgroup=vimSynRegPat,vimSyncNone
|
||||
syn match vimSyncGroup contained "\h\w*" skipwhite nextgroup=vimSynRegPat,vimSyncNone
|
||||
syn keyword vimSyncNone contained NONE
|
||||
|
||||
" Additional IsCommand, here by reasons of precedence {{{2
|
||||
@@ -541,8 +540,8 @@ syn match vimCommentTitleLeader '"\s\+'ms=s+1 contained
|
||||
" ====================
|
||||
syn match vimSearch '^\s*[/?].*' contains=vimSearchDelim
|
||||
syn match vimSearchDelim '^\s*\zs[/?]\|[/?]$' contained
|
||||
syn region vimGlobal matchgroup=Statement start='\<g\%[lobal]!\=/' skip='\\.' end='/'
|
||||
syn region vimGlobal matchgroup=Statement start='\<v\%[global]!\=/' skip='\\.' end='/'
|
||||
syn region vimGlobal matchgroup=Statement start='\<g\%[lobal]!\=/' skip='\\.' end='/' skipwhite nextgroup=vimSubst
|
||||
syn region vimGlobal matchgroup=Statement start='\<v\%[global]!\=/' skip='\\.' end='/' skipwhite nextgroup=vimSubst
|
||||
|
||||
" Scripts : perl,ruby : Benoit Cerrina {{{2
|
||||
" ======= python,tcl: Johannes Zellner
|
||||
@@ -753,9 +752,6 @@ syn sync match vimAugroupSyncA groupthere NONE "\<aug\%[roup]\>\s\+[eE][nN][dD]"
|
||||
" Highlighting Settings {{{2
|
||||
" ====================
|
||||
|
||||
hi def link vimAuHighlight vimHighlight
|
||||
hi def link vimSubst1 vimSubst
|
||||
hi def link vimBehaveModel vimBehave
|
||||
|
||||
if !exists("g:vimsyn_noerror")
|
||||
hi def link vimBehaveError vimError
|
||||
@@ -778,22 +774,43 @@ endif
|
||||
hi def link vimAbb vimCommand
|
||||
hi def link vimAddress vimMark
|
||||
hi def link vimAugroupKey vimCommand
|
||||
hi def link vimAuHighlight vimHighlight
|
||||
hi def link vimAutoCmdOpt vimOption
|
||||
hi def link vimAutoCmd vimCommand
|
||||
hi def link vimAutoEvent Type
|
||||
hi def link vimAutoSet vimCommand
|
||||
hi def link vimBehaveModel vimBehave
|
||||
hi def link vimBehave vimCommand
|
||||
hi def link vimBracket Delimiter
|
||||
hi def link vimCmplxRepeat SpecialChar
|
||||
hi def link vimCommand Statement
|
||||
hi def link vimComment Comment
|
||||
hi def link vimCommentString vimString
|
||||
hi def link vimCommentTitle PreProc
|
||||
hi def link vimCondHL vimCommand
|
||||
hi def link vimContinue Special
|
||||
hi def link vimCtrlChar SpecialChar
|
||||
hi def link vimEchoHLNone vimGroup
|
||||
hi def link vimEchoHL vimCommand
|
||||
hi def link vimElseIfErr Error
|
||||
hi def link vimElseif vimCondHL
|
||||
hi def link vimEnvvar PreProc
|
||||
hi def link vimError Error
|
||||
hi def link vimFBVar vimVar
|
||||
hi def link vimFgBgAttrib vimHiAttrib
|
||||
hi def link vimFold Folded
|
||||
hi def link vimFTCmd vimCommand
|
||||
hi def link vimFTOption vimSynType
|
||||
hi def link vimFuncKey vimCommand
|
||||
hi def link vimFuncName Function
|
||||
hi def link vimFuncSID Special
|
||||
hi def link vimFuncVar Identifier
|
||||
hi def link vimGroupAdd vimSynOption
|
||||
hi def link vimGroupName vimGroup
|
||||
hi def link vimGroupRem vimSynOption
|
||||
hi def link vimGroupSpecial Special
|
||||
hi def link vimGroup Type
|
||||
hi def link vimHiAttrib PreProc
|
||||
hi def link vimHiClear vimHighlight
|
||||
hi def link vimHiCtermFgBg vimHiTerm
|
||||
hi def link vimHiCTerm vimHiTerm
|
||||
@@ -803,115 +820,97 @@ hi def link vimHiGuiFgBg vimHiTerm
|
||||
hi def link vimHiGuiFont vimHiTerm
|
||||
hi def link vimHiGuiRgb vimNumber
|
||||
hi def link vimHiGui vimHiTerm
|
||||
hi def link vimHiNmbr Number
|
||||
hi def link vimHiStartStop vimHiTerm
|
||||
hi def link vimHiTerm Type
|
||||
hi def link vimHLGroup vimGroup
|
||||
hi def link vimHLMod PreProc
|
||||
hi def link vimInsert vimString
|
||||
hi def link vimKeyCode vimSpecFile
|
||||
hi def link vimKeyword Statement
|
||||
hi def link vimLet vimCommand
|
||||
hi def link vimLineComment vimComment
|
||||
hi def link vimMapBang vimCommand
|
||||
hi def link vimMapModKey vimFuncSID
|
||||
hi def link vimMapMod vimBracket
|
||||
hi def link vimMap vimCommand
|
||||
hi def link vimMark Number
|
||||
hi def link vimMarkNumber vimNumber
|
||||
hi def link vimMenuMod vimMapMod
|
||||
hi def link vimMenuNameMore vimMenuName
|
||||
hi def link vimMenuName PreProc
|
||||
hi def link vimMtchComment vimComment
|
||||
hi def link vimNorm vimCommand
|
||||
hi def link vimNotation Special
|
||||
hi def link vimNotFunc vimCommand
|
||||
hi def link vimNotPatSep vimString
|
||||
hi def link vimNumber Number
|
||||
hi def link vimOperError Error
|
||||
hi def link vimOper Operator
|
||||
hi def link vimOption PreProc
|
||||
hi def link vimParenSep Delimiter
|
||||
hi def link vimPatSepErr vimPatSep
|
||||
hi def link vimPatSepR vimPatSep
|
||||
hi def link vimPatSep SpecialChar
|
||||
hi def link vimPatSepZone vimString
|
||||
hi def link vimPatSepZ vimPatSep
|
||||
hi def link vimPattern Type
|
||||
hi def link vimPlainMark vimMark
|
||||
hi def link vimPlainRegister vimRegister
|
||||
hi def link vimRegister SpecialChar
|
||||
hi def link vimScriptDelim Comment
|
||||
hi def link vimSearchDelim Statement
|
||||
hi def link vimSearch vimString
|
||||
hi def link vimSep Delimiter
|
||||
hi def link vimSetMod vimOption
|
||||
hi def link vimSetSep Statement
|
||||
hi def link vimSetString vimString
|
||||
hi def link vimSpecFile Identifier
|
||||
hi def link vimSpecFileMod vimSpecFile
|
||||
hi def link vimSpecial Type
|
||||
hi def link vimStatement Statement
|
||||
hi def link vimStringCont vimString
|
||||
hi def link vimString String
|
||||
hi def link vimSubst1 vimSubst
|
||||
hi def link vimSubstDelim Delimiter
|
||||
hi def link vimSubstFlags Special
|
||||
hi def link vimSubstSubstr SpecialChar
|
||||
hi def link vimSubstTwoBS vimString
|
||||
hi def link vimSubst vimCommand
|
||||
hi def link vimSynCaseError Error
|
||||
hi def link vimSynCase Type
|
||||
hi def link vimSyncC Type
|
||||
hi def link vimSyncError Error
|
||||
hi def link vimSyncGroupName vimGroupName
|
||||
hi def link vimSyncGroup vimGroupName
|
||||
hi def link vimSyncKey Type
|
||||
hi def link vimSyncNone Type
|
||||
hi def link vimSynContains vimSynOption
|
||||
hi def link vimSynError Error
|
||||
hi def link vimSynKeyContainedin vimSynContains
|
||||
hi def link vimSynKeyOpt vimSynOption
|
||||
hi def link vimSynMtchGrp vimSynOption
|
||||
hi def link vimSynMtchOpt vimSynOption
|
||||
hi def link vimSynNextgroup vimSynOption
|
||||
hi def link vimSynNotPatRange vimSynRegPat
|
||||
hi def link vimSynOption Special
|
||||
hi def link vimSynPatRange vimString
|
||||
hi def link vimSynRegOpt vimSynOption
|
||||
hi def link vimSynRegPat vimString
|
||||
hi def link vimSynReg Type
|
||||
hi def link vimSyntax vimCommand
|
||||
hi def link vimSynType vimSpecial
|
||||
hi def link vimTodo Todo
|
||||
hi def link vimUnmap vimMap
|
||||
hi def link vimUserAttrbCmpltFunc Special
|
||||
hi def link vimUserAttrbCmplt vimSpecial
|
||||
hi def link vimUserAttrbKey vimOption
|
||||
hi def link vimUserAttrb vimSpecial
|
||||
hi def link vimUserCommand vimCommand
|
||||
|
||||
hi def link vimAutoEvent Type
|
||||
hi def link vimBracket Delimiter
|
||||
hi def link vimCmplxRepeat SpecialChar
|
||||
hi def link vimCommand Statement
|
||||
hi def link vimComment Comment
|
||||
hi def link vimCommentTitle PreProc
|
||||
hi def link vimContinue Special
|
||||
hi def link vimCtrlChar SpecialChar
|
||||
hi def link vimElseIfErr Error
|
||||
hi def link vimEnvvar PreProc
|
||||
hi def link vimError Error
|
||||
hi def link vimFold Folded
|
||||
hi def link vimFuncName Function
|
||||
hi def link vimFuncSID Special
|
||||
hi def link vimFuncVar Identifier
|
||||
hi def link vimGroupSpecial Special
|
||||
hi def link vimGroup Type
|
||||
hi def link vimHiAttrib PreProc
|
||||
hi def link vimHiTerm Type
|
||||
hi def link vimHLMod PreProc
|
||||
hi def link vimKeyword Statement
|
||||
hi def link vimMark Number
|
||||
hi def link vimMenuName PreProc
|
||||
hi def link vimNotation Special
|
||||
hi def link vimNumber Number
|
||||
hi def link vimOperError Error
|
||||
hi def link vimOper Operator
|
||||
hi def link vimOption PreProc
|
||||
hi def link vimParenSep Delimiter
|
||||
hi def link vimPatSep SpecialChar
|
||||
hi def link vimPattern Type
|
||||
hi def link vimRegister SpecialChar
|
||||
hi def link vimScriptDelim Comment
|
||||
hi def link vimSearchDelim Statement
|
||||
hi def link vimSep Delimiter
|
||||
hi def link vimSetSep Statement
|
||||
hi def link vimSpecFile Identifier
|
||||
hi def link vimSpecial Type
|
||||
hi def link vimStatement Statement
|
||||
hi def link vimString String
|
||||
hi def link vimSubstDelim Delimiter
|
||||
hi def link vimSubstFlags Special
|
||||
hi def link vimSubstSubstr SpecialChar
|
||||
hi def link vimSynCaseError Error
|
||||
hi def link vimSynCase Type
|
||||
hi def link vimSyncC Type
|
||||
hi def link vimSyncError Error
|
||||
hi def link vimSyncKey Type
|
||||
hi def link vimSyncNone Type
|
||||
hi def link vimSynError Error
|
||||
hi def link vimSynOption Special
|
||||
hi def link vimSynReg Type
|
||||
hi def link vimTodo Todo
|
||||
hi def link vimUserAttrbCmpltFunc Special
|
||||
hi def link vimUserCmdError Error
|
||||
hi def link vimUserCommand vimCommand
|
||||
hi def link vimUserFunc Normal
|
||||
hi def link vimVar Identifier
|
||||
hi def link vimWarn WarningMsg
|
||||
hi def link vimHiNmbr Number
|
||||
|
||||
" Current Syntax Variable: {{{2
|
||||
let b:current_syntax = "vim"
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
|
||||
3. <20><><EFBFBD>ؤΥ<D8A4><CEA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥäơ<C3A4><C6A1><EFBFBD><EFBFBD>å<EFBFBD><C3A5><EFBFBD>1.2 <20>˰<EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
Note: <20><><EFBFBD><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>Ƥ<EFBFBD><C6A4>뤫Ƚ<EBA4AB><C8BD><EFBFBD>ʤ<EFBFBD><CAA4>ʤä<CAA4><C3A4>顢<ESC><3E><EFBFBD><F2B2A1A4>ƥΡ<C6A5><CEA1>ޥ<EFBFBD><DEA5>⡼<EFBFBD>ɤˤ<C9A4>
|
||||
NOTE: <20><><EFBFBD><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>Ƥ<EFBFBD><C6A4>뤫Ƚ<EBA4AB><C8BD><EFBFBD>ʤ<EFBFBD><CAA4>ʤä<CAA4><C3A4>顢<ESC><3E><EFBFBD><F2B2A1A4>ƥΡ<C6A5><CEA1>ޥ<EFBFBD><DEA5>⡼<EFBFBD>ɤˤ<C9A4>
|
||||
<20>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>줫<EFBFBD><ECA4AB><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><CFA4>褦<EFBFBD>Ȥ<EFBFBD><C8A4>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><CFA4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
Note: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>륭<EFBFBD><EBA5AD><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD>ư<EFBFBD>Ǥ<EFBFBD><C7A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> hjkl <20>˰<EFBFBD><CBB0>ٴ<EFBFBD><D9B4><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4>С<EFBFBD><D0A1>Ϥ뤫
|
||||
NOTE: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>륭<EFBFBD><EBA5AD><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD>ư<EFBFBD>Ǥ<EFBFBD><C7A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> hjkl <20>˰<EFBFBD><CBB0>ٴ<EFBFBD><D9B4><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4>С<EFBFBD><D0A1>Ϥ뤫
|
||||
<20><>®<EFBFBD><C2AE><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD><C8A4>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4>礦<EFBFBD><E7A4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5><EFBFBD>!
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@@ -109,7 +109,7 @@ NOTE:
|
||||
---> <20><><EFBFBD><EFBFBD> <20>ˤ<EFBFBD> <><C2AD><EFBFBD>ʤ<EFBFBD> <20>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>롣
|
||||
---> <20><><EFBFBD><EFBFBD> <20><> <20>ˤ<EFBFBD> <20><><EFBFBD>Ĥ<EFBFBD> <><C2AD><EFBFBD>ʤ<EFBFBD> <20>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>롣
|
||||
|
||||
5. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD><CBA1><EFBFBD>狼<EFBFBD>ä<EFBFBD><C3A4>鲼<EFBFBD>Υ<EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
5. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD><CBA1><EFBFBD>狼<EFBFBD>ä<EFBFBD><C3A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD> 1.5 <20>ؿʤߤޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
|
||||
@@ -126,8 +126,8 @@ NOTE:
|
||||
|
||||
3. <20>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>ɲä<C9B2><C3A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>顢 <ESC> <20><EFBFBD><F2B2A1A4>ƥΡ<C6A5><CEA1>ޥ<EFBFBD><DEA5>⡼<EFBFBD>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
4. 2<><32><EFBFBD>ܤ<EFBFBD> ---> <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>줿<EFBFBD><ECA4BF><EFBFBD><EFBFBD><EFBFBD>ذ<EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥå<C6A5> 2 <20><><EFBFBD><EFBFBD> 3 <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD>ʸˡ<EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
4. 2<><32><EFBFBD>ܤ<EFBFBD> ---> <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>줿<EFBFBD><ECA4BF><EFBFBD><EFBFBD><EFBFBD>ذ<EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥå<C6A5> 2 <20><><EFBFBD><EFBFBD> 3 <20><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD>ʸˡ
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
|
||||
---> <20><><EFBFBD><EFBFBD><EFBFBD>ˤϴְ<CFB4><D6B0>ä<EFBFBD><C3A4>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>ˤϴְ<CFB4><D6B0>ä<EFBFBD><C3A4>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
@@ -145,7 +145,8 @@ NOTE:
|
||||
!! NOTE: <20>ʲ<EFBFBD><CAB2>Υ<EFBFBD><CEA5>ƥåפ<C3A5><D7A4>¹Ԥ<C2B9><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD><CBA1>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>Τ<EFBFBD><CEA4>ɤ<EFBFBD><C9A4>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!
|
||||
|
||||
1. <20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 1.2 <20>Ǥ<EFBFBD><C7A4>ä<EFBFBD><C3A4>褦<EFBFBD><E8A4A6> :q! <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ơ<EFBFBD><C6A1><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5>塼<EFBFBD>ȥꥢ<C8A5><EAA5A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
|
||||
<20><><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
<20><><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤤<EFBFBD>ϡ<EFBFBD><EFBFBD>̤<EFBFBD>ü<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰʲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ԤäƤ⤫<EFBFBD>ޤ<EFBFBD>
|
||||
<20>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
2. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD>ץȤǤ<C8A4><C7A4>Υ<EFBFBD><CEA5>ޥ<EFBFBD><DEA5>ɤ<C9A4><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD>: vim tutor <ENTER>
|
||||
'vim'<27><> Vim <20><><EFBFBD>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>륳<EFBFBD>ޥ<EFBFBD><DEA5>ɡ<EFBFBD>'tutor' <20><><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -155,7 +156,8 @@ NOTE:
|
||||
|
||||
4. <20>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD><C2B8><EFBFBD>ޤ<EFBFBD>: :wq <ENTER>
|
||||
|
||||
5. vimtutor <20><><EFBFBD><EFBFBD><EFBFBD>ٵ<EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؿʤߤޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
5. <20><><EFBFBD>ƥå<C6A5> 1 <20><> vimtutuor <20><><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> vimtutor <20><><EFBFBD><EFBFBD><EFBFBD>ٵ<EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>ؿʤߤޤ<DFA4><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
6. <20>ʾ<EFBFBD><CABE>Υ<EFBFBD><CEA5>ƥåפ<C3A5><D7A4>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F2A4B7A4><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¹Ԥ<C2B9><D4A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
@@ -215,7 +217,7 @@ NOTE: <ESC>
|
||||
|
||||
2. <20>ʲ<EFBFBD><CAB2><EFBFBD> ---> <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>줿<EFBFBD>Ԥ˥<D4A4><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
3. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>إ<EFBFBD><D8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4>礦(<28>ǽ<EFBFBD><C7BD><EFBFBD> . <20>θ<EFBFBD><CEB8>Ǥ<EFBFBD>)<29><>
|
||||
3. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>إ<EFBFBD><D8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4>礦(<28>ǽ<EFBFBD><C7BD><EFBFBD> <EFBFBD><EFBFBD> <20>θ<EFBFBD><CEB8>Ǥ<EFBFBD>)<29><>
|
||||
|
||||
4. <20><><EFBFBD><EFBFBD><EFBFBD>ޤǺ<DEA4><C7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD> d$ <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
@@ -259,13 +261,13 @@ NOTE:
|
||||
|
||||
1. <20>ʲ<EFBFBD><CAB2><EFBFBD> ---> <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>줿<EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD>Ƭ<EFBFBD>˥<EFBFBD><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
2. 2dw <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4><EFBFBD>ñ<EFBFBD><C3B1>2<EFBFBD><32>ʬ<EFBFBD><CAAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
2. 2w <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4><EFBFBD>ñ<EFBFBD><C3B1>2<EFBFBD><32>ʬ<EFBFBD><CAAC><EFBFBD>˰<EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
3. 3e <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4><EFBFBD>3<EFBFBD><33><EFBFBD>ܤ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>ν<EFBFBD>ü<EFBFBD>˰<EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
4. 0 (<28><><EFBFBD><EFBFBD>)<29><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ƹ<EFBFBD>Ƭ<EFBFBD>˰<EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
5. <20><><EFBFBD>ƥå<C6A5> 2 <20><> 3 <20><><EFBFBD>㤦<EFBFBD><E3A4A6><EFBFBD>ͤȻȤäƷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
5. <20><><EFBFBD>ƥå<C6A5> 2 <20><> 3 <20><><EFBFBD>㤦<EFBFBD><E3A4A6><EFBFBD>ͤ<EFBFBD><EFBFBD>ȤäƷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
---> This is just a line with words you can move around in.
|
||||
|
||||
@@ -286,7 +288,7 @@ NOTE:
|
||||
|
||||
1. ---> <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>줿<EFBFBD>Ԥι<D4A4>Ƭ<EFBFBD><C6AC>ʬ<EFBFBD>˥<EFBFBD><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
2. UPPER CASE <20><>ñ<EFBFBD><C3B1>2<EFBFBD>Ĥ<EFBFBD> 2dw <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ƺ<EFBFBD><C6BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
2. UPPER CASE <20><>ñ<EFBFBD><C3B1>2<EFBFBD>Ĥ<EFBFBD> d2w <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ƺ<EFBFBD><C6BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
3. UPPER CASE <20>Ȥ<EFBFBD><C8A4><EFBFBD>Ϣ³<CFA2><C2B3><EFBFBD><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD>ĤΥ<C4A4><CEA5>ޥ<EFBFBD><DEA5>ɤȰۤʤ륫<CAA4><EBA5AB><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD>ꤷ<EFBFBD><EAA4B7>
|
||||
<20><><EFBFBD>ƥå<C6A5> 1 <20><> 2 <20><EFBFBD><F2B7ABA4>֤<EFBFBD><D6A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
@@ -406,7 +408,7 @@ NOTE:
|
||||
---> <20><><EFBFBD>ι<EFBFBD><CEB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><CFA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͡<EFBFBD><CDA1><EFBFBD><EFBFBD>οͤϴ<CDA4><CFB4>Ĥ<EFBFBD><C4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><C3A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F2B2A1A4>⤷<EFBFBD><E2A4B7>!
|
||||
---> <20><><EFBFBD>ιԤ<CEB9><D4A4><EFBFBD><EFBFBD>Ϥ<EFBFBD><CFA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD><CBA1><EFBFBD><EFBFBD>οͤϴ<CDA4><CFB4>Ĥ<EFBFBD><C4A4>ְ<EFBFBD><D6B0>ä<EFBFBD><C3A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F2B2A1A4>ޤ<EFBFBD><DEA4><EFBFBD>!
|
||||
|
||||
5. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 3.2 <20>ؿʤߤޤ<DFA4><DEA4>礦<EFBFBD><E7A4A6>
|
||||
5. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 3.3 <20>ؿʤߤޤ<DFA4><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
NOTE: <20>ºݤ˻<CBBB>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6><EFBFBD>褷<EFBFBD>ƳФ<C6B3><D0A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤϤ<CBA4><CFA4>ʤ<EFBFBD><CAA4><EFBFBD><EFBFBD>ȡ<EFBFBD>
|
||||
|
||||
@@ -428,8 +430,8 @@ NOTE:
|
||||
|
||||
5. <20>ǽ<EFBFBD><C7BD>ιԤ<CEB9><D4A4><EFBFBD><EFBFBD>ιԤ<CEB9><D4A4>ͤˤʤ<CBA4><CAA4>ޤǥ<DEA4><C7A5>ƥå<C6A5> 3 <20><> 4 <20><EFBFBD><F2B7ABA4>֤<EFBFBD><D6A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
---> This lubw has a few wptfd that mrrf changing usf the change command.
|
||||
---> This line has a few words that need changing using the change command.
|
||||
---> This lubw has a few wptfd that mrrf changing usf the change operator.
|
||||
---> This line has a few words that need changing using the change operator.
|
||||
|
||||
cw <20><>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥʤ<C7A4><CAA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>뤳<EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD>դ<EFBFBD><D5A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
@@ -494,7 +496,7 @@ NOTE:
|
||||
<20>˹<EFBFBD><CBB9>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>Ф<EFBFBD><D0A4>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
NOTE: <20><><EFBFBD>̤α<CCA4><CEB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˥<EFBFBD><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΰ<EFBFBD><CEB0>֤<EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>뤫<EFBFBD>⤷<EFBFBD><E2A4B7><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><F3A1A3A4><EFBFBD><EFBFBD><EFBFBD>
|
||||
'ruler' <20><><EFBFBD>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD>6<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD>ꤹ<EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
'ruler' <20><><EFBFBD>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD>(:help 'ruler' <20><EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD>ꤹ<EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
2. <20>Dz<EFBFBD><C7B2>Ԥ˰<D4A4>ư<EFBFBD><C6B0><EFBFBD>뤿<EFBFBD><EBA4BF><EFBFBD><EFBFBD> G <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
<20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD>˰<EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> gg <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
@@ -523,8 +525,8 @@ NOTE:
|
||||
5. <20><><EFBFBD>ξ<EFBFBD><CEBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> CTRL-O (Ctrl <20><EFBFBD>³<EFBFBD><C2B3><EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD> o ʸ<><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><EFBFBD><F2A5BFA5>פ<EFBFBD>
|
||||
<20>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤϤ<CBA4><CFA4><EFBFBD><EFBFBD><EFBFBD><F2B7ABA4>֤<EFBFBD><D6A4>ޤ<EFBFBD><DEA4><EFBFBD>CTRL-I <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD>
|
||||
|
||||
Note: "errroor" <20><> error <20>ȥ<EFBFBD><C8A5>ڥ뤬<DAA5>㤤<EFBFBD>ޤ<EFBFBD>; errroor <20>Ϥ<EFBFBD><CFA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> error <20>Ǥ<EFBFBD><C7A4><EFBFBD>
|
||||
Note: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ν<EFBFBD><CEBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD> 'wrapscan' <20><><EFBFBD><EFBFBD><EFBFBD>ꤵ<EFBFBD><EAA4B5><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD>
|
||||
---> "errroor" <20><> error <20>ȥ<EFBFBD><C8A5>ڥ뤬<DAA5>㤤<EFBFBD>ޤ<EFBFBD>; errroor <20>Ϥ<EFBFBD><CFA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> error <20>Ǥ<EFBFBD><C7A4><EFBFBD>
|
||||
NOTE: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ν<EFBFBD><CEBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD> 'wrapscan' <20><><EFBFBD><EFBFBD><EFBFBD>ꤵ<EFBFBD><EAA4B5><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD><CFA1>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><C6AC><EFBFBD>鸡<EFBFBD><E9B8A1><EFBFBD><EFBFBD>³<EFBFBD>Ԥ<EFBFBD><D4A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@@ -612,10 +614,10 @@ NOTE:
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD>ץȤΤ褦<CEA4>˥ǥ<CBA5><C7A5>쥯<EFBFBD>ȥ<EFBFBD><C8A5>ΰ<EFBFBD><CEB0><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><CFA4>Ǥ<EFBFBD><C7A4><EFBFBD>
|
||||
<20>⤷<EFBFBD><E2A4B7><EFBFBD><EFBFBD> ls <20><>ư<EFBFBD><C6B0><EFBFBD>ʤ<EFBFBD><CAA4>ʤ<EFBFBD><CAA4><EFBFBD> :!dir <20><><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
Note: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>ˤ<EFBFBD><CBA4>äƤ<C3A4><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>륳<EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD><C9A4>¹Ԥ<C2B9><D4A4>뤳<EFBFBD>Ȥ<EFBFBD><C8A4>Ǥ<EFBFBD><C7A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NOTE: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>ˤ<EFBFBD><CBA4>äƤ<C3A4><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>륳<EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD><C9A4>¹Ԥ<C2B9><D4A4>뤳<EFBFBD>Ȥ<EFBFBD><C8A4>Ǥ<EFBFBD><C7A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><>Ϳ<EFBFBD><CDBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
Note: <20><><EFBFBD>Ƥ<EFBFBD> : <20><><EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD> <ENTER> <20><EFBFBD><F2B2A1A4>ƽ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD><EFBFBD>Фʤ<D0A4><CAA4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>
|
||||
NOTE: <20><><EFBFBD>Ƥ<EFBFBD> : <20><><EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD> <ENTER> <20><EFBFBD><F2B2A1A4>ƽ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD><EFBFBD>Фʤ<D0A4><CAA4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20>ʹߤǤϤ<C7A4><CFA4>Τ<EFBFBD><CEA4>Ȥ˸<C8A4><CBB8>ڤ<EFBFBD><DAA4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
@@ -635,7 +637,7 @@ Note:
|
||||
4. <20><><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD> TEST <20>Ȥ<EFBFBD><C8A4><EFBFBD>̾<EFBFBD><CCBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD><C2B8><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
<20>⤦<EFBFBD><E2A4A6><EFBFBD><EFBFBD> :!dir <20>⤷<EFBFBD><E2A4B7><EFBFBD><EFBFBD> :!ls <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>Ƴ<EFBFBD>ǧ<EFBFBD><C7A7><EFBFBD>Ƥߤޤ<DFA4><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
Note: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Vim <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD>̾ TEST <20>ȶ<EFBFBD><C8B6>˵<EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>¸<EFBFBD><C2B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NOTE: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Vim <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD>̾ TEST <20>ȶ<EFBFBD><C8B6>˵<EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>¸<EFBFBD><C2B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD>塼<EFBFBD>ȥꥢ<C8A5><EAA5A2><EFBFBD><EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4>夬<EFBFBD><E5A4AC><EFBFBD>Ϥ<EFBFBD><CFA4>Ǥ<EFBFBD><C7A4><EFBFBD>
|
||||
|
||||
5. <20><><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD><CBA1><EFBFBD><EFBFBD>Τ褦<CEA4>˥<EFBFBD><CBA5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ƥե<C6A5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><C3A4>ޤ<EFBFBD><DEA4>礦(MS-DOS): :!del TEST
|
||||
@@ -656,7 +658,7 @@ Note:
|
||||
3. ʸ<><CAB8> : <20><EFBFBD><F2B2A1A4>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>̤κDz<CEBA><C7B2><EFBFBD><EFBFBD><EFBFBD> :'<,'> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
4. w TEST (TEST <20><>¸<EFBFBD>ߤ<EFBFBD><DFA4>ʤ<EFBFBD><CAA4>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD>̾)<29><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
Enter <20><EFBFBD><F2B2A1A4><EFBFBD><EFBFBD><EFBFBD> :'<,'>w TEST <20>ȤʤäƤ<C3A4><C6A4>뤳<EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD>ǧ<EFBFBD><C7A7><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<ENTER> <20><EFBFBD><F2B2A1A4><EFBFBD><EFBFBD><EFBFBD> :'<,'>w TEST <20>ȤʤäƤ<C3A4><C6A4>뤳<EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD>ǧ<EFBFBD><C7A7><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
5. Vim <20><> TEST <20>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>줿<F2A4B5A4>Ԥ<EFBFBD><D4A4><EFBFBD><F1A4ADB9><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4>礦<EFBFBD><E7A4A6>
|
||||
!dir <20>⤷<EFBFBD><E2A4B7><EFBFBD><EFBFBD> !ls <20>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǧ<EFBFBD><C7A7><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
@@ -747,7 +749,7 @@ NOTE:
|
||||
|
||||
3. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>θ<EFBFBD><CEB8><EFBFBD><EFBFBD>˥ƥ<CBA5><C6A5><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>ɲä<C9B2><C3A4>뤿<EFBFBD><EBA4BF><EFBFBD><EFBFBD> a (<28><>ʸ<EFBFBD><CAB8>) <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
4. <20><><EFBFBD>β<EFBFBD><CEB2>ιԤΤΤ褦<EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⡼<EFBFBD>ɤ<EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>٤<EFBFBD> <ESC> <20>˲<EFBFBD>
|
||||
4. <20><><EFBFBD>β<EFBFBD><CEB2>ιԤΤ褦<CEA4><E8A4A6>ñ<EFBFBD><C3B1><EFBFBD>˴<EFBFBD><CBB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⡼<EFBFBD>ɤ<EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD>٤<EFBFBD> <ESC> <20><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
5. e <20><><EFBFBD>ȤäƼ<C3A4><C6BC><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>ذ<EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥå<C6A5> 3 <20><> 4 <20><EFBFBD><F2B7ABA4>֤<EFBFBD><D6A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
@@ -755,7 +757,7 @@ NOTE:
|
||||
---> This li will allow you to pract appendi text to a line.
|
||||
---> This line will allow you to practice appending text to a line.
|
||||
|
||||
Note: a, i <20><> A <20><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⡼<EFBFBD>ɤذܤ<D8B0><DCA4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۤʤ<DBA4>
|
||||
NOTE: a, i <20><> A <20><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⡼<EFBFBD>ɤذܤ<D8B0><DCA4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۤʤ<DBA4>
|
||||
<20>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@@ -803,7 +805,7 @@ NOTE:
|
||||
---> a) this is the first item.
|
||||
b)
|
||||
|
||||
Note: ñ<><C3B1><EFBFBD><EFBFBD>1<EFBFBD><31> yank <20><><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD> y <20>ڥ졼<DAA5><ECA1BC><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD> yw <20>Ȥ<EFBFBD><C8A4>뤳<EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
NOTE: ñ<><C3B1><EFBFBD><EFBFBD>1<EFBFBD><31> yank <20><><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD> y <20>ڥ졼<DAA5><ECA1BC><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD> yw <20>Ȥ<EFBFBD><C8A4>뤳<EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 6.5: <20><><EFBFBD>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
@@ -824,8 +826,8 @@ NOTE:
|
||||
|
||||
6. <20><>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD>ζ<EFBFBD><CEB6>̤<EFBFBD>̵<EFBFBD><CCB5><EFBFBD>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD>ˤϼ<CBA4><CFBC><EFBFBD><EFBFBD>ͤ<EFBFBD><CDA4><EFBFBD><EFBFBD>Ϥ<EFBFBD><CFA4>ޤ<EFBFBD>: :set noic
|
||||
|
||||
Note: <20>ޥå<DEA5><C3A5>ζ<EFBFBD>Ĵɽ<C4B4><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤϼ<CBA4><CFBC><EFBFBD><EFBFBD>ͤ<EFBFBD><CDA4><EFBFBD><EFBFBD>Ϥ<EFBFBD><CFA4>ޤ<EFBFBD>: :nohlsearch
|
||||
Note: 1<>Ĥθ<C4A4><CEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD>ζ<EFBFBD><CEB6>̤<EFBFBD><CCA4><EFBFBD><EFBFBD><EFBFBD><E1A4BF><EFBFBD>ʤ<EFBFBD><CAA4>С<EFBFBD><D0A1>ե졼<D5A5><ECA1BC><EFBFBD><EFBFBD> \c
|
||||
NOTE: <20>ޥå<DEA5><C3A5>ζ<EFBFBD>Ĵɽ<C4B4><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤϼ<CBA4><CFBC><EFBFBD><EFBFBD>ͤ<EFBFBD><CDA4><EFBFBD><EFBFBD>Ϥ<EFBFBD><CFA4>ޤ<EFBFBD>: :nohlsearch
|
||||
NOTE: 1<>Ĥθ<C4A4><CEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD>ζ<EFBFBD><CEB6>̤<EFBFBD><CCA4><EFBFBD><EFBFBD><EFBFBD><E1A4BF><EFBFBD>ʤ<EFBFBD><CAA4>С<EFBFBD><D0A1>ե졼<D5A5><ECA1BC><EFBFBD><EFBFBD> \c
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4>ޤ<EFBFBD>: /ignore\c <ENTER>
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
<09><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 6 <20><><EFBFBD><EFBFBD>
|
||||
@@ -878,7 +880,7 @@ Note: 1
|
||||
|
||||
** Vim <20><><EFBFBD><EFBFBD>ħ<EFBFBD><C4A7>ȯ<EFBFBD><C8AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD> **
|
||||
|
||||
Vim <20>ˤ<EFBFBD> Vi <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ħ<EFBFBD><C4A7>Ƨ<EFBFBD>ޤ<EFBFBD><DEA4>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΤۤȤ<DBA4><C8A4>ɤϽ<C9A4><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤ˤ<D6A4>
|
||||
Vim <20>ˤ<EFBFBD> Vi <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ħ<EFBFBD><C4A7>Ƨ<EFBFBD>ޤ<EFBFBD><DEA4>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΤۤȤ<EFBFBD><EFBFBD>ɤϽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤ˤ<EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>ԲĤȤʤäƤ<C3A4><C6A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ħ<EFBFBD><C4A7><EFBFBD>Ȥ<EFBFBD><C8A4>Ϥ<EFBFBD><CFA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> "vimrc" <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
|
||||
3. <20><><EFBFBD>ւ̃L<CC83>[<5B><><EFBFBD>g<EFBFBD><67><EFBFBD>āA<C481><41><EFBFBD>b<EFBFBD>X<EFBFBD><58>1.2 <20>Ɉړ<C988><DA93><EFBFBD><EFBFBD>܂<EFBFBD><DC82>傤<EFBFBD>B
|
||||
|
||||
Note: <20><><EFBFBD><EFBFBD><EFBFBD>^<5E>C<EFBFBD>v<EFBFBD><76><EFBFBD>Ă<EFBFBD><C482>邩<EFBFBD><E982A9><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882>Ȃ<EFBFBD><C882><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<ESC><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ăm<C483>[<5B>}<7D><><EFBFBD><EFBFBD><EFBFBD>[<5B>h<EFBFBD>ɂ<EFBFBD>
|
||||
NOTE: <20><><EFBFBD><EFBFBD><EFBFBD>^<5E>C<EFBFBD>v<EFBFBD><76><EFBFBD>Ă<EFBFBD><C482>邩<EFBFBD><E982A9><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882>Ȃ<EFBFBD><C882><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<ESC><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ăm<C483>[<5B>}<7D><><EFBFBD><EFBFBD><EFBFBD>[<5B>h<EFBFBD>ɂ<EFBFBD>
|
||||
<20>܂<EFBFBD><DC82>B<EFBFBD><42><EFBFBD>ꂩ<EFBFBD><EA82A9><EFBFBD><EFBFBD><EFBFBD>͂<EFBFBD><CD82>悤<EFBFBD>Ƃ<EFBFBD><C682>Ă<EFBFBD><C482><EFBFBD><EFBFBD>R<EFBFBD>}<7D><><EFBFBD>h<EFBFBD><68><EFBFBD>ē<EFBFBD><C493>͂<EFBFBD><CD82>܂<EFBFBD><DC82>傤<EFBFBD>B
|
||||
|
||||
Note: <20>J<EFBFBD>[<5B>\<5C><><EFBFBD>L<EFBFBD>[<5B>ł<EFBFBD><C582>ړ<EFBFBD><DA93>ł<EFBFBD><C582>܂<EFBFBD><DC82>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD> hjkl <20>Ɉ<EFBFBD><C988>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482>܂<EFBFBD><DC82>A<CE81>͂邩
|
||||
NOTE: <20>J<EFBFBD>[<5B>\<5C><><EFBFBD>L<EFBFBD>[<5B>ł<EFBFBD><C582>ړ<EFBFBD><DA93>ł<EFBFBD><C582>܂<EFBFBD><DC82>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD> hjkl <20>Ɉ<EFBFBD><C988>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482>܂<EFBFBD><DC82>A<CE81>͂邩
|
||||
<20>ɑ<EFBFBD><C991><EFBFBD><EFBFBD>ړ<EFBFBD><DA93><EFBFBD><EFBFBD>邱<EFBFBD>Ƃ<EFBFBD><C682>ł<EFBFBD><C582><EFBFBD><EFBFBD>ł<EFBFBD><C582>傤<EFBFBD>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD>}<7D>W<EFBFBD><57>!
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@@ -109,7 +109,7 @@ NOTE:
|
||||
---> <20><><EFBFBD><EFBFBD> <20>ɂ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD> <20>e<EFBFBD>L<EFBFBD>X<EFBFBD>g <20><><EFBFBD><EFBFBD><EFBFBD>B
|
||||
---> <20><><EFBFBD><EFBFBD> <20>s <20>ɂ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD> <20>e<EFBFBD>L<EFBFBD>X<EFBFBD>g <20><> <20><><EFBFBD><EFBFBD><EFBFBD>B
|
||||
|
||||
5. <20>}<7D><><EFBFBD>̕<EFBFBD><CC95>@<40><><EFBFBD>킩<EFBFBD><ED82A9><EFBFBD><EFBFBD><EFBFBD>牺<EFBFBD>̃<EFBFBD><EFBFBD>b<EFBFBD>X<EFBFBD><EFBFBD>1<EFBFBD>̗v<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>傤<EFBFBD>B
|
||||
5. <20>}<7D><><EFBFBD>̕<EFBFBD><CC95>@<40><><EFBFBD>킩<EFBFBD><ED82A9><EFBFBD><EFBFBD><EFBFBD>烌<EFBFBD>b<EFBFBD>X<EFBFBD><EFBFBD> 1.5 <20>i<D690>݂܂<EFBFBD><EFBFBD>傤<EFBFBD>B
|
||||
|
||||
|
||||
|
||||
@@ -126,8 +126,8 @@ NOTE:
|
||||
|
||||
3. <20>e<EFBFBD>L<EFBFBD>X<EFBFBD>g<EFBFBD><67><EFBFBD>lj<EFBFBD><C789><EFBFBD><EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A <ESC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ăm<C483>[<5B>}<7D><><EFBFBD><EFBFBD><EFBFBD>[<5B>h<EFBFBD>ɖ߂<C996><DF82>܂<EFBFBD><DC82>傤<EFBFBD>B
|
||||
|
||||
4. 2<>s<EFBFBD>ڂ<EFBFBD> ---> <20>Ǝ<EFBFBD><C68E><EFBFBD><EFBFBD>ꂽ<EFBFBD>ꏊ<EFBFBD>ֈړ<D688><DA93><EFBFBD><EFBFBD>A<EFBFBD>X<EFBFBD>e<EFBFBD>b<EFBFBD>v 2 <20><><EFBFBD><EFBFBD> 3 <20>J<EFBFBD><4A><EFBFBD>Ԃ<EFBFBD><D482>ĕ<EFBFBD><C495>@<EFBFBD><EFBFBD>
|
||||
<20>C<EFBFBD><43><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>傤<EFBFBD>B
|
||||
4. 2<>s<EFBFBD>ڂ<EFBFBD> ---> <20>Ǝ<EFBFBD><C68E><EFBFBD><EFBFBD>ꂽ<EFBFBD>ꏊ<EFBFBD>ֈړ<D688><DA93><EFBFBD><EFBFBD>A<EFBFBD>X<EFBFBD>e<EFBFBD>b<EFBFBD>v 2 <20><><EFBFBD><EFBFBD> 3 <20><EFBFBD><EFBFBD>J<EFBFBD><EFBFBD><EFBFBD>Ԃ<EFBFBD><EFBFBD>ĕ<EFBFBD><EFBFBD>@
|
||||
<20><EFBFBD><EFBFBD>C<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>傤<EFBFBD>B
|
||||
|
||||
---> <20><><EFBFBD><EFBFBD><EFBFBD>ɂ͊Ԉ<CD8A><D488><EFBFBD><EFBFBD><EFBFBD><EFBFBD>e<EFBFBD>L<EFBFBD>X<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>ɂ͊Ԉ<CD8A><D488><EFBFBD><EFBFBD><EFBFBD><EFBFBD>e<EFBFBD>L<EFBFBD>X<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
|
||||
@@ -145,7 +145,8 @@ NOTE:
|
||||
!! NOTE: <20>ȉ<EFBFBD><C889>̃X<CC83>e<EFBFBD>b<EFBFBD>v<EFBFBD><76><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD><73><EFBFBD><EFBFBD><EFBFBD>O<EFBFBD>ɁA<C981>܂<EFBFBD><DC82>S<EFBFBD>̂<EFBFBD><CC82>ǂ<EFBFBD><C782>ł<EFBFBD><C582><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!
|
||||
|
||||
1. <20><><EFBFBD>b<EFBFBD>X<EFBFBD><58> 1.2 <20>ł<EFBFBD><C582><EFBFBD><EFBFBD><EFBFBD><EFBFBD>悤<EFBFBD><E682A4> :q! <20><><EFBFBD>^<5E>C<EFBFBD>v<EFBFBD><76><EFBFBD>āA<C481><41><EFBFBD>̃`<60><><EFBFBD>[<5B>g<EFBFBD><67><EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49>
|
||||
<20><><EFBFBD>܂<EFBFBD><DC82>B
|
||||
<20><><EFBFBD>܂<EFBFBD><DC82>B<EFBFBD><EFBFBD><EFBFBD>邢<EFBFBD>́A<EFBFBD>ʂ̒[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꍇ<EFBFBD>͂<EFBFBD><CD82><EFBFBD><EFBFBD>ňȉ<C588><C889>̓<EFBFBD><CC93>e<EFBFBD><65><EFBFBD>s<EFBFBD><73><EFBFBD>Ă<EFBFBD><C482><EFBFBD><EFBFBD>܂<EFBFBD>
|
||||
<20>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B
|
||||
|
||||
2. <20>V<EFBFBD>F<EFBFBD><46><EFBFBD>v<EFBFBD><76><EFBFBD><EFBFBD><EFBFBD>v<EFBFBD>g<EFBFBD>ł<EFBFBD><C582>̃R<CC83>}<7D><><EFBFBD>h<EFBFBD><68><EFBFBD>^<5E>C<EFBFBD>v<EFBFBD><76><EFBFBD>܂<EFBFBD>: vim tutor <ENTER>
|
||||
'vim'<27><> Vim <20>G<EFBFBD>f<EFBFBD>B<EFBFBD>^<5E><><EFBFBD>N<EFBFBD><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>}<7D><><EFBFBD>h<EFBFBD>A'tutor' <20>͕ҏW<D28F><57><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>t<EFBFBD>@<40>C<EFBFBD><43><EFBFBD><EFBFBD>
|
||||
@@ -155,7 +156,8 @@ NOTE:
|
||||
|
||||
4. <20>ύX<CF8D><58><EFBFBD>t<EFBFBD>@<40>C<EFBFBD><43><EFBFBD>ɕۑ<C995><DB91><EFBFBD><EFBFBD>܂<EFBFBD>: :wq <ENTER>
|
||||
|
||||
5. vimtutor <20><><EFBFBD>ēx<EFBFBD>N<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>ȉ<EFBFBD><EFBFBD>̗v<EFBFBD><EFBFBD><EFBFBD>i<EFBFBD>݂܂<EFBFBD><EFBFBD>傤<EFBFBD>B
|
||||
5. <20>X<EFBFBD>e<EFBFBD>b<EFBFBD>v 1 <20><> vimtutuor <20><><EFBFBD>I<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꍇ<EFBFBD><EFBFBD> vimtutor <20><><EFBFBD>ēx<C493>N<EFBFBD><4E><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>ȉ<EFBFBD><C889><EFBFBD>
|
||||
<20>v<EFBFBD><76><EFBFBD>i<D690>݂܂<DD82><DC82>傤<EFBFBD>B
|
||||
|
||||
6. <20>ȏ<EFBFBD><C88F>̃X<CC83>e<EFBFBD>b<EFBFBD>v<EFBFBD><76><EFBFBD>ǂ<EFBFBD><C782>ŗ<EFBFBD><C597><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ł<EFBFBD><C582><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD><73><EFBFBD>܂<EFBFBD><DC82>傤<EFBFBD>B
|
||||
|
||||
@@ -215,7 +217,7 @@ NOTE: <ESC>
|
||||
|
||||
2. <20>ȉ<EFBFBD><C889><EFBFBD> ---> <20>Ǝ<EFBFBD><C68E><EFBFBD><EFBFBD>ꂽ<EFBFBD>s<EFBFBD>ɃJ<C983>[<5B>\<5C><><EFBFBD><EFBFBD><EFBFBD>ړ<EFBFBD><DA93><EFBFBD><EFBFBD>܂<EFBFBD><DC82>傤<EFBFBD>B
|
||||
|
||||
3. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̖<EFBFBD><CC96><EFBFBD><EFBFBD>փJ<D683>[<5B>\<5C><><EFBFBD><EFBFBD><EFBFBD>ړ<EFBFBD><DA93><EFBFBD><EFBFBD>܂<EFBFBD><DC82>傤(<28>ŏ<EFBFBD><C58F><EFBFBD> . <20>̌<EFBFBD><CC8C>ł<EFBFBD>)<29>B
|
||||
3. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̖<EFBFBD><CC96><EFBFBD><EFBFBD>փJ<D683>[<5B>\<5C><><EFBFBD><EFBFBD><EFBFBD>ړ<EFBFBD><DA93><EFBFBD><EFBFBD>܂<EFBFBD><DC82>傤(<28>ŏ<EFBFBD><C58F><EFBFBD> <EFBFBD>B <20>̌<EFBFBD><CC8C>ł<EFBFBD>)<29>B
|
||||
|
||||
4. <20>s<EFBFBD><73><EFBFBD>܂ō폜<C58D><ED8F9C><EFBFBD><EFBFBD><EFBFBD>̂<EFBFBD> d$ <20>ƃ^<5E>C<EFBFBD>v<EFBFBD><76><EFBFBD>܂<EFBFBD><DC82>傤<EFBFBD>B
|
||||
|
||||
@@ -259,13 +261,13 @@ NOTE:
|
||||
|
||||
1. <20>ȉ<EFBFBD><C889><EFBFBD> ---> <20>Ǝ<EFBFBD><C68E><EFBFBD><EFBFBD>ꂽ<EFBFBD>s<EFBFBD>̐擪<CC90>ɃJ<C983>[<5B>\<5C><><EFBFBD><EFBFBD><EFBFBD>ړ<EFBFBD><DA93><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
|
||||
|
||||
2. 2dw <20><><EFBFBD>^<5E>C<EFBFBD>v<EFBFBD><76><EFBFBD>ĒP<C492><50>2<EFBFBD><EFBFBD><C295>폜<EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
|
||||
2. 2w <20><><EFBFBD>^<5E>C<EFBFBD>v<EFBFBD><76><EFBFBD>ĒP<C492><50>2<EFBFBD><EFBFBD><C295>O<EFBFBD>Ɉړ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
|
||||
|
||||
3. 3e <20><><EFBFBD>^<5E>C<EFBFBD>v<EFBFBD><76><EFBFBD><EFBFBD>3<EFBFBD>ڂ̒P<CC92><50><EFBFBD>̏I<CC8F>[<5B>Ɉړ<C988><DA93><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
|
||||
|
||||
4. 0 (<28>[<5B><>)<29><><EFBFBD>^<5E>C<EFBFBD>v<EFBFBD><76><EFBFBD>čs<C48D><73><EFBFBD>Ɉړ<C988><DA93><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
|
||||
|
||||
5. <20>X<EFBFBD>e<EFBFBD>b<EFBFBD>v 2 <20><> 3 <20><><EFBFBD>Ⴄ<EFBFBD><E182A4><EFBFBD>l<EFBFBD>Ǝg<EFBFBD><EFBFBD><EFBFBD>ČJ<EFBFBD><EFBFBD><EFBFBD>Ԃ<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
|
||||
5. <20>X<EFBFBD>e<EFBFBD>b<EFBFBD>v 2 <20><> 3 <20><><EFBFBD>Ⴄ<EFBFBD><E182A4><EFBFBD>l<EFBFBD><EFBFBD><EFBFBD>g<EFBFBD><EFBFBD><EFBFBD>ČJ<EFBFBD><EFBFBD><EFBFBD>Ԃ<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B
|
||||
|
||||
---> This is just a line with words you can move around in.
|
||||
|
||||
@@ -286,7 +288,7 @@ NOTE:
|
||||
|
||||
1. ---> <20>Ǝ<EFBFBD><C68E><EFBFBD><EFBFBD>ꂽ<EFBFBD>s<EFBFBD>̍s<CC8D><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɃJ<C983>[<5B>\<5C><><EFBFBD><EFBFBD><EFBFBD>ړ<EFBFBD><DA93><EFBFBD><EFBFBD>܂<EFBFBD><DC82>傤<EFBFBD>B
|
||||
|
||||
2. UPPER CASE <20>̒P<CC92><50>2<EFBFBD><EFBFBD> 2dw <20>ƃ^<5E>C<EFBFBD>v<EFBFBD><76><EFBFBD>č폜<C48D><ED8F9C><EFBFBD>܂<EFBFBD><DC82>B
|
||||
2. UPPER CASE <20>̒P<CC92><50>2<EFBFBD><EFBFBD> d2w <20>ƃ^<5E>C<EFBFBD>v<EFBFBD><76><EFBFBD>č폜<C48D><ED8F9C><EFBFBD>܂<EFBFBD><DC82>B
|
||||
|
||||
3. UPPER CASE <20>Ƃ<EFBFBD><C682><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<EFBFBD><50><EFBFBD><EFBFBD><EFBFBD>A1<41>̃R<CC83>}<7D><><EFBFBD>h<EFBFBD>ƈقȂ<D982><C882>J<EFBFBD>E<EFBFBD><45><EFBFBD>g<EFBFBD><67><EFBFBD>w<EFBFBD>肵<EFBFBD>A
|
||||
<20>X<EFBFBD>e<EFBFBD>b<EFBFBD>v 1 <20><> 2 <20><><EFBFBD>J<EFBFBD><4A><EFBFBD>Ԃ<EFBFBD><D482>܂<EFBFBD><DC82>B
|
||||
@@ -406,7 +408,7 @@ NOTE:
|
||||
---> <20><><EFBFBD>̍<EFBFBD><CC8D><EFBFBD><EFBFBD>l<EFBFBD>͂<EFBFBD><CD82><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˁA<CB81><41><EFBFBD>̐l<CC90>͊<EFBFBD><CD8A><EFBFBD><C282><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>L<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!
|
||||
---> <20><><EFBFBD>̍s<CC8D><73><EFBFBD><EFBFBD><EFBFBD>͂<EFBFBD><CD82><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɁA<C981><41><EFBFBD>̐l<CC90>͊<EFBFBD><CD8A><EFBFBD><C282>Ԉ<EFBFBD><D488><EFBFBD><EFBFBD><EFBFBD><EFBFBD>L<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD>!
|
||||
|
||||
5. <20><><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD>b<EFBFBD>X<EFBFBD><58> 3.2 <20>i<D690>݂܂<DD82><DC82>傤<EFBFBD>B
|
||||
5. <20><><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD>b<EFBFBD>X<EFBFBD><58> 3.3 <20>i<D690>݂܂<DD82><DC82>傤<EFBFBD>B
|
||||
|
||||
NOTE: <20><><EFBFBD>ۂɎ<DB82><C98E><EFBFBD><EFBFBD>܂<EFBFBD><DC82>傤<EFBFBD>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD>Ċo<C48A><6F><EFBFBD>邾<EFBFBD><E982BE><EFBFBD>ɂ͂<C982><CD82>Ȃ<EFBFBD><C882><EFBFBD><EFBFBD>ƁB
|
||||
|
||||
@@ -428,8 +430,8 @@ NOTE:
|
||||
|
||||
5. <20>ŏ<EFBFBD><C58F>̍s<CC8D><73><EFBFBD><EFBFBD><EFBFBD>̍s<CC8D>̗l<CC97>ɂȂ<C982><C882>܂ŃX<C583>e<EFBFBD>b<EFBFBD>v 3 <20><> 4 <20><><EFBFBD>J<EFBFBD><4A><EFBFBD>Ԃ<EFBFBD><D482>܂<EFBFBD><DC82>B
|
||||
|
||||
---> This lubw has a few wptfd that mrrf changing usf the change command.
|
||||
---> This line has a few words that need changing using the change command.
|
||||
---> This lubw has a few wptfd that mrrf changing usf the change operator.
|
||||
---> This line has a few words that need changing using the change operator.
|
||||
|
||||
cw <20>͒P<CD92><50><EFBFBD><EFBFBD><EFBFBD>ύX<CF8D><58><EFBFBD>邾<EFBFBD><E982BE><EFBFBD>łȂ<C582><C882>A<EFBFBD>}<7D><><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD><73><EFBFBD>邱<EFBFBD>Ƃɒ<C682><C992>ӂ<EFBFBD><D382>܂<EFBFBD><DC82>傤<EFBFBD>B
|
||||
|
||||
@@ -494,7 +496,7 @@ NOTE:
|
||||
<20>ɍs<C98D>ԍ<EFBFBD><D48D><EFBFBD><EFBFBD>o<EFBFBD><6F><EFBFBD>Ă<EFBFBD><C482><EFBFBD><EFBFBD>܂<EFBFBD><DC82>傤<EFBFBD>B
|
||||
|
||||
NOTE: <20><><EFBFBD>ʂ̉E<CC89><45><EFBFBD><EFBFBD><EFBFBD>ɃJ<C983>[<5B>\<5C><><EFBFBD>̈ʒu<CA92><75><EFBFBD>\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482>邩<EFBFBD><E982A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
'ruler' <20>I<EFBFBD>v<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD>b<EFBFBD>X<EFBFBD><EFBFBD>6<EFBFBD>Ő<EFBFBD><EFBFBD><EFBFBD>)<29><><EFBFBD>ݒ肷<DD92>邱<EFBFBD>Ƃŕ\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
|
||||
'ruler' <20>I<EFBFBD>v<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD>(:help 'ruler' <20><><EFBFBD>Q<EFBFBD><EFBFBD>)<29><><EFBFBD>ݒ肷<DD92>邱<EFBFBD>Ƃŕ\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
|
||||
|
||||
2. <20>ʼn<EFBFBD><C589>s<EFBFBD>Ɉړ<C988><DA93><EFBFBD><EFBFBD>邽<EFBFBD>߂<EFBFBD> G <20><><EFBFBD>^<5E>C<EFBFBD>v<EFBFBD><76><EFBFBD>܂<EFBFBD><DC82>傤<EFBFBD>B
|
||||
<20>t<EFBFBD>@<40>C<EFBFBD><43><EFBFBD>̐擪<CC90>Ɉړ<C988><DA93><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɂ<EFBFBD> gg <20>ƃ^<5E>C<EFBFBD>v<EFBFBD><76><EFBFBD>܂<EFBFBD><DC82>傤<EFBFBD>B
|
||||
@@ -523,8 +525,8 @@ NOTE:
|
||||
5. <20><><EFBFBD>̏ꏊ<CC8F>ɖ߂<C996><DF82>ɂ<EFBFBD> CTRL-O (Ctrl <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882><EFBFBD> o <20><><EFBFBD><EFBFBD><EFBFBD>^<5E>C<EFBFBD>v)<29><><EFBFBD>^<5E>C<EFBFBD>v<EFBFBD><76>
|
||||
<20>܂<EFBFBD><DC82>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD>ɖ߂<C996><DF82>ɂ͂<C982><CD82><EFBFBD><EFBFBD><EFBFBD><EFBFBD>J<EFBFBD><4A><EFBFBD>Ԃ<EFBFBD><D482>܂<EFBFBD><DC82>BCTRL-I <20>͑O<CD91><4F><EFBFBD><EFBFBD><EFBFBD>ł<EFBFBD><C582>B
|
||||
|
||||
Note: "errroor" <20><> error <20>ƃX<C683>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD>Ⴂ<EFBFBD>܂<EFBFBD>; errroor <20>͂<EFBFBD><CD82><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> error <20>ł<EFBFBD><C582>B
|
||||
Note: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>t<EFBFBD>@<40>C<EFBFBD><43><EFBFBD>̏I<CC8F><49><EFBFBD><EFBFBD><EFBFBD>ɒB<C992><42><EFBFBD><EFBFBD><EFBFBD>ƁA<C681>I<EFBFBD>v<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD> 'wrapscan' <20><><EFBFBD>ݒ肳<DD92><E882B3><EFBFBD>Ă<EFBFBD><C482><EFBFBD>
|
||||
---> "errroor" <20><> error <20>ƃX<C683>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD>Ⴂ<EFBFBD>܂<EFBFBD>; errroor <20>͂<EFBFBD><CD82><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> error <20>ł<EFBFBD><C582>B
|
||||
NOTE: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>t<EFBFBD>@<40>C<EFBFBD><43><EFBFBD>̏I<CC8F><49><EFBFBD><EFBFBD><EFBFBD>ɒB<C992><42><EFBFBD><EFBFBD><EFBFBD>ƁA<C681>I<EFBFBD>v<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD> 'wrapscan' <20><><EFBFBD>ݒ肳<DD92><E882B3><EFBFBD>Ă<EFBFBD><C482><EFBFBD>
|
||||
<20>ꍇ<EFBFBD>́A<CD81>t<EFBFBD>@<40>C<EFBFBD><43><EFBFBD>̐擪<CC90><E693AA><EFBFBD>猟<EFBFBD><E78C9F><EFBFBD>s<F091B18D><73><EFBFBD>܂<EFBFBD><DC82>B
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@@ -612,10 +614,10 @@ NOTE:
|
||||
<20>V<EFBFBD>F<EFBFBD><46><EFBFBD>v<EFBFBD><76><EFBFBD><EFBFBD><EFBFBD>v<EFBFBD>g<EFBFBD>̂悤<CC82>Ƀf<C983>B<EFBFBD><42><EFBFBD>N<EFBFBD>g<EFBFBD><67><EFBFBD>̈ꗗ<CC88><EA9797><EFBFBD>\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͂<EFBFBD><CD82>ł<EFBFBD><C582>B
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ls <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882>Ȃ<EFBFBD><C882><EFBFBD> :!dir <20><><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD><DC82>傤<EFBFBD>B
|
||||
|
||||
Note: <20><><EFBFBD>̕<EFBFBD><CC95>@<40>ɂ<EFBFBD><C982><EFBFBD><EFBFBD>Ă<EFBFBD><C482><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>}<7D><><EFBFBD>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD><73><EFBFBD>邱<EFBFBD>Ƃ<EFBFBD><C682>ł<EFBFBD><C582>܂<EFBFBD><DC82>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NOTE: <20><><EFBFBD>̕<EFBFBD><CC95>@<40>ɂ<EFBFBD><C982><EFBFBD><EFBFBD>Ă<EFBFBD><C482><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>}<7D><><EFBFBD>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD><73><EFBFBD>邱<EFBFBD>Ƃ<EFBFBD><C682>ł<EFBFBD><C582>܂<EFBFBD><DC82>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD>^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
|
||||
|
||||
Note: <20>S<EFBFBD>Ă<EFBFBD> : <20>R<EFBFBD>}<7D><><EFBFBD>h<EFBFBD><68> <ENTER> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ďI<C48F><49><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882><EFBFBD><EFBFBD>Ȃ<CE82><C882>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B
|
||||
NOTE: <20>S<EFBFBD>Ă<EFBFBD> : <20>R<EFBFBD>}<7D><><EFBFBD>h<EFBFBD><68> <ENTER> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ďI<C48F><49><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882><EFBFBD><EFBFBD>Ȃ<CE82><C882>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B
|
||||
<20>ȍ~<7E>ł͂<C582><CD82>̂<EFBFBD><CC82>ƂɌ<C682><C98C>y<EFBFBD><79><EFBFBD>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B
|
||||
|
||||
|
||||
@@ -635,7 +637,7 @@ Note:
|
||||
4. <20><><EFBFBD><EFBFBD><EFBFBD>ɂ<EFBFBD><C982><EFBFBD><EFBFBD>t<EFBFBD>@<40>C<EFBFBD><43><EFBFBD>S<EFBFBD>̂<EFBFBD> TEST <20>Ƃ<EFBFBD><C682><EFBFBD><EFBFBD><EFBFBD><EFBFBD>O<EFBFBD>ŕۑ<C595><DB91><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x :!dir <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> :!ls <20>ƃ^<5E>C<EFBFBD>v<EFBFBD><76><EFBFBD>Ċm<C48A>F<EFBFBD><46><EFBFBD>Ă݂܂<DD82><DC82>傤<EFBFBD>B
|
||||
|
||||
Note: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Vim <20><><EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>t<EFBFBD>@<40>C<EFBFBD><43><EFBFBD><EFBFBD> TEST <20>Ƌ<EFBFBD><C68B>ɋN<C98B><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƁA<C681>ۑ<EFBFBD><DB91><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NOTE: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Vim <20><><EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>t<EFBFBD>@<40>C<EFBFBD><43><EFBFBD><EFBFBD> TEST <20>Ƌ<EFBFBD><C68B>ɋN<C98B><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƁA<C681>ۑ<EFBFBD><DB91><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20>`<60><><EFBFBD>[<5B>g<EFBFBD><67><EFBFBD>A<EFBFBD><41><EFBFBD>̕<EFBFBD><CC95><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ł<EFBFBD><C582>オ<EFBFBD><E382AA><EFBFBD>͂<EFBFBD><CD82>ł<EFBFBD><C582>B
|
||||
|
||||
5. <20><><EFBFBD><EFBFBD><EFBFBD>ɁA<C981><41><EFBFBD>̂悤<CC82>Ƀ^<5E>C<EFBFBD>v<EFBFBD><76><EFBFBD>ăt<C483>@<40>C<EFBFBD><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>傤(MS-DOS): :!del TEST
|
||||
@@ -656,7 +658,7 @@ Note:
|
||||
3. <20><><EFBFBD><EFBFBD> : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƁA<C681><41><EFBFBD>ʂ̍ʼn<CC8D><C589><EFBFBD><EFBFBD><EFBFBD> :'<,'> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
|
||||
|
||||
4. w TEST (TEST <20>͑<EFBFBD><CD91>݂<EFBFBD><DD82>Ȃ<EFBFBD><C882>t<EFBFBD>@<40>C<EFBFBD><43><EFBFBD><EFBFBD>)<29><><EFBFBD>^<5E>C<EFBFBD>v<EFBFBD><76><EFBFBD>܂<EFBFBD><DC82>B
|
||||
Enter <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>O<EFBFBD><4F> :'<,'>w TEST <20>ƂȂ<C682><C882>Ă<EFBFBD><C482>邱<EFBFBD>Ƃ<EFBFBD><C682>m<EFBFBD>F<EFBFBD><46><EFBFBD>ĉ<EFBFBD><C489><EFBFBD><EFBFBD><EFBFBD><EFBFBD>B
|
||||
<ENTER> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>O<EFBFBD><4F> :'<,'>w TEST <20>ƂȂ<C682><C882>Ă<EFBFBD><C482>邱<EFBFBD>Ƃ<EFBFBD><C682>m<EFBFBD>F<EFBFBD><46><EFBFBD>ĉ<EFBFBD><C489><EFBFBD><EFBFBD><EFBFBD><EFBFBD>B
|
||||
|
||||
5. Vim <20><> TEST <20>Ƃ<EFBFBD><C682><EFBFBD><EFBFBD>t<EFBFBD>@<40>C<EFBFBD><43><EFBFBD>ɑI<C991><49><EFBFBD><EFBFBD><EFBFBD>ꂽ<EFBFBD>s<EFBFBD><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ނł<DE82><C582>傤<EFBFBD>B
|
||||
!dir <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> !ls <20>ł<EFBFBD><C582><EFBFBD><EFBFBD><EFBFBD><EFBFBD>m<EFBFBD>F<EFBFBD><46><EFBFBD>܂<EFBFBD><DC82>B
|
||||
@@ -747,7 +749,7 @@ NOTE:
|
||||
|
||||
3. <20>J<EFBFBD>[<5B>\<5C><><EFBFBD>̌<EFBFBD><CC8C><EFBFBD><EFBFBD>Ƀe<C983>L<EFBFBD>X<EFBFBD>g<EFBFBD><67><EFBFBD>lj<EFBFBD><C789><EFBFBD><EFBFBD>邽<EFBFBD>߂<EFBFBD> a (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><><EFBFBD>^<5E>C<EFBFBD>v<EFBFBD><76><EFBFBD>܂<EFBFBD><DC82>B
|
||||
|
||||
4. <20><><EFBFBD>̉<EFBFBD><CC89>̍s<CC8D>̂̂悤<EFBFBD>ȒP<EFBFBD><EFBFBD><EFBFBD>Ɋ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD>B<EFBFBD>}<7D><><EFBFBD><EFBFBD><EFBFBD>[<5B>h<EFBFBD><EFBFBD><F094B282><EFBFBD><EFBFBD>ׂ<EFBFBD> <ESC> <20>ɉ<EFBFBD>
|
||||
4. <20><><EFBFBD>̉<EFBFBD><CC89>̍s<CC8D>̂悤<CC82>ȒP<C892><50><EFBFBD>Ɋ<EFBFBD><C98A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B<EFBFBD>}<7D><><EFBFBD><EFBFBD><EFBFBD>[<5B>h<EFBFBD><EFBFBD><F094B282><EFBFBD><EFBFBD>ׂ<EFBFBD> <ESC> <20><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD>܂<EFBFBD><DC82>B
|
||||
|
||||
5. e <20><><EFBFBD>g<EFBFBD><67><EFBFBD>Ď<EFBFBD><C48E>̕s<CC95><73><EFBFBD>S<EFBFBD>ȒP<C892><50><EFBFBD>ֈړ<D688><DA93><EFBFBD><EFBFBD>A<EFBFBD>X<EFBFBD>e<EFBFBD>b<EFBFBD>v 3 <20><> 4 <20><><EFBFBD>J<EFBFBD><4A><EFBFBD>Ԃ<EFBFBD><D482>܂<EFBFBD><DC82>B
|
||||
@@ -755,7 +757,7 @@ NOTE:
|
||||
---> This li will allow you to pract appendi text to a line.
|
||||
---> This line will allow you to practice appending text to a line.
|
||||
|
||||
Note: a, i <20><> A <20>͓<EFBFBD><CD93><EFBFBD><EFBFBD>}<7D><><EFBFBD><EFBFBD><EFBFBD>[<5B>h<EFBFBD>ֈڂ<D688><DA82>܂<EFBFBD><DC82><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʒu<CA92><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>قȂ<D982>
|
||||
NOTE: a, i <20><> A <20>͓<EFBFBD><CD93><EFBFBD><EFBFBD>}<7D><><EFBFBD><EFBFBD><EFBFBD>[<5B>h<EFBFBD>ֈڂ<D688><DA82>܂<EFBFBD><DC82><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʒu<CA92><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>قȂ<D982>
|
||||
<20>܂<EFBFBD><DC82>B
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@@ -803,7 +805,7 @@ NOTE:
|
||||
---> a) this is the first item.
|
||||
b)
|
||||
|
||||
Note: <20>P<EFBFBD><50><EFBFBD><EFBFBD>1<EFBFBD><31> yank <20><><EFBFBD><EFBFBD><EFBFBD>̂<EFBFBD> y <20><><EFBFBD>I<EFBFBD>y<EFBFBD><79><EFBFBD>[<5B>^<5E>Ƃ<EFBFBD><C682><EFBFBD> yw <20>Ƃ<EFBFBD><C682>邱<EFBFBD>Ƃ<EFBFBD><C682>o<EFBFBD><6F><EFBFBD>܂<EFBFBD><DC82>B
|
||||
NOTE: <20>P<EFBFBD><50><EFBFBD><EFBFBD>1<EFBFBD><31> yank <20><><EFBFBD><EFBFBD><EFBFBD>̂<EFBFBD> y <20><><EFBFBD>I<EFBFBD>y<EFBFBD><79><EFBFBD>[<5B>^<5E>Ƃ<EFBFBD><C682><EFBFBD> yw <20>Ƃ<EFBFBD><C682>邱<EFBFBD>Ƃ<EFBFBD><C682>o<EFBFBD><6F><EFBFBD>܂<EFBFBD><DC82>B
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
<20><><EFBFBD>b<EFBFBD>X<EFBFBD><58> 6.5: <20>I<EFBFBD>v<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD>̐ݒ<CC90>
|
||||
|
||||
@@ -824,8 +826,8 @@ NOTE:
|
||||
|
||||
6. <20>啶<EFBFBD><E595B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̋<EFBFBD><CC8B>ʂ<CA82><F096B38C>ɂ<EFBFBD><C982><EFBFBD><EFBFBD>ɂ͎<C982><CD8E>̗l<CC97>ɓ<EFBFBD><C993>͂<EFBFBD><CD82>܂<EFBFBD>: :set noic
|
||||
|
||||
Note: <20>}<7D>b<EFBFBD>`<60>̋<EFBFBD><CC8B><EFBFBD><EFBFBD>\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߂<EFBFBD><DF82>ɂ͎<C982><CD8E>̗l<CC97>ɓ<EFBFBD><C993>͂<EFBFBD><CD82>܂<EFBFBD>: :nohlsearch
|
||||
Note: 1<>̌<C282><CC8C><EFBFBD><EFBFBD>R<EFBFBD>}<7D><><EFBFBD>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD>啶<EFBFBD><E595B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̋<EFBFBD><CC8B>ʂ<EFBFBD><CA82><EFBFBD><EFBFBD>߂<EFBFBD><DF82><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882>A<CE81>t<EFBFBD><74><EFBFBD>[<5B>Y<EFBFBD><59> \c
|
||||
NOTE: <20>}<7D>b<EFBFBD>`<60>̋<EFBFBD><CC8B><EFBFBD><EFBFBD>\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߂<EFBFBD><DF82>ɂ͎<C982><CD8E>̗l<CC97>ɓ<EFBFBD><C993>͂<EFBFBD><CD82>܂<EFBFBD>: :nohlsearch
|
||||
NOTE: 1<>̌<C282><CC8C><EFBFBD><EFBFBD>R<EFBFBD>}<7D><><EFBFBD>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD>啶<EFBFBD><E595B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̋<EFBFBD><CC8B>ʂ<EFBFBD><CA82><EFBFBD><EFBFBD>߂<EFBFBD><DF82><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882>A<CE81>t<EFBFBD><74><EFBFBD>[<5B>Y<EFBFBD><59> \c
|
||||
<20><><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD>: /ignore\c <ENTER>
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
<09><><EFBFBD>b<EFBFBD>X<EFBFBD><58> 6 <20>v<EFBFBD><76>
|
||||
@@ -878,7 +880,7 @@ Note: 1
|
||||
|
||||
** Vim <20>̓<EFBFBD><CC93><EFBFBD><EFBFBD><EFBFBD><F094AD8A><EFBFBD><EFBFBD><EFBFBD> **
|
||||
|
||||
Vim <20>ɂ<EFBFBD> Vi <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̓<EFBFBD><CC93><EFBFBD><EFBFBD>܂<F093A582><DC82>Ă<EFBFBD><C482>܂<EFBFBD><DC82>A<EFBFBD><41><EFBFBD>̂قƂ<D982><C682>ǂ͏<C782><CD8F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԃɂ<D482>
|
||||
Vim <20>ɂ<EFBFBD> Vi <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̓<EFBFBD><CC93><EFBFBD><EFBFBD>܂<F093A582><DC82>Ă<EFBFBD><C482>܂<EFBFBD><DC82><EFBFBD><EFBFBD>A<EFBFBD><EFBFBD><EFBFBD>̂قƂ<EFBFBD><EFBFBD>ǂ͏<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԃɂ<EFBFBD>
|
||||
<20>g<EFBFBD>p<EFBFBD>s<EFBFBD>ƂȂ<C682><C882>Ă<EFBFBD><C482>܂<EFBFBD><DC82>B<EFBFBD><42><EFBFBD>葽<EFBFBD><E891BD><EFBFBD>̓<EFBFBD><CC93><EFBFBD><EFBFBD><EFBFBD><EFBFBD>g<EFBFBD><67><EFBFBD>͂<EFBFBD><CD82>߂<EFBFBD><DF82>ɂ<EFBFBD> "vimrc" <20>t<EFBFBD>@<40>C<EFBFBD><43>
|
||||
<20><><EFBFBD>쐬<EFBFBD><EC90AC><EFBFBD>܂<EFBFBD><DC82>B
|
||||
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
|
||||
3. 下へのキーを使って、レッスン1.2 に移動しましょう。
|
||||
|
||||
Note: 何をタイプしているか判らなくなったら、<ESC>を押してノーマルモードにし
|
||||
NOTE: 何をタイプしているか判らなくなったら、<ESC>を押してノーマルモードにし
|
||||
ます。それから入力しようとしていたコマンドを再入力しましょう。
|
||||
|
||||
Note: カーソルキーでも移動できます。しかし hjkl に一度慣れてしまえば、はるか
|
||||
NOTE: カーソルキーでも移動できます。しかし hjkl に一度慣れてしまえば、はるか
|
||||
に速く移動することができるでしょう。いやマジで!
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@@ -109,7 +109,7 @@ NOTE: 全てのレッスンを通じて、覚えようとするのではなく
|
||||
---> この には 足りない テキスト ある。
|
||||
---> この 行 には 幾つか 足りない テキスト が ある。
|
||||
|
||||
5. 挿入の方法がわかったら下のレッスン1の要約を見ましょう。
|
||||
5. 挿入の方法がわかったらレッスン 1.5 へ進みましょう。
|
||||
|
||||
|
||||
|
||||
@@ -126,8 +126,8 @@ NOTE: 全てのレッスンを通じて、覚えようとするのではなく
|
||||
|
||||
3. テキストを追加し終えたら、 <ESC> を押してノーマルモードに戻りましょう。
|
||||
|
||||
4. 2行目の ---> と示された場所へ移動し、ステップ 2 から 3 繰り返して文法を
|
||||
修正しましょう。
|
||||
4. 2行目の ---> と示された場所へ移動し、ステップ 2 から 3 を繰り返して文法
|
||||
を修正しましょう。
|
||||
|
||||
---> ここには間違ったテキストがあり
|
||||
ここには間違ったテキストがあります。
|
||||
@@ -145,7 +145,8 @@ NOTE: 全てのレッスンを通じて、覚えようとするのではなく
|
||||
!! NOTE: 以下のステップを実行する前に、まず全体を読んでください!!
|
||||
|
||||
1. レッスン 1.2 でやったように :q! をタイプして、このチュートリアルを終了
|
||||
します。
|
||||
します。あるいは、別の端末がある場合はそこで以下の内容を行ってもかまい
|
||||
ません。
|
||||
|
||||
2. シェルプロンプトでこのコマンドをタイプします: vim tutor <ENTER>
|
||||
'vim'が Vim エディタを起動するコマンド、'tutor' は編集したいファイルの
|
||||
@@ -155,7 +156,8 @@ NOTE: 全てのレッスンを通じて、覚えようとするのではなく
|
||||
|
||||
4. 変更をファイルに保存します: :wq <ENTER>
|
||||
|
||||
5. vimtutor を再度起動し、以下の要約へ進みましょう。
|
||||
5. ステップ 1 で vimtutuor を終了した場合は vimtutor を再度起動し、以下の
|
||||
要約へ進みましょう。
|
||||
|
||||
6. 以上のステップを読んで理解した上でこれを実行しましょう。
|
||||
|
||||
@@ -215,7 +217,7 @@ NOTE: <ESC> キーを押すとノーマルモードに移行します。その
|
||||
|
||||
2. 以下の ---> と示された行にカーソルを移動しましょう。
|
||||
|
||||
3. 正しい文の末尾へカーソルを移動しましょう(最初の . の後です)。
|
||||
3. 正しい文の末尾へカーソルを移動しましょう(最初の 。 の後です)。
|
||||
|
||||
4. 行末まで削除するのに d$ とタイプしましょう。
|
||||
|
||||
@@ -259,13 +261,13 @@ NOTE: 冒険したい人は、ノーマルモードにてコマンドなしに
|
||||
|
||||
1. 以下の ---> と示された行の先頭にカーソルを移動します。
|
||||
|
||||
2. 2dw をタイプして単語2つ分削除します。
|
||||
2. 2w をタイプして単語2つ分前に移動します。
|
||||
|
||||
3. 3e をタイプして3つ目の単語の終端に移動します。
|
||||
|
||||
4. 0 (ゼロ)をタイプして行頭に移動します。
|
||||
|
||||
5. ステップ 2 と 3 を違う数値と使って繰り返します。
|
||||
5. ステップ 2 と 3 を違う数値を使って繰り返します。
|
||||
|
||||
---> This is just a line with words you can move around in.
|
||||
|
||||
@@ -286,7 +288,7 @@ NOTE: 冒険したい人は、ノーマルモードにてコマンドなしに
|
||||
|
||||
1. ---> と示された行の行頭部分にカーソルを移動しましょう。
|
||||
|
||||
2. UPPER CASE の単語2つを 2dw とタイプして削除します。
|
||||
2. UPPER CASE の単語2つを d2w とタイプして削除します。
|
||||
|
||||
3. UPPER CASE という連続した単語を、1つのコマンドと異なるカウントを指定し、
|
||||
ステップ 1 と 2 を繰り返します。
|
||||
@@ -406,7 +408,7 @@ NOTE: オペレータ d とモーションの間にカウントを使った場
|
||||
---> この合を人力した時ね、その人は幾つか問違ったキーを押しもした!
|
||||
---> この行を入力した時に、その人は幾つか間違ったキーを押しました!
|
||||
|
||||
5. さぁ、レッスン 3.2 へ進みましょう。
|
||||
5. さぁ、レッスン 3.3 へ進みましょう。
|
||||
|
||||
NOTE: 実際に試しましょう。決して覚えるだけにはしないこと。
|
||||
|
||||
@@ -428,8 +430,8 @@ NOTE: 実際に試しましょう。決して覚えるだけにはしないこ
|
||||
|
||||
5. 最初の行が次の行の様になるまでステップ 3 と 4 を繰り返します。
|
||||
|
||||
---> This lubw has a few wptfd that mrrf changing usf the change command.
|
||||
---> This line has a few words that need changing using the change command.
|
||||
---> This lubw has a few wptfd that mrrf changing usf the change operator.
|
||||
---> This line has a few words that need changing using the change operator.
|
||||
|
||||
cw は単語を変更するだけでなく、挿入も行えることに注意しましょう。
|
||||
|
||||
@@ -494,7 +496,7 @@ NOTE: タイプ中の間違いはバックスペースキーを使って直す
|
||||
に行番号を覚えておきましょう。
|
||||
|
||||
NOTE: 画面の右下隅にカーソルの位置が表示されているかもしれません。これは
|
||||
'ruler' オプション(レッスン6で説明)を設定することで表示されます。
|
||||
'ruler' オプション(:help 'ruler' を参照)を設定することで表示されます。
|
||||
|
||||
2. 最下行に移動するために G をタイプしましょう。
|
||||
ファイルの先頭に移動するには gg とタイプしましょう。
|
||||
@@ -523,8 +525,8 @@ NOTE: 画面の右下隅にカーソルの位置が表示されているかも
|
||||
5. 元の場所に戻るには CTRL-O (Ctrl を押し続けながら o 文字タイプ)をタイプし
|
||||
ます。さらに戻るにはこれを繰り返します。CTRL-I は前方向です。
|
||||
|
||||
Note: "errroor" は error とスペルが違います; errroor はいわゆる error です。
|
||||
Note: 検索がファイルの終わりに達すると、オプション 'wrapscan' が設定されている
|
||||
---> "errroor" は error とスペルが違います; errroor はいわゆる error です。
|
||||
NOTE: 検索がファイルの終わりに達すると、オプション 'wrapscan' が設定されている
|
||||
場合は、ファイルの先頭から検索を続行します。
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@@ -612,10 +614,10 @@ NOTE: この機能は括弧が一致していないプログラムをデバッ
|
||||
シェルプロンプトのようにディレクトリの一覧が表示されるはずです。
|
||||
もしくは ls が動かないならば :!dir を使用しましょう。
|
||||
|
||||
Note: この方法によってあらゆるコマンドが実行することができます。もちろん引数
|
||||
NOTE: この方法によってあらゆるコマンドが実行することができます。もちろん引数
|
||||
も与えられます。
|
||||
|
||||
Note: 全ての : コマンドは <ENTER> を押して終了しなければなりません。
|
||||
NOTE: 全ての : コマンドは <ENTER> を押して終了しなければなりません。
|
||||
以降ではこのことに言及しません。
|
||||
|
||||
|
||||
@@ -635,7 +637,7 @@ Note: 全ての : コマンドは <ENTER> を押して終了しなければな
|
||||
4. これによりファイル全体が TEST という名前で保存されます。
|
||||
もう一度 :!dir もしくは :!ls とタイプして確認してみましょう。
|
||||
|
||||
Note: ここで Vim を終了し、ファイル名 TEST と共に起動すると、保存した時の
|
||||
NOTE: ここで Vim を終了し、ファイル名 TEST と共に起動すると、保存した時の
|
||||
チュートリアルの複製ができ上がるはずです。
|
||||
|
||||
5. さらに、次のようにタイプしてファイルを消しましょう(MS-DOS): :!del TEST
|
||||
@@ -656,7 +658,7 @@ Note: ここで Vim を終了し、ファイル名 TEST と共に起動すると
|
||||
3. 文字 : を押すと、画面の最下部に :'<,'> が現れます。
|
||||
|
||||
4. w TEST (TEST は存在しないファイル名)をタイプします。
|
||||
Enter を押す前に :'<,'>w TEST となっていることを確認して下さい。
|
||||
<ENTER> を押す前に :'<,'>w TEST となっていることを確認して下さい。
|
||||
|
||||
5. Vim は TEST というファイルに選択された行を書き込むでしょう。
|
||||
!dir もしくは !ls でそれを確認します。
|
||||
@@ -747,7 +749,7 @@ NOTE: 外部コマンドの出力を読み込むことも出来ます。例え
|
||||
|
||||
3. カーソルの後ろにテキストを追加するために a (小文字) をタイプします。
|
||||
|
||||
4. その下の行ののような単語に完成させます。挿入モードを抜ける為に <ESC> に押
|
||||
4. その下の行のような単語に完成させます。挿入モードを抜ける為に <ESC> を押
|
||||
します。
|
||||
|
||||
5. e を使って次の不完全な単語へ移動し、ステップ 3 と 4 を繰り返します。
|
||||
@@ -755,7 +757,7 @@ NOTE: 外部コマンドの出力を読み込むことも出来ます。例え
|
||||
---> This li will allow you to pract appendi text to a line.
|
||||
---> This line will allow you to practice appending text to a line.
|
||||
|
||||
Note: a, i と A は同じ挿入モードへ移りますが、文字が挿入される位置だけが異なり
|
||||
NOTE: a, i と A は同じ挿入モードへ移りますが、文字が挿入される位置だけが異なり
|
||||
ます。
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@@ -803,7 +805,7 @@ NOTE: 置換モードは挿入モードに似ていますが、全てのタイ
|
||||
---> a) this is the first item.
|
||||
b)
|
||||
|
||||
Note: 単語を1つ yank するのに y をオペレータとして yw とすることも出来ます。
|
||||
NOTE: 単語を1つ yank するのに y をオペレータとして yw とすることも出来ます。
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
レッスン 6.5: オプションの設定
|
||||
|
||||
@@ -824,8 +826,8 @@ NOTE: 置換モードは挿入モードに似ていますが、全てのタイ
|
||||
|
||||
6. 大文字小文字の区別を無効にするには次の様に入力します: :set noic
|
||||
|
||||
Note: マッチの強調表示をやめるには次の様に入力します: :nohlsearch
|
||||
Note: 1つの検索コマンドだけ大文字小文字の区別をやめたいならば、フレーズに \c
|
||||
NOTE: マッチの強調表示をやめるには次の様に入力します: :nohlsearch
|
||||
NOTE: 1つの検索コマンドだけ大文字小文字の区別をやめたいならば、フレーズに \c
|
||||
を使用します: /ignore\c <ENTER>
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
レッスン 6 要約
|
||||
@@ -878,7 +880,7 @@ Note: 1つの検索コマンドだけ大文字小文字の区別をやめたい
|
||||
|
||||
** Vim の特徴を発揮する **
|
||||
|
||||
Vim には Vi よりも多くの特徴を踏まえていまが、そのほとんどは初期状態にて
|
||||
Vim には Vi よりも多くの特徴を踏まえていますが、そのほとんどは初期状態にて
|
||||
使用不可となっています。より多くの特徴を使いはじめるには "vimrc" ファイル
|
||||
を作成します。
|
||||
|
||||
|
||||
@@ -694,7 +694,7 @@ vimobj = $(vimobj) \
|
||||
|
||||
!if ($(OSTYPE)==WIN32)
|
||||
vimobj = $(vimobj) \
|
||||
$(OBJDIR)\os_win32.obj $(OBJDIR)\os_mswin.obj
|
||||
$(OBJDIR)\os_win32.obj $(OBJDIR)\os_mswin.obj $(OBJDIR)\winclip.obj
|
||||
!elif ($(OSTYPE)==DOS16)
|
||||
vimobj = $(vimobj) \
|
||||
$(OBJDIR)\os_msdos.obj
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Makefile for VIM on Win32, using Cygnus gcc
|
||||
# Last updated by Dan Sharp. Last Change: 2012 Jun 30
|
||||
# Last updated by Dan Sharp. Last Change: 2013 Feb 17
|
||||
#
|
||||
# Also read INSTALLpc.txt!
|
||||
#
|
||||
@@ -47,8 +47,8 @@
|
||||
# (i386)
|
||||
# USEDLL no or yes: set to yes to use the Runtime library DLL (no)
|
||||
# For USEDLL=yes the cygwin1.dll is required to run Vim.
|
||||
# "no" does not work with latest version of Cygwin, use
|
||||
# Make_ming.mak instead. Or set CC to gcc-3 and add
|
||||
# For "no" the mingw-gcc-g++ package or the mingw64-i686-gcc-g++
|
||||
# package is required to complie Vim. Or set CC to gcc-3 and add
|
||||
# -L/lib/w32api to EXTRA_LIBS.
|
||||
# POSTSCRIPT no or yes: set to yes for PostScript printing (no)
|
||||
# FEATURES TINY, SMALL, NORMAL, BIG or HUGE (BIG)
|
||||
@@ -106,6 +106,13 @@ ifndef OPTIMIZE
|
||||
OPTIMIZE = MAXSPEED
|
||||
endif
|
||||
|
||||
|
||||
# Link against the shared version of libstdc++ by default. Set
|
||||
# STATIC_STDCPLUS to "yes" to link against static version instead.
|
||||
ifndef STATIC_STDCPLUS
|
||||
STATIC_STDCPLUS=no
|
||||
endif
|
||||
|
||||
### See feature.h for a list of optionals.
|
||||
### Any other defines can be included here.
|
||||
|
||||
@@ -114,9 +121,17 @@ DEFINES = -DWIN32 -DHAVE_PATHDEF -DFEAT_$(FEATURES) \
|
||||
INCLUDES = -march=$(ARCH) -Iproto
|
||||
|
||||
#>>>>> name of the compiler and linker, name of lib directory
|
||||
CROSS_COMPILE =
|
||||
ifeq (yes, $(USEDLL))
|
||||
# CROSS_COMPILE is used for the gvimext DLL.
|
||||
CROSS_COMPILE = i686-pc-mingw32-
|
||||
CC = gcc
|
||||
RC = windres
|
||||
else
|
||||
# i686-pc-mingw32-gcc, i686-w64-mingw32-gcc or gcc-3 can be used.
|
||||
CROSS_COMPILE = i686-pc-mingw32-
|
||||
CC = $(CROSS_COMPILE)gcc
|
||||
RC = $(CROSS_COMPILE)windres
|
||||
endif
|
||||
|
||||
##############################
|
||||
# DYNAMIC_PERL=yes and no both work
|
||||
@@ -193,31 +208,45 @@ endif
|
||||
##############################
|
||||
ifdef RUBY
|
||||
|
||||
ifndef RUBY_VER
|
||||
RUBY_VER=16
|
||||
endif
|
||||
|
||||
ifndef RUBY_VER_LONG
|
||||
RUBY_VER_LONG=1.6
|
||||
endif
|
||||
|
||||
ifndef DYNAMIC_RUBY
|
||||
DYNAMIC_RUBY = yes
|
||||
DYNAMIC_RUBY=yes
|
||||
endif
|
||||
# Set default value
|
||||
ifndef RUBY_VER
|
||||
RUBY_VER = 16
|
||||
endif
|
||||
ifndef RUBY_VER_LONG
|
||||
RUBY_VER_LONG = 1.6
|
||||
endif
|
||||
ifndef RUBY_API_VER
|
||||
RUBY_API_VER = $(subst .,,$(RUBY_VER_LONG))
|
||||
endif
|
||||
|
||||
ifndef RUBY_PLATFORM
|
||||
ifeq ($(RUBY_VER), 16)
|
||||
ifndef RUBY_PLATFORM
|
||||
RUBY_PLATFORM = i586-mswin32
|
||||
endif
|
||||
ifndef RUBY_INSTALL_NAME
|
||||
RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_VER)
|
||||
endif
|
||||
else
|
||||
ifndef RUBY_PLATFORM
|
||||
ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/i386-mingw32),)
|
||||
RUBY_PLATFORM = i386-mingw32
|
||||
else
|
||||
ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/x64-mingw32),)
|
||||
RUBY_PLATFORM = x64-mingw32
|
||||
else
|
||||
RUBY_PLATFORM = i386-mswin32
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef RUBY_INSTALL_NAME
|
||||
RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_VER)
|
||||
ifeq ($(RUBY_VER), 16)
|
||||
RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
|
||||
else
|
||||
ifeq ($(ARCH),x86-64)
|
||||
RUBY_INSTALL_NAME = x64-msvcrt-ruby$(RUBY_API_VER)
|
||||
else
|
||||
RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -226,6 +255,10 @@ RUBY_19_OR_LATER = 1
|
||||
endif
|
||||
|
||||
DEFINES += -DFEAT_RUBY
|
||||
ifneq ($(findstring w64-mingw32,$(CC)),)
|
||||
# A workaround for mingw-w64
|
||||
DEFINES += -DHAVE_STRUCT_TIMESPEC -DHAVE_STRUCT_TIMEZONE
|
||||
endif
|
||||
INCLUDES += -I$(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
|
||||
ifdef RUBY_19_OR_LATER
|
||||
INCLUDES += -I$(RUBY)/include/ruby-$(RUBY_VER_LONG) -I$(RUBY)/include/ruby-$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
|
||||
@@ -460,7 +493,12 @@ endif
|
||||
ifeq (yes, $(OLE))
|
||||
DEFINES += -DFEAT_OLE
|
||||
EXTRA_OBJS += $(OUTDIR)/if_ole.o
|
||||
EXTRA_LIBS += -loleaut32 -lstdc++
|
||||
EXTRA_LIBS += -loleaut32
|
||||
ifeq (yes, $(STATIC_STDCPLUS))
|
||||
EXTRA_LIBS += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
|
||||
else
|
||||
EXTRA_LIBS += -lstdc++
|
||||
endif
|
||||
endif
|
||||
|
||||
##############################
|
||||
@@ -517,6 +555,7 @@ OBJ = \
|
||||
$(OUTDIR)/option.o \
|
||||
$(OUTDIR)/os_win32.o \
|
||||
$(OUTDIR)/os_mswin.o \
|
||||
$(OUTDIR)/winclip.o \
|
||||
$(OUTDIR)/pathdef.o \
|
||||
$(OUTDIR)/popupmnu.o \
|
||||
$(OUTDIR)/quickfix.o \
|
||||
|
||||
@@ -241,6 +241,7 @@ LINK32_OBJS= \
|
||||
"$(INTDIR)/ops.obj" \
|
||||
"$(INTDIR)/option.obj" \
|
||||
"$(INTDIR)/os_mswin.obj" \
|
||||
"$(INTDIR)/winclip.obj" \
|
||||
"$(INTDIR)/os_win32.obj" \
|
||||
"$(INTDIR)/popupmnu.obj" \
|
||||
"$(INTDIR)/quickfix.obj" \
|
||||
@@ -600,6 +601,10 @@ SOURCE=.\os_mswin.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\winclip.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\os_win32.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
@@ -288,18 +288,26 @@ else
|
||||
ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/i386-mingw32),)
|
||||
RUBY_PLATFORM = i386-mingw32
|
||||
else
|
||||
ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/x64-mingw32),)
|
||||
RUBY_PLATFORM = x64-mingw32
|
||||
else
|
||||
RUBY_PLATFORM = i386-mswin32
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef RUBY_INSTALL_NAME
|
||||
ifeq ($(RUBY_VER), 16)
|
||||
RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
|
||||
else
|
||||
ifeq ($(ARCH),x86-64)
|
||||
RUBY_INSTALL_NAME = x64-msvcrt-ruby$(RUBY_API_VER)
|
||||
else
|
||||
RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq (19, $(word 1,$(sort 19 $(RUBY_VER))))
|
||||
RUBY_19_OR_LATER = 1
|
||||
@@ -523,6 +531,7 @@ OBJ = \
|
||||
$(OUTDIR)/option.o \
|
||||
$(OUTDIR)/os_win32.o \
|
||||
$(OUTDIR)/os_mswin.o \
|
||||
$(OUTDIR)/winclip.o \
|
||||
$(OUTDIR)/pathdef.o \
|
||||
$(OUTDIR)/popupmnu.o \
|
||||
$(OUTDIR)/quickfix.o \
|
||||
|
||||
@@ -543,6 +543,7 @@ OBJ = \
|
||||
$(OUTDIR)\ops.obj \
|
||||
$(OUTDIR)\option.obj \
|
||||
$(OUTDIR)\os_mswin.obj \
|
||||
$(OUTDIR)\winclip.obj \
|
||||
$(OUTDIR)\os_win32.obj \
|
||||
$(OUTDIR)\pathdef.obj \
|
||||
$(OUTDIR)\popupmnu.obj \
|
||||
@@ -1149,6 +1150,8 @@ $(OUTDIR)/ops.obj: $(OUTDIR) ops.c $(INCL)
|
||||
|
||||
$(OUTDIR)/os_mswin.obj: $(OUTDIR) os_mswin.c $(INCL)
|
||||
|
||||
$(OUTDIR)/winclip.obj: $(OUTDIR) winclip.c $(INCL)
|
||||
|
||||
$(OUTDIR)/os_win32.obj: $(OUTDIR) os_win32.c $(INCL) os_win32.h
|
||||
|
||||
$(OUTDIR)/os_w32exe.obj: $(OUTDIR) os_w32exe.c $(INCL)
|
||||
@@ -1256,6 +1259,7 @@ proto.h: \
|
||||
proto/ops.pro \
|
||||
proto/option.pro \
|
||||
proto/os_mswin.pro \
|
||||
proto/winclip.pro \
|
||||
proto/os_win32.pro \
|
||||
proto/popupmnu.pro \
|
||||
proto/quickfix.pro \
|
||||
|
||||
@@ -107,6 +107,7 @@ ObjFiles = \
|
||||
$(INTDIR)\os_win16.obj\
|
||||
$(INTDIR)\os_msdos.obj\
|
||||
$(INTDIR)\os_mswin.obj\
|
||||
$(INTDIR)\winclip.obj\
|
||||
$(INTDIR)\popupmnu.obj\
|
||||
$(INTDIR)\quickfix.obj\
|
||||
$(INTDIR)\regexp.obj\
|
||||
|
||||
20
src/Makefile
20
src/Makefile
@@ -1345,6 +1345,8 @@ LINT_EXTRA = -DUSE_SNIFF -DHANGUL_INPUT -D"__attribute__(x)="
|
||||
|
||||
DEPEND_CFLAGS = -DPROTO -DDEPEND -DFEAT_GUI $(LINT_CFLAGS)
|
||||
|
||||
# Note: MZSCHEME_LIBS must come before LIBS, because LIBS adds -lm which is
|
||||
# needed by racket.
|
||||
ALL_LIB_DIRS = $(GUI_LIBS_DIR) $(X_LIBS_DIR)
|
||||
ALL_LIBS = \
|
||||
$(GUI_LIBS1) \
|
||||
@@ -1353,10 +1355,10 @@ ALL_LIBS = \
|
||||
$(X_PRE_LIBS) \
|
||||
$(X_LIBS) \
|
||||
$(X_EXTRA_LIBS) \
|
||||
$(MZSCHEME_LIBS) \
|
||||
$(LIBS) \
|
||||
$(EXTRA_LIBS) \
|
||||
$(LUA_LIBS) \
|
||||
$(MZSCHEME_LIBS) \
|
||||
$(PERL_LIBS) \
|
||||
$(PYTHON_LIBS) \
|
||||
$(PYTHON3_LIBS) \
|
||||
@@ -1636,7 +1638,7 @@ PRO_AUTO = \
|
||||
RSRC_DIR = os_mac_rsrc
|
||||
|
||||
PRO_MANUAL = os_amiga.pro os_msdos.pro os_win16.pro os_win32.pro \
|
||||
os_mswin.pro os_beos.pro os_vms.pro $(PERL_PRO)
|
||||
os_mswin.pro winclip.pro os_beos.pro os_vms.pro $(PERL_PRO)
|
||||
|
||||
# Default target is making the executable and tools
|
||||
all: $(VIMTARGET) $(TOOLS) languages $(GUI_BUNDLE)
|
||||
@@ -1790,6 +1792,10 @@ os_mswin.pro: os_mswin.c
|
||||
$(CPROTO) -DWIN16 -DWIN32 -UHAVE_CONFIG_H $< > proto/$@
|
||||
echo "/* vim: set ft=c : */" >> proto/$@
|
||||
|
||||
winclip.pro: winclip.c
|
||||
$(CPROTO) -DWIN16 -DWIN32 -UHAVE_CONFIG_H $< > proto/$@
|
||||
echo "/* vim: set ft=c : */" >> proto/$@
|
||||
|
||||
os_beos.pro: os_beos.c
|
||||
$(CPROTO) -D__BEOS__ -UHAVE_CONFIG_H $< > proto/$@
|
||||
echo "/* vim: set ft=c : */" >> proto/$@
|
||||
@@ -2640,6 +2646,12 @@ objects/os_mac_conv.o: os_mac_conv.c
|
||||
objects/os_unix.o: os_unix.c
|
||||
$(CCC) -o $@ os_unix.c
|
||||
|
||||
objects/os_mswin.o: os_mswin.c
|
||||
$(CCC) -o $@ os_mswin.c
|
||||
|
||||
objects/winclip.o: winclip.c
|
||||
$(CCC) -o $@ winclip.c
|
||||
|
||||
objects/pathdef.o: auto/pathdef.c
|
||||
$(CCC) -o $@ auto/pathdef.c
|
||||
|
||||
@@ -2968,6 +2980,10 @@ objects/version.o: version.c vim.h auto/config.h feature.h os_unix.h auto/osdef.
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h version.h
|
||||
objects/winclip.o: winclip.c vimio.h vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h ex_cmds.h proto.h globals.h farsi.h arabic.h \
|
||||
proto/winclip.pro
|
||||
objects/window.o: window.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
|
||||
42
src/auto/configure
vendored
42
src/auto/configure
vendored
@@ -4737,13 +4737,24 @@ $as_echo "no" >&6; }
|
||||
if test -f "${vi_cv_path_lua_pfx}/bin/cyglua-${vi_cv_version_lua}.dll"; then
|
||||
vi_cv_dll_name_lua="cyglua-${vi_cv_version_lua}.dll"
|
||||
else
|
||||
for i in 0 1 2 3 4 5 6 7 8 9; do
|
||||
if test -f "${vi_cv_path_lua_pfx}/lib/liblua${vi_cv_version_lua}.so.$i"; then
|
||||
LUA_SONAME=".$i"
|
||||
break
|
||||
multiarch=`dpkg-architecture -qDEB_HOST_MULTIARCH 2> /dev/null`
|
||||
if test "X$multiarch" != "X"; then
|
||||
lib_multiarch="lib/${multiarch}"
|
||||
fi
|
||||
for subdir in "${lib_multiarch}" lib64 lib; do
|
||||
if test -z "$subdir"; then
|
||||
continue
|
||||
fi
|
||||
for sover in "${vi_cv_version_lua}.so" "-${vi_cv_version_lua}.so" ".so.${vi_cv_version_lua}"; do
|
||||
for i in .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 ""; do
|
||||
if test -f "${vi_cv_path_lua_pfx}/${subdir}/liblua${sover}$i"; then
|
||||
sover2="$i"
|
||||
break 3
|
||||
fi
|
||||
done
|
||||
done
|
||||
done
|
||||
vi_cv_dll_name_lua="liblua${vi_cv_version_lua}.so$LUA_SONAME"
|
||||
vi_cv_dll_name_lua="liblua${sover}$sover2"
|
||||
fi
|
||||
$as_echo "#define DYNAMIC_LUA 1" >>confdefs.h
|
||||
|
||||
@@ -8844,6 +8855,27 @@ fi
|
||||
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CYGWIN environment" >&5
|
||||
$as_echo_n "checking for CYGWIN environment... " >&6; }
|
||||
case `uname` in
|
||||
CYGWIN*) CYGWIN=yes; { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CYGWIN clipboard support" >&5
|
||||
$as_echo_n "checking for CYGWIN clipboard support... " >&6; }
|
||||
if test "x$with_x" = "xno" ; then
|
||||
OS_EXTRA_SRC=winclip.c; OS_EXTRA_OBJ=objects/winclip.o
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
$as_echo "#define FEAT_CYGWIN_WIN32_CLIPBOARD 1" >>confdefs.h
|
||||
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no - using X11" >&5
|
||||
$as_echo "no - using X11" >&6; }
|
||||
fi ;;
|
||||
|
||||
*) CYGWIN=no; { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; };;
|
||||
esac
|
||||
|
||||
if test "$enable_hangulinput" = "yes"; then
|
||||
if test "x$GUITYPE" = "xNONE"; then
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
:: command to build big Vim with OLE, Perl, Python, Ruby and Tcl
|
||||
SET VCDIR="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\"
|
||||
SET TOOLDIR=E:\
|
||||
%VCDIR%nmake -f Make_mvc.mak GUI=yes OLE=yes PERL=E:\perl514 DYNAMIC_PERL=yes PERL_VER=514 PYTHON=%TOOLDIR%python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 PYTHON3=%TOOLDIR%python32 DYNAMIC_PYTHON3=yes PYTHON3_VER=32 RUBY=%TOOLDIR%ruby192 DYNAMIC_RUBY=yes RUBY_VER=192 RUBY_VER_LONG=1.9.2 TCL=%TOOLDIR%tcl TCL_VER=85 TCL_VER_LONG=8.5 DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes
|
||||
%VCDIR%nmake -f Make_mvc.mak GUI=yes OLE=yes PERL=E:\perl514 DYNAMIC_PERL=yes PERL_VER=514 PYTHON=%TOOLDIR%python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 PYTHON3=%TOOLDIR%python32 DYNAMIC_PYTHON3=yes PYTHON3_VER=32 RUBY=%TOOLDIR%ruby192 DYNAMIC_RUBY=yes RUBY_VER=19 RUBY_VER_LONG=1.9.2 TCL=%TOOLDIR%tcl TCL_VER=85 TCL_VER_LONG=8.5 DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes
|
||||
|
||||
|
||||
83
src/buffer.c
83
src/buffer.c
@@ -82,6 +82,9 @@ open_buffer(read_stdin, eap, flags)
|
||||
#ifdef FEAT_AUTOCMD
|
||||
buf_T *old_curbuf;
|
||||
#endif
|
||||
#ifdef FEAT_SYN_HL
|
||||
long old_tw = curbuf->b_p_tw;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The 'readonly' flag is only set when BF_NEVERLOADED is being reset.
|
||||
@@ -113,6 +116,10 @@ open_buffer(read_stdin, eap, flags)
|
||||
}
|
||||
EMSG(_("E83: Cannot allocate buffer, using other one..."));
|
||||
enter_buffer(curbuf);
|
||||
#ifdef FEAT_SYN_HL
|
||||
if (old_tw != curbuf->b_p_tw)
|
||||
check_colorcolumn(curwin);
|
||||
#endif
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
@@ -641,6 +648,9 @@ free_buffer(buf)
|
||||
buf_T *buf;
|
||||
{
|
||||
free_buffer_stuff(buf, TRUE);
|
||||
#ifdef FEAT_EVAL
|
||||
unref_var_dict(buf->b_vars);
|
||||
#endif
|
||||
#ifdef FEAT_LUA
|
||||
lua_buffer_free(buf);
|
||||
#endif
|
||||
@@ -682,8 +692,8 @@ free_buffer_stuff(buf, free_options)
|
||||
#endif
|
||||
}
|
||||
#ifdef FEAT_EVAL
|
||||
vars_clear(&buf->b_vars.dv_hashtab); /* free all internal variables */
|
||||
hash_init(&buf->b_vars.dv_hashtab);
|
||||
vars_clear(&buf->b_vars->dv_hashtab); /* free all internal variables */
|
||||
hash_init(&buf->b_vars->dv_hashtab);
|
||||
#endif
|
||||
#ifdef FEAT_USR_CMDS
|
||||
uc_clear(&buf->b_ucmds); /* clear local user commands */
|
||||
@@ -786,6 +796,9 @@ handle_swap_exists(old_curbuf)
|
||||
# if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
|
||||
cleanup_T cs;
|
||||
# endif
|
||||
#ifdef FEAT_SYN_HL
|
||||
long old_tw = curbuf->b_p_tw;
|
||||
#endif
|
||||
|
||||
if (swap_exists_action == SEA_QUIT)
|
||||
{
|
||||
@@ -804,7 +817,13 @@ handle_swap_exists(old_curbuf)
|
||||
if (!buf_valid(old_curbuf) || old_curbuf == curbuf)
|
||||
old_curbuf = buflist_new(NULL, NULL, 1L, BLN_CURBUF | BLN_LISTED);
|
||||
if (old_curbuf != NULL)
|
||||
{
|
||||
enter_buffer(old_curbuf);
|
||||
#ifdef FEAT_SYN_HL
|
||||
if (old_tw != curbuf->b_p_tw)
|
||||
check_colorcolumn(curwin);
|
||||
#endif
|
||||
}
|
||||
/* If "old_curbuf" is NULL we are in big trouble here... */
|
||||
|
||||
# if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
|
||||
@@ -912,7 +931,8 @@ do_bufdel(command, arg, addr_count, start_bnr, end_bnr, forceit)
|
||||
if (!VIM_ISDIGIT(*arg))
|
||||
{
|
||||
p = skiptowhite_esc(arg);
|
||||
bnr = buflist_findpat(arg, p, command == DOBUF_WIPE, FALSE);
|
||||
bnr = buflist_findpat(arg, p, command == DOBUF_WIPE,
|
||||
FALSE, FALSE);
|
||||
if (bnr < 0) /* failed */
|
||||
break;
|
||||
arg = p;
|
||||
@@ -1364,6 +1384,9 @@ set_curbuf(buf, action)
|
||||
buf_T *prevbuf;
|
||||
int unload = (action == DOBUF_UNLOAD || action == DOBUF_DEL
|
||||
|| action == DOBUF_WIPE);
|
||||
#ifdef FEAT_SYN_HL
|
||||
long old_tw = curbuf->b_p_tw;
|
||||
#endif
|
||||
|
||||
setpcmark();
|
||||
if (!cmdmod.keepalt)
|
||||
@@ -1430,12 +1453,19 @@ set_curbuf(buf, action)
|
||||
# endif
|
||||
)
|
||||
#endif
|
||||
{
|
||||
enter_buffer(buf);
|
||||
#ifdef FEAT_SYN_HL
|
||||
if (old_tw != curbuf->b_p_tw)
|
||||
check_colorcolumn(curwin);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Enter a new current buffer.
|
||||
* Old curbuf must have been abandoned already!
|
||||
* Old curbuf must have been abandoned already! This also means "curbuf" may
|
||||
* be pointing to freed memory.
|
||||
*/
|
||||
void
|
||||
enter_buffer(buf)
|
||||
@@ -1667,6 +1697,17 @@ buflist_new(ffname, sfname, lnum, flags)
|
||||
vim_free(ffname);
|
||||
return NULL;
|
||||
}
|
||||
#ifdef FEAT_EVAL
|
||||
/* init b: variables */
|
||||
buf->b_vars = dict_alloc();
|
||||
if (buf->b_vars == NULL)
|
||||
{
|
||||
vim_free(ffname);
|
||||
vim_free(buf);
|
||||
return NULL;
|
||||
}
|
||||
init_var_dict(buf->b_vars, &buf->b_bufvar, VAR_SCOPE);
|
||||
#endif
|
||||
}
|
||||
|
||||
if (ffname != NULL)
|
||||
@@ -1751,10 +1792,6 @@ buflist_new(ffname, sfname, lnum, flags)
|
||||
buf->b_wininfo->wi_fpos.lnum = lnum;
|
||||
buf->b_wininfo->wi_win = curwin;
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
/* init b: variables */
|
||||
init_var_dict(&buf->b_vars, &buf->b_bufvar, VAR_SCOPE);
|
||||
#endif
|
||||
#ifdef FEAT_SYN_HL
|
||||
hash_init(&buf->b_s.b_keywtab);
|
||||
hash_init(&buf->b_s.b_keywtab_ic);
|
||||
@@ -2103,18 +2140,20 @@ buflist_findname_stat(ffname, stp)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#if defined(FEAT_LISTCMDS) || defined(FEAT_EVAL) || defined(FEAT_PERL) || defined(PROTO)
|
||||
#if defined(FEAT_LISTCMDS) || defined(FEAT_EVAL) || defined(FEAT_PERL) \
|
||||
|| defined(PROTO)
|
||||
/*
|
||||
* Find file in buffer list by a regexp pattern.
|
||||
* Return fnum of the found buffer.
|
||||
* Return < 0 for error.
|
||||
*/
|
||||
int
|
||||
buflist_findpat(pattern, pattern_end, unlisted, diffmode)
|
||||
buflist_findpat(pattern, pattern_end, unlisted, diffmode, curtab_only)
|
||||
char_u *pattern;
|
||||
char_u *pattern_end; /* pointer to first char after pattern */
|
||||
int unlisted; /* find unlisted buffers */
|
||||
int diffmode UNUSED; /* find diff-mode buffers only */
|
||||
int curtab_only; /* find buffers in current tab only */
|
||||
{
|
||||
buf_T *buf;
|
||||
regprog_T *prog;
|
||||
@@ -2182,6 +2221,23 @@ buflist_findpat(pattern, pattern_end, unlisted, diffmode)
|
||||
#endif
|
||||
&& buflist_match(prog, buf) != NULL)
|
||||
{
|
||||
if (curtab_only)
|
||||
{
|
||||
/* Ignore the match if the buffer is not open in
|
||||
* the current tab. */
|
||||
#ifdef FEAT_WINDOWS
|
||||
win_T *wp;
|
||||
|
||||
for (wp = firstwin; wp != NULL; wp = wp->w_next)
|
||||
if (wp->w_buffer == buf)
|
||||
break;
|
||||
if (wp == NULL)
|
||||
continue;
|
||||
#else
|
||||
if (curwin->w_buffer != buf)
|
||||
continue;
|
||||
#endif
|
||||
}
|
||||
if (match >= 0) /* already found a match */
|
||||
{
|
||||
match = -2;
|
||||
@@ -2355,12 +2411,7 @@ fname_match(prog, name)
|
||||
if (name != NULL)
|
||||
{
|
||||
regmatch.regprog = prog;
|
||||
#ifdef CASE_INSENSITIVE_FILENAME
|
||||
regmatch.rm_ic = TRUE; /* Always ignore case */
|
||||
#else
|
||||
regmatch.rm_ic = FALSE; /* Never ignore case */
|
||||
#endif
|
||||
|
||||
regmatch.rm_ic = p_fic; /* ignore case when 'fileignorecase' is set */
|
||||
if (vim_regexec(®match, name, (colnr_T)0))
|
||||
match = name;
|
||||
else
|
||||
|
||||
@@ -284,7 +284,12 @@ buf_init_chartab(buf, global)
|
||||
}
|
||||
++c;
|
||||
}
|
||||
|
||||
c = *p;
|
||||
p = skip_to_option_part(p);
|
||||
if (c == ',' && *p == NUL)
|
||||
/* Trailing comma is not allowed. */
|
||||
return FAIL;
|
||||
}
|
||||
}
|
||||
chartab_initialized = TRUE;
|
||||
@@ -939,19 +944,17 @@ vim_iswordp(p)
|
||||
return GET_CHARTAB(curbuf, *p) != 0;
|
||||
}
|
||||
|
||||
#if defined(FEAT_SYN_HL) || defined(PROTO)
|
||||
int
|
||||
vim_iswordp_buf(p, buf)
|
||||
char_u *p;
|
||||
buf_T *buf;
|
||||
{
|
||||
# ifdef FEAT_MBYTE
|
||||
#ifdef FEAT_MBYTE
|
||||
if (has_mbyte && MB_BYTE2LEN(*p) > 1)
|
||||
return mb_get_class(p) >= 2;
|
||||
# endif
|
||||
#endif
|
||||
return (GET_CHARTAB(buf, *p) != 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* return TRUE if 'c' is a valid file-name character
|
||||
|
||||
@@ -439,3 +439,6 @@
|
||||
|
||||
/* Define if fcntl()'s F_SETFD command knows about FD_CLOEXEC */
|
||||
#undef HAVE_FD_CLOEXEC
|
||||
|
||||
/* Define if you want Cygwin to use the WIN32 clipboard, not compatible with X11*/
|
||||
#undef FEAT_CYGWIN_WIN32_CLIPBOARD
|
||||
|
||||
@@ -494,15 +494,26 @@ if test "$enable_luainterp" = "yes" -o "$enable_luainterp" = "dynamic"; then
|
||||
if test -f "${vi_cv_path_lua_pfx}/bin/cyglua-${vi_cv_version_lua}.dll"; then
|
||||
vi_cv_dll_name_lua="cyglua-${vi_cv_version_lua}.dll"
|
||||
else
|
||||
dnl Determine the SONAME for the current version, but fallback to
|
||||
dnl liblua${vi_cv_version_lua}.so if no SONAME-versioned file is found.
|
||||
for i in 0 1 2 3 4 5 6 7 8 9; do
|
||||
if test -f "${vi_cv_path_lua_pfx}/lib/liblua${vi_cv_version_lua}.so.$i"; then
|
||||
LUA_SONAME=".$i"
|
||||
break
|
||||
multiarch=`dpkg-architecture -qDEB_HOST_MULTIARCH 2> /dev/null`
|
||||
if test "X$multiarch" != "X"; then
|
||||
lib_multiarch="lib/${multiarch}"
|
||||
fi
|
||||
dnl Determine the sover for the current version, but fallback to
|
||||
dnl liblua${vi_cv_version_lua}.so if no sover-versioned file is found.
|
||||
for subdir in "${lib_multiarch}" lib64 lib; do
|
||||
if test -z "$subdir"; then
|
||||
continue
|
||||
fi
|
||||
for sover in "${vi_cv_version_lua}.so" "-${vi_cv_version_lua}.so" ".so.${vi_cv_version_lua}"; do
|
||||
for i in .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 ""; do
|
||||
if test -f "${vi_cv_path_lua_pfx}/${subdir}/liblua${sover}$i"; then
|
||||
sover2="$i"
|
||||
break 3
|
||||
fi
|
||||
done
|
||||
done
|
||||
done
|
||||
vi_cv_dll_name_lua="liblua${vi_cv_version_lua}.so$LUA_SONAME"
|
||||
vi_cv_dll_name_lua="liblua${sover}$sover2"
|
||||
fi
|
||||
AC_DEFINE(DYNAMIC_LUA)
|
||||
LUA_LIBS=""
|
||||
@@ -2472,6 +2483,21 @@ dnl ---------------------------------------------------------------------------
|
||||
dnl end of GUI-checking
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
dnl Check for Cygwin, which needs an extra source file if not using X11
|
||||
AC_MSG_CHECKING(for CYGWIN environment)
|
||||
case `uname` in
|
||||
CYGWIN*) CYGWIN=yes; AC_MSG_RESULT(yes)
|
||||
AC_MSG_CHECKING(for CYGWIN clipboard support)
|
||||
if test "x$with_x" = "xno" ; then
|
||||
OS_EXTRA_SRC=winclip.c; OS_EXTRA_OBJ=objects/winclip.o
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(FEAT_CYGWIN_WIN32_CLIPBOARD)
|
||||
else
|
||||
AC_MSG_RESULT(no - using X11)
|
||||
fi ;;
|
||||
|
||||
*) CYGWIN=no; AC_MSG_RESULT(no);;
|
||||
esac
|
||||
|
||||
dnl Only really enable hangul input when GUI and XFONTSET are available
|
||||
if test "$enable_hangulinput" = "yes"; then
|
||||
|
||||
@@ -2152,7 +2152,7 @@ ex_diffgetput(eap)
|
||||
i = atol((char *)eap->arg);
|
||||
else
|
||||
{
|
||||
i = buflist_findpat(eap->arg, p, FALSE, TRUE);
|
||||
i = buflist_findpat(eap->arg, p, FALSE, TRUE, FALSE);
|
||||
if (i < 0)
|
||||
return; /* error message already given */
|
||||
}
|
||||
|
||||
@@ -375,7 +375,7 @@ get_vim_env(void)
|
||||
|
||||
/* First get $VIMRUNTIME. If it's set, remove the tail. */
|
||||
vim = getenv("VIMRUNTIME");
|
||||
if (vim != NULL && *vim != 0)
|
||||
if (vim != NULL && *vim != 0 && strlen(vim) < BUFSIZE)
|
||||
{
|
||||
strcpy(buf, vim);
|
||||
remove_tail(buf);
|
||||
|
||||
39
src/edit.c
39
src/edit.c
@@ -1592,6 +1592,21 @@ ins_redraw(ready)
|
||||
# endif
|
||||
last_cursormoved = curwin->w_cursor;
|
||||
}
|
||||
#endif
|
||||
#ifdef FEAT_AUTOCMD
|
||||
/* Trigger TextChangedI if b_changedtick differs. */
|
||||
if (!ready && has_textchangedI()
|
||||
&& last_changedtick != curbuf->b_changedtick
|
||||
# ifdef FEAT_INS_EXPAND
|
||||
&& !pum_visible()
|
||||
# endif
|
||||
)
|
||||
{
|
||||
if (last_changedtick_buf == curbuf)
|
||||
apply_autocmds(EVENT_TEXTCHANGEDI, NULL, NULL, FALSE, curbuf);
|
||||
last_changedtick_buf = curbuf;
|
||||
last_changedtick = curbuf->b_changedtick;
|
||||
}
|
||||
#endif
|
||||
if (must_redraw)
|
||||
update_screen(0);
|
||||
@@ -3380,6 +3395,9 @@ ins_compl_bs()
|
||||
if (compl_leader != NULL)
|
||||
{
|
||||
ins_compl_new_leader();
|
||||
if (compl_shown_match != NULL)
|
||||
/* Make sure current match is not a hidden item. */
|
||||
compl_curr_match = compl_shown_match;
|
||||
return NUL;
|
||||
}
|
||||
return K_BS;
|
||||
@@ -3846,6 +3864,12 @@ ins_compl_prep(c)
|
||||
#endif
|
||||
}
|
||||
}
|
||||
#ifdef FEAT_AUTOCMD
|
||||
else if (ctrl_x_mode == CTRL_X_LOCAL_MSG)
|
||||
/* Trigger the CompleteDone event to give scripts a chance to act
|
||||
* upon the (possibly failed) completion. */
|
||||
apply_autocmds(EVENT_COMPLETEDONE, NULL, NULL, FALSE, curbuf);
|
||||
#endif
|
||||
|
||||
/* reset continue_* if we left expansion-mode, if we stay they'll be
|
||||
* (re)set properly in ins_complete() */
|
||||
@@ -4312,13 +4336,7 @@ ins_compl_get_exp(ini)
|
||||
|
||||
/* May change home directory back to "~". */
|
||||
tilde_replace(compl_pattern, num_matches, matches);
|
||||
ins_compl_add_matches(num_matches, matches,
|
||||
#ifdef CASE_INSENSITIVE_FILENAME
|
||||
TRUE
|
||||
#else
|
||||
FALSE
|
||||
#endif
|
||||
);
|
||||
ins_compl_add_matches(num_matches, matches, p_fic || p_wic);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -9133,9 +9151,8 @@ ins_mousescroll(dir)
|
||||
|
||||
tpos = curwin->w_cursor;
|
||||
|
||||
# if defined(FEAT_GUI) && defined(FEAT_WINDOWS)
|
||||
/* Currently the mouse coordinates are only known in the GUI. */
|
||||
if (gui.in_use && mouse_row >= 0 && mouse_col >= 0)
|
||||
# ifdef FEAT_WINDOWS
|
||||
if (mouse_row >= 0 && mouse_col >= 0)
|
||||
{
|
||||
int row, col;
|
||||
|
||||
@@ -9185,7 +9202,7 @@ ins_mousescroll(dir)
|
||||
# endif
|
||||
}
|
||||
|
||||
# if defined(FEAT_GUI) && defined(FEAT_WINDOWS)
|
||||
# ifdef FEAT_WINDOWS
|
||||
curwin->w_redr_status = TRUE;
|
||||
|
||||
curwin = old_curwin;
|
||||
|
||||
315
src/eval.c
315
src/eval.c
@@ -688,6 +688,9 @@ static void f_setreg __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_settabvar __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_settabwinvar __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_setwinvar __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
#ifdef FEAT_CRYPT
|
||||
static void f_sha256 __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
#endif /* FEAT_CRYPT */
|
||||
static void f_shellescape __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_shiftwidth __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_simplify __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
@@ -748,6 +751,7 @@ static void f_undotree __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_values __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_virtcol __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_visualmode __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_wildmenumode __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_winbufnr __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_wincol __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_winheight __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
@@ -784,7 +788,7 @@ static char_u *get_tv_string __ARGS((typval_T *varp));
|
||||
static char_u *get_tv_string_buf __ARGS((typval_T *varp, char_u *buf));
|
||||
static char_u *get_tv_string_buf_chk __ARGS((typval_T *varp, char_u *buf));
|
||||
static dictitem_T *find_var __ARGS((char_u *name, hashtab_T **htp));
|
||||
static dictitem_T *find_var_in_ht __ARGS((hashtab_T *ht, char_u *varname, int writing));
|
||||
static dictitem_T *find_var_in_ht __ARGS((hashtab_T *ht, int htname, char_u *varname, int writing));
|
||||
static hashtab_T *find_var_ht __ARGS((char_u *name, char_u **varname));
|
||||
static void vars_clear_ext __ARGS((hashtab_T *ht, int free_val));
|
||||
static void delete_var __ARGS((hashtab_T *ht, hashitem_T *hi));
|
||||
@@ -914,7 +918,9 @@ eval_clear()
|
||||
hash_clear(&compat_hashtab);
|
||||
|
||||
free_scriptnames();
|
||||
# if defined(FEAT_CMDL_COMPL)
|
||||
free_locales();
|
||||
# endif
|
||||
|
||||
/* global variables */
|
||||
vars_clear(&globvarht);
|
||||
@@ -1558,8 +1564,6 @@ eval_expr(arg, nextcmd)
|
||||
}
|
||||
|
||||
|
||||
#if (defined(FEAT_USR_CMDS) && defined(FEAT_CMDL_COMPL)) \
|
||||
|| defined(FEAT_COMPL_FUNC) || defined(PROTO)
|
||||
/*
|
||||
* Call some vimL function and return the result in "*rettv".
|
||||
* Uses argv[argc] for the function arguments. Only Number and String
|
||||
@@ -1637,6 +1641,33 @@ call_vim_function(func, argc, argv, safe, str_arg_only, rettv)
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* Call vimL function "func" and return the result as a number.
|
||||
* Returns -1 when calling the function fails.
|
||||
* Uses argv[argc] for the function arguments.
|
||||
*/
|
||||
long
|
||||
call_func_retnr(func, argc, argv, safe)
|
||||
char_u *func;
|
||||
int argc;
|
||||
char_u **argv;
|
||||
int safe; /* use the sandbox */
|
||||
{
|
||||
typval_T rettv;
|
||||
long retval;
|
||||
|
||||
/* All arguments are passed as strings, no conversion to number. */
|
||||
if (call_vim_function(func, argc, argv, safe, TRUE, &rettv) == FAIL)
|
||||
return -1;
|
||||
|
||||
retval = get_tv_number_chk(&rettv, NULL);
|
||||
clear_tv(&rettv);
|
||||
return retval;
|
||||
}
|
||||
|
||||
#if (defined(FEAT_USR_CMDS) && defined(FEAT_CMDL_COMPL)) \
|
||||
|| defined(FEAT_COMPL_FUNC) || defined(PROTO)
|
||||
|
||||
# if (defined(FEAT_USR_CMDS) && defined(FEAT_CMDL_COMPL)) || defined(PROTO)
|
||||
/*
|
||||
* Call vimL function "func" and return the result as a string.
|
||||
@@ -1663,32 +1694,6 @@ call_func_retstr(func, argc, argv, safe)
|
||||
}
|
||||
# endif
|
||||
|
||||
# if defined(FEAT_COMPL_FUNC) || defined(PROTO)
|
||||
/*
|
||||
* Call vimL function "func" and return the result as a number.
|
||||
* Returns -1 when calling the function fails.
|
||||
* Uses argv[argc] for the function arguments.
|
||||
*/
|
||||
long
|
||||
call_func_retnr(func, argc, argv, safe)
|
||||
char_u *func;
|
||||
int argc;
|
||||
char_u **argv;
|
||||
int safe; /* use the sandbox */
|
||||
{
|
||||
typval_T rettv;
|
||||
long retval;
|
||||
|
||||
/* All arguments are passed as strings, no conversion to number. */
|
||||
if (call_vim_function(func, argc, argv, safe, TRUE, &rettv) == FAIL)
|
||||
return -1;
|
||||
|
||||
retval = get_tv_number_chk(&rettv, NULL);
|
||||
clear_tv(&rettv);
|
||||
return retval;
|
||||
}
|
||||
# endif
|
||||
|
||||
/*
|
||||
* Call vimL function "func" and return the result as a List.
|
||||
* Uses argv[argc] for the function arguments.
|
||||
@@ -1717,7 +1722,6 @@ call_func_retlist(func, argc, argv, safe)
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Save the current function call pointer, and set it to NULL.
|
||||
* Used when executing autocommands and for ":source".
|
||||
@@ -2127,7 +2131,7 @@ list_buf_vars(first)
|
||||
{
|
||||
char_u numbuf[NUMBUFLEN];
|
||||
|
||||
list_hashtable_vars(&curbuf->b_vars.dv_hashtab, (char_u *)"b:",
|
||||
list_hashtable_vars(&curbuf->b_vars->dv_hashtab, (char_u *)"b:",
|
||||
TRUE, first);
|
||||
|
||||
sprintf((char *)numbuf, "%ld", (long)curbuf->b_changedtick);
|
||||
@@ -2142,7 +2146,7 @@ list_buf_vars(first)
|
||||
list_win_vars(first)
|
||||
int *first;
|
||||
{
|
||||
list_hashtable_vars(&curwin->w_vars.dv_hashtab,
|
||||
list_hashtable_vars(&curwin->w_vars->dv_hashtab,
|
||||
(char_u *)"w:", TRUE, first);
|
||||
}
|
||||
|
||||
@@ -2154,7 +2158,7 @@ list_win_vars(first)
|
||||
list_tab_vars(first)
|
||||
int *first;
|
||||
{
|
||||
list_hashtable_vars(&curtab->tp_vars.dv_hashtab,
|
||||
list_hashtable_vars(&curtab->tp_vars->dv_hashtab,
|
||||
(char_u *)"t:", TRUE, first);
|
||||
}
|
||||
#endif
|
||||
@@ -3944,7 +3948,7 @@ get_user_var_name(xp, idx)
|
||||
}
|
||||
|
||||
/* b: variables */
|
||||
ht = &curbuf->b_vars.dv_hashtab;
|
||||
ht = &curbuf->b_vars->dv_hashtab;
|
||||
if (bdone < ht->ht_used)
|
||||
{
|
||||
if (bdone++ == 0)
|
||||
@@ -3962,7 +3966,7 @@ get_user_var_name(xp, idx)
|
||||
}
|
||||
|
||||
/* w: variables */
|
||||
ht = &curwin->w_vars.dv_hashtab;
|
||||
ht = &curwin->w_vars->dv_hashtab;
|
||||
if (wdone < ht->ht_used)
|
||||
{
|
||||
if (wdone++ == 0)
|
||||
@@ -3976,7 +3980,7 @@ get_user_var_name(xp, idx)
|
||||
|
||||
#ifdef FEAT_WINDOWS
|
||||
/* t: variables */
|
||||
ht = &curtab->tp_vars.dv_hashtab;
|
||||
ht = &curtab->tp_vars->dv_hashtab;
|
||||
if (tdone < ht->ht_used)
|
||||
{
|
||||
if (tdone++ == 0)
|
||||
@@ -5160,6 +5164,16 @@ eval7(arg, rettv, evaluate, want_string)
|
||||
ret = get_func_tv(s, len, rettv, arg,
|
||||
curwin->w_cursor.lnum, curwin->w_cursor.lnum,
|
||||
&len, evaluate, NULL);
|
||||
|
||||
/* If evaluate is FALSE rettv->v_type was not set in
|
||||
* get_func_tv, but it's needed in handle_subscript() to parse
|
||||
* what follows. So set it here. */
|
||||
if (rettv->v_type == VAR_UNKNOWN && !evaluate && **arg == '(')
|
||||
{
|
||||
rettv->vval.v_string = vim_strsave((char_u *)"");
|
||||
rettv->v_type = VAR_FUNC;
|
||||
}
|
||||
|
||||
/* Stop the expression evaluation when immediately
|
||||
* aborting on error, or when an interrupt occurred or
|
||||
* an exception was thrown but not caught. */
|
||||
@@ -6773,16 +6787,20 @@ garbage_collect()
|
||||
|
||||
/* buffer-local variables */
|
||||
for (buf = firstbuf; buf != NULL; buf = buf->b_next)
|
||||
set_ref_in_ht(&buf->b_vars.dv_hashtab, copyID);
|
||||
set_ref_in_item(&buf->b_bufvar.di_tv, copyID);
|
||||
|
||||
/* window-local variables */
|
||||
FOR_ALL_TAB_WINDOWS(tp, wp)
|
||||
set_ref_in_ht(&wp->w_vars.dv_hashtab, copyID);
|
||||
set_ref_in_item(&wp->w_winvar.di_tv, copyID);
|
||||
#ifdef FEAT_AUTOCMD
|
||||
if (aucmd_win != NULL)
|
||||
set_ref_in_item(&aucmd_win->w_winvar.di_tv, copyID);
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_WINDOWS
|
||||
/* tabpage-local variables */
|
||||
for (tp = first_tabpage; tp != NULL; tp = tp->tp_next)
|
||||
set_ref_in_ht(&tp->tp_vars.dv_hashtab, copyID);
|
||||
set_ref_in_item(&tp->tp_winvar.di_tv, copyID);
|
||||
#endif
|
||||
|
||||
/* global variables */
|
||||
@@ -7912,7 +7930,7 @@ static struct fst
|
||||
{"garbagecollect", 0, 1, f_garbagecollect},
|
||||
{"get", 2, 3, f_get},
|
||||
{"getbufline", 2, 3, f_getbufline},
|
||||
{"getbufvar", 2, 2, f_getbufvar},
|
||||
{"getbufvar", 2, 3, f_getbufvar},
|
||||
{"getchar", 0, 1, f_getchar},
|
||||
{"getcharmod", 0, 0, f_getcharmod},
|
||||
{"getcmdline", 0, 0, f_getcmdline},
|
||||
@@ -7932,11 +7950,11 @@ static struct fst
|
||||
{"getqflist", 0, 0, f_getqflist},
|
||||
{"getreg", 0, 2, f_getreg},
|
||||
{"getregtype", 0, 1, f_getregtype},
|
||||
{"gettabvar", 2, 2, f_gettabvar},
|
||||
{"gettabwinvar", 3, 3, f_gettabwinvar},
|
||||
{"gettabvar", 2, 3, f_gettabvar},
|
||||
{"gettabwinvar", 3, 4, f_gettabwinvar},
|
||||
{"getwinposx", 0, 0, f_getwinposx},
|
||||
{"getwinposy", 0, 0, f_getwinposy},
|
||||
{"getwinvar", 2, 2, f_getwinvar},
|
||||
{"getwinvar", 2, 3, f_getwinvar},
|
||||
{"glob", 1, 3, f_glob},
|
||||
{"globpath", 2, 3, f_globpath},
|
||||
{"has", 1, 1, f_has},
|
||||
@@ -8055,6 +8073,9 @@ static struct fst
|
||||
{"settabvar", 3, 3, f_settabvar},
|
||||
{"settabwinvar", 4, 4, f_settabwinvar},
|
||||
{"setwinvar", 3, 3, f_setwinvar},
|
||||
#ifdef FEAT_CRYPT
|
||||
{"sha256", 1, 1, f_sha256},
|
||||
#endif
|
||||
{"shellescape", 1, 2, f_shellescape},
|
||||
{"shiftwidth", 0, 0, f_shiftwidth},
|
||||
{"simplify", 1, 1, f_simplify},
|
||||
@@ -8115,6 +8136,7 @@ static struct fst
|
||||
{"values", 1, 1, f_values},
|
||||
{"virtcol", 1, 1, f_virtcol},
|
||||
{"visualmode", 0, 1, f_visualmode},
|
||||
{"wildmenumode", 0, 0, f_wildmenumode},
|
||||
{"winbufnr", 1, 1, f_winbufnr},
|
||||
{"wincol", 0, 0, f_wincol},
|
||||
{"winheight", 1, 1, f_winheight},
|
||||
@@ -9001,14 +9023,15 @@ f_bufloaded(argvars, rettv)
|
||||
rettv->vval.v_number = (buf != NULL && buf->b_ml.ml_mfp != NULL);
|
||||
}
|
||||
|
||||
static buf_T *get_buf_tv __ARGS((typval_T *tv));
|
||||
static buf_T *get_buf_tv __ARGS((typval_T *tv, int curtab_only));
|
||||
|
||||
/*
|
||||
* Get buffer by number or pattern.
|
||||
*/
|
||||
static buf_T *
|
||||
get_buf_tv(tv)
|
||||
get_buf_tv(tv, curtab_only)
|
||||
typval_T *tv;
|
||||
int curtab_only;
|
||||
{
|
||||
char_u *name = tv->vval.v_string;
|
||||
int save_magic;
|
||||
@@ -9031,7 +9054,7 @@ get_buf_tv(tv)
|
||||
p_cpo = (char_u *)"";
|
||||
|
||||
buf = buflist_findnr(buflist_findpat(name, name + STRLEN(name),
|
||||
TRUE, FALSE));
|
||||
TRUE, FALSE, curtab_only));
|
||||
|
||||
p_magic = save_magic;
|
||||
p_cpo = save_cpo;
|
||||
@@ -9055,7 +9078,7 @@ f_bufname(argvars, rettv)
|
||||
|
||||
(void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
|
||||
++emsg_off;
|
||||
buf = get_buf_tv(&argvars[0]);
|
||||
buf = get_buf_tv(&argvars[0], FALSE);
|
||||
rettv->v_type = VAR_STRING;
|
||||
if (buf != NULL && buf->b_fname != NULL)
|
||||
rettv->vval.v_string = vim_strsave(buf->b_fname);
|
||||
@@ -9078,7 +9101,7 @@ f_bufnr(argvars, rettv)
|
||||
|
||||
(void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
|
||||
++emsg_off;
|
||||
buf = get_buf_tv(&argvars[0]);
|
||||
buf = get_buf_tv(&argvars[0], FALSE);
|
||||
--emsg_off;
|
||||
|
||||
/* If the buffer isn't found and the second argument is not zero create a
|
||||
@@ -9113,7 +9136,7 @@ f_bufwinnr(argvars, rettv)
|
||||
|
||||
(void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
|
||||
++emsg_off;
|
||||
buf = get_buf_tv(&argvars[0]);
|
||||
buf = get_buf_tv(&argvars[0], TRUE);
|
||||
#ifdef FEAT_WINDOWS
|
||||
for (wp = firstwin; wp; wp = wp->w_next)
|
||||
{
|
||||
@@ -9324,7 +9347,7 @@ f_char2nr(argvars, rettv)
|
||||
*/
|
||||
static void
|
||||
f_cindent(argvars, rettv)
|
||||
typval_T *argvars;
|
||||
typval_T *argvars UNUSED;
|
||||
typval_T *rettv;
|
||||
{
|
||||
#ifdef FEAT_CINDENT
|
||||
@@ -10373,9 +10396,9 @@ static void findfilendir __ARGS((typval_T *argvars, typval_T *rettv, int find_wh
|
||||
|
||||
static void
|
||||
findfilendir(argvars, rettv, find_what)
|
||||
typval_T *argvars;
|
||||
typval_T *argvars UNUSED;
|
||||
typval_T *rettv;
|
||||
int find_what;
|
||||
int find_what UNUSED;
|
||||
{
|
||||
#ifdef FEAT_SEARCHPATH
|
||||
char_u *fname;
|
||||
@@ -10745,9 +10768,9 @@ static void foldclosed_both __ARGS((typval_T *argvars, typval_T *rettv, int end)
|
||||
*/
|
||||
static void
|
||||
foldclosed_both(argvars, rettv, end)
|
||||
typval_T *argvars;
|
||||
typval_T *argvars UNUSED;
|
||||
typval_T *rettv;
|
||||
int end;
|
||||
int end UNUSED;
|
||||
{
|
||||
#ifdef FEAT_FOLDING
|
||||
linenr_T lnum;
|
||||
@@ -10796,8 +10819,8 @@ f_foldclosedend(argvars, rettv)
|
||||
*/
|
||||
static void
|
||||
f_foldlevel(argvars, rettv)
|
||||
typval_T *argvars;
|
||||
typval_T *rettv;
|
||||
typval_T *argvars UNUSED;
|
||||
typval_T *rettv UNUSED;
|
||||
{
|
||||
#ifdef FEAT_FOLDING
|
||||
linenr_T lnum;
|
||||
@@ -11077,7 +11100,7 @@ f_getbufline(argvars, rettv)
|
||||
|
||||
(void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
|
||||
++emsg_off;
|
||||
buf = get_buf_tv(&argvars[0]);
|
||||
buf = get_buf_tv(&argvars[0], FALSE);
|
||||
--emsg_off;
|
||||
|
||||
lnum = get_tv_lnum_buf(&argvars[1], buf);
|
||||
@@ -11101,11 +11124,12 @@ f_getbufvar(argvars, rettv)
|
||||
buf_T *save_curbuf;
|
||||
char_u *varname;
|
||||
dictitem_T *v;
|
||||
int done = FALSE;
|
||||
|
||||
(void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
|
||||
varname = get_tv_string_chk(&argvars[1]);
|
||||
++emsg_off;
|
||||
buf = get_buf_tv(&argvars[0]);
|
||||
buf = get_buf_tv(&argvars[0], FALSE);
|
||||
|
||||
rettv->v_type = VAR_STRING;
|
||||
rettv->vval.v_string = NULL;
|
||||
@@ -11117,29 +11141,37 @@ f_getbufvar(argvars, rettv)
|
||||
curbuf = buf;
|
||||
|
||||
if (*varname == '&') /* buffer-local-option */
|
||||
get_option_tv(&varname, rettv, TRUE);
|
||||
{
|
||||
if (get_option_tv(&varname, rettv, TRUE) == OK)
|
||||
done = TRUE;
|
||||
}
|
||||
else if (STRCMP(varname, "changedtick") == 0)
|
||||
{
|
||||
rettv->v_type = VAR_NUMBER;
|
||||
rettv->vval.v_number = curbuf->b_changedtick;
|
||||
done = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (*varname == NUL)
|
||||
/* let getbufvar({nr}, "") return the "b:" dictionary. The
|
||||
* scope prefix before the NUL byte is required by
|
||||
* find_var_in_ht(). */
|
||||
varname = (char_u *)"b:" + 2;
|
||||
/* look up the variable */
|
||||
v = find_var_in_ht(&curbuf->b_vars.dv_hashtab, varname, FALSE);
|
||||
/* Look up the variable. */
|
||||
/* Let getbufvar({nr}, "") return the "b:" dictionary. */
|
||||
v = find_var_in_ht(&curbuf->b_vars->dv_hashtab,
|
||||
'b', varname, FALSE);
|
||||
if (v != NULL)
|
||||
{
|
||||
copy_tv(&v->di_tv, rettv);
|
||||
done = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
/* restore previous notion of curbuf */
|
||||
curbuf = save_curbuf;
|
||||
}
|
||||
|
||||
if (!done && argvars[2].v_type != VAR_UNKNOWN)
|
||||
/* use the default value */
|
||||
copy_tv(&argvars[2], rettv);
|
||||
|
||||
--emsg_off;
|
||||
}
|
||||
|
||||
@@ -11214,27 +11246,7 @@ f_getchar(argvars, rettv)
|
||||
rettv->vval.v_string = vim_strsave(temp);
|
||||
|
||||
#ifdef FEAT_MOUSE
|
||||
if (n == K_LEFTMOUSE
|
||||
|| n == K_LEFTMOUSE_NM
|
||||
|| n == K_LEFTDRAG
|
||||
|| n == K_LEFTRELEASE
|
||||
|| n == K_LEFTRELEASE_NM
|
||||
|| n == K_MIDDLEMOUSE
|
||||
|| n == K_MIDDLEDRAG
|
||||
|| n == K_MIDDLERELEASE
|
||||
|| n == K_RIGHTMOUSE
|
||||
|| n == K_RIGHTDRAG
|
||||
|| n == K_RIGHTRELEASE
|
||||
|| n == K_X1MOUSE
|
||||
|| n == K_X1DRAG
|
||||
|| n == K_X1RELEASE
|
||||
|| n == K_X2MOUSE
|
||||
|| n == K_X2DRAG
|
||||
|| n == K_X2RELEASE
|
||||
|| n == K_MOUSELEFT
|
||||
|| n == K_MOUSERIGHT
|
||||
|| n == K_MOUSEDOWN
|
||||
|| n == K_MOUSEUP)
|
||||
if (is_mouse_key(n))
|
||||
{
|
||||
int row = mouse_row;
|
||||
int col = mouse_col;
|
||||
@@ -11577,7 +11589,7 @@ f_getline(argvars, rettv)
|
||||
static void
|
||||
f_getmatches(argvars, rettv)
|
||||
typval_T *argvars UNUSED;
|
||||
typval_T *rettv;
|
||||
typval_T *rettv UNUSED;
|
||||
{
|
||||
#ifdef FEAT_SEARCH_EXTRA
|
||||
dict_T *dict;
|
||||
@@ -11765,6 +11777,7 @@ f_gettabvar(argvars, rettv)
|
||||
tabpage_T *tp;
|
||||
dictitem_T *v;
|
||||
char_u *varname;
|
||||
int done = FALSE;
|
||||
|
||||
rettv->v_type = VAR_STRING;
|
||||
rettv->vval.v_string = NULL;
|
||||
@@ -11774,10 +11787,16 @@ f_gettabvar(argvars, rettv)
|
||||
if (tp != NULL && varname != NULL)
|
||||
{
|
||||
/* look up the variable */
|
||||
v = find_var_in_ht(&tp->tp_vars.dv_hashtab, varname, FALSE);
|
||||
v = find_var_in_ht(&tp->tp_vars->dv_hashtab, 0, varname, FALSE);
|
||||
if (v != NULL)
|
||||
{
|
||||
copy_tv(&v->di_tv, rettv);
|
||||
done = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
if (!done && argvars[2].v_type != VAR_UNKNOWN)
|
||||
copy_tv(&argvars[2], rettv);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -11888,6 +11907,7 @@ getwinvar(argvars, rettv, off)
|
||||
char_u *varname;
|
||||
dictitem_T *v;
|
||||
tabpage_T *tp;
|
||||
int done = FALSE;
|
||||
|
||||
#ifdef FEAT_WINDOWS
|
||||
if (off == 1)
|
||||
@@ -11911,18 +11931,20 @@ getwinvar(argvars, rettv, off)
|
||||
curbuf = win->w_buffer;
|
||||
|
||||
if (*varname == '&') /* window-local-option */
|
||||
get_option_tv(&varname, rettv, 1);
|
||||
{
|
||||
if (get_option_tv(&varname, rettv, 1) == OK)
|
||||
done = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (*varname == NUL)
|
||||
/* let getwinvar({nr}, "") return the "w:" dictionary. The
|
||||
* scope prefix before the NUL byte is required by
|
||||
* find_var_in_ht(). */
|
||||
varname = (char_u *)"w:" + 2;
|
||||
/* look up the variable */
|
||||
v = find_var_in_ht(&win->w_vars.dv_hashtab, varname, FALSE);
|
||||
/* Look up the variable. */
|
||||
/* Let getwinvar({nr}, "") return the "w:" dictionary. */
|
||||
v = find_var_in_ht(&win->w_vars->dv_hashtab, 'w', varname, FALSE);
|
||||
if (v != NULL)
|
||||
{
|
||||
copy_tv(&v->di_tv, rettv);
|
||||
done = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
/* restore previous notion of curwin */
|
||||
@@ -11930,6 +11952,10 @@ getwinvar(argvars, rettv, off)
|
||||
curbuf = curwin->w_buffer;
|
||||
}
|
||||
|
||||
if (!done && argvars[off + 2].v_type != VAR_UNKNOWN)
|
||||
/* use the default return value */
|
||||
copy_tv(&argvars[off + 2], rettv);
|
||||
|
||||
--emsg_off;
|
||||
}
|
||||
|
||||
@@ -13583,7 +13609,7 @@ f_line2byte(argvars, rettv)
|
||||
*/
|
||||
static void
|
||||
f_lispindent(argvars, rettv)
|
||||
typval_T *argvars;
|
||||
typval_T *argvars UNUSED;
|
||||
typval_T *rettv;
|
||||
{
|
||||
#ifdef FEAT_LISP
|
||||
@@ -13977,8 +14003,8 @@ f_match(argvars, rettv)
|
||||
*/
|
||||
static void
|
||||
f_matchadd(argvars, rettv)
|
||||
typval_T *argvars;
|
||||
typval_T *rettv;
|
||||
typval_T *argvars UNUSED;
|
||||
typval_T *rettv UNUSED;
|
||||
{
|
||||
#ifdef FEAT_SEARCH_EXTRA
|
||||
char_u buf[NUMBUFLEN];
|
||||
@@ -14015,7 +14041,7 @@ f_matchadd(argvars, rettv)
|
||||
*/
|
||||
static void
|
||||
f_matcharg(argvars, rettv)
|
||||
typval_T *argvars;
|
||||
typval_T *argvars UNUSED;
|
||||
typval_T *rettv;
|
||||
{
|
||||
if (rettv_list_alloc(rettv) == OK)
|
||||
@@ -14047,8 +14073,8 @@ f_matcharg(argvars, rettv)
|
||||
*/
|
||||
static void
|
||||
f_matchdelete(argvars, rettv)
|
||||
typval_T *argvars;
|
||||
typval_T *rettv;
|
||||
typval_T *argvars UNUSED;
|
||||
typval_T *rettv UNUSED;
|
||||
{
|
||||
#ifdef FEAT_SEARCH_EXTRA
|
||||
rettv->vval.v_number = match_delete(curwin,
|
||||
@@ -14318,7 +14344,7 @@ f_mode(argvars, rettv)
|
||||
rettv->v_type = VAR_STRING;
|
||||
}
|
||||
|
||||
#ifdef FEAT_MZSCHEME
|
||||
#if defined(FEAT_MZSCHEME) || defined(PROTO)
|
||||
/*
|
||||
* "mzeval()" function
|
||||
*/
|
||||
@@ -14865,8 +14891,8 @@ list2proftime(arg, tm)
|
||||
*/
|
||||
static void
|
||||
f_reltime(argvars, rettv)
|
||||
typval_T *argvars;
|
||||
typval_T *rettv;
|
||||
typval_T *argvars UNUSED;
|
||||
typval_T *rettv UNUSED;
|
||||
{
|
||||
#ifdef FEAT_RELTIME
|
||||
proftime_T res;
|
||||
@@ -14914,7 +14940,7 @@ f_reltime(argvars, rettv)
|
||||
*/
|
||||
static void
|
||||
f_reltimestr(argvars, rettv)
|
||||
typval_T *argvars;
|
||||
typval_T *argvars UNUSED;
|
||||
typval_T *rettv;
|
||||
{
|
||||
#ifdef FEAT_RELTIME
|
||||
@@ -15959,7 +15985,7 @@ do_searchpair(spat, mpat, epat, dir, skip, flags, match_pos,
|
||||
int flags; /* SP_SETPCMARK and other SP_ values */
|
||||
pos_T *match_pos;
|
||||
linenr_T lnum_stop; /* stop at this line if not zero */
|
||||
long time_limit; /* stop after this many msec */
|
||||
long time_limit UNUSED; /* stop after this many msec */
|
||||
{
|
||||
char_u *save_cpo;
|
||||
char_u *pat, *pat2 = NULL, *pat3 = NULL;
|
||||
@@ -16202,7 +16228,7 @@ f_setbufvar(argvars, rettv)
|
||||
return;
|
||||
(void)get_tv_number(&argvars[0]); /* issue errmsg if type error */
|
||||
varname = get_tv_string_chk(&argvars[1]);
|
||||
buf = get_buf_tv(&argvars[0]);
|
||||
buf = get_buf_tv(&argvars[0], FALSE);
|
||||
varp = &argvars[2];
|
||||
|
||||
if (buf != NULL && varname != NULL && varp != NULL)
|
||||
@@ -16384,8 +16410,8 @@ f_setloclist(argvars, rettv)
|
||||
*/
|
||||
static void
|
||||
f_setmatches(argvars, rettv)
|
||||
typval_T *argvars;
|
||||
typval_T *rettv;
|
||||
typval_T *argvars UNUSED;
|
||||
typval_T *rettv UNUSED;
|
||||
{
|
||||
#ifdef FEAT_SEARCH_EXTRA
|
||||
list_T *l;
|
||||
@@ -16710,6 +16736,24 @@ setwinvar(argvars, rettv, off)
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef FEAT_CRYPT
|
||||
/*
|
||||
* "sha256({string})" function
|
||||
*/
|
||||
static void
|
||||
f_sha256(argvars, rettv)
|
||||
typval_T *argvars;
|
||||
typval_T *rettv;
|
||||
{
|
||||
char_u *p;
|
||||
|
||||
p = get_tv_string(&argvars[0]);
|
||||
rettv->vval.v_string = vim_strsave(
|
||||
sha256_bytes(p, (int)STRLEN(p), NULL, 0));
|
||||
rettv->v_type = VAR_STRING;
|
||||
}
|
||||
#endif /* FEAT_CRYPT */
|
||||
|
||||
/*
|
||||
* "shellescape({string})" function
|
||||
*/
|
||||
@@ -18439,7 +18483,7 @@ f_type(argvars, rettv)
|
||||
*/
|
||||
static void
|
||||
f_undofile(argvars, rettv)
|
||||
typval_T *argvars;
|
||||
typval_T *argvars UNUSED;
|
||||
typval_T *rettv;
|
||||
{
|
||||
rettv->v_type = VAR_STRING;
|
||||
@@ -18552,6 +18596,20 @@ f_visualmode(argvars, rettv)
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
* "wildmenumode()" function
|
||||
*/
|
||||
static void
|
||||
f_wildmenumode(argvars, rettv)
|
||||
typval_T *argvars UNUSED;
|
||||
typval_T *rettv UNUSED;
|
||||
{
|
||||
#ifdef FEAT_WILDMENU
|
||||
if (wild_menu_showing)
|
||||
rettv->vval.v_number = 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
* "winbufnr(nr)" function
|
||||
*/
|
||||
@@ -19994,16 +20052,17 @@ find_var(name, htp)
|
||||
*htp = ht;
|
||||
if (ht == NULL)
|
||||
return NULL;
|
||||
return find_var_in_ht(ht, varname, htp != NULL);
|
||||
return find_var_in_ht(ht, *name, varname, htp != NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
* Find variable "varname" in hashtab "ht".
|
||||
* Find variable "varname" in hashtab "ht" with name "htname".
|
||||
* Returns NULL if not found.
|
||||
*/
|
||||
static dictitem_T *
|
||||
find_var_in_ht(ht, varname, writing)
|
||||
find_var_in_ht(ht, htname, varname, writing)
|
||||
hashtab_T *ht;
|
||||
int htname;
|
||||
char_u *varname;
|
||||
int writing;
|
||||
{
|
||||
@@ -20012,7 +20071,7 @@ find_var_in_ht(ht, varname, writing)
|
||||
if (*varname == NUL)
|
||||
{
|
||||
/* Must be something like "s:", otherwise "ht" would be NULL. */
|
||||
switch (varname[-2])
|
||||
switch (htname)
|
||||
{
|
||||
case 's': return &SCRIPT_SV(current_SID)->sv_var;
|
||||
case 'g': return &globvars_var;
|
||||
@@ -20087,12 +20146,12 @@ find_var_ht(name, varname)
|
||||
|| vim_strchr(name + 2, AUTOLOAD_CHAR) != NULL)
|
||||
return NULL;
|
||||
if (*name == 'b') /* buffer variable */
|
||||
return &curbuf->b_vars.dv_hashtab;
|
||||
return &curbuf->b_vars->dv_hashtab;
|
||||
if (*name == 'w') /* window variable */
|
||||
return &curwin->w_vars.dv_hashtab;
|
||||
return &curwin->w_vars->dv_hashtab;
|
||||
#ifdef FEAT_WINDOWS
|
||||
if (*name == 't') /* tab page variable */
|
||||
return &curtab->tp_vars.dv_hashtab;
|
||||
return &curtab->tp_vars->dv_hashtab;
|
||||
#endif
|
||||
if (*name == 'v') /* v: variable */
|
||||
return &vimvarht;
|
||||
@@ -20181,6 +20240,19 @@ init_var_dict(dict, dict_var, scope)
|
||||
dict_var->di_key[0] = NUL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Unreference a dictionary initialized by init_var_dict().
|
||||
*/
|
||||
void
|
||||
unref_var_dict(dict)
|
||||
dict_T *dict;
|
||||
{
|
||||
/* Now the dict needs to be freed if no one else is using it, go back to
|
||||
* normal reference counting. */
|
||||
dict->dv_refcount -= DO_NOT_FREE_CNT - 1;
|
||||
dict_unref(dict);
|
||||
}
|
||||
|
||||
/*
|
||||
* Clean up a list of internal variables.
|
||||
* Frees all allocated variables and the value they contain.
|
||||
@@ -20329,7 +20401,7 @@ set_var(name, tv, copy)
|
||||
EMSG2(_(e_illvar), name);
|
||||
return;
|
||||
}
|
||||
v = find_var_in_ht(ht, varname, TRUE);
|
||||
v = find_var_in_ht(ht, 0, varname, TRUE);
|
||||
|
||||
if (tv->v_type == VAR_FUNC && var_check_func_name(name, v == NULL))
|
||||
return;
|
||||
@@ -21140,6 +21212,9 @@ ex_function(eap)
|
||||
if (arg[j] != NUL)
|
||||
emsg_funcname((char *)e_invarg2, arg);
|
||||
}
|
||||
/* Disallow using the g: dict. */
|
||||
if (fudi.fd_dict != NULL && fudi.fd_dict->dv_scope == VAR_DEF_SCOPE)
|
||||
EMSG(_("E862: Cannot use g: here"));
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -415,8 +415,15 @@ ex_sort(eap)
|
||||
}
|
||||
*s = NUL;
|
||||
/* Use last search pattern if sort pattern is empty. */
|
||||
if (s == p + 1 && last_search_pat() != NULL)
|
||||
if (s == p + 1)
|
||||
{
|
||||
if (last_search_pat() == NULL)
|
||||
{
|
||||
EMSG(_(e_noprevre));
|
||||
goto sortend;
|
||||
}
|
||||
regmatch.regprog = vim_regcomp(last_search_pat(), RE_MAGIC);
|
||||
}
|
||||
else
|
||||
regmatch.regprog = vim_regcomp(p + 1, RE_MAGIC);
|
||||
if (regmatch.regprog == NULL)
|
||||
@@ -2106,7 +2113,7 @@ read_viminfo_up_to_marks(virp, forceit, writing)
|
||||
buf_T *buf;
|
||||
|
||||
#ifdef FEAT_CMDHIST
|
||||
prepare_viminfo_history(forceit ? 9999 : 0);
|
||||
prepare_viminfo_history(forceit ? 9999 : 0, writing);
|
||||
#endif
|
||||
eof = viminfo_readline(virp);
|
||||
while (!eof && virp->vir_line[0] != '>')
|
||||
@@ -2154,7 +2161,7 @@ read_viminfo_up_to_marks(virp, forceit, writing)
|
||||
case '=':
|
||||
case '@':
|
||||
#ifdef FEAT_CMDHIST
|
||||
eof = read_viminfo_history(virp);
|
||||
eof = read_viminfo_history(virp, writing);
|
||||
#else
|
||||
eof = viminfo_readline(virp);
|
||||
#endif
|
||||
@@ -2175,7 +2182,8 @@ read_viminfo_up_to_marks(virp, forceit, writing)
|
||||
|
||||
#ifdef FEAT_CMDHIST
|
||||
/* Finish reading history items. */
|
||||
finish_viminfo_history();
|
||||
if (!writing)
|
||||
finish_viminfo_history();
|
||||
#endif
|
||||
|
||||
/* Change file names to buffer numbers for fmarks. */
|
||||
@@ -4764,8 +4772,8 @@ do_sub(eap)
|
||||
* substitute may have inserted or
|
||||
* deleted characters before the
|
||||
* cursor. */
|
||||
len_change = STRLEN(new_line)
|
||||
- STRLEN(orig_line);
|
||||
len_change = (int)STRLEN(new_line)
|
||||
- (int)STRLEN(orig_line);
|
||||
curwin->w_cursor.col += len_change;
|
||||
ml_replace(lnum, new_line, FALSE);
|
||||
}
|
||||
@@ -4878,7 +4886,7 @@ do_sub(eap)
|
||||
goto skip;
|
||||
}
|
||||
if (got_quit)
|
||||
break;
|
||||
goto skip;
|
||||
}
|
||||
|
||||
/* Move the cursor to the start of the match, so that we can
|
||||
@@ -5411,7 +5419,7 @@ ex_global(eap)
|
||||
if (type == 'v')
|
||||
smsg((char_u *)_("Pattern found in every line: %s"), pat);
|
||||
else
|
||||
smsg((char_u *)_(e_patnotf2), pat);
|
||||
smsg((char_u *)_("Pattern not found: %s"), pat);
|
||||
}
|
||||
else
|
||||
global_exe(cmd);
|
||||
|
||||
@@ -1926,11 +1926,7 @@ do_arglist(str, what, after)
|
||||
* Delete the items: use each item as a regexp and find a match in the
|
||||
* argument list.
|
||||
*/
|
||||
#ifdef CASE_INSENSITIVE_FILENAME
|
||||
regmatch.rm_ic = TRUE; /* Always ignore case */
|
||||
#else
|
||||
regmatch.rm_ic = FALSE; /* Never ignore case */
|
||||
#endif
|
||||
regmatch.rm_ic = p_fic; /* ignore case when 'fileignorecase' is set */
|
||||
for (i = 0; i < new_ga.ga_len && !got_int; ++i)
|
||||
{
|
||||
p = ((char_u **)new_ga.ga_data)[i];
|
||||
|
||||
@@ -1734,6 +1734,8 @@ do_one_cmd(cmdlinep, sourcing,
|
||||
#ifdef FEAT_EVAL
|
||||
/* avoid that a function call in 'statusline' does this */
|
||||
&& !getline_equal(fgetline, cookie, get_func_line)
|
||||
#endif
|
||||
#ifdef FEAT_AUTOCMD
|
||||
/* avoid that an autocommand, e.g. QuitPre, does this */
|
||||
&& !getline_equal(fgetline, cookie, getnextac)
|
||||
#endif
|
||||
@@ -2643,7 +2645,8 @@ do_one_cmd(cmdlinep, sourcing,
|
||||
while (p > ea.arg && vim_iswhite(p[-1]))
|
||||
--p;
|
||||
}
|
||||
ea.line2 = buflist_findpat(ea.arg, p, (ea.argt & BUFUNL) != 0, FALSE);
|
||||
ea.line2 = buflist_findpat(ea.arg, p, (ea.argt & BUFUNL) != 0,
|
||||
FALSE, FALSE);
|
||||
if (ea.line2 < 0) /* failed */
|
||||
goto doend;
|
||||
ea.addr_count = 1;
|
||||
@@ -5375,7 +5378,9 @@ fail:
|
||||
#endif
|
||||
return FAIL;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_USR_CMDS) || defined(FEAT_EVAL) || defined(PROTO)
|
||||
/*
|
||||
* List of names for completion for ":command" with the EXPAND_ flag.
|
||||
* Must be alphabetical for completion.
|
||||
@@ -5430,7 +5435,9 @@ static struct
|
||||
{EXPAND_USER_VARS, "var"},
|
||||
{0, NULL}
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_USR_CMDS) || defined(PROTO)
|
||||
static void
|
||||
uc_list(name, name_len)
|
||||
char_u *name;
|
||||
@@ -6375,10 +6382,12 @@ parse_compl_arg(value, vallen, complp, argt, compl_arg)
|
||||
int vallen;
|
||||
int *complp;
|
||||
long *argt;
|
||||
char_u **compl_arg;
|
||||
char_u **compl_arg UNUSED;
|
||||
{
|
||||
char_u *arg = NULL;
|
||||
# if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL)
|
||||
size_t arglen = 0;
|
||||
# endif
|
||||
int i;
|
||||
int valend = vallen;
|
||||
|
||||
@@ -6388,7 +6397,9 @@ parse_compl_arg(value, vallen, complp, argt, compl_arg)
|
||||
if (value[i] == ',')
|
||||
{
|
||||
arg = &value[i + 1];
|
||||
# if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL)
|
||||
arglen = vallen - i - 1;
|
||||
# endif
|
||||
valend = i;
|
||||
break;
|
||||
}
|
||||
@@ -6516,7 +6527,7 @@ ex_quit(eap)
|
||||
}
|
||||
#ifdef FEAT_AUTOCMD
|
||||
apply_autocmds(EVENT_QUITPRE, NULL, NULL, FALSE, curbuf);
|
||||
/* Refuse to quick when locked or when the buffer in the last window is
|
||||
/* Refuse to quit when locked or when the buffer in the last window is
|
||||
* being closed (can only happen in autocommands). */
|
||||
if (curbuf_locked() || (curbuf->b_nwindows == 1 && curbuf->b_closing))
|
||||
return;
|
||||
@@ -6590,7 +6601,10 @@ ex_quit_all(eap)
|
||||
return;
|
||||
}
|
||||
#ifdef FEAT_AUTOCMD
|
||||
if (curbuf_locked())
|
||||
apply_autocmds(EVENT_QUITPRE, NULL, NULL, FALSE, curbuf);
|
||||
/* Refuse to quit when locked or when the buffer in the last window is
|
||||
* being closed (can only happen in autocommands). */
|
||||
if (curbuf_locked() || (curbuf->b_nwindows == 1 && curbuf->b_closing))
|
||||
return;
|
||||
#endif
|
||||
|
||||
@@ -6926,7 +6940,10 @@ ex_exit(eap)
|
||||
return;
|
||||
}
|
||||
#ifdef FEAT_AUTOCMD
|
||||
if (curbuf_locked())
|
||||
apply_autocmds(EVENT_QUITPRE, NULL, NULL, FALSE, curbuf);
|
||||
/* Refuse to quit when locked or when the buffer in the last window is
|
||||
* being closed (can only happen in autocommands). */
|
||||
if (curbuf_locked() || (curbuf->b_nwindows == 1 && curbuf->b_closing))
|
||||
return;
|
||||
#endif
|
||||
|
||||
@@ -10819,24 +10836,24 @@ put_view(fd, wp, add_edit, flagp, current_arg_idx)
|
||||
{
|
||||
if (fprintf(fd,
|
||||
"let s:c = %ld - ((%ld * winwidth(0) + %ld) / %ld)",
|
||||
(long)wp->w_cursor.col,
|
||||
(long)(wp->w_cursor.col - wp->w_leftcol),
|
||||
(long)wp->w_virtcol + 1,
|
||||
(long)(wp->w_virtcol - wp->w_leftcol),
|
||||
(long)wp->w_width / 2, (long)wp->w_width) < 0
|
||||
|| put_eol(fd) == FAIL
|
||||
|| put_line(fd, "if s:c > 0") == FAIL
|
||||
|| fprintf(fd,
|
||||
" exe 'normal! 0' . s:c . 'lzs' . (%ld - s:c) . 'l'",
|
||||
(long)wp->w_cursor.col) < 0
|
||||
" exe 'normal! ' . s:c . '|zs' . %ld . '|'",
|
||||
(long)wp->w_virtcol + 1) < 0
|
||||
|| put_eol(fd) == FAIL
|
||||
|| put_line(fd, "else") == FAIL
|
||||
|| fprintf(fd, " normal! 0%dl", wp->w_cursor.col) < 0
|
||||
|| fprintf(fd, " normal! 0%d|", wp->w_virtcol + 1) < 0
|
||||
|| put_eol(fd) == FAIL
|
||||
|| put_line(fd, "endif") == FAIL)
|
||||
return FAIL;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (fprintf(fd, "normal! 0%dl", wp->w_cursor.col) < 0
|
||||
if (fprintf(fd, "normal! 0%d|", wp->w_virtcol + 1) < 0
|
||||
|| put_eol(fd) == FAIL)
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
157
src/ex_getln.c
157
src/ex_getln.c
@@ -56,6 +56,7 @@ static int new_cmdpos; /* position set by set_cmdline_pos() */
|
||||
typedef struct hist_entry
|
||||
{
|
||||
int hisnum; /* identifying number */
|
||||
int viminfo; /* when TRUE hisstr comes from viminfo */
|
||||
char_u *hisstr; /* actual entry, separator char after the NUL */
|
||||
} histentry_T;
|
||||
|
||||
@@ -67,7 +68,7 @@ static int hislen = 0; /* actual length of history tables */
|
||||
|
||||
static int hist_char2type __ARGS((int c));
|
||||
|
||||
static int in_history __ARGS((int, char_u *, int, int));
|
||||
static int in_history __ARGS((int, char_u *, int, int, int));
|
||||
# ifdef FEAT_EVAL
|
||||
static int calc_hist_idx __ARGS((int histype, int num));
|
||||
# endif
|
||||
@@ -119,6 +120,9 @@ static int ExpandUserDefined __ARGS((expand_T *xp, regmatch_T *regmatch, int *nu
|
||||
static int ExpandUserList __ARGS((expand_T *xp, int *num_file, char_u ***file));
|
||||
# endif
|
||||
#endif
|
||||
#ifdef FEAT_CMDHIST
|
||||
static void clear_hist_entry __ARGS((histentry_T *hisptr));
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_CMDWIN
|
||||
static int ex_window __ARGS((void));
|
||||
@@ -3653,19 +3657,16 @@ ExpandOne(xp, str, orig, options, mode)
|
||||
{
|
||||
for (i = 0; i < xp->xp_numfiles; ++i)
|
||||
{
|
||||
#ifdef CASE_INSENSITIVE_FILENAME
|
||||
if (xp->xp_context == EXPAND_DIRECTORIES
|
||||
if (p_fic && (xp->xp_context == EXPAND_DIRECTORIES
|
||||
|| xp->xp_context == EXPAND_FILES
|
||||
|| xp->xp_context == EXPAND_SHELLCMD
|
||||
|| xp->xp_context == EXPAND_BUFFERS)
|
||||
|| xp->xp_context == EXPAND_BUFFERS))
|
||||
{
|
||||
if (TOLOWER_LOC(xp->xp_files[i][len]) !=
|
||||
TOLOWER_LOC(xp->xp_files[0][len]))
|
||||
break;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
if (xp->xp_files[i][len] != xp->xp_files[0][len])
|
||||
else if (xp->xp_files[i][len] != xp->xp_files[0][len])
|
||||
break;
|
||||
}
|
||||
if (i < xp->xp_numfiles)
|
||||
@@ -5346,10 +5347,7 @@ init_history()
|
||||
if (hisidx[type] < 0) /* there are no entries yet */
|
||||
{
|
||||
for (i = 0; i < newlen; ++i)
|
||||
{
|
||||
temp[i].hisnum = 0;
|
||||
temp[i].hisstr = NULL;
|
||||
}
|
||||
clear_hist_entry(&temp[i]);
|
||||
}
|
||||
else if (newlen > hislen) /* array becomes bigger */
|
||||
{
|
||||
@@ -5357,10 +5355,7 @@ init_history()
|
||||
temp[i] = history[type][i];
|
||||
j = i;
|
||||
for ( ; i <= newlen - (hislen - hisidx[type]); ++i)
|
||||
{
|
||||
temp[i].hisnum = 0;
|
||||
temp[i].hisstr = NULL;
|
||||
}
|
||||
clear_hist_entry(&temp[i]);
|
||||
for ( ; j < hislen; ++i, ++j)
|
||||
temp[i] = history[type][j];
|
||||
}
|
||||
@@ -5388,16 +5383,26 @@ init_history()
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
clear_hist_entry(hisptr)
|
||||
histentry_T *hisptr;
|
||||
{
|
||||
hisptr->hisnum = 0;
|
||||
hisptr->viminfo = FALSE;
|
||||
hisptr->hisstr = NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Check if command line 'str' is already in history.
|
||||
* If 'move_to_front' is TRUE, matching entry is moved to end of history.
|
||||
*/
|
||||
static int
|
||||
in_history(type, str, move_to_front, sep)
|
||||
in_history(type, str, move_to_front, sep, writing)
|
||||
int type;
|
||||
char_u *str;
|
||||
int move_to_front; /* Move the entry to the front if it exists */
|
||||
int sep;
|
||||
int writing; /* ignore entries read from viminfo */
|
||||
{
|
||||
int i;
|
||||
int last_i = -1;
|
||||
@@ -5415,6 +5420,7 @@ in_history(type, str, move_to_front, sep)
|
||||
* well. */
|
||||
p = history[type][i].hisstr;
|
||||
if (STRCMP(str, p) == 0
|
||||
&& !(writing && history[type][i].viminfo)
|
||||
&& (type != HIST_SEARCH || sep == p[STRLEN(p) + 1]))
|
||||
{
|
||||
if (!move_to_front)
|
||||
@@ -5436,8 +5442,9 @@ in_history(type, str, move_to_front, sep)
|
||||
history[type][last_i] = history[type][i];
|
||||
last_i = i;
|
||||
}
|
||||
history[type][i].hisstr = str;
|
||||
history[type][i].hisnum = ++hisnum[type];
|
||||
history[type][i].viminfo = FALSE;
|
||||
history[type][i].hisstr = str;
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
@@ -5501,15 +5508,14 @@ add_to_history(histype, new_entry, in_map, sep)
|
||||
/* Current line is from the same mapping, remove it */
|
||||
hisptr = &history[HIST_SEARCH][hisidx[HIST_SEARCH]];
|
||||
vim_free(hisptr->hisstr);
|
||||
hisptr->hisstr = NULL;
|
||||
hisptr->hisnum = 0;
|
||||
clear_hist_entry(hisptr);
|
||||
--hisnum[histype];
|
||||
if (--hisidx[HIST_SEARCH] < 0)
|
||||
hisidx[HIST_SEARCH] = hislen - 1;
|
||||
}
|
||||
last_maptick = -1;
|
||||
}
|
||||
if (!in_history(histype, new_entry, TRUE, sep))
|
||||
if (!in_history(histype, new_entry, TRUE, sep, FALSE))
|
||||
{
|
||||
if (++hisidx[histype] == hislen)
|
||||
hisidx[histype] = 0;
|
||||
@@ -5523,6 +5529,7 @@ add_to_history(histype, new_entry, in_map, sep)
|
||||
hisptr->hisstr[len + 1] = sep;
|
||||
|
||||
hisptr->hisnum = ++hisnum[histype];
|
||||
hisptr->viminfo = FALSE;
|
||||
if (histype == HIST_SEARCH && in_map)
|
||||
last_maptick = maptick;
|
||||
}
|
||||
@@ -5712,8 +5719,7 @@ clr_history(histype)
|
||||
for (i = hislen; i--;)
|
||||
{
|
||||
vim_free(hisptr->hisstr);
|
||||
hisptr->hisnum = 0;
|
||||
hisptr++->hisstr = NULL;
|
||||
clear_hist_entry(hisptr);
|
||||
}
|
||||
hisidx[histype] = -1; /* mark history as cleared */
|
||||
hisnum[histype] = 0; /* reset identifier counter */
|
||||
@@ -5758,16 +5764,14 @@ del_history_entry(histype, str)
|
||||
{
|
||||
found = TRUE;
|
||||
vim_free(hisptr->hisstr);
|
||||
hisptr->hisstr = NULL;
|
||||
hisptr->hisnum = 0;
|
||||
clear_hist_entry(hisptr);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (i != last)
|
||||
{
|
||||
history[histype][last] = *hisptr;
|
||||
hisptr->hisstr = NULL;
|
||||
hisptr->hisnum = 0;
|
||||
clear_hist_entry(hisptr);
|
||||
}
|
||||
if (--last < 0)
|
||||
last += hislen;
|
||||
@@ -5811,8 +5815,7 @@ del_history_idx(histype, idx)
|
||||
history[histype][i] = history[histype][j];
|
||||
i = j;
|
||||
}
|
||||
history[histype][i].hisstr = NULL;
|
||||
history[histype][i].hisnum = 0;
|
||||
clear_hist_entry(&history[histype][i]);
|
||||
if (--i < 0)
|
||||
i += hislen;
|
||||
hisidx[histype] = i;
|
||||
@@ -6031,8 +6034,9 @@ hist_type2char(type, use_question)
|
||||
* This allocates history arrays to store the read history lines.
|
||||
*/
|
||||
void
|
||||
prepare_viminfo_history(asklen)
|
||||
prepare_viminfo_history(asklen, writing)
|
||||
int asklen;
|
||||
int writing;
|
||||
{
|
||||
int i;
|
||||
int num;
|
||||
@@ -6040,18 +6044,17 @@ prepare_viminfo_history(asklen)
|
||||
int len;
|
||||
|
||||
init_history();
|
||||
viminfo_add_at_front = (asklen != 0);
|
||||
viminfo_add_at_front = (asklen != 0 && !writing);
|
||||
if (asklen > hislen)
|
||||
asklen = hislen;
|
||||
|
||||
for (type = 0; type < HIST_COUNT; ++type)
|
||||
{
|
||||
/*
|
||||
* Count the number of empty spaces in the history list. If there are
|
||||
* more spaces available than we request, then fill them up.
|
||||
*/
|
||||
/* Count the number of empty spaces in the history list. Entries read
|
||||
* from viminfo previously are also considered empty. If there are
|
||||
* more spaces available than we request, then fill them up. */
|
||||
for (i = 0, num = 0; i < hislen; i++)
|
||||
if (history[type][i].hisstr == NULL)
|
||||
if (history[type][i].hisstr == NULL || history[type][i].viminfo)
|
||||
num++;
|
||||
len = asklen;
|
||||
if (num > len)
|
||||
@@ -6073,8 +6076,9 @@ prepare_viminfo_history(asklen)
|
||||
* new.
|
||||
*/
|
||||
int
|
||||
read_viminfo_history(virp)
|
||||
read_viminfo_history(virp, writing)
|
||||
vir_T *virp;
|
||||
int writing;
|
||||
{
|
||||
int type;
|
||||
long_u len;
|
||||
@@ -6090,7 +6094,7 @@ read_viminfo_history(virp)
|
||||
int sep = (*val == ' ' ? NUL : *val);
|
||||
|
||||
if (!in_history(type, val + (type == HIST_SEARCH),
|
||||
viminfo_add_at_front, sep))
|
||||
viminfo_add_at_front, sep, writing))
|
||||
{
|
||||
/* Need to re-allocate to append the separator byte. */
|
||||
len = STRLEN(val);
|
||||
@@ -6120,6 +6124,9 @@ read_viminfo_history(virp)
|
||||
return viminfo_readline(virp);
|
||||
}
|
||||
|
||||
/*
|
||||
* Finish reading history lines from viminfo. Not used when writing viminfo.
|
||||
*/
|
||||
void
|
||||
finish_viminfo_history()
|
||||
{
|
||||
@@ -6130,7 +6137,7 @@ finish_viminfo_history()
|
||||
for (type = 0; type < HIST_COUNT; ++type)
|
||||
{
|
||||
if (history[type] == NULL)
|
||||
return;
|
||||
continue;
|
||||
idx = hisidx[type] + viminfo_hisidx[type];
|
||||
if (idx >= hislen)
|
||||
idx -= hislen;
|
||||
@@ -6144,7 +6151,8 @@ finish_viminfo_history()
|
||||
hisidx[type] = hislen - 1;
|
||||
do
|
||||
{
|
||||
if (history[type][idx].hisstr != NULL)
|
||||
if (history[type][idx].hisstr != NULL
|
||||
|| history[type][idx].viminfo)
|
||||
break;
|
||||
if (++idx == hislen)
|
||||
idx = 0;
|
||||
@@ -6156,6 +6164,7 @@ finish_viminfo_history()
|
||||
{
|
||||
vim_free(history[type][idx].hisstr);
|
||||
history[type][idx].hisstr = viminfo_history[type][i];
|
||||
history[type][idx].viminfo = TRUE;
|
||||
if (--idx < 0)
|
||||
idx = hislen - 1;
|
||||
}
|
||||
@@ -6180,6 +6189,7 @@ write_viminfo_history(fp)
|
||||
int num_saved;
|
||||
char_u *p;
|
||||
int c;
|
||||
int round;
|
||||
|
||||
init_history();
|
||||
if (hislen == 0)
|
||||
@@ -6198,26 +6208,63 @@ write_viminfo_history(fp)
|
||||
_("Input Line"));
|
||||
if (num_saved > hislen)
|
||||
num_saved = hislen;
|
||||
i = hisidx[type];
|
||||
if (i >= 0)
|
||||
while (num_saved--)
|
||||
{
|
||||
p = history[type][i].hisstr;
|
||||
if (p != NULL)
|
||||
|
||||
/*
|
||||
* Merge typed and viminfo history:
|
||||
* round 1: history of typed commands.
|
||||
* round 2: history from recently read viminfo.
|
||||
*/
|
||||
for (round = 1; round <= 2; ++round)
|
||||
{
|
||||
if (round == 1)
|
||||
/* start at newest entry, somewhere in the list */
|
||||
i = hisidx[type];
|
||||
else if (viminfo_hisidx[type] > 0)
|
||||
/* start at newest entry, first in the list */
|
||||
i = 0;
|
||||
else
|
||||
/* empty list */
|
||||
i = -1;
|
||||
if (i >= 0)
|
||||
while (num_saved > 0
|
||||
&& !(round == 2 && i >= viminfo_hisidx[type]))
|
||||
{
|
||||
fputc(hist_type2char(type, TRUE), fp);
|
||||
/* For the search history: put the separator in the second
|
||||
* column; use a space if there isn't one. */
|
||||
if (type == HIST_SEARCH)
|
||||
p = round == 1 ? history[type][i].hisstr
|
||||
: viminfo_history[type][i];
|
||||
if (p != NULL && (round == 2 || !history[type][i].viminfo))
|
||||
{
|
||||
c = p[STRLEN(p) + 1];
|
||||
putc(c == NUL ? ' ' : c, fp);
|
||||
--num_saved;
|
||||
fputc(hist_type2char(type, TRUE), fp);
|
||||
/* For the search history: put the separator in the
|
||||
* second column; use a space if there isn't one. */
|
||||
if (type == HIST_SEARCH)
|
||||
{
|
||||
c = p[STRLEN(p) + 1];
|
||||
putc(c == NUL ? ' ' : c, fp);
|
||||
}
|
||||
viminfo_writestring(fp, p);
|
||||
}
|
||||
if (round == 1)
|
||||
{
|
||||
/* Decrement index, loop around and stop when back at
|
||||
* the start. */
|
||||
if (--i < 0)
|
||||
i = hislen - 1;
|
||||
if (i == hisidx[type])
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Increment index. Stop at the end in the while. */
|
||||
++i;
|
||||
}
|
||||
viminfo_writestring(fp, p);
|
||||
}
|
||||
if (--i < 0)
|
||||
i = hislen - 1;
|
||||
}
|
||||
}
|
||||
for (i = 0; i < viminfo_hisidx[type]; ++i)
|
||||
vim_free(viminfo_history[type][i]);
|
||||
vim_free(viminfo_history[type]);
|
||||
viminfo_history[type] = NULL;
|
||||
viminfo_hisidx[type] = 0;
|
||||
}
|
||||
}
|
||||
#endif /* FEAT_VIMINFO */
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user