mirror of
https://github.com/zoriya/vim.git
synced 2025-12-25 08:35:22 +00:00
Compare commits
337 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e7eb789ef0 | ||
|
|
b7d929a86f | ||
|
|
9d7a592c80 | ||
|
|
a40aa760a1 | ||
|
|
946e27ab65 | ||
|
|
b6da44ae82 | ||
|
|
41d7523986 | ||
|
|
db5ffaab5a | ||
|
|
e8a3492548 | ||
|
|
72e8f0bcc1 | ||
|
|
8dc907d7d3 | ||
|
|
597a422416 | ||
|
|
15a35c4f4a | ||
|
|
78159bbf9e | ||
|
|
e8d1f20cbd | ||
|
|
deae0f2566 | ||
|
|
de993ea629 | ||
|
|
58cbc914ea | ||
|
|
7ec83432b7 | ||
|
|
b3414595c7 | ||
|
|
ec1561cac5 | ||
|
|
7a54a90744 | ||
|
|
8502c704ba | ||
|
|
f0224c9f08 | ||
|
|
0ae36a5c85 | ||
|
|
822ff866bd | ||
|
|
2d54ec92d4 | ||
|
|
8e7048ca4b | ||
|
|
e639eb44e9 | ||
|
|
0e6c5ef7ef | ||
|
|
3be8585661 | ||
|
|
980e58f7b3 | ||
|
|
e3a8bab630 | ||
|
|
06e4a6df0a | ||
|
|
7116aa0f7d | ||
|
|
c35b0fb181 | ||
|
|
ea389e9103 | ||
|
|
6f6c0f8085 | ||
|
|
2d1fe05fc0 | ||
|
|
82c2585eb8 | ||
|
|
493c178a28 | ||
|
|
dd0402a759 | ||
|
|
846a2ff5f3 | ||
|
|
cbc17d66be | ||
|
|
9a665ba296 | ||
|
|
13600303c5 | ||
|
|
90013c6a75 | ||
|
|
b777618d11 | ||
|
|
e4c21e6899 | ||
|
|
bc6cf6c511 | ||
|
|
b42970535c | ||
|
|
7b129a5ac4 | ||
|
|
cf1b057939 | ||
|
|
cbc67723bd | ||
|
|
050fe7ebad | ||
|
|
1c5a2134db | ||
|
|
e968e36a00 | ||
|
|
715c286355 | ||
|
|
24dc230871 | ||
|
|
caca646bf0 | ||
|
|
8df5acfda9 | ||
|
|
6082bea6ac | ||
|
|
6e13207d82 | ||
|
|
9c235069b2 | ||
|
|
ee4825331a | ||
|
|
be578edae3 | ||
|
|
46ae3cedeb | ||
|
|
59838520c7 | ||
|
|
fd859c9878 | ||
|
|
ed7547da43 | ||
|
|
d442ec7fe2 | ||
|
|
b7547420a4 | ||
|
|
04ad7fe05c | ||
|
|
56b3bf89aa | ||
|
|
1b1063af58 | ||
|
|
3ec7f4e402 | ||
|
|
0d3d5e0483 | ||
|
|
75a8d74cc2 | ||
|
|
f4d7f167f3 | ||
|
|
a7611f60cd | ||
|
|
bcb9898eba | ||
|
|
b96c69d80e | ||
|
|
e512c8c049 | ||
|
|
121f9bdde4 | ||
|
|
1ff32c5c2c | ||
|
|
3d1956bcc9 | ||
|
|
355a95a079 | ||
|
|
d69bd9af3c | ||
|
|
33e87789a7 | ||
|
|
a4f317df89 | ||
|
|
eccb7fc315 | ||
|
|
163d0da508 | ||
|
|
2af78a1408 | ||
|
|
93fc481b57 | ||
|
|
9bdfb0025c | ||
|
|
62f167f716 | ||
|
|
c8836f7025 | ||
|
|
0eac828ab0 | ||
|
|
b21a29be56 | ||
|
|
e29b1feead | ||
|
|
c09551ab79 | ||
|
|
5a4e160ce4 | ||
|
|
7bcdb7d166 | ||
|
|
4c7ab1bb57 | ||
|
|
75b8156a44 | ||
|
|
7e38ea2fb6 | ||
|
|
e9a54227f9 | ||
|
|
7d647820ed | ||
|
|
39c29ed511 | ||
|
|
57ebe6e2f9 | ||
|
|
4ed89cdf41 | ||
|
|
21e854e5ce | ||
|
|
57a728d1df | ||
|
|
5a50c2255c | ||
|
|
b7cb42bc38 | ||
|
|
41571769c9 | ||
|
|
fe5aab63fe | ||
|
|
3e45159ceb | ||
|
|
5bd32f47ec | ||
|
|
6716d9af11 | ||
|
|
7f3be402ce | ||
|
|
c7f025536e | ||
|
|
a1706c958e | ||
|
|
31b7d38611 | ||
|
|
fd3fe98b78 | ||
|
|
efa304d760 | ||
|
|
e7a88a8d4e | ||
|
|
a392038db5 | ||
|
|
922a4664fe | ||
|
|
498af70e06 | ||
|
|
3d6db1467b | ||
|
|
76f3b1ad77 | ||
|
|
73b044dca9 | ||
|
|
2bcaec320a | ||
|
|
7db7784103 | ||
|
|
a6fd37be4f | ||
|
|
158864120d | ||
|
|
c666b5b467 | ||
|
|
b679875b29 | ||
|
|
327aa02dda | ||
|
|
1a3eb8e1b5 | ||
|
|
c410530637 | ||
|
|
7b44934037 | ||
|
|
03305f396f | ||
|
|
5803ae6c07 | ||
|
|
f7ff6e85e8 | ||
|
|
a687837516 | ||
|
|
ed287f9a4e | ||
|
|
4c9a949d00 | ||
|
|
529d2d6369 | ||
|
|
2fb9fa19e2 | ||
|
|
9c8c8c5d30 | ||
|
|
a0844a1170 | ||
|
|
f0bdd2f28d | ||
|
|
1d9ff43f58 | ||
|
|
8eded09bf7 | ||
|
|
b1692e2b8f | ||
|
|
af6c131bf7 | ||
|
|
24ff9e33a9 | ||
|
|
27bed20452 | ||
|
|
d8619997c4 | ||
|
|
206f011829 | ||
|
|
f7dc2b5517 | ||
|
|
038e5d4766 | ||
|
|
4064e24a0f | ||
|
|
0858917e43 | ||
|
|
4de6a212f9 | ||
|
|
47b8342abd | ||
|
|
251835e14f | ||
|
|
26df092843 | ||
|
|
581966e832 | ||
|
|
f30caaf08d | ||
|
|
a2aa31a926 | ||
|
|
7d311c52ce | ||
|
|
b1d90a3d77 | ||
|
|
631abc35df | ||
|
|
9feaf6206f | ||
|
|
c86438205b | ||
|
|
45e2bcc275 | ||
|
|
06811f33ce | ||
|
|
403b3cf0a1 | ||
|
|
0e4eebd425 | ||
|
|
f92d8a254a | ||
|
|
92dff1827a | ||
|
|
b8e2305656 | ||
|
|
2d5f38ff10 | ||
|
|
cd981f2e0f | ||
|
|
3b5226121d | ||
|
|
12a0f22340 | ||
|
|
4d504a3e11 | ||
|
|
0a36fece92 | ||
|
|
c467d9b274 | ||
|
|
10395d8d6c | ||
|
|
a1a118b159 | ||
|
|
4f943c09a5 | ||
|
|
f31ecce97e | ||
|
|
767568846b | ||
|
|
dd415a6c5a | ||
|
|
f50eb7882e | ||
|
|
09edc46d01 | ||
|
|
4315f26500 | ||
|
|
fcc3f46735 | ||
|
|
361aa50547 | ||
|
|
8af269186c | ||
|
|
b4d587cbd9 | ||
|
|
4a36bcf0d8 | ||
|
|
8d04317104 | ||
|
|
ac8400d483 | ||
|
|
8822a9c367 | ||
|
|
5395e7afe9 | ||
|
|
1028f4d75e | ||
|
|
063a46ba77 | ||
|
|
14177b77bf | ||
|
|
6d977d6c1c | ||
|
|
ca058dc71f | ||
|
|
6cd3aeee4c | ||
|
|
2cd3696c35 | ||
|
|
32b9201f37 | ||
|
|
9d1685d1cf | ||
|
|
e21b6b2a8d | ||
|
|
b0d5c96133 | ||
|
|
78cf3f0de9 | ||
|
|
a02471e295 | ||
|
|
bd2dc34774 | ||
|
|
4ea924e0a5 | ||
|
|
3a69e1135e | ||
|
|
b1cb35f785 | ||
|
|
438f67a004 | ||
|
|
2fda301469 | ||
|
|
5ec8305ea8 | ||
|
|
5f4c8406a2 | ||
|
|
3f1138e8ae | ||
|
|
4b550b4c50 | ||
|
|
dedd1b0aba | ||
|
|
0bd7b3f4ce | ||
|
|
959a143f2e | ||
|
|
207fd75cac | ||
|
|
7c0daf088e | ||
|
|
36c85b2c46 | ||
|
|
dfb18411cf | ||
|
|
175d0704df | ||
|
|
2cc8738f2f | ||
|
|
c8020ee825 | ||
|
|
910cffbb5e | ||
|
|
893b2d73d1 | ||
|
|
fcf94d3990 | ||
|
|
4ffa07081f | ||
|
|
1d633413e5 | ||
|
|
6b10721fa2 | ||
|
|
7ba0741451 | ||
|
|
b011af9696 | ||
|
|
5d7f9df8fa | ||
|
|
73c61633b6 | ||
|
|
b050c64186 | ||
|
|
c2401d62e0 | ||
|
|
ba2d44f338 | ||
|
|
b95186fd36 | ||
|
|
34b466edfe | ||
|
|
9fee7d4729 | ||
|
|
e88a5f3a2c | ||
|
|
dff54ac7e8 | ||
|
|
174a848b67 | ||
|
|
3678208477 | ||
|
|
c62a644eaf | ||
|
|
ace8d8ee2f | ||
|
|
438ee5bf60 | ||
|
|
272fb58236 | ||
|
|
cafaa8a950 | ||
|
|
d07c6e1e82 | ||
|
|
1e42f7ac16 | ||
|
|
ffa2220950 | ||
|
|
49b10273f0 | ||
|
|
49b6a57d19 | ||
|
|
9421bdc2cd | ||
|
|
4b60a6cdb3 | ||
|
|
2593e037c9 | ||
|
|
e874744e94 | ||
|
|
8f5610df73 | ||
|
|
0671de335f | ||
|
|
cc63c647ee | ||
|
|
efe06f4dd8 | ||
|
|
0f8de8dfb2 | ||
|
|
3f75e422be | ||
|
|
d6b8a5253b | ||
|
|
a939e43440 | ||
|
|
8e69b4a319 | ||
|
|
45d3b1454c | ||
|
|
815135e408 | ||
|
|
817a8801d7 | ||
|
|
8050efa07d | ||
|
|
e5878f4be9 | ||
|
|
03e228a623 | ||
|
|
fcea03ddd3 | ||
|
|
c1c023ecfc | ||
|
|
aa88732efd | ||
|
|
f5a2fd880a | ||
|
|
4c1e626103 | ||
|
|
84dbb62fca | ||
|
|
dce7c91de9 | ||
|
|
6bcbcc59be | ||
|
|
0958e0fbe7 | ||
|
|
f332a656c3 | ||
|
|
69c3500f96 | ||
|
|
332a2cadcd | ||
|
|
d9820538bd | ||
|
|
ba2d7ffc4b | ||
|
|
d5d015d457 | ||
|
|
18e5469b6e | ||
|
|
39766a7595 | ||
|
|
0b400087d0 | ||
|
|
9db1293317 | ||
|
|
92c2db8be6 | ||
|
|
0ffbbf9ea8 | ||
|
|
4cc95d1495 | ||
|
|
2b1b53f5d9 | ||
|
|
1180822670 | ||
|
|
b69a714bb7 | ||
|
|
2c019c8696 | ||
|
|
a951e35478 | ||
|
|
b133208080 | ||
|
|
4c7cb6b884 | ||
|
|
3eead7c227 | ||
|
|
0c6ccfdb62 | ||
|
|
35a7c681bc | ||
|
|
0b4db6b6e5 | ||
|
|
ceb84af027 | ||
|
|
8962fda1da | ||
|
|
386dcde30d | ||
|
|
7a18fdc8a4 | ||
|
|
033d8888e8 | ||
|
|
cca7413456 | ||
|
|
2ee95f7d13 | ||
|
|
134bf07ca0 | ||
|
|
f211884fa1 | ||
|
|
699c12076d | ||
|
|
18441ae2cd | ||
|
|
268b55b5fb |
13
.gitignore
vendored
13
.gitignore
vendored
@@ -36,6 +36,18 @@ src/Obj*/pathdef.c
|
||||
gvimext.dll
|
||||
gvimext.lib
|
||||
|
||||
# Borland C++
|
||||
bcc.cfg
|
||||
*.ilc
|
||||
*.ild
|
||||
*.ilf
|
||||
*.ils
|
||||
*.map
|
||||
*.tds
|
||||
|
||||
# NetBeans
|
||||
nbproject/*
|
||||
|
||||
# Mac OSX
|
||||
src/xxd/xxd.dSYM
|
||||
|
||||
@@ -46,6 +58,7 @@ src/xxd/xxd.dSYM
|
||||
*.swp
|
||||
*~
|
||||
*.pyc
|
||||
*.log
|
||||
src/po/vim.pot
|
||||
|
||||
# Generated by "make test"
|
||||
|
||||
6
Filelist
6
Filelist
@@ -3,6 +3,7 @@
|
||||
|
||||
# source files for all source archives
|
||||
SRC_ALL = \
|
||||
.hgignore \
|
||||
src/README.txt \
|
||||
src/arabic.c \
|
||||
src/arabic.h \
|
||||
@@ -80,10 +81,15 @@ SRC_ALL = \
|
||||
src/main.aap \
|
||||
src/testdir/main.aap \
|
||||
src/testdir/*.in \
|
||||
src/testdir/sautest/autoload/*.vim \
|
||||
src/testdir/test[0-9]*.ok \
|
||||
src/testdir/test[0-9]*a.ok \
|
||||
src/testdir/test_[a-z]*.ok \
|
||||
src/testdir/test49.vim \
|
||||
src/testdir/test60.vim \
|
||||
src/testdir/test83-tags? \
|
||||
src/testdir/test77a.com \
|
||||
src/testdir/test_*.vim \
|
||||
src/testdir/python2/*.py \
|
||||
src/testdir/python3/*.py \
|
||||
src/testdir/pythonx/*.py \
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,8 +1,8 @@
|
||||
" ---------------------------------------------------------------------
|
||||
" getscript.vim
|
||||
" Author: Charles E. Campbell
|
||||
" Date: Apr 17, 2013
|
||||
" Version: 35
|
||||
" Date: Jan 21, 2014
|
||||
" Version: 36
|
||||
" Installing: :help glvs-install
|
||||
" Usage: :help glvs
|
||||
"
|
||||
@@ -15,7 +15,7 @@
|
||||
if exists("g:loaded_getscript")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_getscript= "v35"
|
||||
let g:loaded_getscript= "v36"
|
||||
if &cp
|
||||
echoerr "GetLatestVimScripts is not vi-compatible; not loaded (you need to set nocp)"
|
||||
finish
|
||||
@@ -208,8 +208,8 @@ fun! getscript#GetLatestVimScripts()
|
||||
let lastline = line("$")
|
||||
" call Decho("lastline#".lastline)
|
||||
let firstdir = substitute(&rtp,',.*$','','')
|
||||
let plugins = split(globpath(firstdir,"plugin/*.vim"),'\n')
|
||||
let plugins = plugins + split(globpath(firstdir,"AsNeeded/*.vim"),'\n')
|
||||
let plugins = split(globpath(firstdir,"plugin/**/*.vim"),'\n')
|
||||
let plugins = plugins + split(globpath(firstdir,"AsNeeded/**/*.vim"),'\n')
|
||||
let foundscript = 0
|
||||
|
||||
" this loop updates the GetLatestVimScripts.dat file
|
||||
|
||||
@@ -1,7 +1,49 @@
|
||||
" Vim completion script
|
||||
" Language: HTML and XHTML
|
||||
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||
" Last Change: 2011 Apr 28
|
||||
" Last Change: 2014 Jun 20
|
||||
|
||||
" Distinguish between HTML versions.
|
||||
" To use with other HTML versions add another "elseif" condition to match
|
||||
" proper DOCTYPE.
|
||||
function! htmlcomplete#DetectOmniFlavor()
|
||||
if &filetype == 'xhtml'
|
||||
let b:html_omni_flavor = 'xhtml10s'
|
||||
else
|
||||
let b:html_omni_flavor = 'html401t'
|
||||
endif
|
||||
let i = 1
|
||||
let line = ""
|
||||
while i < 10 && i < line("$")
|
||||
let line = getline(i)
|
||||
if line =~ '<!DOCTYPE.*\<DTD '
|
||||
break
|
||||
endif
|
||||
let i += 1
|
||||
endwhile
|
||||
if line =~ '<!DOCTYPE.*\<DTD ' " doctype line found above
|
||||
if line =~ ' HTML 3\.2'
|
||||
let b:html_omni_flavor = 'html32'
|
||||
elseif line =~ ' XHTML 1\.1'
|
||||
let b:html_omni_flavor = 'xhtml11'
|
||||
else " two-step detection with strict/frameset/transitional
|
||||
if line =~ ' XHTML 1\.0'
|
||||
let b:html_omni_flavor = 'xhtml10'
|
||||
elseif line =~ ' HTML 4\.01'
|
||||
let b:html_omni_flavor = 'html401'
|
||||
elseif line =~ ' HTML 4.0\>'
|
||||
let b:html_omni_flavor = 'html40'
|
||||
endif
|
||||
if line =~ '\<Transitional\>'
|
||||
let b:html_omni_flavor .= 't'
|
||||
elseif line =~ '\<Frameset\>'
|
||||
let b:html_omni_flavor .= 'f'
|
||||
else
|
||||
let b:html_omni_flavor .= 's'
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! htmlcomplete#CompleteTags(findstart, base)
|
||||
if a:findstart
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
" netrwSettings.vim: makes netrw settings simpler
|
||||
" Date: May 03, 2013
|
||||
" Date: Aug 27, 2013
|
||||
" Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz>
|
||||
" Version: 14a ASTRO-ONLY
|
||||
" Version: 14
|
||||
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
@@ -19,7 +19,7 @@
|
||||
if exists("g:loaded_netrwSettings") || &cp
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwSettings = "v14a"
|
||||
let g:loaded_netrwSettings = "v14"
|
||||
if v:version < 700
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of netrwSettings needs vim 7.0"
|
||||
@@ -98,6 +98,11 @@ fun! netrwSettings#NetrwSettings()
|
||||
|
||||
put = ''
|
||||
put ='+ Netrw Browser Control'
|
||||
if exists("g:netrw_altfile")
|
||||
put = 'let g:netrw_altfile = '.g:netrw_altfile
|
||||
else
|
||||
put = 'let g:netrw_altfile = 0'
|
||||
endif
|
||||
put = 'let g:netrw_alto = '.g:netrw_alto
|
||||
put = 'let g:netrw_altv = '.g:netrw_altv
|
||||
put = 'let g:netrw_banner = '.g:netrw_banner
|
||||
|
||||
71
runtime/autoload/netrw_gitignore.vim
Normal file
71
runtime/autoload/netrw_gitignore.vim
Normal file
@@ -0,0 +1,71 @@
|
||||
" netrw_gitignore#Hide: gitignore-based hiding
|
||||
" Function returns a string of comma separated patterns convenient for
|
||||
" assignment to `g:netrw_list_hide` option.
|
||||
" Function can take additional filenames as arguments, example:
|
||||
" netrw_gitignore#Hide('custom_gitignore1', 'custom_gitignore2')
|
||||
"
|
||||
" Usage examples:
|
||||
" let g:netrw_list_hide = netrw_gitignore#Hide()
|
||||
" let g:netrw_list_hide = netrw_gitignore#Hide() . 'more,hide,patterns'
|
||||
"
|
||||
" Copyright: Copyright (C) 2013 Bruno Sutic {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
" notice is copied with it. Like anything else that's free,
|
||||
" netrw_gitignore.vim is provided *as is* and comes with no
|
||||
" warranty of any kind, either expressed or implied. By using
|
||||
" this plugin, you agree that in no event will the copyright
|
||||
" holder be liable for any damages resulting from the use
|
||||
" of this software.
|
||||
function! netrw_gitignore#Hide(...)
|
||||
let additional_files = a:000
|
||||
|
||||
let default_files = ['.gitignore', '.git/info/exclude']
|
||||
|
||||
" get existing global/system gitignore files
|
||||
let global_gitignore = expand(substitute(system("git config --global core.excludesfile"), '\n', '', 'g'))
|
||||
if global_gitignore !=# ''
|
||||
let default_files = add(default_files, global_gitignore)
|
||||
endif
|
||||
let system_gitignore = expand(substitute(system("git config --system core.excludesfile"), '\n', '', 'g'))
|
||||
if system_gitignore !=# ''
|
||||
let default_files = add(default_files, system_gitignore)
|
||||
endif
|
||||
|
||||
" append additional files if given as function arguments
|
||||
if additional_files !=# []
|
||||
let files = extend(default_files, additional_files)
|
||||
else
|
||||
let files = default_files
|
||||
endif
|
||||
|
||||
" keep only existing/readable files
|
||||
let gitignore_files = []
|
||||
for file in files
|
||||
if filereadable(file)
|
||||
let gitignore_files = add(gitignore_files, file)
|
||||
endif
|
||||
endfor
|
||||
|
||||
" get contents of gitignore patterns from those files
|
||||
let gitignore_lines = []
|
||||
for file in gitignore_files
|
||||
for line in readfile(file)
|
||||
" filter empty lines and comments
|
||||
if line !~# '^#' && line !~# '^$'
|
||||
let gitignore_lines = add(gitignore_lines, line)
|
||||
endif
|
||||
endfor
|
||||
endfor
|
||||
|
||||
" convert gitignore patterns to Netrw/Vim regex patterns
|
||||
let escaped_lines = []
|
||||
for line in gitignore_lines
|
||||
let escaped = line
|
||||
let escaped = substitute(escaped, '\.', '\\.', 'g')
|
||||
let escaped = substitute(escaped, '*', '.*', 'g')
|
||||
let escaped_lines = add(escaped_lines, escaped)
|
||||
endfor
|
||||
|
||||
return join(escaped_lines, ',')
|
||||
endfunction
|
||||
File diff suppressed because one or more lines are too long
@@ -36,6 +36,14 @@ Some attributes (e.g., bold) might be set in the defaults that you want
|
||||
removed in your color scheme. Use something like "gui=NONE" to remove the
|
||||
attributes.
|
||||
|
||||
In case you want to set 'background' depending on the colorscheme selected,
|
||||
this autocmd might be useful:
|
||||
autocmd SourcePre */colors/blue_sky.vim set background=dark
|
||||
Replace "blue_sky" with the name of the colorscheme.
|
||||
|
||||
In case you want to tweak a colorscheme after it was loaded, check out that
|
||||
ColorScheme autocmd event.
|
||||
|
||||
To see which highlight group is used where, find the help for
|
||||
"highlight-groups" and "group-name".
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
" Vim color file
|
||||
" Maintainer: David Schweikert <dws@ee.ethz.ch>
|
||||
" Last Change: 2006 Apr 30
|
||||
" Maintainer: David Schweikert <david@schweikert.ch>
|
||||
" Last Change: 2014 Mar 19
|
||||
|
||||
hi clear
|
||||
|
||||
let colors_name = "delek"
|
||||
let g:colors_name = "delek"
|
||||
|
||||
" Normal should come first
|
||||
hi Normal guifg=Black guibg=White
|
||||
@@ -28,7 +28,11 @@ hi NonText ctermfg=Blue gui=bold guifg=gray guibg=white
|
||||
hi Pmenu guibg=LightBlue
|
||||
hi PmenuSel ctermfg=White ctermbg=DarkBlue guifg=White guibg=DarkBlue
|
||||
hi Question ctermfg=DarkGreen gui=bold guifg=SeaGreen
|
||||
hi Search ctermfg=NONE ctermbg=Yellow guibg=Yellow guifg=NONE
|
||||
if &background == "light"
|
||||
hi Search ctermfg=NONE ctermbg=Yellow guibg=Yellow guifg=NONE
|
||||
else
|
||||
hi Search ctermfg=Black ctermbg=Yellow guibg=Yellow guifg=Black
|
||||
endif
|
||||
hi SpecialKey ctermfg=DarkBlue guifg=Blue
|
||||
hi StatusLine cterm=bold ctermbg=blue ctermfg=yellow guibg=gold guifg=blue
|
||||
hi StatusLineNC cterm=bold ctermbg=blue ctermfg=black guibg=gold guifg=blue
|
||||
|
||||
40
runtime/colors/industry.vim
Normal file
40
runtime/colors/industry.vim
Normal file
@@ -0,0 +1,40 @@
|
||||
" Vim color file
|
||||
" Maintainer: Shian Lee
|
||||
" Last Change: 2014 Mar 6 (for vim 7.4)
|
||||
" Remark: "industry" stands for 'industrial' color scheme. In industrial
|
||||
" HMI (Human-Machine-Interface) programming, using a standard color
|
||||
" scheme is mandatory in many cases (in traffic-lights for example):
|
||||
" LIGHT_RED is 'Warning'
|
||||
" LIGHT_YELLOW is 'Attention'
|
||||
" LIGHT_GREEN is 'Normal'
|
||||
" LIGHT_MAGENTA is 'Warning-Attention' (light RED-YELLOW)
|
||||
" LIGHT_CYAN is 'Attention-Normal' (light YELLOW-GREEN).
|
||||
" BLACK is Dark-High-Contrast Background for maximum safety.
|
||||
" BLUE is Shade of BLACK (not supposed to get attention).
|
||||
"
|
||||
" Industrial color scheme is by nature clear, safe and productive.
|
||||
" Yet, depends on the file type's syntax, it might appear incorrect.
|
||||
|
||||
" Reset to dark background, then reset everything to defaults:
|
||||
set background=dark
|
||||
highlight clear
|
||||
if exists("syntax_on")
|
||||
syntax reset
|
||||
endif
|
||||
|
||||
let colors_name = "industry"
|
||||
|
||||
" First set Normal to regular white on black text colors:
|
||||
hi Normal ctermfg=LightGray ctermbg=Black guifg=#dddddd guibg=Black
|
||||
|
||||
" Syntax highlighting (other color-groups using default, see :help group-name):
|
||||
hi Comment cterm=NONE ctermfg=DarkCyan gui=NONE guifg=#00aaaa
|
||||
hi Constant cterm=NONE ctermfg=LightCyan gui=NONE guifg=#00ffff
|
||||
hi Identifier cterm=NONE ctermfg=LightMagenta gui=NONE guifg=#ff00ff
|
||||
hi Function cterm=NONE ctermfg=LightGreen gui=NONE guifg=#00ff00
|
||||
hi Statement cterm=NONE ctermfg=White gui=bold guifg=#ffffff
|
||||
hi PreProc cterm=NONE ctermfg=Yellow gui=NONE guifg=#ffff00
|
||||
hi Type cterm=NONE ctermfg=LightGreen gui=bold guifg=#00ff00
|
||||
hi Special cterm=NONE ctermfg=LightRed gui=NONE guifg=#ff0000
|
||||
hi Delimiter cterm=NONE ctermfg=Yellow gui=NONE guifg=#ffff00
|
||||
|
||||
@@ -25,10 +25,10 @@ CompilerSet errorformat=
|
||||
\%f:%l:\ %tarning:\ %m,
|
||||
\%f:%l:\ %m,
|
||||
\\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,
|
||||
\%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',
|
||||
\%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
|
||||
\%D%*\\a:\ Entering\ directory\ `%f',
|
||||
\%X%*\\a:\ Leaving\ directory\ `%f',
|
||||
\%D%*\\a[%*\\d]:\ Entering\ directory\ [`']%f',
|
||||
\%X%*\\a[%*\\d]:\ Leaving\ directory\ [`']%f',
|
||||
\%D%*\\a:\ Entering\ directory\ [`']%f',
|
||||
\%X%*\\a:\ Leaving\ directory\ [`']%f',
|
||||
\%DMaking\ %*\\a\ in\ %f
|
||||
|
||||
if exists('g:compiler_gcc_ignore_unmatched_lines')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 7.4. Last change: 2013 Aug 04
|
||||
*autocmd.txt* For Vim version 7.4. Last change: 2014 May 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -304,6 +304,9 @@ Name triggered by ~
|
||||
|InsertCharPre| when a character was typed in Insert mode, before
|
||||
inserting it
|
||||
|
||||
|TextChanged| after a change was made to the text in Normal mode
|
||||
|TextChangedI| after a change was made to the text in Insert mode
|
||||
|
||||
|ColorScheme| after loading a color scheme
|
||||
|
||||
|RemoteReply| a reply from a server Vim was received
|
||||
@@ -480,6 +483,12 @@ CmdwinLeave Before leaving the command-line window.
|
||||
|cmdwin-char|
|
||||
*ColorScheme*
|
||||
ColorScheme After loading a color scheme. |:colorscheme|
|
||||
The pattern is matched against the
|
||||
colorscheme name. <afile> can be used for the
|
||||
name of the actual file where this option was
|
||||
set, and <amatch> for the new colorscheme
|
||||
name.
|
||||
|
||||
|
||||
*CompleteDone*
|
||||
CompleteDone After Insert mode completion is done. Either
|
||||
@@ -553,11 +562,15 @@ FileChangedRO Before making the first change to a read-only
|
||||
It is not allowed to change to another buffer
|
||||
here. You can reload the buffer but not edit
|
||||
another one.
|
||||
*E881*
|
||||
If the number of lines changes saving for undo
|
||||
may fail and the change will be aborted.
|
||||
*FileChangedShell*
|
||||
FileChangedShell When Vim notices that the modification time of
|
||||
a file has changed since editing started.
|
||||
Also when the file attributes of the file
|
||||
change. |timestamp|
|
||||
change or when the size of the file changes.
|
||||
|timestamp|
|
||||
Mostly triggered after executing a shell
|
||||
command, but also with a |:checktime| command
|
||||
or when Gvim regains input focus.
|
||||
@@ -731,7 +744,7 @@ QuickFixCmdPost Like QuickFixCmdPre, but after a quickfix
|
||||
command is run, before jumping to the first
|
||||
location. For |:cfile| and |:lfile| commands
|
||||
it is run after error file is read and before
|
||||
moving to the first error.
|
||||
moving to the first error.
|
||||
See |QuickFixCmdPost-example|.
|
||||
*QuitPre*
|
||||
QuitPre When using `:quit`, `:wq` or `:qall`, before
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 7.4. Last change: 2013 Aug 25
|
||||
*change.txt* For Vim version 7.4. Last change: 2014 Feb 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -156,6 +156,9 @@ only after a '.').
|
||||
The 'B' and 'M' flags in 'formatoptions' change the behavior for inserting
|
||||
spaces before and after a multi-byte character |fo-table|.
|
||||
|
||||
The '[ mark is set at the end of the first line that was joined, '] at the end
|
||||
of the resulting line.
|
||||
|
||||
|
||||
==============================================================================
|
||||
2. Delete and insert *delete-insert* *replacing*
|
||||
@@ -475,8 +478,8 @@ If the 'shiftround' option is on, the indent is rounded to a multiple of
|
||||
'shiftwidth'.
|
||||
|
||||
If the 'smartindent' option is on, or 'cindent' is on and 'cinkeys' contains
|
||||
'#', shift right does not affect lines starting with '#' (these are supposed
|
||||
to be C preprocessor lines that must stay in column 1).
|
||||
'#' with a zero value, shift right does not affect lines starting with '#'
|
||||
(these are supposed to be C preprocessor lines that must stay in column 1).
|
||||
|
||||
When the 'expandtab' option is off (this is the default) Vim uses <Tab>s as
|
||||
much as possible to make the indent. You can use ">><<" to replace an indent
|
||||
@@ -824,7 +827,7 @@ either the first or second pattern in parentheses did not match, so either
|
||||
<
|
||||
|
||||
Substitute with an expression *sub-replace-expression*
|
||||
*sub-replace-\=*
|
||||
*sub-replace-\=* *s/\=*
|
||||
When the substitute string starts with "\=" the remainder is interpreted as an
|
||||
expression. This does not work recursively: a |substitute()| function inside
|
||||
the expression cannot use "\=" for the substitute string.
|
||||
@@ -1647,7 +1650,7 @@ And a few warnings:
|
||||
7. Sorting text *sorting*
|
||||
|
||||
Vim has a sorting function and a sorting command. The sorting function can be
|
||||
found here: |sort()|.
|
||||
found here: |sort()|, |uniq()|.
|
||||
|
||||
*:sor* *:sort*
|
||||
:[range]sor[t][!] [i][u][r][n][x][o] [/{pattern}/]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 7.4. Last change: 2013 Mar 16
|
||||
*cmdline.txt* For Vim version 7.4. Last change: 2014 Feb 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -356,6 +356,10 @@ terminals)
|
||||
List the recent five entries from all histories: >
|
||||
:history all -5,
|
||||
|
||||
:keepp[atterns] {command} *:keepp* *:keeppatterns*
|
||||
Execute {command}, without adding anything to the search
|
||||
history
|
||||
|
||||
==============================================================================
|
||||
2. Command-line completion *cmdline-completion*
|
||||
|
||||
@@ -754,6 +758,7 @@ characters have a special meaning. These can also be used in the expression
|
||||
function expand() |expand()|.
|
||||
% Is replaced with the current file name. *:_%* *c_%*
|
||||
# Is replaced with the alternate file name. *:_#* *c_#*
|
||||
This is remembered for every window.
|
||||
#n (where n is a number) is replaced with *:_#0* *:_#n*
|
||||
the file name of buffer n. "#0" is the same as "#". *c_#n*
|
||||
## Is replaced with all names in the argument list *:_##* *c_##*
|
||||
@@ -819,8 +824,8 @@ Note: these are typed literally, they are not special keys!
|
||||
the start of the function.
|
||||
|
||||
*filename-modifiers*
|
||||
*:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs*
|
||||
*%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs*
|
||||
*:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs* *::S*
|
||||
*%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs* *%:S*
|
||||
The file name modifiers can be used after "%", "#", "#n", "<cfile>", "<sfile>",
|
||||
"<afile>" or "<abuf>". They are also used with the |fnamemodify()| function.
|
||||
These are not available when Vim has been compiled without the |+modify_fname|
|
||||
@@ -875,6 +880,10 @@ These modifiers can be given, in this order:
|
||||
:gs?pat?sub?
|
||||
Substitute all occurrences of "pat" with "sub". Otherwise
|
||||
this works like ":s".
|
||||
:S Escape special characters for use with a shell command (see
|
||||
|shellescape()|). Must be the last one. Examples: >
|
||||
:!dir <cfile>:S
|
||||
:call system('chmod +w -- ' . expand('%:S'))
|
||||
|
||||
Examples, when the file name is "src/version.c", current dir
|
||||
"/home/mool/vim": >
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*develop.txt* For Vim version 7.4. Last change: 2013 Apr 27
|
||||
*develop.txt* For Vim version 7.4. Last change: 2014 Mar 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -19,7 +19,6 @@ code.
|
||||
|
||||
Vim is open source software. Everybody is encouraged to contribute to help
|
||||
improving Vim. For sending patches a context diff "diff -c" is preferred.
|
||||
Also see http://www.vim.org/tips/tip.php?tip_id=618.
|
||||
Also see http://vim.wikia.com/wiki/How_to_make_and_submit_a_patch.
|
||||
|
||||
==============================================================================
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*diff.txt* For Vim version 7.4. Last change: 2013 Sep 20
|
||||
*diff.txt* For Vim version 7.4. Last change: 2014 May 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -95,7 +95,7 @@ While already in Vim you can start diff mode in three ways.
|
||||
:difft[his] Make the current window part of the diff windows. This sets
|
||||
the options like for "vimdiff".
|
||||
|
||||
:diffp[atch] {patchfile} *E816* *:diffp* *:diffpatch*
|
||||
:diffp[atch] {patchfile} *E816* *:diffp* *:diffpatch*
|
||||
Use the current buffer, patch it with the diff found in
|
||||
{patchfile} and open a buffer on the result. The options are
|
||||
set as for "vimdiff".
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*digraph.txt* For Vim version 7.4. Last change: 2011 Jan 15
|
||||
*digraph.txt* For Vim version 7.4. Last change: 2014 Jun 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -147,7 +147,7 @@ a standard meaning:
|
||||
Two 2 Hook
|
||||
Nine 9 Horn
|
||||
|
||||
Equals = Cyrillic
|
||||
Equals = Cyrillic (= used as second char)
|
||||
Asterisk * Greek
|
||||
Percent sign % Greek/Cyrillic special
|
||||
Plus + smalls: Arabic, capitals: Hebrew
|
||||
@@ -170,6 +170,11 @@ used for the currency sign, and latin9 (iso-8859-15), where the digraph =e is
|
||||
used for the euro sign, while both of them are the character 164, 0xa4. For
|
||||
compatibility with zsh Eu can also be used for the euro sign.
|
||||
|
||||
ROUBLE
|
||||
|
||||
The rouble sign was added in 2014 as 0x20bd. Vim supports the digraphs =R and
|
||||
=P for this. Note that R= and P= are other characters.
|
||||
|
||||
*digraph-table*
|
||||
char digraph hex dec official name ~
|
||||
^@ NU 0x00 0 NULL (NUL)
|
||||
@@ -966,6 +971,8 @@ char digraph hex dec official name ~
|
||||
₧ Pt 20A7 8359 PESETA SIGN
|
||||
₩ W= 20A9 8361 WON SIGN
|
||||
€ Eu 20AC 8364 EURO SIGN
|
||||
₽ =R 20BD 8381 ROUBLE SIGN
|
||||
₽ =P 20BD 8381 ROUBLE SIGN
|
||||
℃ oC 2103 8451 DEGREE CELSIUS
|
||||
℅ co 2105 8453 CARE OF
|
||||
℉ oF 2109 8457 DEGREE FAHRENHEIT
|
||||
@@ -1077,7 +1084,7 @@ char digraph hex dec official name ~
|
||||
⊥ -T 22A5 8869 UP TACK
|
||||
⋅ .P 22C5 8901 DOT OPERATOR
|
||||
⋮ :3 22EE 8942 VERTICAL ELLIPSIS
|
||||
⋯ .3 22EF 8943 MIDLINE HORIZONTAL ELLIPSIS
|
||||
⋯ .3 22EF 8943 MIDLINE HORIZONTAL ELLIPSIS
|
||||
⌂ Eh 2302 8962 HOUSE
|
||||
⌈ <7 2308 8968 LEFT CEILING
|
||||
⌉ >7 2309 8969 RIGHT CEILING
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 7.4. Last change: 2013 Aug 03
|
||||
*editing.txt* For Vim version 7.4. Last change: 2014 May 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -38,6 +38,7 @@ If there already was a current file name, then that one becomes the alternate
|
||||
file name. It can be used with "#" on the command line |:_#| and you can use
|
||||
the |CTRL-^| command to toggle between the current and the alternate file.
|
||||
However, the alternate file name is not changed when |:keepalt| is used.
|
||||
An alternate file name is remembered for each window.
|
||||
|
||||
*:keepalt* *:keepa*
|
||||
:keepalt {cmd} Execute {cmd} while keeping the current alternate file
|
||||
@@ -1468,14 +1469,15 @@ Notes:
|
||||
==============================================================================
|
||||
10. Timestamps *timestamp* *timestamps*
|
||||
|
||||
Vim remembers the modification timestamp of a file when you begin editing it.
|
||||
This is used to avoid that you have two different versions of the same file
|
||||
(without you knowing this).
|
||||
Vim remembers the modification timestamp, mode and size of a file when you
|
||||
begin editing it. This is used to avoid that you have two different versions
|
||||
of the same file (without you knowing this).
|
||||
|
||||
After a shell command is run (|:!cmd| |suspend| |:read!| |K|) timestamps are
|
||||
compared for all buffers in a window. Vim will run any associated
|
||||
|FileChangedShell| autocommands or display a warning for any files that have
|
||||
changed. In the GUI this happens when Vim regains input focus.
|
||||
After a shell command is run (|:!cmd| |suspend| |:read!| |K|) timestamps,
|
||||
file modes and file sizes are compared for all buffers in a window. Vim will
|
||||
run any associated |FileChangedShell| autocommands or display a warning for
|
||||
any files that have changed. In the GUI this happens when Vim regains input
|
||||
focus.
|
||||
|
||||
*E321* *E462*
|
||||
If you want to automatically reload a file when it has been changed outside of
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 7.4. Last change: 2013 Aug 24
|
||||
*eval.txt* For Vim version 7.4. Last change: 2014 Jun 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -148,7 +148,7 @@ arguments: >
|
||||
|
||||
|
||||
1.3 Lists ~
|
||||
*List* *Lists* *E686*
|
||||
*list* *List* *Lists* *E686*
|
||||
A List is an ordered sequence of items. An item can be of any type. Items
|
||||
can be accessed by their index number. Items can be added and removed at any
|
||||
position in the sequence.
|
||||
@@ -327,6 +327,7 @@ examples: >
|
||||
Changing the order of items in a list: >
|
||||
:call sort(list) " sort a list alphabetically
|
||||
:call reverse(list) " reverse the order of items
|
||||
:call uniq(sort(list)) " sort and remove duplicates
|
||||
|
||||
|
||||
For loop ~
|
||||
@@ -393,7 +394,7 @@ example, to add up all the numbers in a list: >
|
||||
|
||||
|
||||
1.4 Dictionaries ~
|
||||
*Dictionaries* *Dictionary*
|
||||
*dict* *Dictionaries* *Dictionary*
|
||||
A Dictionary is an associative array: Each entry has a key and a value. The
|
||||
entry can be located with the key. The entries are stored without a specific
|
||||
ordering.
|
||||
@@ -1004,7 +1005,7 @@ function. Example: >
|
||||
|
||||
|
||||
|
||||
string *expr-string* *E114*
|
||||
string *string* *expr-string* *E114*
|
||||
------
|
||||
"string" string constant *expr-quote*
|
||||
|
||||
@@ -1143,7 +1144,7 @@ specified by what is prepended:
|
||||
|local-variable| l: Local to a function.
|
||||
|script-variable| s: Local to a |:source|'ed Vim script.
|
||||
|function-argument| a: Function argument (only inside a function).
|
||||
|vim-variable| v: Global, predefined by Vim.
|
||||
|vim-variable| v: Global, predefined by Vim.
|
||||
|
||||
The scope name by itself can be used as a |Dictionary|. For example, to
|
||||
delete all script-local variables: >
|
||||
@@ -1455,6 +1456,13 @@ v:foldend Used for 'foldtext': last line of closed fold.
|
||||
v:foldstart Used for 'foldtext': first line of closed fold.
|
||||
Read-only in the |sandbox|. |fold-foldtext|
|
||||
|
||||
*v:hlsearch* *hlsearch-variable*
|
||||
v:hlsearch Variable that determines whether search highlighting is on.
|
||||
Makes sense only if 'hlsearch' is enabled which requires
|
||||
|+extra_search|. Setting this variable to zero acts the like
|
||||
|:nohlsearch| command, setting it to one acts like >
|
||||
let &hlsearch = &hlsearch
|
||||
<
|
||||
*v:insertmode* *insertmode-variable*
|
||||
v:insertmode Used for the |InsertEnter| and |InsertChange| autocommand
|
||||
events. Values:
|
||||
@@ -1512,6 +1520,7 @@ v:oldfiles List of file names that is loaded from the |viminfo| file on
|
||||
startup. These are the files that Vim remembers marks for.
|
||||
The length of the List is limited by the ' argument of the
|
||||
'viminfo' option (default is 100).
|
||||
When the |viminfo| file is not used the List is empty.
|
||||
Also see |:oldfiles| and |c_#<|.
|
||||
The List can be modified, but this has no effect on what is
|
||||
stored in the |viminfo| file later. If you use values other
|
||||
@@ -1547,6 +1556,16 @@ v:profiling Normally zero. Set to one after using ":profile start".
|
||||
v:progname Contains the name (with path removed) with which Vim was
|
||||
invoked. Allows you to do special initialisations for |view|,
|
||||
|evim| etc., or any other name you might symlink to Vim.
|
||||
Read-only.
|
||||
|
||||
*v:progpath* *progpath-variable*
|
||||
v:progpath Contains the command with which Vim was invoked, including the
|
||||
path. Useful if you want to message a Vim server using a
|
||||
|--remote-expr|.
|
||||
To get the full path use: >
|
||||
echo exepath(v:progpath)
|
||||
< NOTE: This does not work when the command is a relative path
|
||||
and the current directory has changed.
|
||||
Read-only.
|
||||
|
||||
*v:register* *register-variable*
|
||||
@@ -1663,7 +1682,7 @@ v:version Version number of Vim: Major version number times 100 plus
|
||||
is 501. Read-only. "version" also works, for backwards
|
||||
compatibility.
|
||||
Use |has()| to check if a certain patch was included, e.g.: >
|
||||
if has("patch123")
|
||||
if has("patch-7.4.123")
|
||||
< Note that patch numbers are specific to the version, thus both
|
||||
version 5.0 and 5.1 may have a patch 123, but these are
|
||||
completely different.
|
||||
@@ -1697,6 +1716,8 @@ append( {lnum}, {string}) Number append {string} below line {lnum}
|
||||
append( {lnum}, {list}) Number append lines {list} below line {lnum}
|
||||
argc() Number number of files in the argument list
|
||||
argidx() Number current index in the argument list
|
||||
arglistid( [{winnr}, [ {tabnr}]])
|
||||
Number argument list id
|
||||
argv( {nr}) String {nr} entry of the argument list
|
||||
argv( ) List the argument list
|
||||
asin( {expr}) Float arc sine of {expr}
|
||||
@@ -1713,6 +1734,7 @@ bufnr( {expr}) Number Number of the buffer {expr}
|
||||
bufwinnr( {expr}) Number window number of buffer {expr}
|
||||
byte2line( {byte}) Number line number at byte count {byte}
|
||||
byteidx( {expr}, {nr}) Number byte index of {nr}'th char in {expr}
|
||||
byteidxcomp( {expr}, {nr}) Number byte index of {nr}'th char in {expr}
|
||||
call( {func}, {arglist} [, {dict}])
|
||||
any call {func} with arguments {arglist}
|
||||
ceil( {expr}) Float round {expr} up
|
||||
@@ -1736,7 +1758,7 @@ cscope_connection( [{num} , {dbpath} [, {prepend}]])
|
||||
cursor( {lnum}, {col} [, {coladd}])
|
||||
Number move cursor to {lnum}, {col}, {coladd}
|
||||
cursor( {list}) Number move cursor to position in {list}
|
||||
deepcopy( {expr}) any make a full copy of {expr}
|
||||
deepcopy( {expr} [, {noref}]) any make a full copy of {expr}
|
||||
delete( {fname}) Number delete file {fname}
|
||||
did_filetype() Number TRUE if FileType autocommand event used
|
||||
diff_filler( {lnum}) Number diff filler lines about {lnum}
|
||||
@@ -1746,6 +1768,7 @@ escape( {string}, {chars}) String escape {chars} in {string} with '\'
|
||||
eval( {string}) any evaluate {string} into its value
|
||||
eventhandler( ) Number TRUE if inside an event handler
|
||||
executable( {expr}) Number 1 if executable {expr} exists
|
||||
exepath( {expr}) String full path of the command {expr}
|
||||
exists( {expr}) Number TRUE if {expr} exists
|
||||
extend( {expr1}, {expr2} [, {expr3}])
|
||||
List/Dict insert items of {expr2} into {expr1}
|
||||
@@ -1785,10 +1808,11 @@ getcharmod( ) Number modifiers for the last typed character
|
||||
getcmdline() String return the current command-line
|
||||
getcmdpos() Number return cursor position in command-line
|
||||
getcmdtype() String return the current command-line type
|
||||
getcurpos() List position of the cursor
|
||||
getcwd() String the current working directory
|
||||
getfontname( [{name}]) String name of font being used
|
||||
getfperm( {fname}) String file permissions of file {fname}
|
||||
getfsize( {fname}) Number size in bytes of file {fname}
|
||||
getfontname( [{name}]) String name of font being used
|
||||
getftime( {fname}) Number last modification time of file
|
||||
getftype( {fname}) String description of type of file {fname}
|
||||
getline( {lnum}) String line {lnum} of current buffer
|
||||
@@ -1798,7 +1822,8 @@ getmatches() List list of current matches
|
||||
getpid() Number process ID of Vim
|
||||
getpos( {expr}) List position of cursor, mark, etc.
|
||||
getqflist() List list of quickfix items
|
||||
getreg( [{regname} [, 1]]) String contents of register
|
||||
getreg( [{regname} [, 1 [, {list}]]])
|
||||
String or List contents of register
|
||||
getregtype( [{regname}]) String type of register
|
||||
gettabvar( {nr}, {varname} [, {def}])
|
||||
any variable {varname} in tab {nr} or {def}
|
||||
@@ -1810,7 +1835,7 @@ getwinvar( {nr}, {varname} [, {def}])
|
||||
any variable {varname} in window {nr}
|
||||
glob( {expr} [, {nosuf} [, {list}]])
|
||||
any expand file wildcards in {expr}
|
||||
globpath( {path}, {expr} [, {flag}])
|
||||
globpath( {path}, {expr} [, {nosuf} [, {list}]])
|
||||
String do glob({expr}) for all dirs in {path}
|
||||
has( {feature}) Number TRUE if feature {feature} supported
|
||||
has_key( {dict}, {key}) Number TRUE if {dict} has entry {key}
|
||||
@@ -1862,6 +1887,8 @@ match( {expr}, {pat}[, {start}[, {count}]])
|
||||
Number position where {pat} matches in {expr}
|
||||
matchadd( {group}, {pattern}[, {priority}[, {id}]])
|
||||
Number highlight {pattern} with {group}
|
||||
matchaddpos( {group}, {list}[, {priority}[, {id}]])
|
||||
Number highlight positions with {group}
|
||||
matcharg( {nr}) List arguments of |:match|
|
||||
matchdelete( {id}) Number delete match identified by {id}
|
||||
matchend( {expr}, {pat}[, {start}[, {count}]])
|
||||
@@ -1969,7 +1996,8 @@ strridx( {haystack}, {needle} [, {start}])
|
||||
Number last index of {needle} in {haystack}
|
||||
strtrans( {expr}) String translate string to make it printable
|
||||
strwidth( {expr}) Number display cell length of the String {expr}
|
||||
submatch( {nr}) String specific match in ":s" or substitute()
|
||||
submatch( {nr}[, {list}]) String or List
|
||||
specific match in ":s" or substitute()
|
||||
substitute( {expr}, {pat}, {sub}, {flags})
|
||||
String all {pat} in {expr} replaced with {sub}
|
||||
synID( {lnum}, {col}, {trans}) Number syntax ID at {lnum} and {col}
|
||||
@@ -1979,6 +2007,7 @@ synIDtrans( {synID}) Number translated syntax ID of {synID}
|
||||
synconcealed( {lnum}, {col}) List info about concealing
|
||||
synstack( {lnum}, {col}) List stack of syntax IDs at {lnum} and {col}
|
||||
system( {expr} [, {input}]) String output of shell command/filter {expr}
|
||||
systemlist( {expr} [, {input}]) List output of shell command/filter {expr}
|
||||
tabpagebuflist( [{arg}]) List list of buffer numbers in tab page
|
||||
tabpagenr( [{arg}]) Number number of current or last tab page
|
||||
tabpagewinnr( {tabarg}[, {arg}])
|
||||
@@ -1996,6 +2025,8 @@ trunc( {expr}) Float truncate Float {expr}
|
||||
type( {name}) Number type of variable {name}
|
||||
undofile( {name}) String undo file name for {name}
|
||||
undotree() List undo file tree
|
||||
uniq( {list} [, {func} [, {dict}]])
|
||||
List remove adjacent duplicates from a list
|
||||
values( {dict}) List values in {dict}
|
||||
virtcol( {expr}) Number screen column of cursor or mark
|
||||
visualmode( [expr]) String last visual mode used
|
||||
@@ -2077,6 +2108,18 @@ argc() The result is the number of files in the argument list of the
|
||||
argidx() The result is the current index in the argument list. 0 is
|
||||
the first file. argc() - 1 is the last one. See |arglist|.
|
||||
|
||||
*arglistid()*
|
||||
arglistid([{winnr}, [ {tabnr} ]])
|
||||
Return the argument list ID. This is a number which
|
||||
identifies the argument list being used. Zero is used for the
|
||||
global argument list.
|
||||
Return zero if the arguments are invalid.
|
||||
|
||||
Without arguments use the current window.
|
||||
With {winnr} only use this window in the current tab page.
|
||||
With {winnr} and {tabnr} use the window in the specified tab
|
||||
page.
|
||||
|
||||
*argv()*
|
||||
argv([{nr}]) The result is the {nr}th file in the argument list of the
|
||||
current window. See |arglist|. "argv(0)" is the first one.
|
||||
@@ -2261,7 +2304,10 @@ byteidx({expr}, {nr}) *byteidx()*
|
||||
{expr}. Use zero for the first character, it returns zero.
|
||||
This function is only useful when there are multibyte
|
||||
characters, otherwise the returned value is equal to {nr}.
|
||||
Composing characters are counted as a separate character.
|
||||
Composing characters are not counted separately, their byte
|
||||
length is added to the preceding base character. See
|
||||
|byteidxcomp()| below for counting composing characters
|
||||
separately.
|
||||
Example : >
|
||||
echo matchstr(str, ".", byteidx(str, 3))
|
||||
< will display the fourth character. Another way to do the
|
||||
@@ -2270,7 +2316,20 @@ byteidx({expr}, {nr}) *byteidx()*
|
||||
echo strpart(s, 0, byteidx(s, 1))
|
||||
< If there are less than {nr} characters -1 is returned.
|
||||
If there are exactly {nr} characters the length of the string
|
||||
is returned.
|
||||
in bytes is returned.
|
||||
|
||||
byteidxcomp({expr}, {nr}) *byteidxcomp()*
|
||||
Like byteidx(), except that a composing character is counted
|
||||
as a separate character. Example: >
|
||||
let s = 'e' . nr2char(0x301)
|
||||
echo byteidx(s, 1)
|
||||
echo byteidxcomp(s, 1)
|
||||
echo byteidxcomp(s, 2)
|
||||
< The first and third echo result in 3 ('e' plus composing
|
||||
character is 3 bytes), the second echo results in 1 ('e' is
|
||||
one byte).
|
||||
Only works different from byteidx() when 'encoding' is set to
|
||||
a Unicode encoding.
|
||||
|
||||
call({func}, {arglist} [, {dict}]) *call()* *E699*
|
||||
Call function {func} with the items in |List| {arglist} as
|
||||
@@ -2545,9 +2604,14 @@ cursor({lnum}, {col} [, {off}]) *cursor()*
|
||||
cursor({list})
|
||||
Positions the cursor at the column (byte count) {col} in the
|
||||
line {lnum}. The first column is one.
|
||||
|
||||
When there is one argument {list} this is used as a |List|
|
||||
with two or three items {lnum}, {col} and {off}. This is like
|
||||
the return value of |getpos()|, but without the first item.
|
||||
with two, three or four item:
|
||||
[{lnum}, {col}, {off}]
|
||||
[{lnum}, {col}, {off}, {curswant}]
|
||||
This is like the return value of |getpos()| or |getcurpos()|,
|
||||
but without the first item.
|
||||
|
||||
Does not change the jumplist.
|
||||
If {lnum} is greater than the number of lines in the buffer,
|
||||
the cursor will be positioned at the last line in the buffer.
|
||||
@@ -2556,6 +2620,8 @@ cursor({list})
|
||||
the cursor will be positioned at the last character in the
|
||||
line.
|
||||
If {col} is zero, the cursor will stay in the current column.
|
||||
If {curswant} is given it is used to set the preferred column
|
||||
for vertical movment. Otherwise {col} is used.
|
||||
When 'virtualedit' is used {off} specifies the offset in
|
||||
screen columns from the start of the character. E.g., a
|
||||
position within a <Tab> or after the last character.
|
||||
@@ -2672,6 +2738,15 @@ executable({expr}) *executable()*
|
||||
0 does not exist
|
||||
-1 not implemented on this system
|
||||
|
||||
exepath({expr}) *exepath()*
|
||||
If {expr} is an executable and is either an absolute path, a
|
||||
relative path or found in $PATH, return the full path.
|
||||
Note that the current directory is used when {expr} starts
|
||||
with "./", which may be a problem for Vim: >
|
||||
echo exepath(v:progpath)
|
||||
< If {expr} cannot be found in $PATH or is not executable then
|
||||
an empty string is returned.
|
||||
|
||||
*exists()*
|
||||
exists({expr}) The result is a Number, which is non-zero if {expr} is
|
||||
defined, zero otherwise. The {expr} argument is a string,
|
||||
@@ -2684,7 +2759,8 @@ exists({expr}) The result is a Number, which is non-zero if {expr} is
|
||||
string)
|
||||
*funcname built-in function (see |functions|)
|
||||
or user defined function (see
|
||||
|user-functions|).
|
||||
|user-functions|). Also works for a
|
||||
variable that is a Funcref.
|
||||
varname internal variable (see
|
||||
|internal-variables|). Also works
|
||||
for |curly-braces-names|, |Dictionary|
|
||||
@@ -2790,7 +2866,7 @@ expand({expr} [, {nosuf} [, {list}]]) *expand()*
|
||||
<afile> autocmd file name
|
||||
<abuf> autocmd buffer number (as a String!)
|
||||
<amatch> autocmd matched name
|
||||
<sfile> sourced script file name
|
||||
<sfile> sourced script file or function name
|
||||
<slnum> sourced script file line number
|
||||
<cword> word under the cursor
|
||||
<cWORD> WORD under the cursor
|
||||
@@ -3176,7 +3252,7 @@ getchar([expr]) *getchar()*
|
||||
If [expr] is 1, only check if a character is available, it is
|
||||
not consumed. Return zero if no character available.
|
||||
|
||||
Without {expr} and when {expr} is 0 a whole character or
|
||||
Without [expr] and when [expr] is 0 a whole character or
|
||||
special key is returned. If it is an 8-bit character, the
|
||||
result is a number. Use nr2char() to convert it to a String.
|
||||
Otherwise a String is returned with the encoded character.
|
||||
@@ -3186,7 +3262,11 @@ getchar([expr]) *getchar()*
|
||||
String when a modifier (shift, control, alt) was used that is
|
||||
not included in the character.
|
||||
|
||||
When {expr} is 1 only the first byte is returned. For a
|
||||
When [expr] is 0 and Esc is typed, there will be a short delay
|
||||
while Vim waits to see if this is the start of an escape
|
||||
sequence.
|
||||
|
||||
When [expr] is 1 only the first byte is returned. For a
|
||||
one-byte character it is the character itself as a number.
|
||||
Use nr2char() to convert it to a String.
|
||||
|
||||
@@ -3269,6 +3349,17 @@ getcmdtype() *getcmdtype()*
|
||||
Returns an empty string otherwise.
|
||||
Also see |getcmdpos()|, |setcmdpos()| and |getcmdline()|.
|
||||
|
||||
*getcurpos()*
|
||||
getcurpos() Get the position of the cursor. This is like getpos('.'), but
|
||||
includes an extra item in the list:
|
||||
[bufnum, lnum, col, off, curswant]
|
||||
The "curswant" number is the preferred column when moving the
|
||||
cursor vertically.
|
||||
This can be used to save and restore the cursor position: >
|
||||
let save_cursor = getcurpos()
|
||||
MoveTheCursorAround
|
||||
call setpos('.', save_cursor)
|
||||
|
||||
*getcwd()*
|
||||
getcwd() The result is a String, which is the name of the current
|
||||
working directory.
|
||||
@@ -3390,6 +3481,34 @@ getmatches() *getmatches()*
|
||||
'pattern': 'FIXME', 'priority': 10, 'id': 2}] >
|
||||
:unlet m
|
||||
<
|
||||
*getpid()*
|
||||
getpid() Return a Number which is the process ID of the Vim process.
|
||||
On Unix and MS-Windows this is a unique number, until Vim
|
||||
exits. On MS-DOS it's always zero.
|
||||
|
||||
*getpos()*
|
||||
getpos({expr}) Get the position for {expr}. For possible values of {expr}
|
||||
see |line()|. For getting the cursor position see
|
||||
|getcurpos()|.
|
||||
The result is a |List| with four numbers:
|
||||
[bufnum, lnum, col, off]
|
||||
"bufnum" is zero, unless a mark like '0 or 'A is used, then it
|
||||
is the buffer number of the mark.
|
||||
"lnum" and "col" are the position in the buffer. The first
|
||||
column is 1.
|
||||
The "off" number is zero, unless 'virtualedit' is used. Then
|
||||
it is the offset in screen columns from the start of the
|
||||
character. E.g., a position within a <Tab> or after the last
|
||||
character.
|
||||
Note that for '< and '> Visual mode matters: when it is "V"
|
||||
(visual line mode) the column of '< is zero and the column of
|
||||
'> is a large number.
|
||||
This can be used to save and restore the position of a mark: >
|
||||
let save_a_mark = getpos("'a")
|
||||
...
|
||||
call setpos(''a', save_a_mark
|
||||
< Also see |getcurpos()| and |setpos()|.
|
||||
|
||||
|
||||
getqflist() *getqflist()*
|
||||
Returns a list with all the current quickfix errors. Each
|
||||
@@ -3418,7 +3537,7 @@ getqflist() *getqflist()*
|
||||
:endfor
|
||||
|
||||
|
||||
getreg([{regname} [, 1]]) *getreg()*
|
||||
getreg([{regname} [, 1 [, {list}]]]) *getreg()*
|
||||
The result is a String, which is the contents of register
|
||||
{regname}. Example: >
|
||||
:let cliptext = getreg('*')
|
||||
@@ -3427,6 +3546,11 @@ getreg([{regname} [, 1]]) *getreg()*
|
||||
getreg('=', 1) returns the expression itself, so that it can
|
||||
be restored with |setreg()|. For other registers the extra
|
||||
argument is ignored, thus you can always give it.
|
||||
If {list} is present and non-zero result type is changed to
|
||||
|List|. Each list item is one text line. Use it if you care
|
||||
about zero bytes possibly present inside register: without
|
||||
third argument both NLs and zero bytes are represented as NLs
|
||||
(see |NL-used-for-Nul|).
|
||||
If {regname} is not specified, |v:register| is used.
|
||||
|
||||
|
||||
@@ -3436,7 +3560,7 @@ getregtype([{regname}]) *getregtype()*
|
||||
"v" for |characterwise| text
|
||||
"V" for |linewise| text
|
||||
"<CTRL-V>{width}" for |blockwise-visual| text
|
||||
0 for an empty or unknown register
|
||||
"" for an empty or unknown register
|
||||
<CTRL-V> is one character with value 0x16.
|
||||
If {regname} is not specified, |v:register| is used.
|
||||
|
||||
@@ -3514,11 +3638,12 @@ glob({expr} [, {nosuf} [, {list}]]) *glob()*
|
||||
See |expand()| for expanding special Vim variables. See
|
||||
|system()| for getting the raw output of an external command.
|
||||
|
||||
globpath({path}, {expr} [, {flag}]) *globpath()*
|
||||
globpath({path}, {expr} [, {nosuf} [, {list}]]) *globpath()*
|
||||
Perform glob() on all directories in {path} and concatenate
|
||||
the results. Example: >
|
||||
:echo globpath(&rtp, "syntax/c.vim")
|
||||
< {path} is a comma-separated list of directory names. Each
|
||||
<
|
||||
{path} is a comma-separated list of directory names. Each
|
||||
directory name is prepended to {expr} and expanded like with
|
||||
|glob()|. A path separator is inserted when needed.
|
||||
To add a comma inside a directory name escape it with a
|
||||
@@ -3526,11 +3651,19 @@ globpath({path}, {expr} [, {flag}]) *globpath()*
|
||||
trailing backslash, remove it if you put a comma after it.
|
||||
If the expansion fails for one of the directories, there is no
|
||||
error message.
|
||||
Unless the optional {flag} argument is given and is non-zero,
|
||||
|
||||
Unless the optional {nosuf} argument is given and is non-zero,
|
||||
the 'suffixes' and 'wildignore' options apply: Names matching
|
||||
one of the patterns in 'wildignore' will be skipped and
|
||||
'suffixes' affect the ordering of matches.
|
||||
|
||||
When {list} is present and it is non-zero the result is a List
|
||||
with all matching files. The advantage of using a List is, you
|
||||
also get filenames containing newlines correctly. Otherwise
|
||||
the result is a String and when there are several matches,
|
||||
they are separated by <NL> characters. Example: >
|
||||
:echo globpath(&rtp, "syntax/c.vim", 0, 1)
|
||||
<
|
||||
The "**" item can be used to search in a directory tree.
|
||||
For example, to find all "README.txt" files in the directories
|
||||
in 'runtimepath' and below: >
|
||||
@@ -4110,6 +4243,8 @@ maparg({name}[, {mode} [, {abbr} [, {dict}]]]) *maparg()*
|
||||
(|mapmode-ic|)
|
||||
"sid" The script local ID, used for <sid> mappings
|
||||
(|<SID>|).
|
||||
"nowait" Do not wait for other, longer mappings.
|
||||
(|:map-<nowait>|).
|
||||
|
||||
The mappings local to the current buffer are checked first,
|
||||
then the global mappings.
|
||||
@@ -4211,6 +4346,9 @@ matchadd({group}, {pattern}[, {priority}[, {id}]])
|
||||
"match"). It will be highlighted with {group}. Returns an
|
||||
identification number (ID), which can be used to delete the
|
||||
match using |matchdelete()|.
|
||||
Matching is case sensitive and magic, unless case sensitivity
|
||||
or magicness are explicitly overridden in {pattern}. The
|
||||
'magic', 'smartcase' and 'ignorecase' options are not used.
|
||||
|
||||
The optional {priority} argument assigns a priority to the
|
||||
match. A match with a high priority will have its
|
||||
@@ -4244,6 +4382,41 @@ matchadd({group}, {pattern}[, {priority}[, {id}]])
|
||||
available from |getmatches()|. All matches can be deleted in
|
||||
one operation by |clearmatches()|.
|
||||
|
||||
matchaddpos({group}, {pos}[, {priority}[, {id}]]) *matchaddpos()*
|
||||
Same as |matchadd()|, but requires a list of positions {pos}
|
||||
instead of a pattern. This command is faster than |matchadd()|
|
||||
because it does not require to handle regular expressions and
|
||||
sets buffer line boundaries to redraw screen. It is supposed
|
||||
to be used when fast match additions and deletions are
|
||||
required, for example to highlight matching parentheses.
|
||||
|
||||
The list {pos} can contain one of these items:
|
||||
- A number. This whole line will be highlighted. The first
|
||||
line has number 1.
|
||||
- A list with one number, e.g., [23]. The whole line with this
|
||||
number will be highlighted.
|
||||
- A list with two numbers, e.g., [23, 11]. The first number is
|
||||
the line number, the second one is the column number (first
|
||||
column is 1, the value must correspond to the byte index as
|
||||
|col()| would return). The character at this position will
|
||||
be highlighted.
|
||||
- A list with three numbers, e.g., [23, 11, 3]. As above, but
|
||||
the third number gives the length of the highlight in bytes.
|
||||
|
||||
The maximum number of positions is 8.
|
||||
|
||||
Example: >
|
||||
:highlight MyGroup ctermbg=green guibg=green
|
||||
:let m = matchaddpos("MyGroup", [[23, 24], 34])
|
||||
< Deletion of the pattern: >
|
||||
:call matchdelete(m)
|
||||
|
||||
< Matches added by |matchaddpos()| are returned by
|
||||
|getmatches()| with an entry "pos1", "pos2", etc., with the
|
||||
value a list like the {pos} item.
|
||||
These matches cannot be set via |setmatches()|, however they
|
||||
can still be deleted by |clearmatches()|.
|
||||
|
||||
matcharg({nr}) *matcharg()*
|
||||
Selects the {nr} match item, as set with a |:match|,
|
||||
|:2match| or |:3match| command.
|
||||
@@ -4402,30 +4575,6 @@ nr2char({expr}[, {utf8}]) *nr2char()*
|
||||
characters. nr2char(0) is a real NUL and terminates the
|
||||
string, thus results in an empty string.
|
||||
|
||||
*getpid()*
|
||||
getpid() Return a Number which is the process ID of the Vim process.
|
||||
On Unix and MS-Windows this is a unique number, until Vim
|
||||
exits. On MS-DOS it's always zero.
|
||||
|
||||
*getpos()*
|
||||
getpos({expr}) Get the position for {expr}. For possible values of {expr}
|
||||
see |line()|.
|
||||
The result is a |List| with four numbers:
|
||||
[bufnum, lnum, col, off]
|
||||
"bufnum" is zero, unless a mark like '0 or 'A is used, then it
|
||||
is the buffer number of the mark.
|
||||
"lnum" and "col" are the position in the buffer. The first
|
||||
column is 1.
|
||||
The "off" number is zero, unless 'virtualedit' is used. Then
|
||||
it is the offset in screen columns from the start of the
|
||||
character. E.g., a position within a <Tab> or after the last
|
||||
character.
|
||||
This can be used to save and restore the cursor position: >
|
||||
let save_cursor = getpos(".")
|
||||
MoveTheCursorAround
|
||||
call setpos('.', save_cursor)
|
||||
< Also see |setpos()|.
|
||||
|
||||
or({expr}, {expr}) *or()*
|
||||
Bitwise OR on the two arguments. The arguments are converted
|
||||
to a number. A List, Dict or Float argument causes an error.
|
||||
@@ -5224,8 +5373,9 @@ setpos({expr}, {list})
|
||||
. the cursor
|
||||
'x mark x
|
||||
|
||||
{list} must be a |List| with four numbers:
|
||||
{list} must be a |List| with four or five numbers:
|
||||
[bufnum, lnum, col, off]
|
||||
[bufnum, lnum, col, off, curswant]
|
||||
|
||||
"bufnum" is the buffer number. Zero can be used for the
|
||||
current buffer. Setting the cursor is only possible for
|
||||
@@ -5243,13 +5393,26 @@ setpos({expr}, {list})
|
||||
character. E.g., a position within a <Tab> or after the last
|
||||
character.
|
||||
|
||||
The "curswant" number is only used when setting the cursor
|
||||
position. It sets the preferred column for when moving the
|
||||
cursor vertically. When the "curswant" number is missing the
|
||||
preferred column is not set. When it is present and setting a
|
||||
mark position it is not used.
|
||||
|
||||
Note that for '< and '> changing the line number may result in
|
||||
the marks to be effectively be swapped, so that '< is always
|
||||
before '>.
|
||||
|
||||
Returns 0 when the position could be set, -1 otherwise.
|
||||
An error message is given if {expr} is invalid.
|
||||
|
||||
Also see |getpos()|
|
||||
Also see |getpos()| and |getcurpos()|.
|
||||
|
||||
This does not restore the preferred column for moving
|
||||
vertically. See |winrestview()| for that.
|
||||
vertically; if you set the cursor position with this, |j| and
|
||||
|k| motions will jump to previous columns! Use |cursor()| to
|
||||
also set the preferred column. Also see the "curswant" key in
|
||||
|winrestview()|.
|
||||
|
||||
|
||||
setqflist({list} [, {action}]) *setqflist()*
|
||||
@@ -5301,6 +5464,8 @@ setqflist({list} [, {action}]) *setqflist()*
|
||||
*setreg()*
|
||||
setreg({regname}, {value} [,{options}])
|
||||
Set the register {regname} to {value}.
|
||||
{value} may be any value returned by |getreg()|, including
|
||||
a |List|.
|
||||
If {options} contains "a" or {regname} is upper case,
|
||||
then the value is appended.
|
||||
{options} can also contain a register type specification:
|
||||
@@ -5313,10 +5478,15 @@ setreg({regname}, {value} [,{options}])
|
||||
in the longest line (counting a <Tab> as 1 character).
|
||||
|
||||
If {options} contains no register settings, then the default
|
||||
is to use character mode unless {value} ends in a <NL>.
|
||||
Setting the '=' register is not possible, but you can use >
|
||||
:let @= = var_expr
|
||||
< Returns zero for success, non-zero for failure.
|
||||
is to use character mode unless {value} ends in a <NL> for
|
||||
string {value} and linewise mode for list {value}. Blockwise
|
||||
mode is never selected automatically.
|
||||
Returns zero for success, non-zero for failure.
|
||||
|
||||
*E883*
|
||||
Note: you may not use |List| containing more then one item to
|
||||
set search and expression registers. Lists containing no
|
||||
items act like empty strings.
|
||||
|
||||
Examples: >
|
||||
:call setreg(v:register, @*)
|
||||
@@ -5324,8 +5494,11 @@ setreg({regname}, {value} [,{options}])
|
||||
:call setreg('a', "1\n2\n3", 'b5')
|
||||
|
||||
< This example shows using the functions to save and restore a
|
||||
register. >
|
||||
:let var_a = getreg('a', 1)
|
||||
register (note: you may not reliably restore register value
|
||||
without using the third argument to |getreg()| as without it
|
||||
newlines are represented as newlines AND Nul bytes are
|
||||
represented as newlines as well, see |NL-used-for-Nul|). >
|
||||
:let var_a = getreg('a', 1, 1)
|
||||
:let var_amode = getregtype('a')
|
||||
....
|
||||
:call setreg('a', var_a, var_amode)
|
||||
@@ -5391,6 +5564,7 @@ shellescape({string} [, {special}]) *shellescape()*
|
||||
< This results in a directory listing for the file under the
|
||||
cursor. Example of use with |system()|: >
|
||||
:call system("chmod +w -- " . shellescape(expand("%")))
|
||||
< See also |::S|.
|
||||
|
||||
|
||||
shiftwidth() *shiftwidth()*
|
||||
@@ -5450,20 +5624,35 @@ sinh({expr}) *sinh()*
|
||||
|
||||
|
||||
sort({list} [, {func} [, {dict}]]) *sort()* *E702*
|
||||
Sort the items in {list} in-place. Returns {list}. If you
|
||||
want a list to remain unmodified make a copy first: >
|
||||
Sort the items in {list} in-place. Returns {list}.
|
||||
|
||||
If you want a list to remain unmodified make a copy first: >
|
||||
:let sortedlist = sort(copy(mylist))
|
||||
< Uses the string representation of each item to sort on.
|
||||
Numbers sort after Strings, |Lists| after Numbers.
|
||||
For sorting text in the current buffer use |:sort|.
|
||||
When {func} is given and it is one then case is ignored.
|
||||
{dict} is for functions with the "dict" attribute. It will be
|
||||
used to set the local variable "self". |Dictionary-function|
|
||||
|
||||
< When {func} is omitted, is empty or zero, then sort() uses the
|
||||
string representation of each item to sort on. Numbers sort
|
||||
after Strings, |Lists| after Numbers. For sorting text in the
|
||||
current buffer use |:sort|.
|
||||
|
||||
When {func} is given and it is is '1' or 'i' then case is
|
||||
ignored.
|
||||
|
||||
When {func} is given and it is 'n' then all items will be
|
||||
sorted numerical (Implementation detail: This uses the
|
||||
strtod() function to parse numbers, Strings, Lists, Dicts and
|
||||
Funcrefs will be considered as being 0).
|
||||
|
||||
When {func} is a |Funcref| or a function name, this function
|
||||
is called to compare items. The function is invoked with two
|
||||
items as argument and must return zero if they are equal, 1 or
|
||||
bigger if the first one sorts after the second one, -1 or
|
||||
smaller if the first one sorts before the second one.
|
||||
|
||||
{dict} is for functions with the "dict" attribute. It will be
|
||||
used to set the local variable "self". |Dictionary-function|
|
||||
|
||||
Also see |uniq()|.
|
||||
|
||||
Example: >
|
||||
func MyCompare(i1, i2)
|
||||
return a:i1 == a:i2 ? 0 : a:i1 > a:i2 ? 1 : -1
|
||||
@@ -5605,7 +5794,7 @@ strchars({expr}) *strchars()*
|
||||
|
||||
strdisplaywidth({expr}[, {col}]) *strdisplaywidth()*
|
||||
The result is a Number, which is the number of display cells
|
||||
String {expr} occupies on the screen.
|
||||
String {expr} occupies on the screen when it starts a {col}.
|
||||
When {col} is omitted zero is used. Otherwise it is the
|
||||
screen column where to start. This matters for Tab
|
||||
characters.
|
||||
@@ -5730,12 +5919,23 @@ strwidth({expr}) *strwidth()*
|
||||
Ambiguous, this function's return value depends on 'ambiwidth'.
|
||||
Also see |strlen()|, |strdisplaywidth()| and |strchars()|.
|
||||
|
||||
submatch({nr}) *submatch()*
|
||||
submatch({nr}[, {list}]) *submatch()*
|
||||
Only for an expression in a |:substitute| command or
|
||||
substitute() function.
|
||||
Returns the {nr}'th submatch of the matched text. When {nr}
|
||||
is 0 the whole matched text is returned.
|
||||
Note that a NL in the string can stand for a line break of a
|
||||
multi-line match or a NUL character in the text.
|
||||
Also see |sub-replace-expression|.
|
||||
|
||||
If {list} is present and non-zero then submatch() returns
|
||||
a list of strings, similar to |getline()| with two arguments.
|
||||
NL characters in the text represent NUL characters in the
|
||||
text.
|
||||
Only returns more than one item for |:substitute|, inside
|
||||
|substitute()| this list will always contain one or zero
|
||||
items, since there are no real line breaks.
|
||||
|
||||
Example: >
|
||||
:s/\d\+/\=submatch(0) + 1/
|
||||
< This finds the first number in the line and adds one to it.
|
||||
@@ -5868,19 +6068,29 @@ synstack({lnum}, {col}) *synstack()*
|
||||
valid positions.
|
||||
|
||||
system({expr} [, {input}]) *system()* *E677*
|
||||
Get the output of the shell command {expr}.
|
||||
When {input} is given, this string is written to a file and
|
||||
passed as stdin to the command. The string is written as-is,
|
||||
you need to take care of using the correct line separators
|
||||
yourself. Pipes are not used.
|
||||
Note: Use |shellescape()| to escape special characters in a
|
||||
command argument. Newlines in {expr} may cause the command to
|
||||
fail. The characters in 'shellquote' and 'shellxquote' may
|
||||
also cause trouble.
|
||||
Get the output of the shell command {expr} as a string. See
|
||||
|systemlist()| to get the output as a List.
|
||||
|
||||
When {input} is given and is a string this string is written
|
||||
to a file and passed as stdin to the command. The string is
|
||||
written as-is, you need to take care of using the correct line
|
||||
separators yourself.
|
||||
If {input} is given and is a |List| it is written to the file
|
||||
in a way |writefile()| does with {binary} set to "b" (i.e.
|
||||
with a newline between each list item with newlines inside
|
||||
list items converted to NULs).
|
||||
Pipes are not used.
|
||||
|
||||
Note: Use |shellescape()| or |::S| with |expand()| or
|
||||
|fnamemodify()| to escape special characters in a command
|
||||
argument. Newlines in {expr} may cause the command to fail.
|
||||
The characters in 'shellquote' and 'shellxquote' may also
|
||||
cause trouble.
|
||||
This is not to be used for interactive commands.
|
||||
|
||||
The result is a String. Example: >
|
||||
:let files = system("ls " . shellescape(expand('%:h')))
|
||||
:let files = system('ls ' . expand('%:h:S'))
|
||||
|
||||
< To make the result more system-independent, the shell output
|
||||
is filtered to replace <CR> with <NL> for Macintosh, and
|
||||
@@ -5907,6 +6117,16 @@ system({expr} [, {input}]) *system()* *E677*
|
||||
Use |:checktime| to force a check.
|
||||
|
||||
|
||||
systemlist({expr} [, {input}]) *systemlist()*
|
||||
Same as |system()|, but returns a |List| with lines (parts of
|
||||
output separated by NL) with NULs transformed into NLs. Output
|
||||
is the same as |readfile()| will output with {binary} argument
|
||||
set to "b".
|
||||
|
||||
Returns an empty string on error, so be careful not to run
|
||||
into |E706|.
|
||||
|
||||
|
||||
tabpagebuflist([{arg}]) *tabpagebuflist()*
|
||||
The result is a |List|, where each item is the number of the
|
||||
buffer associated with each window in the current tab page.
|
||||
@@ -5929,7 +6149,7 @@ tabpagenr([{arg}]) *tabpagenr()*
|
||||
The number can be used with the |:tab| command.
|
||||
|
||||
|
||||
tabpagewinnr({tabarg}, [{arg}]) *tabpagewinnr()*
|
||||
tabpagewinnr({tabarg} [, {arg}]) *tabpagewinnr()*
|
||||
Like |winnr()| but for tab page {tabarg}.
|
||||
{tabarg} specifies the number of tab page to be used.
|
||||
{arg} is used like with |winnr()|:
|
||||
@@ -6129,6 +6349,14 @@ undotree() *undotree()*
|
||||
blocks. Each item may again have an "alt"
|
||||
item.
|
||||
|
||||
uniq({list} [, {func} [, {dict}]]) *uniq()* *E882*
|
||||
Remove second and succeeding copies of repeated adjacent
|
||||
{list} items in-place. Returns {list}. If you want a list
|
||||
to remain unmodified make a copy first: >
|
||||
:let newlist = uniq(copy(mylist))
|
||||
< The default compare function uses the string representation of
|
||||
each item. For the use of {func} and {dict} see |sort()|.
|
||||
|
||||
values({dict}) *values()*
|
||||
Return a |List| with all the values of {dict}. The |List| is
|
||||
in arbitrary order.
|
||||
@@ -6258,6 +6486,16 @@ winrestcmd() Returns a sequence of |:resize| commands that should restore
|
||||
winrestview({dict})
|
||||
Uses the |Dictionary| returned by |winsaveview()| to restore
|
||||
the view of the current window.
|
||||
Note: The {dict} does not have to contain all values, that are
|
||||
returned by |winsaveview()|. If values are missing, those
|
||||
settings won't be restored. So you can use: >
|
||||
:call winrestview({'curswant': 4})
|
||||
<
|
||||
This will only set the curswant value (the column the cursor
|
||||
wants to move on vertical movements) of the cursor to column 5
|
||||
(yes, that is 5), while all other settings will remain the
|
||||
same. This is useful, if you set the cursor position manually.
|
||||
|
||||
If you have changed the values the result is unpredictable.
|
||||
If the window size changed the result won't be the same.
|
||||
|
||||
@@ -6272,7 +6510,9 @@ winsaveview() Returns a |Dictionary| that contains information to restore
|
||||
not opened when moving around.
|
||||
The return value includes:
|
||||
lnum cursor line number
|
||||
col cursor column
|
||||
col cursor column (Note: the first column
|
||||
zero, as opposed to what getpos()
|
||||
returns)
|
||||
coladd cursor column offset for 'virtualedit'
|
||||
curswant column for vertical movement
|
||||
topline first line in the window
|
||||
@@ -6323,7 +6563,7 @@ xor({expr}, {expr}) *xor()*
|
||||
|
||||
|
||||
*feature-list*
|
||||
There are three types of features:
|
||||
There are four types of features:
|
||||
1. Features that are only supported when they have been enabled when Vim
|
||||
was compiled |+feature-list|. Example: >
|
||||
:if has("cindent")
|
||||
@@ -6331,11 +6571,21 @@ There are three types of features:
|
||||
Example: >
|
||||
:if has("gui_running")
|
||||
< *has-patch*
|
||||
3. Included patches. First check |v:version| for the version of Vim.
|
||||
Then the "patch123" feature means that patch 123 has been included for
|
||||
this version. Example (checking version 6.2.148 or later): >
|
||||
3. Included patches. The "patch123" feature means that patch 123 has been
|
||||
included. Note that this form does not check the version of Vim, you need
|
||||
to inspect |v:version| for that.
|
||||
Example (checking version 6.2.148 or later): >
|
||||
:if v:version > 602 || v:version == 602 && has("patch148")
|
||||
< Note that it's possible for patch 147 to be omitted even though 148 is
|
||||
< Note that it's possible for patch 147 to be omitted even though 148 is
|
||||
included.
|
||||
|
||||
4. Beyond a certain version or at a certain version and including a specific
|
||||
patch. The "patch-7.4.237" feature means that the Vim version is 7.5 or
|
||||
later, or it is version 7.4 and patch 237 was included.
|
||||
Note that this only works for patch 7.4.237 and later, before that you
|
||||
need to use the example above that checks v:version. Example: >
|
||||
:if has("patch-7.4.248")
|
||||
< Note that it's possible for patch 147 to be omitted even though 148 is
|
||||
included.
|
||||
|
||||
acl Compiled with |ACL| support.
|
||||
@@ -6409,8 +6659,8 @@ jumplist Compiled with |jumplist| support.
|
||||
keymap Compiled with 'keymap' support.
|
||||
langmap Compiled with 'langmap' support.
|
||||
libcall Compiled with |libcall()| support.
|
||||
linebreak Compiled with 'linebreak', 'breakat' and 'showbreak'
|
||||
support.
|
||||
linebreak Compiled with 'linebreak', 'breakat', 'showbreak' and
|
||||
'breakindent' support.
|
||||
lispindent Compiled with support for lisp indenting.
|
||||
listcmds Compiled with commands for the buffer list |:files|
|
||||
and the argument list |arglist|.
|
||||
@@ -6557,6 +6807,8 @@ can only be called from within the script and from functions, user commands
|
||||
and autocommands defined in the script. It is also possible to call the
|
||||
function from a mapping defined in the script, but then |<SID>| must be used
|
||||
instead of "s:" when the mapping is expanded outside of the script.
|
||||
There are only script-local functions, no buffer-local or window-local
|
||||
functions.
|
||||
|
||||
*:fu* *:function* *E128* *E129* *E123*
|
||||
:fu[nction] List all functions and their arguments.
|
||||
@@ -6580,11 +6832,15 @@ last defined. Example: >
|
||||
<
|
||||
See |:verbose-cmd| for more information.
|
||||
|
||||
*E124* *E125* *E853*
|
||||
*E124* *E125* *E853* *E884*
|
||||
:fu[nction][!] {name}([arguments]) [range] [abort] [dict]
|
||||
Define a new function by the name {name}. The name
|
||||
must be made of alphanumeric characters and '_', and
|
||||
must start with a capital or "s:" (see above).
|
||||
must start with a capital or "s:" (see above). Note
|
||||
that using "b:" or "g:" is not allowed. (since patch
|
||||
7.4.260 E884 is given if the function name has a colon
|
||||
in the name, e.g. for "foo:bar()". Before that patch
|
||||
no error was given).
|
||||
|
||||
{name} can also be a |Dictionary| entry that is a
|
||||
|Funcref|: >
|
||||
@@ -6603,7 +6859,7 @@ See |:verbose-cmd| for more information.
|
||||
|
||||
For the {arguments} see |function-argument|.
|
||||
|
||||
*a:firstline* *a:lastline*
|
||||
*:func-range* *a:firstline* *a:lastline*
|
||||
When the [range] argument is added, the function is
|
||||
expected to take care of a range itself. The range is
|
||||
passed as "a:firstline" and "a:lastline". If [range]
|
||||
@@ -6612,10 +6868,10 @@ See |:verbose-cmd| for more information.
|
||||
of each line. See |function-range-example|.
|
||||
The cursor is still moved to the first line of the
|
||||
range, as is the case with all Ex commands.
|
||||
|
||||
*:func-abort*
|
||||
When the [abort] argument is added, the function will
|
||||
abort as soon as an error is detected.
|
||||
|
||||
*:func-dict*
|
||||
When the [dict] argument is added, the function must
|
||||
be invoked through an entry in a |Dictionary|. The
|
||||
local variable "self" will then be set to the
|
||||
@@ -7277,6 +7533,8 @@ This does NOT work: >
|
||||
{pattern}, so long as it does not have a special
|
||||
meaning (e.g., '|' or '"') and doesn't occur inside
|
||||
{pattern}.
|
||||
Information about the exception is available in
|
||||
|v:exception|. Also see |throw-variables|.
|
||||
NOTE: It is not reliable to ":catch" the TEXT of
|
||||
an error message because it may vary in different
|
||||
locales.
|
||||
@@ -7420,13 +7678,22 @@ This does NOT work: >
|
||||
for Vim commands, |shellescape()| for |:!| commands.
|
||||
Examples: >
|
||||
:execute "e " . fnameescape(filename)
|
||||
:execute "!ls " . shellescape(expand('%:h'), 1)
|
||||
:execute "!ls " . shellescape(filename, 1)
|
||||
<
|
||||
Note: The executed string may be any command-line, but
|
||||
you cannot start or end a "while", "for" or "if"
|
||||
command. Thus this is illegal: >
|
||||
:execute 'while i > 5'
|
||||
:execute 'echo "test" | break'
|
||||
starting or ending "if", "while" and "for" does not
|
||||
always work, because when commands are skipped the
|
||||
":execute" is not evaluated and Vim loses track of
|
||||
where blocks start and end. Also "break" and
|
||||
"continue" should not be inside ":execute".
|
||||
This example does not work, because the ":execute" is
|
||||
not evaluated and Vim does not see the "while", and
|
||||
gives an error for finding an ":endwhile": >
|
||||
:if 0
|
||||
: execute 'while i > 5'
|
||||
: echo "test"
|
||||
: endwhile
|
||||
:endif
|
||||
<
|
||||
It is allowed to have a "while" or "if" command
|
||||
completely in the executed string: >
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*filetype.txt* For Vim version 7.4. Last change: 2013 May 25
|
||||
*filetype.txt* For Vim version 7.4. Last change: 2013 Dec 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -447,23 +447,25 @@ g:changelog_new_date_format
|
||||
%% insert a single '%' character
|
||||
%d insert the date from above
|
||||
%u insert the user from above
|
||||
%p insert result of b:changelog_entry_prefix
|
||||
%c where to position cursor when done
|
||||
The default is "%d %u\n\n\t* %c\n\n", which produces
|
||||
The default is "%d %u\n\n\t* %p%c\n\n", which produces
|
||||
something like (| is where cursor will be, unless at
|
||||
the start of the line where it denotes the beginning
|
||||
of the line) >
|
||||
|2003-01-14 Full Name <user@host>
|
||||
|
|
||||
| * |
|
||||
| * prefix|
|
||||
<
|
||||
g:changelog_new_entry_format
|
||||
The format used when creating a new entry.
|
||||
The following table describes special tokens in the
|
||||
string:
|
||||
%p insert result of b:changelog_entry_prefix
|
||||
%c where to position cursor when done
|
||||
The default is "\t*%c", which produces something
|
||||
similar to >
|
||||
| * |
|
||||
| * prefix|
|
||||
<
|
||||
g:changelog_date_entry_search
|
||||
The search pattern to use when searching for a
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*fold.txt* For Vim version 7.4. Last change: 2010 May 13
|
||||
*fold.txt* For Vim version 7.4. Last change: 2013 Dec 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -285,9 +285,10 @@ zF Create a fold for [count] lines. Works like "zf".
|
||||
*zd* *E351*
|
||||
zd Delete one fold at the cursor. When the cursor is on a folded
|
||||
line, that fold is deleted. Nested folds are moved one level
|
||||
up. In Visual mode all folds (partially) in the selected area
|
||||
are deleted. Careful: This easily deletes more folds than you
|
||||
expect and there is no undo.
|
||||
up. In Visual mode one level of all folds (partially) in the
|
||||
selected area are deleted.
|
||||
Careful: This easily deletes more folds than you expect and
|
||||
there is no undo for manual folding.
|
||||
This only works when 'foldmethod' is "manual" or "marker".
|
||||
Also see |fold-delete-marker|.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui.txt* For Vim version 7.4. Last change: 2013 Jun 12
|
||||
*gui.txt* For Vim version 7.4. Last change: 2014 Mar 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -133,6 +133,7 @@ task bar with the 'guiheadroom' option.
|
||||
:winp[os]
|
||||
Display current position of the top left corner of the GUI vim
|
||||
window in pixels. Does not work in all versions.
|
||||
Also see |getwinposx()| and |getwinposy()|.
|
||||
|
||||
:winp[os] {X} {Y} *E466*
|
||||
Put the GUI vim window at the given {X} and {Y} coordinates.
|
||||
@@ -151,8 +152,11 @@ task bar with the 'guiheadroom' option.
|
||||
option.
|
||||
|
||||
If you are running the X Window System, you can get information about the
|
||||
window Vim is running in with this command: >
|
||||
window Vim is running in with these commands: >
|
||||
:!xwininfo -id $WINDOWID
|
||||
:!xprop -id $WINDOWID
|
||||
:execute '!xwininfo -id ' . v:windowid
|
||||
:execute '!xprop -id ' . v:windowid
|
||||
<
|
||||
*gui-IME* *iBus*
|
||||
Input methods for international characters in X that rely on the XIM
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui_x11.txt* For Vim version 7.4. Last change: 2011 Sep 14
|
||||
*gui_x11.txt* For Vim version 7.4. Last change: 2014 Mar 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -442,7 +442,7 @@ command line argument).
|
||||
*gui-x11-kde*
|
||||
There is no KDE version of Vim. There has been some work on a port using the
|
||||
Qt toolkit, but it never worked properly and it has been abandoned. Work
|
||||
continues on Yzis: www.yzis.org.
|
||||
continues on Yzis: https://github.com/chrizel/Yzis.
|
||||
|
||||
==============================================================================
|
||||
8. Compiling *gui-x11-compiling*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_perl.txt* For Vim version 7.4. Last change: 2012 Oct 25
|
||||
*if_perl.txt* For Vim version 7.4. Last change: 2013 Oct 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Sven Verdoolaege
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*indent.txt* For Vim version 7.4. Last change: 2013 Aug 03
|
||||
*indent.txt* For Vim version 7.4. Last change: 2014 Apr 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -545,10 +545,12 @@ The examples below assume a 'shiftwidth' of 4.
|
||||
(default 70 lines).
|
||||
|
||||
*cino-#*
|
||||
#N When N is non-zero recognize shell/Perl comments, starting with
|
||||
'#'. Default N is zero: don't recognize '#' comments. Note
|
||||
that lines starting with # will still be seen as preprocessor
|
||||
lines.
|
||||
#N When N is non-zero recognize shell/Perl comments starting with
|
||||
'#', do not recognize preprocessor lines; allow right-shifting
|
||||
lines that start with "#".
|
||||
When N is zero (default): don't recognize '#' comments, do
|
||||
recognize preprocessor lines; right-shifting lines that start
|
||||
with "#" does not work.
|
||||
|
||||
|
||||
The defaults, spelled out in full, are:
|
||||
@@ -556,7 +558,7 @@ The defaults, spelled out in full, are:
|
||||
c3,C0,/0,(2s,us,U0,w0,W0,k0,m0,j0,J0,)20,*70,#0
|
||||
|
||||
Vim puts a line in column 1 if:
|
||||
- It starts with '#' (preprocessor directives), if 'cinkeys' contains '#'.
|
||||
- It starts with '#' (preprocessor directives), if 'cinkeys' contains '#0'.
|
||||
- It starts with a label (a keyword followed by ':', other than "case" and
|
||||
"default") and 'cinoptions' does not contain an 'L' entry with a positive
|
||||
value.
|
||||
@@ -596,7 +598,6 @@ without limits.
|
||||
" Default
|
||||
let g:clojure_maxlines = 100
|
||||
<
|
||||
|
||||
*g:clojure_fuzzy_indent*
|
||||
*g:clojure_fuzzy_indent_patterns*
|
||||
*g:clojure_fuzzy_indent_blacklist*
|
||||
@@ -650,7 +651,6 @@ default list below.
|
||||
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
|
||||
@@ -675,7 +675,28 @@ This option is off by default.
|
||||
" Default
|
||||
let g:clojure_align_multiline_strings = 0
|
||||
<
|
||||
*g:clojure_align_subforms*
|
||||
|
||||
By default, parenthesized compound forms that look like function calls and
|
||||
whose head subform is on its own line have subsequent subforms indented by
|
||||
two spaces relative to the opening paren:
|
||||
>
|
||||
(foo
|
||||
bar
|
||||
baz)
|
||||
<
|
||||
Setting this option changes this behavior so that all subforms are aligned to
|
||||
the same column, emulating the default behavior of clojure-mode.el:
|
||||
>
|
||||
(foo
|
||||
bar
|
||||
baz)
|
||||
<
|
||||
This option is off by default.
|
||||
>
|
||||
" Default
|
||||
let g:clojure_align_subforms = 0
|
||||
<
|
||||
|
||||
FORTRAN *ft-fortran-indent*
|
||||
|
||||
@@ -791,7 +812,7 @@ OPTIONS: ~
|
||||
PHP indenting can be altered in several ways by modifying the values of some
|
||||
global variables:
|
||||
|
||||
*php-comment*
|
||||
*php-comment* *PHP_autoformatcomment*
|
||||
To not enable auto-formating of comments by default (if you want to use your
|
||||
own 'formatoptions'): >
|
||||
:let g:PHP_autoformatcomment = 0
|
||||
@@ -800,6 +821,7 @@ Else, 't' will be removed from the 'formatoptions' string and "qrowcb" will be
|
||||
added, see |fo-table| for more information.
|
||||
-------------
|
||||
|
||||
*PHP_outdentSLComments*
|
||||
To add extra indentation to single-line comments: >
|
||||
:let g:PHP_outdentSLComments = N
|
||||
|
||||
@@ -811,6 +833,7 @@ Only single-line comments will be affected such as: >
|
||||
/* Comment */
|
||||
-------------
|
||||
|
||||
*PHP_default_indenting*
|
||||
To add extra indentation to every PHP lines with N being the number of
|
||||
'shiftwidth' to add: >
|
||||
:let g:PHP_default_indenting = N
|
||||
@@ -830,14 +853,18 @@ For example, with N = 1, this will give:
|
||||
(Notice the extra indentation between the PHP container markers and the code)
|
||||
-------------
|
||||
|
||||
To indent PHP tags as the surrounding code: >
|
||||
:let g:PHP_outdentphpescape = 0
|
||||
*PHP_outdentphpescape*
|
||||
To indent PHP escape tags as the surrounding non-PHP code (only affects the
|
||||
PHP escape tags): >
|
||||
:let g:PHP_outdentphpescape = 0
|
||||
-------------
|
||||
|
||||
*PHP_removeCRwhenUnix*
|
||||
To automatically remove '\r' characters when the 'fileformat' is set to Unix: >
|
||||
:let g:PHP_removeCRwhenUnix = 1
|
||||
-------------
|
||||
|
||||
*PHP_BracesAtCodeLevel*
|
||||
To indent braces at the same level than the code they contain: >
|
||||
:let g:PHP_BracesAtCodeLevel = 1
|
||||
|
||||
@@ -856,6 +883,7 @@ NOTE: Indenting will be a bit slower if this option is used because some
|
||||
optimizations won't be available.
|
||||
-------------
|
||||
|
||||
*PHP_vintage_case_default_indent*
|
||||
To indent 'case:' and 'default:' statements in switch() blocks: >
|
||||
:let g:PHP_vintage_case_default_indent = 1
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 7.4. Last change: 2013 Jul 17
|
||||
*index.txt* For Vim version 7.4. Last change: 2014 Mar 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1124,8 +1124,8 @@ tag command action ~
|
||||
|:cNfile| :cNf[ile] go to last error in previous file
|
||||
|:cabbrev| :ca[bbrev] like ":abbreviate" but for Command-line mode
|
||||
|:cabclear| :cabc[lear] clear all abbreviations for Command-line mode
|
||||
|:caddbuffer| :caddb[uffer] add errors from buffer
|
||||
|:caddexpr| :cad[dexpr] add errors from expr
|
||||
|:caddbuffer| :cad[dbuffer] add errors from buffer
|
||||
|:caddexpr| :cadde[xpr] add errors from expr
|
||||
|:caddfile| :caddf[ile] add error message to current quickfix list
|
||||
|:call| :cal[l] call a function
|
||||
|:catch| :cat[ch] part of a :try command
|
||||
@@ -1191,12 +1191,12 @@ tag command action ~
|
||||
|:digraphs| :dig[raphs] show or enter digraphs
|
||||
|:display| :di[splay] display registers
|
||||
|:djump| :dj[ump] jump to #define
|
||||
|:dl| :dl short for |:delete|
|
||||
|:dl| :del[ete]l short for |:delete|
|
||||
|:dl| :dl short for |:delete| with the 'l' flag
|
||||
|:dl| :del[ete]l short for |:delete| with the 'l' flag
|
||||
|:dlist| :dli[st] list #defines
|
||||
|:doautocmd| :do[autocmd] apply autocommands to current buffer
|
||||
|:doautoall| :doautoa[ll] apply autocommands for all loaded buffers
|
||||
|:dp| :d[elete]p short for |:delete|
|
||||
|:dp| :d[elete]p short for |:delete| with the 'p' flag
|
||||
|:drop| :dr[op] jump to window editing file or edit file in
|
||||
current window
|
||||
|:dsearch| :ds[earch] list one #define
|
||||
@@ -1275,6 +1275,7 @@ tag command action ~
|
||||
|:keepalt| :keepa[lt] following command keeps the alternate file
|
||||
|:keepmarks| :kee[pmarks] following command keeps marks where they are
|
||||
|:keepjumps| :keepj[umps] following command keeps jumplist and marks
|
||||
|:keeppatterns| :keepp[atterns] following command keeps search pattern history
|
||||
|:lNext| :lN[ext] go to previous entry in location list
|
||||
|:lNfile| :lNf[ile] go to last entry in previous file
|
||||
|:list| :l[ist] print lines
|
||||
@@ -1360,13 +1361,14 @@ tag command action ~
|
||||
|:nmenu| :nme[nu] add menu for Normal mode
|
||||
|:nnoremap| :nn[oremap] like ":noremap" but for Normal mode
|
||||
|:nnoremenu| :nnoreme[nu] like ":noremenu" but for Normal mode
|
||||
|:noautocmd| :noa[utocmd] following command don't trigger autocommands
|
||||
|:noautocmd| :noa[utocmd] following commands don't trigger autocommands
|
||||
|:noremap| :no[remap] enter a mapping that will not be remapped
|
||||
|:nohlsearch| :noh[lsearch] suspend 'hlsearch' highlighting
|
||||
|:noreabbrev| :norea[bbrev] enter an abbreviation that will not be
|
||||
remapped
|
||||
|:noremenu| :noreme[nu] enter a menu that will not be remapped
|
||||
|:normal| :norm[al] execute Normal mode commands
|
||||
|:noswapfile| :nos[wapfile] following commands don't create a swap file
|
||||
|:number| :nu[mber] print lines with line number
|
||||
|:nunmap| :nun[map] like ":unmap" but for Normal mode
|
||||
|:nunmenu| :nunme[nu] remove menu for Normal mode
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*intro.txt* For Vim version 7.4. Last change: 2013 Jun 17
|
||||
*intro.txt* For Vim version 7.4. Last change: 2014 May 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -136,9 +136,10 @@ http://www.vim.org/maillist.php
|
||||
Bug reports: *bugs* *bug-reports* *bugreport.vim*
|
||||
|
||||
Send bug reports to: Vim Developers <vim_dev@vim.org>
|
||||
This is a maillist, many people will see the message. If you don't want that,
|
||||
e.g. because it is a security issue, send it to <bugs@vim.org>, this only goes
|
||||
to the Vim maintainer (that's Bram).
|
||||
This is a maillist, you need to become a member first and many people will see
|
||||
the message. If you don't want that, e.g. because it is a security issue,
|
||||
send it to <bugs@vim.org>, this only goes to the Vim maintainer (that's Bram).
|
||||
|
||||
Please be brief; all the time that is spent on answering mail is subtracted
|
||||
from the time that is spent on improving Vim! Always give a reproducible
|
||||
example and try to find out which settings or other things influence the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 7.4. Last change: 2013 Aug 22
|
||||
*map.txt* For Vim version 7.4. Last change: 2014 Jun 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -60,17 +60,17 @@ modes.
|
||||
{rhs}, is then further scanned for mappings. This
|
||||
allows for nested and recursive use of mappings.
|
||||
|
||||
|
||||
:no[remap] {lhs} {rhs} |mapmode-nvo| *:no* *:noremap*
|
||||
:nn[oremap] {lhs} {rhs} |mapmode-n| *:nn* *:nnoremap*
|
||||
:vn[oremap] {lhs} {rhs} |mapmode-v| *:vn* *:vnoremap*
|
||||
:xn[oremap] {lhs} {rhs} |mapmode-x| *:xn* *:xnoremap*
|
||||
:snor[emap] {lhs} {rhs} |mapmode-s| *:snor* *:snoremap*
|
||||
:ono[remap] {lhs} {rhs} |mapmode-o| *:ono* *:onoremap*
|
||||
:no[remap]! {lhs} {rhs} |mapmode-ic| *:no!* *:noremap!*
|
||||
:ino[remap] {lhs} {rhs} |mapmode-i| *:ino* *:inoremap*
|
||||
:ln[oremap] {lhs} {rhs} |mapmode-l| *:ln* *:lnoremap*
|
||||
:cno[remap] {lhs} {rhs} |mapmode-c| *:cno* *:cnoremap*
|
||||
*:nore* *:norem*
|
||||
:no[remap] {lhs} {rhs} |mapmode-nvo| *:no* *:noremap* *:nor*
|
||||
:nn[oremap] {lhs} {rhs} |mapmode-n| *:nn* *:nnoremap*
|
||||
:vn[oremap] {lhs} {rhs} |mapmode-v| *:vn* *:vnoremap*
|
||||
:xn[oremap] {lhs} {rhs} |mapmode-x| *:xn* *:xnoremap*
|
||||
:snor[emap] {lhs} {rhs} |mapmode-s| *:snor* *:snoremap*
|
||||
:ono[remap] {lhs} {rhs} |mapmode-o| *:ono* *:onoremap*
|
||||
:no[remap]! {lhs} {rhs} |mapmode-ic| *:no!* *:noremap!*
|
||||
:ino[remap] {lhs} {rhs} |mapmode-i| *:ino* *:inoremap*
|
||||
:ln[oremap] {lhs} {rhs} |mapmode-l| *:ln* *:lnoremap*
|
||||
:cno[remap] {lhs} {rhs} |mapmode-c| *:cno* *:cnoremap*
|
||||
Map the key sequence {lhs} to {rhs} for the modes
|
||||
where the map command applies. Disallow mapping of
|
||||
{rhs}, to avoid nested and recursive mappings. Often
|
||||
@@ -306,9 +306,21 @@ is disabled. This makes it possible to map zero without making it impossible
|
||||
to type a count with a zero.
|
||||
|
||||
*map-overview* *map-modes*
|
||||
Overview of which map command works in which mode:
|
||||
Overview of which map command works in which mode. More details below.
|
||||
COMMANDS MODES ~
|
||||
:map :noremap :unmap Normal, Visual, Select, Operator-pending
|
||||
:nmap :nnoremap :nunmap Normal
|
||||
:vmap :vnoremap :vunmap Visual and Select
|
||||
:smap :snoremap :sunmap Select
|
||||
:xmap :xnoremap :xunmap Visual
|
||||
:omap :onoremap :ounmap Operator-pending
|
||||
:map! :noremap! :unmap! Insert and Command-line
|
||||
:imap :inoremap :iunmap Insert
|
||||
:lmap :lnoremap :lunmap Insert, Command-line, Lang-Arg
|
||||
:cmap :cnoremap :cunmap Command-line
|
||||
|
||||
commands: modes: ~
|
||||
|
||||
COMMANDS MODES ~
|
||||
Normal Visual+Select Operator-pending ~
|
||||
:map :noremap :unmap :mapclear yes yes yes
|
||||
:nmap :nnoremap :nunmap :nmapclear yes - -
|
||||
@@ -324,7 +336,7 @@ NOTE: Mapping a printable character in Select mode may confuse the user. It's
|
||||
better to explicitly use :xmap and :smap for printable characters. Or use
|
||||
:sunmap after defining the mapping.
|
||||
|
||||
commands: modes: ~
|
||||
COMMANDS MODES ~
|
||||
Visual Select ~
|
||||
:vmap :vnoremap :vunmap :vmapclear yes yes
|
||||
:xmap :xnoremap :xunmap :xmapclear yes -
|
||||
@@ -333,7 +345,7 @@ better to explicitly use :xmap and :smap for printable characters. Or use
|
||||
*mapmode-ic* *mapmode-i* *mapmode-c* *mapmode-l*
|
||||
Some commands work both in Insert mode and Command-line mode, some not:
|
||||
|
||||
commands: modes: ~
|
||||
COMMANDS MODES ~
|
||||
Insert Command-line Lang-Arg ~
|
||||
:map! :noremap! :unmap! :mapclear! yes yes -
|
||||
:imap :inoremap :iunmap :imapclear yes - -
|
||||
@@ -593,7 +605,7 @@ illogical when compared to other commands.
|
||||
When you have a mapping that contains an Ex command, you need to put a line
|
||||
terminator after it to have it executed. The use of <CR> is recommended for
|
||||
this (see |<>|). Example: >
|
||||
:map _ls :!ls -l %<CR>:echo "the end"<CR>
|
||||
:map _ls :!ls -l %:S<CR>:echo "the end"<CR>
|
||||
|
||||
To avoid mapping of the characters you type in insert or Command-line mode,
|
||||
type a CTRL-V first. The mapping in Insert mode is disabled if the 'paste'
|
||||
@@ -816,12 +828,10 @@ Here is an example that counts the number of spaces with <F4>: >
|
||||
let &selection = "inclusive"
|
||||
let reg_save = @@
|
||||
|
||||
if a:0 " Invoked from Visual mode, use '< and '> marks.
|
||||
silent exe "normal! `<" . a:type . "`>y"
|
||||
if a:0 " Invoked from Visual mode, use gv command.
|
||||
silent exe "normal! gvy"
|
||||
elseif a:type == 'line'
|
||||
silent exe "normal! '[V']y"
|
||||
elseif a:type == 'block'
|
||||
silent exe "normal! `[\<C-V>`]y"
|
||||
else
|
||||
silent exe "normal! `[v`]y"
|
||||
endif
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*motion.txt* For Vim version 7.4. Last change: 2013 Jul 17
|
||||
*motion.txt* For Vim version 7.4. Last change: 2014 Feb 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -343,7 +343,7 @@ gg Goto line [count], default first line, on the first
|
||||
See also 'startofline' option. {not in Vi}
|
||||
|
||||
:[range]go[to] [count] *:go* *:goto* *go*
|
||||
[count]go Go to {count} byte in the buffer. Default [count] is
|
||||
[count]go Go to [count] byte in the buffer. Default [count] is
|
||||
one, start of the file. When giving [range], the
|
||||
last number in it used as the byte count. End-of-line
|
||||
characters are counted depending on the current
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 7.4. Last change: 2013 Aug 22
|
||||
*options.txt* For Vim version 7.4. Last change: 2014 Jun 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -987,7 +987,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|
||||
*'backupdir'* *'bdir'*
|
||||
'backupdir' 'bdir' string (default for Amiga: ".,t:",
|
||||
for MS-DOS and Win32: ".,c:/tmp,c:/temp"
|
||||
for MS-DOS and Win32: ".,$TEMP,c:/tmp,c:/temp"
|
||||
for Unix: ".,~/tmp,~/")
|
||||
global
|
||||
{not in Vi}
|
||||
@@ -1200,6 +1200,38 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
break if 'linebreak' is on. Only works for ASCII and also for 8-bit
|
||||
characters when 'encoding' is an 8-bit encoding.
|
||||
|
||||
*'breakindent'* *'bri'*
|
||||
'breakindent' 'bri' boolean (default off)
|
||||
local to window
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+linebreak|
|
||||
feature}
|
||||
Every wrapped line will continue visually indented (same amount of
|
||||
space as the beginning of that line), thus preserving horizontal blocks
|
||||
of text.
|
||||
|
||||
*'breakindentopt'* *'briopt'*
|
||||
'breakindentopt' 'briopt' string (default empty)
|
||||
local to window
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+linebreak|
|
||||
feature}
|
||||
Settings for 'breakindent'. It can consist of the following optional
|
||||
items and must be seperated by a comma:
|
||||
min:{n} Minimum text width that will be kept after
|
||||
applying 'breakindent', even if the resulting
|
||||
text should normally be narrower. This prevents
|
||||
text indented almost to the right window border
|
||||
occupying lot of vertical space when broken.
|
||||
shift:{n} After applying 'breakindent', wrapped line
|
||||
beginning will be shift by given number of
|
||||
characters. It permits dynamic French paragraph
|
||||
indentation (negative) or emphasizing the line
|
||||
continuation (positive).
|
||||
sbr Display the 'showbreak' value before applying the
|
||||
additional indent.
|
||||
The default value for min is 20 and shift is 0.
|
||||
|
||||
*'browsedir'* *'bsdir'*
|
||||
'browsedir' 'bsdir' string (default: "last")
|
||||
global
|
||||
@@ -2477,7 +2509,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|
||||
*'directory'* *'dir'*
|
||||
'directory' 'dir' string (default for Amiga: ".,t:",
|
||||
for MS-DOS and Win32: ".,c:\tmp,c:\temp"
|
||||
for MS-DOS and Win32: ".,$TEMP,c:\tmp,c:\temp"
|
||||
for Unix: ".,~/tmp,/var/tmp,/tmp")
|
||||
global
|
||||
List of directory names for the swap file, separated with commas.
|
||||
@@ -3920,12 +3952,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
NOTE: This option is reset when 'compatible' is set.
|
||||
|
||||
*'history'* *'hi'*
|
||||
'history' 'hi' number (Vim default: 20, Vi default: 0)
|
||||
'history' 'hi' number (Vim default: 50, Vi default: 0)
|
||||
global
|
||||
{not in Vi}
|
||||
A history of ":" commands, and a history of previous search patterns
|
||||
are remembered. This option decides how many entries may be stored in
|
||||
is remembered. This option decides how many entries may be stored in
|
||||
each of these histories (see |cmdline-editing|).
|
||||
The maximum value is 10000.
|
||||
NOTE: This option is set to the Vi default value when 'compatible' is
|
||||
set and to the Vim default value when 'compatible' is reset.
|
||||
|
||||
@@ -4492,6 +4525,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
be able to execute Normal mode commands.
|
||||
This is the opposite of the 'keymap' option, where characters are
|
||||
mapped in Insert mode.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
Example (for Greek, in UTF-8): *greek* >
|
||||
:set langmap=ΑA,ΒB,ΨC,ΔD,ΕE,ΦF,ΓG,ΗH,ΙI,ΞJ,ΚK,ΛL,ΜM,ΝN,ΟO,ΠP,QQ,ΡR,ΣS,ΤT,ΘU,ΩV,WW,ΧX,ΥY,ΖZ,αa,βb,ψc,δd,εe,φf,γg,ηh,ιi,ξj,κk,λl,μm,νn,οo,πp,qq,ρr,σs,τt,θu,ωv,ςw,χx,υy,ζz
|
||||
@@ -4572,12 +4607,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+linebreak|
|
||||
feature}
|
||||
If on Vim will wrap long lines at a character in 'breakat' rather
|
||||
If on, Vim will wrap long lines at a character in 'breakat' rather
|
||||
than at the last character that fits on the screen. Unlike
|
||||
'wrapmargin' and 'textwidth', this does not insert <EOL>s in the file,
|
||||
it only affects the way the file is displayed, not its contents. The
|
||||
value of 'showbreak' is used to put in front of wrapped lines.
|
||||
This option is not used when the 'wrap' option is off or 'list' is on.
|
||||
it only affects the way the file is displayed, not its contents.
|
||||
If 'breakindent' is set, line is visually indented. Then, the value
|
||||
of 'showbreak' is used to put in front of wrapped lines. This option
|
||||
is not used when the 'wrap' option is off or 'list' is on.
|
||||
Note that <Tab> characters after an <EOL> are mostly not displayed
|
||||
with the right amount of white space.
|
||||
|
||||
@@ -4629,7 +4665,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|
||||
*'lispwords'* *'lw'*
|
||||
'lispwords' 'lw' string (default is very long)
|
||||
global
|
||||
global or local to buffer |global-local|
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+lispindent|
|
||||
feature}
|
||||
@@ -4757,8 +4793,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
global or local to buffer |global-local|
|
||||
{not in Vi}
|
||||
Program to use for the ":make" command. See |:make_makeprg|.
|
||||
This option may contain '%' and '#' characters, which are expanded to
|
||||
the current and alternate file name. |:_%| |:_#|
|
||||
This option may contain '%' and '#' characters (see |:_%| and |:_#|),
|
||||
which are expanded to the current and alternate file name. Use |::S|
|
||||
to escape file names in case they contain special characters.
|
||||
Environment variables are expanded |:set_env|. See |option-backslash|
|
||||
about including spaces and backslashes.
|
||||
Note that a '|' must be escaped twice: once for ":set" and once for
|
||||
@@ -6251,6 +6288,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
A don't give the "ATTENTION" message when an existing swap file
|
||||
is found.
|
||||
I don't give the intro message when starting Vim |:intro|.
|
||||
c don't give |ins-completion-menu| messages. For example,
|
||||
"-- XXX completion (YYY)", "match 1 of 2", "The only match",
|
||||
"Pattern not found", "Back at original", etc.
|
||||
|
||||
This gives you the opportunity to avoid that a change between buffers
|
||||
requires you to hit <Enter>, but still gives as useful a message as
|
||||
@@ -6555,6 +6595,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
region by listing them: "en_us,en_ca" supports both US and Canadian
|
||||
English, but not words specific for Australia, New Zealand or Great
|
||||
Britain.
|
||||
If the name "cjk" is included East Asian characters are excluded from
|
||||
spell checking. This is useful when editing text that also has Asian
|
||||
words.
|
||||
*E757*
|
||||
As a special case the name of a .spl file can be given as-is. The
|
||||
first "_xx" in the name is removed and used as the region name
|
||||
@@ -6615,6 +6658,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
top of the suggestion list with the internal methods.
|
||||
Lines without a slash are ignored, use this for
|
||||
comments.
|
||||
The word in the second column must be correct,
|
||||
otherwise it will not be used. Add the word to an
|
||||
".add" file if it is currently flagged as a spelling
|
||||
mistake.
|
||||
The file is used for all languages.
|
||||
|
||||
expr:{expr} Evaluate expression {expr}. Use a function to avoid
|
||||
@@ -6878,6 +6925,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
immediately deleted. When 'swapfile' is set, and 'updatecount' is
|
||||
non-zero, a swap file is immediately created.
|
||||
Also see |swap-file| and |'swapsync'|.
|
||||
If you want to open a new buffer without creating a swap file for it,
|
||||
use the |:noswapfile| modifier.
|
||||
|
||||
This option is used together with 'bufhidden' and 'buftype' to
|
||||
specify special kinds of buffers. See |special-buffers|.
|
||||
@@ -7498,8 +7547,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
"s" = button state
|
||||
"c" = column plus 33
|
||||
"r" = row plus 33
|
||||
This only works up to 223 columns! See "dec" for a
|
||||
solution.
|
||||
This only works up to 223 columns! See "dec",
|
||||
"urxvt", and "sgr" for solutions.
|
||||
xterm2 Works like "xterm", but with the xterm reporting the
|
||||
mouse position while the mouse is dragged. This works
|
||||
much faster and more precise. Your xterm must at
|
||||
@@ -7521,29 +7570,35 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
pterm QNX pterm mouse handling.
|
||||
*urxvt-mouse*
|
||||
urxvt Mouse handling for the urxvt (rxvt-unicode) terminal.
|
||||
The mouse works only if the terminal supports this
|
||||
encoding style, but it does not have 223 columns limit
|
||||
unlike "xterm" or "xterm2".
|
||||
*sgr-mouse*
|
||||
sgr Mouse handling for the terminal that emits SGR-styled
|
||||
mouse reporting. Works with xterm version 277 or
|
||||
later.
|
||||
mouse reporting. The mouse works even in columns
|
||||
beyond 223. This option is backward compatible with
|
||||
"xterm2" because it can also decode "xterm2" style
|
||||
mouse codes.
|
||||
|
||||
The mouse handling must be enabled at compile time |+mouse_xterm|
|
||||
|+mouse_dec| |+mouse_netterm|.
|
||||
|+mouse_dec| |+mouse_netterm| |+mouse_jsbterm| |+mouse_urxvt|
|
||||
|+mouse_sgr|.
|
||||
Only "xterm"(2) is really recognized. NetTerm mouse codes are always
|
||||
recognized, if enabled at compile time. DEC terminal mouse codes
|
||||
are recognized if enabled at compile time, and 'ttymouse' is not
|
||||
"xterm" (because the xterm and dec mouse codes conflict).
|
||||
"xterm", "xterm2", "urxvt" or "sgr" (because dec mouse codes conflict
|
||||
with them).
|
||||
This option is automatically set to "xterm", when the 'term' option is
|
||||
set to a name that starts with "xterm", and 'ttymouse' is not "xterm"
|
||||
or "xterm2" already. The main use of this option is to set it to
|
||||
"xterm", when the terminal name doesn't start with "xterm", but it can
|
||||
handle xterm mouse codes.
|
||||
The "sgr" value will be set if the xterm version is 277 or later.
|
||||
set to a name that starts with "xterm", "mlterm", or "screen", and
|
||||
'ttymouse' is not set already.
|
||||
Additionally, if vim is compiled with the |+termresponse| feature and
|
||||
|t_RV| is set to the escape sequence to request the xterm version
|
||||
number, more intelligent detection process runs.
|
||||
The "xterm2" value will be set if the xterm version is reported to be
|
||||
95 or higher. This only works when compiled with the |+termresponse|
|
||||
feature and if |t_RV| is set to the escape sequence to request the
|
||||
xterm version number. Otherwise "xterm2" must be set explicitly.
|
||||
If you do not want 'ttymouse' to be set to "xterm2" automatically, set
|
||||
t_RV to an empty string: >
|
||||
from 95 to 276. The "sgr" value will be set if the xterm version is
|
||||
277 or highter.
|
||||
If you do not want 'ttymouse' to be set to "xterm2" or "sgr"
|
||||
automatically, set t_RV to an empty string: >
|
||||
:set t_RV=
|
||||
<
|
||||
*'ttyscroll'* *'tsl'*
|
||||
@@ -7594,7 +7649,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'undolevels'* *'ul'*
|
||||
'undolevels' 'ul' number (default 100, 1000 for Unix, VMS,
|
||||
Win32 and OS/2)
|
||||
global
|
||||
global or local to buffer |global-local|
|
||||
{not in Vi}
|
||||
Maximum number of changes that can be undone. Since undo information
|
||||
is kept in memory, higher numbers will cause more memory to be used
|
||||
@@ -7605,8 +7660,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
< But you can also get Vi compatibility by including the 'u' flag in
|
||||
'cpoptions', and still be able to use CTRL-R to repeat undo.
|
||||
Also see |undo-two-ways|.
|
||||
Set to a negative number for no undo at all: >
|
||||
set ul=-1
|
||||
Set to -1 for no undo at all. You might want to do this only for the
|
||||
current buffer: >
|
||||
setlocal ul=-1
|
||||
< This helps when you run out of memory for a single change.
|
||||
Also see |clear-undo|.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_vms.txt* For Vim version 7.4. Last change: 2013 Aug 22
|
||||
*os_vms.txt* For Vim version 7.4. Last change: 2014 Feb 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL
|
||||
@@ -764,6 +764,22 @@ GNU_TOOLS.ZIP package downloadable from http://www.polarhome.com/vim/
|
||||
|
||||
9. VMS related changes *vms-changes*
|
||||
|
||||
Version 7.4
|
||||
- Undo: VMS can not handle more than one dot in the filenames use "dir/name" -> "dir/_un_name"
|
||||
add _un_ at the beginning to keep the extension
|
||||
- correct swap file name wildcard handling
|
||||
- handle iconv usage correctly
|
||||
- do not optimize on vax - otherwise it hangs compiling crypto files
|
||||
- fileio.c fix the comment
|
||||
- correct RealWaitForChar
|
||||
- after 7.4-119 use different functions lib$cvtf_to_internal_time because Alpha and VAX have
|
||||
G_FLOAT but IA64 uses IEEE float otherwise Vim crashes
|
||||
- guard agains crashes that are caused by mixed filenames
|
||||
- [TESTDIR]make_vms.mms changed to see the output files
|
||||
- Improve tests, update known issues
|
||||
- minor compiler warnings fixed
|
||||
- CTAGS 5.8 +regex included
|
||||
|
||||
Version 7.3
|
||||
- CTAGS 5.8 included
|
||||
- VMS compile warnings fixed - floating-point overflow warning corrected on VAX
|
||||
|
||||
@@ -93,7 +93,7 @@ the default value of 'term' from the environment variable "TERM".
|
||||
$PATH *win32-PATH*
|
||||
|
||||
The directory of the Vim executable is appended to $PATH. This is mostly to
|
||||
make "!xxd' work, as it is in the Tools menu. And it also means that when
|
||||
make "!xxd" work, as it is in the Tools menu. And it also means that when
|
||||
executable() returns 1 the executable can actually be executed.
|
||||
|
||||
==============================================================================
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 7.4. Last change: 2013 Jul 06
|
||||
*pattern.txt* For Vim version 7.4. Last change: 2014 May 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -192,10 +192,10 @@ affected.
|
||||
An example of how to search for matches with a pattern and change the match
|
||||
with another word: >
|
||||
/foo<CR> find "foo"
|
||||
c//e change until end of match
|
||||
c//e<CR> change until end of match
|
||||
bar<Esc> type replacement
|
||||
//<CR> go to start of next match
|
||||
c//e change until end of match
|
||||
c//e<CR> change until end of match
|
||||
beep<Esc> type another replacement
|
||||
etc.
|
||||
<
|
||||
@@ -545,6 +545,7 @@ Character classes {not in Vi}: */character-classes*
|
||||
|/\%u| \%u \%u match specified multibyte character (eg \%u20ac)
|
||||
|/\%U| \%U \%U match specified large multibyte character (eg
|
||||
\%U12345678)
|
||||
|/\%C| \%C \%C match any composing characters
|
||||
|
||||
Example matches ~
|
||||
\<\I\i* or
|
||||
@@ -1207,12 +1208,18 @@ will probably never match.
|
||||
8. Composing characters *patterns-composing*
|
||||
|
||||
*/\Z*
|
||||
When "\Z" appears anywhere in the pattern, composing characters are ignored.
|
||||
Thus only the base characters need to match, the composing characters may be
|
||||
different and the number of composing characters may differ. Only relevant
|
||||
when 'encoding' is "utf-8".
|
||||
When "\Z" appears anywhere in the pattern, all composing characters are
|
||||
ignored. Thus only the base characters need to match, the composing
|
||||
characters may be different and the number of composing characters may differ.
|
||||
Only relevant when 'encoding' is "utf-8".
|
||||
Exception: If the pattern starts with one or more composing characters, these
|
||||
must match.
|
||||
*/\%C*
|
||||
Use "\%C" to skip any composing characters. For example, the pattern "a" does
|
||||
not match in "càt" (where the a has the composing character 0x0300), but
|
||||
"a\%C" does. Note that this does not match "cát" (where the á is character
|
||||
0xe1, it does not have a compositing character). It does match "cat" (where
|
||||
the a is just an a).
|
||||
|
||||
When a composing character appears at the start of the pattern of after an
|
||||
item that doesn't include the composing character, a match is found at any
|
||||
@@ -1325,7 +1332,7 @@ Finally, these constructs are unique to Perl:
|
||||
patterns defined by both |matchadd()| and |:match|.
|
||||
|
||||
Highlighting matches using |:match| are limited to three
|
||||
matches (aside from |:match|, |:2match| and |:3match|are
|
||||
matches (aside from |:match|, |:2match| and |:3match| are
|
||||
available). |matchadd()| does not have this limitation and in
|
||||
addition makes it possible to prioritize matches.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_getscript.txt* For Vim version 7.4. Last change: 2012 Apr 07
|
||||
*pi_getscript.txt* For Vim version 7.0. Last change: 2013 Nov 29
|
||||
>
|
||||
GETSCRIPT REFERENCE MANUAL by Charles E. Campbell
|
||||
<
|
||||
@@ -385,6 +385,10 @@ The AutoInstall process will:
|
||||
==============================================================================
|
||||
9. GetLatestVimScripts History *getscript-history* *glvs-hist* {{{1
|
||||
|
||||
v36 Apr 22, 2013 : * (glts) suggested use of plugin/**/*.vim instead of
|
||||
plugin/*.vim in globpath() call.
|
||||
* (Andy Wokula) got warning message when setting
|
||||
g:loaded_getscriptPlugin
|
||||
v35 Apr 07, 2012 : * (MengHuan Yu) pointed out that the script url has
|
||||
changed (somewhat). However, it doesn't work, and
|
||||
the original one does (under Linux). I'll make it
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 7.4. Last change: 2013 Aug 03
|
||||
*quickfix.txt* For Vim version 7.4. Last change: 2014 Mar 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -202,8 +202,8 @@ command with 'l'.
|
||||
the current window is used instead of the quickfix
|
||||
list.
|
||||
|
||||
*:caddb* *:caddbuffer*
|
||||
:caddb[uffer] [bufnr] Read the error list from the current buffer and add
|
||||
*:cad* *:caddbuffer*
|
||||
:cad[dbuffer] [bufnr] Read the error list from the current buffer and add
|
||||
the errors to the current quickfix list. If a
|
||||
quickfix list is not present, then a new list is
|
||||
created. Otherwise, same as ":cbuffer".
|
||||
@@ -240,8 +240,8 @@ command with 'l'.
|
||||
:lgete[xpr] {expr} Same as |:cgetexpr|, except the location list for the
|
||||
current window is used instead of the quickfix list.
|
||||
|
||||
*:cad* *:caddexpr*
|
||||
:cad[dexpr] {expr} Evaluate {expr} and add the resulting lines to the
|
||||
*:cadde* *:caddexpr*
|
||||
:cadde[xpr] {expr} Evaluate {expr} and add the resulting lines to the
|
||||
current quickfix list. If a quickfix list is not
|
||||
present, then a new list is created. The current
|
||||
cursor position will not be changed. See |:cexpr| for
|
||||
@@ -304,18 +304,23 @@ use this code: >
|
||||
|
||||
*:cope* *:copen* *w:quickfix_title*
|
||||
:cope[n] [height] Open a window to show the current list of errors.
|
||||
|
||||
When [height] is given, the window becomes that high
|
||||
(if there is room). Otherwise the window is made ten
|
||||
lines high.
|
||||
The window will contain a special buffer, with
|
||||
'buftype' equal to "quickfix". Don't change this!
|
||||
(if there is room). When [height] is omitted the
|
||||
window is made ten lines high.
|
||||
|
||||
If there already is a quickfix window, it will be made
|
||||
the current window. It is not possible to open a
|
||||
second quickfix window. The window will have the
|
||||
w:quickfix_title variable set which will indicate the
|
||||
command that produced the quickfix list. This can be
|
||||
used to compose a custom status line if the value of
|
||||
'statusline' is adjusted properly.
|
||||
second quickfix window. If [height] is given the
|
||||
existing window will be resized to it.
|
||||
|
||||
The window will contain a special buffer, with
|
||||
'buftype' equal to "quickfix". Don't change this!
|
||||
The window will have the w:quickfix_title variable set
|
||||
which will indicate the command that produced the
|
||||
quickfix list. This can be used to compose a custom
|
||||
status line if the value of 'statusline' is adjusted
|
||||
properly.
|
||||
|
||||
*:lop* *:lopen*
|
||||
:lop[en] [height] Open a window to show the location list for the
|
||||
@@ -838,7 +843,7 @@ Unfortunately, there is no standard way to run the tests.
|
||||
The alltests.py script seems to be used quite often, that's all.
|
||||
Useful values for the 'makeprg' options therefore are:
|
||||
setlocal makeprg=./alltests.py " Run a testsuite
|
||||
setlocal makeprg=python % " Run a single testcase
|
||||
setlocal makeprg=python\ %:S " Run a single testcase
|
||||
|
||||
Also see http://vim.sourceforge.net/tip_view.php?tip_id=280.
|
||||
|
||||
@@ -1332,7 +1337,7 @@ or: >
|
||||
Here is an alternative from Michael F. Lamb for Unix that filters the errors
|
||||
first: >
|
||||
:setl errorformat=%Z%f:%l:\ %m,%A%p^,%-G%*[^sl]%.%#
|
||||
:setl makeprg=javac\ %\ 2>&1\ \\\|\ vim-javac-filter
|
||||
:setl makeprg=javac\ %:S\ 2>&1\ \\\|\ vim-javac-filter
|
||||
|
||||
You need to put the following in "vim-javac-filter" somewhere in your path
|
||||
(e.g., in ~/bin) and make it executable: >
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 7.4. Last change: 2013 Jun 29
|
||||
*quickref.txt* For Vim version 7.4. Last change: 2014 Jun 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -624,6 +624,8 @@ Short explanation of each option: *option-list*
|
||||
'bioskey' 'biosk' MS-DOS: use bios calls for input characters
|
||||
'bomb' prepend a Byte Order Mark to the file
|
||||
'breakat' 'brk' characters that may cause a line break
|
||||
'breakindent' 'bri' wrapped line repeats indent
|
||||
'breakindentopt' 'briopt' settings for 'breakindent'
|
||||
'browsedir' 'bsdir' which directory to start browsing in
|
||||
'bufhidden' 'bh' what to do when buffer is no longer in window
|
||||
'buflisted' 'bl' whether the buffer shows up in the buffer list
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*recover.txt* For Vim version 7.4. Last change: 2010 Jul 20
|
||||
*recover.txt* For Vim version 7.4. Last change: 2014 Mar 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -81,7 +81,14 @@ the amount of memory used to be higher than given with 'maxmem' or
|
||||
'maxmemtot'. And when making a change to a read-only file, the swap file is
|
||||
created anyway.
|
||||
|
||||
The 'swapfile' option can be reset to avoid creating a swapfile.
|
||||
The 'swapfile' option can be reset to avoid creating a swapfile. And the
|
||||
|:noswapfile| modifier can be used to not create a swapfile for a new buffer.
|
||||
|
||||
:nos[wapfile] {command} *:nos* *:noswapfile*
|
||||
Execute {command}. If it contains a command that loads a new
|
||||
buffer, it will be loaded without creating a swapfile and the
|
||||
'swapfile' option will be reset. If a buffer already had a
|
||||
swapfile it is not removed and 'swapfile' is not reset.
|
||||
|
||||
|
||||
Detecting an existing swap file ~
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*repeat.txt* For Vim version 7.4. Last change: 2013 Jul 25
|
||||
*repeat.txt* For Vim version 7.4. Last change: 2014 Mar 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -26,10 +26,14 @@ Chapter 26 of the user manual introduces repeating |usr_26.txt|.
|
||||
|
||||
Simple changes can be repeated with the "." command. Without a count, the
|
||||
count of the last change is used. If you enter a count, it will replace the
|
||||
last one. If the last change included a specification of a numbered register,
|
||||
the register number will be incremented. See |redo-register| for an example
|
||||
how to use this. Note that when repeating a command that used a Visual
|
||||
selection, the same SIZE of area is used, see |visual-repeat|.
|
||||
last one. |v:count| and |v:count1| will be set.
|
||||
|
||||
If the last change included a specification of a numbered register, the
|
||||
register number will be incremented. See |redo-register| for an example how
|
||||
to use this.
|
||||
|
||||
Note that when repeating a command that used a Visual selection, the same SIZE
|
||||
of area is used, see |visual-repeat|.
|
||||
|
||||
*@:*
|
||||
@: Repeat last command-line [count] times.
|
||||
@@ -584,6 +588,12 @@ the |+reltime| feature, which is present more often.
|
||||
|
||||
For profiling syntax highlighting see |:syntime|.
|
||||
|
||||
For example, to profile the one_script.vim script file: >
|
||||
:profile start /tmp/one_script_profile
|
||||
:profile file one_script.vim
|
||||
:source one_script.vim
|
||||
:exit
|
||||
|
||||
|
||||
:prof[ile] start {fname} *:prof* *:profile* *E750*
|
||||
Start profiling, write the output in {fname} upon exit.
|
||||
@@ -608,8 +618,10 @@ For profiling syntax highlighting see |:syntime|.
|
||||
This only profiles the script itself, not the functions
|
||||
defined in it.
|
||||
When the [!] is added then all functions defined in the script
|
||||
will also be profiled. But only if the script is loaded after
|
||||
this command.
|
||||
will also be profiled.
|
||||
Note that profiling only starts when the script is loaded
|
||||
after this command. A :profile command in the script itself
|
||||
won't work.
|
||||
|
||||
|
||||
:profd[el] ... *:profd* *:profdel*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*sign.txt* For Vim version 7.4. Last change: 2012 Jul 10
|
||||
*sign.txt* For Vim version 7.4. Last change: 2014 May 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur
|
||||
@@ -137,6 +137,7 @@ PLACING SIGNS *:sign-place* *E158*
|
||||
:sign place {id} line={lnum} name={name} buffer={nr}
|
||||
Same, but use buffer {nr}.
|
||||
|
||||
*E885*
|
||||
:sign place {id} name={name} file={fname}
|
||||
Change the placed sign {id} in file {fname} to use the defined
|
||||
sign {name}. See remark above about {fname} |:sign-fname|.
|
||||
@@ -173,7 +174,7 @@ REMOVING SIGNS *:sign-unplace* *E159*
|
||||
Remove the placed sign at the cursor position.
|
||||
|
||||
|
||||
LISTING PLACED SIGNS
|
||||
LISTING PLACED SIGNS *:sign-place-list*
|
||||
|
||||
:sign place file={fname}
|
||||
List signs placed in file {fname}.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*spell.txt* For Vim version 7.4. Last change: 2013 Jul 17
|
||||
*spell.txt* For Vim version 7.4. Last change: 2013 Nov 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -269,6 +269,13 @@ In a table:
|
||||
latin1 yi transliterated Yiddish
|
||||
utf-8 yi-tr transliterated Yiddish
|
||||
|
||||
*spell-cjk*
|
||||
Chinese, Japanese and other East Asian characters are normally marked as
|
||||
errors, because spell checking of these characters is not supported. If
|
||||
'spelllang' includes "cjk", these characters are not marked as errors. This
|
||||
is useful when editing text with spell checking while some Asian words are
|
||||
present.
|
||||
|
||||
|
||||
SPELL FILES *spell-load*
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*starting.txt* For Vim version 7.4. Last change: 2013 Jul 20
|
||||
*starting.txt* For Vim version 7.4. Last change: 2014 Jun 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -167,7 +167,10 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
||||
*-+/*
|
||||
+/{pat} The cursor will be positioned on the first line containing
|
||||
"pat" in the first file being edited (see |pattern| for the
|
||||
available search patterns).
|
||||
available search patterns). The search starts at the cursor
|
||||
position, which can be the first line or the cursor position
|
||||
last used from |viminfo|. To force a search from the first
|
||||
line use "+1 +/pat".
|
||||
|
||||
+{command} *-+c* *-c*
|
||||
-c {command} {command} will be executed after the first file has been
|
||||
@@ -1276,8 +1279,10 @@ triggered.
|
||||
When [!] is included an existing file is overwritten.
|
||||
When [file] is omitted or is a number from 1 to 9, a
|
||||
name is generated and 'viewdir' prepended. When the
|
||||
last directory name in 'viewdir' does not exist, this
|
||||
directory is created.
|
||||
last path part of 'viewdir' does not exist, this
|
||||
directory is created. E.g., when 'viewdir' is
|
||||
"$VIM/vimfiles/view" then "view" is created in
|
||||
"$VIM/vimfiles".
|
||||
An existing file is always overwritten then. Use
|
||||
|:loadview| to load this view again.
|
||||
When [file] is the name of a file ('viewdir' is not
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 7.4. Last change: 2013 Aug 22
|
||||
*syntax.txt* For Vim version 7.4. Last change: 2014 Jun 03
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1022,6 +1022,21 @@ Or to avoid the highlighting: >
|
||||
This works immediately.
|
||||
|
||||
|
||||
CLOJURE *ft-clojure-syntax*
|
||||
|
||||
Setting *g:clojure_fold* enables folding Clojure code via the syntax engine.
|
||||
Any list, vector, or map that extends over more than one line can be folded
|
||||
using the standard Vim |fold-commands|.
|
||||
|
||||
Please note that this option does not work with scripts that redefine the
|
||||
bracket syntax regions, such as rainbow-parentheses plugins.
|
||||
|
||||
This option is off by default.
|
||||
>
|
||||
" Default
|
||||
let g:clojure_fold = 0
|
||||
<
|
||||
|
||||
COBOL *cobol.vim* *ft-cobol-syntax*
|
||||
|
||||
COBOL highlighting has different needs for legacy code than it does for fresh
|
||||
@@ -1281,6 +1296,32 @@ Finally, some vendors support hexadecimal constants. To handle them, add >
|
||||
to your startup file.
|
||||
|
||||
|
||||
EUPHORIA *euphoria3.vim* *euphoria4.vim* *ft-euphoria-syntax*
|
||||
|
||||
Two syntax highlighting files exists for Euphoria. One for Euphoria
|
||||
version 3.1.1, which is the default syntax highlighting file, and one for
|
||||
Euphoria version 4.0.5 or later.
|
||||
|
||||
Euphoria version 3.1.1 (http://www.rapideuphoria.com/) is still necessary
|
||||
for developing applications for the DOS platform, which Euphoria version 4
|
||||
(http://www.openeuphoria.org/) does not support.
|
||||
|
||||
The following file extensions are auto-detected as Euphoria file type:
|
||||
|
||||
*.e, *.eu, *.ew, *.ex, *.exu, *.exw
|
||||
*.E, *.EU, *.EW, *.EX, *.EXU, *.EXW
|
||||
|
||||
To select syntax highlighting file for Euphoria, as well as for
|
||||
auto-detecting the *.e and *.E file extensions as Euphoria file type,
|
||||
add the following line to your startup file: >
|
||||
|
||||
:let filetype_euphoria="euphoria3"
|
||||
|
||||
or
|
||||
|
||||
:let filetype_euphoria="euphoria4"
|
||||
|
||||
|
||||
ERLANG *erlang.vim* *ft-erlang-syntax*
|
||||
|
||||
Erlang is a functional programming language developed by Ericsson. Files with
|
||||
@@ -1918,7 +1959,7 @@ If you don't want to set the variable, use the modeline in EVERY LPC file.
|
||||
There are several implementations for LPC, we intend to support most widely
|
||||
used ones. Here the default LPC syntax is for MudOS series, for MudOS v22
|
||||
and before, you should turn off the sensible modifiers, and this will also
|
||||
asserts the new efuns after v22 to be invalid, don't set this variable when
|
||||
assert the new efuns after v22 to be invalid, don't set this variable when
|
||||
you are using the latest version of MudOS: >
|
||||
|
||||
:let lpc_pre_v22 = 1
|
||||
@@ -2238,7 +2279,7 @@ files, you may set the 'perl_include_pod' option to 0: >
|
||||
|
||||
:let perl_include_pod = 0
|
||||
|
||||
The reduce the complexity of parsing (and increase performance) you can switch
|
||||
To reduce the complexity of parsing (and increase performance) you can switch
|
||||
off two elements in the parsing of variable names and contents. >
|
||||
|
||||
To handle package references in variable and function names not differently
|
||||
|
||||
@@ -12,6 +12,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
% motion.txt /*%*
|
||||
%:. cmdline.txt /*%:.*
|
||||
%:8 cmdline.txt /*%:8*
|
||||
%:S cmdline.txt /*%:S*
|
||||
%:e cmdline.txt /*%:e*
|
||||
%:gs cmdline.txt /*%:gs*
|
||||
%:h cmdline.txt /*%:h*
|
||||
@@ -90,6 +91,10 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'bl' options.txt /*'bl'*
|
||||
'bomb' options.txt /*'bomb'*
|
||||
'breakat' options.txt /*'breakat'*
|
||||
'breakindent' options.txt /*'breakindent'*
|
||||
'breakindentopt' options.txt /*'breakindentopt'*
|
||||
'bri' options.txt /*'bri'*
|
||||
'briopt' options.txt /*'briopt'*
|
||||
'brk' options.txt /*'brk'*
|
||||
'browsedir' options.txt /*'browsedir'*
|
||||
'bs' options.txt /*'bs'*
|
||||
@@ -1200,6 +1205,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
+mouse various.txt /*+mouse*
|
||||
+mouse_dec various.txt /*+mouse_dec*
|
||||
+mouse_gpm various.txt /*+mouse_gpm*
|
||||
+mouse_jsbterm various.txt /*+mouse_jsbterm*
|
||||
+mouse_netterm various.txt /*+mouse_netterm*
|
||||
+mouse_pterm various.txt /*+mouse_pterm*
|
||||
+mouse_sgr various.txt /*+mouse_sgr*
|
||||
@@ -1414,6 +1420,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
/\%>c pattern.txt /*\/\\%>c*
|
||||
/\%>l pattern.txt /*\/\\%>l*
|
||||
/\%>v pattern.txt /*\/\\%>v*
|
||||
/\%C pattern.txt /*\/\\%C*
|
||||
/\%U pattern.txt /*\/\\%U*
|
||||
/\%V pattern.txt /*\/\\%V*
|
||||
/\%[] pattern.txt /*\/\\%[]*
|
||||
@@ -1788,6 +1795,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:3match pattern.txt /*:3match*
|
||||
::. cmdline.txt /*::.*
|
||||
::8 cmdline.txt /*::8*
|
||||
::S cmdline.txt /*::S*
|
||||
::e cmdline.txt /*::e*
|
||||
::gs cmdline.txt /*::gs*
|
||||
::h cmdline.txt /*::h*
|
||||
@@ -1827,6 +1835,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:GnatPretty ft_ada.txt /*:GnatPretty*
|
||||
:GnatTags ft_ada.txt /*:GnatTags*
|
||||
:Hexplore pi_netrw.txt /*:Hexplore*
|
||||
:Lexplore pi_netrw.txt /*:Lexplore*
|
||||
:Man filetype.txt /*:Man*
|
||||
:MkVimball pi_vimball.txt /*:MkVimball*
|
||||
:N editing.txt /*:N*
|
||||
@@ -1838,6 +1847,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:Nread pi_netrw.txt /*:Nread*
|
||||
:Ns pi_netrw.txt /*:Ns*
|
||||
:Nsource pi_netrw.txt /*:Nsource*
|
||||
:Ntree pi_netrw.txt /*:Ntree*
|
||||
:Nw pi_netrw.txt /*:Nw*
|
||||
:Nwrite pi_netrw.txt /*:Nwrite*
|
||||
:P various.txt /*:P*
|
||||
@@ -1969,8 +1979,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:cabc map.txt /*:cabc*
|
||||
:cabclear map.txt /*:cabclear*
|
||||
:cad quickfix.txt /*:cad*
|
||||
:caddb quickfix.txt /*:caddb*
|
||||
:caddbuffer quickfix.txt /*:caddbuffer*
|
||||
:cadde quickfix.txt /*:cadde*
|
||||
:caddexpr quickfix.txt /*:caddexpr*
|
||||
:caddf quickfix.txt /*:caddf*
|
||||
:caddfile quickfix.txt /*:caddfile*
|
||||
@@ -2214,6 +2224,9 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:foldopen fold.txt /*:foldopen*
|
||||
:for eval.txt /*:for*
|
||||
:fu eval.txt /*:fu*
|
||||
:func-abort eval.txt /*:func-abort*
|
||||
:func-dict eval.txt /*:func-dict*
|
||||
:func-range eval.txt /*:func-range*
|
||||
:function eval.txt /*:function*
|
||||
:function-verbose eval.txt /*:function-verbose*
|
||||
:g repeat.txt /*:g*
|
||||
@@ -2300,6 +2313,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:keepj motion.txt /*:keepj*
|
||||
:keepjumps motion.txt /*:keepjumps*
|
||||
:keepmarks motion.txt /*:keepmarks*
|
||||
:keepp cmdline.txt /*:keepp*
|
||||
:keeppatterns cmdline.txt /*:keeppatterns*
|
||||
:l various.txt /*:l*
|
||||
:lN quickfix.txt /*:lN*
|
||||
:lNext quickfix.txt /*:lNext*
|
||||
@@ -2491,6 +2506,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:nbkey netbeans.txt /*:nbkey*
|
||||
:nbstart netbeans.txt /*:nbstart*
|
||||
:ne editing.txt /*:ne*
|
||||
:netrw-s-cr pi_netrw.txt /*:netrw-s-cr*
|
||||
:new windows.txt /*:new*
|
||||
:next editing.txt /*:next*
|
||||
:next_f editing.txt /*:next_f*
|
||||
@@ -2511,8 +2527,11 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:noautocmd autocmd.txt /*:noautocmd*
|
||||
:noh pattern.txt /*:noh*
|
||||
:nohlsearch pattern.txt /*:nohlsearch*
|
||||
:nor map.txt /*:nor*
|
||||
:nore map.txt /*:nore*
|
||||
:norea map.txt /*:norea*
|
||||
:noreabbrev map.txt /*:noreabbrev*
|
||||
:norem map.txt /*:norem*
|
||||
:noremap map.txt /*:noremap*
|
||||
:noremap! map.txt /*:noremap!*
|
||||
:noreme gui.txt /*:noreme*
|
||||
@@ -2520,6 +2539,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:norm various.txt /*:norm*
|
||||
:normal various.txt /*:normal*
|
||||
:normal-range various.txt /*:normal-range*
|
||||
:nos recover.txt /*:nos*
|
||||
:noswapfile recover.txt /*:noswapfile*
|
||||
:nu various.txt /*:nu*
|
||||
:number various.txt /*:number*
|
||||
:nun map.txt /*:nun*
|
||||
@@ -2740,6 +2761,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:sign-jump sign.txt /*:sign-jump*
|
||||
:sign-list sign.txt /*:sign-list*
|
||||
:sign-place sign.txt /*:sign-place*
|
||||
:sign-place-list sign.txt /*:sign-place-list*
|
||||
:sign-undefine sign.txt /*:sign-undefine*
|
||||
:sign-unplace sign.txt /*:sign-unplace*
|
||||
:sil various.txt /*:sil*
|
||||
@@ -4296,6 +4318,11 @@ E878 pattern.txt /*E878*
|
||||
E879 syntax.txt /*E879*
|
||||
E88 windows.txt /*E88*
|
||||
E880 if_pyth.txt /*E880*
|
||||
E881 autocmd.txt /*E881*
|
||||
E882 eval.txt /*E882*
|
||||
E883 eval.txt /*E883*
|
||||
E884 eval.txt /*E884*
|
||||
E885 sign.txt /*E885*
|
||||
E89 message.txt /*E89*
|
||||
E90 message.txt /*E90*
|
||||
E91 options.txt /*E91*
|
||||
@@ -4425,6 +4452,13 @@ Operator-pending-mode intro.txt /*Operator-pending-mode*
|
||||
OverTheSpot mbyte.txt /*OverTheSpot*
|
||||
P change.txt /*P*
|
||||
PATHEXT eval.txt /*PATHEXT*
|
||||
PHP_BracesAtCodeLevel indent.txt /*PHP_BracesAtCodeLevel*
|
||||
PHP_autoformatcomment indent.txt /*PHP_autoformatcomment*
|
||||
PHP_default_indenting indent.txt /*PHP_default_indenting*
|
||||
PHP_outdentSLComments indent.txt /*PHP_outdentSLComments*
|
||||
PHP_outdentphpescape indent.txt /*PHP_outdentphpescape*
|
||||
PHP_removeCRwhenUnix indent.txt /*PHP_removeCRwhenUnix*
|
||||
PHP_vintage_case_default_indent indent.txt /*PHP_vintage_case_default_indent*
|
||||
Pattern pattern.txt /*Pattern*
|
||||
Perl if_perl.txt /*Perl*
|
||||
Posix intro.txt /*Posix*
|
||||
@@ -4768,6 +4802,7 @@ argidx() eval.txt /*argidx()*
|
||||
arglist editing.txt /*arglist*
|
||||
arglist-position editing.txt /*arglist-position*
|
||||
arglist-quit usr_07.txt /*arglist-quit*
|
||||
arglistid() eval.txt /*arglistid()*
|
||||
argument-list editing.txt /*argument-list*
|
||||
argv() eval.txt /*argv()*
|
||||
as motion.txt /*as*
|
||||
@@ -4902,6 +4937,7 @@ builtin_terms term.txt /*builtin_terms*
|
||||
byte-count editing.txt /*byte-count*
|
||||
byte2line() eval.txt /*byte2line()*
|
||||
byteidx() eval.txt /*byteidx()*
|
||||
byteidxcomp() eval.txt /*byteidxcomp()*
|
||||
bzip2 pi_gzip.txt /*bzip2*
|
||||
c change.txt /*c*
|
||||
c.vim syntax.txt /*c.vim*
|
||||
@@ -5352,6 +5388,7 @@ diW motion.txt /*diW*
|
||||
dialog gui_w32.txt /*dialog*
|
||||
dialogs-added version5.txt /*dialogs-added*
|
||||
dib motion.txt /*dib*
|
||||
dict eval.txt /*dict*
|
||||
dict-functions usr_41.txt /*dict-functions*
|
||||
dict-identity eval.txt /*dict-identity*
|
||||
dict-modification eval.txt /*dict-modification*
|
||||
@@ -5460,6 +5497,8 @@ errors message.txt /*errors*
|
||||
escape intro.txt /*escape*
|
||||
escape() eval.txt /*escape()*
|
||||
escape-bar version4.txt /*escape-bar*
|
||||
euphoria3.vim syntax.txt /*euphoria3.vim*
|
||||
euphoria4.vim syntax.txt /*euphoria4.vim*
|
||||
eval eval.txt /*eval*
|
||||
eval() eval.txt /*eval()*
|
||||
eval-examples eval.txt /*eval-examples*
|
||||
@@ -5494,6 +5533,7 @@ exclusive motion.txt /*exclusive*
|
||||
exclusive-linewise motion.txt /*exclusive-linewise*
|
||||
executable() eval.txt /*executable()*
|
||||
execute-menus gui.txt /*execute-menus*
|
||||
exepath() eval.txt /*exepath()*
|
||||
exim starting.txt /*exim*
|
||||
exists() eval.txt /*exists()*
|
||||
exp() eval.txt /*exp()*
|
||||
@@ -5710,6 +5750,7 @@ 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-clojure-syntax syntax.txt /*ft-clojure-syntax*
|
||||
ft-cobol-syntax syntax.txt /*ft-cobol-syntax*
|
||||
ft-coldfusion-syntax syntax.txt /*ft-coldfusion-syntax*
|
||||
ft-cpp-syntax syntax.txt /*ft-cpp-syntax*
|
||||
@@ -5726,6 +5767,7 @@ ft-dosbatch-syntax syntax.txt /*ft-dosbatch-syntax*
|
||||
ft-dtd-syntax syntax.txt /*ft-dtd-syntax*
|
||||
ft-eiffel-syntax syntax.txt /*ft-eiffel-syntax*
|
||||
ft-erlang-syntax syntax.txt /*ft-erlang-syntax*
|
||||
ft-euphoria-syntax syntax.txt /*ft-euphoria-syntax*
|
||||
ft-flexwiki-syntax syntax.txt /*ft-flexwiki-syntax*
|
||||
ft-form-syntax syntax.txt /*ft-form-syntax*
|
||||
ft-fortran-indent indent.txt /*ft-fortran-indent*
|
||||
@@ -5878,6 +5920,8 @@ 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_align_subforms indent.txt /*g:clojure_align_subforms*
|
||||
g:clojure_fold syntax.txt /*g:clojure_fold*
|
||||
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*
|
||||
@@ -5926,6 +5970,7 @@ g:html_use_css syntax.txt /*g:html_use_css*
|
||||
g:html_use_encoding syntax.txt /*g:html_use_encoding*
|
||||
g:html_use_xhtml syntax.txt /*g:html_use_xhtml*
|
||||
g:html_whole_filler syntax.txt /*g:html_whole_filler*
|
||||
g:netrw_altfile pi_netrw.txt /*g:netrw_altfile*
|
||||
g:netrw_alto pi_netrw.txt /*g:netrw_alto*
|
||||
g:netrw_altv pi_netrw.txt /*g:netrw_altv*
|
||||
g:netrw_banner pi_netrw.txt /*g:netrw_banner*
|
||||
@@ -5946,6 +5991,7 @@ g:netrw_dynamic_maxfilenamelen pi_netrw.txt /*g:netrw_dynamic_maxfilenamelen*
|
||||
g:netrw_errorlvl pi_netrw.txt /*g:netrw_errorlvl*
|
||||
g:netrw_fastbrowse pi_netrw.txt /*g:netrw_fastbrowse*
|
||||
g:netrw_fetch_cmd pi_netrw.txt /*g:netrw_fetch_cmd*
|
||||
g:netrw_ffkeep pi_netrw.txt /*g:netrw_ffkeep*
|
||||
g:netrw_fname_escape pi_netrw.txt /*g:netrw_fname_escape*
|
||||
g:netrw_ftp pi_netrw.txt /*g:netrw_ftp*
|
||||
g:netrw_ftp_browse_reject pi_netrw.txt /*g:netrw_ftp_browse_reject*
|
||||
@@ -5960,6 +6006,7 @@ g:netrw_glob_escape pi_netrw.txt /*g:netrw_glob_escape*
|
||||
g:netrw_hide pi_netrw.txt /*g:netrw_hide*
|
||||
g:netrw_home pi_netrw.txt /*g:netrw_home*
|
||||
g:netrw_http_cmd pi_netrw.txt /*g:netrw_http_cmd*
|
||||
g:netrw_http_put_cmd pi_netrw.txt /*g:netrw_http_put_cmd*
|
||||
g:netrw_http_xcmd pi_netrw.txt /*g:netrw_http_xcmd*
|
||||
g:netrw_ignorenetrc pi_netrw.txt /*g:netrw_ignorenetrc*
|
||||
g:netrw_keepdir pi_netrw.txt /*g:netrw_keepdir*
|
||||
@@ -6089,6 +6136,7 @@ getcharmod() eval.txt /*getcharmod()*
|
||||
getcmdline() eval.txt /*getcmdline()*
|
||||
getcmdpos() eval.txt /*getcmdpos()*
|
||||
getcmdtype() eval.txt /*getcmdtype()*
|
||||
getcurpos() eval.txt /*getcurpos()*
|
||||
getcwd() eval.txt /*getcwd()*
|
||||
getfontname() eval.txt /*getfontname()*
|
||||
getfperm() eval.txt /*getfperm()*
|
||||
@@ -6360,6 +6408,7 @@ hl-WarningMsg syntax.txt /*hl-WarningMsg*
|
||||
hl-WildMenu syntax.txt /*hl-WildMenu*
|
||||
hlID() eval.txt /*hlID()*
|
||||
hlexists() eval.txt /*hlexists()*
|
||||
hlsearch-variable eval.txt /*hlsearch-variable*
|
||||
holy-grail index.txt /*holy-grail*
|
||||
home intro.txt /*home*
|
||||
home-replace editing.txt /*home-replace*
|
||||
@@ -6671,6 +6720,7 @@ linewise-register change.txt /*linewise-register*
|
||||
linewise-visual visual.txt /*linewise-visual*
|
||||
lisp.vim syntax.txt /*lisp.vim*
|
||||
lispindent() eval.txt /*lispindent()*
|
||||
list eval.txt /*list*
|
||||
list-functions usr_41.txt /*list-functions*
|
||||
list-identity eval.txt /*list-identity*
|
||||
list-index eval.txt /*list-index*
|
||||
@@ -6782,6 +6832,7 @@ match() eval.txt /*match()*
|
||||
match-highlight pattern.txt /*match-highlight*
|
||||
match-parens tips.txt /*match-parens*
|
||||
matchadd() eval.txt /*matchadd()*
|
||||
matchaddpos() eval.txt /*matchaddpos()*
|
||||
matcharg() eval.txt /*matcharg()*
|
||||
matchdelete() eval.txt /*matchdelete()*
|
||||
matchend() eval.txt /*matchend()*
|
||||
@@ -6923,6 +6974,15 @@ netreadfixup pi_netrw.txt /*netreadfixup*
|
||||
netrw pi_netrw.txt /*netrw*
|
||||
netrw-% pi_netrw.txt /*netrw-%*
|
||||
netrw-- pi_netrw.txt /*netrw--*
|
||||
netrw-:Explore pi_netrw.txt /*netrw-:Explore*
|
||||
netrw-:Hexplore pi_netrw.txt /*netrw-:Hexplore*
|
||||
netrw-:Lexplore pi_netrw.txt /*netrw-:Lexplore*
|
||||
netrw-:MF pi_netrw.txt /*netrw-:MF*
|
||||
netrw-:MT pi_netrw.txt /*netrw-:MT*
|
||||
netrw-:Rexplore pi_netrw.txt /*netrw-:Rexplore*
|
||||
netrw-:Sexplore pi_netrw.txt /*netrw-:Sexplore*
|
||||
netrw-:Texplore pi_netrw.txt /*netrw-:Texplore*
|
||||
netrw-:Vexplore pi_netrw.txt /*netrw-:Vexplore*
|
||||
netrw-C pi_netrw.txt /*netrw-C*
|
||||
netrw-D pi_netrw.txt /*netrw-D*
|
||||
netrw-O pi_netrw.txt /*netrw-O*
|
||||
@@ -6980,6 +7040,7 @@ netrw-gd pi_netrw.txt /*netrw-gd*
|
||||
netrw-getftype pi_netrw.txt /*netrw-getftype*
|
||||
netrw-gf pi_netrw.txt /*netrw-gf*
|
||||
netrw-gh pi_netrw.txt /*netrw-gh*
|
||||
netrw-gitignore pi_netrw.txt /*netrw-gitignore*
|
||||
netrw-gp pi_netrw.txt /*netrw-gp*
|
||||
netrw-gx pi_netrw.txt /*netrw-gx*
|
||||
netrw-handler pi_netrw.txt /*netrw-handler*
|
||||
@@ -6994,6 +7055,7 @@ netrw-incompatible pi_netrw.txt /*netrw-incompatible*
|
||||
netrw-internal-variables pi_netrw.txt /*netrw-internal-variables*
|
||||
netrw-intro-browse pi_netrw.txt /*netrw-intro-browse*
|
||||
netrw-leftmouse pi_netrw.txt /*netrw-leftmouse*
|
||||
netrw-lexplore pi_netrw.txt /*netrw-lexplore*
|
||||
netrw-list pi_netrw.txt /*netrw-list*
|
||||
netrw-listbookmark pi_netrw.txt /*netrw-listbookmark*
|
||||
netrw-listhack pi_netrw.txt /*netrw-listhack*
|
||||
@@ -7024,6 +7086,7 @@ netrw-netrc pi_netrw.txt /*netrw-netrc*
|
||||
netrw-nexplore pi_netrw.txt /*netrw-nexplore*
|
||||
netrw-noload pi_netrw.txt /*netrw-noload*
|
||||
netrw-nread pi_netrw.txt /*netrw-nread*
|
||||
netrw-ntree pi_netrw.txt /*netrw-ntree*
|
||||
netrw-nwrite pi_netrw.txt /*netrw-nwrite*
|
||||
netrw-o pi_netrw.txt /*netrw-o*
|
||||
netrw-options pi_netrw.txt /*netrw-options*
|
||||
@@ -7035,6 +7098,7 @@ netrw-p12 pi_netrw.txt /*netrw-p12*
|
||||
netrw-p13 pi_netrw.txt /*netrw-p13*
|
||||
netrw-p14 pi_netrw.txt /*netrw-p14*
|
||||
netrw-p15 pi_netrw.txt /*netrw-p15*
|
||||
netrw-p16 pi_netrw.txt /*netrw-p16*
|
||||
netrw-p2 pi_netrw.txt /*netrw-p2*
|
||||
netrw-p3 pi_netrw.txt /*netrw-p3*
|
||||
netrw-p4 pi_netrw.txt /*netrw-p4*
|
||||
@@ -7376,6 +7440,7 @@ profile repeat.txt /*profile*
|
||||
profiling repeat.txt /*profiling*
|
||||
profiling-variable eval.txt /*profiling-variable*
|
||||
progname-variable eval.txt /*progname-variable*
|
||||
progpath-variable eval.txt /*progpath-variable*
|
||||
progress.vim syntax.txt /*progress.vim*
|
||||
pronounce intro.txt /*pronounce*
|
||||
psql ft_sql.txt /*psql*
|
||||
@@ -7579,6 +7644,7 @@ s/\2 change.txt /*s\/\\2*
|
||||
s/\3 change.txt /*s\/\\3*
|
||||
s/\9 change.txt /*s\/\\9*
|
||||
s/\<CR> change.txt /*s\/\\<CR>*
|
||||
s/\= change.txt /*s\/\\=*
|
||||
s/\E change.txt /*s\/\\E*
|
||||
s/\L change.txt /*s\/\\L*
|
||||
s/\U change.txt /*s\/\\U*
|
||||
@@ -7789,6 +7855,7 @@ spell-affix-flags spell.txt /*spell-affix-flags*
|
||||
spell-affix-mbyte spell.txt /*spell-affix-mbyte*
|
||||
spell-affix-not-supported spell.txt /*spell-affix-not-supported*
|
||||
spell-affix-vim spell.txt /*spell-affix-vim*
|
||||
spell-cjk spell.txt /*spell-cjk*
|
||||
spell-compound spell.txt /*spell-compound*
|
||||
spell-dic-format spell.txt /*spell-dic-format*
|
||||
spell-double-scoring spell.txt /*spell-double-scoring*
|
||||
@@ -7874,6 +7941,7 @@ strcspn() eval.txt /*strcspn()*
|
||||
strdisplaywidth() eval.txt /*strdisplaywidth()*
|
||||
strftime() eval.txt /*strftime()*
|
||||
stridx() eval.txt /*stridx()*
|
||||
string eval.txt /*string*
|
||||
string() eval.txt /*string()*
|
||||
string-functions usr_41.txt /*string-functions*
|
||||
string-match eval.txt /*string-match*
|
||||
@@ -7938,6 +8006,7 @@ sysmouse term.txt /*sysmouse*
|
||||
system() eval.txt /*system()*
|
||||
system-functions usr_41.txt /*system-functions*
|
||||
system-vimrc starting.txt /*system-vimrc*
|
||||
systemlist() eval.txt /*systemlist()*
|
||||
s~ change.txt /*s~*
|
||||
t motion.txt /*t*
|
||||
t: eval.txt /*t:*
|
||||
@@ -8282,6 +8351,7 @@ undo_ftplugin usr_41.txt /*undo_ftplugin*
|
||||
undofile() eval.txt /*undofile()*
|
||||
undotree() eval.txt /*undotree()*
|
||||
unicode mbyte.txt /*unicode*
|
||||
uniq() eval.txt /*uniq()*
|
||||
unix os_unix.txt /*unix*
|
||||
unlisted-buffer windows.txt /*unlisted-buffer*
|
||||
up-down-motions motion.txt /*up-down-motions*
|
||||
@@ -8366,6 +8436,7 @@ v:folddashes eval.txt /*v:folddashes*
|
||||
v:foldend eval.txt /*v:foldend*
|
||||
v:foldlevel eval.txt /*v:foldlevel*
|
||||
v:foldstart eval.txt /*v:foldstart*
|
||||
v:hlsearch eval.txt /*v:hlsearch*
|
||||
v:insertmode eval.txt /*v:insertmode*
|
||||
v:key eval.txt /*v:key*
|
||||
v:lang eval.txt /*v:lang*
|
||||
@@ -8379,6 +8450,7 @@ v:operator eval.txt /*v:operator*
|
||||
v:prevcount eval.txt /*v:prevcount*
|
||||
v:profiling eval.txt /*v:profiling*
|
||||
v:progname eval.txt /*v:progname*
|
||||
v:progpath eval.txt /*v:progpath*
|
||||
v:register eval.txt /*v:register*
|
||||
v:scrollstart eval.txt /*v:scrollstart*
|
||||
v:searchforward eval.txt /*v:searchforward*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*tagsrch.txt* For Vim version 7.4. Last change: 2013 Jul 28
|
||||
*tagsrch.txt* For Vim version 7.4. Last change: 2013 Oct 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -771,11 +771,11 @@ CTRL-W i Open a new window, with the cursor on the first line
|
||||
|
||||
*:dli* *:dlist*
|
||||
:[range]dli[st][!] [/]string[/]
|
||||
Like "[D" and "]D", but search in [range] lines
|
||||
Like `[D` and `]D`, but search in [range] lines
|
||||
(default: whole file).
|
||||
See |:search-args| for [/] and [!]. {not in Vi}
|
||||
Note that ":dl" works like ":delete" with the "l"
|
||||
register.
|
||||
Note that `:dl` works like `:delete` with the "l"
|
||||
flag, not `:dlist`.
|
||||
|
||||
*[_CTRL-D*
|
||||
[ CTRL-D Jump to the first macro definition that contains the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*term.txt* For Vim version 7.4. Last change: 2013 Mar 13
|
||||
*term.txt* For Vim version 7.4. Last change: 2014 May 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -666,8 +666,8 @@ When the X-server clipboard is available, the command server described in
|
||||
|
||||
*xterm-copy-paste*
|
||||
NOTE: In some (older) xterms, it's not possible to move the cursor past column
|
||||
95. This is an xterm problem, not Vim's. Get a newer xterm |color-xterm|.
|
||||
Now the limit is 223 columns.
|
||||
95 or 223. This is an xterm problem, not Vim's. Get a newer xterm
|
||||
|color-xterm|. Also see |'ttymouse'|.
|
||||
|
||||
Copy/paste in xterm with (current mode NOT included in 'mouse'):
|
||||
1. Press left mouse button on first letter of text, move mouse pointer to last
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 7.4. Last change: 2013 Sep 22
|
||||
*todo.txt* For Vim version 7.4. Last change: 2014 Jun 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -34,119 +34,249 @@ not be repeated below, unless there is extra information.
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
NFA engine mismatch, with example. (ZyX, 2013 Aug 29)
|
||||
Regexp problems:
|
||||
- Bug with pattern: '\vblock (\d+)\.\n.*\d+%(\1)@<!\.$'
|
||||
(Lech Lorens, 2014 Feb 3)
|
||||
- Issue 164: freeze on regexp search.
|
||||
- Ignorecase not handled properly for multi-byte characters. (Axel Bender,
|
||||
2013 Dec 11)
|
||||
- Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin Szamotulski
|
||||
Remark from Brett 2014 Jan 6 and 7.
|
||||
- Bug when using \>. (Ramel, 2014 Feb 2) (Aaron Bohannon, 2014 Feb 13)
|
||||
- NFA regexp doesn't handle \%<v correctly. (Ingo Karkat, 2014 May 12)
|
||||
- Does not work with NFA regexp engine:
|
||||
\%u, \%x, \%o, \%d followed by a composing character
|
||||
|
||||
NFA engine difference, with test case. (Axel Bender, 2013 Sep 17)
|
||||
Comments from Vlad Irnov Sep 18.
|
||||
Problem that a previous silent ":throw" causes a following try/catch not to
|
||||
work. (ZyX, 2013 Sep 28)
|
||||
|
||||
Problem positioning the cursor after auto-formatting without a comment. (Tor
|
||||
Perkins, 2013 Sep 1)
|
||||
Completion for :buf does not use 'wildignorecase'. (Akshay H, 2014 May 31)
|
||||
|
||||
Patch to fix test 92 and 93 failing in a bad way. (Hirohito Higashi, 2013 Sep
|
||||
11)
|
||||
|
||||
Patch to fix using "p" in Visual block mode. (Christian Brabandt, 2013 Sep 19)
|
||||
|
||||
Using \1 in pattern goes one line too far. (Bohr Shaw, 2013 Sep 5)
|
||||
Column is OK. "/\v(^.+\n)\1/e" (John Little, Sep 5)
|
||||
Also, matches start of 2nd line, not the whole line.
|
||||
|
||||
Error for incomplete help argument. (John Beckett, 2013 Sep 12)
|
||||
|
||||
Popup menu: first item is not selected when typing more than one character?
|
||||
|
||||
Patch to add async functionality. (Geoff Greer, 2013 Sep 1)
|
||||
|
||||
Patch to avoid mouse cursor flickering. (Ken Takata,, 2013 Sep 2)
|
||||
|
||||
Patch to make zg and zb work better. (Christian Brabandt, 2013 Sep 8)
|
||||
|
||||
Patch to fix that VC10 does not stat() a symlink to a directory.
|
||||
(Ken Takata,, 2013 Sep 20) Update Sep 21
|
||||
|
||||
Should win_redr_custom() not be allowed to use recursively?
|
||||
(Yasuhiro Matsumoto, 2013 Aug 15)
|
||||
|
||||
NFA engine combining character mismatch. (glts, 2013 Aug 27)
|
||||
Remark Dominique, Aug 27
|
||||
|
||||
Patch to make Tcl 8.6 work. (Issue 167)
|
||||
|
||||
Patch to make input() work while inside :normal. (Yasuhiro Matsumoto, 2013 Sep
|
||||
19)
|
||||
":cd C:\Windows\System32\drivers\etc*" does not work, even though the
|
||||
directory exists. (Sergio Gallelli, 2013 Dec 29)
|
||||
|
||||
Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
|
||||
|
||||
Issue 164: freeze on regexp search.
|
||||
|
||||
Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
|
||||
|
||||
Patch to fix substitute prompt with line number. (Benoit Pierre, 2013 Aug 27,
|
||||
third message)
|
||||
Value returned by virtcol() changes depending on how lines wrap. This is
|
||||
inconsistant with the documentation.
|
||||
|
||||
Patch to avoid problem with colon in file name. (Yasuhiro Matsumoto, 2013 Sep
|
||||
5) Only copy file name when needed: Sep 9.
|
||||
|
||||
Include systemverilog file? Two votes yes.
|
||||
|
||||
Wrapping around end of file does not work for "." after "cgn". (Dimitar
|
||||
Dimitrov)
|
||||
Patch by Christian Brabandt, 2013 Aug 22
|
||||
|
||||
Clang error for integer overflow. (Dominique Pelle, 2013 Sep 21)
|
||||
|
||||
Patch to add v:hlsearch. (ZyX, 2013 Sep 22)
|
||||
|
||||
Problem with 'spellsuggest' file, only works for some words.
|
||||
(Cesar Romani, 2013 Aug 20) Depends on file name? (Aug 24)
|
||||
Additional remark by glts: the suggested words are marked bad?
|
||||
MS-Windows: Crash opening very long file name starting with "\\".
|
||||
(Christian Brock, 2012 Jun 29)
|
||||
|
||||
Syntax highlighting slow (hangs) in SASS file. (Niek Bosch, 2013 Aug 21)
|
||||
|
||||
Patch to translate 0xce in K_NUL 3. (Yasuhiro Matsumoto, 2014 June 6)
|
||||
Update by Nobuhiro Takasaki, Jun 19.
|
||||
|
||||
Adding "~" to 'cdpath' doesn't work for completion? (Davido, 2013 Aug 19)
|
||||
|
||||
Patch to make has() check for Vim version and patch at the same time.
|
||||
(Marc Weber, 2013 Jun 7)
|
||||
"hi link" does not respect groups with GUI settings only. (Mark Lodato, 2014
|
||||
Jun 8)
|
||||
|
||||
Syntax file for gnuplot. Existing one is very old. (Andrew Rasmussen, 2014
|
||||
Feb 24)
|
||||
|
||||
Issue 174: Detect Mason files.
|
||||
|
||||
No error for missing endwhile. (ZyX, 2014 Mar 20)
|
||||
|
||||
Phpcomplete.vim update. (Complex, 2014 Jan 15)
|
||||
|
||||
PHP syntax is extremely slow. (Anhad Jai Singh, 2014 Jan 19)
|
||||
|
||||
Spell files use a latin single quote. Unicode also has another single quote:
|
||||
0x2019. (Ron Aaron, 2014 Apr 4)
|
||||
New OpenOffice spell files support this with ICONV. But they are not
|
||||
compatible with Vim spell files. The old files can no longer be downloaded.
|
||||
|
||||
Win32: use different args for SearchPath()? (Yasuhiro Matsumoto, 2009 Jan 30)
|
||||
Also fixes wrong result from executable().
|
||||
Update from Ken Takata, 2014 Jan 10. Newer 2014 Apr 3.
|
||||
|
||||
Win32: use 64 bit stat() if possible. (Ken Takata, 2014 May 12)
|
||||
More tests May 14. Update May 29.
|
||||
|
||||
The garbage collector may use too much stack. Make set_ref_in_item()
|
||||
iterative instead of recursive. Test program by Marc Weber (2013 Dec 10)
|
||||
Patch by Ben Fritz, 2014 Jun 22.
|
||||
|
||||
Idea: For a window in the middle (has window above and below it), use
|
||||
right-mouse-drag on the status line to move a window up/down without changing
|
||||
it's height? It's like dragging the status bar above it at the same time.
|
||||
|
||||
Can we make ":unlet $VAR" use unsetenv() to delete the env var?
|
||||
What for systems that don't have unsetenv()?
|
||||
|
||||
This does not give an error: (Andre Sihera, 2014 Mar 21)
|
||||
vim -u NONE 1 2 3 -c 'bufdo if 1 | echo 1'
|
||||
This neither: (ZyX)
|
||||
vim -u NONE 1 2 3 -c 'bufdo while 1 | echo 1'
|
||||
|
||||
'viewdir' default on MS-Windows is not a good choice, it's a system directory.
|
||||
Change 'viewdir' to "$HOME/vimfiles/view" and use 'viewdiralt' to also read
|
||||
from?
|
||||
|
||||
Problem with upwards search on Windows (works OK on Linux). (Brett Stahlman,
|
||||
2014 Jun 8)
|
||||
|
||||
When 'clipboard' is "unnamed", :g/pat/d is very slow. Only set the clipboard
|
||||
after the last delete? (Praful, 2014 May 28)
|
||||
Patch by Christian Brabandt, 2014 Jun 18.
|
||||
|
||||
Include a plugin manager with Vim? Neobundle seems to be the best currently.
|
||||
Long message about this from ZyX, 2014 Mar 23. And following replies.
|
||||
Also see http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html
|
||||
User view:
|
||||
- Support multiple sources, basically any http:// URL. Be able to look into
|
||||
the files before deciding to install.
|
||||
- Be able to try out a plugin and remove it again with (almost) no traces.
|
||||
- Each plugin needs a "manifest" file that has the version, dependencies
|
||||
(including Vim version and features), conflicts, list of files, etc.
|
||||
Updater uses that to decide what/how to update.
|
||||
Dependencies can use a URL for specific versions, or short name for scripts
|
||||
on vim.org.
|
||||
- Once a plugin is installed it remembers where it came from, updater checks
|
||||
there. Can manually update when really needed.
|
||||
- Must be possible to install for one user. Also system wide?
|
||||
- Can edit plugin config with Vim. Can temporarily disable a plugin.
|
||||
- Run the update manually, find latest version and install.
|
||||
- Be able to download without special tools, must work for 95% of users.
|
||||
Implementation:
|
||||
- Avoid the 'runtimepath' getting long. Need some other way to keep each
|
||||
plugin separate.
|
||||
- When installing or updating, first figure out what needs to be done. This
|
||||
may involve recursively fetching manifest files for dependencies. Then show
|
||||
the user what's going to change and ask for OK.
|
||||
- Scripts on Vim.org must be able to consist of several files. Is zip format
|
||||
sufficient? Upload the manifest? Or refer to a site that has the manifest?
|
||||
- Best is to fetch individual files or use a Vimball. Reduces dependency on
|
||||
tools that might be missing and allows inspection of the files before
|
||||
installing.
|
||||
Out of scope:
|
||||
- Overview of plugins, ratings, comments, etc. That's another world.
|
||||
- Development work on plugins (although diff with distributed version would be
|
||||
useful).
|
||||
|
||||
Setting the spell file in a session only reads the local additions, not the
|
||||
normal spell file. (Enno Nagel, 2014 Mar 29)
|
||||
|
||||
When typing the first character of a command, e.g. "f", then using a menu, the
|
||||
menu item doesn't work. Clear typeahead when using a menu?
|
||||
|
||||
Editing an ascii file as ucs-2 or ucs-4 causes display errors.
|
||||
(ZyX, 2014 Mar 30)
|
||||
|
||||
":Next 1 some-arg" does not complain about trailing argument. Also for
|
||||
various other commands. (ZyX, 2014 Mar 30)
|
||||
|
||||
Patch to add sortuniq(). (Cade Forester, 2014 Mar 19)
|
||||
Or add uniq() instead? Patch by lcd47, but it has problems.
|
||||
|
||||
Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct
|
||||
30)
|
||||
|
||||
Patch to support expression argument to sort() instead of a function name.
|
||||
Yasuhiro Matsumoto, 2013 May 31.
|
||||
Or should we add a more general mechanism, like lambda functions?
|
||||
|
||||
VMS: Select() doesn't work properly, typing ESC may hang Vim. Use sys$qiow
|
||||
instead. (Samuel Ferencik, 2013 Sep 28)
|
||||
|
||||
Patch for XDG base directory support. (Jean François Bignolles, 2014 Mar 4)
|
||||
Remark on the docs. Should not be a compile time feature. But then what?
|
||||
|
||||
Completion of ":e" is ":earlier", whould be ":edit". Complete to the matching
|
||||
command instead of doing this alphabetically. (Mikel Jorgensen)
|
||||
|
||||
Patch to add v:completed_item. (Shougo Matsu, 2013 Nov 29).
|
||||
|
||||
Patch to make test 100 work on MS-Windows. (Taro Muraoka, 2013 Dec 12)
|
||||
|
||||
Patch to define macros for hardcoded values. (Elias Diem, 2013 Dec 14)
|
||||
|
||||
Perl: support for Activestate perl 5.18: Issue 170.
|
||||
|
||||
Several syntax file match "^\s*" which may get underlined if that's in the
|
||||
highlight group. Add a "\zs" after it?
|
||||
|
||||
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; 2013 Aug 20)
|
||||
Patch 2013 Sept 10, test: Sept 11.
|
||||
Patch to fix temp directories for Windows, so that it works without tweaking.
|
||||
Issue 28.
|
||||
|
||||
Go through more coverity reports.
|
||||
|
||||
Patch to add ":undorecover", get as much text out of the undo file as
|
||||
possible. (Christian Brabandt, 2014 Mar 12)
|
||||
|
||||
Include Haiku port? (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
|
||||
|
||||
Updated spec ftplugin. (Matěj Cepl, 2013 Oct 16)
|
||||
|
||||
Some quickfix messages appear twice. (Gary Johnson, 2014 Feb 16)
|
||||
Patch by Christian Brabandt, 2014 Feb 17.
|
||||
|
||||
Patch to right-align signs. (James Kolb (email james), 2013 Sep 23)
|
||||
|
||||
Patch to handle integer overflow. (Aaron Burrow, 2013 Dec 12)
|
||||
|
||||
With "$" in 'cpoptions' the popup menu isn't fully drawn. (Matti Niemenmaa,
|
||||
2013 Sep 5)
|
||||
|
||||
"gUgn" cannot be repeated, while "dgn" can. (Dimitar Dimitrov)
|
||||
Patch by Christian Brabandt (2013 Aug 12)
|
||||
Patch to add "ntab" item in 'listchars' to repeat first character. (Nathaniel
|
||||
Braun, pragm, 2013 Oct 13) A better solution 2014 Mar 5.
|
||||
|
||||
Several Win32 functions are not using Unicode.
|
||||
Patches to fix this. (Ken Takata, 2013 Aug 9)
|
||||
Undo message is not always properly displayed. Patch by Ken Takata, 2013 oct
|
||||
3. Doesn't work properly according to Yukihiro Nakadaira.
|
||||
|
||||
/[b-a] gives error E16, should probably be E769.
|
||||
|
||||
7 Windows XP: When using "ClearType" for text smoothing, a column of yellow
|
||||
pixels remains when typing spaces in front of a "D" ('guifont' set to
|
||||
"lucida_console:h8").
|
||||
Patch by Thomas Tuegel, also for GTK, 2013 Nov 24
|
||||
|
||||
:help gives example for z?, but it does not work. m? and t? do work.
|
||||
|
||||
Python: Extended funcrefs: use func_T* structure in place of char_u* function
|
||||
names.
|
||||
(ZyX, 2013 Jul 15, update Sep 22, 24, 28; Update 2013 Dec 15, 2014 Jan 6)
|
||||
Also fixes Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5)
|
||||
|
||||
Patch to add funcref to Lua. (Luis Carvalho, 2013 Sep 4)
|
||||
With tests: Sep 5.
|
||||
|
||||
Patch to fix that on suckless Terminal mousewheel up does not work.
|
||||
(Ralph Eastwood, 2013 Nov 25)
|
||||
|
||||
Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
|
||||
|
||||
Patch to make external commands work with multi-byte characters on Win32 when
|
||||
'encoding' differs from the active codepage. (Yasuhiro Matsumoto, 2013 Aug 5)
|
||||
|
||||
Checking runtime scripts: Thilo Six, 2012 Jun 6.
|
||||
|
||||
When evaluating expression in backticks, autoload doesn't work.
|
||||
(Andy Wokula, 2013 Dec 14)
|
||||
|
||||
Using <nr>ifoobar<esc> can slow down Vim. Patch by Christian Brabandt, 2013
|
||||
Dec 13.
|
||||
|
||||
Fold can't be opened after ":move". (Ein Brown)
|
||||
Patch from Christian Brabandt doesn't fix it completely.
|
||||
|
||||
Patch from Christian Brabandt to preserve upper case marks when wiping out a
|
||||
buffer. (2013 Dec 9)
|
||||
|
||||
Patch for drag&drop reordering of GUI tab pages reordering.
|
||||
(Ken Takata, 2013 Nov 22, second one, also by Masamichi Abe)
|
||||
|
||||
":sign-jump" uses first window in buffer instead of current window.
|
||||
Patch by James McCoy, 2013 Nov 22.
|
||||
|
||||
GTK: problem with 'L' in 'guioptions' changing the window width.
|
||||
(Aaron Cornelius, 2012 Feb 6)
|
||||
|
||||
Patch to add option that tells whether small deletes go into the numbered
|
||||
registers. (Aryeh Leib Taurog, 2013 Nov 18)
|
||||
|
||||
Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3.
|
||||
|
||||
The BufUnload event is triggered when re-using the empty buffer.
|
||||
@@ -157,6 +287,10 @@ 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 to allow more types in remote_expr(). (Lech Lorens, 2014 Jan 5)
|
||||
Doesn't work for string in list. Other way to pass all types of variables
|
||||
reliably?
|
||||
|
||||
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
|
||||
@@ -164,13 +298,15 @@ Works OK for echo, just not for ":call" and ":call call()". (Ted, 2011 Mar
|
||||
Patch by Christian Brabandt, 2013 Mar 23.
|
||||
Not 100% sure this is the right solution.
|
||||
|
||||
Patch to support expression argument to sort() instead of a function name.
|
||||
Yasuhiro Matsumoto, 2013 May 31.
|
||||
Or should we add a more general mechanism, like lambda functions?
|
||||
|
||||
Problem caused by patch 7.3.638: window->open does not update window
|
||||
correctly. Issue 91.
|
||||
|
||||
Patch to add {lhs} to :mapclear: clear all maps starting with {lhs}.
|
||||
(Christian Brabandt, 2013 Dec 9)
|
||||
|
||||
Exception caused by argument of return is not caught by try/catch.
|
||||
(David Barnett, 2013 Nov 19)
|
||||
|
||||
8 'backupdir' and 'directory' should use $TMPDIR, $TMP and/or $TEMP when
|
||||
defined.
|
||||
Issue 28.
|
||||
@@ -189,7 +325,7 @@ carried over when using :global. (Christian Brabandt, 2013 Jun 19)
|
||||
Bug with 'cursorline' in diff mode. Line being scrolled into view gets
|
||||
highlighted as the cursor line. (Alessandro Ivaldi, 2013 Jun 4)
|
||||
|
||||
Two highlighting bugs. (Zyx, 2013 Aug 18)
|
||||
Two highlighting bugs. (ZyX, 2013 Aug 18)
|
||||
|
||||
Patch to add the bufferlist() function. (Yegappan Lakshmanan, 2013 May 5)
|
||||
May 17: with winlist() and tabpagelist().
|
||||
@@ -211,10 +347,6 @@ Second one. Update May 22.
|
||||
|
||||
Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec)
|
||||
|
||||
TCL: With MSVC 2010 doesn't find Tcl_FindExecutable. (tux)
|
||||
Patch to define it. (Ken Takata, 2013 Aug 12) Is this right?
|
||||
Probably not: http://code.google.com/p/vim/issues/detail?id=167
|
||||
|
||||
MS-Windows: Patch to make tests copy files to avoid changing the fileformat of
|
||||
the files under version control. (Taro Muraoka, 2013 Jul 5)
|
||||
|
||||
@@ -226,9 +358,6 @@ Patch by Christian Brabandt, 2013 Apr 20, unfinished.
|
||||
|
||||
Bug: findfile("any", "file:///tmp;") does not work.
|
||||
|
||||
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 to set antialiasing style on Windows. (Ondrej Balaz, 2013 Mar 14)
|
||||
@@ -238,11 +367,19 @@ In the ATTENTION message about an existing swap file, mention the name of the
|
||||
process that is running. It might actually be some other program, e.g. after
|
||||
a reboot.
|
||||
|
||||
MS-Windows: Crash opening very long file name starting with "\\".
|
||||
(Christian Brock, 2012 Jun 29)
|
||||
Patch to have text objects defined by arbitrary single characters. (Daniel
|
||||
Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)
|
||||
Ben Fritz: problem with 'selection' set to "exclusive".
|
||||
Updated to current Vim, not quite right yet. (Ben Fritz, 2014 Mar 27)
|
||||
|
||||
Patch to select the next or previous text object if there isn't one under the
|
||||
cursor. (Daniel Thau, 2013 Nov 20)
|
||||
|
||||
patch to add "combine" flag to syntax commands. (so8res, 2012 Dec 6)
|
||||
|
||||
Bug caused by patch 7.3.1288? Issue 183.
|
||||
I can't reproduce it.
|
||||
|
||||
Syntax update problem in one buffer opened in two windows, bottom window is
|
||||
not correctly updated. (Paul Harris, 2012 Feb 27)
|
||||
|
||||
@@ -280,9 +417,6 @@ b:undo_ftplugin cannot call a script-local function. (Boris Danilov, 2013 Jan
|
||||
Win32: The Python interface only works with one version of Python, selected at
|
||||
compile time. Can this be made to work with version 2.1 and 2.2 dynamically?
|
||||
|
||||
Python: Extended funcrefs: use func_T* structure in place of char_u* function
|
||||
names. (ZyX, 2013 Jul 15 and later)
|
||||
|
||||
Python: Be able to define a Python function that can be called directly from
|
||||
Vim script. Requires converting the arguments and return value, like with
|
||||
vim.bindeval().
|
||||
@@ -303,9 +437,6 @@ Should be possible to enable/disable matchparen per window or buffer.
|
||||
Add a check for b:no_match_paren in Highlight_matching_Pair() (Marcin
|
||||
Szamotulski, 2012 Nov 8)
|
||||
|
||||
Crash in autocmd that unloads buffers in a BufUnload event. (Andrew Pimlott,
|
||||
2012 Aug 11) Disallow :new when BufUnload is being handled?
|
||||
|
||||
Issue 72: 'autochdir' causes problems for :vimgrep.
|
||||
|
||||
Session file creation: 'autochdir' causes trouble. Keep it off until after
|
||||
@@ -338,10 +469,6 @@ Patch to add tagfunc(). Cleaned up by Christian Brabandt, 2013 Jun 22.
|
||||
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,
|
||||
like with glob(). (Greg Novack, 2012 Nov 2)
|
||||
Patch by Adnan Zafar, 2013 Jul 15.
|
||||
|
||||
The input map for CTRL-O in mswin.vim causes problems after CTRL-X CTRL-O.
|
||||
Suggestion for another map. (Philip Mat, 2012 Jun 18)
|
||||
But use "gi" instead of "a". Or use CTRL-\ CTRL-O.
|
||||
@@ -349,10 +476,6 @@ But use "gi" instead of "a". Or use CTRL-\ CTRL-O.
|
||||
Patch to support user name completion on MS-Windows. (Yasuhiro Matsumoto, 2012
|
||||
Aug 16)
|
||||
|
||||
Have an option for spell checking to not mark any Chinese, Japanese or other
|
||||
double-width characters as error. Or perhaps all characters above 256.
|
||||
(Bill Sun) Helps a lot for mixed Asian and latin text.
|
||||
|
||||
When there are no command line arguments ":next" and ":argu" give E163, which
|
||||
is confusing. Should say "the argument list is empty".
|
||||
|
||||
@@ -375,25 +498,18 @@ Patch to add digraph() function. (Christian Brabandt, 2013 Aug 22, update Aug
|
||||
|
||||
Patch for input method status. (Hirohito Higashi, 2012 Apr 18)
|
||||
|
||||
Update Vim app icon (for Gnome). (Jakub Steiner, 2013 Dec 6)
|
||||
|
||||
Patch to use .png icons for the toolbar on MS-Windows. (Martin Gieseking, 2013
|
||||
Apr 18)
|
||||
|
||||
Patch for has('unnamedplus') docs. (Tony Mechelynck, 2011 Sep 27)
|
||||
And one for gui_x11.txt.
|
||||
|
||||
- Patch for 'breakindent' option: repeat indent for wrapped line. (Vaclav
|
||||
Smilauer, 2004 Sep 13, fix Oct 31, update 2007 May 30)
|
||||
Version for latest MacVim: Tobia Conforto, 2009 Nov 23
|
||||
More recent version: https://retracile.net/wiki/VimBreakIndent
|
||||
Posted to vim-dev by Taylor Hedberg, 2011 Nov 25
|
||||
Update by Taylor Hedberg, 2013 May 30.
|
||||
|
||||
":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.
|
||||
|
||||
Problem with l: dictionary being locked in a function. (ZyX, 2011 Jul 21)
|
||||
|
||||
Should use has("browsefilter") in ftplugins. Requires patch 7.3.593.
|
||||
|
||||
Update for vim2html.pl. (Tyru, 2013 Feb 22)
|
||||
@@ -475,8 +591,6 @@ When using a Vim server, a # in the path causes an error message.
|
||||
Setting $HOME on MS-Windows is not very well documented. Suggestion by Ben
|
||||
Fritz (2011 Oct 27).
|
||||
|
||||
Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5)
|
||||
|
||||
Bug: Windows 7 64 bit system freezes when 'clipboard' set to "unnamed" and
|
||||
doing ":g/test/d". Putting every delete on the clipboard? (Robert Chan, 2011
|
||||
Jun 17)
|
||||
@@ -500,7 +614,7 @@ Patch to make "z=" work when 'spell' is off. Does this have nasty side
|
||||
effects? (Christian Brabandt, 2012 Aug 5, Update 2013 Aug 12)
|
||||
Would also need to do this for spellbadword() and spellsuggest().
|
||||
|
||||
Patch for variable tabstops.
|
||||
Patch for variable tabstops. On github (Christian Brabandt, 2014 May 15)
|
||||
|
||||
On 64 bit MS-Windows "long" is only 32 bits, but we sometimes need to store a
|
||||
64 bits value. Change all number options to use nropt_T and define it to the
|
||||
@@ -520,6 +634,8 @@ following "redir" command gives an error for not being able to access s:foo.
|
||||
When setqflist() uses a filename that triggers a BufReadCmd autocommand Vim
|
||||
doesn't jump to the correct line with :cfirst. (ZyX, 2011 Sep 18)
|
||||
|
||||
Behavior of i" and a" text objects isn't logical. (Ben Fritz, 2013 Nov 19)
|
||||
|
||||
7 Make "ga" show the digraph for a character, if it exists.
|
||||
Patch from Christian Brabandt, 2011 Aug 19.
|
||||
|
||||
@@ -540,9 +656,6 @@ Build problem with small features on Mac OS X 10.6. (Rainer, 2011 Jan 24)
|
||||
|
||||
"0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22)
|
||||
|
||||
Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct
|
||||
30)
|
||||
|
||||
Patch to addd TextDeletePost and TextYankPost events. (Philippe Vaucher, 2011
|
||||
May 24) Update May 26.
|
||||
|
||||
@@ -628,9 +741,6 @@ crash? (Raiwil, 2010 Nov 17)
|
||||
Patch to add FoldedLineNr highlighting: different highlighting for the line
|
||||
number of a closed fold. (eXerigumo Clanjor, 2013 Jul 15)
|
||||
|
||||
Does not work with NFA regexp engine:
|
||||
- \%u, \%x, \%o, \%d followed by a composing character
|
||||
|
||||
Regexp engine performance:
|
||||
- Profiling:
|
||||
./vim -u NONE -s ~/vim/test/ruby.vim
|
||||
@@ -660,7 +770,7 @@ Assume the system converts between the actual encoding of the filesystem to
|
||||
the system encoding (usually utf-8).
|
||||
|
||||
Patch to add GUI colors to the terminal, when it supports it. (ZyX, 2013 Jan
|
||||
26)
|
||||
26, update 2013 Dec 14)
|
||||
|
||||
Problem producing tags file when hebrew.frx is present. It has a BOM.
|
||||
Results in E670. (Tony Mechelynck, 2010 May 2)
|
||||
@@ -675,10 +785,6 @@ setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11)
|
||||
file names unique, also support this for 'backupdir'. (Mikolaj Machowski)
|
||||
Patch by Christian Brabandt, 2010 Oct 21.
|
||||
|
||||
getpos()/setpos() don't include curswant. getpos() could return a fifth
|
||||
element. setpos() could accept an optional fifth element.
|
||||
Patch by Christian Brabandt, 2010 Sep 6. Again 2013 Aug 22.
|
||||
|
||||
With "tw=55 fo+=a" typing space before ) doesn't work well. (Scott Mcdermott,
|
||||
2010 Oct 24)
|
||||
|
||||
@@ -698,9 +804,6 @@ C-indenting: A matching { in a comment is ignored, but intermediate { are not
|
||||
checked to be in a comment. Implement FM_SKIPCOMM flag of findmatchlimit().
|
||||
Issue 46.
|
||||
|
||||
When 'paste' is changed with 'pastetoggle', the ruler doesn't reflect this
|
||||
right away. (Samuel Ferencik, 2010 Dec 7)
|
||||
|
||||
Mac with X11: clipboard doesn't work properly. (Raf, 2010 Aug 16)
|
||||
|
||||
Using CompilerSet doesn't record where an option was set from. E.g., in the
|
||||
@@ -723,8 +826,6 @@ Patch: Let rare word highlighting overrule good word highlighting.
|
||||
When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines
|
||||
instead of one. (Constantin Pan, 2010 Sep 10)
|
||||
|
||||
Crash in setqflist(). (Benoit Mortgat, 2010 Nov 18)
|
||||
|
||||
Gui menu edit/paste in block mode insert only inserts in one line (Bjorn
|
||||
Winckler, 2011 May 11)
|
||||
Requires a map mode for Insert mode started from blockwise Visual mode.
|
||||
@@ -732,10 +833,6 @@ Requires a map mode for Insert mode started from blockwise Visual mode.
|
||||
Writing nested List and Dict in viminfo gives error message and can't be read
|
||||
back. (Yukihiro Nakadaira, 2010 Nov 13)
|
||||
|
||||
Can 'undolevels' be a buffer-local option? Helps for making big changes in
|
||||
one file only, set 'ul' to -1 only for that buffer.
|
||||
Patch by Christian Brabandt, 2010 Dec 17. Needs test.
|
||||
|
||||
Problem with cursor in the wrong column. (SungHyun Nam, 2010 Mar 11)
|
||||
Additional info by Dominique Pelle. (also on 2010 Apr 10)
|
||||
|
||||
@@ -942,8 +1039,6 @@ system when 'encoding' is "utf-8".
|
||||
Win32 GUI: last message from startup doesn't show up when there is an echoerr
|
||||
command. (Cyril Slobin, 2009 Mar 13)
|
||||
|
||||
Win32: use different args for SearchPath()? (Yasuhiro Matsumoto, 2009 Jan 30)
|
||||
|
||||
Win32: completion of file name ":e c:\!test" results in ":e c:\\!test", which
|
||||
does not work. (Nieko Maatjes, 2009 Jan 8, Ingo Karkat, 2009 Jan 22)
|
||||
|
||||
@@ -960,7 +1055,12 @@ Session file generates error upon loading, cause by --remote-silent-tab.
|
||||
Using ~ works OK on 'a' with composing char, but not on 0x0418 with composing
|
||||
char 0x0301. (Tony Mechelynck, 2009 Mar 4)
|
||||
|
||||
A function on a dictionary is not profiled. (Zyx, 2010 Dec 25)
|
||||
Searching for composing char works, but not when inside []. (ZyX, Benjamin R.
|
||||
Haskell, 2010 Aug 24)
|
||||
|
||||
This does not work yet: "a\(%C\)" (get composing characters into a submatch).
|
||||
|
||||
A function on a dictionary is not profiled. (ZyX, 2010 Dec 25)
|
||||
|
||||
Inconsistent: starting with $LANG set to es_ES.utf-8 gives Spanish
|
||||
messages, even though locale is not supported. But ":lang messages
|
||||
@@ -989,7 +1089,7 @@ correct. Don't use it in the swap file.
|
||||
Completion for ":buf" doesn't work properly on Win32 when 'shellslash' is off.
|
||||
(Henrik Ohman, 2009, Jan 29)
|
||||
|
||||
shellescape() depends on 'shellshash' for quoting. That doesn't work when
|
||||
shellescape() depends on 'shellslash' for quoting. That doesn't work when
|
||||
'shellslash' is set but using cmd.exe. (Ben Fritz)
|
||||
Use a different option or let it depend on whether 'shell' looks like a
|
||||
unix-like shell?
|
||||
@@ -1030,7 +1130,7 @@ probably causes this.
|
||||
2009 Jan 16)
|
||||
|
||||
Patch to support strikethrough next to bold and italic. (Christian Brabandt,
|
||||
2013 Jul 30)
|
||||
2013 Jul 30) Update from Ken Takata, 2013 Oct 12.
|
||||
|
||||
Document that default font in Athena can be set with resources:
|
||||
XtDefaultFont: "9x15"
|
||||
@@ -1044,6 +1144,7 @@ is executed.
|
||||
|
||||
":pedit %" with a BufReadPre autocommand causes the cursor to move to the
|
||||
first line. (Ingo Karkat, 2008 Jul 1) Ian Kelling is working on this.
|
||||
Similar problem with ":e". (Marc Montu, 2014 Apr 22)
|
||||
|
||||
Wildmenu not deleted: "gvim -u NONE", ":set nocp wildmenu cmdheight=3
|
||||
laststatus=2", CTRL-D CTRL-H CTRL-H CTRL-H. (A.Politz, 2008 April 1)
|
||||
@@ -1187,9 +1288,6 @@ When 'smartcase' is set and using CTRL-L to add to the search pattern it may
|
||||
result in no matches. Convert chars to lower case? (Erik Wognsen, 2009 Apr
|
||||
16)
|
||||
|
||||
Searching for composing char works, but not when inside []. (ZyX, Benjamin R.
|
||||
Haskell, 2010 Aug 24)
|
||||
|
||||
Fail to edit file after failed register access. Error flag remains set?
|
||||
(Lech Lorens, 2010 Aug 30)
|
||||
|
||||
@@ -1391,6 +1489,7 @@ Engelke, 2007 Dec 20 - 2008 Jan 17)
|
||||
|
||||
Win64: Seek error in swap file for a very big file (3 Gbyte). Check storing
|
||||
pointer in long and seek offset in 64 bit var.
|
||||
Patches from Ken Takata might help (2014 Apr 17)
|
||||
|
||||
Win32: patch for fullscreen mode. (Liushaolin, 2008 April 17)
|
||||
|
||||
@@ -1398,14 +1497,17 @@ Win32: When 'shell' is bash shellescape() doesn't always do the right thing.
|
||||
Depends on 'shellslash', 'shellquote' and 'shellxquote', but shellescape()
|
||||
only takes 'shellslash' into account.
|
||||
|
||||
Pressing the 'pastetoggle' key doesn't update the statusline. (Jan Christoph
|
||||
Ebersbach, 2008 Feb 1)
|
||||
|
||||
Menu item that does "xxd -r" doesn't work when 'fileencoding' is utf-16.
|
||||
Check for this and use iconv? (Edward L. Fox, 2007 Sep 12)
|
||||
Does the conversion in the other direction work when 'filenecodings' is set
|
||||
Does the conversion in the other direction work when 'fileencodings' is set
|
||||
properly?
|
||||
|
||||
Add a few features to xxd. (Vadim Vygonets, 2013 Nov 11)
|
||||
Patches: 2013 Nov 19
|
||||
1: Add -e: little endian hexdump
|
||||
2: Add -o: add offset to displayed position
|
||||
3: Change displayed file position width to 8 chars
|
||||
|
||||
Cursor displayed in the wrong position when using 'numberwidth'. (James Vega,
|
||||
2007 Jun 21)
|
||||
|
||||
@@ -1561,6 +1663,9 @@ Completing with 'wildmenu' and using <Up> and <Down> to move through directory
|
||||
tree stops unexpectedly when using ":cd " and entering a directory that
|
||||
doesn't contain other directories.
|
||||
|
||||
Default for 'background' is wrong when using xterm with 256 colors.
|
||||
Table with estimates from Matteo Cavalleri, 2014 Jan 10.
|
||||
|
||||
Setting 'background' resets the Normal background color:
|
||||
highlight Normal ctermbg=DarkGray
|
||||
set background=dark
|
||||
@@ -1817,7 +1922,7 @@ Awaiting updated patches:
|
||||
How does this work? Missing comments.
|
||||
8 Add a few more command names to the menus. Patch from Jiri Brezina
|
||||
(28 feb 2002). Will mess the translations...
|
||||
7 ATTENTION dialog choices are more logical when "Delete it' appears
|
||||
7 ATTENTION dialog choices are more logical when "Delete it" appears
|
||||
before "Quit". Patch by Robert Webb, 2004 May 3.
|
||||
- Include flipcase patch: ~/vim/patches/wall.flipcase2 ? Make it work
|
||||
for multi-byte characters.
|
||||
@@ -1966,8 +2071,6 @@ GTK+ GUI known bugs:
|
||||
Win32 GUI known bugs:
|
||||
- Win32: tearoff menu window should have a scrollbar when it's taller than
|
||||
the screen.
|
||||
8 non-ASCII font names don't work. Need to convert from 'encoding' and use
|
||||
the wide functions.
|
||||
8 On Windows 98 the unicows library is needed to support functions with UCS2
|
||||
file names. Can we load unicows.dll dynamically?
|
||||
8 The -P argument doesn't work very well with many MDI applications.
|
||||
@@ -1975,9 +2078,6 @@ Win32 GUI known bugs:
|
||||
Tutorial: http://win32assembly.online.fr/tut32.html
|
||||
8 In eval.c, io.h is included when MSWIN32 is defined. Shouldn't this be
|
||||
WIN32? Or can including io.h be moved to vim.h? (Dan Sharp)
|
||||
7 Windows XP: When using "ClearType" for text smoothing, a column of yellow
|
||||
pixels remains when typing spaces in front of a "D" ('guifont' set to
|
||||
"lucida_console:h8").
|
||||
6 Win32 GUI: With "-u NONE -U NONE" and doing "CTRL-W v" "CTRL-W o", the ":"
|
||||
of ":only" is highlighted like the cursor. (Lipelis)
|
||||
8 When 'encoding' is "utf-8", should use 'guifont' for both normal and wide
|
||||
@@ -2663,8 +2763,6 @@ Problems that will (probably) not be solved:
|
||||
input method called from GDK code. Without Perl it doesn't crash.
|
||||
- VMS: Vimdiff doesn't work with the VMS diff, because the output looks
|
||||
different. This makes test 47 fail. Install a Unix-compatible diff.
|
||||
- VMS v7.1 and older: Tests 21 and 32 fail. From VMS v7.1-2 and newer Vim
|
||||
does not have this behavior. (Zoltan Arpadffy)
|
||||
- Win32 GUI: mouse wheel always scrolls rightmost window. The events arrive
|
||||
in Vim as if the rightmost scrollbar was used.
|
||||
- GTK with Gnome: Produces an error message when starting up:
|
||||
@@ -2833,10 +2931,6 @@ Tab pages:
|
||||
|
||||
|
||||
Spell checking:
|
||||
- have some way not to give spelling errors for a range of characters.
|
||||
E.g. for Chinese and other languages with specific characters for which we
|
||||
don't have a spell file. Useful when there is also text in other
|
||||
languages in the file.
|
||||
- Support more regions? Caolan McNamara argues it's needed for es_XX.
|
||||
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=219777
|
||||
- Unicode defines another quote character: 0x2019. Use it as an equivalent
|
||||
@@ -3022,12 +3116,8 @@ Multi-byte characters:
|
||||
8 toupper() function doesn't handle byte count changes.
|
||||
7 Searching and composing characters:
|
||||
When searching, should order of composing characters be ignored?
|
||||
Add special item to match with a composing character, zero-width, so that
|
||||
one can replace a base character and keep the composing characters.
|
||||
Add a special item to match with a composing character, so that composing
|
||||
characters can be manipulated.
|
||||
Add a modifier to ignore composing characters, only compare base
|
||||
characters. Useful for Hebrew (Ron Aaron)
|
||||
8 Should implement 'delcombine' for command line editing.
|
||||
8 Detect overlong UTF-8 sequences and handle them like illegal bytes.
|
||||
8 ":s/x/\u\1/" doesn't work, making uppercase isn't done for multi-byte
|
||||
@@ -3250,6 +3340,7 @@ Syntax highlighting:
|
||||
Built-in script language:
|
||||
8 Make the filename and line number available to script functions, so that
|
||||
they can give useful debugging info. The whole call stack would be ideal.
|
||||
At least use this for error messages.
|
||||
7 Execute a function with standard option values. No need to save and
|
||||
restore option values. Especially useful for new options. Problem: how
|
||||
to avoid a performance penalty (esp. for string options)?
|
||||
@@ -4132,8 +4223,7 @@ Insert mode:
|
||||
7 Use Tabs for the indent of starting lines, pad with spaces for
|
||||
continuation lines. Allows changing 'tabstop' without messing up the
|
||||
indents.
|
||||
'keeptabs': when set don't change the tabs and spaces used for indent,
|
||||
when the indent remains the same or increases.
|
||||
Patch by Lech Lorens, 2010 Mar. Update by James McCoy, 2014 Mar 15.
|
||||
|
||||
|
||||
Java:
|
||||
@@ -4752,7 +4842,7 @@ Marks:
|
||||
|
||||
Digraphs:
|
||||
7 Make "ga" show the keymap for a character, if it exists.
|
||||
Also show the code of the character after conversion to 'filenecoding'.
|
||||
Also show the code of the character after conversion to 'fileencoding'.
|
||||
- Use digraph table to tell Vim about the collating sequence of special
|
||||
characters?
|
||||
8 Add command to remove one or more (all) digraphs. (Brown)
|
||||
@@ -4949,6 +5039,7 @@ Various improvements:
|
||||
6 Add ":timer" command, to set a command to be executed at a certain
|
||||
interval, or once after some time has elapsed. (Aaron)
|
||||
Perhaps an autocommand event like CursorHold is better?
|
||||
Patch to add async functionality. (Geoff Greer, 2013 Sep 1 and later)
|
||||
8 Add ":confirm" handling in open_exfile(), for when file already exists.
|
||||
8 When quitting with changed files, make the dialog list the changed file
|
||||
and allow "write all", "discard all", "write some". The last one would
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*undo.txt* For Vim version 7.4. Last change: 2013 Sep 08
|
||||
*undo.txt* For Vim version 7.4. Last change: 2014 May 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -97,9 +97,9 @@ change but joins in with the previous change use this command:
|
||||
or redo.
|
||||
{not in Vi}
|
||||
|
||||
This is most useful when you need to prompt the user halfway a change. For
|
||||
example in a function that calls |getchar()|. Do make sure that there was a
|
||||
related change before this that you must join with.
|
||||
This is most useful when you need to prompt the user halfway through a change.
|
||||
For example in a function that calls |getchar()|. Do make sure that there was
|
||||
a related change before this that you must join with.
|
||||
|
||||
This doesn't work by itself, because the next key press will start a new
|
||||
change again. But you can do something like this: >
|
||||
|
||||
@@ -86,7 +86,7 @@ line, type: >
|
||||
|
||||
v4jgq
|
||||
|
||||
"v" to start Visual mode, "4j' to move to the end of the paragraph and then
|
||||
"v" to start Visual mode, "4j" to move to the end of the paragraph and then
|
||||
the "gq" operator. The result is:
|
||||
|
||||
1 2 3
|
||||
|
||||
@@ -128,7 +128,7 @@ be escaped with a backslash. Example: >
|
||||
You can include special Vim keywords in the command specification. The %
|
||||
character expands to the name of the current file. So if you execute the
|
||||
command: >
|
||||
:set makeprg=make\ %
|
||||
:set makeprg=make\ %:S
|
||||
|
||||
When you are editing main.c, then ":make" executes the following command: >
|
||||
|
||||
@@ -137,7 +137,7 @@ When you are editing main.c, then ":make" executes the following command: >
|
||||
This is not too useful, so you will refine the command a little and use the :r
|
||||
(root) modifier: >
|
||||
|
||||
:set makeprg=make\ %:r.o
|
||||
:set makeprg=make\ %:r:S.o
|
||||
|
||||
Now the command executed is as follows: >
|
||||
|
||||
|
||||
@@ -209,7 +209,7 @@ The ":map" command can be followed by another command. A | character
|
||||
separates the two commands. This also means that a | character can't be used
|
||||
inside a map command. To include one, use <Bar> (five characters). Example:
|
||||
>
|
||||
:map <F8> :write <Bar> !checkin %<CR>
|
||||
:map <F8> :write <Bar> !checkin %:S<CR>
|
||||
|
||||
The same problem applies to the ":unmap" command, with the addition that you
|
||||
have to watch out for trailing white space. These two commands are different:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 7.4. Last change: 2013 Feb 20
|
||||
*usr_41.txt* For Vim version 7.4. Last change: 2014 May 28
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -595,13 +595,17 @@ String manipulation: *string-functions*
|
||||
matchlist() like matchstr() and also return submatches
|
||||
stridx() first index of a short string in a long string
|
||||
strridx() last index of a short string in a long string
|
||||
strlen() length of a string
|
||||
strlen() length of a string in bytes
|
||||
strchars() length of a string in characters
|
||||
strwidth() size of string when displayed
|
||||
strdisplaywidth() size of string when displayed, deals with tabs
|
||||
substitute() substitute a pattern match with a string
|
||||
submatch() get a specific match in ":s" and substitute()
|
||||
strpart() get part of a string
|
||||
expand() expand special keywords
|
||||
iconv() convert text from one encoding to another
|
||||
byteidx() byte index of a character in a string
|
||||
byteidxcomp() like byteidx() but count composing characters
|
||||
repeat() repeat a string multiple times
|
||||
eval() evaluate a string expression
|
||||
|
||||
@@ -619,6 +623,7 @@ List manipulation: *list-functions*
|
||||
map() change each List item
|
||||
sort() sort a List
|
||||
reverse() reverse the order of a List
|
||||
uniq() remove copies of repeated adjacent items
|
||||
split() split a String into a List
|
||||
join() join List items into a String
|
||||
range() return a List with a sequence of numbers
|
||||
@@ -656,6 +661,9 @@ Floating point computation: *float-functions*
|
||||
ceil() round up
|
||||
floor() round down
|
||||
trunc() remove value after decimal point
|
||||
fmod() remainder of division
|
||||
exp() exponential
|
||||
log() natural logarithm (logarithm to base e)
|
||||
log10() logarithm to base 10
|
||||
pow() value of x to the exponent y
|
||||
sqrt() square root
|
||||
@@ -675,6 +683,7 @@ Other computation: *bitwise-function*
|
||||
invert() bitwise invert
|
||||
or() bitwise OR
|
||||
xor() bitwise XOR
|
||||
sha256() SHA-256 hash
|
||||
|
||||
Variables: *var-functions*
|
||||
type() type of a variable
|
||||
@@ -697,11 +706,16 @@ Cursor and mark position: *cursor-functions* *mark-functions*
|
||||
wincol() window column number of the cursor
|
||||
winline() window line number of the cursor
|
||||
cursor() position the cursor at a line/column
|
||||
screencol() get screen column of the cursor
|
||||
screenrow() get screen row of the cursor
|
||||
getcurpos() get position of the cursor
|
||||
getpos() get position of cursor, mark, etc.
|
||||
setpos() set position of cursor, mark, etc.
|
||||
byte2line() get line number at a specific byte count
|
||||
line2byte() byte count at a specific line
|
||||
diff_filler() get the number of filler lines above a line
|
||||
screenattr() get attribute at a screen line/row
|
||||
screenchar() get character code at a screen line/row
|
||||
|
||||
Working with text in the current buffer: *text-functions*
|
||||
getline() get a line or list of lines from the buffer
|
||||
@@ -729,6 +743,7 @@ System functions and manipulation of files:
|
||||
pathshorten() shorten directory names in a path
|
||||
simplify() simplify a path without changing its meaning
|
||||
executable() check if an executable program exists
|
||||
exepath() full path of an executable program
|
||||
filereadable() check if a file can be read
|
||||
filewritable() check if a file can be written to
|
||||
getfperm() get the permissions of a file
|
||||
@@ -741,7 +756,8 @@ System functions and manipulation of files:
|
||||
mkdir() create a new directory
|
||||
delete() delete a file
|
||||
rename() rename a file
|
||||
system() get the result of a shell command
|
||||
system() get the result of a shell command as a string
|
||||
systemlist() get the result of a shell command as a list
|
||||
hostname() name of the system
|
||||
readfile() read a file into a List of lines
|
||||
writefile() write a List of lines into a file
|
||||
@@ -757,6 +773,7 @@ Date and Time: *date-functions* *time-functions*
|
||||
Buffers, windows and the argument list:
|
||||
argc() number of entries in the argument list
|
||||
argidx() current position in the argument list
|
||||
arglistid() get id of the argument list
|
||||
argv() get one entry from the argument list
|
||||
bufexists() check if a buffer exists
|
||||
buflisted() check if a buffer exists and is listed
|
||||
@@ -810,6 +827,7 @@ Syntax and highlighting: *syntax-functions* *highlighting-functions*
|
||||
synconcealed() get info about concealing
|
||||
diff_hlID() get highlight ID for diff mode at a position
|
||||
matchadd() define a pattern to highlight (a "match")
|
||||
matchaddpos() define a list of positions to highlight
|
||||
matcharg() get info about |:match| arguments
|
||||
matchdelete() delete a match defined by |matchadd()| or a
|
||||
|:match| command
|
||||
@@ -883,14 +901,22 @@ Various: *various-functions*
|
||||
libcall() call a function in an external library
|
||||
libcallnr() idem, returning a number
|
||||
|
||||
undofile() get the name of the undo file
|
||||
undotree() return the state of the undo tree
|
||||
|
||||
getreg() get contents of a register
|
||||
getregtype() get type of a register
|
||||
setreg() set contents and type of a register
|
||||
|
||||
shiftwidth() effective value of 'shiftwidth'
|
||||
|
||||
taglist() get list of matching tags
|
||||
tagfiles() get a list of tags files
|
||||
|
||||
luaeval() evaluate Lua expression
|
||||
mzeval() evaluate |MzScheme| expression
|
||||
py3eval() evaluate Python expression (|+python3|)
|
||||
pyeval() evaluate Python expression (|+python|)
|
||||
|
||||
==============================================================================
|
||||
*41.7* Defining a function
|
||||
|
||||
@@ -311,7 +311,7 @@ redefine what these items do (after the default menus are setup).
|
||||
item with a bitmap. For example, define a new toolbar item with: >
|
||||
|
||||
:tmenu ToolBar.Compile Compile the current file
|
||||
:amenu ToolBar.Compile :!cc % -o %:r<CR>
|
||||
:amenu ToolBar.Compile :!cc %:S -o %:r:S<CR>
|
||||
|
||||
Now you need to create the icon. For MS-Windows it must be in bitmap format,
|
||||
with the name "Compile.bmp". For Unix XPM format is used, the file name is
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 7.4. Last change: 2013 May 18
|
||||
*various.txt* For Vim version 7.4. Last change: 2014 May 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -234,25 +234,41 @@ g8 Print the hex values of the bytes used in the
|
||||
*:!cmd* *:!* *E34*
|
||||
:!{cmd} Execute {cmd} with the shell. See also the 'shell'
|
||||
and 'shelltype' option.
|
||||
|
||||
Any '!' in {cmd} is replaced with the previous
|
||||
external command (see also 'cpoptions'). But not when
|
||||
there is a backslash before the '!', then that
|
||||
backslash is removed. Example: ":!ls" followed by
|
||||
":!echo ! \! \\!" executes "echo ls ! \!".
|
||||
After the command has been executed, the timestamp of
|
||||
the current file is checked |timestamp|.
|
||||
|
||||
A '|' in {cmd} is passed to the shell, you cannot use
|
||||
it to append a Vim command. See |:bar|.
|
||||
|
||||
If {cmd} contains "%" it is expanded to the current
|
||||
file name. Special characters are not escaped, use
|
||||
quotes to avoid their special meaning: >
|
||||
:!ls "%"
|
||||
< If the file name contains a "$" single quotes might
|
||||
work better (but a single quote causes trouble): >
|
||||
:!ls '%'
|
||||
< This should always work, but it's more typing: >
|
||||
:exe "!ls " . shellescape(expand("%"))
|
||||
<
|
||||
A newline character ends {cmd}, what follows is
|
||||
interpreted as a following ":" command. However, if
|
||||
there is a backslash before the newline it is removed
|
||||
and {cmd} continues. It doesn't matter how many
|
||||
backslashes are before the newline, only one is
|
||||
removed.
|
||||
|
||||
On Unix the command normally runs in a non-interactive
|
||||
shell. If you want an interactive shell to be used
|
||||
(to use aliases) set 'shellcmdflag' to "-ic".
|
||||
For Win32 also see |:!start|.
|
||||
|
||||
After the command has been executed, the timestamp and
|
||||
size of the current file is checked |timestamp|.
|
||||
|
||||
Vim redraws the screen after the command is finished,
|
||||
because it may have printed any text. This requires a
|
||||
hit-enter prompt, so that you can read any messages.
|
||||
@@ -363,6 +379,7 @@ N *+mouse* Mouse handling |mouse-using|
|
||||
N *+mouseshape* |'mouseshape'|
|
||||
B *+mouse_dec* Unix only: Dec terminal mouse handling |dec-mouse|
|
||||
N *+mouse_gpm* Unix only: Linux console mouse handling |gpm-mouse|
|
||||
N *+mouse_jsbterm* JSB mouse handling |jsbterm-mouse|
|
||||
B *+mouse_netterm* Unix only: netterm mouse handling |netterm-mouse|
|
||||
N *+mouse_pterm* QNX only: pterm mouse handling |qnx-terminal|
|
||||
N *+mouse_sysmouse* Unix only: *BSD console mouse handling |sysmouse|
|
||||
@@ -418,7 +435,7 @@ N *+user_commands* User-defined commands. |user-commands|
|
||||
N *+viminfo* |'viminfo'|
|
||||
N *+vertsplit* Vertically split windows |:vsplit|
|
||||
N *+virtualedit* |'virtualedit'|
|
||||
S *+visual* Visual mode |Visual-mode|
|
||||
S *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200.
|
||||
N *+visualextra* extra Visual mode commands |blockwise-operators|
|
||||
N *+vreplace* |gR| and |gr|
|
||||
N *+wildignore* |'wildignore'|
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version7.txt* For Vim version 7.4. Last change: 2013 Sep 03
|
||||
*version7.txt* For Vim version 7.4. Last change: 2013 Nov 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -942,6 +942,7 @@ New and extended functions: ~
|
||||
|tagfiles()| List with tags file names
|
||||
|taglist()| get list of matching tags (Yegappan Lakshmanan)
|
||||
|tr()| translate characters (Ron Aaron)
|
||||
|uniq()| remove copies of repeated adjacent list items
|
||||
|values()| get List of Dictionary values
|
||||
|winnr()| takes an argument: what window to use
|
||||
|winrestview()| restore the view of the current window
|
||||
@@ -7188,7 +7189,7 @@ More encryption *new-more-encryption*
|
||||
---------------
|
||||
|
||||
Support for Blowfish encryption. Added the 'cryptmethod' option.
|
||||
Mostly by Moshin Ahmed.
|
||||
Mostly by Mohsin Ahmed.
|
||||
|
||||
Also encrypt the text in the swap file and the undo file.
|
||||
|
||||
|
||||
@@ -540,7 +540,7 @@ character (and shows it immediately).
|
||||
Added :wnext command. Same as ":write" followed by ":next".
|
||||
|
||||
The ":w!" command always writes, also when the file is write protected. In Vi
|
||||
you would have to do ":!chmod +w %" and ":set noro".
|
||||
you would have to do ":!chmod +w %:S" and ":set noro".
|
||||
|
||||
When 'tildeop' has been set, "~" is an operator (must be followed by a
|
||||
movement command).
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*visual.txt* For Vim version 7.4. Last change: 2012 Aug 15
|
||||
*visual.txt* For Vim version 7.4. Last change: 2014 Mar 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -22,7 +22,7 @@ This is introduced in section |04.4| of the user manual.
|
||||
|
||||
{Vi has no Visual mode, the name "visual" is used for Normal mode, to
|
||||
distinguish it from Ex mode}
|
||||
{not available when the |+visual| feature was disabled when compiling}
|
||||
{Since Vim 7.4.200 the |+visual| feature is always included}
|
||||
|
||||
==============================================================================
|
||||
1. Using Visual mode *visual-use*
|
||||
@@ -75,7 +75,11 @@ position.
|
||||
|
||||
*V* *linewise-visual*
|
||||
[count]V Start Visual mode linewise.
|
||||
With [count] select that many lines.
|
||||
With [count] select the same number of lines as used
|
||||
for the last Visual operation, but at the current
|
||||
cursor position, multiplied by [count]. When there
|
||||
was no previous Visual operation [count] lines are
|
||||
selected.
|
||||
|
||||
*CTRL-V* *blockwise-visual*
|
||||
[count]CTRL-V Start Visual mode blockwise. Note: Under Windows
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*windows.txt* For Vim version 7.4. Last change: 2012 Nov 15
|
||||
*windows.txt* For Vim version 7.4. Last change: 2014 Mar 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -132,13 +132,20 @@ that have termcap codes for italics.
|
||||
CTRL-W s *CTRL-W_s*
|
||||
CTRL-W S *CTRL-W_S*
|
||||
CTRL-W CTRL-S *CTRL-W_CTRL-S*
|
||||
:[N]sp[lit] [++opt] [+cmd] *:sp* *:split*
|
||||
:[N]sp[lit] [++opt] [+cmd] [file] *:sp* *:split*
|
||||
Split current window in two. The result is two viewports on
|
||||
the same file. Make new window N high (default is to use half
|
||||
the height of the current window). Reduces the current window
|
||||
height to create room (and others, if the 'equalalways' option
|
||||
is set, 'eadirection' isn't "hor", and one of them is higher
|
||||
than the current or the new window).
|
||||
the same file.
|
||||
|
||||
Make the new window N high (default is to use half the height
|
||||
of the current window). Reduces the current window height to
|
||||
create room (and others, if the 'equalalways' option is set,
|
||||
'eadirection' isn't "hor", and one of them is higher than the
|
||||
current or the new window).
|
||||
|
||||
If [file] is given it will be edited in the new window. If it
|
||||
is not loaded in any buffer, it will be read. Else the new
|
||||
window will use the already loaded buffer.
|
||||
|
||||
Note: CTRL-S does not work on all terminals and might block
|
||||
further input, use CTRL-Q to get going again.
|
||||
Also see |++opt| and |+cmd|.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2013 Sep 22
|
||||
" Last Change: 2014 Jun 12
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -106,6 +106,9 @@ au BufNewFile,BufRead *.run setf ampl
|
||||
" Ant
|
||||
au BufNewFile,BufRead build.xml setf ant
|
||||
|
||||
" Arduino
|
||||
au BufNewFile,BufRead *.ino,*.pde setf arduino
|
||||
|
||||
" Apache style config file
|
||||
au BufNewFile,BufRead proftpd.conf* call s:StarSetf('apachestyle')
|
||||
|
||||
@@ -536,6 +539,20 @@ au BufNewFile,BufRead *enlightenment/*.cfg setf c
|
||||
" Eterm
|
||||
au BufNewFile,BufRead *Eterm/*.cfg setf eterm
|
||||
|
||||
" Euphoria 3 or 4
|
||||
au BufNewFile,BufRead *.eu,*.ew,*.ex,*.exu,*.exw call s:EuphoriaCheck()
|
||||
if has("fname_case")
|
||||
au BufNewFile,BufRead *.EU,*.EW,*.EX,*.EXU,*.EXW call s:EuphoriaCheck()
|
||||
endif
|
||||
|
||||
func! s:EuphoriaCheck()
|
||||
if exists('g:filetype_euphoria')
|
||||
exe 'setf ' . g:filetype_euphoria
|
||||
else
|
||||
setf euphoria3
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" Lynx config files
|
||||
au BufNewFile,BufRead lynx.cfg setf lynx
|
||||
|
||||
@@ -656,22 +673,26 @@ au BufNewFile,BufRead *.ed\(f\|if\|n\|o\) setf edif
|
||||
" Embedix Component Description
|
||||
au BufNewFile,BufRead *.ecd setf ecd
|
||||
|
||||
" Eiffel or Specman
|
||||
" Eiffel or Specman or Euphoria
|
||||
au BufNewFile,BufRead *.e,*.E call s:FTe()
|
||||
|
||||
" Elinks configuration
|
||||
au BufNewFile,BufRead */etc/elinks.conf,*/.elinks/elinks.conf setf elinks
|
||||
|
||||
func! s:FTe()
|
||||
let n = 1
|
||||
while n < 100 && n < line("$")
|
||||
if getline(n) =~ "^\\s*\\(<'\\|'>\\)\\s*$"
|
||||
setf specman
|
||||
return
|
||||
endif
|
||||
let n = n + 1
|
||||
endwhile
|
||||
setf eiffel
|
||||
if exists('g:filetype_euphoria')
|
||||
exe 'setf ' . g:filetype_euphoria
|
||||
else
|
||||
let n = 1
|
||||
while n < 100 && n < line("$")
|
||||
if getline(n) =~ "^\\s*\\(<'\\|'>\\)\\s*$"
|
||||
setf specman
|
||||
return
|
||||
endif
|
||||
let n = n + 1
|
||||
endwhile
|
||||
setf eiffel
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" ERicsson LANGuage; Yaws is erlang too
|
||||
@@ -992,6 +1013,9 @@ au BufNewFile,BufRead *.kix setf kix
|
||||
" Kimwitu[++]
|
||||
au BufNewFile,BufRead *.k setf kwt
|
||||
|
||||
" Kivy
|
||||
au BufNewFile,BufRead *.kv setf kivy
|
||||
|
||||
" KDE script
|
||||
au BufNewFile,BufRead *.ks setf kscript
|
||||
|
||||
@@ -1017,7 +1041,7 @@ au BufNewFile,BufRead *.ldif setf ldif
|
||||
au BufNewFile,BufRead *.ld setf ld
|
||||
|
||||
" Lex
|
||||
au BufNewFile,BufRead *.lex,*.l setf lex
|
||||
au BufNewFile,BufRead *.lex,*.l,*.lxx,*.l++ setf lex
|
||||
|
||||
" Libao
|
||||
au BufNewFile,BufRead */etc/libao.conf,*/.libao setf libao
|
||||
@@ -1172,6 +1196,9 @@ au BufNewFile,BufRead *.mp setf mp
|
||||
" MGL
|
||||
au BufNewFile,BufRead *.mgl setf mgl
|
||||
|
||||
" MIX - Knuth assembly
|
||||
au BufNewFile,BufRead *.mix,*.mixal setf mix
|
||||
|
||||
" MMIX or VMS makefile
|
||||
au BufNewFile,BufRead *.mms call s:FTmms()
|
||||
|
||||
@@ -2061,14 +2088,15 @@ au BufNewFile,BufRead */etc/sudoers,sudoers.tmp setf sudoers
|
||||
" SVG (Scalable Vector Graphics)
|
||||
au BufNewFile,BufRead *.svg setf svg
|
||||
|
||||
" If the file has an extension of 't' and is in a directory 't' then it is
|
||||
" almost certainly a Perl test file.
|
||||
" If the file has an extension of 't' and is in a directory 't' or 'xt' then
|
||||
" it is almost certainly a Perl test file.
|
||||
" If the first line starts with '#' and contains 'perl' it's probably a Perl
|
||||
" file.
|
||||
" (Slow test) If a file contains a 'use' statement then it is almost certainly
|
||||
" a Perl file.
|
||||
func! s:FTperl()
|
||||
if expand("%:e") == 't' && expand("%:p:h:t") == 't'
|
||||
let dirname = expand("%:p:h:t")
|
||||
if expand("%:e") == 't' && (dirname == 't' || dirname == 'xt')
|
||||
setf perl
|
||||
return 1
|
||||
endif
|
||||
@@ -2236,6 +2264,9 @@ au BufNewFile,BufRead *.v setf verilog
|
||||
" Verilog-AMS HDL
|
||||
au BufNewFile,BufRead *.va,*.vams setf verilogams
|
||||
|
||||
" SystemVerilog
|
||||
au BufNewFile,BufRead *.sv,*.svh setf systemverilog
|
||||
|
||||
" VHDL
|
||||
au BufNewFile,BufRead *.hdl,*.vhd,*.vhdl,*.vbe,*.vst setf vhdl
|
||||
au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl')
|
||||
@@ -2408,7 +2439,7 @@ au BufNewFile,BufRead *.xsd setf xsd
|
||||
au BufNewFile,BufRead *.xsl,*.xslt setf xslt
|
||||
|
||||
" Yacc
|
||||
au BufNewFile,BufRead *.yy setf yacc
|
||||
au BufNewFile,BufRead *.yy,*.yxx,*.y++ setf yacc
|
||||
|
||||
" Yacc or racc
|
||||
au BufNewFile,BufRead *.y call s:FTy()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: generic Changelog file
|
||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2012-08-23
|
||||
" Latest Revision: 2014-01-10
|
||||
" Variables:
|
||||
" g:changelog_timeformat (deprecated: use g:changelog_dateformat instead) -
|
||||
" description: the timeformat used in ChangeLog entries.
|
||||
@@ -122,12 +122,12 @@ if &filetype == 'changelog'
|
||||
|
||||
" Format used for new date entries.
|
||||
if !exists('g:changelog_new_date_format')
|
||||
let g:changelog_new_date_format = "%d %u\n\n\t* %c\n\n"
|
||||
let g:changelog_new_date_format = "%d %u\n\n\t* %p%c\n\n"
|
||||
endif
|
||||
|
||||
" Format used for new entries to current date entry.
|
||||
if !exists('g:changelog_new_entry_format')
|
||||
let g:changelog_new_entry_format = "\t* %c"
|
||||
let g:changelog_new_entry_format = "\t* %p%c"
|
||||
endif
|
||||
|
||||
" Regular expression used to find a given date entry.
|
||||
@@ -143,16 +143,16 @@ if &filetype == 'changelog'
|
||||
|
||||
" Substitutes specific items in new date-entry formats and search strings.
|
||||
" Can be done with substitute of course, but unclean, and need \@! then.
|
||||
function! s:substitute_items(str, date, user)
|
||||
function! s:substitute_items(str, date, user, prefix)
|
||||
let str = a:str
|
||||
let middles = {'%': '%', 'd': a:date, 'u': a:user, 'c': '{cursor}'}
|
||||
let middles = {'%': '%', 'd': a:date, 'u': a:user, 'p': a:prefix, 'c': '{cursor}'}
|
||||
let i = stridx(str, '%')
|
||||
while i != -1
|
||||
let inc = 0
|
||||
if has_key(middles, str[i + 1])
|
||||
let mid = middles[str[i + 1]]
|
||||
let str = strpart(str, 0, i) . mid . strpart(str, i + 2)
|
||||
let inc = strlen(mid)
|
||||
let inc = strlen(mid) - 1
|
||||
endif
|
||||
let i = stridx(str, '%', i + 1 + inc)
|
||||
endwhile
|
||||
@@ -171,7 +171,7 @@ if &filetype == 'changelog'
|
||||
endfunction
|
||||
|
||||
" Internal function to create a new entry in the ChangeLog.
|
||||
function! s:new_changelog_entry()
|
||||
function! s:new_changelog_entry(prefix)
|
||||
" Deal with 'paste' option.
|
||||
let save_paste = &paste
|
||||
let &paste = 1
|
||||
@@ -179,7 +179,7 @@ if &filetype == 'changelog'
|
||||
" Look for an entry for today by our user.
|
||||
let date = strftime(g:changelog_dateformat)
|
||||
let search = s:substitute_items(g:changelog_date_entry_search, date,
|
||||
\ s:username())
|
||||
\ s:username(), a:prefix)
|
||||
if search(search) > 0
|
||||
" Ok, now we look for the end of the date entry, and add an entry.
|
||||
call cursor(nextnonblank(line('.') + 1), 1)
|
||||
@@ -188,7 +188,7 @@ if &filetype == 'changelog'
|
||||
else
|
||||
let p = line('.')
|
||||
endif
|
||||
let ls = split(s:substitute_items(g:changelog_new_entry_format, '', ''),
|
||||
let ls = split(s:substitute_items(g:changelog_new_entry_format, '', '', a:prefix),
|
||||
\ '\n')
|
||||
call append(p, ls)
|
||||
call cursor(p + 1, 1)
|
||||
@@ -198,7 +198,7 @@ if &filetype == 'changelog'
|
||||
|
||||
" No entry today, so create a date-user header and insert an entry.
|
||||
let todays_entry = s:substitute_items(g:changelog_new_date_format,
|
||||
\ date, s:username())
|
||||
\ date, s:username(), a:prefix)
|
||||
" Make sure we have a cursor positioning.
|
||||
if stridx(todays_entry, '{cursor}') == -1
|
||||
let todays_entry = todays_entry . '{cursor}'
|
||||
@@ -206,7 +206,7 @@ if &filetype == 'changelog'
|
||||
|
||||
" Now do the work.
|
||||
call append(0, split(todays_entry, '\n'))
|
||||
|
||||
|
||||
" Remove empty lines at end of file.
|
||||
if remove_empty
|
||||
$-/^\s*$/-1,$delete
|
||||
@@ -223,8 +223,8 @@ if &filetype == 'changelog'
|
||||
endfunction
|
||||
|
||||
if exists(":NewChangelogEntry") != 2
|
||||
noremap <buffer> <silent> <Leader>o <Esc>:call <SID>new_changelog_entry()<CR>
|
||||
command! -nargs=0 NewChangelogEntry call s:new_changelog_entry()
|
||||
noremap <buffer> <silent> <Leader>o <Esc>:call <SID>new_changelog_entry('')<CR>
|
||||
command! -nargs=0 NewChangelogEntry call s:new_changelog_entry('')
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setl com< fo< et< ai<"
|
||||
@@ -277,10 +277,7 @@ else
|
||||
if exists('b:changelog_entry_prefix')
|
||||
let prefix = call(b:changelog_entry_prefix, [])
|
||||
else
|
||||
let prefix = substitute(strpart(expand('%:p'), strlen(path)), '^/\+', "", "") . ':'
|
||||
endif
|
||||
if !empty(prefix)
|
||||
let prefix = ' ' . prefix
|
||||
let prefix = substitute(strpart(expand('%:p'), strlen(path)), '^/\+', "", "")
|
||||
endif
|
||||
|
||||
let buf = bufnr(changelog)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
" Maintainer: Sung Pae <self@sungpae.com>
|
||||
" URL: https://github.com/guns/vim-clojure-static
|
||||
" License: Same as Vim
|
||||
" Last Change: 08 September 2013
|
||||
" Last Change: 27 March 2014
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -15,7 +15,7 @@ let b:did_ftplugin = 1
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = 'setlocal iskeyword< define< formatoptions< comments< commentstring<'
|
||||
let b:undo_ftplugin = 'setlocal iskeyword< define< formatoptions< comments< commentstring< lispwords<'
|
||||
|
||||
setlocal iskeyword+=?,-,*,!,+,/,=,<,>,.,:,$
|
||||
|
||||
@@ -23,14 +23,29 @@ setlocal iskeyword+=?,-,*,!,+,/,=,<,>,.,:,$
|
||||
" 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
|
||||
" Remove 't' from 'formatoptions' to avoid auto-wrapping code.
|
||||
setlocal formatoptions-=t
|
||||
|
||||
" Lisp comments are routinely nested (e.g. ;;; SECTION HEADING)
|
||||
setlocal comments=n:;
|
||||
setlocal commentstring=;\ %s
|
||||
|
||||
" 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.
|
||||
"
|
||||
" -*- LISPWORDS -*-
|
||||
" Generated from https://github.com/guns/vim-clojure-static/blob/vim-release-010/clj/src/vim_clojure_static/generate.clj
|
||||
setlocal lispwords=as->,binding,bound-fn,case,catch,cond->,cond->>,condp,def,definline,definterface,defmacro,defmethod,defmulti,defn,defn-,defonce,defprotocol,defrecord,defstruct,deftest,deftest-,deftype,doseq,dotimes,doto,extend,extend-protocol,extend-type,fn,for,if,if-let,if-not,if-some,let,letfn,locking,loop,ns,proxy,reify,set-test,testing,when,when-first,when-let,when-not,when-some,while,with-bindings,with-in-str,with-local-vars,with-open,with-precision,with-redefs,with-redefs-fn,with-test
|
||||
|
||||
" 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: cobol
|
||||
" Author: Tim Pope <vimNOSPAM@tpope.info>
|
||||
" $Id: cobol.vim,v 1.1 2007/05/05 17:24:38 vimboss Exp $
|
||||
" Last Update: By ZyX: use shiftwidth()
|
||||
|
||||
" Insert mode mappings: <C-T> <C-D> <Tab>
|
||||
" Normal mode mappings: < > << >> [[ ]] [] ][
|
||||
@@ -113,7 +113,7 @@ endfunction
|
||||
|
||||
function! s:increase(...)
|
||||
let lnum = '.'
|
||||
let sw = &shiftwidth
|
||||
let sw = shiftwidth()
|
||||
let i = a:0 ? a:1 : indent(lnum)
|
||||
if i >= 11
|
||||
return sw - (i - 11) % sw
|
||||
@@ -128,7 +128,7 @@ endfunction
|
||||
|
||||
function! s:decrease(...)
|
||||
let lnum = '.'
|
||||
let sw = &shiftwidth
|
||||
let sw = shiftwidth()
|
||||
let i = indent(a:0 ? a:1 : lnum)
|
||||
if i >= 11 + sw
|
||||
return 1 + (i + 12) % sw
|
||||
@@ -147,7 +147,7 @@ function! CobolIndentBlock(shift)
|
||||
let head = strpart(getline('.'),0,7)
|
||||
let tail = strpart(getline('.'),7)
|
||||
let indent = match(tail,'[^ ]')
|
||||
let sw = &shiftwidth
|
||||
let sw = shiftwidth()
|
||||
let shift = a:shift
|
||||
if shift > 0
|
||||
if indent < 4
|
||||
@@ -221,7 +221,8 @@ endfunction
|
||||
function! s:Tab()
|
||||
if (strpart(getline('.'),0,col('.')-1) =~ '^\s*$' && &sta)
|
||||
return s:IncreaseIndent()
|
||||
elseif &sts == &sw && &sts != 8 && &et
|
||||
" &softtabstop < 0: &softtabstop follows &shiftwidth
|
||||
elseif (&sts < 0 || &sts == shiftwidth()) && &sts != 8 && &et
|
||||
return s:repeat(" ",s:increase(col('.')-1))
|
||||
else
|
||||
return "\<Tab>"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainers: Michael Piefel <piefel@informatik.hu-berlin.de>
|
||||
" Stefano Zacchiroli <zack@debian.org>
|
||||
" Last Change: 2012-01-31
|
||||
" Last Change: 2014-01-31
|
||||
" License: Vim License
|
||||
" URL: http://hg.debian.org/hg/pkg-vim/vim/file/unstable/runtime/ftplugin/debchangelog.vim
|
||||
|
||||
@@ -152,7 +152,7 @@ function CloseBug()
|
||||
endfunction
|
||||
|
||||
function Distribution(dist)
|
||||
call setline(1, substitute(getline(1), ") [[:lower:] ]*;", ") " . a:dist . ";", ""))
|
||||
call setline(1, substitute(getline(1), ') *\%(UNRELEASED\|\l\+\);', ") " . a:dist . ";", ""))
|
||||
endfunction
|
||||
|
||||
function Urgency(urg)
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
" Vim settings file
|
||||
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, 77, 66)
|
||||
" Version: 0.48
|
||||
" Last Change: 2012 Apr. 18
|
||||
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www.unb.ca/chem/ajit/>
|
||||
" Version: 0.49
|
||||
" Last Change: 2013 Oct. 01
|
||||
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
|
||||
" Usage: Do :help fortran-plugin from Vim
|
||||
" Credits:
|
||||
" Useful suggestions were made by Stefano Zacchiroli, Hendrik Merx, and Ben
|
||||
" Fritz.
|
||||
" Useful suggestions were made by Stefano Zacchiroli, Hendrik Merx, Ben
|
||||
" Fritz, and David Barnett.
|
||||
|
||||
" Only do these settings when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -64,8 +64,8 @@ if (b:fortran_fixed_source == 1)
|
||||
" setlocal tw=73
|
||||
else
|
||||
setlocal comments=:!
|
||||
" Free format allows a textwidth of 132 for code but 80 is more usual
|
||||
setlocal tw=80
|
||||
" Free format allows a textwidth of 132
|
||||
setlocal tw=132
|
||||
endif
|
||||
|
||||
" Set commentstring for foldmethod=marker
|
||||
@@ -76,8 +76,8 @@ if !exists("fortran_have_tabs")
|
||||
setlocal expandtab
|
||||
endif
|
||||
|
||||
" Set 'formatoptions' to break comment and text lines but allow long lines
|
||||
setlocal fo+=tcql
|
||||
" Set 'formatoptions' to break text lines
|
||||
setlocal fo+=t
|
||||
|
||||
setlocal include=^\\c#\\=\\s*include\\s\\+
|
||||
setlocal suffixesadd+=.f08,.f03,.f95,.f90,.for,.f,.F,.f77,.ftn,.fpp
|
||||
@@ -114,7 +114,7 @@ if has("gui_win32") && !exists("b:browsefilter")
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setl fo< com< tw< cms< et< inc<"
|
||||
let b:undo_ftplugin = "setl fo< com< tw< cms< et< inc< sua<"
|
||||
\ . "| unlet! b:match_ignorecase b:match_words b:browsefilter"
|
||||
|
||||
let &cpoptions=s:cposet
|
||||
|
||||
@@ -20,49 +20,9 @@ if exists("g:ft_html_autocomment") && (g:ft_html_autocomment == 1)
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
endif
|
||||
|
||||
|
||||
if exists('&omnifunc')
|
||||
" Distinguish between HTML versions
|
||||
" To use with other HTML versions add another
|
||||
" elseif condition to match proper DOCTYPE
|
||||
setlocal omnifunc=htmlcomplete#CompleteTags
|
||||
|
||||
if &filetype == 'xhtml'
|
||||
let b:html_omni_flavor = 'xhtml10s'
|
||||
else
|
||||
let b:html_omni_flavor = 'html401t'
|
||||
endif
|
||||
let i = 1
|
||||
let line = ""
|
||||
while i < 10 && i < line("$")
|
||||
let line = getline(i)
|
||||
if line =~ '<!DOCTYPE.*\<DTD '
|
||||
break
|
||||
endif
|
||||
let i += 1
|
||||
endwhile
|
||||
if line =~ '<!DOCTYPE.*\<DTD ' " doctype line found above
|
||||
if line =~ ' HTML 3\.2'
|
||||
let b:html_omni_flavor = 'html32'
|
||||
elseif line =~ ' XHTML 1\.1'
|
||||
let b:html_omni_flavor = 'xhtml11'
|
||||
else " two-step detection with strict/frameset/transitional
|
||||
if line =~ ' XHTML 1\.0'
|
||||
let b:html_omni_flavor = 'xhtml10'
|
||||
elseif line =~ ' HTML 4\.01'
|
||||
let b:html_omni_flavor = 'html401'
|
||||
elseif line =~ ' HTML 4.0\>'
|
||||
let b:html_omni_flavor = 'html40'
|
||||
endif
|
||||
if line =~ '\<Transitional\>'
|
||||
let b:html_omni_flavor .= 't'
|
||||
elseif line =~ '\<Frameset\>'
|
||||
let b:html_omni_flavor .= 'f'
|
||||
else
|
||||
let b:html_omni_flavor .= 's'
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
setlocal omnifunc=htmlcomplete#CompleteTags
|
||||
call htmlcomplete#DetectOmniFlavor()
|
||||
endif
|
||||
|
||||
" HTML: thanks to Johannes Zellner and Benji Fisher.
|
||||
|
||||
@@ -1,17 +1,75 @@
|
||||
" Vim filetype plugin
|
||||
" Language: J
|
||||
" Maintainer: David Bürgin <676c7473@gmail.com>
|
||||
" Last Change: 2013-09-21
|
||||
" URL: https://github.com/glts/vim-j
|
||||
" Last Change: 2014-04-05
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal iskeyword=48-57,65-90,_,97-122
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal iskeyword=48-57,A-Z,_,a-z
|
||||
setlocal comments=:NB.
|
||||
setlocal commentstring=NB.\ %s
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
setlocal formatoptions-=t
|
||||
setlocal shiftwidth=2 softtabstop=2 expandtab
|
||||
setlocal matchpairs=(:)
|
||||
|
||||
let b:undo_ftplugin = "setl et< sts< sw< fo< cms< com< isk<"
|
||||
let b:undo_ftplugin = 'setlocal matchpairs< expandtab< softtabstop< shiftwidth< formatoptions< commentstring< comments< iskeyword<'
|
||||
|
||||
" Section movement with ]] ][ [[ []. The start/end patterns below are amended
|
||||
" inside the function in order to avoid matching on the current cursor line.
|
||||
let s:sectionstart = '.\{-}\<\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\>.*'
|
||||
let s:sectionend = '\s*)\s*'
|
||||
|
||||
function! s:SearchSection(end, backwards, visualmode) abort
|
||||
if a:visualmode !=# ''
|
||||
normal! gv
|
||||
endif
|
||||
let flags = a:backwards ? 'bsW' : 'sW'
|
||||
if a:end
|
||||
call search('^' . s:sectionend . (a:backwards ? '\n\_.\{-}\%#' : '$'), flags)
|
||||
else
|
||||
call search('^' . s:sectionstart . (a:backwards ? '\n\_.\{-}\%#' : '$'), flags)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
noremap <script> <buffer> <silent> ]] :<C-U>call <SID>SearchSection(0, 0, '')<CR>
|
||||
xnoremap <script> <buffer> <silent> ]] :<C-U>call <SID>SearchSection(0, 0, visualmode())<CR>
|
||||
sunmap <buffer> ]]
|
||||
noremap <script> <buffer> <silent> ][ :<C-U>call <SID>SearchSection(1, 0, '')<CR>
|
||||
xnoremap <script> <buffer> <silent> ][ :<C-U>call <SID>SearchSection(1, 0, visualmode())<CR>
|
||||
sunmap <buffer> ][
|
||||
noremap <script> <buffer> <silent> [[ :<C-U>call <SID>SearchSection(0, 1, '')<CR>
|
||||
xnoremap <script> <buffer> <silent> [[ :<C-U>call <SID>SearchSection(0, 1, visualmode())<CR>
|
||||
sunmap <buffer> [[
|
||||
noremap <script> <buffer> <silent> [] :<C-U>call <SID>SearchSection(1, 1, '')<CR>
|
||||
xnoremap <script> <buffer> <silent> [] :<C-U>call <SID>SearchSection(1, 1, visualmode())<CR>
|
||||
sunmap <buffer> []
|
||||
|
||||
let b:undo_ftplugin .= ' | silent! execute "unmap <buffer> ]]"'
|
||||
\ . ' | silent! execute "unmap <buffer> ]["'
|
||||
\ . ' | silent! execute "unmap <buffer> [["'
|
||||
\ . ' | silent! execute "unmap <buffer> []"'
|
||||
|
||||
" Browse dialog filter on Windows (see ":help browsefilter")
|
||||
if has('gui_win32') && !exists('b:browsefilter')
|
||||
let b:browsefilter = "J Script Files (*.ijs)\t*.ijs\n"
|
||||
\ . "All Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin .= ' | unlet! b:browsefilter'
|
||||
endif
|
||||
|
||||
" Enhanced "%" matching (see ":help matchit")
|
||||
if exists('loaded_matchit') && !exists('b:match_words')
|
||||
let b:match_ignorecase = 0
|
||||
let b:match_words = '^.\{-}\<\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(\:\s*0\|def\s\+0\|define\)\>:^\s*\:\s*$:^\s*)\s*$'
|
||||
\ . ',\<\%(for\%(_\a\k*\)\=\|if\|select\|try\|whil\%(e\|st\)\)\.:\<\%(case\|catch[dt]\=\|else\%(if\)\=\|fcase\)\.:\<end\.'
|
||||
let b:undo_ftplugin .= ' | unlet! b:match_ignorecase b:match_words'
|
||||
endif
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
15
runtime/ftplugin/jproperties.vim
Normal file
15
runtime/ftplugin/jproperties.vim
Normal file
@@ -0,0 +1,15 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Java properties file
|
||||
" Maintainer: David Bürgin <676c7473@gmail.com>
|
||||
" Last Change: 2013-11-19
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal formatoptions-=t
|
||||
setlocal comments=:#,:!
|
||||
setlocal commentstring=#\ %s
|
||||
|
||||
let b:undo_ftplugin = "setl cms< com< fo<"
|
||||
@@ -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: Feb 12, 2013
|
||||
" Last Change: Oct 23, 2013
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -21,9 +21,6 @@ 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< commentstring<"
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: python
|
||||
" Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||
" Last Change: Wed, 21 Apr 2004 13:13:08 CEST
|
||||
" Last Change: 2014 Feb 09
|
||||
" Last Change By Johannes: Wed, 21 Apr 2004 13:13:08 CEST
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
let b:did_ftplugin = 1
|
||||
@@ -10,11 +11,11 @@ set cpo&vim
|
||||
|
||||
setlocal cinkeys-=0#
|
||||
setlocal indentkeys-=0#
|
||||
setlocal include=\s*\\(from\\\|import\\)
|
||||
setlocal include=^\\s*\\(from\\\|import\\)
|
||||
setlocal includeexpr=substitute(v:fname,'\\.','/','g')
|
||||
setlocal suffixesadd=.py
|
||||
setlocal comments-=:%
|
||||
setlocal commentstring=#%s
|
||||
setlocal comments=b:#,fb:-
|
||||
setlocal commentstring=#\ %s
|
||||
|
||||
setlocal omnifunc=pythoncomplete#Complete
|
||||
|
||||
@@ -25,24 +26,40 @@ nnoremap <silent> <buffer> [[ :call <SID>Python_jump('?^\(class\\|def\)')<cr>
|
||||
nnoremap <silent> <buffer> ]m :call <SID>Python_jump('/^\s*\(class\\|def\)')<cr>
|
||||
nnoremap <silent> <buffer> [m :call <SID>Python_jump('?^\s*\(class\\|def\)')<cr>
|
||||
|
||||
if exists('*<SID>Python_jump') | finish | endif
|
||||
if !exists('*<SID>Python_jump')
|
||||
fun! <SID>Python_jump(motion) range
|
||||
let cnt = v:count1
|
||||
let save = @/ " save last search pattern
|
||||
mark '
|
||||
while cnt > 0
|
||||
silent! exe a:motion
|
||||
let cnt = cnt - 1
|
||||
endwhile
|
||||
call histdel('/', -1)
|
||||
let @/ = save " restore last search pattern
|
||||
endfun
|
||||
endif
|
||||
|
||||
fun! <SID>Python_jump(motion) range
|
||||
let cnt = v:count1
|
||||
let save = @/ " save last search pattern
|
||||
mark '
|
||||
while cnt > 0
|
||||
silent! exe a:motion
|
||||
let cnt = cnt - 1
|
||||
endwhile
|
||||
call histdel('/', -1)
|
||||
let @/ = save " restore last search pattern
|
||||
endfun
|
||||
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
if has("browsefilter") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Python Files (*.py)\t*.py\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
" As suggested by PEP8.
|
||||
setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
|
||||
|
||||
" First time: try finding "pydoc".
|
||||
if !exists('g:pydoc_executable')
|
||||
if executable('pydoc')
|
||||
let g:pydoc_executable = 1
|
||||
else
|
||||
let g:pydoc_executable = 0
|
||||
endif
|
||||
endif
|
||||
" If "pydoc" was found use it for keywordprg.
|
||||
if g:pydoc_executable
|
||||
setlocal keywordprg=pydoc
|
||||
endif
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
36
runtime/ftplugin/registry.vim
Normal file
36
runtime/ftplugin/registry.vim
Normal file
@@ -0,0 +1,36 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Windows Registry export with regedit (*.reg)
|
||||
" Maintainer: Cade Forester <ahx2323@gmail.com>
|
||||
" Latest Revision: 2014-01-09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin =
|
||||
\ 'let b:browsefilter = "" | ' .
|
||||
\ 'setlocal ' .
|
||||
\ 'comments< '.
|
||||
\ 'commentstring< ' .
|
||||
\ 'formatoptions< '
|
||||
|
||||
|
||||
if has( 'gui_win32' )
|
||||
\ && !exists( 'b:browsefilter' )
|
||||
let b:browsefilter =
|
||||
\ 'registry files (*.reg)\t*.reg\n' .
|
||||
\ 'All files (*.*)\t*.*\n'
|
||||
endif
|
||||
|
||||
setlocal comments=:;
|
||||
setlocal commentstring=;\ %s
|
||||
|
||||
setlocal formatoptions-=t
|
||||
setlocal formatoptions+=croql
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -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: Feb 12, 2013
|
||||
" Last Change: Oct 23, 2013
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -22,10 +22,7 @@ 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
|
||||
|
||||
" Scheme-specific settings
|
||||
if exists("b:is_mzscheme") || exists("is_mzscheme")
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
" Plugin to update the %changelog section of RPM spec files
|
||||
" Filename: spec.vim
|
||||
" Maintainer: Gustavo Niemeyer <niemeyer@conectiva.com>
|
||||
" Last Change: 2012 Mar 07
|
||||
" Maintainer: Igor Gnatenko i.gnatenko.brain@gmail.com
|
||||
" Former Maintainer: Gustavo Niemeyer <niemeyer@conectiva.com> (until March 2014)
|
||||
" Last Change: Sun Mar 2 11:24 MSK 2014 Igor Gnatenko
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -150,6 +151,10 @@ if !exists("*s:ParseRpmVars")
|
||||
execute a:strline
|
||||
let definestr = "^[ \t]*%define[ \t]\\+" . varname . "[ \t]\\+\\(.*\\)$"
|
||||
let linenum = search(definestr, "bW")
|
||||
if (linenum == 0)
|
||||
let definestr = substitute(definestr, "%define", "%global", "")
|
||||
let linenum = search(definestr, "bW")
|
||||
endif
|
||||
if (linenum != -1)
|
||||
let ret = ret . substitute(getline(linenum), definestr, "\\1", "")
|
||||
else
|
||||
|
||||
11
runtime/ftplugin/systemverilog.vim
Normal file
11
runtime/ftplugin/systemverilog.vim
Normal file
@@ -0,0 +1,11 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: SystemVerilog
|
||||
" Maintainer: kocha <kocha.lsifrontend@gmail.com>
|
||||
" Last Change: 12-Aug-2013.
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Behaves just like Verilog
|
||||
runtime! ftplugin/verilog.vim
|
||||
@@ -6,7 +6,7 @@
|
||||
" Maintainer: Sung Pae <self@sungpae.com>
|
||||
" URL: https://github.com/guns/vim-clojure-static
|
||||
" License: Same as Vim
|
||||
" Last Change: 08 September 2013
|
||||
" Last Change: 27 March 2014
|
||||
|
||||
" TODO: Indenting after multibyte characters is broken:
|
||||
" (let [Δ (if foo
|
||||
@@ -21,7 +21,7 @@ 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<'
|
||||
let b:undo_indent = 'setlocal autoindent< smartindent< expandtab< softtabstop< shiftwidth< indentexpr< indentkeys<'
|
||||
|
||||
setlocal noautoindent nosmartindent
|
||||
setlocal softtabstop=2 shiftwidth=2 expandtab
|
||||
@@ -53,6 +53,10 @@ if exists("*searchpairpos")
|
||||
let g:clojure_align_multiline_strings = 0
|
||||
endif
|
||||
|
||||
if !exists('g:clojure_align_subforms')
|
||||
let g:clojure_align_subforms = 0
|
||||
endif
|
||||
|
||||
function! s:SynIdName()
|
||||
return synIDattr(synID(line("."), col("."), 0), "name")
|
||||
endfunction
|
||||
@@ -66,7 +70,7 @@ if exists("*searchpairpos")
|
||||
endfunction
|
||||
|
||||
function! s:IsParen()
|
||||
return s:CurrentChar() =~ '\v[\(\)\[\]\{\}]' &&
|
||||
return s:CurrentChar() =~# '\v[\(\)\[\]\{\}]' &&
|
||||
\ s:SynIdName() !~? '\vstring|regex|comment|character'
|
||||
endfunction
|
||||
|
||||
@@ -78,7 +82,7 @@ if exists("*searchpairpos")
|
||||
\ ? a:patterns
|
||||
\ : map(split(a:patterns, ','), '"^" . v:val . "$"')
|
||||
for pat in list
|
||||
if a:string =~ pat | return 1 | endif
|
||||
if a:string =~# pat | return 1 | endif
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
@@ -144,6 +148,10 @@ if exists("*searchpairpos")
|
||||
return val
|
||||
endfunction
|
||||
|
||||
function! s:StripNamespaceAndMacroChars(word)
|
||||
return substitute(a:word, "\\v%(.*/|[#'`~@^,]*)(.*)", '\1', '')
|
||||
endfunction
|
||||
|
||||
function! s:ClojureIsMethodSpecialCaseWorker(position)
|
||||
" Find the next enclosing form.
|
||||
call search('\S', 'Wb')
|
||||
@@ -163,7 +171,8 @@ if exists("*searchpairpos")
|
||||
call cursor(nextParen)
|
||||
|
||||
call search('\S', 'W')
|
||||
if g:clojure_special_indent_words =~ '\<' . s:CurrentWord() . '\>'
|
||||
let w = s:StripNamespaceAndMacroChars(s:CurrentWord())
|
||||
if g:clojure_special_indent_words =~# '\V\<' . w . '\>'
|
||||
return 1
|
||||
endif
|
||||
|
||||
@@ -269,9 +278,9 @@ if exists("*searchpairpos")
|
||||
" metacharacters.
|
||||
"
|
||||
" e.g. clojure.core/defn and #'defn should both indent like defn.
|
||||
let ww = substitute(w, "\\v%(.*/|[#'`~@^,]*)(.*)", '\1', '')
|
||||
let ww = s:StripNamespaceAndMacroChars(w)
|
||||
|
||||
if &lispwords =~ '\V\<' . ww . '\>'
|
||||
if &lispwords =~# '\V\<' . ww . '\>'
|
||||
return paren[1] + &shiftwidth - 1
|
||||
endif
|
||||
|
||||
@@ -284,7 +293,7 @@ if exists("*searchpairpos")
|
||||
call search('\v\_s', 'cW')
|
||||
call search('\v\S', 'W')
|
||||
if paren[0] < line(".")
|
||||
return paren[1] + &shiftwidth - 1
|
||||
return paren[1] + (g:clojure_align_subforms ? 0 : &shiftwidth - 1)
|
||||
endif
|
||||
|
||||
call search('\v\S', 'bW')
|
||||
@@ -303,85 +312,6 @@ else
|
||||
|
||||
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
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet! s:save_cpo
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" General: "{{{
|
||||
" File: html.vim (Vimscript #2075)
|
||||
" Author: Andy Wokula <anwoku@yahoo.de>
|
||||
" Last Change: 2013 Jun 12
|
||||
" Last Change: 2014 Jun 19
|
||||
" Rev Days: 13
|
||||
" Version: 0.9
|
||||
" Vim Version: Vim7
|
||||
@@ -30,6 +30,9 @@ let b:did_indent = 1
|
||||
setlocal indentexpr=HtmlIndent()
|
||||
setlocal indentkeys=o,O,<Return>,<>>,{,},!^F
|
||||
|
||||
" Needed for % to work when finding start of a tag.
|
||||
setlocal matchpairs+=<:>
|
||||
|
||||
let b:indent = {"lnum": -1}
|
||||
let b:undo_indent = "set inde< indk<| unlet b:indent"
|
||||
|
||||
@@ -72,7 +75,7 @@ func! HtmlIndent_CheckUserSettings() "{{{
|
||||
endfunc "}}}
|
||||
|
||||
" Init Script Vars "{{{
|
||||
let s:usestate = 1
|
||||
let s:lasttick = 0
|
||||
let s:css1indent = 0
|
||||
let s:js1indent = 0
|
||||
" not to be changed:
|
||||
@@ -150,7 +153,7 @@ func! s:CountITags(...) "{{{
|
||||
|
||||
if a:0==0
|
||||
let s:block = s:newstate.block
|
||||
let tmpline = substitute(s:curline, '<\zs\/\=\w\+\>\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
|
||||
let tmpline = substitute(s:curline, '<\zs/\=\w\+\>\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
|
||||
if s:block == 3
|
||||
let s:newstate.scripttype = s:GetScriptType(matchstr(tmpline, '\C.*<SCRIPT\>\zs[^>]*'))
|
||||
endif
|
||||
@@ -158,7 +161,7 @@ func! s:CountITags(...) "{{{
|
||||
else
|
||||
let s:block = 0 " assume starting outside of a block
|
||||
let s:countonly = 1 " don't change state
|
||||
let tmpline = substitute(s:altline, '<\zs\/\=\w\+\>\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
|
||||
let tmpline = substitute(s:altline, '<\zs/\=\w\+\>\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
|
||||
let s:countonly = 0
|
||||
endif
|
||||
endfunc "}}}
|
||||
@@ -321,6 +324,7 @@ func! s:FreshState(lnum) "{{{
|
||||
|
||||
" else within usual html
|
||||
let s:altline = tolower(getline(state.lnum))
|
||||
|
||||
" check a:lnum-1 for closing comment (we need indent from the opening line)
|
||||
let comcol = stridx(s:altline, '-->')
|
||||
if comcol >= 0
|
||||
@@ -337,11 +341,28 @@ func! s:FreshState(lnum) "{{{
|
||||
" TODO check tags that follow "-->"
|
||||
endif
|
||||
|
||||
" Check if the previous line starts with end tag.
|
||||
let swendtag = match(s:altline, '^\s*</') >= 0
|
||||
|
||||
" If previous line ended in a closing tag, line up with the opening tag.
|
||||
" Avoids aligning with continuation lines.
|
||||
" TODO: this assumes the start tag is at the start of a line.
|
||||
if !swendtag && s:altline =~ '</\w\+\s*>\s*$'
|
||||
call cursor(state.lnum, 99999)
|
||||
normal F<h
|
||||
" TODO: doesn't work for nested <br> and the like
|
||||
let slnum = searchpair('<\w\+', '', '</\w', 'bW')
|
||||
if slnum > 0
|
||||
let state.baseindent = indent(slnum)
|
||||
return state
|
||||
endif
|
||||
endif
|
||||
|
||||
" else no comments
|
||||
let state.lnum = s:FindTagStart(state.lnum)
|
||||
let s:altline = tolower(getline(state.lnum))
|
||||
call s:CountITags(1)
|
||||
let state.baseindent = indent(state.lnum) + s:nextrel * s:ShiftWidth()
|
||||
" line starts with end tag
|
||||
let swendtag = match(s:altline, '^\s*</') >= 0
|
||||
if !swendtag
|
||||
let state.baseindent += s:curind * s:ShiftWidth()
|
||||
endif
|
||||
@@ -380,6 +401,7 @@ func! s:CSSIndent() "{{{
|
||||
endif
|
||||
let minline = b:indent.blocklnr
|
||||
let pnum = s:css_prevnoncomment(v:lnum - 1, minline)
|
||||
let pnum = s:FindTagStart(pnum)
|
||||
if pnum <= minline
|
||||
" < is to catch errors
|
||||
" indent for first content line after comments
|
||||
@@ -431,6 +453,19 @@ func! s:Alien5() "{{{
|
||||
return -1
|
||||
endfunc "}}}
|
||||
|
||||
" When the "lnum" line ends in ">" find the line containing the
|
||||
" matching "<". Avoids using the indent of a continuation line.
|
||||
" Moves the cursor.
|
||||
" Return the matching line number or "lnum".
|
||||
func! s:FindTagStart(lnum) "{{{
|
||||
if getline(a:lnum) =~ '>\s*$'
|
||||
call cursor(a:lnum, 99999)
|
||||
normal! %
|
||||
return line('.')
|
||||
endif
|
||||
return a:lnum
|
||||
endfunc "}}}
|
||||
|
||||
func! HtmlIndent() "{{{
|
||||
let s:curline = tolower(getline(v:lnum))
|
||||
let indentunit = s:ShiftWidth()
|
||||
@@ -441,7 +476,7 @@ func! HtmlIndent() "{{{
|
||||
" does the line start with a closing tag?
|
||||
let swendtag = match(s:curline, '^\s*</') >= 0
|
||||
|
||||
if prevnonblank(v:lnum-1) == b:indent.lnum && s:usestate
|
||||
if prevnonblank(v:lnum-1) == b:indent.lnum && s:lasttick == b:changedtick - 1
|
||||
" use state (continue from previous line)
|
||||
else
|
||||
" start over (know nothing)
|
||||
@@ -465,14 +500,10 @@ func! HtmlIndent() "{{{
|
||||
let indent = s:Alien{b:indent.block}()
|
||||
let s:newstate.baseindent = b:indent.blocktagind + s:nextrel * indentunit
|
||||
endif
|
||||
call extend(b:indent, s:newstate, "force")
|
||||
return indent
|
||||
else
|
||||
" block continues
|
||||
" indent this line with alien method
|
||||
let indent = s:Alien{b:indent.block}()
|
||||
call extend(b:indent, s:newstate, "force")
|
||||
return indent
|
||||
endif
|
||||
else
|
||||
" not within a block - within usual html
|
||||
@@ -486,9 +517,10 @@ func! HtmlIndent() "{{{
|
||||
let indent = b:indent.baseindent
|
||||
let s:newstate.baseindent = indent + (s:curind + s:nextrel) * indentunit
|
||||
endif
|
||||
call extend(b:indent, s:newstate, "force")
|
||||
return indent
|
||||
endif
|
||||
let s:lasttick = b:changedtick
|
||||
call extend(b:indent, s:newstate, "force")
|
||||
return indent
|
||||
|
||||
endfunc "}}}
|
||||
|
||||
|
||||
@@ -1,37 +1,50 @@
|
||||
" Vim indent file
|
||||
" Language: J
|
||||
" Maintainer: David Bürgin <676c7473@gmail.com>
|
||||
" Last Change: 2013-09-21
|
||||
" URL: https://github.com/glts/vim-j
|
||||
" Last Change: 2014-04-05
|
||||
|
||||
if exists("b:did_indent")
|
||||
if exists('b:did_indent')
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentexpr=GetJIndent()
|
||||
setlocal indentkeys-=0{,0},\:,0#
|
||||
setlocal indentkeys+=0),=case.,=catch.,=catchd.,=catcht.,=do.,=else.,=elseif.,=end.,=fcase.
|
||||
setlocal indentkeys-=0{,0},:,0#
|
||||
setlocal indentkeys+=0),0<:>,=case.,=catch.,=catchd.,=catcht.,=do.,=else.,=elseif.,=end.,=fcase.
|
||||
|
||||
let b:undo_indent = "setl indk< inde<"
|
||||
let b:undo_indent = 'setlocal indentkeys< indentexpr<'
|
||||
|
||||
if exists("*GetJIndent")
|
||||
if exists('*GetJIndent')
|
||||
finish
|
||||
endif
|
||||
|
||||
function GetJIndent()
|
||||
" If g:j_indent_definitions is true, the bodies of explicit definitions of
|
||||
" adverbs, conjunctions, and verbs will be indented. Default is false (0).
|
||||
if !exists('g:j_indent_definitions')
|
||||
let g:j_indent_definitions = 0
|
||||
endif
|
||||
|
||||
function GetJIndent() abort
|
||||
let prevlnum = prevnonblank(v:lnum-1)
|
||||
if prevlnum == 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
let indent = indent(prevlnum)
|
||||
if getline(prevlnum) =~# '^\s*\%(case\|catch[dt]\=\|do\|else\%(if\)\=\|fcase\|for\%(_\a\k*\)\=\|if\|select\|try\|whil\%(e\|st\)\)\.'
|
||||
if getline(prevlnum) !~# '\<end\.'
|
||||
let indent += &shiftwidth
|
||||
endif
|
||||
let prevline = getline(prevlnum)
|
||||
if prevline =~# '^\s*\%(case\|catch[dt]\=\|do\|else\%(if\)\=\|fcase\|for\%(_\a\k*\)\=\|if\|select\|try\|whil\%(e\|st\)\)\.\%(\%(\<end\.\)\@!.\)*$'
|
||||
" Increase indentation after an initial control word that starts or
|
||||
" continues a block and is not terminated by "end."
|
||||
let indent += shiftwidth()
|
||||
elseif g:j_indent_definitions && (prevline =~# '\<\%([1-4]\|13\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\>' || prevline =~# '^\s*:\s*$')
|
||||
" Increase indentation in explicit definitions of adverbs, conjunctions,
|
||||
" and verbs
|
||||
let indent += shiftwidth()
|
||||
endif
|
||||
if getline(v:lnum) =~# '^\s*\%(case\|catch[dt]\=\|do\|else\%(if\)\=\|end\|fcase\)\.'
|
||||
let indent -= &shiftwidth
|
||||
" Decrease indentation in lines that start with either control words that
|
||||
" continue or end a block, or the special items ")" and ":"
|
||||
if getline(v:lnum) =~# '^\s*\%()\|:\|\%(case\|catch[dt]\=\|do\|else\%(if\)\=\|end\|fcase\)\.\)'
|
||||
let indent -= shiftwidth()
|
||||
endif
|
||||
return indent
|
||||
endfunction
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
" Author: John Wellesz <John.wellesz (AT) teaser (DOT) fr>
|
||||
" URL: http://www.2072productions.com/vim/indent/php.vim
|
||||
" Home: https://github.com/2072/PHP-Indenting-for-VIm
|
||||
" Last Change: 2013 August 7th
|
||||
" Version: 1.39
|
||||
" Last Change: 2014 April 3rd
|
||||
" Version: 1.49
|
||||
"
|
||||
"
|
||||
" Type :help php-indent for available options
|
||||
@@ -39,7 +39,8 @@
|
||||
"
|
||||
" or simply 'let' the option PHP_removeCRwhenUnix to 1 and the script will
|
||||
" silently remove them when VIM load this script (at each bufread).
|
||||
"
|
||||
|
||||
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
@@ -126,14 +127,26 @@ if exists("*GetPhpIndent")
|
||||
finish " XXX -- comment this line for easy dev
|
||||
endif
|
||||
|
||||
|
||||
let s:notPhpHereDoc = '\%(break\|return\|continue\|exit\|die\|else\)'
|
||||
let s:blockstart = '\%(\%(\%(}\s*\)\=else\%(\s\+\)\=\)\=if\>\|\%(}\s*\)\?else\>\|do\>\|while\>\|switch\>\|case\>\|default\>\|for\%(each\)\=\>\|declare\>\|class\>\|trait\>\|use\>\|interface\>\|abstract\>\|final\>\|try\>\|\%(}\s*\)\=catch\>\|\%(}\s*\)\=finally\>\)'
|
||||
let s:functionDecl = '\<function\>\%(\s\+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*\)\=\s*(.*'
|
||||
let s:endline= '\s*\%(//.*\|#.*\|/\*.*\*/\s*\)\=$'
|
||||
let s:terminated = '\%(\%(;\%(\s*\%(?>\|}\)\)\=\|<<<''\=\a\w*''\=$\|^\s*}\)'.s:endline.'\)\|^[^''"`]*[''"`]$'
|
||||
let s:PHP_startindenttag = '<?\%(.*?>\)\@!\|<script[^>]*>\%(.*<\/script>\)\@!'
|
||||
|
||||
|
||||
|
||||
let s:escapeDebugStops = 0
|
||||
function! DebugPrintReturn(scriptLine)
|
||||
|
||||
echo "debug:" . a:scriptLine
|
||||
call getchar()
|
||||
if ! s:escapeDebugStops
|
||||
echo "debug:" . a:scriptLine
|
||||
let c = getchar()
|
||||
if c == "\<Del>"
|
||||
let s:escapeDebugStops = 1
|
||||
end
|
||||
endif
|
||||
|
||||
endfunction
|
||||
|
||||
@@ -190,6 +203,11 @@ function! GetLastRealCodeLNum(startline) " {{{
|
||||
while getline(lnum) !~? tofind && lnum > 1
|
||||
let lnum = lnum - 1
|
||||
endwhile
|
||||
elseif lastline =~ '^[^''"`]*[''"`][;,]'.s:endline
|
||||
let tofind=substitute( lastline, '^.*\([''"`]\)[;,].*$', '^[^\1]\\+[\1]$', '')
|
||||
while getline(lnum) !~? tofind && lnum > 1
|
||||
let lnum = lnum - 1
|
||||
endwhile
|
||||
else
|
||||
break
|
||||
endif
|
||||
@@ -211,9 +229,9 @@ function! Skippmatch2()
|
||||
let line = getline(".")
|
||||
|
||||
if line =~ "\\([\"']\\).*/\\*.*\\1" || line =~ '\%(//\|#\).*/\*'
|
||||
return 1
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
return 0
|
||||
endif
|
||||
endfun
|
||||
|
||||
@@ -226,9 +244,23 @@ function! Skippmatch() " {{{
|
||||
endif
|
||||
endfun " }}}
|
||||
|
||||
function! FindOpenBracket(lnum) " {{{
|
||||
function! FindOpenBracket(lnum, blockStarter) " {{{
|
||||
call cursor(a:lnum, 1)
|
||||
return searchpair('{', '', '}', 'bW', 'Skippmatch()')
|
||||
let line = searchpair('{', '', '}', 'bW', 'Skippmatch()')
|
||||
|
||||
if a:blockStarter == 1
|
||||
while line > 1
|
||||
let linec = getline(line)
|
||||
|
||||
if linec =~ s:terminated || linec =~ '^\s*\%(' . s:blockstart . '\)\|'. s:functionDecl . s:endline
|
||||
break
|
||||
endif
|
||||
|
||||
let line = GetLastRealCodeLNum(line - 1)
|
||||
endwhile
|
||||
endif
|
||||
|
||||
return line
|
||||
endfun " }}}
|
||||
|
||||
function! FindTheIfOfAnElse (lnum, StopAfterFirstPrevElse) " {{{
|
||||
@@ -248,7 +280,7 @@ function! FindTheIfOfAnElse (lnum, StopAfterFirstPrevElse) " {{{
|
||||
endif
|
||||
|
||||
if getline(beforeelse) =~ '^\s*}'
|
||||
let beforeelse = FindOpenBracket(beforeelse)
|
||||
let beforeelse = FindOpenBracket(beforeelse, 0)
|
||||
|
||||
if getline(beforeelse) =~ '^\s*{'
|
||||
let beforeelse = GetLastRealCodeLNum(beforeelse - 1)
|
||||
@@ -285,13 +317,13 @@ function! FindTheSwitchIndent (lnum) " {{{
|
||||
return indent(1) - &sw * b:PHP_vintage_case_default_indent
|
||||
end
|
||||
|
||||
if getline(test) =~ '^\s*}'
|
||||
let test = FindOpenBracket(test)
|
||||
while getline(test) =~ '^\s*}' && test > 1
|
||||
let test = GetLastRealCodeLNum(FindOpenBracket(test, 0) - 1)
|
||||
|
||||
if getline(test) =~ '^\s*{'
|
||||
let test = GetLastRealCodeLNum(GetLastRealCodeLNum(test - 1) - 1)
|
||||
if getline(test) =~ '^\s*switch\>'
|
||||
let test = GetLastRealCodeLNum(test - 1)
|
||||
endif
|
||||
endif
|
||||
endwhile
|
||||
|
||||
if getline(test) =~# '^\s*switch\>'
|
||||
return indent(test)
|
||||
@@ -308,7 +340,7 @@ function! IslinePHP (lnum, tofind) " {{{
|
||||
let cline = getline(a:lnum)
|
||||
|
||||
if a:tofind==""
|
||||
let tofind = "^\\s*[\"']*\\s*\\zs\\S"
|
||||
let tofind = "^\\s*[\"'`]*\\s*\\zs\\S"
|
||||
else
|
||||
let tofind = a:tofind
|
||||
endif
|
||||
@@ -319,6 +351,14 @@ function! IslinePHP (lnum, tofind) " {{{
|
||||
|
||||
let synname = synIDattr(synID(a:lnum, coltotest, 0), "name")
|
||||
|
||||
if synname == 'phpStringSingle' || synname == 'phpStringDouble' || synname == 'phpBacktick'
|
||||
if cline !~ '^\s*[''"`]'
|
||||
return ""
|
||||
else
|
||||
return synname
|
||||
end
|
||||
end
|
||||
|
||||
if get(s:SynPHPMatchGroups, synname) || synname =~ '^php' || synname =~? '^javaScript'
|
||||
return synname
|
||||
else
|
||||
@@ -326,9 +366,6 @@ function! IslinePHP (lnum, tofind) " {{{
|
||||
endif
|
||||
endfunction " }}}
|
||||
|
||||
let s:notPhpHereDoc = '\%(break\|return\|continue\|exit\|die\|else\)'
|
||||
let s:blockstart = '\%(\%(\%(}\s*\)\=else\%(\s\+\)\=\)\=if\>\|else\>\|while\>\|switch\>\|case\>\|default\>\|for\%(each\)\=\>\|declare\>\|class\>\|interface\>\|abstract\>\|try\>\|catch\>\)'
|
||||
|
||||
let s:autoresetoptions = 0
|
||||
if ! s:autoresetoptions
|
||||
let s:autoresetoptions = 1
|
||||
@@ -344,7 +381,6 @@ function! ResetPhpOptions()
|
||||
setlocal formatoptions+=q
|
||||
setlocal formatoptions+=r
|
||||
setlocal formatoptions+=o
|
||||
setlocal formatoptions+=w
|
||||
setlocal formatoptions+=c
|
||||
setlocal formatoptions+=b
|
||||
endif
|
||||
@@ -443,6 +479,7 @@ function! GetPhpIndent()
|
||||
" Test if we are indenting PHP code {{{
|
||||
let lnum = prevnonblank(v:lnum - 1)
|
||||
let last_line = getline(lnum)
|
||||
let endline= s:endline
|
||||
|
||||
if b:InPHPcode_tofind!=""
|
||||
if cline =~? b:InPHPcode_tofind
|
||||
@@ -483,6 +520,9 @@ function! GetPhpIndent()
|
||||
let b:InPHPcode_and_script = 1
|
||||
endif
|
||||
|
||||
elseif last_line =~ '^[^''"`]\+[''"`]$' " a string identifier with nothing after it and no other string identifier before
|
||||
let b:InPHPcode = 0
|
||||
let b:InPHPcode_tofind = substitute( last_line, '^.*\([''"`]\).*$', '^[^\1]*\1[;,]$', '')
|
||||
elseif last_line =~? '<<<''\=\a\w*''\=$'
|
||||
let b:InPHPcode = 0
|
||||
let b:InPHPcode_tofind = substitute( last_line, '^.*<<<''\=\(\a\w*\)''\=$', '^\\s*\1;\\=$', '')
|
||||
@@ -545,7 +585,7 @@ function! GetPhpIndent()
|
||||
return 0
|
||||
endif
|
||||
|
||||
if cline =~? '^\s*\a\w*;$\|^\a\w*$' && cline !~? s:notPhpHereDoc
|
||||
if cline =~? '^\s*\a\w*;$\|^\a\w*$\|^\s*[''"`][;,]' && cline !~? s:notPhpHereDoc
|
||||
return 0
|
||||
endif " }}}
|
||||
|
||||
@@ -555,7 +595,6 @@ function! GetPhpIndent()
|
||||
|
||||
let last_line = getline(lnum)
|
||||
let ind = indent(lnum)
|
||||
let endline= s:endline
|
||||
|
||||
if ind==0 && b:PHP_default_indenting
|
||||
let ind = b:PHP_default_indenting
|
||||
@@ -567,7 +606,7 @@ function! GetPhpIndent()
|
||||
|
||||
|
||||
if cline =~ '^\s*}\%(}}\)\@!'
|
||||
let ind = indent(FindOpenBracket(v:lnum))
|
||||
let ind = indent(FindOpenBracket(v:lnum, 1))
|
||||
let b:PHP_CurrentIndentLevel = b:PHP_default_indenting
|
||||
return ind
|
||||
endif
|
||||
@@ -599,7 +638,7 @@ function! GetPhpIndent()
|
||||
|
||||
let LastLineClosed = 0
|
||||
|
||||
let terminated = '\%(;\%(\s*\%(?>\|}\)\)\=\|<<<''\=\a\w*''\=$\|^\s*}\)'.endline
|
||||
let terminated = s:terminated
|
||||
|
||||
let unstated = '\%(^\s*'.s:blockstart.'.*)\|\%(//.*\)\@<!\<e'.'lse\>\)'.endline
|
||||
|
||||
@@ -614,7 +653,7 @@ function! GetPhpIndent()
|
||||
|
||||
while last_line_num > 1
|
||||
|
||||
if previous_line =~ '^\s*\%(' . s:blockstart . '\|\%([a-zA-Z]\s*\)*function\)'
|
||||
if previous_line =~ terminated || previous_line =~ '^\s*\%(' . s:blockstart . '\)\|'. s:functionDecl . endline
|
||||
|
||||
let ind = indent(last_line_num)
|
||||
|
||||
@@ -625,7 +664,7 @@ function! GetPhpIndent()
|
||||
return ind
|
||||
endif
|
||||
|
||||
let last_line_num = last_line_num - 1
|
||||
let last_line_num = GetLastRealCodeLNum(last_line_num - 1)
|
||||
let previous_line = getline(last_line_num)
|
||||
endwhile
|
||||
|
||||
@@ -638,22 +677,29 @@ function! GetPhpIndent()
|
||||
let last_line_num = lnum
|
||||
let LastLineClosed = 1
|
||||
|
||||
let isSingleLineBlock = 0
|
||||
while 1
|
||||
if previous_line =~ '^\s*}\|;\s*}'.endline " XXX
|
||||
if ! isSingleLineBlock && previous_line =~ '^\s*}\|;\s*}'.endline " XXX
|
||||
|
||||
call cursor(last_line_num, 1)
|
||||
call search('}\|;\s*}'.endline, 'W')
|
||||
if previous_line !~ '^}'
|
||||
call search('}\|;\s*}'.endline, 'W')
|
||||
end
|
||||
let oldLastLine = last_line_num
|
||||
let last_line_num = searchpair('{', '', '}', 'bW', 'Skippmatch()')
|
||||
|
||||
if oldLastLine == last_line_num || getline(last_line_num) =~ '^\s*{'
|
||||
if getline(last_line_num) =~ '^\s*{'
|
||||
let last_line_num = GetLastRealCodeLNum(last_line_num - 1)
|
||||
elseif oldLastLine == last_line_num
|
||||
let isSingleLineBlock = 1
|
||||
continue
|
||||
endif
|
||||
|
||||
let previous_line = getline(last_line_num)
|
||||
|
||||
continue
|
||||
else
|
||||
let isSingleLineBlock = 0
|
||||
|
||||
if getline(last_line_num) =~# '^\s*else\%(if\)\=\>'
|
||||
let last_line_num = FindTheIfOfAnElse(last_line_num, 0)
|
||||
@@ -711,7 +757,12 @@ function! GetPhpIndent()
|
||||
|
||||
if last_line =~# '[{(\[]'.endline || last_line =~? '\h\w*\s*(.*,$' && AntepenultimateLine !~ '[,(]'.endline
|
||||
|
||||
if !b:PHP_BracesAtCodeLevel || last_line !~# '^\s*{'
|
||||
let dontIndent = 0
|
||||
if last_line =~ '\S\+\s*{'.endline && last_line !~ '^\s*\%(' . s:blockstart . '\)\|'. s:functionDecl . s:endline
|
||||
let dontIndent = 1
|
||||
endif
|
||||
|
||||
if !dontIndent && (!b:PHP_BracesAtCodeLevel || last_line !~# '^\s*{')
|
||||
let ind = ind + &sw
|
||||
endif
|
||||
|
||||
@@ -723,7 +774,7 @@ function! GetPhpIndent()
|
||||
|
||||
elseif last_line =~ '\S\+\s*),'.endline
|
||||
call cursor(lnum, 1)
|
||||
call search('),'.endline, 'W')
|
||||
call search('),'.endline, 'W') " line never begins with ) so no need for 'c' flag
|
||||
let openedparent = searchpair('(', '', ')', 'bW', 'Skippmatch()')
|
||||
if openedparent != lnum
|
||||
let ind = indent(openedparent)
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
" Vim indent file
|
||||
" Language: Shell Script
|
||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2010-01-06
|
||||
" Maintainer: Peter Aronoff <telemachus@arpinum.org>
|
||||
" Original Author: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2013-11-28
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
@@ -77,6 +78,8 @@ function! GetShIndent()
|
||||
let line = getline(v:lnum)
|
||||
if line =~ '^\s*\%(then\|do\|else\|elif\|fi\|done\)\>' || line =~ '^\s*}'
|
||||
let ind -= s:indent_value('default')
|
||||
elseif line =~ '^\s*esac\>' && s:is_case_empty(getline(v:lnum - 1))
|
||||
let ind -= s:indent_value('default')
|
||||
elseif line =~ '^\s*esac\>'
|
||||
let ind -= (s:is_case_label(pine, lnum) && s:is_case_ended(pine) ?
|
||||
\ 0 : s:indent_value('case-statements')) +
|
||||
@@ -154,5 +157,13 @@ function! s:is_case_ended(line)
|
||||
return s:is_case_break(a:line) || a:line =~ ';[;&]\s*\%(#.*\)\=$'
|
||||
endfunction
|
||||
|
||||
function! s:is_case_empty(line)
|
||||
if a:line =~ '^\s*$' || a:line =~ '^\s*#'
|
||||
return s:is_case_empty(getline(v:lnum - 1))
|
||||
else
|
||||
return a:line =~ '^\s*case\>'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
230
runtime/indent/systemverilog.vim
Normal file
230
runtime/indent/systemverilog.vim
Normal file
@@ -0,0 +1,230 @@
|
||||
" Vim indent file
|
||||
" Language: SystemVerilog
|
||||
" Maintainer: kocha <kocha.lsifrontend@gmail.com>
|
||||
" Last Change: 12-Aug-2013.
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentexpr=SystemVerilogIndent()
|
||||
setlocal indentkeys=!^F,o,O,0),0},=begin,=end,=join,=endcase,=join_any,=join_none
|
||||
setlocal indentkeys+==endmodule,=endfunction,=endtask,=endspecify
|
||||
setlocal indentkeys+==endclass,=endpackage,=endsequence,=endclocking
|
||||
setlocal indentkeys+==endinterface,=endgroup,=endprogram,=endproperty,=endchecker
|
||||
setlocal indentkeys+==`else,=`endif
|
||||
|
||||
" Only define the function once.
|
||||
if exists("*SystemVerilogIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function SystemVerilogIndent()
|
||||
|
||||
if exists('b:systemverilog_indent_width')
|
||||
let offset = b:systemverilog_indent_width
|
||||
else
|
||||
let offset = &sw
|
||||
endif
|
||||
if exists('b:systemverilog_indent_modules')
|
||||
let indent_modules = offset
|
||||
else
|
||||
let indent_modules = 0
|
||||
endif
|
||||
|
||||
" Find a non-blank line above the current line.
|
||||
let lnum = prevnonblank(v:lnum - 1)
|
||||
|
||||
" At the start of the file use zero indent.
|
||||
if lnum == 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
let lnum2 = prevnonblank(lnum - 1)
|
||||
let curr_line = getline(v:lnum)
|
||||
let last_line = getline(lnum)
|
||||
let last_line2 = getline(lnum2)
|
||||
let ind = indent(lnum)
|
||||
let ind2 = indent(lnum - 1)
|
||||
let offset_comment1 = 1
|
||||
" Define the condition of an open statement
|
||||
" Exclude the match of //, /* or */
|
||||
let sv_openstat = '\(\<or\>\|\([*/]\)\@<![*(,{><+-/%^&|!=?:]\([*/]\)\@!\)'
|
||||
" Define the condition when the statement ends with a one-line comment
|
||||
let sv_comment = '\(//.*\|/\*.*\*/\s*\)'
|
||||
if exists('b:verilog_indent_verbose')
|
||||
let vverb_str = 'INDENT VERBOSE:'
|
||||
let vverb = 1
|
||||
else
|
||||
let vverb = 0
|
||||
endif
|
||||
|
||||
" Indent accoding to last line
|
||||
" End of multiple-line comment
|
||||
if last_line =~ '\*/\s*$' && last_line !~ '/\*.\{-}\*/'
|
||||
let ind = ind - offset_comment1
|
||||
if vverb
|
||||
echo vverb_str "De-indent after a multiple-line comment."
|
||||
endif
|
||||
|
||||
" Indent after if/else/for/case/always/initial/specify/fork blocks
|
||||
elseif last_line =~ '`\@<!\<\(if\|else\)\>' ||
|
||||
\ last_line =~ '^\s*\<\(for\|case\%[[zx]]\|do\|foreach\|randcase\)\>' ||
|
||||
\ last_line =~ '^\s*\<\(always\|always_comb\|always_ff\|always_latch\)\>' ||
|
||||
\ last_line =~ '^\s*\<\(initial\|specify\|fork\|final\)\>'
|
||||
if last_line !~ '\(;\|\<end\>\)\s*' . sv_comment . '*$' ||
|
||||
\ last_line =~ '\(//\|/\*\).*\(;\|\<end\>\)\s*' . sv_comment . '*$'
|
||||
let ind = ind + offset
|
||||
if vverb | echo vverb_str "Indent after a block statement." | endif
|
||||
endif
|
||||
" Indent after function/task/class/package/sequence/clocking/
|
||||
" interface/covergroup/property/checkerprogram blocks
|
||||
elseif last_line =~ '^\s*\<\(function\|task\|class\|package\)\>' ||
|
||||
\ last_line =~ '^\s*\<\(sequence\|clocking\|interface\)\>' ||
|
||||
\ last_line =~ '^\s*\(\w\+\s*:\)\=\s*\<covergroup\>' ||
|
||||
\ last_line =~ '^\s*\<\(property\|checker\|program\)\>'
|
||||
if last_line !~ '\<end\>\s*' . sv_comment . '*$' ||
|
||||
\ last_line =~ '\(//\|/\*\).*\(;\|\<end\>\)\s*' . sv_comment . '*$'
|
||||
let ind = ind + offset
|
||||
if vverb
|
||||
echo vverb_str "Indent after function/task/class block statement."
|
||||
endif
|
||||
endif
|
||||
|
||||
" Indent after module/function/task/specify/fork blocks
|
||||
elseif last_line =~ '^\s*\(\<extern\>\s*\)\=\<module\>'
|
||||
let ind = ind + indent_modules
|
||||
if vverb && indent_modules
|
||||
echo vverb_str "Indent after module statement."
|
||||
endif
|
||||
if last_line =~ '[(,]\s*' . sv_comment . '*$' &&
|
||||
\ last_line !~ '\(//\|/\*\).*[(,]\s*' . sv_comment . '*$'
|
||||
let ind = ind + offset
|
||||
if vverb
|
||||
echo vverb_str "Indent after a multiple-line module statement."
|
||||
endif
|
||||
endif
|
||||
|
||||
" Indent after a 'begin' statement
|
||||
elseif last_line =~ '\(\<begin\>\)\(\s*:\s*\w\+\)*' . sv_comment . '*$' &&
|
||||
\ last_line !~ '\(//\|/\*\).*\(\<begin\>\)' &&
|
||||
\ ( last_line2 !~ sv_openstat . '\s*' . sv_comment . '*$' ||
|
||||
\ last_line2 =~ '^\s*[^=!]\+\s*:\s*' . sv_comment . '*$' )
|
||||
let ind = ind + offset
|
||||
if vverb | echo vverb_str "Indent after begin statement." | endif
|
||||
|
||||
" Indent after a '{' or a '('
|
||||
elseif last_line =~ '[{(]' . sv_comment . '*$' &&
|
||||
\ last_line !~ '\(//\|/\*\).*[{(]' &&
|
||||
\ ( last_line2 !~ sv_openstat . '\s*' . sv_comment . '*$' ||
|
||||
\ last_line2 =~ '^\s*[^=!]\+\s*:\s*' . sv_comment . '*$' )
|
||||
let ind = ind + offset
|
||||
if vverb | echo vverb_str "Indent after begin statement." | endif
|
||||
|
||||
" De-indent for the end of one-line block
|
||||
elseif ( last_line !~ '\<begin\>' ||
|
||||
\ last_line =~ '\(//\|/\*\).*\<begin\>' ) &&
|
||||
\ last_line2 =~ '\<\(`\@<!if\|`\@<!else\|for\|always\|initial\|do\|foreach\|final\)\>.*' .
|
||||
\ sv_comment . '*$' &&
|
||||
\ last_line2 !~ '\(//\|/\*\).*\<\(`\@<!if\|`\@<!else\|for\|always\|initial\|do\|foreach\|final\)\>' &&
|
||||
\ last_line2 !~ sv_openstat . '\s*' . sv_comment . '*$' &&
|
||||
\ ( last_line2 !~ '\<begin\>' ||
|
||||
\ last_line2 =~ '\(//\|/\*\).*\<begin\>' )
|
||||
let ind = ind - offset
|
||||
if vverb
|
||||
echo vverb_str "De-indent after the end of one-line statement."
|
||||
endif
|
||||
|
||||
" Multiple-line statement (including case statement)
|
||||
" Open statement
|
||||
" Ident the first open line
|
||||
elseif last_line =~ sv_openstat . '\s*' . sv_comment . '*$' &&
|
||||
\ last_line !~ '\(//\|/\*\).*' . sv_openstat . '\s*$' &&
|
||||
\ last_line2 !~ sv_openstat . '\s*' . sv_comment . '*$'
|
||||
let ind = ind + offset
|
||||
if vverb | echo vverb_str "Indent after an open statement." | endif
|
||||
|
||||
" Close statement
|
||||
" De-indent for an optional close parenthesis and a semicolon, and only
|
||||
" if there exists precedent non-whitespace char
|
||||
elseif last_line =~ ')*\s*;\s*' . sv_comment . '*$' &&
|
||||
\ last_line !~ '^\s*)*\s*;\s*' . sv_comment . '*$' &&
|
||||
\ last_line !~ '\(//\|/\*\).*\S)*\s*;\s*' . sv_comment . '*$' &&
|
||||
\ ( last_line2 =~ sv_openstat . '\s*' . sv_comment . '*$' &&
|
||||
\ last_line2 !~ ';\s*//.*$') &&
|
||||
\ last_line2 !~ '^\s*' . sv_comment . '$'
|
||||
let ind = ind - offset
|
||||
if vverb | echo vverb_str "De-indent after a close statement." | endif
|
||||
|
||||
" `ifdef and `else
|
||||
elseif last_line =~ '^\s*`\<\(ifdef\|else\)\>'
|
||||
let ind = ind + offset
|
||||
if vverb
|
||||
echo vverb_str "Indent after a `ifdef or `else statement."
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
" Re-indent current line
|
||||
|
||||
" De-indent on the end of the block
|
||||
" join/end/endcase/endfunction/endtask/endspecify
|
||||
if curr_line =~ '^\s*\<\(join\|join_any\|join_none\|\|end\|endcase\|while\)\>' ||
|
||||
\ curr_line =~ '^\s*\<\(endfunction\|endtask\|endspecify\|endclass\)\>' ||
|
||||
\ curr_line =~ '^\s*\<\(endpackage\|endsequence\|endclocking\|endinterface\)\>' ||
|
||||
\ curr_line =~ '^\s*\<\(endgroup\|endproperty\|endchecker\|endprogram\)\>' ||
|
||||
\ curr_line =~ '^\s*}'
|
||||
let ind = ind - offset
|
||||
if vverb | echo vverb_str "De-indent the end of a block." | endif
|
||||
elseif curr_line =~ '^\s*\<endmodule\>'
|
||||
let ind = ind - indent_modules
|
||||
if vverb && indent_modules
|
||||
echo vverb_str "De-indent the end of a module."
|
||||
endif
|
||||
|
||||
" De-indent on a stand-alone 'begin'
|
||||
elseif curr_line =~ '^\s*\<begin\>'
|
||||
if last_line !~ '^\s*\<\(function\|task\|specify\|module\|class\|package\)\>' ||
|
||||
\ last_line !~ '^\s*\<\(sequence\|clocking\|interface\|covergroup\)\>' ||
|
||||
\ last_line !~ '^\s*\<\(property\|checker\|program\)\>' &&
|
||||
\ last_line !~ '^\s*\()*\s*;\|)\+\)\s*' . sv_comment . '*$' &&
|
||||
\ ( last_line =~
|
||||
\ '\<\(`\@<!if\|`\@<!else\|for\|case\%[[zx]]\|always\|initial\|do\|foreach\|randcase\|final\)\>' ||
|
||||
\ last_line =~ ')\s*' . sv_comment . '*$' ||
|
||||
\ last_line =~ sv_openstat . '\s*' . sv_comment . '*$' )
|
||||
let ind = ind - offset
|
||||
if vverb
|
||||
echo vverb_str "De-indent a stand alone begin statement."
|
||||
endif
|
||||
endif
|
||||
|
||||
" De-indent after the end of multiple-line statement
|
||||
elseif curr_line =~ '^\s*)' &&
|
||||
\ ( last_line =~ sv_openstat . '\s*' . sv_comment . '*$' ||
|
||||
\ last_line !~ sv_openstat . '\s*' . sv_comment . '*$' &&
|
||||
\ last_line2 =~ sv_openstat . '\s*' . sv_comment . '*$' )
|
||||
let ind = ind - offset
|
||||
if vverb
|
||||
echo vverb_str "De-indent the end of a multiple statement."
|
||||
endif
|
||||
|
||||
" De-indent `else and `endif
|
||||
elseif curr_line =~ '^\s*`\<\(else\|endif\)\>'
|
||||
let ind = ind - offset
|
||||
if vverb | echo vverb_str "De-indent `else and `endif statement." | endif
|
||||
|
||||
endif
|
||||
|
||||
" Return the indention
|
||||
return ind
|
||||
endfunction
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim:sw=2
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim script to work like "less"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2012 May 18
|
||||
" Last Change: 2014 May 13
|
||||
|
||||
" Avoid loading this file twice, allow the user to define his own script.
|
||||
if exists("loaded_less")
|
||||
@@ -87,6 +87,9 @@ noremap <script> <Space> :call <SID>NextPage()<CR><SID>L
|
||||
map <C-V> <Space>
|
||||
map f <Space>
|
||||
map <C-F> <Space>
|
||||
map <PageDown> <Space>
|
||||
map <kPageDown> <Space>
|
||||
map <S-Down> <Space>
|
||||
map z <Space>
|
||||
map <Esc><Space> <Space>
|
||||
fun! s:NextPage()
|
||||
@@ -116,10 +119,14 @@ map e <CR>
|
||||
map <C-E> <CR>
|
||||
map j <CR>
|
||||
map <C-J> <CR>
|
||||
map <Down> <CR>
|
||||
|
||||
" Scroll one page backward
|
||||
noremap <script> b <C-B><SID>L
|
||||
map <C-B> b
|
||||
map <PageUp> b
|
||||
map <kPageUp> b
|
||||
map <S-Up> b
|
||||
map w b
|
||||
map <Esc>v b
|
||||
|
||||
@@ -133,6 +140,7 @@ map y k
|
||||
map <C-Y> k
|
||||
map <C-P> k
|
||||
map <C-K> k
|
||||
map <Up> k
|
||||
|
||||
" Redraw
|
||||
noremap <script> r <C-L><SID>L
|
||||
@@ -143,11 +151,15 @@ noremap <script> R <C-L><SID>L
|
||||
noremap <script> g gg<SID>L
|
||||
map < g
|
||||
map <Esc>< g
|
||||
map <Home> g
|
||||
map <kHome> g
|
||||
|
||||
" End of file
|
||||
noremap <script> G G<SID>L
|
||||
map > G
|
||||
map <Esc>> G
|
||||
map <End> G
|
||||
map <kEnd> G
|
||||
|
||||
" Go to percentage
|
||||
noremap <script> % %<SID>L
|
||||
@@ -184,6 +196,7 @@ fun! s:Backward()
|
||||
endfun
|
||||
|
||||
call s:Forward()
|
||||
cunmap <CR>
|
||||
|
||||
" Quitting
|
||||
noremap q :q<CR>
|
||||
@@ -240,6 +253,18 @@ fun! s:End()
|
||||
unmap v
|
||||
unmap /
|
||||
unmap ?
|
||||
unmap <Up>
|
||||
unmap <Down>
|
||||
unmap <PageDown>
|
||||
unmap <kPageDown>
|
||||
unmap <PageUp>
|
||||
unmap <kPageUp>
|
||||
unmap <S-Down>
|
||||
unmap <S-Up>
|
||||
unmap <Home>
|
||||
unmap <kHome>
|
||||
unmap <End>
|
||||
unmap <kEnd>
|
||||
endfun
|
||||
|
||||
" vim: sw=2
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" You can also use this as a start for your own set of menus.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2013 May 17
|
||||
" Last Change: 2014 May 22
|
||||
|
||||
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
|
||||
" in all modes and avoid side effects from mappings defined by the user.
|
||||
@@ -477,6 +477,7 @@ if has("folding")
|
||||
an 40.340.110 &Tools.&Folding.&Enable/Disable\ folds<Tab>zi zi
|
||||
an 40.340.120 &Tools.&Folding.&View\ Cursor\ Line<Tab>zv zv
|
||||
an 40.340.120 &Tools.&Folding.Vie&w\ Cursor\ Line\ only<Tab>zMzx zMzx
|
||||
inoremenu 40.340.120 &Tools.&Folding.Vie&w\ Cursor\ Line\ only<Tab>zMzx <C-O>zM<C-O>zx
|
||||
an 40.340.130 &Tools.&Folding.C&lose\ more\ folds<Tab>zm zm
|
||||
an 40.340.140 &Tools.&Folding.&Close\ all\ folds<Tab>zM zM
|
||||
an 40.340.150 &Tools.&Folding.O&pen\ more\ folds<Tab>zr zr
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" These commands create the option window.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2013 Jun 29
|
||||
" Last Change: 2014 Apr 01
|
||||
|
||||
" If there already is an option window, jump to that one.
|
||||
if bufwinnr("option-window") > 0
|
||||
@@ -324,6 +324,12 @@ call <SID>BinOptionG("wrap", &wrap)
|
||||
call append("$", "linebreak\twrap long lines at a character in 'breakat'")
|
||||
call append("$", "\t(local to window)")
|
||||
call <SID>BinOptionL("lbr")
|
||||
call append("$", "breakindent\tpreserve indentation in wrapped text")
|
||||
call append("$", "\t(local to window)")
|
||||
call <SID>BinOptionL("bri")
|
||||
call append("$", "breakindentopt\tadjust breakindent behaviour")
|
||||
call append("$", "\t(local to window)")
|
||||
call <SID>OptionL("briopt")
|
||||
call append("$", "breakat\twhich characters might cause a line break")
|
||||
call <SID>OptionG("brk", &brk)
|
||||
call append("$", "showbreak\tstring to put before wrapped screen lines")
|
||||
@@ -855,7 +861,7 @@ if has("lispindent")
|
||||
call append("$", "\t(local to buffer)")
|
||||
call <SID>BinOptionL("lisp")
|
||||
call append("$", "lispwords\twords that change how lisp indenting works")
|
||||
call <SID>OptionG("lw", &lw)
|
||||
call <SID>OptionL("lw")
|
||||
endif
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" ---------------------------------------------------------------------
|
||||
" getscriptPlugin.vim
|
||||
" Author: Charles E. Campbell
|
||||
" Date: Jan 07, 2008
|
||||
" Date: Nov 29, 2013
|
||||
" Installing: :help glvs-install
|
||||
" Usage: :help glvs
|
||||
"
|
||||
@@ -13,13 +13,16 @@
|
||||
" Initialization: {{{1
|
||||
" if you're sourcing this file, surely you can't be
|
||||
" expecting vim to be in its vi-compatible mode
|
||||
if &cp || exists("g:loaded_getscriptPlugin")
|
||||
if exists("g:loaded_getscriptPlugin")
|
||||
finish
|
||||
endif
|
||||
if &cp
|
||||
if &verbose
|
||||
echo "GetLatestVimScripts is not vi-compatible; not loaded (you need to set nocp)"
|
||||
endif
|
||||
finish
|
||||
endif
|
||||
let g:loaded_getscriptPlugin = "v35"
|
||||
let g:loaded_getscriptPlugin = "v36"
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim plugin for showing matching parens
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2013 May 08
|
||||
" Last Change: 2014 Jun 17
|
||||
|
||||
" Exit quickly when:
|
||||
" - this plugin was already loaded (or disabled)
|
||||
@@ -39,7 +39,7 @@ set cpo-=C
|
||||
function! s:Highlight_Matching_Pair()
|
||||
" Remove any previous match.
|
||||
if exists('w:paren_hl_on') && w:paren_hl_on
|
||||
3match none
|
||||
silent! call matchdelete(3)
|
||||
let w:paren_hl_on = 0
|
||||
endif
|
||||
|
||||
@@ -152,14 +152,18 @@ function! s:Highlight_Matching_Pair()
|
||||
|
||||
" If a match is found setup match highlighting.
|
||||
if m_lnum > 0 && m_lnum >= stoplinetop && m_lnum <= stoplinebottom
|
||||
exe '3match MatchParen /\(\%' . c_lnum . 'l\%' . (c_col - before) .
|
||||
\ 'c\)\|\(\%' . m_lnum . 'l\%' . m_col . 'c\)/'
|
||||
if exists('*matchaddpos')
|
||||
call matchaddpos('MatchParen', [[c_lnum, c_col - before], [m_lnum, m_col]], 10, 3)
|
||||
else
|
||||
exe '3match MatchParen /\(\%' . c_lnum . 'l\%' . (c_col - before) .
|
||||
\ 'c\)\|\(\%' . m_lnum . 'l\%' . m_col . 'c\)/'
|
||||
endif
|
||||
let w:paren_hl_on = 1
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Define commands that will disable and enable the plugin.
|
||||
command! NoMatchParen windo 3match none | unlet! g:loaded_matchparen |
|
||||
command! NoMatchParen windo silent! call matchdelete(3) | unlet! g:loaded_matchparen |
|
||||
\ au! matchparen
|
||||
command! DoMatchParen runtime plugin/matchparen.vim | windo doau CursorMoved
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
" netrwPlugin.vim: Handles file transfer and remote directory listing across a network
|
||||
" PLUGIN SECTION
|
||||
" Date: Apr 30, 2013
|
||||
" Date: Jan 22, 2014
|
||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
|
||||
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1
|
||||
" Copyright: Copyright (C) 1999-2013 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
" notice is copied with it. Like anything else that's free,
|
||||
@@ -20,27 +20,34 @@
|
||||
if &cp || exists("g:loaded_netrwPlugin")
|
||||
finish
|
||||
endif
|
||||
"DechoTabOn
|
||||
let g:loaded_netrwPlugin = "v149"
|
||||
let g:loaded_netrwPlugin = "v152"
|
||||
if v:version < 702
|
||||
echohl WarningMsg | echo "***netrw*** you need vim version 7.2 for this version of netrw" | echohl None
|
||||
echohl WarningMsg
|
||||
echo "***warning*** you need vim version 7.2 for this version of netrw"
|
||||
echohl None
|
||||
finish
|
||||
endif
|
||||
if v:version < 703 || (v:version == 703 && !has("patch465"))
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of netrw needs vim 7.3.465 or later"
|
||||
echohl Normal
|
||||
finish
|
||||
endif
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
"DechoTabOn
|
||||
"DechoRemOn
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Public Interface: {{{1
|
||||
|
||||
" Local Browsing: {{{2
|
||||
" Local Browsing Autocmds: {{{2
|
||||
augroup FileExplorer
|
||||
au!
|
||||
" SEE Benzinger problem...
|
||||
au BufEnter * sil! call s:LocalBrowse(expand("<amatch>"))
|
||||
au VimEnter * sil! call s:VimEnter(expand("<amatch>"))
|
||||
au BufLeave * if &ft != "netrw"|let w:netrw_prvfile= expand("%:p")|endif
|
||||
au BufEnter * sil call s:LocalBrowse(expand("<amatch>"))
|
||||
au VimEnter * sil call s:VimEnter(expand("<amatch>"))
|
||||
if has("win32") || has("win95") || has("win64") || has("win16")
|
||||
au BufEnter .* sil! call s:LocalBrowse(expand("<amatch>"))
|
||||
au BufEnter .* sil call s:LocalBrowse(expand("<amatch>"))
|
||||
endif
|
||||
augroup END
|
||||
|
||||
@@ -50,8 +57,8 @@ augroup Network
|
||||
au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
|
||||
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "sil doau BufReadPost ".fnameescape(expand("<amatch>"))
|
||||
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>"))
|
||||
au BufWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>"))
|
||||
au FileWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>"))
|
||||
au BufWriteCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>"))
|
||||
au FileWriteCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>"))
|
||||
try
|
||||
au SourceCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
|
||||
catch /^Vim\%((\a\+)\)\=:E216/
|
||||
@@ -60,12 +67,13 @@ augroup Network
|
||||
augroup END
|
||||
|
||||
" Commands: :Nread, :Nwrite, :NetUserPass {{{2
|
||||
com! -count=1 -nargs=* Nread call netrw#NetrwSavePosn()<bar>call netrw#NetRead(<count>,<f-args>)<bar>call netrw#NetrwRestorePosn()
|
||||
com! -range=% -nargs=* Nwrite call netrw#NetrwSavePosn()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call netrw#NetrwRestorePosn()
|
||||
com! -count=1 -nargs=* Nread call netrw#SavePosn()<bar>call netrw#NetRead(<count>,<f-args>)<bar>call netrw#RestorePosn()
|
||||
com! -range=% -nargs=* Nwrite call netrw#SavePosn()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call netrw#RestorePosn()
|
||||
com! -nargs=* NetUserPass call NetUserPass(<f-args>)
|
||||
com! -nargs=* Nsource call netrw#NetrwSavePosn()<bar>call netrw#NetSource(<f-args>)<bar>call netrw#NetrwRestorePosn()
|
||||
com! -nargs=* Nsource call netrw#SavePosn()<bar>call netrw#NetSource(<f-args>)<bar>call netrw#RestorePosn()
|
||||
com! -nargs=? Ntree call netrw#SetTreetop(<q-args>)
|
||||
|
||||
" Commands: :Explore, :Sexplore, Hexplore, Vexplore {{{2
|
||||
" Commands: :Explore, :Sexplore, Hexplore, Vexplore, Lexplore {{{2
|
||||
com! -nargs=* -bar -bang -count=0 -complete=dir Explore call netrw#Explore(<count>,0,0+<bang>0,<q-args>)
|
||||
com! -nargs=* -bar -bang -count=0 -complete=dir Sexplore call netrw#Explore(<count>,1,0+<bang>0,<q-args>)
|
||||
com! -nargs=* -bar -bang -count=0 -complete=dir Hexplore call netrw#Explore(<count>,1,2+<bang>0,<q-args>)
|
||||
@@ -73,56 +81,79 @@ com! -nargs=* -bar -bang -count=0 -complete=dir Vexplore call netrw#Explore(<cou
|
||||
com! -nargs=* -bar -count=0 -complete=dir Texplore call netrw#Explore(<count>,0,6 ,<q-args>)
|
||||
com! -nargs=* -bar -bang Nexplore call netrw#Explore(-1,0,0,<q-args>)
|
||||
com! -nargs=* -bar -bang Pexplore call netrw#Explore(-2,0,0,<q-args>)
|
||||
com! -nargs=* -bar -complete=dir Lexplore call netrw#Lexplore(<q-args>)
|
||||
|
||||
" Commands: NetrwSettings {{{2
|
||||
com! -nargs=0 NetrwSettings call netrwSettings#NetrwSettings()
|
||||
com! -bang NetrwClean call netrw#NetrwClean(<bang>0)
|
||||
com! -bang NetrwClean call netrw#Clean(<bang>0)
|
||||
|
||||
" Maps:
|
||||
if !exists("g:netrw_nogx") && maparg('gx','n') == ""
|
||||
if !hasmapto('<Plug>NetrwBrowseX')
|
||||
nmap <unique> gx <Plug>NetrwBrowseX
|
||||
endif
|
||||
nno <silent> <Plug>NetrwBrowseX :call netrw#NetrwBrowseX(expand("<cWORD>"),0)<cr>
|
||||
nno <silent> <Plug>NetrwBrowseX :call netrw#NetrwBrowseX(expand("<cfile>"),0)<cr>
|
||||
endif
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" LocalBrowse: {{{2
|
||||
" LocalBrowse: invokes netrw#LocalBrowseCheck() on directory buffers {{{2
|
||||
fun! s:LocalBrowse(dirname)
|
||||
" unfortunate interaction -- debugging calls can't be used here;
|
||||
" the BufEnter event causes triggering when attempts to write to
|
||||
" Unfortunate interaction -- only DechoMsg debugging calls can be safely used here.
|
||||
" Otherwise, the BufEnter event gets triggered when attempts to write to
|
||||
" the DBG buffer are made.
|
||||
|
||||
if !exists("s:vimentered")
|
||||
" If s:vimentered doesn't exist, then the VimEnter event hasn't fired. It will,
|
||||
" and so s:VimEnter() will then be calling this routine, but this time with s:vimentered defined.
|
||||
" call Dfunc("s:LocalBrowse(dirname<".a:dirname.">) (s:vimentered doesn't exist)")
|
||||
" call Dret("s:LocalBrowse")
|
||||
return
|
||||
endif
|
||||
" call Decho("s:LocalBrowse(dirname<".a:dirname.">){")
|
||||
" echomsg "dirname<".a:dirname.">"
|
||||
|
||||
" call Dfunc("s:LocalBrowse(dirname<".a:dirname.">) (s:vimentered=".s:vimentered.")")
|
||||
|
||||
if has("amiga")
|
||||
" The check against '' is made for the Amiga, where the empty
|
||||
" string is the current directory and not checking would break
|
||||
" things such as the help command.
|
||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> (amiga)")
|
||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> (isdirectory, amiga)")
|
||||
if a:dirname != '' && isdirectory(a:dirname)
|
||||
sil! call netrw#LocalBrowseCheck(a:dirname)
|
||||
if exists("w:netrw_bannercnt")
|
||||
exe w:netrw_bannercnt
|
||||
endif
|
||||
endif
|
||||
|
||||
elseif isdirectory(a:dirname)
|
||||
" echomsg "dirname<".dirname."> isdir"
|
||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> (not amiga)")
|
||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> ft=".&ft." (isdirectory, not amiga)")
|
||||
" call Dredir("LocalBrowse ft last set: ","verbose set ft")
|
||||
sil! call netrw#LocalBrowseCheck(a:dirname)
|
||||
if exists("w:netrw_bannercnt")
|
||||
exe w:netrw_bannercnt
|
||||
endif
|
||||
|
||||
else
|
||||
" not a directory, ignore it
|
||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> not a directory, ignoring...")
|
||||
endif
|
||||
" not a directory, ignore it
|
||||
" call Decho("|return s:LocalBrowse }")
|
||||
|
||||
" call Dret("s:LocalBrowse")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:VimEnter: {{{2
|
||||
" s:VimEnter: after all vim startup stuff is done, this function is called. {{{2
|
||||
" Its purpose: to look over all windows and run s:LocalBrowse() on
|
||||
" them, which checks if they're directories and will create a directory
|
||||
" listing when appropriate.
|
||||
" It also sets s:vimentered, letting s:LocalBrowse() know that s:VimEnter()
|
||||
" has already been called.
|
||||
fun! s:VimEnter(dirname)
|
||||
" call Decho("VimEnter(dirname<".a:dirname.">){")
|
||||
" call Dfunc("s:VimEnter(dirname<".a:dirname.">) expand(%)<".expand("%").">")
|
||||
let curwin = winnr()
|
||||
let s:vimentered = 1
|
||||
windo if a:dirname != expand("%")|call s:LocalBrowse(expand("%:p"))|endif
|
||||
windo call s:LocalBrowse(expand("%:p"))
|
||||
exe curwin."wincmd w"
|
||||
" call Decho("|return VimEnter }")
|
||||
" call Dret("s:VimEnter")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: xa 6502 cross assembler
|
||||
" Maintainer: Clemens Kirchgatterer <clemens@thf.ath.cx>
|
||||
" Last Change: 2003 May 03
|
||||
" Maintainer: Clemens Kirchgatterer <clemens@1541.org>
|
||||
" Last Change: 2014 Jan 05
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
|
||||
" License: This file can be redistribued and/or modified under the same terms
|
||||
" as Vim itself.
|
||||
" Last Change: 2013-09-16
|
||||
" Last Change: 2014-03-04
|
||||
" Notes: Last synced with apache-2.2.3, version 1.x is no longer supported
|
||||
" TODO: see particular FIXME's scattered through the file
|
||||
" make it really linewise?
|
||||
@@ -157,7 +157,7 @@ syn keyword apacheDeclaration PerlRestartHandler PerlDispatchHandler
|
||||
syn keyword apacheDeclaration PerlFreshRestart PerlSendHeader
|
||||
syn keyword apacheDeclaration php_value php_flag php_admin_value php_admin_flag
|
||||
syn match apacheSection "<\/\=\(Proxy\|ProxyMatch\)[^>]*>" contains=apacheAnything
|
||||
syn keyword apacheDeclaration AllowCONNECT NoProxy ProxyBadHeader ProxyBlock ProxyDomain ProxyErrorOverride ProxyIOBufferSize ProxyMaxForwards ProxyPass ProxyPassReverse ProxyPassReverseCookieDomain ProxyPassReverseCookiePath ProxyPreserveHost ProxyReceiveBufferSize ProxyRemote ProxyRemoteMatch ProxyRequests ProxyTimeout ProxyVia
|
||||
syn keyword apacheDeclaration AllowCONNECT NoProxy ProxyBadHeader ProxyBlock ProxyDomain ProxyErrorOverride ProxyIOBufferSize ProxyMaxForwards ProxyPass ProxyPassMatch ProxyPassReverse ProxyPassReverseCookieDomain ProxyPassReverseCookiePath ProxyPreserveHost ProxyReceiveBufferSize ProxyRemote ProxyRemoteMatch ProxyRequests ProxyTimeout ProxyVia
|
||||
syn keyword apacheDeclaration RewriteBase RewriteCond RewriteEngine RewriteLock RewriteLog RewriteLogLevel RewriteMap RewriteOptions RewriteRule
|
||||
syn keyword apacheOption inherit
|
||||
syn keyword apacheDeclaration BrowserMatch BrowserMatchNoCase SetEnvIf SetEnvIfNoCase
|
||||
|
||||
61
runtime/syntax/arduino.vim
Normal file
61
runtime/syntax/arduino.vim
Normal file
@@ -0,0 +1,61 @@
|
||||
" Vim syntax file
|
||||
" Language: Arduino
|
||||
" Maintainer: Johannes Hoff <johannes@johanneshoff.com>
|
||||
" Last Change: 2011 June 3
|
||||
" License: VIM license (:help license, replace vim by arduino.vim)
|
||||
|
||||
" Syntax highlighting like in the Arduino IDE
|
||||
" Keywords extracted from <arduino>/build/shared/lib/keywords.txt (arduino
|
||||
" version 0021)
|
||||
|
||||
" Thanks to Rik, Erik Nomitch, Adam Obeng and Graeme Cross for helpful feedback!
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Read the C syntax to start with
|
||||
if version < 600
|
||||
so <sfile>:p:h/cpp.vim
|
||||
else
|
||||
runtime! syntax/cpp.vim
|
||||
endif
|
||||
|
||||
syn keyword arduinoConstant HIGH LOW INPUT OUTPUT
|
||||
syn keyword arduinoConstant DEC BIN HEX OCT BYTE
|
||||
syn keyword arduinoConstant PI HALF_PI TWO_PI
|
||||
syn keyword arduinoConstant LSBFIRST MSBFIRST
|
||||
syn keyword arduinoConstant CHANGE FALLING RISING
|
||||
syn keyword arduinoConstant SERIAL DISPLAY
|
||||
syn keyword arduinoConstant DEFAULT EXTERNAL INTERNAL INTERNAL1V1 INTERNAL2V56
|
||||
|
||||
syn keyword arduinoStdFunc abs acos asin atan atan2 ceil constrain
|
||||
syn keyword arduinoStdFunc cos degrees exp floor log
|
||||
syn keyword arduinoStdFunc map max min pow radians
|
||||
syn keyword arduinoStdFunc round sin sq sqrt tan
|
||||
syn keyword arduinoStdFunc randomSeed random
|
||||
|
||||
syn keyword arduinoFunc analogReference analogRead analogWrite
|
||||
syn keyword arduinoFunc attachInterrupt detachInterrupt interrupts noInterrupts
|
||||
syn keyword arduinoFunc lowByte highByte bitRead bitWrite bitSet bitClear
|
||||
syn keyword arduinoFunc millis micros delay delayMicroseconds
|
||||
syn keyword arduinoFunc pinMode digitalWrite digitalRead
|
||||
syn keyword arduinoFunc tone noTone pulseIn shiftOut
|
||||
|
||||
syn keyword arduinoMethod setup loop
|
||||
syn keyword arduinoMethod begin end available read flush print println write peek
|
||||
|
||||
syn keyword arduinoType boolean byte word String
|
||||
|
||||
syn keyword arduinoModule Serial Serial1 Serial2 Serial3
|
||||
|
||||
hi def link arduinoType Type
|
||||
hi def link arduinoConstant Constant
|
||||
hi def link arduinoStdFunc Function
|
||||
hi def link arduinoFunc Function
|
||||
hi def link arduinoMethod Function
|
||||
hi def link arduinoModule Identifier
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Erik Wognsen <erik.wognsen@gmail.com>
|
||||
" Previous maintainer:
|
||||
" Kevin Dahlhausen <kdahlhaus@yahoo.com>
|
||||
" Last Change: 2012 Apr 09
|
||||
" Last Change: 2014 Feb 04
|
||||
|
||||
" Thanks to Ori Avtalion for feedback on the comment markers!
|
||||
|
||||
@@ -93,7 +93,11 @@ syn match asmCond "\.endif"
|
||||
syn match asmMacro "\.macro"
|
||||
syn match asmMacro "\.endm"
|
||||
|
||||
syn match asmDirective "\.[a-z][a-z]\+"
|
||||
" Assembler directives start with a '.' and may contain upper case (e.g.,
|
||||
" .ABORT), numbers (e.g., .p2align), dash (e.g., .app-file) and underscore in
|
||||
" CFI directives (e.g., .cfi_startproc). This will also match labels starting
|
||||
" with '.', including the GCC auto-generated '.L' labels.
|
||||
syn match asmDirective "\.[A-Za-z][0-9A-Za-z-_]*"
|
||||
|
||||
|
||||
syn case match
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: BibTeX (bibliographic database format for (La)TeX)
|
||||
" Maintainer: Bernd Feige <Bernd.Feige@gmx.net>
|
||||
" Filenames: *.bib
|
||||
" Last Change: 2011 Dec 25
|
||||
" Last Change: 2014 Mar 26
|
||||
|
||||
" Thanks to those who pointed out problems with this file or supplied fixes!
|
||||
|
||||
@@ -28,7 +28,7 @@ syn keyword bibType contained article book booklet conference inbook
|
||||
syn keyword bibType contained incollection inproceedings manual
|
||||
syn keyword bibType contained mastersthesis misc phdthesis
|
||||
syn keyword bibType contained proceedings techreport unpublished
|
||||
syn keyword bibType contained string
|
||||
syn keyword bibType contained string preamble
|
||||
|
||||
syn keyword bibEntryKw contained address annote author booktitle chapter
|
||||
syn keyword bibEntryKw contained crossref edition editor howpublished
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: C
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2013 Jul 05
|
||||
" Last Change: 2014 May 26
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -322,6 +322,9 @@ if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu")
|
||||
syn keyword cConstant SEEK_CUR SEEK_END SEEK_SET
|
||||
syn keyword cConstant TMP_MAX stderr stdin stdout
|
||||
syn keyword cConstant EXIT_FAILURE EXIT_SUCCESS RAND_MAX
|
||||
" POSIX 2001
|
||||
syn keyword cConstant SIGBUS SIGPOLL SIGPROF SIGSYS SIGURG
|
||||
syn keyword cConstant SIGVTALRM SIGXCPU SIGXFSZ
|
||||
" Add POSIX errors as well
|
||||
syn keyword cConstant E2BIG EACCES EAGAIN EBADF EBADMSG EBUSY
|
||||
syn keyword cConstant ECANCELED ECHILD EDEADLK EDOM EEXIST EFAULT
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Clean
|
||||
" Author: Pieter van Engelen <pietere@sci.kun.nl>
|
||||
" Co-Author: Arthur van Leeuwen <arthurvl@sci.kun.nl>
|
||||
" Last Change: 2013 Jun 19 by Jurriën Stutterheim
|
||||
" Last Change: 2013 Oct 15 by Jurriën Stutterheim
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -31,11 +31,10 @@ syn keyword cleanIncludeKeyword contained from import as qualified
|
||||
|
||||
" To do some Denotation Highlighting
|
||||
syn keyword cleanBoolDenot True False
|
||||
syn region cleanStringDenot start=+"+ end=+"+
|
||||
syn match cleanCharDenot "'.'"
|
||||
syn match cleanCharsDenot "'[^'\\]*\(\\.[^'\\]\)*'" contained
|
||||
syn match cleanIntegerDenot "[+-~]\=\<\(\d\+\|0[0-7]\+\|0x[0-9A-Fa-f]\+\)\>"
|
||||
syn match cleanRealDenot "[+-~]\=\<\d\+\.\d+\(E[+-~]\=\d+\)\="
|
||||
syn region cleanStringDenot start=+"+ skip=+\(\(\\\\\)\+\|\\"\)+ end=+"+ display
|
||||
syn match cleanCharDenot "'\(\\\\\|\\'\|[^'\\]\)\+'" display
|
||||
syn match cleanIntegerDenot "[\~+-]\?\<\(\d\+\|0[0-7]\+\|0x[0-9A-Fa-f]\+\)\>" display
|
||||
syn match cleanRealDenot "[\~+-]\?\d\+\.\d\+\(E[\~+-]\?\d\+\)\?" display
|
||||
|
||||
" To highlight the use of lists, tuples and arrays
|
||||
syn region cleanList start="\[" end="\]" contains=ALL
|
||||
@@ -44,11 +43,13 @@ syn region cleanArray start="{:" end=":}" contains=ALL
|
||||
syn match cleanTuple "([^=]*,[^=]*)" contains=ALL
|
||||
|
||||
" To do some Comment Highlighting
|
||||
syn region cleanComment start="/\*" end="\*/" contains=cleanComment
|
||||
syn match cleanComment "//.*"
|
||||
syn region cleanComment start="/\*" end="\*/" contains=cleanComment,cleanTodo fold
|
||||
syn region cleanComment start="//.*" end="$" display contains=cleanTodo
|
||||
syn keyword cleanTodo TODO FIXME XXX contained
|
||||
|
||||
" Now for some useful type definition recognition
|
||||
syn match cleanFuncTypeDef "\([a-zA-Z].*\|(\=[-~@#$%^?!+*<>\/|&=:]\+)\=\)\s*\(infix[lr]\=\)\=\s*\d\=\s*::.*->.*" contains=cleanSpecial,cleanBasicType,cleanSpecialType,cleanKeyword
|
||||
|
||||
" Now for some useful typedefinitionrecognition
|
||||
syn match cleanFuncTypeDef "\([a-zA-Z].*\|(\=[-~@#$%^?!+*<>\/|&=:]\+)\=\)[ \t]*\(infix[lr]\=\)\=[ \t]*\d\=[ \t]*::.*->.*" contains=cleanSpecial
|
||||
|
||||
" Define the default highlighting.
|
||||
" For version 5.7 and earlier: only when not done already
|
||||
@@ -64,7 +65,6 @@ if version >= 508 || !exists("did_clean_syntax_init")
|
||||
" Comments
|
||||
HiLink cleanComment Comment
|
||||
" Constants and denotations
|
||||
HiLink cleanCharsDenot String
|
||||
HiLink cleanStringDenot String
|
||||
HiLink cleanCharDenot Character
|
||||
HiLink cleanIntegerDenot Number
|
||||
@@ -91,6 +91,7 @@ if version >= 508 || !exists("did_clean_syntax_init")
|
||||
HiLink cleanTuple Special
|
||||
" Error
|
||||
" Todo
|
||||
HiLink cleanTodo Todo
|
||||
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -2,7 +2,7 @@
|
||||
" Language: C++
|
||||
" Current Maintainer: vim-jp (https://github.com/vim-jp/cpp-vim)
|
||||
" Previous Maintainer: Ken Shan <ccshan@post.harvard.edu>
|
||||
" Last Change: 2012 Jun 14
|
||||
" Last Change: 2014 May 14
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -39,6 +39,7 @@ if !exists("cpp_no_cpp11")
|
||||
syn keyword cppExceptions noexcept
|
||||
syn keyword cppStorageClass constexpr decltype
|
||||
syn keyword cppConstant nullptr
|
||||
syn region cppRawString matchgroup=cppRawDelimiter start=+\%(u8\|[uLU]\)\=R"\z([[:alnum:]_{}[\]#<>%:;.?*\+\-/\^&|~!=,"']\{,16}\)(+ end=+)\z1"+ contains=@Spell
|
||||
endif
|
||||
|
||||
" The minimum and maximum operators in GNU C++
|
||||
@@ -62,6 +63,8 @@ if version >= 508 || !exists("did_cpp_syntax_inits")
|
||||
HiLink cppStructure Structure
|
||||
HiLink cppBoolean Boolean
|
||||
HiLink cppConstant Constant
|
||||
HiLink cppRawDelimiter Delimiter
|
||||
HiLink cppRawString String
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
" Nikolai Weibull (Add CSS2 support)
|
||||
" Maintainer: Jules Wang <w.jq0722@gmail.com>
|
||||
" URL: https://github.com/JulesWang/css.vim
|
||||
" Last Change: 2013 Aug 28
|
||||
" Last Change: 2013 Nov.27
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -21,9 +21,6 @@ elseif exists("b:current_syntax") && b:current_syntax == "css"
|
||||
finish
|
||||
endif
|
||||
|
||||
" Required for cssHacks
|
||||
setlocal iskeyword-=_
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
@@ -61,7 +58,8 @@ syn match cssSelectorOp2 "[~|^$*]\?=" contained
|
||||
syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ
|
||||
|
||||
" .class and #id
|
||||
syn match cssClassName "\.[A-Za-z][A-Za-z0-9_-]\+"
|
||||
syn match cssClassName "\.[A-Za-z][A-Za-z0-9_-]\+" contains=cssClassNameDot
|
||||
syn match cssClassNameDot contained '\.'
|
||||
|
||||
try
|
||||
syn match cssIdentifier "#[A-Za-z<>-<2D>_@][A-Za-z<>-<2D>0-9_@-]*"
|
||||
@@ -78,39 +76,42 @@ syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)" contains=cssUnitD
|
||||
syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" contains=cssUnitDecorators
|
||||
|
||||
|
||||
syn match cssIncludeKeyword /@\(-[a-z]+-\)\=\(media\|keyframes\|import\|charset\|namespace\|page\)/ contained
|
||||
" @media
|
||||
syn match cssMedia "@media\>" nextgroup=cssMediaType,cssMediaFeature,cssMediaBlock,cssMediaComma,cssMediaKeyword2 skipwhite skipnl
|
||||
syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv all contained skipwhite skipnl nextgroup=cssMediaFeature,cssMediaBlock
|
||||
syn match cssMediaFeature /\(and\)\=\s*(.\{-})/ contained skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor nextgroup=cssMediaFeature,cssMediaBlock,cssMediaComma
|
||||
syn keyword cssMediaKeyword and contained
|
||||
syn keyword cssMediaKeyword2 only not contained nextgroup=cssMediaType skipwhite skipnl
|
||||
|
||||
syn region cssInclude start=/@media\>/ end=/\ze{/ skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssIncludeKeyword,cssMediaComma,cssComment nextgroup=cssMediaBlock
|
||||
syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained skipwhite skipnl
|
||||
syn keyword cssMediaKeyword only not and contained
|
||||
syn region cssMediaBlock transparent matchgroup=cssBraces start='{' end='}' contains=css.*Attr,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssTagName,cssClassName,cssIdentifier,cssPseudoClass,cssSelectorOp,cssSelectorOp2,cssAttributeSelector fold
|
||||
syn match cssMediaComma "," nextgroup=cssMediaType,cssMediaKeyword2 skipwhite skipnl contained
|
||||
syn match cssMediaComma "," skipwhite skipnl contained
|
||||
|
||||
" Reference: http://www.w3.org/TR/css3-mediaqueries/
|
||||
syn keyword cssMediaProp contained width height orientation monochrome scan grid
|
||||
syn keyword cssMediaProp contained width height orientation scan grid
|
||||
syn match cssMediaProp contained /\(\(device\)-\)\=aspect-ratio/
|
||||
syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-pixel-ratio/
|
||||
syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-\(height\|width\)/
|
||||
syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|color\(-index\)\=\)/
|
||||
syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|monochrome\|color\(-index\)\=\)/
|
||||
syn keyword cssMediaAttr contained portrait landscape progressive interlace
|
||||
|
||||
" @page
|
||||
syn match cssPage "@page\>" nextgroup=cssPagePseudo,cssDefinition skipwhite skipnl
|
||||
syn match cssPagePseudo /:\(left\|right\|first\|\)/ nextgroup=cssDefinition contained skipwhite skipnl
|
||||
syn match cssPageHeaderProp /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained
|
||||
syn keyword cssPageProp content size contained
|
||||
" http://www.w3.org/TR/css3-page/
|
||||
syn match cssPage "@page\>[^{]*{\@=" contains=cssPagePseudo,cssIncludeKeyword nextgroup=cssPageWrap transparent skipwhite skipnl
|
||||
syn match cssPagePseudo /:\(left\|right\|first\|blank\)/ contained skipwhite skipnl
|
||||
syn region cssPageWrap contained transparent matchgroup=cssBraces start="{" end="}" contains=cssPageMargin,cssPageProp,cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks
|
||||
syn match cssPageMargin /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained nextgroup=cssDefinition skipwhite skipnl
|
||||
syn keyword cssPageProp contained content size
|
||||
" http://www.w3.org/TR/CSS2/page.html#break-inside
|
||||
syn keyword cssPageProp contained orphans widows
|
||||
|
||||
" @keyframe
|
||||
syn match cssKeyFrame "@\(-.*-\)\=keyframes\>\(\s*\<\S*\>\)\=" nextgroup=cssKeyFrameBlock contains=cssVendor skipwhite skipnl
|
||||
syn region cssKeyFrameBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssKeyFrameSelector,cssDefinition
|
||||
syn match cssKeyFrameSelector /\(\d*%\|from\|to\)\=/ contained skipwhite skipnl
|
||||
" http://www.w3.org/TR/css3-animations/#keyframes
|
||||
syn match cssKeyFrame "@\(-[a-z]+-\)\=keyframes\>[^{]*{\@=" nextgroup=cssKeyFrameWrap contains=cssVendor,cssIncludeKeyword skipwhite skipnl transparent
|
||||
syn region cssKeyFrameWrap contained transparent matchgroup=cssBraces start="{" end="}" contains=cssKeyFrameSelector
|
||||
syn match cssKeyFrameSelector /\(\d*%\|from\|to\)\=/ contained skipwhite skipnl nextgroup=cssDefinition
|
||||
|
||||
" @import
|
||||
syn region cssInclude start=/@import\>/ end=/\ze;/ contains=cssComment,cssURL,cssUnicodeEscape,cssMediaType,cssStringQ,cssStringQQ
|
||||
syn region cssInclude start=/@charset\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment
|
||||
syn region cssInclude start=/@namespace\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment
|
||||
syn region cssInclude start=/@import\>/ end=/\ze;/ transparent contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword,cssURL,cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType
|
||||
syn region cssInclude start=/@charset\>/ end=/\ze;/ transparent contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword
|
||||
syn region cssInclude start=/@namespace\>/ end=/\ze;/ transparent contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword
|
||||
|
||||
" @font-face
|
||||
" http://www.w3.org/TR/css3-fonts/#at-font-face-rule
|
||||
@@ -184,7 +185,7 @@ syn keyword cssCommonAttr contained top bottom center stretch hidden visible
|
||||
"------------------------------------------------
|
||||
" CSS Animations
|
||||
" http://www.w3.org/TR/css3-animations/
|
||||
syn match cssAnimationProp contained "\<animation\(-\(delay\|direction\|duration\|fill-mode\|name\|play-state\|timing-function\)\)\=\>"
|
||||
syn match cssAnimationProp contained "\<animation\(-\(delay\|direction\|duration\|fill-mode\|name\|play-state\|timing-function\|iteration-count\)\)\=\>"
|
||||
|
||||
" animation-direction attributes
|
||||
syn keyword cssAnimationAttr contained alternate reverse
|
||||
@@ -220,7 +221,7 @@ syn match cssBorderProp contained "\<box-decoration-break\>"
|
||||
syn match cssBorderProp contained "\<box-shadow\>"
|
||||
|
||||
" border-image attributes
|
||||
syn keyword cssBorderAttr contained stretch repeat round space fill
|
||||
syn keyword cssBorderAttr contained stretch round space fill
|
||||
|
||||
" border-style attributes
|
||||
syn keyword cssBorderAttr contained dotted dashed solid double groove ridge inset outset
|
||||
@@ -235,7 +236,7 @@ syn keyword cssBorderAttr contained clone slice
|
||||
syn match cssBoxProp contained "\<padding\(-\(top\|right\|bottom\|left\)\)\=\>"
|
||||
syn match cssBoxProp contained "\<margin\(-\(top\|right\|bottom\|left\)\)\=\>"
|
||||
syn match cssBoxProp contained "\<overflow\(-\(x\|y\|style\)\)\=\>"
|
||||
syn match cssBoxProp contained "\<rotation\(-point\)=\>"
|
||||
syn match cssBoxProp contained "\<rotation\(-point\)\=\>"
|
||||
syn keyword cssBoxAttr contained visible hidden scroll auto
|
||||
syn match cssBoxAttr contained "\<no-\(display\|content\)\>"
|
||||
|
||||
@@ -294,13 +295,26 @@ syn keyword cssFontAttr contained bold bolder lighter
|
||||
syn match cssFontProp contained "\<font-smooth\>"
|
||||
syn match cssFontAttr contained "\<\(subpixel-\)\=\antialiased\>"
|
||||
|
||||
|
||||
" CSS Multi-column Layout Module
|
||||
" http://www.w3.org/TR/css3-multicol/
|
||||
syn match cssMultiColumnProp contained "\<break-\(after\|before\|inside\)\>"
|
||||
syn match cssMultiColumnProp contained "\<column-\(count\|fill\|gap\|rule\(-\(color\|style\|width\)\)\=\|span\|width\)\>"
|
||||
syn keyword cssMultiColumnProp contained columns
|
||||
syn keyword cssMultiColumnAttr contained balance medium
|
||||
syn keyword cssMultiColumnAttr contained always avoid left right page column
|
||||
syn match cssMultiColumnAttr contained "\<avoid-\(page\|column\)\>"
|
||||
|
||||
" http://www.w3.org/TR/css3-break/#page-break
|
||||
syn match cssMultiColumnProp contained "\<page\(-break-\(before\|after\|inside\)\)\=\>"
|
||||
|
||||
" TODO find following items in w3c docs.
|
||||
syn keyword cssGeneratedContentProp contained quotes crop
|
||||
syn match cssGeneratedContentProp contained "\<counter-\(reset\|increment\)\>"
|
||||
syn match cssGeneratedContentProp contained "\<move-to\>"
|
||||
syn match cssGeneratedContentProp contained "\<page-policy\>"
|
||||
syn match cssGeneratedContentAttr contained "\<\(no-\)\=\(open\|close\)-quote\>"
|
||||
|
||||
|
||||
syn match cssGridProp contained "\<grid-\(columns\|rows\)\>"
|
||||
|
||||
syn match cssHyerlinkProp contained "\<target\(-\(name\|new\|position\)\)\=\>"
|
||||
@@ -312,8 +326,6 @@ syn match cssListAttr contained "\<\(decimal\(-leading-zero\)\=\|cjk-ideographic
|
||||
syn keyword cssListAttr contained disc circle square hebrew armenian georgian
|
||||
syn keyword cssListAttr contained inside outside
|
||||
|
||||
syn match cssMultiColumnProp contained "\<column\(-\(\break-\(after\|before\)\|count\|gap\|rule\(-\(color\|style\|width\)\)\=\)\|span\|width\)\=\>"
|
||||
|
||||
syn keyword cssPositioningProp contained bottom clear clip display float left
|
||||
syn keyword cssPositioningProp contained position right top visibility
|
||||
syn match cssPositioningProp contained "\<z-index\>"
|
||||
@@ -324,8 +336,6 @@ syn match cssPositioningAttr contained "\<list-item\>"
|
||||
syn match cssPositioningAttr contained "\<inline\(-\(block\|box\|table\)\)\=\>"
|
||||
syn keyword cssPositioningAttr contained static relative absolute fixed
|
||||
|
||||
syn match cssPrintProp contained "\<page\(-break-\(before\|after\|inside\)\)\=\>"
|
||||
syn keyword cssPrintProp contained orphans widows
|
||||
syn keyword cssPrintAttr contained landscape portrait crop cross always avoid
|
||||
|
||||
syn match cssTableProp contained "\<\(caption-side\|table-layout\|border-collapse\|border-spacing\|empty-cells\)\>"
|
||||
@@ -399,7 +409,7 @@ syn keyword cssUIAttr contained both horizontal vertical
|
||||
syn match cssUIProp contained "\<text-overflow\>"
|
||||
syn keyword cssUIAttr contained clip ellipsis
|
||||
|
||||
" Already highlighted Props: font content
|
||||
" Already highlighted Props: font content
|
||||
"------------------------------------------------
|
||||
" Webkit/iOS specific attributes
|
||||
syn match cssUIAttr contained '\(preserve-3d\)'
|
||||
@@ -458,11 +468,11 @@ syn match cssPseudoClassId contained "\<\(input-\)\=placeholder\>"
|
||||
|
||||
|
||||
" Comment
|
||||
syn region cssComment start="/\*" end="\*/" contains=@Spell
|
||||
syn region cssComment start="/\*" end="\*/" contains=@Spell fold
|
||||
|
||||
syn match cssUnicodeEscape "\\\x\{1,6}\s\?"
|
||||
syn match cssSpecialCharQQ +\\"+ contained
|
||||
syn match cssSpecialCharQ +\\'+ contained
|
||||
syn match cssSpecialCharQQ +\\\\\|\\"+ contained
|
||||
syn match cssSpecialCharQ +\\\\\|\\'+ contained
|
||||
syn region cssStringQQ start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=cssUnicodeEscape,cssSpecialCharQQ
|
||||
syn region cssStringQ start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=cssUnicodeEscape,cssSpecialCharQ
|
||||
|
||||
@@ -483,11 +493,11 @@ syntax match cssNoise contained /\(:\|;\|\/\)/
|
||||
|
||||
" Attr Enhance
|
||||
" Some keywords are both Prop and Attr, so we have to handle them
|
||||
syn region cssAttrRegion start=/:/ end=/;/ contained keepend contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssTransitionHackProp,cssAttrComma,cssNoise
|
||||
syn region cssAttrRegion start=/:/ end=/;/ contained keepend contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise
|
||||
|
||||
" Hack for transition
|
||||
" The 'transition' Prop has Props after ':'.
|
||||
syn region cssAttrRegion start=/transition\s*:/ end=/;/ contained keepend contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssTransitionHackProp,cssAttrComma,cssNoise
|
||||
syn region cssAttrRegion start=/transition\s*:/ end=/;/ contained keepend contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise
|
||||
|
||||
|
||||
if main_syntax == "css"
|
||||
@@ -593,28 +603,26 @@ if version >= 508 || !exists("did_css_syn_inits")
|
||||
HiLink cssColor Constant
|
||||
HiLink cssIdentifier Function
|
||||
HiLink cssInclude Include
|
||||
HiLink cssIncludeKeyword atKeyword
|
||||
HiLink cssImportant Special
|
||||
HiLink cssBraces Function
|
||||
HiLink cssBraceError Error
|
||||
HiLink cssError Error
|
||||
HiLink cssInclude Include
|
||||
HiLink cssUnicodeEscape Special
|
||||
HiLink cssStringQQ String
|
||||
HiLink cssStringQ String
|
||||
HiLink cssAttributeSelector String
|
||||
HiLink cssMedia Special
|
||||
HiLink cssMedia atKeyword
|
||||
HiLink cssMediaType Special
|
||||
HiLink cssMediaComma Normal
|
||||
HiLink cssMediaFeature Normal
|
||||
HiLink cssMediaKeyword Statement
|
||||
HiLink cssMediaKeyword2 Statement
|
||||
HiLink cssMediaProp cssProp
|
||||
HiLink cssMediaAttr cssAttr
|
||||
HiLink cssPage Special
|
||||
HiLink cssPage atKeyword
|
||||
HiLink cssPagePseudo PreProc
|
||||
HiLink cssPageHeaderProp PreProc
|
||||
HiLink cssPageMargin atKeyword
|
||||
HiLink cssPageProp cssProp
|
||||
HiLink cssKeyFrame Special
|
||||
HiLink cssKeyFrame atKeyword
|
||||
HiLink cssKeyFrameSelector Constant
|
||||
HiLink cssFontDescriptor Special
|
||||
HiLink cssFontDescriptorFunction Constant
|
||||
@@ -622,10 +630,12 @@ if version >= 508 || !exists("did_css_syn_inits")
|
||||
HiLink cssFontDescriptorAttr cssAttr
|
||||
HiLink cssUnicodeRange Constant
|
||||
HiLink cssClassName Function
|
||||
HiLink cssClassNameDot Function
|
||||
HiLink cssProp StorageClass
|
||||
HiLink cssAttr Constant
|
||||
HiLink cssUnitDecorators Number
|
||||
HiLink cssNoise Noise
|
||||
HiLink atKeyword Comment
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
"
|
||||
" Language: D
|
||||
" Maintainer: Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
|
||||
" Last Change: 2013 May 21
|
||||
" Version: 0.25
|
||||
" Last Change: 2013 October 5
|
||||
" Version: 0.26
|
||||
"
|
||||
" Contributors:
|
||||
" - Jason Mills: original Maintainer
|
||||
@@ -158,7 +158,7 @@ syn match dStatement "\<__traits\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+8 contains=
|
||||
|
||||
" Pragma Statement
|
||||
syn match dPragma "\<pragma\>"
|
||||
syn match dPragma "\<pragma\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+8 contains=dPragmaIdentifier
|
||||
syn match dPragma "\<pragma\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+6 contains=dPragmaIdentifier
|
||||
|
||||
" Necessary to highlight C++ in extern modifiers.
|
||||
syn match dExternIdentifier "C\(++\)\?" contained
|
||||
@@ -168,16 +168,18 @@ syn match dExternal "\<extern\>"
|
||||
syn match dExtern "\<extern\s*([_a-zA-Z][_a-zA-Z0-9\+]*\>"he=s+6 contains=dExternIdentifier
|
||||
|
||||
" Make import a region to prevent highlighting keywords
|
||||
syn region dImport start="import" end=";" contains=dExternal,@dComment
|
||||
syn region dImport start="import\_s" end=";" contains=dExternal,@dComment
|
||||
|
||||
" Make module a region to prevent highlighting keywords
|
||||
syn region dImport start="module" end=";" contains=dExternal,@dComment
|
||||
syn region dImport start="module\_s" end=";" contains=dExternal,@dComment
|
||||
|
||||
" dTokens is used by the token string highlighting
|
||||
syn cluster dTokens contains=dExternal,dConditional,dBranch,dRepeat,dBoolean
|
||||
syn cluster dTokens add=dConstant,dTypedef,dStructure,dOperator,dOpOverload
|
||||
syn cluster dTokens add=dType,dDebug,dExceptions,dScopeDecl,dStatement
|
||||
syn cluster dTokens add=dStorageClass,dPragma,dAssert,dAnnotation,dEnum
|
||||
syn cluster dTokens add=dParenString,dBrackString,dAngleString,dCurlyString
|
||||
syn cluster dTokens add=dTokenString,dDelimString,dHereString
|
||||
|
||||
" Create a match for parameter lists to identify storage class
|
||||
syn region paramlist start="(" end=")" contains=@dTokens
|
||||
@@ -192,6 +194,9 @@ syn cluster dTokens add=dUserLabel,dLabel
|
||||
|
||||
" Comments
|
||||
"
|
||||
syn match dCommentError display "\*/"
|
||||
syn match dNestedCommentError display "+/"
|
||||
|
||||
syn keyword dTodo contained TODO FIXME TEMP REFACTOR REVIEW HACK BUG XXX
|
||||
syn match dCommentStar contained "^\s*\*[^/]"me=e-1
|
||||
syn match dCommentStar contained "^\s*\*$"
|
||||
@@ -201,15 +206,12 @@ if exists("d_comment_strings")
|
||||
syn region dBlockCommentString contained start=+"+ end=+"+ end=+\*/+me=s-1,he=s-1 contains=dCommentStar,dUnicode,dEscSequence,@Spell
|
||||
syn region dNestedCommentString contained start=+"+ end=+"+ end="+"me=s-1,he=s-1 contains=dCommentPlus,dUnicode,dEscSequence,@Spell
|
||||
syn region dLineCommentString contained start=+"+ end=+$\|"+ contains=dUnicode,dEscSequence,@Spell
|
||||
syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,@Spell fold
|
||||
syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell fold
|
||||
syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell
|
||||
else
|
||||
syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,@Spell fold
|
||||
syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell fold
|
||||
syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell
|
||||
endif
|
||||
|
||||
syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,dCommentStartError,@Spell fold
|
||||
syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell fold
|
||||
syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell
|
||||
|
||||
hi link dLineCommentString dBlockCommentString
|
||||
hi link dBlockCommentString dString
|
||||
hi link dNestedCommentString dString
|
||||
@@ -249,7 +251,7 @@ syn region dRawString start=+`+ end=+`[cwd]\=+ contains=@Spell
|
||||
syn region dRawString start=+r"+ end=+"[cwd]\=+ contains=@Spell
|
||||
syn region dHexString start=+x"+ end=+"[cwd]\=+ contains=@Spell
|
||||
syn region dDelimString start=+q"\z(.\)+ end=+\z1"+ contains=@Spell
|
||||
syn region dHereString start=+q"\z(\I\i*\)\n+ end=+\n\z1"+ contains=@Spell
|
||||
syn region dHereString start=+q"\z(\I\i*\)\n+ end=+^\z1"+ contains=@Spell
|
||||
|
||||
" Nesting delimited string contents
|
||||
"
|
||||
@@ -368,6 +370,9 @@ hi def link dType Type
|
||||
hi def link dLineComment Comment
|
||||
hi def link dBlockComment Comment
|
||||
hi def link dNestedComment Comment
|
||||
hi def link dCommentError Error
|
||||
hi def link dNestedCommentError Error
|
||||
hi def link dCommentStartError Error
|
||||
hi def link dExternal Include
|
||||
hi def link dAnnotation PreProc
|
||||
hi def link dSharpBang PreProc
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: Datascript
|
||||
" Maintainer: Dominique Pelle <dominique.pelle@gmail.com>
|
||||
" Last Change: 2012 Apr 30
|
||||
" Last Change: 2014 Feb 26
|
||||
"
|
||||
" DataScript is a formal language for modelling binary datatypes,
|
||||
" bitstreams or file formats. For more information, see:
|
||||
@@ -16,8 +16,8 @@ let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
syn keyword dsPackage import package
|
||||
syn keyword dsType bit string
|
||||
syn keyword dsType int8 int16 int32 int64
|
||||
syn keyword dsType bit bool string
|
||||
syn keyword dsType int int8 int16 int32 int64
|
||||
syn keyword dsType uint8 uint16 uint32 uint64
|
||||
syn keyword dsType leint16 leint32 leint64
|
||||
syn keyword dsType leuint16 leuint32 leuint64
|
||||
@@ -25,13 +25,14 @@ syn keyword dsEndian little big
|
||||
syn keyword dsAlign align
|
||||
syn keyword dsLabel case default
|
||||
syn keyword dsConditional if condition
|
||||
syn keyword dsCompound union choice on enum bitmask subtype
|
||||
syn keyword dsBoolean true false
|
||||
syn keyword dsCompound union choice on enum bitmask subtype explicit
|
||||
syn keyword dsKeyword function return
|
||||
syn keyword dsOperator sizeof bitsizeof lengthof is sum forall in
|
||||
syn keyword dsStorageClass const
|
||||
syn keyword dsTodo contained TODO FIXME XXX
|
||||
syn keyword dsSql sql sql_table sql_database sql_pragma
|
||||
syn keyword dsSql sql_integer sql_metadata sql_key
|
||||
syn keyword dsSql sql sql_table sql_database sql_pragma sql_index
|
||||
syn keyword dsSql sql_integer sql_metadata sql_key foreign_key
|
||||
|
||||
" dsCommentGroup allows adding matches for special things in comments.
|
||||
syn cluster dsCommentGroup contains=dsTodo
|
||||
@@ -70,6 +71,7 @@ hi def link dsOffset Label
|
||||
hi def link dsSql PreProc
|
||||
hi def link dsCompound Structure
|
||||
hi def link dsConditional Conditional
|
||||
hi def link dsBoolean Boolean
|
||||
hi def link dsKeyword Statement
|
||||
hi def link dsString String
|
||||
hi def link dsNumber Number
|
||||
|
||||
@@ -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: 2013 May 05
|
||||
" Last Change: 2014 Jan 20
|
||||
" 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)|wheezy-backports|%(lucid|precise|quantal|raring|saucy)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
|
||||
syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile)|wheezy-backports|%(lucid|precise|quantal|saucy|trusty)%(-%(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\+\)*"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user