mirror of
https://github.com/zoriya/vim.git
synced 2025-12-26 00:56:08 +00:00
Compare commits
455 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7e85d3d432 | ||
|
|
dee2e315d7 | ||
|
|
ede3e6383d | ||
|
|
6f1404f8a8 | ||
|
|
841fbd2907 | ||
|
|
c4b99e0be7 | ||
|
|
141be8a585 | ||
|
|
c476e52fca | ||
|
|
0bd80ccd85 | ||
|
|
808c2bc8bf | ||
|
|
389a1793f4 | ||
|
|
6c85e7f3be | ||
|
|
3dbcd0c7ad | ||
|
|
fe70acb376 | ||
|
|
d73895ec00 | ||
|
|
22f93c700f | ||
|
|
a6cc03101e | ||
|
|
db250526bb | ||
|
|
a0c85c7ae1 | ||
|
|
555d2a8340 | ||
|
|
d79862599d | ||
|
|
6324c3b920 | ||
|
|
06ae70d07c | ||
|
|
01b626c26e | ||
|
|
8c0e322f18 | ||
|
|
6949eea7cc | ||
|
|
5246cd7a9b | ||
|
|
03e114b0f2 | ||
|
|
70baa405f2 | ||
|
|
427d51c23f | ||
|
|
a50d02d983 | ||
|
|
5ab9d98b9a | ||
|
|
926b5d3b30 | ||
|
|
d69497413f | ||
|
|
4ce239b0b1 | ||
|
|
3351679948 | ||
|
|
e66f06d819 | ||
|
|
52b91d801a | ||
|
|
df9259abce | ||
|
|
dab38d516e | ||
|
|
9be6e21575 | ||
|
|
ff1806f8da | ||
|
|
141f6bb341 | ||
|
|
4cff8faf05 | ||
|
|
44c71db771 | ||
|
|
1612b1abe7 | ||
|
|
c5089bb8ff | ||
|
|
580abea48a | ||
|
|
6e70736cbc | ||
|
|
4c46b5e001 | ||
|
|
9d438d3b38 | ||
|
|
0c6633a7ea | ||
|
|
5f87b23229 | ||
|
|
b62bcd1e05 | ||
|
|
484d241a4a | ||
|
|
98bfc2d5ee | ||
|
|
82850dd9cb | ||
|
|
12b559e7c3 | ||
|
|
2a876e40ce | ||
|
|
ec7944aaf2 | ||
|
|
cab465a6d7 | ||
|
|
0825c00f14 | ||
|
|
22971aaa45 | ||
|
|
6395af8018 | ||
|
|
edb07a2d88 | ||
|
|
2d473ab932 | ||
|
|
81c40c507c | ||
|
|
27610ed76c | ||
|
|
9f3685a527 | ||
|
|
0ea4a6b94b | ||
|
|
60bf1f58d0 | ||
|
|
a2947e2bea | ||
|
|
780c3e9b04 | ||
|
|
3c7ad013fb | ||
|
|
a9f2220176 | ||
|
|
16619a235b | ||
|
|
9a773488a7 | ||
|
|
c09a6d6c0c | ||
|
|
f9c9b32bd1 | ||
|
|
c1ba10c7f6 | ||
|
|
570064cf21 | ||
|
|
a2e14fc764 | ||
|
|
0bdda37fb4 | ||
|
|
bcf4d178ab | ||
|
|
4380d1ea23 | ||
|
|
11354759e2 | ||
|
|
927d4a1fb5 | ||
|
|
2a4e98ac1e | ||
|
|
a940aa6fc4 | ||
|
|
1e02e6620b | ||
|
|
e7766eeaa5 | ||
|
|
473de61b04 | ||
|
|
cd9c46265e | ||
|
|
87f764a891 | ||
|
|
b1b284fd5d | ||
|
|
f96d109827 | ||
|
|
2358403363 | ||
|
|
3798519b9e | ||
|
|
45fc539fe0 | ||
|
|
a238431302 | ||
|
|
43e0298416 | ||
|
|
decd9540fd | ||
|
|
8aca2e9bef | ||
|
|
417bad227a | ||
|
|
203d04d764 | ||
|
|
4cd92d5aae | ||
|
|
4e31296ffa | ||
|
|
cc908adac8 | ||
|
|
d89616ebb8 | ||
|
|
6d3a5d755a | ||
|
|
188c57bcd1 | ||
|
|
f751255283 | ||
|
|
8a7f5a2d43 | ||
|
|
cd2d8bb6ea | ||
|
|
2976c028ca | ||
|
|
c19b4b50a8 | ||
|
|
973fced763 | ||
|
|
d4209d203a | ||
|
|
e60c2e5e1c | ||
|
|
8795374bd3 | ||
|
|
67604aed75 | ||
|
|
5b84ddccea | ||
|
|
1cd3f2c450 | ||
|
|
e2b8cb3b15 | ||
|
|
d75799ab7f | ||
|
|
78eae9aaf7 | ||
|
|
5ebc09b450 | ||
|
|
b76591ef4a | ||
|
|
044aa290c5 | ||
|
|
dacd7de3fd | ||
|
|
f811509c03 | ||
|
|
a2d9510861 | ||
|
|
dd9a4a44a9 | ||
|
|
e9056b121d | ||
|
|
01d89dddfa | ||
|
|
dd2ccdf6ea | ||
|
|
f46da70603 | ||
|
|
f18fb7af75 | ||
|
|
f6de032afe | ||
|
|
9f5d600723 | ||
|
|
ac499e3116 | ||
|
|
78b5957439 | ||
|
|
f4258308e2 | ||
|
|
4f2109d782 | ||
|
|
bc41196bdc | ||
|
|
de71b5658f | ||
|
|
525666f282 | ||
|
|
307aa16a69 | ||
|
|
b122e9798e | ||
|
|
69afb7bf0a | ||
|
|
5de820b916 | ||
|
|
efb23f26e8 | ||
|
|
0418811869 | ||
|
|
61602c5bfe | ||
|
|
543b7ef700 | ||
|
|
3737fc1c30 | ||
|
|
75d7a06920 | ||
|
|
36b3a011d3 | ||
|
|
54dafde170 | ||
|
|
4b78063368 | ||
|
|
14f55c6f67 | ||
|
|
99dc19d1cc | ||
|
|
ca982c8d45 | ||
|
|
96c7dfd806 | ||
|
|
b06e20e6ba | ||
|
|
35eacd7180 | ||
|
|
2d5e112284 | ||
|
|
021e147b70 | ||
|
|
f62d942e54 | ||
|
|
16299b57cb | ||
|
|
4b6ebe6dce | ||
|
|
428e987b61 | ||
|
|
fdde880b02 | ||
|
|
fc714b35c6 | ||
|
|
018acca3bd | ||
|
|
305b2fde13 | ||
|
|
8600e40a67 | ||
|
|
bcb40977c3 | ||
|
|
494ff7e850 | ||
|
|
355fd9b468 | ||
|
|
78cddbe271 | ||
|
|
a9922d62e6 | ||
|
|
a5b725c3f6 | ||
|
|
1a3b56953e | ||
|
|
a1544c00c8 | ||
|
|
01a7a720ad | ||
|
|
9bb77d6fe6 | ||
|
|
bad704fa04 | ||
|
|
7e28384a9a | ||
|
|
07b8864111 | ||
|
|
1bcabe19a2 | ||
|
|
a03e631120 | ||
|
|
c8366790e8 | ||
|
|
c37b6ecd60 | ||
|
|
b38caae26c | ||
|
|
dd8aca664d | ||
|
|
432b09c84d | ||
|
|
21642ed1b4 | ||
|
|
9e822c00b1 | ||
|
|
3e734ea2c7 | ||
|
|
e9ba516be2 | ||
|
|
1bc2428e1f | ||
|
|
0014a53ad1 | ||
|
|
423532e10d | ||
|
|
28c2191949 | ||
|
|
75eb1610e1 | ||
|
|
f9e56b2b03 | ||
|
|
4ac6676cee | ||
|
|
51a2983904 | ||
|
|
5714b80032 | ||
|
|
e0fea9c405 | ||
|
|
eb3ecae23a | ||
|
|
2cb8feb880 | ||
|
|
26c2f3fc4e | ||
|
|
963fee2d69 | ||
|
|
c4912e555b | ||
|
|
e23febdb85 | ||
|
|
61db8b5108 | ||
|
|
57a285b105 | ||
|
|
3451d66244 | ||
|
|
7cd4d9c17c | ||
|
|
3f1682e808 | ||
|
|
fdb6dc1105 | ||
|
|
47196581b8 | ||
|
|
aae4883e01 | ||
|
|
4b41706477 | ||
|
|
f47ca63dbc | ||
|
|
56d58d51bf | ||
|
|
152e7890c1 | ||
|
|
d6c11cb3e0 | ||
|
|
fad8de084a | ||
|
|
3c577f26cd | ||
|
|
1d814754c0 | ||
|
|
425154d888 | ||
|
|
02e26d9807 | ||
|
|
a03dbed9e9 | ||
|
|
307d10a2fb | ||
|
|
35b2386a8e | ||
|
|
c96ebe75e5 | ||
|
|
2a0f3d3fb2 | ||
|
|
0b9aecc3a5 | ||
|
|
673af4d304 | ||
|
|
2eec59e30b | ||
|
|
f878bf0da2 | ||
|
|
e6ae6225b4 | ||
|
|
774267bbb9 | ||
|
|
a7b64ce74e | ||
|
|
cac867ad18 | ||
|
|
1dc28783fa | ||
|
|
182dc4f2ab | ||
|
|
e64faa6645 | ||
|
|
d6e391862c | ||
|
|
b52f4c02e6 | ||
|
|
b09d983c78 | ||
|
|
12e4014092 | ||
|
|
66e83d7db0 | ||
|
|
d2470e9fbe | ||
|
|
d7a06b1d71 | ||
|
|
8dd7901a66 | ||
|
|
9bad29decf | ||
|
|
080504921d | ||
|
|
0fabe3fdbe | ||
|
|
09ea9fcf3f | ||
|
|
745fc029ba | ||
|
|
e3c7b86aab | ||
|
|
7fcff1f781 | ||
|
|
ca12d7c004 | ||
|
|
053bb60f44 | ||
|
|
bc0ea8f75e | ||
|
|
10f3a79e89 | ||
|
|
ba40447ab1 | ||
|
|
097c992c46 | ||
|
|
884f6e44e0 | ||
|
|
fbc0d2ea1e | ||
|
|
6fa41fb374 | ||
|
|
7533fddd09 | ||
|
|
9e74e30b5f | ||
|
|
ad3b366c82 | ||
|
|
d620aa9be4 | ||
|
|
cfef5ff23e | ||
|
|
cabf80ff2f | ||
|
|
105bc355a6 | ||
|
|
55b8ad3dab | ||
|
|
c24c1acd82 | ||
|
|
07729b25bf | ||
|
|
54e8f00581 | ||
|
|
2cd7362e30 | ||
|
|
3dab2806fe | ||
|
|
71700b8903 | ||
|
|
a4720019cf | ||
|
|
b983f75d22 | ||
|
|
d5f729cada | ||
|
|
e761459eb6 | ||
|
|
8661b17843 | ||
|
|
4d188da22b | ||
|
|
5e538ecd5e | ||
|
|
03db85b398 | ||
|
|
b6c589a529 | ||
|
|
46a7561f3a | ||
|
|
dfa38d4e45 | ||
|
|
29607acff6 | ||
|
|
bd80f35bc5 | ||
|
|
8f1723de47 | ||
|
|
3d0c52db9c | ||
|
|
4e5dfb5700 | ||
|
|
99add41656 | ||
|
|
6d21645f46 | ||
|
|
971db46799 | ||
|
|
3b9abb6cc2 | ||
|
|
76a86063ca | ||
|
|
82e803b055 | ||
|
|
99685e6a7e | ||
|
|
6800186a03 | ||
|
|
09bb33dde9 | ||
|
|
290424868d | ||
|
|
51ac8a27e5 | ||
|
|
161fb5e302 | ||
|
|
531da5955e | ||
|
|
229f8dbf7a | ||
|
|
49e649fc2e | ||
|
|
84a05acc8c | ||
|
|
84e0f6ca9a | ||
|
|
d1864597a0 | ||
|
|
8fadd8b840 | ||
|
|
29f49ee8d7 | ||
|
|
4e0d974645 | ||
|
|
02938a970c | ||
|
|
ff0341946e | ||
|
|
7afea82f50 | ||
|
|
811fe63f39 | ||
|
|
567199b68f | ||
|
|
e8d9530b0e | ||
|
|
2ab0713279 | ||
|
|
f687cf3f36 | ||
|
|
ec38d6932c | ||
|
|
230bb3f09d | ||
|
|
335e0b6974 | ||
|
|
4d1da49cfe | ||
|
|
7a26dd860a | ||
|
|
af6abb9d93 | ||
|
|
3f99152276 | ||
|
|
b70a473e24 | ||
|
|
3bb28557e1 | ||
|
|
a8565fecc6 | ||
|
|
4c7e9db0d6 | ||
|
|
687a29c5e2 | ||
|
|
f6dcbb245b | ||
|
|
f8de161090 | ||
|
|
54c34fa6f5 | ||
|
|
768baacdc8 | ||
|
|
b376647bb1 | ||
|
|
332ac0621c | ||
|
|
84b0493c34 | ||
|
|
429fa85392 | ||
|
|
07219f911c | ||
|
|
6f852a557d | ||
|
|
7311c6932c | ||
|
|
0bcdd6e709 | ||
|
|
0187ca0bdf | ||
|
|
38ec50bea8 | ||
|
|
e3e6e573d1 | ||
|
|
8185111125 | ||
|
|
644cf03b7e | ||
|
|
126bdeeabe | ||
|
|
2a66a07b29 | ||
|
|
25a6df90df | ||
|
|
bf88493c09 | ||
|
|
68879258d9 | ||
|
|
24b11fb173 | ||
|
|
b3049f4a34 | ||
|
|
d7fbfe107d | ||
|
|
91fc43d3f9 | ||
|
|
7bcb30e913 | ||
|
|
cdffbeae2b | ||
|
|
95a5135118 | ||
|
|
d0e2d94589 | ||
|
|
c2c355df6f | ||
|
|
71afbfe6cd | ||
|
|
db333a5b8d | ||
|
|
af62ff3696 | ||
|
|
0c279bbb9c | ||
|
|
b59494cab1 | ||
|
|
186628f671 | ||
|
|
090cfc1b02 | ||
|
|
ac7bd63844 | ||
|
|
b897871ce9 | ||
|
|
a5be25e1db | ||
|
|
e533bbe094 | ||
|
|
2526ef276b | ||
|
|
20754027b3 | ||
|
|
1e284f5155 | ||
|
|
9584b31aae | ||
|
|
a390bb6ad3 | ||
|
|
4f8301f641 | ||
|
|
1a0316ca2a | ||
|
|
b3cb982162 | ||
|
|
3978e08fbe | ||
|
|
db813951c4 | ||
|
|
e2e663f67d | ||
|
|
210f3704f7 | ||
|
|
60abe75379 | ||
|
|
c389fd3a49 | ||
|
|
db3fbe5228 | ||
|
|
4e3c70d241 | ||
|
|
84e80b51d1 | ||
|
|
d999db2f1e | ||
|
|
34700a6a15 | ||
|
|
7534221eba | ||
|
|
b8f8461d94 | ||
|
|
988232fabb | ||
|
|
e17c260335 | ||
|
|
f5e44a7e90 | ||
|
|
e468e266c4 | ||
|
|
fdf447b286 | ||
|
|
f13f45d59b | ||
|
|
693e40c2cd | ||
|
|
53eb37e9f9 | ||
|
|
886ed691d2 | ||
|
|
40cf4b44ed | ||
|
|
5c9626301b | ||
|
|
26402cb2de | ||
|
|
63dbda1caa | ||
|
|
558ddad8e8 | ||
|
|
187d3acb7f | ||
|
|
8738fc1be8 | ||
|
|
995a8cd181 | ||
|
|
445f3037ea | ||
|
|
4d36987c25 | ||
|
|
2142e5d851 | ||
|
|
452ff5bdc7 | ||
|
|
6d47df7ca0 | ||
|
|
5004e8846e | ||
|
|
feeaa688eb | ||
|
|
b2c5a5ac79 | ||
|
|
707060e2ee | ||
|
|
caca92be8a | ||
|
|
f6ecd99cec | ||
|
|
af9aeb9250 | ||
|
|
c2149ea7cd | ||
|
|
ffeedec023 | ||
|
|
a3914327f7 | ||
|
|
00154508de | ||
|
|
8fe8d9ed06 | ||
|
|
be9c627666 | ||
|
|
f4e5e86627 | ||
|
|
181ace28ed | ||
|
|
76d711c3b5 | ||
|
|
51971b3398 | ||
|
|
e9d47cd08b | ||
|
|
07e1da6bbd | ||
|
|
fffcfea984 | ||
|
|
11cb6e6e13 | ||
|
|
fa13eef3c9 | ||
|
|
309379fc98 | ||
|
|
530e7dfafd |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -42,6 +42,7 @@ gvimext.lib
|
||||
*.mo
|
||||
*.swp
|
||||
*~
|
||||
*.pyc
|
||||
src/po/vim.pot
|
||||
|
||||
# Generated by "make test"
|
||||
@@ -52,3 +53,4 @@ src/testdir/lua.vim
|
||||
src/testdir/small.vim
|
||||
src/testdir/tiny.vim
|
||||
src/testdir/test*.out
|
||||
src/testdir/test.log
|
||||
|
||||
9
Filelist
9
Filelist
@@ -57,6 +57,7 @@ SRC_ALL = \
|
||||
src/popupmnu.c \
|
||||
src/quickfix.c \
|
||||
src/regexp.c \
|
||||
src/regexp_nfa.c \
|
||||
src/regexp.h \
|
||||
src/screen.c \
|
||||
src/search.c \
|
||||
@@ -73,6 +74,7 @@ SRC_ALL = \
|
||||
src/version.c \
|
||||
src/version.h \
|
||||
src/vim.h \
|
||||
src/winclip.c \
|
||||
src/window.c \
|
||||
src/xxd/xxd.c \
|
||||
src/main.aap \
|
||||
@@ -82,6 +84,11 @@ SRC_ALL = \
|
||||
src/testdir/test49.vim \
|
||||
src/testdir/test60.vim \
|
||||
src/testdir/test83-tags? \
|
||||
src/testdir/python2/*.py \
|
||||
src/testdir/python3/*.py \
|
||||
src/testdir/pythonx/*.py \
|
||||
src/testdir/python_after/*.py \
|
||||
src/testdir/python_before/*.py \
|
||||
src/proto.h \
|
||||
src/proto/blowfish.pro \
|
||||
src/proto/buffer.pro \
|
||||
@@ -130,6 +137,7 @@ SRC_ALL = \
|
||||
src/proto/ui.pro \
|
||||
src/proto/undo.pro \
|
||||
src/proto/version.pro \
|
||||
src/proto/winclip.pro \
|
||||
src/proto/window.pro \
|
||||
|
||||
|
||||
@@ -444,6 +452,7 @@ SRC_EXTRA = \
|
||||
src/os_beos.c \
|
||||
src/os_beos.h \
|
||||
src/os_beos.rsrc \
|
||||
src/proto/os_beos.pro \
|
||||
src/os_mint.h \
|
||||
src/os_vms_fix.com \
|
||||
src/toolbar.phi \
|
||||
|
||||
20
runtime/autoload/clojurecomplete.vim
Normal file
20
runtime/autoload/clojurecomplete.vim
Normal file
File diff suppressed because one or more lines are too long
@@ -1,8 +1,8 @@
|
||||
" ---------------------------------------------------------------------
|
||||
" getscript.vim
|
||||
" Author: Charles E. Campbell, Jr.
|
||||
" Date: Jan 17, 2012
|
||||
" Version: 34
|
||||
" Author: Charles E. Campbell
|
||||
" Date: Apr 17, 2013
|
||||
" Version: 35
|
||||
" Installing: :help glvs-install
|
||||
" Usage: :help glvs
|
||||
"
|
||||
@@ -15,7 +15,7 @@
|
||||
if exists("g:loaded_getscript")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_getscript= "v34"
|
||||
let g:loaded_getscript= "v35"
|
||||
if &cp
|
||||
echoerr "GetLatestVimScripts is not vi-compatible; not loaded (you need to set nocp)"
|
||||
finish
|
||||
@@ -74,6 +74,11 @@ if !exists("g:GetLatestVimScripts_allowautoinstall")
|
||||
let g:GetLatestVimScripts_allowautoinstall= 1
|
||||
endif
|
||||
|
||||
" set up default scriptaddr address
|
||||
if !exists("g:GetLatestVimScripts_scriptaddr")
|
||||
let g:GetLatestVimScripts_scriptaddr = 'http://vim.sourceforge.net/script.php?script_id='
|
||||
endif
|
||||
|
||||
"" For debugging:
|
||||
"let g:GetLatestVimScripts_wget = "echo"
|
||||
"let g:GetLatestVimScripts_options = "options"
|
||||
@@ -314,7 +319,7 @@ fun! getscript#GetLatestVimScripts()
|
||||
if &mod
|
||||
silent! w!
|
||||
endif
|
||||
q
|
||||
q!
|
||||
|
||||
" restore events and current directory
|
||||
exe "cd ".fnameescape(substitute(origdir,'\','/','ge'))
|
||||
@@ -415,7 +420,7 @@ fun! s:GetOneScript(...)
|
||||
echo 'considering <'.aicmmnt.'> scriptid='.scriptid.' srcid='.srcid
|
||||
|
||||
" grab a copy of the plugin's vim.sourceforge.net webpage
|
||||
let scriptaddr = 'http://vim.sourceforge.net/script.php?script_id='.scriptid
|
||||
let scriptaddr = g:GetLatestVimScripts_scriptaddr.scriptid
|
||||
let tmpfile = tempname()
|
||||
let v:errmsg = ""
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,9 +1,9 @@
|
||||
" netrwFileHandlers: contains various extension-based file handlers for
|
||||
" netrw's browsers' x command ("eXecute launcher")
|
||||
" Author: Charles E. Campbell, Jr.
|
||||
" Date: Mar 14, 2012
|
||||
" Version: 11a
|
||||
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell, Jr. {{{1
|
||||
" Author: Charles E. Campbell
|
||||
" Date: May 03, 2013
|
||||
" Version: 11b ASTRO-ONLY
|
||||
" Copyright: Copyright (C) 1999-2012 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,7 +20,7 @@
|
||||
if exists("g:loaded_netrwFileHandlers") || &cp
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwFileHandlers= "v11a"
|
||||
let g:loaded_netrwFileHandlers= "v11b"
|
||||
if v:version < 702
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of netrwFileHandlers needs vim 7.2"
|
||||
@@ -34,10 +34,10 @@ set cpo&vim
|
||||
" netrwFileHandlers#Invoke: {{{1
|
||||
fun! netrwFileHandlers#Invoke(exten,fname)
|
||||
" call Dfunc("netrwFileHandlers#Invoke(exten<".a:exten."> fname<".a:fname.">)")
|
||||
let fname= a:fname
|
||||
let exten= a:exten
|
||||
" list of supported special characters. Consider rcs,v --- that can be
|
||||
" supported with a NFH_rcsCOMMAv() handler
|
||||
if a:fname =~ '[@:,$!=\-+%?;~]'
|
||||
if exten =~ '[@:,$!=\-+%?;~]'
|
||||
let specials= {
|
||||
\ '@' : 'AT',
|
||||
\ ':' : 'COLON',
|
||||
@@ -51,18 +51,18 @@ fun! netrwFileHandlers#Invoke(exten,fname)
|
||||
\ '?' : 'QUESTION',
|
||||
\ ';' : 'SEMICOLON',
|
||||
\ '~' : 'TILDE'}
|
||||
let fname= substitute(a:fname,'[@:,$!=\-+%?;~]','\=specials[submatch(0)]','ge')
|
||||
let exten= substitute(a:exten,'[@:,$!=\-+%?;~]','\=specials[submatch(0)]','ge')
|
||||
" call Decho('fname<'.fname.'> done with dictionary')
|
||||
endif
|
||||
|
||||
if a:exten != "" && exists("*NFH_".a:exten)
|
||||
if a:exten != "" && exists("*NFH_".exten)
|
||||
" support user NFH_*() functions
|
||||
" call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.fname.'")')
|
||||
exe "let ret= NFH_".a:exten.'("'.fname.'")'
|
||||
elseif a:exten != "" && exists("*s:NFH_".a:exten)
|
||||
exe "let ret= NFH_".exten.'("'.a:fname.'")'
|
||||
elseif a:exten != "" && exists("*s:NFH_".exten)
|
||||
" use builtin-NFH_*() functions
|
||||
" call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.fname.'")')
|
||||
exe "let ret= s:NFH_".a:exten.'("'.fname.'")'
|
||||
exe "let ret= s:NFH_".a:exten.'("'.a:fname.'")'
|
||||
endif
|
||||
|
||||
" call Dret("netrwFileHandlers#Invoke 0 : ret=".ret)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" netrwSettings.vim: makes netrw settings simpler
|
||||
" Date: Sep 03, 2008
|
||||
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
|
||||
" Version: 13
|
||||
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell, Jr. {{{1
|
||||
" Date: May 03, 2013
|
||||
" Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz>
|
||||
" Version: 14a ASTRO-ONLY
|
||||
" 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
|
||||
" notice is copied with it. Like anything else that's free,
|
||||
@@ -19,7 +19,7 @@
|
||||
if exists("g:loaded_netrwSettings") || &cp
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwSettings = "v13"
|
||||
let g:loaded_netrwSettings = "v14a"
|
||||
if v:version < 700
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of netrwSettings needs vim 7.0"
|
||||
@@ -63,7 +63,7 @@ fun! netrwSettings#NetrwSettings()
|
||||
endif
|
||||
|
||||
put ='+ ---------------------------------------------'
|
||||
put ='+ NetrwSettings: by Charles E. Campbell, Jr.'
|
||||
put ='+ NetrwSettings: by Charles E. Campbell'
|
||||
put ='+ Press <F1> with cursor atop any line for help'
|
||||
put ='+ ---------------------------------------------'
|
||||
let s:netrw_settings_stop= line(".")
|
||||
@@ -88,6 +88,7 @@ fun! netrwSettings#NetrwSettings()
|
||||
put = 'let g:netrw_ftpmode = '.g:netrw_ftpmode
|
||||
put = 'let g:netrw_ignorenetrc = '.g:netrw_ignorenetrc
|
||||
put = 'let g:netrw_sshport = '.g:netrw_sshport
|
||||
put = 'let g:netrw_silent = '.g:netrw_silent
|
||||
put = 'let g:netrw_use_nt_rcp = '.g:netrw_use_nt_rcp
|
||||
put = 'let g:netrw_win95ftp = '.g:netrw_win95ftp
|
||||
let s:netrw_xfer_stop= line(".")
|
||||
@@ -99,27 +100,50 @@ fun! netrwSettings#NetrwSettings()
|
||||
put ='+ Netrw Browser Control'
|
||||
put = 'let g:netrw_alto = '.g:netrw_alto
|
||||
put = 'let g:netrw_altv = '.g:netrw_altv
|
||||
put = 'let g:netrw_banner = '.g:netrw_banner
|
||||
if exists("g:netrw_bannerbackslash")
|
||||
put = 'let g:netrw_bannerbackslash = '.g:netrw_bannerbackslash
|
||||
else
|
||||
put = '\" let g:netrw_bannerbackslash = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_browse_split = '.g:netrw_browse_split
|
||||
if exists("g:netrw_browsex_viewer")
|
||||
put = 'let g:netrw_browsex_viewer = '.g:netrw_browsex_viewer
|
||||
put = 'let g:netrw_browsex_viewer = '.g:netrw_browsex_viewer
|
||||
else
|
||||
put = 'let g:netrw_browsex_viewer = (not defined)'
|
||||
put = '\" let g:netrw_browsex_viewer = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_compress = '.g:netrw_compress
|
||||
if exists("g:Netrw_corehandler")
|
||||
put = 'let g:Netrw_corehandler = '.g:Netrw_corehandler
|
||||
else
|
||||
put = '\" let g:Netrw_corehandler = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_ctags = '.g:netrw_ctags
|
||||
put = 'let g:netrw_cursor = '.g:netrw_cursor
|
||||
let decompressline= line("$")
|
||||
put ='let g:netrw_decompress...'
|
||||
put = 'let g:netrw_decompress = '.string(g:netrw_decompress)
|
||||
if exists("g:netrw_dynamic_maxfilenamelen")
|
||||
put = 'let g:netrw_dynamic_maxfilenamelen='.g:netrw_dynamic_maxfilenamelen
|
||||
else
|
||||
put = '\" let g:netrw_dynamic_maxfilenamelen= (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax
|
||||
put = 'let g:netrw_errorlvl = '.g:netrw_errorlvl
|
||||
put = 'let g:netrw_fastbrowse = '.g:netrw_fastbrowse
|
||||
let fnameescline= line("$")
|
||||
put = 'let g:netrw_fname_escape...'
|
||||
put = 'let g:netrw_fname_escape = '.string(g:netrw_fname_escape)
|
||||
put = 'let g:netrw_ftp_browse_reject = '.g:netrw_ftp_browse_reject
|
||||
put = 'let g:netrw_ftp_list_cmd = '.g:netrw_ftp_list_cmd
|
||||
put = 'let g:netrw_ftp_sizelist_cmd = '.g:netrw_ftp_sizelist_cmd
|
||||
put = 'let g:netrw_ftp_timelist_cmd = '.g:netrw_ftp_timelist_cmd
|
||||
let globescline= line("$")
|
||||
put ='let g:netrw_glob_escape...'
|
||||
put = 'let g:netrw_glob_escape = '.string(g:netrw_glob_escape)
|
||||
put = 'let g:netrw_hide = '.g:netrw_hide
|
||||
if exists("g:netrw_home")
|
||||
put = 'let g:netrw_home = '.g:netrw_home
|
||||
else
|
||||
put = '\" let g:netrw_home = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_keepdir = '.g:netrw_keepdir
|
||||
put = 'let g:netrw_list_cmd = '.g:netrw_list_cmd
|
||||
put = 'let g:netrw_list_hide = '.g:netrw_list_hide
|
||||
@@ -127,23 +151,30 @@ fun! netrwSettings#NetrwSettings()
|
||||
put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd
|
||||
put = 'let g:netrw_localmkdir = '.g:netrw_localmkdir
|
||||
put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
|
||||
put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir
|
||||
put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir
|
||||
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
|
||||
put = 'let g:netrw_menu = '.g:netrw_menu
|
||||
put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps
|
||||
put = 'let g:netrw_mkdir_cmd = '.g:netrw_mkdir_cmd
|
||||
if exists("g:netrw_nobeval")
|
||||
put = 'let g:netrw_nobeval = '.g:netrw_nobeval
|
||||
else
|
||||
put = '\" let g:netrw_nobeval = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_remote_mkdir = '.g:netrw_remote_mkdir
|
||||
put = 'let g:netrw_preview = '.g:netrw_preview
|
||||
put = 'let g:netrw_rename_cmd = '.g:netrw_rename_cmd
|
||||
put = 'let g:netrw_retmap = '.g:netrw_retmap
|
||||
put = 'let g:netrw_rm_cmd = '.g:netrw_rm_cmd
|
||||
put = 'let g:netrw_rmdir_cmd = '.g:netrw_rmdir_cmd
|
||||
put = 'let g:netrw_rmf_cmd = '.g:netrw_rmf_cmd
|
||||
put = 'let g:netrw_silent = '.g:netrw_silent
|
||||
put = 'let g:netrw_sort_by = '.g:netrw_sort_by
|
||||
put = 'let g:netrw_sort_direction = '.g:netrw_sort_direction
|
||||
put = 'let g:netrw_sort_options = '.g:netrw_sort_options
|
||||
put = 'let g:netrw_sort_sequence = '.g:netrw_sort_sequence
|
||||
put = 'let g:netrw_special_syntax = '.g:netrw_special_syntax
|
||||
put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject
|
||||
put = 'let g:netrw_ssh_cmd = '.g:netrw_ssh_cmd
|
||||
put = 'let g:netrw_scpport = '.g:netrw_scpport
|
||||
put = 'let g:netrw_sepchr = '.g:netrw_sepchr
|
||||
put = 'let g:netrw_sshport = '.g:netrw_sshport
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
" Vim completion script
|
||||
" Language: Ruby
|
||||
" Maintainer: Mark Guzman <segfault@hasno.info>
|
||||
" Last Change: 2009 Sep 28
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" Maintainer Version: 0.8.1
|
||||
" ----------------------------------------------------------------------------
|
||||
@@ -12,16 +10,23 @@
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
" {{{ requirement checks
|
||||
|
||||
function! s:ErrMsg(msg)
|
||||
echohl ErrorMsg
|
||||
echo a:msg
|
||||
echohl None
|
||||
endfunction
|
||||
|
||||
if !has('ruby')
|
||||
s:ErrMsg( "Error: Rubycomplete requires vim compiled with +ruby" )
|
||||
s:ErrMsg( "Error: falling back to syntax completion" )
|
||||
call s:ErrMsg( "Error: Rubycomplete requires vim compiled with +ruby" )
|
||||
call s:ErrMsg( "Error: falling back to syntax completion" )
|
||||
" lets fall back to syntax completion
|
||||
setlocal omnifunc=syntaxcomplete#Complete
|
||||
finish
|
||||
endif
|
||||
|
||||
if version < 700
|
||||
s:ErrMsg( "Error: Required vim >= 7.0" )
|
||||
call s:ErrMsg( "Error: Required vim >= 7.0" )
|
||||
finish
|
||||
endif
|
||||
" }}} requirement checks
|
||||
@@ -51,12 +56,6 @@ endif
|
||||
" {{{ vim-side support functions
|
||||
let s:rubycomplete_debug = 0
|
||||
|
||||
function! s:ErrMsg(msg)
|
||||
echohl ErrorMsg
|
||||
echo a:msg
|
||||
echohl None
|
||||
endfunction
|
||||
|
||||
function! s:dprint(msg)
|
||||
if s:rubycomplete_debug == 1
|
||||
echom a:msg
|
||||
@@ -133,7 +132,7 @@ function! s:GetRubyVarType(v)
|
||||
let stopline = 1
|
||||
let vtp = ''
|
||||
let pos = getpos('.')
|
||||
let sstr = '^\s*#\s*@var\s*'.a:v.'\>\s\+[^ \t]\+\s*$'
|
||||
let sstr = '^\s*#\s*@var\s*'.escape(a:v, '*').'\>\s\+[^ \t]\+\s*$'
|
||||
let [lnum,lcol] = searchpos(sstr,'nb',stopline)
|
||||
if lnum != 0 && lcol != 0
|
||||
call setpos('.',pos)
|
||||
@@ -275,7 +274,7 @@ class VimRubyCompletion
|
||||
pare = /^\s*class\s*(.*)\s*<\s*(.*)\s*\n/.match( classdef )
|
||||
load_buffer_class( $2 ) if pare != nil && $2 != name # load parent class if needed
|
||||
|
||||
mixre = /.*\n\s*include\s*(.*)\s*\n/.match( classdef )
|
||||
mixre = /.*\n\s*(include|prepend)\s*(.*)\s*\n/.match( classdef )
|
||||
load_buffer_module( $2 ) if mixre != nil && $2 != name # load mixins if needed
|
||||
|
||||
begin
|
||||
@@ -364,6 +363,10 @@ class VimRubyCompletion
|
||||
print txt if @@debug
|
||||
end
|
||||
|
||||
def escape_vim_singlequote_string(str)
|
||||
str.to_s.gsub(/'/,"\\'")
|
||||
end
|
||||
|
||||
def get_buffer_entity_list( type )
|
||||
# this will be a little expensive.
|
||||
loading_allowed = VIM::evaluate("exists('g:rubycomplete_buffer_loading') && g:rubycomplete_buffer_loading")
|
||||
@@ -526,9 +529,9 @@ class VimRubyCompletion
|
||||
end
|
||||
|
||||
def clean_sel(sel, msg)
|
||||
sel.delete_if { |x| x == nil }
|
||||
sel.uniq!
|
||||
sel.grep(/^#{Regexp.quote(msg)}/) if msg != nil
|
||||
ret = sel.reject{|x|x.nil?}.uniq
|
||||
ret = ret.grep(/^#{Regexp.quote(msg)}/) if msg != nil
|
||||
ret
|
||||
end
|
||||
|
||||
def get_rails_view_methods
|
||||
@@ -767,10 +770,10 @@ class VimRubyCompletion
|
||||
constants = clean_sel( constants, message )
|
||||
|
||||
valid = []
|
||||
valid += methods.collect { |m| { :name => m, :type => 'm' } }
|
||||
valid += variables.collect { |v| { :name => v, :type => 'v' } }
|
||||
valid += classes.collect { |c| { :name => c, :type => 't' } }
|
||||
valid += constants.collect { |d| { :name => d, :type => 'd' } }
|
||||
valid += methods.collect { |m| { :name => m.to_s, :type => 'm' } }
|
||||
valid += variables.collect { |v| { :name => v.to_s, :type => 'v' } }
|
||||
valid += classes.collect { |c| { :name => c.to_s, :type => 't' } }
|
||||
valid += constants.collect { |d| { :name => d.to_s, :type => 'd' } }
|
||||
valid.sort! { |x,y| x[:name] <=> y[:name] }
|
||||
|
||||
outp = ""
|
||||
@@ -779,7 +782,7 @@ class VimRubyCompletion
|
||||
rg.step(150) do |x|
|
||||
stpos = 0+x
|
||||
enpos = 150+x
|
||||
valid[stpos..enpos].each { |c| outp += "{'word':'%s','item':'%s','kind':'%s'}," % [ c[:name], c[:name], c[:type] ] }
|
||||
valid[stpos..enpos].each { |c| outp += "{'word':'%s','item':'%s','kind':'%s'}," % [ c[:name], c[:name], c[:type] ].map{|x|escape_vim_singlequote_string(x)} }
|
||||
outp.sub!(/,$/, '')
|
||||
|
||||
VIM::command("call extend(g:rubycomplete_completions, [%s])" % outp)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim OMNI completion script for SQL
|
||||
" Language: SQL
|
||||
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
||||
" Version: 14.0
|
||||
" Last Change: 2012 Dec 04
|
||||
" Version: 15.0
|
||||
" Last Change: 2013 May 13
|
||||
" Homepage: http://www.vim.org/scripts/script.php?script_id=1572
|
||||
" Usage: For detailed help
|
||||
" ":help sql.txt"
|
||||
@@ -11,6 +11,18 @@
|
||||
|
||||
" History
|
||||
"
|
||||
" TODO
|
||||
" - Jonas Enberg - if no table is found when using column completion
|
||||
" look backwards to a FROM clause and find the first table
|
||||
" and complete it.
|
||||
"
|
||||
" Version 15.0 (May 2013)
|
||||
" - NF: Changed the SQL precached syntax items, omni_sql_precache_syntax_groups,
|
||||
" to use regular expressions to pick up extended syntax group names.
|
||||
" This requires an updated SyntaxComplete plugin version 13.0.
|
||||
" If the required versions have not been installed, previous
|
||||
" behaviour will not be impacted.
|
||||
"
|
||||
" Version 14.0 (Dec 2012)
|
||||
" - BF: Added check for cpo
|
||||
"
|
||||
@@ -91,7 +103,7 @@ endif
|
||||
if exists('g:loaded_sql_completion')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_sql_completion = 130
|
||||
let g:loaded_sql_completion = 150
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
@@ -110,12 +122,14 @@ let s:syn_value = []
|
||||
" Used in conjunction with the syntaxcomplete plugin
|
||||
let s:save_inc = ""
|
||||
let s:save_exc = ""
|
||||
if exists('g:omni_syntax_group_include_sql')
|
||||
let s:save_inc = g:omni_syntax_group_include_sql
|
||||
if !exists('g:omni_syntax_group_include_sql')
|
||||
let g:omni_syntax_group_include_sql = ''
|
||||
endif
|
||||
if exists('g:omni_syntax_group_exclude_sql')
|
||||
let s:save_exc = g:omni_syntax_group_exclude_sql
|
||||
if !exists('g:omni_syntax_group_exclude_sql')
|
||||
let g:omni_syntax_group_exclude_sql = ''
|
||||
endif
|
||||
let s:save_inc = g:omni_syntax_group_include_sql
|
||||
let s:save_exc = g:omni_syntax_group_exclude_sql
|
||||
|
||||
" Used with the column list
|
||||
let s:save_prev_table = ""
|
||||
@@ -127,12 +141,12 @@ endif
|
||||
" Default syntax items to precache
|
||||
if !exists('g:omni_sql_precache_syntax_groups')
|
||||
let g:omni_sql_precache_syntax_groups = [
|
||||
\ 'syntax',
|
||||
\ 'sqlKeyword',
|
||||
\ 'sqlFunction',
|
||||
\ 'sqlOption',
|
||||
\ 'sqlType',
|
||||
\ 'sqlStatement'
|
||||
\ 'syntax\w*',
|
||||
\ 'sqlKeyword\w*',
|
||||
\ 'sqlFunction\w*',
|
||||
\ 'sqlOption\w*',
|
||||
\ 'sqlType\w*',
|
||||
\ 'sqlStatement\w*'
|
||||
\ ]
|
||||
endif
|
||||
" Set ignorecase to the ftplugin standard
|
||||
@@ -621,19 +635,23 @@ function! s:SQLCGetSyntaxList(syn_group)
|
||||
" Return previously cached value
|
||||
let compl_list = s:syn_value[list_idx]
|
||||
else
|
||||
let s:save_inc = g:omni_syntax_group_include_sql
|
||||
let s:save_exc = g:omni_syntax_group_exclude_sql
|
||||
let g:omni_syntax_group_include_sql = ''
|
||||
let g:omni_syntax_group_exclude_sql = ''
|
||||
|
||||
" Request the syntax list items from the
|
||||
" syntax completion plugin
|
||||
if syn_group == 'syntax'
|
||||
" Handle this special case. This allows the user
|
||||
" to indicate they want all the syntax items available,
|
||||
" so do not specify a specific include list.
|
||||
let g:omni_syntax_group_include_sql = ''
|
||||
let syn_value = syntaxcomplete#OmniSyntaxList()
|
||||
else
|
||||
" The user has specified a specific syntax group
|
||||
let g:omni_syntax_group_include_sql = syn_group
|
||||
let syn_value = syntaxcomplete#OmniSyntaxList(syn_group)
|
||||
endif
|
||||
let g:omni_syntax_group_exclude_sql = ''
|
||||
let syn_value = syntaxcomplete#OmniSyntaxList()
|
||||
let g:omni_syntax_group_include_sql = s:save_inc
|
||||
let g:omni_syntax_group_exclude_sql = s:save_exc
|
||||
" Cache these values for later use
|
||||
|
||||
@@ -1,18 +1,34 @@
|
||||
" Vim completion script
|
||||
" Language: All languages, uses existing syntax highlighting rules
|
||||
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
||||
" Version: 11.0
|
||||
" Last Change: 2012 Dec 04
|
||||
" Version: 13.0
|
||||
" Last Change: 2013 May 14
|
||||
" Usage: For detailed help, ":help ft-syntax-omni"
|
||||
|
||||
" History
|
||||
"
|
||||
" Version 13.0
|
||||
" - Extended the option omni_syntax_group_include_{filetype}
|
||||
" to accept a comma separated list of regex's rather than
|
||||
" string. For example, for the javascript filetype you could
|
||||
" use:
|
||||
" let g:omni_syntax_group_include_javascript = 'javascript\w\+,jquery\w\+'
|
||||
" - Some syntax files (perl.vim) use the match // syntax as a mechanism
|
||||
" to identify keywords. This update attempts to parse the
|
||||
" match syntax and pull out syntax items which are at least
|
||||
" 3 words or more.
|
||||
"
|
||||
" Version 12.0
|
||||
" - It is possible to have '-' as part of iskeyword, when
|
||||
" checking for character ranges, tighten up the regex.
|
||||
" E688: More targets than List items.
|
||||
"
|
||||
" Version 11.0
|
||||
" Corrected which characters required escaping during
|
||||
" - Corrected which characters required escaping during
|
||||
" substitution calls.
|
||||
"
|
||||
" Version 10.0
|
||||
" Cycle through all the character ranges specified in the
|
||||
" - Cycle through all the character ranges specified in the
|
||||
" iskeyword option and build a list of valid word separators.
|
||||
" Prior to this change, only actual characters were used,
|
||||
" where for example ASCII "45" == "-". If "45" were used
|
||||
@@ -20,30 +36,30 @@
|
||||
" This introduces a new option, since the character ranges
|
||||
" specified could be multibyte:
|
||||
" let g:omni_syntax_use_single_byte = 1
|
||||
" This by default will only allow single byte ASCII
|
||||
" - This by default will only allow single byte ASCII
|
||||
" characters to be added and an additional check to ensure
|
||||
" the charater is printable (see documentation for isprint).
|
||||
"
|
||||
" Version 9.0
|
||||
" Add the check for cpo.
|
||||
" - Add the check for cpo.
|
||||
"
|
||||
" Version 8.0
|
||||
" Updated SyntaxCSyntaxGroupItems()
|
||||
" - Updated SyntaxCSyntaxGroupItems()
|
||||
" - Some additional syntax items were also allowed
|
||||
" on nextgroup= lines which were ignored by default.
|
||||
" Now these lines are processed independently.
|
||||
"
|
||||
" Version 7.0
|
||||
" Updated syntaxcomplete#OmniSyntaxList()
|
||||
" - Updated syntaxcomplete#OmniSyntaxList()
|
||||
" - Looking up the syntax groups defined from a syntax file
|
||||
" looked for only 1 format of {filetype}GroupName, but some
|
||||
" syntax writers use this format as well:
|
||||
" {b:current_syntax}GroupName
|
||||
" OmniSyntaxList() will now check for both if the first
|
||||
" - OmniSyntaxList() will now check for both if the first
|
||||
" method does not find a match.
|
||||
"
|
||||
" Version 6.0
|
||||
" Added syntaxcomplete#OmniSyntaxList()
|
||||
" - Added syntaxcomplete#OmniSyntaxList()
|
||||
" - Allows other plugins to use this for their own
|
||||
" purposes.
|
||||
" - It will return a List of all syntax items for the
|
||||
@@ -52,7 +68,7 @@
|
||||
" sqlcomplete plugin to populate a Choose box.
|
||||
"
|
||||
" Version 5.0
|
||||
" Updated SyntaxCSyntaxGroupItems()
|
||||
" - Updated SyntaxCSyntaxGroupItems()
|
||||
" - When processing a list of syntax groups, the final group
|
||||
" was missed in function SyntaxCSyntaxGroupItems.
|
||||
"
|
||||
@@ -70,7 +86,7 @@ endif
|
||||
if exists('g:loaded_syntax_completion')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntax_completion = 110
|
||||
let g:loaded_syntax_completion = 130
|
||||
|
||||
" Turn on support for line continuations when creating the script
|
||||
let s:cpo_save = &cpo
|
||||
@@ -113,7 +129,8 @@ endif
|
||||
|
||||
" This script will build a completion list based on the syntax
|
||||
" elements defined by the files in $VIMRUNTIME/syntax.
|
||||
let s:syn_remove_words = 'match,matchgroup=,contains,'.
|
||||
" let s:syn_remove_words = 'match,matchgroup=,contains,'.
|
||||
let s:syn_remove_words = 'matchgroup=,contains,'.
|
||||
\ 'links to,start=,end='
|
||||
" \ 'links to,start=,end=,nextgroup='
|
||||
|
||||
@@ -275,9 +292,19 @@ function! OmniSyntaxList(...)
|
||||
" sqlType
|
||||
" sqlOperators
|
||||
" sqlKeyword ...
|
||||
redir @l
|
||||
silent! exec 'syntax list '.join(list_parms)
|
||||
redir END
|
||||
if !empty(list_parms) && empty(substitute(join(list_parms), '[a-zA-Z ]', '', 'g'))
|
||||
" If list_parms only includes word characters, use it to limit
|
||||
" the syntax elements.
|
||||
" If using regex syntax list will fail to find those items, so
|
||||
" simply grab the who syntax list.
|
||||
redir @l
|
||||
silent! exec 'syntax list '.join(list_parms)
|
||||
redir END
|
||||
else
|
||||
redir @l
|
||||
silent! exec 'syntax list'
|
||||
redir END
|
||||
endif
|
||||
|
||||
let syntax_full = "\n".@l
|
||||
let @l = saveL
|
||||
@@ -311,82 +338,167 @@ function! OmniSyntaxList(...)
|
||||
endif
|
||||
endif
|
||||
|
||||
" Sometimes filetypes can be composite names, like c.doxygen
|
||||
" Loop through each individual part looking for the syntax
|
||||
" items specific to each individual filetype.
|
||||
if empty(list_parms)
|
||||
let list_parms = [&filetype.'\w\+']
|
||||
endif
|
||||
|
||||
let syn_list = ''
|
||||
let ftindex = 0
|
||||
let ftindex = match(&filetype, '\w\+', ftindex)
|
||||
let index = 0
|
||||
for group_regex in list_parms
|
||||
" Sometimes filetypes can be composite names, like c.doxygen
|
||||
" Loop through each individual part looking for the syntax
|
||||
" items specific to each individual filetype.
|
||||
" let ftindex = 0
|
||||
" let ftindex = match(syntax_full, group_regex, ftindex)
|
||||
|
||||
while ftindex > -1
|
||||
let ft_part_name = matchstr( &filetype, '\w\+', ftindex )
|
||||
" while ftindex > -1
|
||||
" let ft_part_name = matchstr( syntax_full, '\w\+', ftindex )
|
||||
|
||||
" Syntax rules can contain items for more than just the current
|
||||
" filetype. They can contain additional items added by the user
|
||||
" via autocmds or their vimrc.
|
||||
" Some syntax files can be combined (html, php, jsp).
|
||||
" We want only items that begin with the filetype we are interested in.
|
||||
let next_group_regex = '\n' .
|
||||
\ '\zs'.ft_part_name.'\w\+\ze'.
|
||||
\ '\s\+xxx\s\+'
|
||||
let index = 0
|
||||
let index = match(syntax_full, next_group_regex, index)
|
||||
|
||||
if index == -1 && exists('b:current_syntax') && ft_part_name != b:current_syntax
|
||||
" There appears to be two standards when writing syntax files.
|
||||
" Either items begin as:
|
||||
" syn keyword {filetype}Keyword values ...
|
||||
" let b:current_syntax = "sql"
|
||||
" let b:current_syntax = "sqlanywhere"
|
||||
" Or
|
||||
" syn keyword {syntax_filename}Keyword values ...
|
||||
" let b:current_syntax = "mysql"
|
||||
" So, we will make the format of finding the syntax group names
|
||||
" a bit more flexible and look for both if the first fails to
|
||||
" find a match.
|
||||
" Syntax rules can contain items for more than just the current
|
||||
" filetype. They can contain additional items added by the user
|
||||
" via autocmds or their vimrc.
|
||||
" Some syntax files can be combined (html, php, jsp).
|
||||
" We want only items that begin with the filetype we are interested in.
|
||||
let next_group_regex = '\n' .
|
||||
\ '\zs'.b:current_syntax.'\w\+\ze'.
|
||||
\ '\zs'.group_regex.'\ze'.
|
||||
\ '\s\+xxx\s\+'
|
||||
let index = 0
|
||||
let index = match(syntax_full, next_group_regex, index)
|
||||
endif
|
||||
|
||||
while index > -1
|
||||
let group_name = matchstr( syntax_full, '\w\+', index )
|
||||
|
||||
let get_syn_list = 1
|
||||
for exclude_group_name in list_exclude_groups
|
||||
if '\<'.exclude_group_name.'\>' =~ '\<'.group_name.'\>'
|
||||
let get_syn_list = 0
|
||||
endif
|
||||
endfor
|
||||
|
||||
" This code is no longer needed in version 6.0 since we have
|
||||
" augmented the syntax list command to only retrieve the syntax
|
||||
" groups we are interested in.
|
||||
"
|
||||
" if get_syn_list == 1
|
||||
" if syntax_group_include_{filetype} != ''
|
||||
" if '\<'.syntax_group_include_{filetype}.'\>' !~ '\<'.group_name.'\>'
|
||||
" let get_syn_list = 0
|
||||
" endif
|
||||
" endif
|
||||
" endif
|
||||
|
||||
if get_syn_list == 1
|
||||
" Pass in the full syntax listing, plus the group name we
|
||||
" are interested in.
|
||||
let extra_syn_list = s:SyntaxCSyntaxGroupItems(group_name, syntax_full)
|
||||
let syn_list = syn_list . extra_syn_list . "\n"
|
||||
" For the matched group name, strip off any of the regex special
|
||||
" characters and see if we get a match with the current syntax
|
||||
if index == -1 && exists('b:current_syntax') && substitute(group_regex, '[^a-zA-Z ]\+.*', '', 'g') !~ '^'.b:current_syntax
|
||||
" There appears to be two standards when writing syntax files.
|
||||
" Either items begin as:
|
||||
" syn keyword {filetype}Keyword values ...
|
||||
" let b:current_syntax = "sql"
|
||||
" let b:current_syntax = "sqlanywhere"
|
||||
" Or
|
||||
" syn keyword {syntax_filename}Keyword values ...
|
||||
" let b:current_syntax = "mysql"
|
||||
" So, we will make the format of finding the syntax group names
|
||||
" a bit more flexible and look for both if the first fails to
|
||||
" find a match.
|
||||
let next_group_regex = '\n' .
|
||||
\ '\zs'.b:current_syntax.'\w\+\ze'.
|
||||
\ '\s\+xxx\s\+'
|
||||
let index = 0
|
||||
let index = match(syntax_full, next_group_regex, index)
|
||||
endif
|
||||
|
||||
let index = index + strlen(group_name)
|
||||
let index = match(syntax_full, next_group_regex, index)
|
||||
endwhile
|
||||
while index > -1
|
||||
let group_name = matchstr( syntax_full, '\w\+', index )
|
||||
|
||||
let ftindex = ftindex + len(ft_part_name)
|
||||
let ftindex = match( &filetype, '\w\+', ftindex )
|
||||
endwhile
|
||||
let get_syn_list = 1
|
||||
for exclude_group_name in list_exclude_groups
|
||||
if '\<'.exclude_group_name.'\>' =~ '\<'.group_name.'\>'
|
||||
let get_syn_list = 0
|
||||
endif
|
||||
endfor
|
||||
|
||||
" This code is no longer needed in version 6.0 since we have
|
||||
" augmented the syntax list command to only retrieve the syntax
|
||||
" groups we are interested in.
|
||||
"
|
||||
" if get_syn_list == 1
|
||||
" if syntax_group_include_{filetype} != ''
|
||||
" if '\<'.syntax_group_include_{filetype}.'\>' !~ '\<'.group_name.'\>'
|
||||
" let get_syn_list = 0
|
||||
" endif
|
||||
" endif
|
||||
" endif
|
||||
|
||||
if get_syn_list == 1
|
||||
" Pass in the full syntax listing, plus the group name we
|
||||
" are interested in.
|
||||
let extra_syn_list = s:SyntaxCSyntaxGroupItems(group_name, syntax_full)
|
||||
let syn_list = syn_list . extra_syn_list . "\n"
|
||||
endif
|
||||
|
||||
let index = index + strlen(group_name)
|
||||
let index = match(syntax_full, next_group_regex, index)
|
||||
endwhile
|
||||
|
||||
" let ftindex = ftindex + len(ft_part_name)
|
||||
" let ftindex = match( syntax_full, group_regex, ftindex )
|
||||
" endwhile
|
||||
endfor
|
||||
|
||||
" " Sometimes filetypes can be composite names, like c.doxygen
|
||||
" " Loop through each individual part looking for the syntax
|
||||
" " items specific to each individual filetype.
|
||||
" let syn_list = ''
|
||||
" let ftindex = 0
|
||||
" let ftindex = match(&filetype, '\w\+', ftindex)
|
||||
|
||||
" while ftindex > -1
|
||||
" let ft_part_name = matchstr( &filetype, '\w\+', ftindex )
|
||||
|
||||
" " Syntax rules can contain items for more than just the current
|
||||
" " filetype. They can contain additional items added by the user
|
||||
" " via autocmds or their vimrc.
|
||||
" " Some syntax files can be combined (html, php, jsp).
|
||||
" " We want only items that begin with the filetype we are interested in.
|
||||
" let next_group_regex = '\n' .
|
||||
" \ '\zs'.ft_part_name.'\w\+\ze'.
|
||||
" \ '\s\+xxx\s\+'
|
||||
" let index = 0
|
||||
" let index = match(syntax_full, next_group_regex, index)
|
||||
|
||||
" if index == -1 && exists('b:current_syntax') && ft_part_name != b:current_syntax
|
||||
" " There appears to be two standards when writing syntax files.
|
||||
" " Either items begin as:
|
||||
" " syn keyword {filetype}Keyword values ...
|
||||
" " let b:current_syntax = "sql"
|
||||
" " let b:current_syntax = "sqlanywhere"
|
||||
" " Or
|
||||
" " syn keyword {syntax_filename}Keyword values ...
|
||||
" " let b:current_syntax = "mysql"
|
||||
" " So, we will make the format of finding the syntax group names
|
||||
" " a bit more flexible and look for both if the first fails to
|
||||
" " find a match.
|
||||
" let next_group_regex = '\n' .
|
||||
" \ '\zs'.b:current_syntax.'\w\+\ze'.
|
||||
" \ '\s\+xxx\s\+'
|
||||
" let index = 0
|
||||
" let index = match(syntax_full, next_group_regex, index)
|
||||
" endif
|
||||
|
||||
" while index > -1
|
||||
" let group_name = matchstr( syntax_full, '\w\+', index )
|
||||
|
||||
" let get_syn_list = 1
|
||||
" for exclude_group_name in list_exclude_groups
|
||||
" if '\<'.exclude_group_name.'\>' =~ '\<'.group_name.'\>'
|
||||
" let get_syn_list = 0
|
||||
" endif
|
||||
" endfor
|
||||
|
||||
" " This code is no longer needed in version 6.0 since we have
|
||||
" " augmented the syntax list command to only retrieve the syntax
|
||||
" " groups we are interested in.
|
||||
" "
|
||||
" " if get_syn_list == 1
|
||||
" " if syntax_group_include_{filetype} != ''
|
||||
" " if '\<'.syntax_group_include_{filetype}.'\>' !~ '\<'.group_name.'\>'
|
||||
" " let get_syn_list = 0
|
||||
" " endif
|
||||
" " endif
|
||||
" " endif
|
||||
|
||||
" if get_syn_list == 1
|
||||
" " Pass in the full syntax listing, plus the group name we
|
||||
" " are interested in.
|
||||
" let extra_syn_list = s:SyntaxCSyntaxGroupItems(group_name, syntax_full)
|
||||
" let syn_list = syn_list . extra_syn_list . "\n"
|
||||
" endif
|
||||
|
||||
" let index = index + strlen(group_name)
|
||||
" let index = match(syntax_full, next_group_regex, index)
|
||||
" endwhile
|
||||
|
||||
" let ftindex = ftindex + len(ft_part_name)
|
||||
" let ftindex = match( &filetype, '\w\+', ftindex )
|
||||
" endwhile
|
||||
|
||||
" Convert the string to a List and sort it.
|
||||
let compl_list = sort(split(syn_list))
|
||||
@@ -454,10 +566,65 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
|
||||
\ , "\n", 'g'
|
||||
\ )
|
||||
|
||||
" Attempt to deal with lines using the match syntax
|
||||
" javaScriptDocTags xxx match /@\(param\|argument\|requires\|file\)\>/
|
||||
" Though it can use any types of regex, so this plugin will attempt
|
||||
" to restrict it
|
||||
" 1. Only use \( or \%( constructs remove all else
|
||||
" 2 Remove and []s
|
||||
" 3. Account for match //constructs
|
||||
" \%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?
|
||||
" 4. Hope for the best
|
||||
"
|
||||
"
|
||||
let syn_list_old = syn_list
|
||||
while syn_list =~ '\<match\>\s\+\/'
|
||||
if syn_list =~ 'perlElseIfError'
|
||||
let syn_list = syn_list
|
||||
endif
|
||||
" Check if the match has words at least 3 characters long
|
||||
if syn_list =~ '\<match \/\zs.\{-}\<\w\{3,}\>.\{-}\ze\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+'
|
||||
" Remove everything after / and before the first \(
|
||||
let syn_list = substitute( syn_list, '\<match \/\zs.\{-}\ze\\%\?(.\{-}\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
|
||||
" Remove everything after \) and up to the ending /
|
||||
let syn_list = substitute( syn_list, '\<match \/.\{-}\\)\zs.\{-}\ze\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
|
||||
|
||||
" Remove any character classes
|
||||
" let syn_list = substitute( syn_list, '\<match /\zs.\{-}\[[^]]*\].\{-}\ze\/ ', '', 'g' )
|
||||
let syn_list = substitute( syn_list, '\%(\<match \/[^/]\{-}\)\@<=\[[^]]*\]\ze.\{-}\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?', '', 'g' )
|
||||
" Remove any words < 3 characters
|
||||
let syn_list = substitute( syn_list, '\%(\<match \/[^/]\{-}\)\@<=\<\w\{1,2}\>\ze.\{-}\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
|
||||
" Remove all non-word characters
|
||||
" let syn_list = substitute( syn_list, '\<match /\zs.\{-}\<\W\+\>.\{-}\ze\/ ', "", 'g' )
|
||||
" let syn_list = substitute( syn_list, '\%(\<match \/[^/]\{-}\)\@<=\W\+\ze.\{-}\/ ', ' ', 'g' )
|
||||
" Do this by using the outer substitue() call to gather all
|
||||
" text between the match /.../ tags.
|
||||
" The inner substitute() call operates on the text selected
|
||||
" and replaces all non-word characters.
|
||||
let syn_list = substitute( syn_list, '\<match \/\zs\(.\{-}\)\ze\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+'
|
||||
\ , '\=substitute(submatch(1), "\\W\\+", " ", "g")'
|
||||
\ , 'g' )
|
||||
" Remove the match / / syntax
|
||||
let syn_list = substitute( syn_list, '\<match \/\(.\{-}\)\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '\1', 'g' )
|
||||
else
|
||||
" No words long enough, remove the match
|
||||
" Remove the match syntax
|
||||
" let syn_list = substitute( syn_list, '\<match \/[^\/]*\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
|
||||
let syn_list = substitute( syn_list, '\<match \/\%(.\{-}\)\?\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
|
||||
endif
|
||||
if syn_list =~ '\<match\>\s\+\/'
|
||||
" Problem removing the match / / tags
|
||||
let syn_list = ''
|
||||
endif
|
||||
endwhile
|
||||
|
||||
|
||||
" Now strip off the newline + blank space + contained.
|
||||
" Also include lines with nextgroup=@someName skip_key_words syntax_element
|
||||
" \ syn_list, '\%(^\|\n\)\@<=\s*\<\(contained\|nextgroup=\)'
|
||||
" \ syn_list, '\%(^\|\n\)\@<=\s*\<\(contained\|nextgroup=[@a-zA-Z,]*\)'
|
||||
let syn_list = substitute(
|
||||
\ syn_list, '\%(^\|\n\)\@<=\s*\<\(contained\|nextgroup=\)'
|
||||
\ syn_list, '\<\(contained\|nextgroup=[@a-zA-Z,]*\)'
|
||||
\ , "", 'g'
|
||||
\ )
|
||||
|
||||
@@ -497,7 +664,7 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
|
||||
" If so, add it to the list.
|
||||
let accepted_chars = ''
|
||||
for item in split(&iskeyword, ',')
|
||||
if item =~ '-'
|
||||
if item =~ '\d-\d'
|
||||
" This is a character range (ie 47-58),
|
||||
" cycle through each character within the range
|
||||
let [b:start, b:end] = split(item, '-')
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
" tar.vim: Handles browsing tarfiles
|
||||
" AUTOLOAD PORTION
|
||||
" Date: Jan 17, 2012
|
||||
" Version: 28
|
||||
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" Date: Apr 17, 2013
|
||||
" Version: 29
|
||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" License: Vim License (see vim's :help license)
|
||||
"
|
||||
" Contains many ideas from Michael Toren's <tar.vim>
|
||||
"
|
||||
" Copyright: Copyright (C) 2005-2011 Charles E. Campbell, Jr. {{{1
|
||||
" Copyright: Copyright (C) 2005-2011 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,
|
||||
@@ -22,7 +22,7 @@
|
||||
if &cp || exists("g:loaded_tar")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_tar= "v28"
|
||||
let g:loaded_tar= "v29"
|
||||
if v:version < 702
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of tar needs vim 7.2"
|
||||
@@ -31,6 +31,7 @@ if v:version < 702
|
||||
endif
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
"DechoTabOn
|
||||
"call Decho("loading autoload/tar.vim")
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
@@ -80,7 +81,7 @@ endif
|
||||
|
||||
" set up shell quoting character
|
||||
if !exists("g:tar_shq")
|
||||
if exists("&shq") && &shq != ""
|
||||
if exists("+shq") && exists("&shq") && &shq != ""
|
||||
let g:tar_shq= &shq
|
||||
elseif has("win32") || has("win95") || has("win64") || has("win16")
|
||||
if exists("g:netrw_cygwin") && g:netrw_cygwin
|
||||
@@ -147,7 +148,7 @@ fun! tar#Browse(tarfile)
|
||||
keepj $
|
||||
|
||||
let tarfile= a:tarfile
|
||||
if has("win32") && executable("cygpath")
|
||||
if has("win32unix") && executable("cygpath")
|
||||
" assuming cygwin
|
||||
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
|
||||
endif
|
||||
@@ -227,7 +228,7 @@ fun! s:TarBrowseSelect()
|
||||
" about to make a new window, need to use b:tarfile
|
||||
let tarfile= b:tarfile
|
||||
let curfile= expand("%")
|
||||
if has("win32") && executable("cygpath")
|
||||
if has("win32unix") && executable("cygpath")
|
||||
" assuming cygwin
|
||||
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
|
||||
endif
|
||||
@@ -239,6 +240,8 @@ fun! s:TarBrowseSelect()
|
||||
let s:tblfile_{winnr()}= curfile
|
||||
call tar#Read("tarfile:".tarfile.'::'.fname,1)
|
||||
filetype detect
|
||||
set nomod
|
||||
exe 'com! -buffer -nargs=? -complete=file TarDiff :call tar#Diff(<q-args>,"'.fnameescape(fname).'")'
|
||||
|
||||
let &report= repkeep
|
||||
" call Dret("TarBrowseSelect : s:tblfile_".winnr()."<".s:tblfile_{winnr()}.">")
|
||||
@@ -252,7 +255,7 @@ fun! tar#Read(fname,mode)
|
||||
set report=10
|
||||
let tarfile = substitute(a:fname,'tarfile:\(.\{-}\)::.*$','\1','')
|
||||
let fname = substitute(a:fname,'tarfile:.\{-}::\(.*\)$','\1','')
|
||||
if has("win32") && executable("cygpath")
|
||||
if has("win32unix") && executable("cygpath")
|
||||
" assuming cygwin
|
||||
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
|
||||
endif
|
||||
@@ -425,7 +428,7 @@ fun! tar#Write(fname)
|
||||
|
||||
if fname =~ '/'
|
||||
let dirpath = substitute(fname,'/[^/]\+$','','e')
|
||||
if executable("cygpath")
|
||||
if has("win32unix") && executable("cygpath")
|
||||
let dirpath = substitute(system("cygpath ".shellescape(dirpath, 0)),'\n','','e')
|
||||
endif
|
||||
call mkdir(dirpath,"p")
|
||||
@@ -445,7 +448,7 @@ fun! tar#Write(fname)
|
||||
let tar_secure= " "
|
||||
endif
|
||||
exe "w! ".fnameescape(fname)
|
||||
if executable("cygpath")
|
||||
if has("win32unix") && executable("cygpath")
|
||||
let tarfile = substitute(system("cygpath ".shellescape(tarfile,0)),'\n','','e')
|
||||
endif
|
||||
|
||||
@@ -500,6 +503,30 @@ fun! tar#Write(fname)
|
||||
" call Dret("tar#Write")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" tar#Diff: {{{2
|
||||
fun! tar#Diff(userfname,fname)
|
||||
" call Dfunc("tar#Diff(userfname<".a:userfname."> fname<".a:fname.")")
|
||||
let fname= a:fname
|
||||
if a:userfname != ""
|
||||
let fname= a:userfname
|
||||
endif
|
||||
if filereadable(fname)
|
||||
" sets current file (from tarball) for diff'ing
|
||||
" splits window vertically
|
||||
" opens original file, sets it for diff'ing
|
||||
" sets up b:tardiff_otherbuf variables so each buffer knows about the other (for closing purposes)
|
||||
diffthis
|
||||
wincmd v
|
||||
exe "e ".fnameescape(fname)
|
||||
diffthis
|
||||
else
|
||||
redraw!
|
||||
echo "***warning*** unable to read file<".fname.">"
|
||||
endif
|
||||
" call Dret("tar#Diff")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:Rmdir: {{{2
|
||||
fun! s:Rmdir(fname)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim autoload file for the tohtml plugin.
|
||||
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
|
||||
" Last Change: 2012 Jun 30
|
||||
" Last Change: 2013 May 31
|
||||
"
|
||||
" Additional contributors:
|
||||
"
|
||||
@@ -401,13 +401,13 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
call add(html, '</head>')
|
||||
let body_line_num = len(html)
|
||||
if !empty(s:settings.prevent_copy)
|
||||
call add(html, "<body onload='FixCharWidth();'>")
|
||||
call add(html, "<body onload='FixCharWidth(); JumpToLine();'>")
|
||||
call add(html, "<!-- hidden divs used by javascript to get the width of a char -->")
|
||||
call add(html, "<div id='oneCharWidth'>0</div>")
|
||||
call add(html, "<div id='oneInputWidth'><input size='1' value='0'".tag_close."</div>")
|
||||
call add(html, "<div id='oneEmWidth' style='width: 1em;'></div>")
|
||||
else
|
||||
call add(html, '<body>')
|
||||
call add(html, '<body onload="JumpToLine();">')
|
||||
endif
|
||||
call add(html, "<table border='1' width='100%' id='vimCodeElement'>")
|
||||
|
||||
@@ -503,6 +503,11 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
call add(html, s:body_end_line)
|
||||
call add(html, '</html>')
|
||||
|
||||
" The generated HTML is admittedly ugly and takes a LONG time to fold.
|
||||
" Make sure the user doesn't do syntax folding when loading a generated file,
|
||||
" using a modeline.
|
||||
call add(html, '<!-- vim: set foldmethod=manual : -->')
|
||||
|
||||
let i = 1
|
||||
let name = "Diff" . (s:settings.use_xhtml ? ".xhtml" : ".html")
|
||||
" Find an unused file name if current file name is already in use
|
||||
@@ -539,14 +544,12 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
" add required javascript in reverse order so we can just call append again
|
||||
" and again without adjusting {{{
|
||||
|
||||
" insert script closing tag if any javascript is needed
|
||||
if s:settings.dynamic_folds || !empty(s:settings.prevent_copy)
|
||||
call append(style_start, [
|
||||
\ '',
|
||||
\ s:settings.use_xhtml ? '//]]>' : '-->',
|
||||
\ "</script>"
|
||||
\ ])
|
||||
endif
|
||||
" insert script closing tag
|
||||
call append(style_start, [
|
||||
\ '',
|
||||
\ s:settings.use_xhtml ? '//]]>' : '-->',
|
||||
\ "</script>"
|
||||
\ ])
|
||||
|
||||
" insert script which corrects the size of small input elements in
|
||||
" prevent_copy mode. See 2html.vim for details on why this is needed and how
|
||||
@@ -572,6 +575,55 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
\ '}'
|
||||
\ ])
|
||||
endif
|
||||
"
|
||||
" insert javascript to get IDs from line numbers, and to open a fold before
|
||||
" jumping to any lines contained therein
|
||||
call append(style_start, [
|
||||
\ " /* Always jump to new location even if the line was hidden inside a fold, or",
|
||||
\ " * we corrected the raw number to a line ID.",
|
||||
\ " */",
|
||||
\ " if (lineElem) {",
|
||||
\ " lineElem.scrollIntoView(true);",
|
||||
\ " }",
|
||||
\ " return true;",
|
||||
\ "}",
|
||||
\ "if ('onhashchange' in window) {",
|
||||
\ " window.onhashchange = JumpToLine;",
|
||||
\ "}"
|
||||
\ ])
|
||||
if s:settings.dynamic_folds
|
||||
call append(style_start, [
|
||||
\ "",
|
||||
\ " /* navigate upwards in the DOM tree to open all folds containing the line */",
|
||||
\ " var node = lineElem;",
|
||||
\ " while (node && node.id != 'vimCodeElement')",
|
||||
\ " {",
|
||||
\ " if (node.className == 'closed-fold')",
|
||||
\ " {",
|
||||
\ " /* toggle open the fold ID (remove window ID) */",
|
||||
\ " toggleFold(node.id.substr(4));",
|
||||
\ " }",
|
||||
\ " node = node.parentNode;",
|
||||
\ " }",
|
||||
\ ])
|
||||
endif
|
||||
call append(style_start, [
|
||||
\ "",
|
||||
\ "/* function to open any folds containing a jumped-to line before jumping to it */",
|
||||
\ "function JumpToLine()",
|
||||
\ "{",
|
||||
\ " var lineNum;",
|
||||
\ " lineNum = window.location.hash;",
|
||||
\ " lineNum = lineNum.substr(1); /* strip off '#' */",
|
||||
\ "",
|
||||
\ " if (lineNum.indexOf('L') == -1) {",
|
||||
\ " lineNum = 'L'+lineNum;",
|
||||
\ " }",
|
||||
\ " if (lineNum.indexOf('W') == -1) {",
|
||||
\ " lineNum = 'W1'+lineNum;",
|
||||
\ " }",
|
||||
\ " lineElem = document.getElementById(lineNum);"
|
||||
\ ])
|
||||
|
||||
" Insert javascript to toggle matching folds open and closed in all windows,
|
||||
" if dynamic folding is active.
|
||||
@@ -596,12 +648,11 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
\ ])
|
||||
endif
|
||||
|
||||
" insert script tag if any javascript is needed
|
||||
if s:settings.dynamic_folds || s:settings.prevent_copy != ""
|
||||
call append(style_start, [
|
||||
\ "<script type='text/javascript'>",
|
||||
\ s:settings.use_xhtml ? '//<![CDATA[' : "<!--"])
|
||||
endif "}}}
|
||||
" insert script tag; javascript is always needed for the line number
|
||||
" normalization for URL hashes
|
||||
call append(style_start, [
|
||||
\ "<script type='text/javascript'>",
|
||||
\ s:settings.use_xhtml ? '//<![CDATA[' : "<!--"])
|
||||
|
||||
" Insert styles from all the generated html documents and additional styles
|
||||
" for the table-based layout of the side-by-side diff. The diff should take
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
" zip.vim: Handles browsing zipfiles
|
||||
" AUTOLOAD PORTION
|
||||
" Date: Jan 17, 2012
|
||||
" Version: 25
|
||||
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" Date: Apr 17, 2013
|
||||
" Version: 26
|
||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" License: Vim License (see vim's :help license)
|
||||
" Copyright: Copyright (C) 2005-2012 Charles E. Campbell, Jr. {{{1
|
||||
" Copyright: Copyright (C) 2005-2012 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,
|
||||
@@ -19,7 +19,7 @@
|
||||
if &cp || exists("g:loaded_zip")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_zip= "v25"
|
||||
let g:loaded_zip= "v26"
|
||||
if v:version < 702
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of zip needs vim 7.2"
|
||||
@@ -188,13 +188,23 @@ fun! zip#Read(fname,mode)
|
||||
else
|
||||
let zipfile = substitute(a:fname,'^.\{-}zipfile:\(.\{-}\)::[^\\].*$','\1','')
|
||||
let fname = substitute(a:fname,'^.\{-}zipfile:.\{-}::\([^\\].*\)$','\1','')
|
||||
let fname = substitute(fname, '[', '[[]', 'g')
|
||||
let fname = substitute(fname, '[', '[[]', 'g')
|
||||
endif
|
||||
" call Decho("zipfile<".zipfile.">")
|
||||
" call Decho("fname <".fname.">")
|
||||
|
||||
" call Decho("exe r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1))
|
||||
exe "keepj sil! r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1)
|
||||
" the following code does much the same thing as
|
||||
" exe "keepj sil! r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1)
|
||||
" but allows zipfile:... entries in quickfix lists
|
||||
let temp = tempname()
|
||||
let fn = expand('%:p')
|
||||
exe "sil! !".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1).' > '.temp
|
||||
" call Decho("exe sil! !".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1).' > '.temp)
|
||||
sil exe 'keepalt file '.temp
|
||||
sil keepj e!
|
||||
sil exe 'keepalt file '.fnameescape(fn)
|
||||
call delete(temp)
|
||||
|
||||
filetype detect
|
||||
|
||||
" cleanup
|
||||
@@ -267,7 +277,7 @@ fun! zip#Write(fname)
|
||||
|
||||
if fname =~ '/'
|
||||
let dirpath = substitute(fname,'/[^/]\+$','','e')
|
||||
if executable("cygpath")
|
||||
if has("win32unix") && executable("cygpath")
|
||||
let dirpath = substitute(system("cygpath ".s:Escape(dirpath,0)),'\n','','e')
|
||||
endif
|
||||
" call Decho("mkdir(dirpath<".dirpath.">,p)")
|
||||
@@ -279,7 +289,7 @@ fun! zip#Write(fname)
|
||||
" call Decho("zipfile<".zipfile."> fname<".fname.">")
|
||||
|
||||
exe "w! ".fnameescape(fname)
|
||||
if executable("cygpath")
|
||||
if has("win32unix") && executable("cygpath")
|
||||
let zipfile = substitute(system("cygpath ".s:Escape(zipfile,0)),'\n','','e')
|
||||
endif
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" vim: tw=0 ts=4 sw=4
|
||||
" Vim color file
|
||||
" Maintainer: Ron Aaron <ron@ronware.org>
|
||||
" Last Change: 2006 Dec 10
|
||||
" Last Change: 2013 May 23
|
||||
|
||||
hi clear
|
||||
set background=dark
|
||||
@@ -43,6 +43,8 @@ hi MatchParen term=reverse ctermfg=blue guibg=Blue
|
||||
hi TabLine term=bold,reverse cterm=bold ctermfg=lightblue ctermbg=white gui=bold guifg=blue guibg=white
|
||||
hi TabLineFill term=bold,reverse cterm=bold ctermfg=lightblue ctermbg=white gui=bold guifg=blue guibg=white
|
||||
hi TabLineSel term=reverse ctermfg=white ctermbg=lightblue guifg=white guibg=blue
|
||||
hi Underlined term=underline cterm=bold,underline ctermfg=lightblue guifg=lightblue gui=bold,underline
|
||||
hi Ignore ctermfg=black ctermbg=black guifg=black guibg=black
|
||||
hi link IncSearch Visual
|
||||
hi link String Constant
|
||||
hi link Character Constant
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" vim: tw=0 ts=4 sw=4
|
||||
" Vim color file
|
||||
" Maintainer: Ron Aaron <ron@ronware.org>
|
||||
" Last Change: 2003 May 02
|
||||
" Last Change: 2013 May 24
|
||||
|
||||
set background=dark
|
||||
hi clear
|
||||
@@ -11,7 +11,7 @@ if exists("syntax_on")
|
||||
endif
|
||||
let g:colors_name = "ron"
|
||||
hi Normal guifg=cyan guibg=black
|
||||
hi NonText guifg=brown
|
||||
hi NonText guifg=yellow guibg=#303030
|
||||
hi comment guifg=green
|
||||
hi constant guifg=cyan gui=bold
|
||||
hi identifier guifg=cyan gui=NONE
|
||||
@@ -24,10 +24,11 @@ hi WarningMsg guifg=Black guibg=Green
|
||||
hi Error guibg=Red
|
||||
hi Todo guifg=Black guibg=orange
|
||||
hi Cursor guibg=#60a060 guifg=#00ff00
|
||||
hi Search guibg=lightslateblue
|
||||
hi Search guibg=darkgray guifg=black gui=bold
|
||||
hi IncSearch gui=NONE guibg=steelblue
|
||||
hi LineNr guifg=darkgrey
|
||||
hi title guifg=darkgrey
|
||||
hi ShowMarksHL ctermfg=cyan ctermbg=lightblue cterm=bold guifg=yellow guibg=black gui=bold
|
||||
hi StatusLineNC gui=NONE guifg=lightblue guibg=darkblue
|
||||
hi StatusLine gui=bold guifg=cyan guibg=blue
|
||||
hi label guifg=gold2
|
||||
@@ -41,3 +42,4 @@ hi DiffDelete guibg=coral
|
||||
hi Folded guibg=gray30
|
||||
hi FoldColumn guibg=gray30 guifg=white
|
||||
hi cIf0 guifg=gray
|
||||
hi diffOnly guifg=red gui=bold
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Language: eRuby
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2008 Aug 1
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
|
||||
if exists("current_compiler")
|
||||
|
||||
28
runtime/compiler/haml.vim
Normal file
28
runtime/compiler/haml.vim
Normal file
@@ -0,0 +1,28 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Haml
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "haml"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
CompilerSet makeprg=haml\ -c
|
||||
|
||||
CompilerSet errorformat=
|
||||
\Haml\ %trror\ on\ line\ %l:\ %m,
|
||||
\Syntax\ %trror\ on\ line\ %l:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim:set sw=2 sts=2:
|
||||
21
runtime/compiler/msbuild.vim
Normal file
21
runtime/compiler/msbuild.vim
Normal file
@@ -0,0 +1,21 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Microsoft Visual Studio C#
|
||||
" Maintainer: Chiel ten Brinke (ctje92@gmail.com)
|
||||
" Last Change: 2013 May 13
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "msbuild"
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet errorformat=\ %#%f(%l\\\,%c):\ %m
|
||||
CompilerSet makeprg=msbuild\ /nologo\ /v:q\ /property:GenerateFullPaths=true
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
35
runtime/compiler/rake.vim
Normal file
35
runtime/compiler/rake.vim
Normal file
@@ -0,0 +1,35 @@
|
||||
" Vim compiler file
|
||||
" Language: Rake
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "rake"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
CompilerSet makeprg=rake
|
||||
|
||||
CompilerSet errorformat=
|
||||
\%D(in\ %f),
|
||||
\%\\s%#from\ %f:%l:%m,
|
||||
\%\\s%#from\ %f:%l:,
|
||||
\%\\s%##\ %f:%l:%m,
|
||||
\%\\s%##\ %f:%l,
|
||||
\%\\s%#[%f:%l:\ %#%m,
|
||||
\%\\s%#%f:%l:\ %#%m,
|
||||
\%\\s%#%f:%l:,
|
||||
\%m\ [%f:%l]:
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8:
|
||||
@@ -1,9 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Language: RSpec
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2009 Dec 22
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
|
||||
if exists("current_compiler")
|
||||
@@ -18,21 +16,15 @@ endif
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
CompilerSet makeprg=spec
|
||||
CompilerSet makeprg=rspec
|
||||
|
||||
CompilerSet errorformat=
|
||||
\%+W'%.%#'\ FAILED,
|
||||
\%+I'%.%#'\ FIXED,
|
||||
\%-Cexpected:%.%#,
|
||||
\%-C\ \ \ \ \ got:%.%#,
|
||||
\%f:%l:\ %tarning:\ %m,
|
||||
\%E%.%#:in\ `load':\ %f:%l:%m,
|
||||
\%C%f:%l:,
|
||||
\%W%f:%l:\ warning:\ %m,
|
||||
\%E%f:%l:in\ %*[^:]:\ %m,
|
||||
\%E%f:%l:\ %m,
|
||||
\%-Z%\tfrom\ %f:%l,
|
||||
\%-Z%p^%.%#,
|
||||
\%-C%.%#,
|
||||
\%E%f:%l:in\ `%*[^']':\ %m,
|
||||
\%-Z\ \ \ \ \ \#\ %f:%l:%.%#,
|
||||
\%E\ \ %\\d%\\+)%.%#,
|
||||
\%C\ \ \ \ \ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
|
||||
@@ -1,33 +1,10 @@
|
||||
" Vim compiler file
|
||||
" Language: Ruby
|
||||
" Function: Syntax check and/or error reporting
|
||||
" Maintainer: Tim Hammerquist <timh at rubyforge.org>
|
||||
" Last Change: 2008 Aug 1
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" ----------------------------------------------------------------------------
|
||||
"
|
||||
" Changelog:
|
||||
" 0.2: script saves and restores 'cpoptions' value to prevent problems with
|
||||
" line continuations
|
||||
" 0.1: initial release
|
||||
"
|
||||
" Contributors:
|
||||
" Hugh Sasse <hgs@dmu.ac.uk>
|
||||
" Doug Kearns <djkea2@gus.gscit.monash.edu.au>
|
||||
"
|
||||
" Todo:
|
||||
" match error type %m
|
||||
"
|
||||
" Comments:
|
||||
" I know this file isn't perfect. If you have any questions, suggestions,
|
||||
" patches, etc., please don't hesitate to let me know.
|
||||
"
|
||||
" This is my first experience with 'errorformat' and compiler plugins and
|
||||
" I welcome any input from more experienced (or clearer-thinking)
|
||||
" individuals.
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Language: Test::Unit - Ruby Unit Testing Framework
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2008 Aug 1
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
|
||||
if exists("current_compiler")
|
||||
|
||||
30
runtime/compiler/sass.vim
Normal file
30
runtime/compiler/sass.vim
Normal file
@@ -0,0 +1,30 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Sass
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "sass"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
CompilerSet makeprg=sass\ -c
|
||||
|
||||
CompilerSet errorformat=
|
||||
\%f:%l:%m\ (Sass::Syntax%trror),
|
||||
\%ESyntax\ %trror:%m,
|
||||
\%C%\\s%\\+on\ line\ %l\ of\ %f,
|
||||
\%Z%.%#,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim:set sw=2 sts=2:
|
||||
22
runtime/compiler/xbuild.vim
Normal file
22
runtime/compiler/xbuild.vim
Normal file
@@ -0,0 +1,22 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Mono C#
|
||||
" Maintainer: Chiel ten Brinke (ctje92@gmail.com)
|
||||
" Last Change: 2013 May 13
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
|
||||
let current_compiler = "xbuild"
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet errorformat=\ %#%f(%l\\\,%c):\ %m
|
||||
CompilerSet makeprg=xbuild\ /nologo\ /v:q\ /property:GenerateFullPaths=true
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
@@ -1,8 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: xmllint
|
||||
" Maintainer: Doug Kearns <djkea2@gus.gscit.monash.edu.au>
|
||||
" URL: http://gus.gscit.monash.edu.au/~djkea2/vim/compiler/xmllint.vim
|
||||
" Last Change: 2004 Nov 27
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2013 Jun 1
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -18,10 +17,8 @@ set cpo-=C
|
||||
|
||||
CompilerSet makeprg=xmllint\ --valid\ --noout\
|
||||
|
||||
CompilerSet errorformat=%E%f:%l:\ error:\ %m,
|
||||
\%W%f:%l:\ warning:\ %m,
|
||||
\%E%f:%l:\ validity\ error:\ %m,
|
||||
\%W%f:%l:\ validity\ warning:\ %m,
|
||||
CompilerSet errorformat=%+E%f:%l:\ %.%#\ error\ :\ %m,
|
||||
\%+W%f:%l:\ %.%#\ warning\ :\ %m,
|
||||
\%-Z%p^,
|
||||
\%-G%.%#
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 7.3. Last change: 2012 Sep 05
|
||||
*autocmd.txt* For Vim version 7.3. Last change: 2013 Jun 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -266,7 +266,7 @@ Name triggered by ~
|
||||
|GUIFailed| after starting the GUI failed
|
||||
|TermResponse| after the terminal response to |t_RV| is received
|
||||
|
||||
|QuitPre| when using `:quit`, before deciding whether to quit
|
||||
|QuitPre| when using `:quit`, before deciding whether to quit
|
||||
|VimLeavePre| before exiting Vim, before writing the viminfo file
|
||||
|VimLeave| before exiting Vim, after writing the viminfo file
|
||||
|
||||
@@ -513,14 +513,15 @@ CursorHold When the user doesn't press a key for the time
|
||||
CursorHoldI Just like CursorHold, but in Insert mode.
|
||||
|
||||
*CursorMoved*
|
||||
CursorMoved After the cursor was moved in Normal mode.
|
||||
Also when the text of the cursor line has been
|
||||
changed, e.g., with "x", "rx" or "p".
|
||||
CursorMoved After the cursor was moved in Normal or Visual
|
||||
mode. Also when the text of the cursor line
|
||||
has been changed, e.g., with "x", "rx" or "p".
|
||||
Not triggered when there is typeahead or when
|
||||
an operator is pending.
|
||||
For an example see |match-parens|.
|
||||
Careful: Don't do anything that the user does
|
||||
not expect or that is slow.
|
||||
Careful: This is triggered very often, don't
|
||||
do anything that the user does not expect or
|
||||
that is slow.
|
||||
*CursorMovedI*
|
||||
CursorMovedI After the cursor was moved in Insert mode.
|
||||
Not triggered when the popup menu is visible.
|
||||
@@ -690,8 +691,11 @@ InsertCharPre When a character is typed in Insert mode,
|
||||
InsertEnter Just before starting Insert mode. Also for
|
||||
Replace mode and Virtual Replace mode. The
|
||||
|v:insertmode| variable indicates the mode.
|
||||
Be careful not to move the cursor or do
|
||||
anything else that the user does not expect.
|
||||
Be careful not to do anything else that the
|
||||
user does not expect.
|
||||
The cursor is restored afterwards. If you do
|
||||
not want that set |v:char| to a non-empty
|
||||
string.
|
||||
*InsertLeave*
|
||||
InsertLeave When leaving Insert mode. Also when using
|
||||
CTRL-O |i_CTRL-O|. But not for |i_CTRL-C|.
|
||||
@@ -730,11 +734,11 @@ QuickFixCmdPost Like QuickFixCmdPre, but after a quickfix
|
||||
moving to the first error.
|
||||
See |QuickFixCmdPost-example|.
|
||||
*QuitPre*
|
||||
QuitPre When using `:quit`, before deciding whether it
|
||||
closes the current window or quits Vim. Can
|
||||
be used to close any non-essential window if
|
||||
the current window is the last ordinary
|
||||
window.
|
||||
QuitPre When using `:quit`, `:wq` or `:qall`, before
|
||||
deciding whether it closes the current window
|
||||
or quits Vim. Can be used to close any
|
||||
non-essential window if the current window is
|
||||
the last ordinary window.
|
||||
*RemoteReply*
|
||||
RemoteReply When a reply from a Vim that functions as
|
||||
server was received |server2client()|. The
|
||||
@@ -831,12 +835,27 @@ TermResponse After the response to |t_RV| is received from
|
||||
triggered halfway executing another event,
|
||||
especially if file I/O, a shell command or
|
||||
anything else that takes time is involved.
|
||||
*TextChanged*
|
||||
TextChanged After a change was made to the text in the
|
||||
current buffer in Normal mode. That is when
|
||||
|b:changedtick| has changed.
|
||||
Not triggered when there is typeahead or when
|
||||
an operator is pending.
|
||||
Careful: This is triggered very often, don't
|
||||
do anything that the user does not expect or
|
||||
that is slow.
|
||||
*TextChangedI*
|
||||
TextChangedI After a change was made to the text in the
|
||||
current buffer in Insert mode.
|
||||
Not triggered when the popup menu is visible.
|
||||
Otherwise the same as TextChanged.
|
||||
*User*
|
||||
User Never executed automatically. To be used for
|
||||
autocommands that are only executed with
|
||||
":doautocmd".
|
||||
*UserGettingBored*
|
||||
UserGettingBored When the user hits CTRL-C. Just kidding! :-)
|
||||
UserGettingBored When the user presses the same key 42 times.
|
||||
Just kidding! :-)
|
||||
*VimEnter*
|
||||
VimEnter After doing all the startup stuff, including
|
||||
loading .vimrc files, executing the "-c cmd"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 7.3. Last change: 2012 Nov 02
|
||||
*change.txt* For Vim version 7.3. Last change: 2013 Mar 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -600,7 +600,7 @@ For other systems the tmpnam() library function is used.
|
||||
*g&*
|
||||
g& Synonym for `:%s//~/&` (repeat last substitute with
|
||||
last search pattern on all lines with the same flags).
|
||||
For exaple, when you first do a substitution with
|
||||
For example, when you first do a substitution with
|
||||
`:s/pattern/repl/flags` and then `/search` for
|
||||
something else, `g&` will do `:%s/search/repl/flags`.
|
||||
Mnemonic: global substitute. {not in Vi}
|
||||
@@ -784,6 +784,11 @@ Examples: >
|
||||
:s/abcde/abc^Mde/ modifies "abcde" to "abc", "de" (two lines)
|
||||
:s/$/\^M/ modifies "abcde" to "abcde^M"
|
||||
:s/\w\+/\u\0/g modifies "bla bla" to "Bla Bla"
|
||||
:s/\w\+/\L\u/g modifies "BLA bla" to "Bla Bla"
|
||||
|
||||
Note: "\L\u" can be used to capitalize the first letter of a word. This is
|
||||
not compatible with Vi and older versions of Vim, where the "\u" would cancel
|
||||
out the "\L". Same for "\U\l".
|
||||
|
||||
Note: In previous versions CTRL-V was handled in a special way. Since this is
|
||||
not Vi compatible, this was removed. Use a backslash instead.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 7.3. Last change: 2013 Jan 17
|
||||
*cmdline.txt* For Vim version 7.3. Last change: 2013 Mar 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -964,7 +964,7 @@ for the file "$home" in the root directory. A few examples:
|
||||
\\$home file "\\", followed by expanded $home
|
||||
|
||||
==============================================================================
|
||||
6. Command-line window *cmdline-window* *cmdwin*
|
||||
7. Command-line window *cmdline-window* *cmdwin*
|
||||
*command-line-window*
|
||||
In the command-line window the command line can be edited just like editing
|
||||
text in any window. It is a special kind of window, because you cannot leave
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*develop.txt* For Vim version 7.3. Last change: 2012 Jan 10
|
||||
*develop.txt* For Vim version 7.3. Last change: 2013 Apr 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -20,6 +20,7 @@ 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. Design goals *design-goals*
|
||||
|
||||
@@ -220,7 +220,7 @@ The diffs are highlighted with these groups:
|
||||
that parts in the middle that are still the
|
||||
same are highlighted anyway. Only "iwhite" of
|
||||
'diffopt' is used here.
|
||||
|hl-DiffDelete| DiffDelete Deleted lines. Also called filler lines,
|
||||
|hl-DiffDelete| DiffDelete Deleted lines. Also called filler lines,
|
||||
because they don't really exist in this
|
||||
buffer.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 7.3. Last change: 2012 Aug 08
|
||||
*editing.txt* For Vim version 7.3. Last change: 2013 Feb 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -424,7 +424,7 @@ external command, by using the syntax `={expr}` e.g.: >
|
||||
:e `=tempname()`
|
||||
The expression can contain just about anything, thus this can also be used to
|
||||
avoid the special meaning of '"', '|', '%' and '#'. However, 'wildignore'
|
||||
does apply like to other wildcars.
|
||||
does apply like to other wildcards.
|
||||
If the expression returns a string then names are to be separated with line
|
||||
breaks. When the result is a |List| then each item is used as a name. Line
|
||||
breaks also separate names.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 7.3. Last change: 2013 Jan 23
|
||||
*eval.txt* For Vim version 7.3. Last change: 2013 Jun 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -503,7 +503,7 @@ This removes all entries from "dict" with a value not matching 'x'.
|
||||
|
||||
|
||||
Dictionary function ~
|
||||
*Dictionary-function* *self* *E725*
|
||||
*Dictionary-function* *self* *E725* *E862*
|
||||
When a function is defined with the "dict" attribute it can be used in a
|
||||
special way with a dictionary. Example: >
|
||||
:function Mylen() dict
|
||||
@@ -1150,14 +1150,14 @@ delete all script-local variables: >
|
||||
: unlet s:[k]
|
||||
:endfor
|
||||
<
|
||||
*buffer-variable* *b:var*
|
||||
*buffer-variable* *b:var* *b:*
|
||||
A variable name that is preceded with "b:" is local to the current buffer.
|
||||
Thus you can have several "b:foo" variables, one for each buffer.
|
||||
This kind of variable is deleted when the buffer is wiped out or deleted with
|
||||
|:bdelete|.
|
||||
|
||||
One local buffer variable is predefined:
|
||||
*b:changedtick-variable* *changetick*
|
||||
*b:changedtick* *changetick*
|
||||
b:changedtick The total number of changes to the current buffer. It is
|
||||
incremented for each change. An undo command is also a change
|
||||
in this case. This can be used to perform an action only when
|
||||
@@ -1167,21 +1167,21 @@ b:changedtick The total number of changes to the current buffer. It is
|
||||
: call My_Update()
|
||||
:endif
|
||||
<
|
||||
*window-variable* *w:var*
|
||||
*window-variable* *w:var* *w:*
|
||||
A variable name that is preceded with "w:" is local to the current window. It
|
||||
is deleted when the window is closed.
|
||||
|
||||
*tabpage-variable* *t:var*
|
||||
*tabpage-variable* *t:var* *t:*
|
||||
A variable name that is preceded with "t:" is local to the current tab page,
|
||||
It is deleted when the tab page is closed. {not available when compiled
|
||||
without the |+windows| feature}
|
||||
|
||||
*global-variable* *g:var*
|
||||
*global-variable* *g:var* *g:*
|
||||
Inside functions global variables are accessed with "g:". Omitting this will
|
||||
access a variable local to a function. But "g:" can also be used in any other
|
||||
place if you like.
|
||||
|
||||
*local-variable* *l:var*
|
||||
*local-variable* *l:var* *l:*
|
||||
Inside functions local variables are accessed without prepending anything.
|
||||
But you can also prepend "l:" if you like. However, without prepending "l:"
|
||||
you may run into reserved variable names. For example "count". By itself it
|
||||
@@ -1264,7 +1264,7 @@ Note that this means that filetype plugins don't get a different set of script
|
||||
variables for each buffer. Use local buffer variables instead |b:var|.
|
||||
|
||||
|
||||
Predefined Vim variables: *vim-variable* *v:var*
|
||||
Predefined Vim variables: *vim-variable* *v:var* *v:*
|
||||
|
||||
*v:beval_col* *beval_col-variable*
|
||||
v:beval_col The number of the column, over which the mouse pointer is.
|
||||
@@ -1297,7 +1297,7 @@ v:beval_winnr The number of the window, over which the mouse pointer is. Only
|
||||
*v:char* *char-variable*
|
||||
v:char Argument for evaluating 'formatexpr' and used for the typed
|
||||
character when using <expr> in an abbreviation |:map-<expr>|.
|
||||
It is also used by the |InsertCharPre| event.
|
||||
It is also used by the |InsertCharPre| and |InsertEnter| events.
|
||||
|
||||
*v:charconvert_from* *charconvert_from-variable*
|
||||
v:charconvert_from
|
||||
@@ -1777,7 +1777,8 @@ get( {list}, {idx} [, {def}]) any get item {idx} from {list} or {def}
|
||||
get( {dict}, {key} [, {def}]) any get item {key} from {dict} or {def}
|
||||
getbufline( {expr}, {lnum} [, {end}])
|
||||
List lines {lnum} to {end} of buffer {expr}
|
||||
getbufvar( {expr}, {varname}) any variable {varname} in buffer {expr}
|
||||
getbufvar( {expr}, {varname} [, {def}])
|
||||
any variable {varname} in buffer {expr}
|
||||
getchar( [expr]) Number get one character from the user
|
||||
getcharmod( ) Number modifiers for the last typed character
|
||||
getcmdline() String return the current command-line
|
||||
@@ -1798,12 +1799,14 @@ getpos( {expr}) List position of cursor, mark, etc.
|
||||
getqflist() List list of quickfix items
|
||||
getreg( [{regname} [, 1]]) String contents of register
|
||||
getregtype( [{regname}]) String type of register
|
||||
gettabvar( {nr}, {varname}) any variable {varname} in tab {nr}
|
||||
gettabwinvar( {tabnr}, {winnr}, {name})
|
||||
gettabvar( {nr}, {varname} [, {def}])
|
||||
any variable {varname} in tab {nr} or {def}
|
||||
gettabwinvar( {tabnr}, {winnr}, {name} [, {def}])
|
||||
any {name} in {winnr} in tab page {tabnr}
|
||||
getwinposx() Number X coord in pixels of GUI Vim window
|
||||
getwinposy() Number Y coord in pixels of GUI Vim window
|
||||
getwinvar( {nr}, {varname}) any variable {varname} in window {nr}
|
||||
getwinvar( {nr}, {varname} [, {def}])
|
||||
any variable {varname} in window {nr}
|
||||
glob( {expr} [, {nosuf} [, {list}]])
|
||||
any expand file wildcards in {expr}
|
||||
globpath( {path}, {expr} [, {flag}])
|
||||
@@ -1903,6 +1906,8 @@ repeat( {expr}, {count}) String repeat {expr} {count} times
|
||||
resolve( {filename}) String get filename a shortcut points to
|
||||
reverse( {list}) List reverse {list} in-place
|
||||
round( {expr}) Float round off {expr}
|
||||
screenattr( {row}, {col}) Number attribute at screen position
|
||||
screenchar( {row}, {col}) Number character at screen position
|
||||
screencol() Number current cursor column
|
||||
screenrow() Number current cursor row
|
||||
search( {pattern} [, {flags} [, {stopline} [, {timeout}]]])
|
||||
@@ -1931,6 +1936,7 @@ settabvar( {nr}, {varname}, {val}) set {varname} in tab page {nr} to {val}
|
||||
settabwinvar( {tabnr}, {winnr}, {varname}, {val}) set {varname} in window
|
||||
{winnr} in tab page {tabnr} to {val}
|
||||
setwinvar( {nr}, {varname}, {val}) set {varname} in window {nr} to {val}
|
||||
sha256( {string}) String SHA256 checksum of {string}
|
||||
shellescape( {string} [, {special}])
|
||||
String escape {string} for use as shell
|
||||
command argument
|
||||
@@ -1992,6 +1998,7 @@ undotree() List undo file tree
|
||||
values( {dict}) List values in {dict}
|
||||
virtcol( {expr}) Number screen column of cursor or mark
|
||||
visualmode( [expr]) String last visual mode used
|
||||
wildmenumode() Number whether 'wildmenu' mode is active
|
||||
winbufnr( {nr}) Number buffer number of window {nr}
|
||||
wincol() Number window column of the cursor
|
||||
winheight( {nr}) Number height of window {nr}
|
||||
@@ -2578,6 +2585,8 @@ delete({fname}) *delete()*
|
||||
which is 0 if the file was deleted successfully, and non-zero
|
||||
when the deletion failed.
|
||||
Use |remove()| to delete an item from a |List|.
|
||||
To delete a line from the buffer use |:delete|. Use |:exe|
|
||||
when the line number is in a variable.
|
||||
|
||||
*did_filetype()*
|
||||
did_filetype() Returns non-zero when autocommands are being executed and the
|
||||
@@ -2766,7 +2775,8 @@ expand({expr} [, {nosuf} [, {list}]]) *expand()*
|
||||
file name contains a space]
|
||||
|
||||
If the expansion fails, the result is an empty string. A name
|
||||
for a non-existing file is not included.
|
||||
for a non-existing file is not included, unless {expr} does
|
||||
not start with '%', '#' or '<', see below.
|
||||
|
||||
When {expr} starts with '%', '#' or '<', the expansion is done
|
||||
like for the |cmdline-special| variables with their associated
|
||||
@@ -3141,7 +3151,7 @@ getbufline({expr}, {lnum} [, {end}])
|
||||
Example: >
|
||||
:let lines = getbufline(bufnr("myfile"), 1, "$")
|
||||
|
||||
getbufvar({expr}, {varname}) *getbufvar()*
|
||||
getbufvar({expr}, {varname} [, {def}]) *getbufvar()*
|
||||
The result is the value of option or local buffer variable
|
||||
{varname} in buffer {expr}. Note that the name without "b:"
|
||||
must be used.
|
||||
@@ -3151,8 +3161,8 @@ getbufvar({expr}, {varname}) *getbufvar()*
|
||||
doesn't work for a global variable, window-local variable or
|
||||
window-local option.
|
||||
For the use of {expr}, see |bufname()| above.
|
||||
When the buffer or variable doesn't exist an empty string is
|
||||
returned, there is no error message.
|
||||
When the buffer or variable doesn't exist {def} or an empty
|
||||
string is returned, there is no error message.
|
||||
Examples: >
|
||||
:let bufmodified = getbufvar(1, "&mod")
|
||||
:echo "todo myvar = " . getbufvar("todo", "myvar")
|
||||
@@ -3429,26 +3439,30 @@ getregtype([{regname}]) *getregtype()*
|
||||
<CTRL-V> is one character with value 0x16.
|
||||
If {regname} is not specified, |v:register| is used.
|
||||
|
||||
gettabvar({tabnr}, {varname}) *gettabvar()*
|
||||
gettabvar({tabnr}, {varname} [, {def}]) *gettabvar()*
|
||||
Get the value of a tab-local variable {varname} in tab page
|
||||
{tabnr}. |t:var|
|
||||
Tabs are numbered starting with one.
|
||||
Note that the name without "t:" must be used.
|
||||
When the tab or variable doesn't exist {def} or an empty
|
||||
string is returned, there is no error message.
|
||||
|
||||
gettabwinvar({tabnr}, {winnr}, {varname}) *gettabwinvar()*
|
||||
gettabwinvar({tabnr}, {winnr}, {varname} [, {def}]) *gettabwinvar()*
|
||||
Get the value of window-local variable {varname} in window
|
||||
{winnr} in tab page {tabnr}.
|
||||
When {varname} starts with "&" get the value of a window-local
|
||||
option.
|
||||
When {varname} is empty a dictionary with all window-local
|
||||
variables is returned.
|
||||
Note that {varname} must be the name without "w:".
|
||||
Tabs are numbered starting with one. For the current tabpage
|
||||
use |getwinvar()|.
|
||||
When {winnr} is zero the current window is used.
|
||||
This also works for a global option, buffer-local option and
|
||||
window-local option, but it doesn't work for a global variable
|
||||
or buffer-local variable.
|
||||
When {varname} is empty a dictionary with all window-local
|
||||
variables is returned.
|
||||
Note that {varname} must be the name without "w:".
|
||||
When the tab, window or variable doesn't exist {def} or an
|
||||
empty string is returned, there is no error message.
|
||||
Examples: >
|
||||
:let list_is_on = gettabwinvar(1, 2, '&list')
|
||||
:echo "myvar = " . gettabwinvar(3, 1, 'myvar')
|
||||
@@ -3463,7 +3477,7 @@ getwinposy() The result is a Number, which is the Y coordinate in pixels of
|
||||
the top of the GUI Vim window. The result will be -1 if the
|
||||
information is not available.
|
||||
|
||||
getwinvar({winnr}, {varname}) *getwinvar()*
|
||||
getwinvar({winnr}, {varname} [, {def}]) *getwinvar()*
|
||||
Like |gettabwinvar()| for the current tabpage.
|
||||
Examples: >
|
||||
:let list_is_on = getwinvar(2, '&list')
|
||||
@@ -4628,7 +4642,7 @@ pumvisible() *pumvisible()*
|
||||
This can be used to avoid some things that would remove the
|
||||
popup menu.
|
||||
|
||||
*E860* *E861*
|
||||
*E860*
|
||||
py3eval({expr}) *py3eval()*
|
||||
Evaluate Python expression {expr} and return its result
|
||||
converted to Vim data structures.
|
||||
@@ -4879,6 +4893,21 @@ round({expr}) *round()*
|
||||
< -5.0
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
screenattr(row, col) *screenattr()*
|
||||
Like screenchar(), but return the attribute. This is a rather
|
||||
arbitrary number that can only be used to compare to the
|
||||
attribute at other positions.
|
||||
|
||||
screenchar(row, col) *screenchar()*
|
||||
The result is a Number, which is the character at position
|
||||
[row, col] on the screen. This works for every possible
|
||||
screen position, also status lines, window separators and the
|
||||
command line. The top left position is row one, column one
|
||||
The character excludes composing characters. For double-byte
|
||||
encodings it may only be the first byte.
|
||||
This is mainly to be used for testing.
|
||||
Returns -1 when row or col is out of range.
|
||||
|
||||
screencol() *screencol()*
|
||||
The result is a Number, which is the current screen column of
|
||||
the cursor. The leftmost column has number 1.
|
||||
@@ -5309,8 +5338,6 @@ settabvar({tabnr}, {varname}, {val}) *settabvar()*
|
||||
|t:var|
|
||||
Note that the variable name without "t:" must be used.
|
||||
Tabs are numbered starting with one.
|
||||
Vim briefly goes to the tab page {tabnr}, this may trigger
|
||||
TabLeave and TabEnter autocommands.
|
||||
This function is not available in the |sandbox|.
|
||||
|
||||
settabwinvar({tabnr}, {winnr}, {varname}, {val}) *settabwinvar()*
|
||||
@@ -5323,8 +5350,6 @@ settabwinvar({tabnr}, {winnr}, {varname}, {val}) *settabwinvar()*
|
||||
doesn't work for a global or local buffer variable.
|
||||
For a local buffer option the global value is unchanged.
|
||||
Note that the variable name without "w:" must be used.
|
||||
Vim briefly goes to the tab page {tabnr}, this may trigger
|
||||
TabLeave and TabEnter autocommands.
|
||||
Examples: >
|
||||
:call settabwinvar(1, 1, "&list", 0)
|
||||
:call settabwinvar(3, 2, "myvar", "foobar")
|
||||
@@ -5336,6 +5361,11 @@ setwinvar({nr}, {varname}, {val}) *setwinvar()*
|
||||
:call setwinvar(1, "&list", 0)
|
||||
:call setwinvar(2, "myvar", "foobar")
|
||||
|
||||
sha256({string}) *sha256()*
|
||||
Returns a String with 64 hex charactes, which is the SHA256
|
||||
checksum of {string}.
|
||||
{only available when compiled with the |+cryptv| feature}
|
||||
|
||||
shellescape({string} [, {special}]) *shellescape()*
|
||||
Escape {string} for use as a shell command argument.
|
||||
On MS-Windows and MS-DOS, when 'shellslash' is not set, it
|
||||
@@ -6156,6 +6186,18 @@ visualmode([expr]) *visualmode()*
|
||||
Dictionary or Float is not a Number or String, thus does not
|
||||
cause the mode to be cleared.
|
||||
|
||||
wildmenumode() *wildmenumode()*
|
||||
Returns non-zero when the wildmenu is active and zero
|
||||
otherwise. See 'wildmenu' and 'wildmode'.
|
||||
This can be used in mappings to handle the 'wildcharm' option
|
||||
gracefully. (Makes only sense with |mapmode-c| mappings).
|
||||
|
||||
For example to make <c-j> work like <down> in wildmode, use: >
|
||||
:cnoremap <expr> <C-j> wildmenumode() ? "\<Down>\<Tab>" : "\<c-j>"
|
||||
<
|
||||
(Note, this needs the 'wildcharm' option set appropriately).
|
||||
|
||||
|
||||
*winbufnr()*
|
||||
winbufnr({nr}) The result is a Number, which is the number of the buffer
|
||||
associated with window {nr}. When {nr} is zero, the number of
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH EVIM 1 "16 f<>vrier 2002 February 16"
|
||||
.TH EVIM 1 "16 f<>vrier 2002"
|
||||
.SH NAME
|
||||
evim \- <20> Easy Vim <20>, <20>dite un fichier avec Vim sans utiliser les modes
|
||||
.SH SYNOPSIS
|
||||
@@ -54,4 +54,4 @@ Voir le menu Aide/Remerciements ou ":help credits" dans
|
||||
.SH TRADUCTION
|
||||
Cette page de manuel a <20>t<EFBFBD> traduite David Blanchet.
|
||||
<david.blanchet@free.fr> 2005-03-26.
|
||||
Mise <20> jour 2012-05-06, Dominique Pell<6C> <dominique.pelle@gmail.com>
|
||||
Mise <20> jour 2013-05-10, Dominique Pell<6C> <dominique.pelle@gmail.com>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH EVIM 1 "16 février 2002 February 16"
|
||||
.TH EVIM 1 "16 février 2002"
|
||||
.SH NAME
|
||||
evim \- « Easy Vim », édite un fichier avec Vim sans utiliser les modes
|
||||
.SH SYNOPSIS
|
||||
@@ -54,4 +54,4 @@ Voir le menu Aide/Remerciements ou ":help credits" dans
|
||||
.SH TRADUCTION
|
||||
Cette page de manuel a été traduite David Blanchet.
|
||||
<david.blanchet@free.fr> 2005-03-26.
|
||||
Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com>
|
||||
Mise à jour 2013-05-10, Dominique Pellé <dominique.pelle@gmail.com>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*filetype.txt* For Vim version 7.3. Last change: 2011 Jun 19
|
||||
*filetype.txt* For Vim version 7.3. Last change: 2013 May 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -603,7 +603,7 @@ Since the text for this plugin is rather long it has been put in a separate
|
||||
file: |ft_sql.txt|.
|
||||
|
||||
|
||||
TEX *ft-tex-plugin*
|
||||
TEX *ft-tex-plugin* *g:tex_flavor*
|
||||
|
||||
If the first line of a *.tex file has the form >
|
||||
%&<format>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*ft_sql.txt* For Vim version 7.3. Last change: 2010 Jul 20
|
||||
*ft_sql.txt* For Vim version 7.3. Last change: 2013 May 15
|
||||
|
||||
by David Fishburn
|
||||
|
||||
@@ -349,6 +349,7 @@ may not work properly on all platforms: >
|
||||
The static maps (which are based on the syntax highlight groups) follow this
|
||||
format: >
|
||||
imap <buffer> <C-C>k <C-\><C-O>:call sqlcomplete#Map('sqlKeyword')<CR><C-X><C-O>
|
||||
imap <buffer> <C-C>k <C-\><C-O>:call sqlcomplete#Map('sqlKeyword\w*')<CR><C-X><C-O>
|
||||
|
||||
This command breaks down as: >
|
||||
imap - Create an insert map
|
||||
@@ -369,6 +370,9 @@ This command breaks down as: >
|
||||
command while editing a SQL file.
|
||||
'sqlKeyword' - Display the items for the sqlKeyword highlight
|
||||
group
|
||||
'sqlKeyword\w*' - A second option available with Vim 7.4 which
|
||||
uses a regular expression to determine which
|
||||
syntax groups to use
|
||||
)<CR> - Execute the :let command
|
||||
<C-X><C-O> - Trigger the standard omni completion key stroke.
|
||||
Passing in 'sqlKeyword' instructs the SQL
|
||||
@@ -435,7 +439,7 @@ the space bar):
|
||||
of columns, you can press <Left>, this will
|
||||
replace the column list with the list of tables.
|
||||
- This allows you to quickly drill down into a
|
||||
table to view it's columns and back again.
|
||||
table to view its columns and back again.
|
||||
- <Right> and <Left> can be also be chosen via
|
||||
your |.vimrc| >
|
||||
let g:ftplugin_sql_omni_key_right = '<Right>'
|
||||
@@ -645,7 +649,7 @@ your |vimrc|: >
|
||||
- When completing tables, procedure or views and using dbext.vim 3.00
|
||||
or higher the list of objects will also include the owner name.
|
||||
When completing these objects and omni_sql_include_owner is enabled
|
||||
the owner name will be be replaced. >
|
||||
the owner name will be replaced. >
|
||||
|
||||
omni_sql_precache_syntax_groups
|
||||
< - Default:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui.txt* For Vim version 7.3. Last change: 2011 Jul 22
|
||||
*gui.txt* For Vim version 7.3. Last change: 2013 Jun 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -93,10 +93,16 @@ and initialize other things that you may want to set up differently from the
|
||||
terminal version.
|
||||
|
||||
Recommended place for your personal GUI initializations:
|
||||
Unix $HOME/.gvimrc
|
||||
OS/2 $HOME/.gvimrc or $VIM/.gvimrc
|
||||
MS-DOS and Win32 $HOME/_gvimrc or $VIM/_gvimrc
|
||||
Amiga s:.gvimrc or $VIM/.gvimrc
|
||||
Unix $HOME/.gvimrc or $HOME/.vim/gvimrc
|
||||
OS/2 $HOME/.gvimrc, $HOME/vimfiles/gvimrc
|
||||
or $VIM/.gvimrc
|
||||
MS-DOS and Win32 $HOME/_gvimrc, $HOME/vimfiles/gvimrc
|
||||
or $VIM/_gvimrc
|
||||
Amiga s:.gvimrc, home:.gvimrc, home:vimfiles:gvimrc
|
||||
or $VIM/.gvimrc
|
||||
|
||||
The personal initialization files are searched in the order specified above
|
||||
and only the first one that is found is read.
|
||||
|
||||
There are a number of options which only have meaning in the GUI version of
|
||||
Vim. These are 'guicursor', 'guifont', 'guipty' and 'guioptions'. They are
|
||||
|
||||
@@ -16,7 +16,7 @@ Vim's Graphical User Interface *gui-w16* *win16-gui*
|
||||
|
||||
Other relevant documentation:
|
||||
|gui.txt| For generic items of the GUI.
|
||||
|os_msdos.txt| For items common to DOS and Windows.
|
||||
|os_msdos.txt| For items common to DOS and Windows.
|
||||
|gui_w32.txt| Some items here are also applicable to the Win16 version.
|
||||
|
||||
{Vi does not have a Windows GUI}
|
||||
|
||||
@@ -17,7 +17,7 @@ Vim's Win32 Graphical User Interface *gui-w32* *win32-gui*
|
||||
|
||||
Other relevant documentation:
|
||||
|gui.txt| For generic items of the GUI.
|
||||
|os_win32.txt| For Win32 specific items.
|
||||
|os_win32.txt| For Win32 specific items.
|
||||
|
||||
{Vi does not have a Windows GUI}
|
||||
|
||||
|
||||
@@ -10,9 +10,10 @@ The Lua Interface to Vim *lua* *Lua*
|
||||
2. The vim module |lua-vim|
|
||||
3. List userdata |lua-list|
|
||||
4. Dict userdata |lua-dict|
|
||||
5. Buffer userdata |lua-buffer|
|
||||
6. Window userdata |lua-window|
|
||||
7. The luaeval function |lua-luaeval|
|
||||
5. Funcref userdata |lua-funcref|
|
||||
6. Buffer userdata |lua-buffer|
|
||||
7. Window userdata |lua-window|
|
||||
8. The luaeval function |lua-luaeval|
|
||||
|
||||
{Vi does not have any of these commands}
|
||||
|
||||
@@ -110,9 +111,31 @@ input range are stored in "vim.firstline" and "vim.lastline" respectively. The
|
||||
module also includes routines for buffer, window, and current line queries,
|
||||
Vim evaluation and command execution, and others.
|
||||
|
||||
vim.list() Returns an empty list (see |List|).
|
||||
|
||||
vim.dict() Returns an empty dictionary (see |Dictionary|).
|
||||
vim.list([arg]) Returns an empty list or, if "arg" is a Lua
|
||||
table with numeric keys 1, ..., n (a
|
||||
"sequence"), returns a list l such that l[i] =
|
||||
arg[i] for i = 1, ..., n (see |List|).
|
||||
Non-numeric keys are not used to initialize
|
||||
the list. See also |lua-eval| for conversion
|
||||
rules. Example: >
|
||||
:lua t = {math.pi, false, say = 'hi'}
|
||||
:echo luaeval('vim.list(t)')
|
||||
:" [3.141593, 0], 'say' is ignored
|
||||
<
|
||||
vim.dict([arg]) Returns an empty dictionary or, if "arg" is a
|
||||
Lua table, returns a dict d such that d[k] =
|
||||
arg[k] for all string keys k in "arg" (see
|
||||
|Dictionary|). Number keys are converted to
|
||||
strings. Keys that are not strings are not
|
||||
used to initialize the dictionary. See also
|
||||
|lua-eval| for conversion rules. Example: >
|
||||
:lua t = {math.pi, false, say = 'hi'}
|
||||
:echo luaeval('vim.dict(t)')
|
||||
:" {'say': 'hi'}, numeric keys ignored
|
||||
<
|
||||
vim.funcref({name}) Returns a Funcref to function {name} (see
|
||||
|Funcref|). It is equivalent to Vim's
|
||||
"function".
|
||||
|
||||
vim.buffer([arg]) If "arg" is a number, returns buffer with
|
||||
number "arg" in the buffer list or, if "arg"
|
||||
@@ -131,9 +154,9 @@ Vim evaluation and command execution, and others.
|
||||
|
||||
vim.type({arg}) Returns the type of {arg}. It is equivalent to
|
||||
Lua's "type" function, but returns "list",
|
||||
"dict", "buffer", or "window" if {arg} is a
|
||||
list, dictionary, buffer, or window,
|
||||
respectively. Examples: >
|
||||
"dict", "funcref", "buffer", or "window" if
|
||||
{arg} is a list, dictionary, funcref, buffer,
|
||||
or window, respectively. Examples: >
|
||||
:lua l = vim.list()
|
||||
:lua print(type(l), vim.type(l))
|
||||
:" userdata list
|
||||
@@ -229,7 +252,40 @@ Examples:
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
5. Buffer userdata *lua-buffer*
|
||||
5. Funcref userdata *lua-funcref*
|
||||
|
||||
Funcref userdata represent funcref variables in Vim. Funcrefs that were
|
||||
defined with a "dict" attribute need to be obtained as a dictionary key
|
||||
in order to have "self" properly assigned to the dictionary (see examples
|
||||
below.) A funcref "f" has the following properties:
|
||||
|
||||
Properties
|
||||
----------
|
||||
o "#f" is the name of the function referenced by "f"
|
||||
o "f(...)" calls the function referenced by "f" (with arguments)
|
||||
|
||||
Examples:
|
||||
>
|
||||
:function I(x)
|
||||
: return a:x
|
||||
: endfunction
|
||||
:let R = function('I')
|
||||
:lua i1 = vim.funcref('I')
|
||||
:lua i2 = vim.eval('R')
|
||||
:lua print(#i1, #i2) -- both 'I'
|
||||
:lua print(i1, i2, #i2(i1) == #i1(i2))
|
||||
:function Mylen() dict
|
||||
: return len(self.data)
|
||||
: endfunction
|
||||
:let mydict = {'data': [0, 1, 2, 3]}
|
||||
:lua d = vim.eval('mydict'); d.len = vim.funcref('Mylen')
|
||||
:echo mydict.len()
|
||||
:lua l = d.len -- assign d as 'self'
|
||||
:lua print(l())
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
6. Buffer userdata *lua-buffer*
|
||||
|
||||
Buffer userdata represent vim buffers. A buffer userdata "b" has the following
|
||||
properties and methods:
|
||||
@@ -281,7 +337,7 @@ Examples:
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
6. Window userdata *lua-window*
|
||||
7. Window userdata *lua-window*
|
||||
|
||||
Window objects represent vim windows. A window userdata "w" has the following
|
||||
properties and methods:
|
||||
@@ -313,7 +369,7 @@ Examples:
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
7. The luaeval function *lua-luaeval* *lua-eval*
|
||||
8. The luaeval function *lua-luaeval* *lua-eval*
|
||||
|
||||
The (dual) equivalent of "vim.eval" for passing Lua values to Vim is
|
||||
"luaeval". "luaeval" takes an expression string and an optional argument and
|
||||
@@ -325,7 +381,13 @@ returns the result of the expression. It is semantically equivalent in Lua to:
|
||||
return chunk(arg) -- return typval
|
||||
end
|
||||
<
|
||||
Note that "_A" receives the argument to "luaeval". Examples: >
|
||||
Note that "_A" receives the argument to "luaeval". Lua numbers, strings, and
|
||||
list, dict, and funcref userdata are converted to their Vim respective types,
|
||||
while Lua booleans are converted to numbers. An error is thrown if conversion
|
||||
of any of the remaining Lua types, including userdata other than lists, dicts,
|
||||
and funcrefs, is attempted.
|
||||
|
||||
Examples: >
|
||||
|
||||
:echo luaeval('math.pi')
|
||||
:lua a = vim.list():add('newlist')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_mzsch.txt* For Vim version 7.3. Last change: 2010 Feb 11
|
||||
*if_mzsch.txt* For Vim version 7.3. Last change: 2012 Dec 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Sergey Khorev
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_pyth.txt* For Vim version 7.3. Last change: 2013 Jan 30
|
||||
*if_pyth.txt* For Vim version 7.3. Last change: 2013 Jun 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Moore
|
||||
@@ -11,9 +11,11 @@ The Python Interface to Vim *python* *Python*
|
||||
3. Buffer objects |python-buffer|
|
||||
4. Range objects |python-range|
|
||||
5. Window objects |python-window|
|
||||
6. pyeval(), py3eval() Vim functions |python-pyeval|
|
||||
7. Dynamic loading |python-dynamic|
|
||||
8. Python 3 |python3|
|
||||
6. Tab page objects |python-tabpage|
|
||||
7. vim.bindeval objects |python-bindeval-objects|
|
||||
8. pyeval(), py3eval() Vim functions |python-pyeval|
|
||||
9. Dynamic loading |python-dynamic|
|
||||
10. Python 3 |python3|
|
||||
|
||||
{Vi does not have any of these commands}
|
||||
|
||||
@@ -57,6 +59,22 @@ Example: >
|
||||
Note: Python is very sensitive to the indenting. Make sure the "class" line
|
||||
and "EOF" do not have any indent.
|
||||
|
||||
*:pydo*
|
||||
:[range]pydo {body} Execute Python function "def _vim_pydo(line, linenr):
|
||||
{body}" for each line in the [range], with the
|
||||
function arguments being set to the text of each line
|
||||
in turn, without a trailing <EOL>, and the current
|
||||
line number. The function should return a string or
|
||||
None. If a string is returned, it becomes the text of
|
||||
the line in the current turn. The default for [range]
|
||||
is the whole file: "1,$".
|
||||
{not in Vi}
|
||||
|
||||
Examples:
|
||||
>
|
||||
:pydo return "%s\t%d" % (line[::-1], len(line))
|
||||
:pydo if line: return "%4d: %s" % (linenr, line)
|
||||
<
|
||||
*:pyfile* *:pyf*
|
||||
:[range]pyf[ile] {file}
|
||||
Execute the Python script in {file}. The whole
|
||||
@@ -154,42 +172,26 @@ vim.eval(str) *python-eval*
|
||||
'eval_expr', 'kind': 'f', 'filename': './src/eval.c'}]
|
||||
|
||||
vim.bindeval(str) *python-bindeval*
|
||||
Like |python-eval|, but
|
||||
1. if expression evaluates to |List| or |Dictionary| it is returned as
|
||||
vimlist or vimdictionary python type that are connected to original
|
||||
list or dictionary. Thus modifications to these objects imply
|
||||
modifications of the original.
|
||||
Like |python-eval|, but returns special objects described in
|
||||
|python-bindeval-objects|. These python objects let you modify (|List|
|
||||
or |Dictionary|) or call (|Funcref|) vim objects.
|
||||
|
||||
Additionally, vimlist and vimdictionary type have read-write
|
||||
`.locked` attribute that returns
|
||||
Value Meaning ~
|
||||
zero Variable is not locked
|
||||
vim.VAR_LOCKED Variable is locked, but can be unlocked
|
||||
vim.VAR_FIXED Variable is locked and can't be unlocked
|
||||
integer constants. If variable is not fixed, you can do
|
||||
`var.locked=True` to lock it and `var.locked=False` to unlock.
|
||||
There is no recursive locking like |:lockvar|! does. There is also
|
||||
no way to lock a specific key or check whether it is locked (in any
|
||||
case these locks are ignored by anything except |:let|: |extend()|
|
||||
does not care, neither does python interface).
|
||||
|
||||
Vimdictionary type also supports `.scope` attribute which is one of
|
||||
Value Meaning ~
|
||||
zero Dictionary is not a scope one
|
||||
vim.VAR_DEF_SCOPE Function-local or global scope dictionary
|
||||
vim.VAR_SCOPE Other scope dictionary
|
||||
|
||||
2. if expression evaluates to a function reference, then it returns
|
||||
callable vimfunction object. Use self keyword argument to assign
|
||||
|self| object for dictionary functions.
|
||||
|
||||
Note: this function has the same behavior as |lua-eval| (except that
|
||||
lua does not support running vim functions), |python-eval| is
|
||||
kept for backwards compatibility in order not to make scripts
|
||||
relying on outputs of vim.eval() being a copy of original or
|
||||
vim.eval("1") returning a string.
|
||||
vim.strwidth(str) *python-strwidth*
|
||||
Like |strwidth()|: returns number of display cells str occupies, tab
|
||||
is counted as one cell.
|
||||
|
||||
vim.foreach_rtp(callable) *python-foreach_rtp*
|
||||
Call the given callable for each path in 'runtimepath' until either
|
||||
callable returns something but None, the exception is raised or there
|
||||
are no longer paths. If stopped in case callable returned non-None,
|
||||
vim.foreach_rtp function returns the value returned by callable.
|
||||
|
||||
vim.chdir(*args, **kwargs) *python-chdir*
|
||||
vim.fchdir(*args, **kwargs) *python-fchdir*
|
||||
Run os.chdir or os.fchdir, then all appropriate vim stuff.
|
||||
Note: you should not use these functions directly, use os.chdir and
|
||||
os.fchdir instead. Behavior of vim.fchdir is undefined in case
|
||||
os.fchdir does not exist.
|
||||
|
||||
Error object of the "vim" module
|
||||
|
||||
@@ -209,12 +211,12 @@ Constants of the "vim" module
|
||||
to which the variables referred.
|
||||
|
||||
vim.buffers *python-buffers*
|
||||
A sequence object providing access to the list of vim buffers. The
|
||||
A mapping object providing access to the list of vim buffers. The
|
||||
object supports the following operations: >
|
||||
:py b = vim.buffers[i] # Indexing (read-only)
|
||||
:py b in vim.buffers # Membership test
|
||||
:py n = len(vim.buffers) # Number of elements
|
||||
:py for b in vim.buffers: # Sequential access
|
||||
:py for b in vim.buffers: # Iterating over buffer list
|
||||
<
|
||||
vim.windows *python-windows*
|
||||
A sequence object providing access to the list of vim windows. The
|
||||
@@ -223,13 +225,28 @@ vim.windows *python-windows*
|
||||
:py w in vim.windows # Membership test
|
||||
:py n = len(vim.windows) # Number of elements
|
||||
:py for w in vim.windows: # Sequential access
|
||||
< Note: vim.windows object always accesses current tab page.
|
||||
|python-tabpage|.windows objects are bound to parent |python-tabpage|
|
||||
object and always use windows from that tab page (or throw vim.error
|
||||
in case tab page was deleted). You can keep a reference to both
|
||||
without keeping a reference to vim module object or |python-tabpage|,
|
||||
they will not lose their properties in this case.
|
||||
|
||||
vim.tabpages *python-tabpages*
|
||||
A sequence object providing access to the list of vim tab pages. The
|
||||
object supports the following operations: >
|
||||
:py t = vim.tabpages[i] # Indexing (read-only)
|
||||
:py t in vim.tabpages # Membership test
|
||||
:py n = len(vim.tabpages) # Number of elements
|
||||
:py for t in vim.tabpages: # Sequential access
|
||||
<
|
||||
vim.current *python-current*
|
||||
An object providing access (via specific attributes) to various
|
||||
"current" objects available in vim:
|
||||
vim.current.line The current line (RW) String
|
||||
vim.current.buffer The current buffer (RO) Buffer
|
||||
vim.current.window The current window (RO) Window
|
||||
vim.current.buffer The current buffer (RW) Buffer
|
||||
vim.current.window The current window (RW) Window
|
||||
vim.current.tabpage The current tab page (RW) TabPage
|
||||
vim.current.range The current line range (RO) Range
|
||||
|
||||
The last case deserves a little explanation. When the :python or
|
||||
@@ -237,6 +254,42 @@ vim.current *python-current*
|
||||
"current range". A range is a bit like a buffer, but with all access
|
||||
restricted to a subset of lines. See |python-range| for more details.
|
||||
|
||||
Note: When assigning to vim.current.{buffer,window,tabpage} it expects
|
||||
valid |python-buffer|, |python-window| or |python-tabpage| objects
|
||||
respectively. Assigning triggers normal (with |autocommand|s)
|
||||
switching to given buffer, window or tab page. It is the only way to
|
||||
switch UI objects in python: you can't assign to
|
||||
|python-tabpage|.window attribute. To switch without triggering
|
||||
autocommands use >
|
||||
py << EOF
|
||||
saved_eventignore = vim.options['eventignore']
|
||||
vim.options['eventignore'] = 'all'
|
||||
try:
|
||||
vim.current.buffer = vim.buffers[2] # Switch to buffer 2
|
||||
finally:
|
||||
vim.options['eventignore'] = saved_eventignore
|
||||
EOF
|
||||
<
|
||||
vim.vars *python-vars*
|
||||
vim.vvars *python-vvars*
|
||||
Dictionary-like objects holding dictionaries with global (|g:|) and
|
||||
vim (|v:|) variables respectively. Identical to `vim.bindeval("g:")`,
|
||||
but faster.
|
||||
|
||||
vim.options *python-options*
|
||||
Object partly supporting mapping protocol (supports setting and
|
||||
getting items) providing a read-write access to global options.
|
||||
Note: unlike |:set| this provides access only to global options. You
|
||||
cannot use this object to obtain or set local options' values or
|
||||
access local-only options in any fashion. Raises KeyError if no global
|
||||
option with such name exists (i.e. does not raise KeyError for
|
||||
|global-local| options and global only options, but does for window-
|
||||
and buffer-local ones). Use |python-buffer| objects to access to
|
||||
buffer-local options and |python-window| objects to access to
|
||||
window-local options.
|
||||
|
||||
Type of this object is available via "Options" attribute of vim
|
||||
module.
|
||||
|
||||
Output from Python *python-output*
|
||||
Vim displays all Python code output in the Vim message area. Normal
|
||||
@@ -253,6 +306,88 @@ Output from Python *python-output*
|
||||
supported, and may cause the program to crash. This should probably be
|
||||
fixed.
|
||||
|
||||
*python2-directory* *python3-directory* *pythonx-directory*
|
||||
Python 'runtimepath' handling *python-special-path*
|
||||
|
||||
In python vim.VIM_SPECIAL_PATH special directory is used as a replacement for
|
||||
the list of paths found in 'runtimepath': with this directory in sys.path and
|
||||
vim.path_hooks in sys.path_hooks python will try to load module from
|
||||
{rtp}/python2 (or python3) and {rtp}/pythonx (for both python versions) for
|
||||
each {rtp} found in 'runtimepath'.
|
||||
|
||||
Implementation is similar to the following, but written in C: >
|
||||
|
||||
from imp import find_module, load_module
|
||||
import vim
|
||||
import sys
|
||||
|
||||
class VimModuleLoader(object):
|
||||
def __init__(self, module):
|
||||
self.module = module
|
||||
|
||||
def load_module(self, fullname, path=None):
|
||||
return self.module
|
||||
|
||||
def _find_module(fullname, oldtail, path):
|
||||
idx = oldtail.find('.')
|
||||
if idx > 0:
|
||||
name = oldtail[:idx]
|
||||
tail = oldtail[idx+1:]
|
||||
fmr = find_module(name, path)
|
||||
module = load_module(fullname[:-len(oldtail)] + name, *fmr)
|
||||
return _find_module(fullname, tail, module.__path__)
|
||||
else:
|
||||
fmr = find_module(fullname, path)
|
||||
return load_module(fullname, *fmr)
|
||||
|
||||
# It uses vim module itself in place of VimPathFinder class: it does not
|
||||
# matter for python which object has find_module function attached to as
|
||||
# an attribute.
|
||||
class VimPathFinder(object):
|
||||
@classmethod
|
||||
def find_module(cls, fullname, path=None):
|
||||
try:
|
||||
return VimModuleLoader(_find_module(fullname, fullname, path or vim._get_paths()))
|
||||
except ImportError:
|
||||
return None
|
||||
|
||||
@classmethod
|
||||
def load_module(cls, fullname, path=None):
|
||||
return _find_module(fullname, fullname, path or vim._get_paths())
|
||||
|
||||
def hook(path):
|
||||
if path == vim.VIM_SPECIAL_PATH:
|
||||
return VimPathFinder
|
||||
else:
|
||||
raise ImportError
|
||||
|
||||
sys.path_hooks.append(hook)
|
||||
|
||||
vim.VIM_SPECIAL_PATH *python-VIM_SPECIAL_PATH*
|
||||
String constant used in conjunction with vim path hook. If path hook
|
||||
installed by vim is requested to handle anything but path equal to
|
||||
vim.VIM_SPECIAL_PATH constant it raises ImportError. In the only other
|
||||
case it uses special loader.
|
||||
|
||||
Note: you must not use value of this constant directly, always use
|
||||
vim.VIM_SPECIAL_PATH object.
|
||||
|
||||
vim.find_module(...) *python-find_module*
|
||||
vim.path_hook(path) *python-path_hook*
|
||||
Methods or objects used to implement path loading as described above.
|
||||
You should not be using any of these directly except for vim.path_hook
|
||||
in case you need to do something with sys.meta_path. It is not
|
||||
guaranteed that any of the objects will exist in the future vim
|
||||
versions.
|
||||
|
||||
vim._get_paths *python-_get_paths*
|
||||
Methods returning a list of paths which will be searched for by path
|
||||
hook. You should not rely on this method being present in future
|
||||
versions, but can use it for debugging.
|
||||
|
||||
It returns a list of {rtp}/python2 (or {rtp}/python3) and
|
||||
{rtp}/pythonx directories for each {rtp} in 'runtimepath'.
|
||||
|
||||
==============================================================================
|
||||
3. Buffer objects *python-buffer*
|
||||
|
||||
@@ -278,6 +413,24 @@ Buffer indexes start at zero, as is normal in Python. This differs from vim
|
||||
line numbers, which start from 1. This is particularly relevant when dealing
|
||||
with marks (see below) which use vim line numbers.
|
||||
|
||||
The buffer object attributes are:
|
||||
b.vars Dictionary-like object used to access
|
||||
|buffer-variable|s.
|
||||
b.options Mapping object (supports item getting, setting and
|
||||
deleting) that provides access to buffer-local options
|
||||
and buffer-local values of |global-local| options. Use
|
||||
|python-window|.options if option is window-local,
|
||||
this object will raise KeyError. If option is
|
||||
|global-local| and local value is missing getting it
|
||||
will return None.
|
||||
b.name String, RW. Contains buffer name (full path).
|
||||
Note: when assigning to b.name |BufFilePre| and
|
||||
|BufFilePost| autocommands are launched.
|
||||
b.number Buffer number. Can be used as |python-buffers| key.
|
||||
Read-only.
|
||||
b.valid True or False. Buffer object becomes invalid when
|
||||
corresponding buffer is wiped out.
|
||||
|
||||
The buffer object methods are:
|
||||
b.append(str) Append a line to the buffer
|
||||
b.append(str, nr) Idem, below line "nr"
|
||||
@@ -296,6 +449,8 @@ Note that when adding a line it must not contain a line break character '\n'.
|
||||
A trailing '\n' is allowed and ignored, so that you can do: >
|
||||
:py b.append(f.readlines())
|
||||
|
||||
Buffer object type is available using "Buffer" attribute of vim module.
|
||||
|
||||
Examples (assume b is the current buffer) >
|
||||
:py print b.name # write the buffer file name
|
||||
:py b[0] = "hello!!!" # replace the top line
|
||||
@@ -307,6 +462,9 @@ Examples (assume b is the current buffer) >
|
||||
:py n = len(b) # number of lines
|
||||
:py (row,col) = b.mark('a') # named mark
|
||||
:py r = b.range(1,5) # a sub-range of the buffer
|
||||
:py b.vars["foo"] = "bar" # assign b:foo variable
|
||||
:py b.options["ff"] = "dos" # set fileformat
|
||||
:py del b.options["ar"] # same as :set autoread<
|
||||
|
||||
==============================================================================
|
||||
4. Range objects *python-range*
|
||||
@@ -334,6 +492,8 @@ The range object methods are:
|
||||
for Python's built-in list objects.
|
||||
r.append(list, nr) Idem, after line "nr"
|
||||
|
||||
Range object type is available using "Range" attribute of vim module.
|
||||
|
||||
Example (assume r is the current range):
|
||||
# Send all lines in a range to the default printer
|
||||
vim.command("%d,%dhardcopy!" % (r.start+1,r.end+1))
|
||||
@@ -344,6 +504,8 @@ Example (assume r is the current range):
|
||||
Window objects represent vim windows. You can obtain them in a number of ways:
|
||||
- via vim.current.window (|python-current|)
|
||||
- from indexing vim.windows (|python-windows|)
|
||||
- from indexing "windows" attribute of a tab page (|python-tabpage|)
|
||||
- from the "window" attribute of a tab page (|python-tabpage|)
|
||||
|
||||
You can manipulate window objects only through their attributes. They have no
|
||||
methods, and no sequence or other interface.
|
||||
@@ -354,17 +516,167 @@ Window attributes are:
|
||||
This is a tuple, (row,col).
|
||||
height (read-write) The window height, in rows
|
||||
width (read-write) The window width, in columns
|
||||
vars (read-only) The window |w:| variables. Attribute is
|
||||
unassignable, but you can change window
|
||||
variables this way
|
||||
options (read-only) The window-local options. Attribute is
|
||||
unassignable, but you can change window
|
||||
options this way. Provides access only to
|
||||
window-local options, for buffer-local use
|
||||
|python-buffer| and for global ones use
|
||||
|python-options|. If option is |global-local|
|
||||
and local value is missing getting it will
|
||||
return None.
|
||||
number (read-only) Window number. The first window has number 1.
|
||||
This is zero in case it cannot be determined
|
||||
(e.g. when the window object belongs to other
|
||||
tab page).
|
||||
row, col (read-only) On-screen window position in display cells.
|
||||
First position is zero.
|
||||
tabpage (read-only) Window tab page.
|
||||
valid (read-write) True or False. Window object becomes invalid
|
||||
when corresponding window is closed.
|
||||
|
||||
The height attribute is writable only if the screen is split horizontally.
|
||||
The width attribute is writable only if the screen is split vertically.
|
||||
|
||||
Window object type is available using "Window" attribute of vim module.
|
||||
|
||||
==============================================================================
|
||||
6. pyeval() and py3eval() Vim functions *python-pyeval*
|
||||
6. Tab page objects *python-tabpage*
|
||||
|
||||
Tab page objects represent vim tab pages. You can obtain them in a number of
|
||||
ways:
|
||||
- via vim.current.tabpage (|python-current|)
|
||||
- from indexing vim.tabpages (|python-tabpages|)
|
||||
|
||||
You can use this object to access tab page windows. They have no methods and
|
||||
no sequence or other interfaces.
|
||||
|
||||
Tab page attributes are:
|
||||
number The tab page number like the one returned by
|
||||
|tabpagenr()|.
|
||||
windows Like |python-windows|, but for current tab page.
|
||||
vars The tab page |t:| variables.
|
||||
window Current tabpage window.
|
||||
valid True or False. Tab page object becomes invalid when
|
||||
corresponding tab page is closed.
|
||||
|
||||
TabPage object type is available using "TabPage" attribute of vim module.
|
||||
|
||||
==============================================================================
|
||||
7. vim.bindeval objects *python-bindeval-objects*
|
||||
|
||||
vim.Dictionary object *python-Dictionary*
|
||||
Dictionary-like object providing access to vim |Dictionary| type.
|
||||
Attributes:
|
||||
Attribute Description ~
|
||||
locked One of *python-.locked*
|
||||
Value Description ~
|
||||
zero Variable is not locked
|
||||
vim.VAR_LOCKED Variable is locked, but can be unlocked
|
||||
vim.VAR_FIXED Variable is locked and can't be unlocked
|
||||
Read-write. You can unlock locked variable by assigning
|
||||
`True` or `False` to this attribute. No recursive locking
|
||||
is supported.
|
||||
scope One of
|
||||
Value Description ~
|
||||
zero Dictionary is not a scope one
|
||||
vim.VAR_DEF_SCOPE |g:| or |l:| dictionary
|
||||
vim.VAR_SCOPE Other scope dictionary,
|
||||
see |internal-variables|
|
||||
Methods (note: methods do not support keyword arguments):
|
||||
Method Description ~
|
||||
keys() Returns a list with dictionary keys.
|
||||
values() Returns a list with dictionary values.
|
||||
items() Returns a list of 2-tuples with dictionary contents.
|
||||
update(iterable), update(dictionary), update(**kwargs)
|
||||
Adds keys to dictionary.
|
||||
get(key[, default=None])
|
||||
Obtain key from dictionary, returning the default if it is
|
||||
not present.
|
||||
pop(key[, default])
|
||||
Remove specified key from dictionary and return
|
||||
corresponding value. If key is not found and default is
|
||||
given returns the default, otherwise raises KeyError.
|
||||
popitem()
|
||||
Remove random key from dictionary and return (key, value)
|
||||
pair.
|
||||
has_key(key)
|
||||
Check whether dictionary contains specified key, similar
|
||||
to `key in dict`.
|
||||
|
||||
__new__(), __new__(iterable), __new__(dictionary), __new__(update)
|
||||
You can use `vim.Dictionary()` to create new vim
|
||||
dictionaries. `d=vim.Dictionary(arg)` is the same as
|
||||
`d=vim.bindeval('{}');d.update(arg)`. Without arguments
|
||||
constructs empty dictionary.
|
||||
|
||||
Examples: >
|
||||
d = vim.Dictionary(food="bar") # Constructor
|
||||
d['a'] = 'b' # Item assignment
|
||||
print d['a'] # getting item
|
||||
d.update({'c': 'd'}) # .update(dictionary)
|
||||
d.update(e='f') # .update(**kwargs)
|
||||
d.update((('g', 'h'), ('i', 'j'))) # .update(iterable)
|
||||
for key in d.keys(): # .keys()
|
||||
for val in d.values(): # .values()
|
||||
for key, val in d.items(): # .items()
|
||||
print isinstance(d, vim.Dictionary) # True
|
||||
for key in d: # Iteration over keys
|
||||
class Dict(vim.Dictionary): # Subclassing
|
||||
<
|
||||
Note: when iterating over keys you should not modify dictionary.
|
||||
|
||||
vim.List object *python-List*
|
||||
Sequence-like object providing access to vim |List| type.
|
||||
Supports `.locked` attribute, see |python-.locked|. Also supports the
|
||||
following methods:
|
||||
Method Description ~
|
||||
extend(item) Add items to the list.
|
||||
|
||||
__new__(), __new__(iterable)
|
||||
You can use `vim.List()` to create new vim lists.
|
||||
`l=vim.List(iterable)` is the same as
|
||||
`l=vim.bindeval('[]');l.extend(iterable)`. Without
|
||||
arguments constructs empty list.
|
||||
Examples: >
|
||||
l = vim.List("abc") # Constructor, result: ['a', 'b', 'c']
|
||||
l.extend(['abc', 'def']) # .extend() method
|
||||
print l[1:] # slicing
|
||||
l[:0] = ['ghi', 'jkl'] # slice assignment
|
||||
print l[0] # getting item
|
||||
l[0] = 'mno' # assignment
|
||||
for i in l: # iteration
|
||||
print isinstance(l, vim.List) # True
|
||||
class List(vim.List): # Subclassing
|
||||
|
||||
vim.Function object *python-Function*
|
||||
Function-like object, acting like vim |Funcref| object. Supports `.name`
|
||||
attribute and is callable. Accepts special keyword argument `self`, see
|
||||
|Dictionary-function|. You can also use `vim.Function(name)` constructor,
|
||||
it is the same as `vim.bindeval('function(%s)'%json.dumps(name))`.
|
||||
|
||||
Examples: >
|
||||
f = vim.Function('tr') # Constructor
|
||||
print f('abc', 'a', 'b') # Calls tr('abc', 'a', 'b')
|
||||
vim.command('''
|
||||
function DictFun() dict
|
||||
return self
|
||||
endfunction
|
||||
''')
|
||||
f = vim.bindeval('function("DictFun")')
|
||||
print f(self={}) # Like call('DictFun', [], {})
|
||||
print isinstance(f, vim.Function) # True
|
||||
|
||||
==============================================================================
|
||||
8. pyeval() and py3eval() Vim functions *python-pyeval*
|
||||
|
||||
To facilitate bi-directional interface, you can use |pyeval()| and |py3eval()|
|
||||
functions to evaluate Python expressions and pass their values to VimL.
|
||||
|
||||
==============================================================================
|
||||
7. Dynamic loading *python-dynamic*
|
||||
9. Dynamic loading *python-dynamic*
|
||||
|
||||
On MS-Windows the Python library can be loaded dynamically. The |:version|
|
||||
output then includes |+python/dyn|.
|
||||
@@ -381,14 +693,16 @@ Currently the name is "python24.dll". That is for Python 2.4. To know for
|
||||
sure edit "gvim.exe" and search for "python\d*.dll\c".
|
||||
|
||||
==============================================================================
|
||||
8. Python 3 *python3*
|
||||
10. Python 3 *python3*
|
||||
|
||||
*:py3* *:python3*
|
||||
The |:py3| and |:python3| commands work similar to |:python|. A simple check
|
||||
if the `:py3` command is wrong: >
|
||||
The `:py3` and `:python3` commands work similar to `:python`. A simple check
|
||||
if the `:py3` command is working: >
|
||||
:py3 print("Hello")
|
||||
< *:py3file*
|
||||
The |:py3file| command works similar to |:pyfile|.
|
||||
The `:py3file` command works similar to `:pyfile`.
|
||||
*:py3do* *E863*
|
||||
The `:py3do` command works similar to `:pydo`.
|
||||
|
||||
|
||||
Vim can be built in four ways (:version output):
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*indent.txt* For Vim version 7.3. Last change: 2012 Aug 30
|
||||
*indent.txt* For Vim version 7.3. Last change: 2013 Jun 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -577,6 +577,106 @@ $VIMRUNTIME/indent directory for examples.
|
||||
REMARKS ABOUT SPECIFIC INDENT FILES ~
|
||||
|
||||
|
||||
CLOJURE *ft-clojure-indent* *clojure-indent*
|
||||
|
||||
Clojure indentation differs somewhat from traditional Lisps, due in part to
|
||||
the use of square and curly brackets, and otherwise by community convention.
|
||||
These conventions are not always universally followed, so the Clojure indent
|
||||
script offers a few configurable options, listed below.
|
||||
|
||||
If the current vim does not include searchpairpos(), the indent script falls
|
||||
back to normal 'lisp' indenting, and the following options are ignored.
|
||||
|
||||
*g:clojure_maxlines*
|
||||
|
||||
Set maximum scan distance of searchpairpos(). Larger values trade performance
|
||||
for correctness when dealing with very long forms. A value of 0 will scan
|
||||
without limits.
|
||||
>
|
||||
" Default
|
||||
let g:clojure_maxlines = 100
|
||||
<
|
||||
|
||||
*g:clojure_fuzzy_indent*
|
||||
*g:clojure_fuzzy_indent_patterns*
|
||||
*g:clojure_fuzzy_indent_blacklist*
|
||||
|
||||
The 'lispwords' option is a list of comma-separated words that mark special
|
||||
forms whose subforms must be indented with two spaces.
|
||||
|
||||
For example:
|
||||
>
|
||||
(defn bad []
|
||||
"Incorrect indentation")
|
||||
|
||||
(defn good []
|
||||
"Correct indentation")
|
||||
<
|
||||
If you would like to specify 'lispwords' with a |pattern| instead, you can use
|
||||
the fuzzy indent feature:
|
||||
>
|
||||
" Default
|
||||
let g:clojure_fuzzy_indent = 1
|
||||
let g:clojure_fuzzy_indent_patterns = ['^with', '^def', '^let']
|
||||
let g:clojure_fuzzy_indent_blacklist =
|
||||
\ ['-fn$', '\v^with-%(meta|out-str|loading-context)$']
|
||||
|
||||
" Legacy comma-delimited string version; the list format above is
|
||||
" recommended. Note that patterns are implicitly anchored with ^ and $
|
||||
let g:clojure_fuzzy_indent_patterns = 'with.*,def.*,let.*'
|
||||
<
|
||||
|g:clojure_fuzzy_indent_patterns| and |g:clojure_fuzzy_indent_blacklist| are
|
||||
|Lists| of patterns that will be matched against the unquoted, unqualified
|
||||
symbol at the head of a list. This means that a pattern like "^foo" will match
|
||||
all these candidates: "foobar", "my.ns/foobar", and "#'foobar".
|
||||
|
||||
Each candidate word is tested for special treatment in this order:
|
||||
|
||||
1. Return true if word is literally in 'lispwords'
|
||||
2. Return false if word matches a pattern in
|
||||
|g:clojure_fuzzy_indent_blacklist|
|
||||
3. Return true if word matches a pattern in
|
||||
|g:clojure_fuzzy_indent_patterns|
|
||||
4. Return false and indent normally otherwise
|
||||
|
||||
*g:clojure_special_indent_words*
|
||||
|
||||
Some forms in Clojure are indented so that every subform is indented only two
|
||||
spaces, regardless of 'lispwords'. If you have a custom construct that should
|
||||
be indented in this idiosyncratic fashion, you can add your symbols to the
|
||||
default list below.
|
||||
>
|
||||
" Default
|
||||
let g:clojure_special_indent_words =
|
||||
\ 'deftype,defrecord,reify,proxy,extend-type,extend-protocol,letfn'
|
||||
<
|
||||
|
||||
*g:clojure_align_multiline_strings*
|
||||
|
||||
Align subsequent lines in multiline strings to the column after the opening
|
||||
quote, instead of the same column.
|
||||
|
||||
For example:
|
||||
>
|
||||
(def default
|
||||
"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
|
||||
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
|
||||
enim ad minim veniam, quis nostrud exercitation ullamco laboris
|
||||
nisi ut aliquip ex ea commodo consequat.")
|
||||
|
||||
(def aligned
|
||||
"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
|
||||
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
|
||||
enim ad minim veniam, quis nostrud exercitation ullamco laboris
|
||||
nisi ut aliquip ex ea commodo consequat.")
|
||||
<
|
||||
This option is off by default.
|
||||
>
|
||||
" Default
|
||||
let g:clojure_align_multiline_strings = 0
|
||||
<
|
||||
|
||||
|
||||
FORTRAN *ft-fortran-indent*
|
||||
|
||||
Block if, select case, where, and forall constructs are indented. So are
|
||||
@@ -629,6 +729,50 @@ buffer-local variable as follows >
|
||||
let b:fortran_indent_less=1
|
||||
|
||||
|
||||
HTML *ft-html-indent* *html-indent* *html-indenting*
|
||||
|
||||
This is about variables you can set in your vimrc to customize HTML indenting.
|
||||
|
||||
You can set the indent for the first line after <script> and <style>
|
||||
"blocktags" (default "zero"): >
|
||||
|
||||
:let g:html_indent_script1 = "inc"
|
||||
:let g:html_indent_style1 = "inc"
|
||||
<
|
||||
VALUE MEANING ~
|
||||
"zero" zero indent
|
||||
"auto" auto indent (same indent as the blocktag)
|
||||
"inc" auto indent + one indent step
|
||||
|
||||
Many tags increase the indent for what follows per default (see "Add Indent
|
||||
Tags" in the script). You can add further tags with: >
|
||||
|
||||
:let g:html_indent_inctags = "html,body,head,tbody"
|
||||
|
||||
You can also remove such tags with: >
|
||||
|
||||
:let g:html_indent_autotags = "th,td,tr,tfoot,thead"
|
||||
|
||||
Default value is empty for both variables. Note: the initial "inctags" are
|
||||
only defined once per Vim session.
|
||||
|
||||
User variables are only read when the script is sourced. To enable your
|
||||
changes during a session, without reloading the HTML file, you can manually
|
||||
do: >
|
||||
|
||||
:call HtmlIndent_CheckUserSettings()
|
||||
|
||||
Detail:
|
||||
Calculation of indent inside "blocktags" with "alien" content:
|
||||
BLOCKTAG INDENT EXPR WHEN APPLICABLE ~
|
||||
<script> : {customizable} if first line of block
|
||||
: cindent(v:lnum) if attributes empty or contain "java"
|
||||
: -1 else (vbscript, tcl, ...)
|
||||
<style> : {customizable} if first line of block
|
||||
: GetCSSIndent() else
|
||||
<!-- --> : -1
|
||||
|
||||
|
||||
PHP *ft-php-indent* *php-indent* *php-indenting*
|
||||
|
||||
NOTE: PHP files will be indented correctly only if PHP |syntax| is active.
|
||||
@@ -640,12 +784,12 @@ those useless characters first with a command like: >
|
||||
:%s /\r$//g
|
||||
|
||||
Or, you can simply |:let| the variable PHP_removeCRwhenUnix to 1 and the
|
||||
script will silently remove them when Vim loads a PHP file (at each|BufRead|).
|
||||
script will silently remove them when Vim loads a PHP file (at each |BufRead|).
|
||||
|
||||
OPTIONS: ~
|
||||
|
||||
PHP indenting can be altered in several ways by modifying the values of some
|
||||
variables:
|
||||
global variables:
|
||||
|
||||
*php-comment*
|
||||
To not enable auto-formating of comments by default (if you want to use your
|
||||
@@ -653,10 +797,21 @@ own 'formatoptions'): >
|
||||
:let g:PHP_autoformatcomment = 0
|
||||
|
||||
Else, 't' will be removed from the 'formatoptions' string and "qrowcb" will be
|
||||
added, see|fo-table|for more information.
|
||||
added, see |fo-table| for more information.
|
||||
-------------
|
||||
|
||||
To add an extra indent to every PHP lines with N being the number of
|
||||
To add extra indentation to single-line comments: >
|
||||
:let g:PHP_outdentSLComments = N
|
||||
|
||||
With N being the number of 'shiftwidth' to add.
|
||||
|
||||
Only single-line comments will be affected such as: >
|
||||
# Comment
|
||||
// Comment
|
||||
/* Comment */
|
||||
-------------
|
||||
|
||||
To add extra indentation to every PHP lines with N being the number of
|
||||
'shiftwidth' to add: >
|
||||
:let g:PHP_default_indenting = N
|
||||
|
||||
@@ -672,7 +827,7 @@ For example, with N = 1, this will give:
|
||||
|
||||
$command_hist = TRUE;
|
||||
?>
|
||||
(Notice the extra indent between the PHP container markers and the code)
|
||||
(Notice the extra indentation between the PHP container markers and the code)
|
||||
-------------
|
||||
|
||||
To indent PHP tags as the surrounding code: >
|
||||
@@ -704,8 +859,10 @@ NOTE: Indenting will be a bit slower if this option is used because some
|
||||
To indent 'case:' and 'default:' statements in switch() blocks: >
|
||||
:let g:PHP_vintage_case_default_indent = 1
|
||||
|
||||
(Since in PHP braces are not required inside 'case/default' blocks, by default they are indented at the same level than the 'switch()' to avoid
|
||||
unnecessary indentation)
|
||||
In PHP braces are not required inside 'case/default' blocks therefore 'case:'
|
||||
and 'default:' are indented at the same level than the 'switch()' to avoid
|
||||
meaningless indentation. You can use the above option to return to the
|
||||
traditional way.
|
||||
|
||||
|
||||
PYTHON *ft-python-indent*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 7.3. Last change: 2012 Jul 25
|
||||
*index.txt* For Vim version 7.3. Last change: 2013 Jun 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -94,8 +94,8 @@ tag char action in Insert mode ~
|
||||
|i_CTRL-Z| CTRL-Z when 'insertmode' set: suspend Vim
|
||||
|i_<Esc>| <Esc> end insert mode (unless 'insertmode' set)
|
||||
|i_CTRL-[| CTRL-[ same as <Esc>
|
||||
|i_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode
|
||||
|i_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
|
||||
|i_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode
|
||||
|i_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
|
||||
CTRL-\ a - z reserved for extensions
|
||||
CTRL-\ others not used
|
||||
|i_CTRL-]| CTRL-] trigger abbreviation
|
||||
@@ -141,7 +141,7 @@ tag char action in Insert mode ~
|
||||
|i_<ScrollWheelUp>| <ScrollWheelUp> move window three lines up
|
||||
|i_<S-ScrollWheelUp>| <S-ScrollWheelUp> move window one page up
|
||||
|i_<ScrollWheelLeft>| <ScrollWheelLeft> move window six columns left
|
||||
|i_<S-ScrollWheelLeft>| <S-ScrollWheelLeft> move window one page left
|
||||
|i_<S-ScrollWheelLeft>| <S-ScrollWheelLeft> move window one page left
|
||||
|i_<ScrollWheelRight>| <ScrollWheelRight> move window six columns right
|
||||
|i_<S-ScrollWheelRight>| <S-ScrollWheelRight> move window one page right
|
||||
|
||||
@@ -212,8 +212,8 @@ tag char note action in Normal mode ~
|
||||
|CTRL-Y| CTRL-Y scroll N lines downwards
|
||||
|CTRL-Z| CTRL-Z suspend program (or start new shell)
|
||||
CTRL-[ <Esc> not used
|
||||
|CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode (no-op)
|
||||
|CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
|
||||
|CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode (no-op)
|
||||
|CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
|
||||
CTRL-\ a - z reserved for extensions
|
||||
CTRL-\ others not used
|
||||
|CTRL-]| CTRL-] :ta to ident under cursor
|
||||
@@ -431,7 +431,7 @@ tag char note action in Normal mode ~
|
||||
|<Insert>| <Insert> 2 same as "i"
|
||||
|<Left>| <Left> 1 same as "h"
|
||||
|<LeftMouse>| <LeftMouse> 1 move cursor to the mouse click position
|
||||
|<MiddleMouse>| <MiddleMouse> 2 same as "gP" at the mouse click position
|
||||
|<MiddleMouse>| <MiddleMouse> 2 same as "gP" at the mouse click position
|
||||
|<PageDown>| <PageDown> same as CTRL-F
|
||||
|<PageUp>| <PageUp> same as CTRL-B
|
||||
|<Right>| <Right> 1 same as "l"
|
||||
@@ -640,7 +640,7 @@ tag char note action in Normal mode ~
|
||||
|[s| [s 1 move to the previous misspelled word
|
||||
|[z| [z 1 move to start of open fold
|
||||
|[{| [{ 1 cursor N times back to unmatched '{'
|
||||
|[<MiddleMouse> [<MiddleMouse> 2 same as "[p"
|
||||
|[<MiddleMouse>| [<MiddleMouse> 2 same as "[p"
|
||||
|
||||
|]_CTRL-D| ] CTRL-D jump to first #define found in current and
|
||||
included files matching the word under the
|
||||
@@ -680,7 +680,7 @@ tag char note action in Normal mode ~
|
||||
|]s| ]s 1 move to next misspelled word
|
||||
|]z| ]z 1 move to end of open fold
|
||||
|]}| ]} 1 cursor N times forward to unmatched '}'
|
||||
|]<MiddleMouse> ]<MiddleMouse> 2 same as "]p"
|
||||
|]<MiddleMouse>| ]<MiddleMouse> 2 same as "]p"
|
||||
|
||||
==============================================================================
|
||||
2.4 Commands starting with 'g' *g*
|
||||
@@ -725,6 +725,7 @@ tag char note action in Normal mode ~
|
||||
cursor N times, leave the cursor after it
|
||||
|gQ| gQ switch to "Ex" mode with Vim editing
|
||||
|gR| gR 2 enter Virtual Replace mode
|
||||
|gT| gT go to the previous tab page
|
||||
|gU| gU{motion} 2 make Nmove text uppercase
|
||||
|gV| gV don't reselect the previous Visual area
|
||||
when executing a mapping or menu in Select
|
||||
@@ -762,6 +763,7 @@ tag char note action in Normal mode ~
|
||||
|gq| gq{motion} 2 format Nmove text
|
||||
|gr| gr{char} 2 virtual replace N chars with {char}
|
||||
|gs| gs go to sleep for N seconds (default 1)
|
||||
|gt| gt go to the next tab page
|
||||
|gu| gu{motion} 2 make Nmove text lowercase
|
||||
|gv| gv reselect the previous Visual area
|
||||
|gw| gw{motion} 2 format Nmove text and keep cursor
|
||||
@@ -1011,8 +1013,8 @@ tag command action in Command-line editing mode ~
|
||||
CTRL-Z not used (reserved for suspend)
|
||||
|c_<Esc>| <Esc> abandon command-line without executing it
|
||||
|c_<Esc>| CTRL-[ same as <Esc>
|
||||
|c_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode, abandon command-line
|
||||
|c_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode',
|
||||
|c_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode, abandon command-line
|
||||
|c_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode',
|
||||
abandon command-line
|
||||
CTRL-\ a - d reserved for extensions
|
||||
|c_CTRL-\_e| CTRL-\ e {expr} replace the command line with the result of
|
||||
@@ -1134,7 +1136,7 @@ tag command action ~
|
||||
|:cgetbuffer| :cgetb[uffer] get errors from buffer
|
||||
|:cgetexpr| :cgete[xpr] get errors from expr
|
||||
|:cgetfile| :cg[etfile] read file with error messages
|
||||
|:changes| :cha[nges] print the change list
|
||||
|:changes| :changes print the change list
|
||||
|:chdir| :chd[ir] change directory
|
||||
|:checkpath| :che[ckpath] list included files
|
||||
|:checktime| :checkt[ime] check timestamp of loaded buffers
|
||||
@@ -1383,7 +1385,7 @@ tag command action ~
|
||||
|:promptrepl| :promptr[epl] open GUI dialog for search/replace
|
||||
|:perldo| :perld[o] execute Perl command for each line
|
||||
|:pop| :po[p] jump to older entry in tag stack
|
||||
|:popup| :pop[up] popup a menu by name
|
||||
|:popup| :popu[p] popup a menu by name
|
||||
|:ppop| :pp[op] ":pop" in preview window
|
||||
|:preserve| :pre[serve] write all text to swap file
|
||||
|:previous| :prev[ious] go to previous file in argument list
|
||||
@@ -1401,8 +1403,10 @@ tag command action ~
|
||||
|:pwd| :pw[d] print current directory
|
||||
|:py3| :py3 execute Python 3 command
|
||||
|:python3| :python3 same as :py3
|
||||
|:py3do| :py3d[o] execute Python 3 command for each line
|
||||
|:py3file| :py3f[ile] execute Python 3 script file
|
||||
|:python| :py[thon] execute Python command
|
||||
|:pydo| :pyd[o] execute Python command for each line
|
||||
|:pyfile| :pyf[ile] execute Python script file
|
||||
|:quit| :q[uit] quit current window (when one window quit Vim)
|
||||
|:quitall| :quita[ll] quit Vim
|
||||
@@ -1469,7 +1473,7 @@ tag command action ~
|
||||
|:slast| :sla[st] split window and go to last file in the
|
||||
argument list
|
||||
|:smagic| :sm[agic] :substitute with 'magic'
|
||||
|:smap| :sma[p] like ":map" but for Select mode
|
||||
|:smap| :smap like ":map" but for Select mode
|
||||
|:smapclear| :smapc[lear] remove all mappings for Select mode
|
||||
|:smenu| :sme[nu] add menu for Select mode
|
||||
|:snext| :sn[ext] split window and go to next file in the
|
||||
@@ -1506,6 +1510,7 @@ tag command action ~
|
||||
|:sview| :sv[iew] split window and edit file read-only
|
||||
|:swapname| :sw[apname] show the name of the current swap file
|
||||
|:syntax| :sy[ntax] syntax highlighting
|
||||
|:syntime| :synti[me] measure syntax highlighting speed
|
||||
|:syncbind| :sync[bind] sync scroll binding
|
||||
|:t| :t same as ":copy"
|
||||
|:tNext| :tN[ext] jump to previous matching tag
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 7.3. Last change: 2013 Jan 09
|
||||
*insert.txt* For Vim version 7.3. Last change: 2013 Apr 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1468,9 +1468,9 @@ knows how to color highlight. It can be used for any filetype and provides a
|
||||
minimal language-sensitive completion.
|
||||
|
||||
To enable syntax code completion you can run: >
|
||||
setlocal omnifunc=syntaxcomplete#Complete
|
||||
setlocal omnifunc=syntaxcomplete#Complete
|
||||
|
||||
You can automate this by placing the following in your vimrc (after any
|
||||
You can automate this by placing the following in your |.vimrc| (after any
|
||||
":filetype" command): >
|
||||
if has("autocmd") && exists("+omnifunc")
|
||||
autocmd Filetype *
|
||||
@@ -1487,7 +1487,7 @@ customize which syntax groups to include or exclude from the list. Let's have
|
||||
a look at the PHP filetype to see how this works.
|
||||
|
||||
If you edit a file called, index.php, run the following command: >
|
||||
:syntax list
|
||||
syntax list
|
||||
|
||||
The first thing you will notice is that there are many different syntax groups.
|
||||
The PHP language can include elements from different languages like HTML,
|
||||
@@ -1496,24 +1496,38 @@ that begin with the filetype, "php", in this case. For example these syntax
|
||||
groups are included by default with the PHP: phpEnvVar, phpIntVar,
|
||||
phpFunctions.
|
||||
|
||||
The PHP language has an enormous number of items which it knows how to syntax
|
||||
highlight. This means these items will be available within the omni
|
||||
completion list. Some people may find this list unwieldy or are only
|
||||
interested in certain items.
|
||||
If you wish non-filetype syntax items to also be included, you can use a
|
||||
regular expression syntax (added in version 13.0 of autoload\syntaxcomplete.vim)
|
||||
to add items. Looking at the output from ":syntax list" while editing a PHP file
|
||||
I can see some of these entries: >
|
||||
htmlArg,htmlTag,htmlTagName,javaScriptStatement,javaScriptGlobalObjects
|
||||
|
||||
There are two ways to prune this list (if necessary). If you find certain
|
||||
syntax groups you do not wish displayed you can add the following to your
|
||||
vimrc: >
|
||||
let g:omni_syntax_group_exclude_php = 'phpCoreConstant,phpConstant'
|
||||
To pick up any JavaScript and HTML keyword syntax groups while editing a PHP
|
||||
file, you can use 3 different regexs, one for each language. Or you can
|
||||
simply restrict the include groups to a particular value, without using
|
||||
a regex string: >
|
||||
let g:omni_syntax_group_include_php = 'php\w\+,javaScript\w\+,html\w\+'
|
||||
let g:omni_syntax_group_include_php = 'phpFunctions,phpMethods'
|
||||
<
|
||||
The basic form of this variable is: >
|
||||
let g:omni_syntax_group_include_{filetype} = 'regex,comma,separated'
|
||||
|
||||
The PHP language has an enormous number of items which it knows how to syntax
|
||||
highlight. These these items will be available within the omni completion
|
||||
list.
|
||||
|
||||
Some people may find this list unwieldy or are only interested in certain
|
||||
items. There are two ways to prune this list (if necessary). If you find
|
||||
certain syntax groups you do not wish displayed you can use two different
|
||||
methods to identify these groups. The first specifically lists the syntax
|
||||
groups by name. The second uses a regular expression to identify both
|
||||
syntax groups. Simply add one the following to your vimrc: >
|
||||
let g:omni_syntax_group_exclude_php = 'phpCoreConstant,phpConstant'
|
||||
let g:omni_syntax_group_exclude_php = 'php\w*Constant'
|
||||
|
||||
Add as many syntax groups to this list by comma separating them. The basic
|
||||
form of this variable is: >
|
||||
let g:omni_syntax_group_exclude_{filetype} = 'comma,separated,list'
|
||||
|
||||
For completeness the opposite is also true. Creating this variable in your
|
||||
vimrc will only include the items in the phpFunctions and phpMethods syntax
|
||||
groups: >
|
||||
let g:omni_syntax_group_include_php = 'phpFunctions,phpMethods'
|
||||
let g:omni_syntax_group_exclude_{filetype} = 'regex,comma,separated'
|
||||
|
||||
You can create as many of these variables as you need, varying only the
|
||||
filetype at the end of the variable name.
|
||||
@@ -1554,6 +1568,9 @@ To retrieve only the syntax items for the sqlOperator syntax group: >
|
||||
To retrieve all syntax items for both the sqlOperator and sqlType groups: >
|
||||
echo OmniSyntaxList( ['sqlOperator', 'sqlType'] )
|
||||
|
||||
A regular expression can also be used: >
|
||||
echo OmniSyntaxList( ['sql\w\+'] )
|
||||
|
||||
From within a plugin, you would typically assign the output to a List: >
|
||||
let myKeywords = []
|
||||
let myKeywords = OmniSyntaxList( ['sqlKeyword'] )
|
||||
@@ -1869,13 +1886,15 @@ NOTE: These commands cannot be used with |:global| or |:vglobal|.
|
||||
See |++opt| for the possible values of [++opt].
|
||||
|
||||
*:r!* *:read!*
|
||||
:[range]r[ead] !{cmd} Execute {cmd} and insert its standard output below
|
||||
:[range]r[ead] [++opt] !{cmd}
|
||||
Execute {cmd} and insert its standard output below
|
||||
the cursor or the specified line. A temporary file is
|
||||
used to store the output of the command which is then
|
||||
read into the buffer. 'shellredir' is used to save
|
||||
the output of the command, which can be set to include
|
||||
stderr or not. {cmd} is executed like with ":!{cmd}",
|
||||
any '!' is replaced with the previous command |:!|.
|
||||
See |++opt| for the possible values of [++opt].
|
||||
|
||||
These commands insert the contents of a file, or the output of a command,
|
||||
into the buffer. They can be undone. They cannot be repeated with the "."
|
||||
|
||||
@@ -394,8 +394,8 @@ CTRL-{char} {char} typed as a control character; that is, typing {char}
|
||||
*quotecommandquote*
|
||||
"command" A reference to a command that you can type is enclosed in
|
||||
double quotes.
|
||||
`command` New style command, this distinguishes it from other
|
||||
quoted text and strings.
|
||||
`command` New style command, this distinguishes it from other quoted
|
||||
text and strings.
|
||||
|
||||
*key-notation* *key-codes* *keycodes*
|
||||
These names for keys are used in the documentation. They can also be used
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 7.3. Last change: 2012 Apr 13
|
||||
*map.txt* For Vim version 7.3. Last change: 2013 Jun 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -49,7 +49,7 @@ modes.
|
||||
:nm[ap] {lhs} {rhs} |mapmode-n| *:nm* *:nmap*
|
||||
:vm[ap] {lhs} {rhs} |mapmode-v| *:vm* *:vmap*
|
||||
:xm[ap] {lhs} {rhs} |mapmode-x| *:xm* *:xmap*
|
||||
:smap {lhs} {rhs} |mapmode-s| *:smap*
|
||||
:smap {lhs} {rhs} |mapmode-s| *:smap*
|
||||
:om[ap] {lhs} {rhs} |mapmode-o| *:om* *:omap*
|
||||
:map! {lhs} {rhs} |mapmode-ic| *:map!*
|
||||
:im[ap] {lhs} {rhs} |mapmode-i| *:im* *:imap*
|
||||
@@ -175,6 +175,7 @@ The "<buffer>" argument can also be used to clear mappings: >
|
||||
:mapclear <buffer>
|
||||
Local mappings are also cleared when a buffer is deleted, but not when it is
|
||||
unloaded. Just like local option values.
|
||||
Also see |map-precedence|.
|
||||
|
||||
*:map-<silent>* *:map-silent*
|
||||
To define a mapping which will not be echoed on the command line, add
|
||||
@@ -654,6 +655,18 @@ option). After that it assumes that the 'q' is to be interpreted as such. If
|
||||
you type slowly, or your system is slow, reset the 'timeout' option. Then you
|
||||
might want to set the 'ttimeout' option.
|
||||
|
||||
*map-precedence*
|
||||
Buffer-local mappings (defined using |:map-<buffer>|) take precedence over
|
||||
global mappings. When a buffer-local mapping is the same as a global mapping,
|
||||
Vim will use the buffer-local mapping. In addition, Vim will use a complete
|
||||
buffer-local mapping immediately, even if a longer global mapping has the
|
||||
buffer-local mapping as a prefix. For example, given the following two
|
||||
mappings: >
|
||||
:map <buffer> \a :echo "Local \a"<CR>
|
||||
:map \abc :echo "Global \abc"<CR>
|
||||
The buffer-local mapping \a will be used immediately. Vim will not wait for
|
||||
more characters to see if the user might be typing \abc.
|
||||
|
||||
*map-keys-fails*
|
||||
There are situations where key codes might not be recognized:
|
||||
- Vim can only read part of the key code. Mostly this is only the first
|
||||
@@ -1242,6 +1255,7 @@ completion can be enabled:
|
||||
-complete=shellcmd Shell command
|
||||
-complete=sign |:sign| suboptions
|
||||
-complete=syntax syntax file names |'syntax'|
|
||||
-complete=syntime |:syntime| suboptions
|
||||
-complete=tag tags
|
||||
-complete=tag_listfiles tags, file names are shown when CTRL-D is hit
|
||||
-complete=user user names
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*mbyte.txt* For Vim version 7.3. Last change: 2012 Oct 06
|
||||
*mbyte.txt* For Vim version 7.3. Last change: 2013 May 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||
@@ -48,9 +48,9 @@ COMPILING
|
||||
If you already have a compiled Vim program, check if the |+multi_byte| feature
|
||||
is included. The |:version| command can be used for this.
|
||||
|
||||
If +multi_byte is not included, you should compile Vim with "big" features.
|
||||
You can further tune what features are included. See the INSTALL files in the
|
||||
source directory.
|
||||
If +multi_byte is not included, you should compile Vim with "normal", "big" or
|
||||
"huge" features. You can further tune what features are included. See the
|
||||
INSTALL files in the source directory.
|
||||
|
||||
|
||||
LOCALE
|
||||
@@ -1067,7 +1067,7 @@ The actual mappings are in the lines below "loadkeymap". In the example "a"
|
||||
is mapped to "A" and "b" to "B". Thus the first item is mapped to the second
|
||||
item. This is done for each line, until the end of the file.
|
||||
These items are exactly the same as what can be used in a |:lnoremap| command,
|
||||
using "<buffer>" to make the mappings local to the buffer..
|
||||
using "<buffer>" to make the mappings local to the buffer.
|
||||
You can check the result with this command: >
|
||||
:lmap
|
||||
The two items must be separated by white space. You cannot include white
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*message.txt* For Vim version 7.3. Last change: 2011 May 10
|
||||
*message.txt* For Vim version 7.3. Last change: 2013 Feb 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -730,7 +730,11 @@ Vim cannot create a temporary file.
|
||||
Can't open file {filename}
|
||||
Can't read file {filename}
|
||||
|
||||
Vim cannot read a temporary file.
|
||||
Vim cannot read a temporary file. Especially on Windows, this can be caused
|
||||
by wrong escaping of special characters for cmd.exe; the approach was
|
||||
changed with patch 7.3.443. Try using |shellescape()| for all shell arguments
|
||||
given to |system()|, or explicitly add escaping with ^. Also see
|
||||
'shellxquote' and 'shellxescape'.
|
||||
|
||||
*E464* >
|
||||
Ambiguous use of user-defined command
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*motion.txt* For Vim version 7.3. Last change: 2012 Aug 04
|
||||
*motion.txt* For Vim version 7.3. Last change: 2013 Mar 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -104,13 +104,14 @@ strokes and has limited redo functionality. See the chapter on Visual mode
|
||||
|Visual-mode|.
|
||||
|
||||
You can use a ":" command for a motion. For example "d:call FindEnd()".
|
||||
But this can't be redone with "." if the command is more than one line.
|
||||
But this can't be repeated with "." if the command is more than one line.
|
||||
This can be repeated: >
|
||||
d:call search("f")<CR>
|
||||
This cannot be repeated: >
|
||||
d:if 1<CR>
|
||||
call search("f")<CR>
|
||||
endif<CR>
|
||||
Note that when using ":" any motion becomes characterwise exclusive.
|
||||
|
||||
|
||||
FORCING A MOTION TO BE LINEWISE, CHARACTERWISE OR BLOCKWISE
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 7.3. Last change: 2013 Jan 30
|
||||
*options.txt* For Vim version 7.3. Last change: 2013 Jun 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -277,8 +277,10 @@ Now the 'list' option is not set, because ":set nolist" resets the global
|
||||
value, ":setlocal list" only changes the local value and ":e two" gets the
|
||||
global value. Note that if you do this next: >
|
||||
:e one
|
||||
You will not get back the 'list' value as it was the last time you edited
|
||||
"one". The options local to a window are not remembered for each buffer.
|
||||
You will get back the 'list' value as it was the last time you edited "one".
|
||||
The options local to a window are remembered for each buffer. This also
|
||||
happens when the buffer is not loaded, but they are lost when the buffer is
|
||||
wiped out |:bwipe|.
|
||||
|
||||
*:setl* *:setlocal*
|
||||
:setl[ocal] ... Like ":set" but set only the value local to the
|
||||
@@ -699,6 +701,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
when the system locale is set to one of CJK locales. See Unicode
|
||||
Standard Annex #11 (http://www.unicode.org/reports/tr11).
|
||||
|
||||
Vim may set this option automatically at startup time when Vim is
|
||||
compiled with the |+termresponse| feature and if |t_u7| is set to the
|
||||
escape sequence to request cursor position report.
|
||||
|
||||
*'antialias'* *'anti'* *'noantialias'* *'noanti'*
|
||||
'antialias' 'anti' boolean (default: off)
|
||||
global
|
||||
@@ -986,7 +992,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
- The backup file will be created in the first directory in the list
|
||||
where this is possible. The directory must exist, Vim will not
|
||||
create it for you.
|
||||
- Empty means that no backup file will be created ('patchmode' is
|
||||
- Empty means that no backup file will be created ( 'patchmode' is
|
||||
impossible!). Writing may fail because of this.
|
||||
- A directory "." means to put the backup file in the same directory
|
||||
as the edited file.
|
||||
@@ -1463,11 +1469,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|gui-clipboard|.
|
||||
|
||||
*clipboard-unnamedplus*
|
||||
unnamedplus A variant of "unnamed" flag which uses the clipboard
|
||||
register '+' (|quoteplus|) instead of register '*' for
|
||||
all operations except yank. Yank shall copy the text
|
||||
into register '+' and also into '*' when "unnamed" is
|
||||
included.
|
||||
unnamedplus A variant of the "unnamed" flag which uses the
|
||||
clipboard register '+' (|quoteplus|) instead of
|
||||
register '*' for all yank, delete, change and put
|
||||
operations which would normally go to the unnamed
|
||||
register. When "unnamed" is also included to the
|
||||
option, yank operations (but not delete, change or
|
||||
put) will additionally copy the text into register
|
||||
'*'.
|
||||
Only available with the |+X11| feature.
|
||||
Availability can be checked with: >
|
||||
if has('unnamedplus')
|
||||
@@ -1700,7 +1709,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
when CTRL-P or CTRL-N are used. It is also used for whole-line
|
||||
completion |i_CTRL-X_CTRL-L|. It indicates the type of completion
|
||||
and the places to scan. It is a comma separated list of flags:
|
||||
. scan the current buffer ('wrapscan' is ignored)
|
||||
. scan the current buffer ( 'wrapscan' is ignored)
|
||||
w scan buffers from other windows
|
||||
b scan other loaded buffers that are in the buffer list
|
||||
u scan the unloaded buffers that are in the buffer list
|
||||
@@ -2234,7 +2243,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Specifies whether to use quickfix window to show cscope results.
|
||||
See |cscopequickfix|.
|
||||
|
||||
*'cscoperelative'* *'csre'*
|
||||
*'cscoperelative'* *'csre'* *'nocscoperelative'* *'nocsre'*
|
||||
'cscoperelative' 'csre' boolean (default off)
|
||||
global
|
||||
{not available when compiled without the |+cscope|
|
||||
@@ -2865,7 +2874,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
See |file-formats| and |file-read|.
|
||||
For the character encoding of the file see 'fileencoding'.
|
||||
When 'binary' is set, the value of 'fileformat' is ignored, file I/O
|
||||
works like it was set to "unix'.
|
||||
works like it was set to "unix".
|
||||
This option is set automatically when starting to edit a file and
|
||||
'fileformats' is not empty and 'binary' is off.
|
||||
When this option is set, after starting to edit a file, the 'modified'
|
||||
@@ -2934,6 +2943,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
NOTE: This option is set to the Vi default value when 'compatible' is
|
||||
set and to the Vim default value when 'compatible' is reset.
|
||||
|
||||
*'fileignorecase'* *'fic'* *'nofileignorecase'* *'nofic'*
|
||||
'fileignorecase' 'fic' boolean (default on for systems where case in file
|
||||
names is normally ignored)
|
||||
global
|
||||
{not in Vi}
|
||||
When set case is ignored when using file names and directories.
|
||||
See 'wildignorecase' for only ignoring case when doing completion.
|
||||
|
||||
*'filetype'* *'ft'*
|
||||
'filetype' 'ft' string (default: "")
|
||||
local to buffer
|
||||
@@ -5115,7 +5132,18 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
characters are put before the number.
|
||||
See |hl-LineNr| and |hl-CursorLineNr| for the highlighting used for
|
||||
the number.
|
||||
When setting this option, 'relativenumber' is reset.
|
||||
*number_relativenumber*
|
||||
The 'relativenumber' option changes the displayed number to be
|
||||
relative to the cursor. Together with 'number' there are these
|
||||
four combinations (cursor in line 3):
|
||||
|
||||
'nonu' 'nu' 'nonu' 'nu'
|
||||
'nornu' 'nornu' 'rnu' 'rnu'
|
||||
|
||||
|apple | 1 apple | 2 apple | 2 apple
|
||||
|pear | 2 pear | 1 pear | 1 pear
|
||||
|nobody | 3 nobody | 0 nobody |3 nobody
|
||||
|there | 4 there | 1 there | 1 there
|
||||
|
||||
*'numberwidth'* *'nuw'*
|
||||
'numberwidth' 'nuw' number (Vim default: 4 Vi default: 8)
|
||||
@@ -5499,6 +5527,19 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
matches will be highlighted. This is used to avoid that Vim hangs
|
||||
when using a very complicated pattern.
|
||||
|
||||
*'regexpengine'* *'re'*
|
||||
'regexpengine' 're' number (default 0)
|
||||
global
|
||||
{not in Vi}
|
||||
This selects the default regexp engine. |two-engines|
|
||||
The possible values are:
|
||||
0 automatic selection
|
||||
1 old engine
|
||||
2 NFA engine
|
||||
Note that when using the NFA engine and the pattern contains something
|
||||
that is not supported the pattern will not match. This is only useful
|
||||
for debugging the regexp engine.
|
||||
|
||||
*'relativenumber'* *'rnu'* *'norelativenumber'* *'nornu'*
|
||||
'relativenumber' 'rnu' boolean (default off)
|
||||
local to window
|
||||
@@ -5517,7 +5558,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
characters are put before the number.
|
||||
See |hl-LineNr| and |hl-CursorLineNr| for the highlighting used for
|
||||
the number.
|
||||
When setting this option, 'number' is reset.
|
||||
|
||||
The number in front of the cursor line also depends on the value of
|
||||
'number', see |number_relativenumber| for all combinations of the two
|
||||
options.
|
||||
|
||||
*'remap'* *'noremap'*
|
||||
'remap' boolean (default on)
|
||||
@@ -7082,7 +7126,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{not in Vi}
|
||||
Encoding used for the terminal. This specifies what character
|
||||
encoding the keyboard produces and the display will understand. For
|
||||
the GUI it only applies to the keyboard ('encoding' is used for the
|
||||
the GUI it only applies to the keyboard ( 'encoding' is used for the
|
||||
display). Except for the Mac when 'macatsui' is off, then
|
||||
'termencoding' should be "macroman".
|
||||
In the Win32 console version the default value is the console codepage
|
||||
@@ -7491,7 +7535,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
given, no further entry is used.
|
||||
See |undo-persistence|.
|
||||
|
||||
*'undofile'* *'udf'*
|
||||
*'undofile'* *'noundofile'* *'udf'* *'noudf'*
|
||||
'undofile' 'udf' boolean (default off)
|
||||
local to buffer
|
||||
{not in Vi}
|
||||
@@ -7896,7 +7940,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
global
|
||||
{not in Vi}
|
||||
When set case is ignored when completing file names and directories.
|
||||
Has no effect on systems where file name case is generally ignored.
|
||||
Has no effect when 'fileignorecase' is set.
|
||||
Does not apply when the shell is used to expand wildcards, which
|
||||
happens when there are special characters.
|
||||
|
||||
@@ -7915,6 +7959,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
CTRL-P/CTRL-N, cause the highlight to move to the appropriate match.
|
||||
When 'wildmode' is used, "wildmenu" mode is used where "full" is
|
||||
specified. "longest" and "list" do not start "wildmenu" mode.
|
||||
You can check the current mode with |wildmenumode()|.
|
||||
If there are more matches than can fit in the line, a ">" is shown on
|
||||
the right and/or a "<" is shown on the left. The status line scrolls
|
||||
as needed.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 7.3. Last change: 2013 Jan 25
|
||||
*pattern.txt* For Vim version 7.3. Last change: 2013 Jun 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -350,6 +350,27 @@ For starters, read chapter 27 of the user manual |usr_27.txt|.
|
||||
or \z( pattern \) |/\z(|
|
||||
|
||||
|
||||
*/\%#=* *two-engines*
|
||||
Vim includes two regexp engines:
|
||||
1. An old, backtracking engine that supports everything.
|
||||
2. A new, NFA engine that works much faster on some patterns, but does not
|
||||
support everything.
|
||||
|
||||
Vim will automatically select the right engine for you. However, if you run
|
||||
into a problem or want to specifically select one engine or the other, you can
|
||||
prepend one of the following to the pattern:
|
||||
|
||||
\%#=0 Force automatic selection. Only has an effect when
|
||||
'regexpengine' has been set to a non-zero value.
|
||||
\%#=1 Force using the old engine.
|
||||
\%#=2 Force using the NFA engine.
|
||||
|
||||
You can also use the 'regexpengine' option to change the default.
|
||||
|
||||
*E864* *E868* *E874* *E875* *E876* *E877* *E878*
|
||||
If selecting the NFA engine and it runs into something that is not implemented
|
||||
the pattern will not match. This is only useful when debugging Vim.
|
||||
|
||||
==============================================================================
|
||||
3. Magic */magic*
|
||||
|
||||
@@ -396,9 +417,10 @@ pattern.
|
||||
|
||||
==============================================================================
|
||||
4. Overview of pattern items *pattern-overview*
|
||||
*E865* *E866* *E867* *E869*
|
||||
|
||||
Overview of multi items. */multi* *E61* *E62*
|
||||
More explanation and examples below, follow the links. *E64*
|
||||
More explanation and examples below, follow the links. *E64* *E871*
|
||||
|
||||
multi ~
|
||||
'magic' 'nomagic' matches of the preceding atom ~
|
||||
@@ -504,16 +526,18 @@ Character classes {not in Vi}: */character-classes*
|
||||
x x a character with no special meaning matches itself
|
||||
|
||||
|/[]| [] \[] any character specified inside the []
|
||||
|/\%[]| \%[] \%[] a sequence of optionally matched atoms
|
||||
|/\%[]| \%[] \%[] a sequence of optionally matched atoms
|
||||
|
||||
|/\c| \c \c ignore case, do not use the 'ignorecase' option
|
||||
|/\C| \C \C match case, do not use the 'ignorecase' option
|
||||
|/\Z| \Z \Z ignore differences in Unicode "combining characters".
|
||||
Useful when searching voweled Hebrew or Arabic text.
|
||||
|
||||
|/\m| \m \m 'magic' on for the following chars in the pattern
|
||||
|/\M| \M \M 'magic' off for the following chars in the pattern
|
||||
|/\v| \v \v the following chars in the pattern are "very magic"
|
||||
|/\V| \V \V the following chars in the pattern are "very nomagic"
|
||||
|/\Z| \Z \Z ignore differences in Unicode "combining characters".
|
||||
Useful when searching voweled Hebrew or Arabic text.
|
||||
|/\%#=| \%#=1 \%#=1 select regexp engine |/zero-width|
|
||||
|
||||
|/\%d| \%d \%d match specified decimal character (eg \%d123)
|
||||
|/\%x| \%x \%x match specified hex character (eg \%x2a)
|
||||
@@ -581,7 +605,7 @@ overview.
|
||||
\? Just like \=. Cannot be used when searching backwards with the "?"
|
||||
command. {not in Vi}
|
||||
|
||||
*/\{* *E58* *E60* *E554*
|
||||
*/\{* *E58* *E60* *E554* *E870*
|
||||
\{n,m} Matches n to m of the preceding atom, as many as possible
|
||||
\{n} Matches n of the preceding atom
|
||||
\{n,} Matches at least n of the preceding atom, as many as possible
|
||||
@@ -674,6 +698,7 @@ overview.
|
||||
For speed it's often much better to avoid this multi. Try using "\zs"
|
||||
instead |/\zs|. To match the same as the above example:
|
||||
an\_s\+\zsfile
|
||||
At least set a limit for the look-behind, see below.
|
||||
|
||||
"\@<=" and "\@<!" check for matches just before what follows.
|
||||
Theoretically these matches could start anywhere before this position.
|
||||
@@ -686,6 +711,18 @@ overview.
|
||||
Example matches ~
|
||||
\1\@<=,\([a-z]\+\) ",abc" in "abc,abc"
|
||||
|
||||
\@123<=
|
||||
Like "\@<=" but only look back 123 bytes. This avoids trying lots
|
||||
of matches that are known to fail and make executing the pattern very
|
||||
slow. Example, check if there is a "<" just before "span":
|
||||
/<\@1<=span
|
||||
This will try matching "<" only one byte before "span", which is the
|
||||
only place that works anyway.
|
||||
After crossing a line boundary, the limit is relative to the end of
|
||||
the line. Thus the characters at the start of the line with the match
|
||||
are not counted (this is just to keep it simple).
|
||||
The number zero is the same as no limit.
|
||||
|
||||
*/\@<!*
|
||||
\@<! Matches with zero width if the preceding atom does NOT match just
|
||||
before what follows. Thus this matches if there is no position in the
|
||||
@@ -695,11 +732,16 @@ overview.
|
||||
The match with the preceding atom is made to end just before the match
|
||||
with what follows, thus an atom that ends in ".*" will work.
|
||||
Warning: This can be slow (because many positions need to be checked
|
||||
for a match).
|
||||
for a match). Use a limit if you can, see below.
|
||||
Example matches ~
|
||||
\(foo\)\@<!bar any "bar" that's not in "foobar"
|
||||
\(\/\/.*\)\@<!in "in" which is not after "//"
|
||||
|
||||
\@123<!
|
||||
Like "\@<!" but only look back 123 bytes. This avoids trying lots of
|
||||
matches that are known to fail and make executing the pattern very
|
||||
slow.
|
||||
|
||||
*/\@>*
|
||||
\@> Matches the preceding atom like matching a whole pattern. {not in Vi}
|
||||
Like "(?>pattern)" in Perl.
|
||||
@@ -962,7 +1004,8 @@ match ASCII characters, as indicated by the range.
|
||||
~ matches the last given substitute string */~* */\~*
|
||||
|
||||
\(\) A pattern enclosed by escaped parentheses. */\(* */\(\)* */\)*
|
||||
E.g., "\(^a\)" matches 'a' at the start of a line. *E51* *E54* *E55*
|
||||
E.g., "\(^a\)" matches 'a' at the start of a line.
|
||||
*E51* *E54* *E55* *E872* *E873*
|
||||
|
||||
\1 Matches the same string that was matched by */\1* *E65*
|
||||
the first sub-expression in \( and \). {not in Vi}
|
||||
@@ -1061,6 +1104,8 @@ x A single character, with no special meaning, matches itself
|
||||
any character that's not in "^]-\bdertnoUux". "[\xyz]" matches '\',
|
||||
'x', 'y' and 'z'. It's better to use "\\" though, future expansions
|
||||
may use other characters after '\'.
|
||||
- Omitting the trailing ] is not considered an error. "[]" works like
|
||||
"[]]", it matches the ']' character.
|
||||
- The following translations are accepted when the 'l' flag is not
|
||||
included in 'cpoptions' {not in Vi}:
|
||||
\e <Esc>
|
||||
@@ -1166,6 +1211,8 @@ 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".
|
||||
Exception: If the pattern starts with one or more composing characters, these
|
||||
must match.
|
||||
|
||||
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
|
||||
@@ -1175,8 +1222,20 @@ When using a dot and a composing character, this works the same as the
|
||||
composing character by itself, except that it doesn't matter what comes before
|
||||
this.
|
||||
|
||||
The order of composing characters matters, even though changing the order
|
||||
doesn't change what a character looks like. This may change in the future.
|
||||
The order of composing characters does not matter. Also, the text may have
|
||||
more composing characters than the pattern, it still matches. But all
|
||||
composing characters in the pattern must be found in the text.
|
||||
|
||||
Suppose B is a base character and x and y are composing characters:
|
||||
pattern text match ~
|
||||
Bxy Bxy yes (perfect match)
|
||||
Bxy Byx yes (order ignored)
|
||||
Bxy By no (x missing)
|
||||
Bxy Bx no (y missing)
|
||||
Bx Bx yes (perfect match)
|
||||
Bx By no (x missing)
|
||||
Bx Bxy yes (extra y ignored)
|
||||
Bx Byx yes (extra y ignored)
|
||||
|
||||
==============================================================================
|
||||
9. Compare with Perl patterns *perl-patterns*
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
*pi_getscript.txt* For Vim version 7.0. Last change: 2011 Jun 23
|
||||
*pi_getscript.txt* For Vim version 7.0. Last change: 2012 Apr 07
|
||||
>
|
||||
GETSCRIPT REFERENCE MANUAL by Charles E. Campbell, Jr.
|
||||
GETSCRIPT REFERENCE MANUAL by Charles E. Campbell
|
||||
<
|
||||
Authors: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamilyA.Mbiz>
|
||||
Authors: Charles E. Campbell <NdrOchip@ScampbellPfamilyA.Mbiz>
|
||||
(remove NOSPAM from the email address)
|
||||
*GetLatestVimScripts-copyright*
|
||||
Copyright: (c) 2004-2012 by Charles E. Campbell, Jr. *glvs-copyright*
|
||||
Copyright: (c) 2004-2012 by Charles E. Campbell *glvs-copyright*
|
||||
The VIM LICENSE (see |copyright|) applies to the files in this
|
||||
package, including getscriptPlugin.vim, getscript.vim,
|
||||
GetLatestVimScripts.dist, and pi_getscript.txt, except use "getscript"
|
||||
@@ -343,6 +343,11 @@ after/syntax/c.vim contained in it to overwrite a user's c.vim.
|
||||
default= $HOME/vimfiles (windows)
|
||||
Override where :AutoInstall: scripts will be installed.
|
||||
Doesn't override vimball installation.
|
||||
>
|
||||
g:GetLatestVimScripts_scriptaddr
|
||||
< default='http://vim.sourceforge.net/script.php?script_id='
|
||||
Override this if your system needs
|
||||
... ='http://vim.sourceforge.net/script/script.php?script_id='
|
||||
|
||||
==============================================================================
|
||||
8. GetLatestVimScripts Algorithm *glvs-algorithm* *glvs-alg*
|
||||
@@ -380,7 +385,11 @@ The AutoInstall process will:
|
||||
==============================================================================
|
||||
9. GetLatestVimScripts History *getscript-history* *glvs-hist* {{{1
|
||||
|
||||
v44 Jun 23, 2011 : * handles additional decompression options for tarballs
|
||||
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
|
||||
yet-another-option.
|
||||
v34 Jun 23, 2011 : * handles additional decompression options for tarballs
|
||||
(tgz taz tbz txz)
|
||||
v33 May 31, 2011 : * using fnameescape() instead of escape()
|
||||
* *.xz support
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
*pi_netrw.txt* For Vim version 7.3. Last change: 2012 Oct 25
|
||||
*pi_netrw.txt* For Vim version 7.3. Last change: 2013 May 18
|
||||
|
||||
-----------------------------------------------------
|
||||
NETRW REFERENCE MANUAL by Charles E. Campbell, Jr.
|
||||
-----------------------------------------------------
|
||||
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
|
||||
------------------------------------------------
|
||||
NETRW REFERENCE MANUAL by Charles E. Campbell
|
||||
------------------------------------------------
|
||||
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
||||
(remove NOSPAM from Campbell's email first)
|
||||
|
||||
Copyright: Copyright (C) 1999-2012 Charles E Campbell, Jr *netrw-copyright*
|
||||
Copyright: Copyright (C) 1999-2013 Charles E Campbell *netrw-copyright*
|
||||
The VIM LICENSE applies to the files in this package, including
|
||||
netrw.vim, pi_netrw.txt, netrwFileHandlers.vim, netrwSettings.vim, and
|
||||
syntax/netrw.vim. Like anything else that's free, netrw.vim and its
|
||||
@@ -25,83 +25,87 @@ Copyright: Copyright (C) 1999-2012 Charles E Campbell, Jr *netrw-copyright*
|
||||
==============================================================================
|
||||
1. Contents *netrw-contents* {{{1
|
||||
|
||||
1. Contents.............................................|netrw-contents|
|
||||
2. Starting With Netrw..................................|netrw-start|
|
||||
3. Netrw Reference......................................|netrw-ref|
|
||||
EXTERNAL APPLICATIONS AND PROTOCOLS................|netrw-externapp|
|
||||
READING............................................|netrw-read|
|
||||
WRITING............................................|netrw-write|
|
||||
SOURCING...........................................|netrw-source|
|
||||
DIRECTORY LISTING..................................|netrw-dirlist|
|
||||
CHANGING THE USERID AND PASSWORD...................|netrw-chgup|
|
||||
VARIABLES AND SETTINGS.............................|netrw-variables|
|
||||
PATHS..............................................|netrw-path|
|
||||
4. Network-Oriented File Transfer.......................|netrw-xfer|
|
||||
NETRC..............................................|netrw-netrc|
|
||||
PASSWORD...........................................|netrw-passwd|
|
||||
5. Activation...........................................|netrw-activate|
|
||||
6. Transparent Remote File Editing......................|netrw-transparent|
|
||||
7. Ex Commands..........................................|netrw-ex|
|
||||
8. Variables and Options................................|netrw-variables|
|
||||
9. Browsing.............................................|netrw-browse|
|
||||
Introduction To Browsing...........................|netrw-intro-browse|
|
||||
Quick Reference: Maps..............................|netrw-browse-maps|
|
||||
Quick Reference: Commands..........................|netrw-browse-cmds|
|
||||
Bookmarking A Directory............................|netrw-mb|
|
||||
Browsing...........................................|netrw-cr|
|
||||
Browsing With A Horizontally Split Window..........|netrw-o|
|
||||
Browsing With A New Tab............................|netrw-t|
|
||||
Browsing With A Vertically Split Window............|netrw-v|
|
||||
Change Listing Style.(thin wide long tree).........|netrw-i|
|
||||
Changing To A Bookmarked Directory.................|netrw-gb|
|
||||
Changing To A Predecessor Directory................|netrw-u|
|
||||
Changing To A Successor Directory..................|netrw-U|
|
||||
Customizing Browsing With A User Function..........|netrw-x|
|
||||
Deleting Bookmarks.................................|netrw-mB|
|
||||
Deleting Files Or Directories......................|netrw-D|
|
||||
Directory Exploring Commands.......................|netrw-explore|
|
||||
Exploring With Stars and Patterns..................|netrw-star|
|
||||
Displaying Information About File..................|netrw-qf|
|
||||
Edit File Or Directory Hiding List.................|netrw-ctrl-h|
|
||||
Editing The Sorting Sequence.......................|netrw-S|
|
||||
Forcing treatment as a file or directory...........|netrw-gd| |netrw-gf|
|
||||
Going Up...........................................|netrw--|
|
||||
Hiding Files Or Directories........................|netrw-a|
|
||||
Improving Browsing.................................|netrw-ssh-hack|
|
||||
Listing Bookmarks And History......................|netrw-qb|
|
||||
Making A New Directory.............................|netrw-d|
|
||||
Making The Browsing Directory The Current Directory|netrw-c|
|
||||
Marking Files......................................|netrw-mf|
|
||||
Marking Files By Regular Expression................|netrw-mr|
|
||||
Marked Files: Arbitrary Command....................|netrw-mx|
|
||||
Marked Files: Compression And Decompression........|netrw-mz|
|
||||
Marked Files: Copying..............................|netrw-mc|
|
||||
Marked Files: Diff.................................|netrw-md|
|
||||
Marked Files: Editing..............................|netrw-me|
|
||||
Marked Files: Grep.................................|netrw-mg|
|
||||
Marked Files: Hiding and Unhiding by Suffix........|netrw-mh|
|
||||
Marked Files: Moving...............................|netrw-mm|
|
||||
Marked Files: Printing.............................|netrw-mp|
|
||||
Marked Files: Sourcing.............................|netrw-ms|
|
||||
Marked Files: Tagging..............................|netrw-mT|
|
||||
Marked Files: Setting the Target Directory.........|netrw-mt|
|
||||
Marked Files: Unmarking............................|netrw-mu|
|
||||
Netrw Browser Variables............................|netrw-browser-var|
|
||||
Netrw Browsing And Option Incompatibilities........|netrw-incompatible|
|
||||
Netrw Settings Window..............................|netrw-settings-window|
|
||||
Obtaining A File...................................|netrw-O|
|
||||
Preview Window.....................................|netrw-p|
|
||||
Previous Window....................................|netrw-P|
|
||||
Refreshing The Listing.............................|netrw-ctrl-l|
|
||||
Renaming Files Or Directories......................|netrw-move|
|
||||
Reversing Sorting Order............................|netrw-r|
|
||||
Selecting Sorting Style............................|netrw-s|
|
||||
Setting Editing Window.............................|netrw-C|
|
||||
10. Problems and Fixes...................................|netrw-problems|
|
||||
11. Debugging Netrw Itself...............................|netrw-debug|
|
||||
12. History..............................................|netrw-history|
|
||||
13. Todo.................................................|netrw-todo|
|
||||
14. Credits..............................................|netrw-credits|
|
||||
1. Contents..............................................|netrw-contents|
|
||||
2. Starting With Netrw...................................|netrw-start|
|
||||
3. Netrw Reference.......................................|netrw-ref|
|
||||
EXTERNAL APPLICATIONS AND PROTOCOLS.................|netrw-externapp|
|
||||
READING.............................................|netrw-read|
|
||||
WRITING.............................................|netrw-write|
|
||||
SOURCING............................................|netrw-source|
|
||||
DIRECTORY LISTING...................................|netrw-dirlist|
|
||||
CHANGING THE USERID AND PASSWORD....................|netrw-chgup|
|
||||
VARIABLES AND SETTINGS..............................|netrw-variables|
|
||||
PATHS...............................................|netrw-path|
|
||||
4. Network-Oriented File Transfer........................|netrw-xfer|
|
||||
NETRC...............................................|netrw-netrc|
|
||||
PASSWORD............................................|netrw-passwd|
|
||||
5. Activation............................................|netrw-activate|
|
||||
6. Transparent Remote File Editing.......................|netrw-transparent|
|
||||
7. Ex Commands...........................................|netrw-ex|
|
||||
8. Variables and Options.................................|netrw-variables|
|
||||
9. Browsing..............................................|netrw-browse|
|
||||
Introduction To Browsing............................|netrw-intro-browse|
|
||||
Quick Reference: Maps...............................|netrw-browse-maps|
|
||||
Quick Reference: Commands...........................|netrw-browse-cmds|
|
||||
Bookmarking A Directory.............................|netrw-mb|
|
||||
Browsing............................................|netrw-cr|
|
||||
Browsing With A Horizontally Split Window...........|netrw-o|
|
||||
Browsing With A New Tab.............................|netrw-t|
|
||||
Browsing With A Vertically Split Window.............|netrw-v|
|
||||
Change Listing Style.(thin wide long tree)..........|netrw-i|
|
||||
Changing To A Bookmarked Directory..................|netrw-gb|
|
||||
Changing To A Predecessor Directory.................|netrw-u|
|
||||
Changing To A Successor Directory...................|netrw-U|
|
||||
Customizing Browsing With A User Function...........|netrw-x|
|
||||
Deleting Bookmarks..................................|netrw-mB|
|
||||
Deleting Files Or Directories.......................|netrw-D|
|
||||
Directory Exploring Commands........................|netrw-explore|
|
||||
Exploring With Stars and Patterns...................|netrw-star|
|
||||
Displaying Information About File...................|netrw-qf|
|
||||
Edit File Or Directory Hiding List..................|netrw-ctrl-h|
|
||||
Editing The Sorting Sequence........................|netrw-S|
|
||||
Forcing treatment as a file or directory............|netrw-gd| |netrw-gf|
|
||||
Going Up............................................|netrw--|
|
||||
Hiding Files Or Directories.........................|netrw-a|
|
||||
Improving Browsing..................................|netrw-ssh-hack|
|
||||
Listing Bookmarks And History.......................|netrw-qb|
|
||||
Making A New Directory..............................|netrw-d|
|
||||
Making The Browsing Directory The Current Directory.|netrw-c|
|
||||
Marking Files.......................................|netrw-mf|
|
||||
Unmarking Files.....................................|netrw-mF|
|
||||
Marking Files By QuickFix List......................|netrw-qF|
|
||||
Marking Files By Regular Expression.................|netrw-mr|
|
||||
Marked Files: Arbitrary Command.....................|netrw-mx|
|
||||
Marked Files: Compression And Decompression.........|netrw-mz|
|
||||
Marked Files: Copying...............................|netrw-mc|
|
||||
Marked Files: Diff..................................|netrw-md|
|
||||
Marked Files: Editing...............................|netrw-me|
|
||||
Marked Files: Grep..................................|netrw-mg|
|
||||
Marked Files: Hiding and Unhiding by Suffix.........|netrw-mh|
|
||||
Marked Files: Moving................................|netrw-mm|
|
||||
Marked Files: Printing..............................|netrw-mp|
|
||||
Marked Files: Sourcing..............................|netrw-ms|
|
||||
Marked Files: Setting the Target Directory..........|netrw-mt|
|
||||
Marked Files: Tagging...............................|netrw-mT|
|
||||
Marked Files: Target Directory Using Bookmarks......|netrw-Tb|
|
||||
Marked Files: Target Directory Using History........|netrw-Th|
|
||||
Marked Files: Unmarking.............................|netrw-mu|
|
||||
Netrw Browser Variables.............................|netrw-browser-var|
|
||||
Netrw Browsing And Option Incompatibilities.........|netrw-incompatible|
|
||||
Netrw Settings Window...............................|netrw-settings-window|
|
||||
Obtaining A File....................................|netrw-O|
|
||||
Preview Window......................................|netrw-p|
|
||||
Previous Window.....................................|netrw-P|
|
||||
Refreshing The Listing..............................|netrw-ctrl-l|
|
||||
Reversing Sorting Order.............................|netrw-r|
|
||||
Renaming Files Or Directories.......................|netrw-R|
|
||||
Selecting Sorting Style.............................|netrw-s|
|
||||
Setting Editing Window..............................|netrw-C|
|
||||
10. Problems and Fixes....................................|netrw-problems|
|
||||
11. Debugging Netrw Itself................................|netrw-debug|
|
||||
12. History...............................................|netrw-history|
|
||||
13. Todo..................................................|netrw-todo|
|
||||
14. Credits...............................................|netrw-credits|
|
||||
|
||||
{Vi does not have any of this}
|
||||
|
||||
@@ -142,13 +146,13 @@ and has lines resembling >
|
||||
<
|
||||
Windows' ftp doesn't support .netrc; however, one may have in one's .vimrc: >
|
||||
|
||||
let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\Myself\MACHINE'
|
||||
let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\MyUserName\MACHINE'
|
||||
<
|
||||
Netrw will substitute the host's machine name for MACHINE from the url it is
|
||||
Netrw will substitute the host's machine name for "MACHINE" from the url it is
|
||||
attempting to open, and so one may specify >
|
||||
userid
|
||||
password
|
||||
for each site in a separate file in c:\Users\Myself\.
|
||||
for each site in a separate file: c:\Users\MyUserName\MachineName.
|
||||
|
||||
Now about browsing -- when you just want to look around before editing a
|
||||
file. For browsing on your current host, just "edit" a directory: >
|
||||
@@ -282,7 +286,7 @@ SOURCING *netrw-source* {{{2
|
||||
:Nsource "scp://[user@]machine[[:#]port]/path" uses scp
|
||||
:Nsource "sftp://[user@]machine/path" uses sftp
|
||||
|
||||
DIRECTORY LISTING *netrw-trailingslash* *netrw-dirlist* {{{2
|
||||
DIRECTORY LISTING *netrw-trailingslash* *netrw-dirlist* {{{2
|
||||
|
||||
One may browse a directory to get a listing by simply attempting to
|
||||
edit the directory: >
|
||||
@@ -317,6 +321,8 @@ CHANGING USERID AND PASSWORD *netrw-chgup* *netrw-userpass* {{{2
|
||||
:call NetUserPass("uid") -- prompts for password
|
||||
:call NetUserPass("uid","password") -- sets global uid and password
|
||||
|
||||
(Related topics: |ftp| |netrw-userpass| |netrw-start|)
|
||||
|
||||
NETRW VARIABLES AND SETTINGS *netrw-variables* {{{2
|
||||
(Also see:
|
||||
|netrw-browser-var| : netrw browser option variables
|
||||
@@ -538,8 +544,8 @@ netrw will substitute the current machine name requested for ftp connections
|
||||
for MACHINE. Hence one can have multiple machine.ftp files containing login
|
||||
and password for ftp. Example: >
|
||||
|
||||
let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\Myself\MACHINE'
|
||||
vim ftp://myhost.somewhere.net/
|
||||
let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\Myself\MACHINE'
|
||||
vim ftp://myhost.somewhere.net/
|
||||
will use a file >
|
||||
C:\Users\Myself\myhost.ftp
|
||||
<
|
||||
@@ -923,6 +929,7 @@ itself:
|
||||
endfunction
|
||||
endif
|
||||
>
|
||||
(Related topics: |ftp| |netrw-userpass| |netrw-start|)
|
||||
|
||||
==============================================================================
|
||||
9. Browsing *netrw-browsing* *netrw-browse* *netrw-help* {{{1
|
||||
@@ -1086,8 +1093,8 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
||||
<2-leftmouse> (gvim only) when:
|
||||
* in a netrw-selected file, AND
|
||||
* |g:netrw_retmap| == 1 AND
|
||||
* the user doesn't already have a <2-leftmouse> mapping
|
||||
defined before netrw is autoloaded,
|
||||
* the user doesn't already have a <2-leftmouse>
|
||||
mapping defined before netrw is autoloaded,
|
||||
then a double clicked leftmouse button will return
|
||||
to the netrw browser window. See |g:netrw_retmap|.
|
||||
<s-leftmouse> (gvim only) like mf, will mark files
|
||||
@@ -1183,17 +1190,18 @@ cursor at the top.
|
||||
|
||||
Associated setting variables: |g:netrw_alto| |g:netrw_winsize|
|
||||
|
||||
Related Actions |netrw-cr| |netrw-p| |netrw-t| |netrw-T| |netrw-v|
|
||||
Related Actions |netrw-cr| |netrw-p| |netrw-t| |netrw-v|
|
||||
Associated setting variables:
|
||||
|g:netrw_alto| control above/below splitting
|
||||
|g:netrw_winsize| control initial sizing
|
||||
|
||||
BROWSING WITH A NEW TAB *netrw-t* *netrw-T* {{{2
|
||||
BROWSING WITH A NEW TAB *netrw-t*
|
||||
|
||||
Normally one enters a file or directory using the <cr>. The "t" map
|
||||
allows one to open a new window holding the new directory listing or file in
|
||||
a new tab. The "T" version puts the file or directory into a background tab
|
||||
(see |gT|)
|
||||
a new tab.
|
||||
|
||||
If you'd like to have the new listing in a background tab, use |gT|.
|
||||
|
||||
Related Actions |netrw-cr| |netrw-o| |netrw-p| |netrw-v|
|
||||
Associated setting variables:
|
||||
@@ -1213,7 +1221,7 @@ will split the screen, but the same buffer will be shown twice.
|
||||
|
||||
Associated setting variable: |g:netrw_altv| |g:netrw_winsize|
|
||||
|
||||
Related Actions |netrw-cr| |netrw-o| |netrw-t| |netrw-T| |netrw-v|
|
||||
Related Actions |netrw-cr| |netrw-o| |netrw-t| |netrw-v|
|
||||
Associated setting variables:
|
||||
|g:netrw_altv| control right/left splitting
|
||||
|g:netrw_winsize| control initial sizing
|
||||
@@ -1276,6 +1284,8 @@ To change directory back to a bookmarked directory, use
|
||||
{cnt}gb
|
||||
|
||||
Any count may be used to reference any of the bookmarks.
|
||||
Note that |netrw-qb| shows both bookmarks and history; to go
|
||||
to a location stored in the history see |netrw-u| and |netrw-U|.
|
||||
|
||||
Related Topics:
|
||||
|netrw-mB| how to delete bookmarks
|
||||
@@ -1291,6 +1301,13 @@ list (unless |g:netrw_dirhistmax| is zero; by default, it's ten). With the
|
||||
"u" map, one can change to an earlier directory (predecessor). To do
|
||||
the opposite, see |netrw-U|.
|
||||
|
||||
The "u" map also accepts counts to go back in the history several slots.
|
||||
For your convenience, |netrw-qb| lists the history number which can be
|
||||
re-used in that count.
|
||||
|
||||
See |g:netrw_dirhistmax| for how to control the quantity of history stack
|
||||
slots.
|
||||
|
||||
|
||||
CHANGING TO A SUCCESSOR DIRECTORY *netrw-U* *netrw-downdir* {{{2
|
||||
|
||||
@@ -1298,6 +1315,11 @@ With the "U" map, one can change to a later directory (successor).
|
||||
This map is the opposite of the "u" map. (see |netrw-u|) Use the
|
||||
q map to list both the bookmarks and history. (see |netrw-qb|)
|
||||
|
||||
The "U" map also accepts counts to go forward in the history several slots.
|
||||
|
||||
See |g:netrw_dirhistmax| for how to control the quantity of history stack
|
||||
slots.
|
||||
|
||||
|
||||
NETRW CLEAN *netrw-clean* *:NetrwClean*
|
||||
|
||||
@@ -1674,7 +1696,7 @@ As a quick shortcut, one may press >
|
||||
to toggle between hiding files which begin with a period (dot) and not hiding
|
||||
them.
|
||||
|
||||
Associated setting variable: |g:netrw_list_hide|
|
||||
Associated setting variable: |g:netrw_list_hide| |g:netrw_hide|
|
||||
Associated topics: |netrw-a| |netrw-ctrl-h| |netrw-mh|
|
||||
|
||||
IMPROVING BROWSING *netrw-listhack* *netrw-ssh-hack* {{{2
|
||||
@@ -1785,9 +1807,10 @@ Associated setting variables: |g:netrw_localmkdir| |g:netrw_mkdir_cmd|
|
||||
MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-c* {{{2
|
||||
|
||||
By default, |g:netrw_keepdir| is 1. This setting means that the current
|
||||
directory will not track the browsing directory.
|
||||
directory will not track the browsing directory. (done for backwards
|
||||
compatibility with v6's file explorer).
|
||||
|
||||
Setting g:netrw_keepdir to 0 tells netrw to make vim's current directory to
|
||||
Setting g:netrw_keepdir to 0 tells netrw to make vim's current directory
|
||||
track netrw's browsing directory.
|
||||
|
||||
However, given the default setting for g:netrw_keepdir of 1 where netrw
|
||||
@@ -1810,6 +1833,7 @@ maps make use of marked files:
|
||||
|netrw-mc| Copy marked files to target
|
||||
|netrw-md| Apply vimdiff to marked files
|
||||
|netrw-me| Edit marked files
|
||||
|netrw-mF| Unmark marked files
|
||||
|netrw-mg| Apply vimgrep to marked files
|
||||
|netrw-mm| Move marked files
|
||||
|netrw-mp| Print marked files
|
||||
@@ -1817,6 +1841,7 @@ maps make use of marked files:
|
||||
|netrw-mT| Generate tags using marked files
|
||||
|netrw-mx| Apply shell command to marked files
|
||||
|netrw-mz| Compress/Decompress marked files
|
||||
|netrw-qF| Mark files using quickfix list
|
||||
|netrw-O| Obtain marked files
|
||||
|netrw-R| Rename marked files
|
||||
|
||||
@@ -1844,6 +1869,22 @@ commands which operate on marked files use one or the other of the marked file
|
||||
lists.
|
||||
|
||||
|
||||
UNMARKING FILES *netrw-mF* {{{2
|
||||
(also see |netrw-mf|)
|
||||
|
||||
This command will unmark all files in the current buffer. One may also use
|
||||
mf (|netrw-mf|) on a specific file to unmark just that file.
|
||||
|
||||
|
||||
MARKING FILES BY QUICKFIX LIST *netrw-qF*
|
||||
(also see |netrw-mf|)
|
||||
|
||||
One may convert the |quickfix-error-lists| into a marked file list using
|
||||
"qF". You may then proceed with commands such as me (|netrw-me|) to
|
||||
edit them. Quickfix error lists are generated, for example, by calls
|
||||
to |:vimgrep|.
|
||||
|
||||
|
||||
MARKING FILES BY REGULAR EXPRESSION *netrw-mr* {{{2
|
||||
(also see |netrw-mf|)
|
||||
|
||||
@@ -1902,17 +1943,27 @@ MARKED FILES: EDITING *netrw-me* {{{2
|
||||
|
||||
This command will place the marked files on the |arglist| and commence
|
||||
editing them. One may return the to explorer window with |:Rexplore|.
|
||||
(use |:n| and |:p| to edit next and previous files in the arglist)
|
||||
|
||||
MARKED FILES: GREP *netrw-mg* {{{2
|
||||
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
||||
(uses the global marked file list)
|
||||
|
||||
This command will apply |:vimgrep| to the marked files. The command will ask
|
||||
for the requested pattern; one may enter: >
|
||||
This command will apply |:vimgrep| to the marked files.
|
||||
The command will ask for the requested pattern; one may then enter: >
|
||||
|
||||
/pattern/[g][j]
|
||||
! /pattern/[g][j]
|
||||
pattern
|
||||
<
|
||||
In the cases of "j" option usage as shown above, "mg" will winnow the current
|
||||
marked file list to just those possessing the specified pattern.
|
||||
Thus, one may use >
|
||||
mr ...file-pattern
|
||||
mg ..contents-pattern
|
||||
to have a marked file list satisfying the file-pattern but containing the
|
||||
desried contents-pattern.
|
||||
|
||||
MARKED FILES: HIDING AND UNHIDING BY SUFFIX *netrw-mh* {{{2
|
||||
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
||||
(uses the local marked file list)
|
||||
@@ -1958,6 +2009,36 @@ MARKED FILES: SOURCING *netrw-ms* {{{2
|
||||
Netrw will source the marked files (using vim's |:source| command)
|
||||
|
||||
|
||||
MARKED FILES: SETTING THE TARGET DIRECTORY *netrw-mt* {{{2
|
||||
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
||||
|
||||
Set the marked file copy/move-to target (see |netrw-mc| and |netrw-mm|):
|
||||
|
||||
* If the cursor is atop a file name, then the netrw window's currently
|
||||
displayed directory is used for the copy/move-to target.
|
||||
|
||||
* Also, if the cursor is in the banner, then the netrw window's currently
|
||||
displayed directory is used for the copy/move-to target.
|
||||
Unless the target already is the current directory. In which case,
|
||||
remove the target.
|
||||
|
||||
* However, if the cursor is atop a directory name, then that directory is
|
||||
used for the copy/move-to target
|
||||
|
||||
There is only one copy/move-to target per vim session; ie. the target is a
|
||||
script variable (see |s:var|) and is shared between all netrw windows (in an
|
||||
instance of vim).
|
||||
|
||||
When using menus and gvim, netrw provides a "Targets" entry which allows one
|
||||
to pick a target from the list of bookmarks and history.
|
||||
|
||||
Related topics:
|
||||
Marking Files......................................|netrw-mf|
|
||||
Marking Files by Regular Expression................|netrw-mr|
|
||||
Marked Files: Target Directory Using Bookmarks.....|netrw-Tb|
|
||||
Marked Files: Target Directory Using History.......|netrw-Th|
|
||||
|
||||
|
||||
MARKED FILES: TAGGING *netrw-mT* {{{2
|
||||
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
||||
(uses the global marked file list)
|
||||
@@ -1983,24 +2064,37 @@ edit the desired file and go to the tag.
|
||||
|
||||
Associated setting variables: |g:netrw_ctags| |g:netrw_ssh_cmd|
|
||||
|
||||
MARKED FILES: TARGET DIRECTORY USING BOOKMARKS *netrw-Tb* {{{2
|
||||
|
||||
MARKED FILES: SETTING THE TARGET DIRECTORY *netrw-mt* {{{2
|
||||
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
||||
Sets the marked file copy/move-to target (see |netrw-mc| and |netrw-mm|).
|
||||
|
||||
Set the marked file copy/move-to target (see |netrw-mc| and |netrw-mm|):
|
||||
The |netrw-qb| map will give you a list of bookmarks (and history).
|
||||
One may choose one of the bookmarks to become your marked file
|
||||
target by using [count]Tb (default count: 1).
|
||||
|
||||
* if the cursor is atop a file name, then the netrw window's currently
|
||||
displayed directory is used for the copy/move-to target.
|
||||
Related topics:
|
||||
Listing Bookmarks and History......................|netrw-qb|
|
||||
Marked Files: Setting The Target Directory.........|netrw-mt|
|
||||
Marked Files: Target Directory Using History.......|netrw-Th|
|
||||
Marking Files......................................|netrw-mf|
|
||||
Marking Files by Regular Expression................|netrw-mr|
|
||||
|
||||
* also, if the cursor is in the banner, then the netrw window's currently
|
||||
displayed directory is used for the copy/move-to target.
|
||||
|
||||
* however, if the cursor is atop a directory name, then that directory is
|
||||
used for the copy/move-to target
|
||||
MARKED FILES: TARGET DIRECTORY USING HISTORY *netrw-Th* {{{2
|
||||
|
||||
Sets the marked file copy/move-to target (see |netrw-mc| and |netrw-mm|).
|
||||
|
||||
The |netrw-qb| map will give you a list of history (and bookmarks).
|
||||
One may choose one of the history entries to become your marked file
|
||||
target by using [count]Th (default count: 0; ie. the current directory).
|
||||
|
||||
Related topics:
|
||||
Listing Bookmarks and History......................|netrw-qb|
|
||||
Marked Files: Setting The Target Directory.........|netrw-mt|
|
||||
Marked Files: Target Directory Using Bookmarks.....|netrw-Tb|
|
||||
Marking Files......................................|netrw-mf|
|
||||
Marking Files by Regular Expression................|netrw-mr|
|
||||
|
||||
There is only one copy/move-to target per vim session; ie. the target is a
|
||||
script variable (see |s:var|) and is shared between all netrw windows (in an
|
||||
instance of vim).
|
||||
|
||||
MARKED FILES: UNMARKING *netrw-mu* {{{2
|
||||
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
||||
@@ -2020,21 +2114,25 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
--- -----------
|
||||
Var Explanation
|
||||
--- -----------
|
||||
< *g:netrw_alto* change from above splitting to below splitting
|
||||
< *g:netrw_alto* change from above splitting to below splitting
|
||||
by setting this variable (see |netrw-o|)
|
||||
default: =&sb (see |'sb'|)
|
||||
|
||||
*g:netrw_altv* change from left splitting to right splitting
|
||||
*g:netrw_altv* change from left splitting to right splitting
|
||||
by setting this variable (see |netrw-v|)
|
||||
default: =&spr (see |'spr'|)
|
||||
|
||||
*g:netrw_banner* enable/suppress the banner
|
||||
*g:netrw_banner* enable/suppress the banner
|
||||
=0: suppress the banner
|
||||
=1: banner is enabled (default)
|
||||
NOTE: suppressing the banner is a new feature
|
||||
which may cause problems.
|
||||
|
||||
*g:netrw_browse_split* when browsing, <cr> will open the file by:
|
||||
*g:netrw_bannerbackslash* if this variable exists and is not zero, the
|
||||
banner will be displayed with backslashes
|
||||
rather than forward slashes.
|
||||
|
||||
*g:netrw_browse_split* when browsing, <cr> will open the file by:
|
||||
=0: re-using the same window
|
||||
=1: horizontally splitting the window first
|
||||
=2: vertically splitting the window first
|
||||
@@ -2044,7 +2142,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
to get vertical splitting instead of
|
||||
horizontal splitting.
|
||||
|
||||
*g:netrw_browsex_viewer* specify user's preference for a viewer: >
|
||||
*g:netrw_browsex_viewer* specify user's preference for a viewer: >
|
||||
"kfmclient exec"
|
||||
"gnome-open"
|
||||
< If >
|
||||
@@ -2053,15 +2151,15 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
a script/function to handle the given
|
||||
extension. (see |netrw_filehandler|).
|
||||
|
||||
*g:netrw_chgperm* Unix/Linux: "chmod PERM FILENAME"
|
||||
*g:netrw_chgperm* Unix/Linux: "chmod PERM FILENAME"
|
||||
Windows: "cacls FILENAME /e /p PERM"
|
||||
Used to change access permission for a file.
|
||||
|
||||
*g:netrw_compress* ="gzip"
|
||||
*g:netrw_compress* ="gzip"
|
||||
Will compress marked files with this
|
||||
command
|
||||
|
||||
*g:Netrw_corehandler* Allows one to specify something additional
|
||||
*g:Netrw_corehandler* Allows one to specify something additional
|
||||
to do when handling <core> files via netrw's
|
||||
browser's "x" command (see |netrw-x|). If
|
||||
present, g:Netrw_corehandler specifies
|
||||
@@ -2070,10 +2168,11 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
is required its holding a function reference)
|
||||
|
||||
|
||||
*g:netrw_ctags* ="ctags"
|
||||
The default external program used to create tags
|
||||
*g:netrw_ctags* ="ctags"
|
||||
The default external program used to create
|
||||
tags
|
||||
|
||||
*g:netrw_cursor* = 2 (default)
|
||||
*g:netrw_cursor* = 2 (default)
|
||||
This option controls the use of the
|
||||
|'cursorline'| (cul) and |'cursorcolumn'|
|
||||
(cuc) settings by netrw:
|
||||
@@ -2091,7 +2190,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
cul : |'cursorline'| locally set
|
||||
cuc : |'cursorcolumn'| locally set
|
||||
|
||||
*g:netrw_decompress* = { ".gz" : "gunzip" ,
|
||||
*g:netrw_decompress* = { ".gz" : "gunzip" ,
|
||||
".bz2" : "bunzip2" ,
|
||||
".zip" : "unzip" ,
|
||||
".tar" : "tar -xf"}
|
||||
@@ -2112,7 +2211,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
1: warnings
|
||||
2: errors
|
||||
|
||||
*g:netrw_fastbrowse* =0: slow speed directory browsing;
|
||||
*g:netrw_fastbrowse* =0: slow speed directory browsing;
|
||||
never re-uses directory listings,
|
||||
always obtains directory listings.
|
||||
=1: medium speed directory browsing;
|
||||
@@ -2136,10 +2235,10 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
trading off accuracy (ie. up-to-date listing)
|
||||
versus speed.
|
||||
|
||||
*g:netrw_fname_escape* =' ?&;%'
|
||||
*g:netrw_fname_escape* =' ?&;%'
|
||||
Used on filenames before remote reading/writing
|
||||
|
||||
*g:netrw_ftp_browse_reject* ftp can produce a number of errors and warnings
|
||||
*g:netrw_ftp_browse_reject* ftp can produce a number of errors and warnings
|
||||
that can show up as "directories" and "files"
|
||||
in the listing. This pattern is used to
|
||||
remove such embedded messages. By default its
|
||||
@@ -2152,19 +2251,19 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
: connect to address [0-9a-fA-F:]*
|
||||
: No route to host$'
|
||||
|
||||
*g:netrw_ftp_list_cmd* options for passing along to ftp for directory
|
||||
*g:netrw_ftp_list_cmd* options for passing along to ftp for directory
|
||||
listing. Defaults:
|
||||
unix or g:netrw_cygwin set: : "ls -lF"
|
||||
otherwise "dir"
|
||||
|
||||
|
||||
*g:netrw_ftp_sizelist_cmd* options for passing along to ftp for directory
|
||||
*g:netrw_ftp_sizelist_cmd* options for passing along to ftp for directory
|
||||
listing, sorted by size of file.
|
||||
Defaults:
|
||||
unix or g:netrw_cygwin set: : "ls -slF"
|
||||
otherwise "dir"
|
||||
|
||||
*g:netrw_ftp_timelist_cmd* options for passing along to ftp for directory
|
||||
*g:netrw_ftp_timelist_cmd* options for passing along to ftp for directory
|
||||
listing, sorted by time of last modification.
|
||||
Defaults:
|
||||
unix or g:netrw_cygwin set: : "ls -tlF"
|
||||
@@ -2175,61 +2274,64 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
These characters in directory names are
|
||||
escaped before applying glob()
|
||||
|
||||
*g:netrw_hide* if true, the hiding list is used
|
||||
*g:netrw_hide* Controlled by the "a" map (see |netrw-a|)
|
||||
=0 : show all
|
||||
=1 : show not-hidden files
|
||||
=2 : show hidden files only
|
||||
default: =0
|
||||
|
||||
*g:netrw_home* The home directory for where bookmarks and
|
||||
*g:netrw_home* The home directory for where bookmarks and
|
||||
history are saved (as .netrwbook and
|
||||
.netrwhist).
|
||||
default: the first directory on the
|
||||
|'runtimepath'|
|
||||
|
||||
*g:netrw_keepdir* =1 (default) keep current directory immune from
|
||||
*g:netrw_keepdir* =1 (default) keep current directory immune from
|
||||
the browsing directory.
|
||||
=0 keep the current directory the same as the
|
||||
browsing directory.
|
||||
The current browsing directory is contained in
|
||||
b:netrw_curdir (also see |netrw-c|)
|
||||
|
||||
*g:netrw_list_cmd* command for listing remote directories
|
||||
*g:netrw_list_cmd* command for listing remote directories
|
||||
default: (if ssh is executable)
|
||||
"ssh HOSTNAME ls -FLa"
|
||||
|
||||
*g:netrw_liststyle* Set the default listing style:
|
||||
*g:netrw_liststyle* Set the default listing style:
|
||||
= 0: thin listing (one file per line)
|
||||
= 1: long listing (one file per line with time
|
||||
stamp information and file size)
|
||||
= 2: wide listing (multiple files in columns)
|
||||
= 3: tree style listing
|
||||
*g:netrw_list_hide* comma separated pattern list for hiding files
|
||||
*g:netrw_list_hide* comma separated pattern list for hiding files
|
||||
Patterns are regular expressions (see |regexp|)
|
||||
Example: let g:netrw_list_hide= '.*\.swp$'
|
||||
default: ""
|
||||
|
||||
*g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin
|
||||
*g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin
|
||||
="copy" Windows
|
||||
Copies marked files (|netrw-mf|) to target
|
||||
directory (|netrw-mt|, |netrw-mc|)
|
||||
|
||||
*g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin
|
||||
*g:netrw_localmkdir* command for making a local directory
|
||||
default: "mkdir"
|
||||
|
||||
*g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin
|
||||
="move" Windows
|
||||
Moves marked files (|netrw-mf|) to target
|
||||
directory (|netrw-mt|, |netrw-mm|)
|
||||
|
||||
*g:netrw_localmkdir* command for making a local directory
|
||||
default: "mkdir"
|
||||
|
||||
*g:netrw_localrmdir* remove directory command (rmdir)
|
||||
*g:netrw_localrmdir* remove directory command (rmdir)
|
||||
default: "rmdir"
|
||||
|
||||
*g:netrw_maxfilenamelen* =32 by default, selected so as to make long
|
||||
*g:netrw_maxfilenamelen* =32 by default, selected so as to make long
|
||||
listings fit on 80 column displays.
|
||||
If your screen is wider, and you have file
|
||||
or directory names longer than 32 bytes,
|
||||
you may set this option to keep listings
|
||||
columnar.
|
||||
|
||||
*g:netrw_mkdir_cmd* command for making a remote directory
|
||||
*g:netrw_mkdir_cmd* command for making a remote directory
|
||||
via ssh (also see |g:netrw_remote_mkdir|)
|
||||
default: "ssh USEPORT HOSTNAME mkdir"
|
||||
|
||||
@@ -2246,11 +2348,11 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
evaluation will be suppressed
|
||||
(see |'ballooneval'|)
|
||||
|
||||
*g:netrw_remote_mkdir* command for making a local directory
|
||||
*g:netrw_remote_mkdir* command for making a local directory
|
||||
via ftp (also see |g:netrw_mkdir_cmd|)
|
||||
default: "mkdir"
|
||||
|
||||
*g:netrw_retmap* if it exists and is set to one, then:
|
||||
*g:netrw_retmap* if it exists and is set to one, then:
|
||||
* if in a netrw-selected file, AND
|
||||
* no normal-mode <2-leftmouse> mapping exists,
|
||||
then the <2-leftmouse> will be mapped for easy
|
||||
@@ -2269,22 +2371,22 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
|
||||
default: =0
|
||||
|
||||
*g:netrw_rm_cmd* command for removing files
|
||||
*g:netrw_rm_cmd* command for removing files
|
||||
default: "ssh USEPORT HOSTNAME rm"
|
||||
|
||||
*g:netrw_rmdir_cmd* command for removing directories
|
||||
*g:netrw_rmdir_cmd* command for removing directories
|
||||
default: "ssh USEPORT HOSTNAME rmdir"
|
||||
|
||||
*g:netrw_rmf_cmd* command for removing softlinks
|
||||
*g:netrw_rmf_cmd* command for removing softlinks
|
||||
default: "ssh USEPORT HOSTNAME rm -f"
|
||||
|
||||
*g:netrw_sort_by* sort by "name", "time", or "size"
|
||||
*g:netrw_sort_by* sort by "name", "time", or "size"
|
||||
default: "name"
|
||||
|
||||
*g:netrw_sort_direction* sorting direction: "normal" or "reverse"
|
||||
*g:netrw_sort_direction* sorting direction: "normal" or "reverse"
|
||||
default: "normal"
|
||||
|
||||
*g:netrw_sort_options* sorting is done using |:sort|; this
|
||||
*g:netrw_sort_options* sorting is done using |:sort|; this
|
||||
variable's value is appended to the
|
||||
sort command. Thus one may ignore case,
|
||||
for example, with the following in your
|
||||
@@ -2292,14 +2394,14 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
let g:netrw_sort_options="i"
|
||||
< default: ""
|
||||
|
||||
*g:netrw_sort_sequence* when sorting by name, first sort by the
|
||||
*g:netrw_sort_sequence* when sorting by name, first sort by the
|
||||
comma-separated pattern sequence. Note that
|
||||
the filigree added to indicate filetypes
|
||||
should be accounted for in your pattern.
|
||||
default: '[\/]$,*,\.bak$,\.o$,\.h$,
|
||||
\.info$,\.swp$,\.obj$'
|
||||
|
||||
*g:netrw_special_syntax* If true, then certain files will be shown
|
||||
*g:netrw_special_syntax* If true, then certain files will be shown
|
||||
using special syntax in the browser:
|
||||
|
||||
netrwBak : *.bak
|
||||
@@ -2321,24 +2423,24 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
< into one's <.vimrc> to use one's own
|
||||
preferences.
|
||||
|
||||
*g:netrw_ssh_cmd* One may specify an executable command
|
||||
to use instead of ssh for remote actions
|
||||
such as listing, file removal, etc.
|
||||
default: ssh
|
||||
|
||||
*g:netrw_ssh_browse_reject* ssh can sometimes produce unwanted lines,
|
||||
*g:netrw_ssh_browse_reject* ssh can sometimes produce unwanted lines,
|
||||
messages, banners, and whatnot that one doesn't
|
||||
want masquerading as "directories" and "files".
|
||||
Use this pattern to remove such embedded
|
||||
messages. By default its value is:
|
||||
'^total\s\+\d\+$'
|
||||
|
||||
*g:netrw_ssh_cmd* One may specify an executable command
|
||||
to use instead of ssh for remote actions
|
||||
such as listing, file removal, etc.
|
||||
default: ssh
|
||||
|
||||
*g:netrw_tmpfile_escape* =' &;'
|
||||
|
||||
*g:netrw_tmpfile_escape* =' &;'
|
||||
escape() is applied to all temporary files
|
||||
to escape these characters.
|
||||
|
||||
*g:netrw_timefmt* specify format string to vim's strftime().
|
||||
*g:netrw_timefmt* specify format string to vim's strftime().
|
||||
The default, "%c", is "the preferred date
|
||||
and time representation for the current
|
||||
locale" according to my manpage entry for
|
||||
@@ -2348,7 +2450,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
" %a %Y-%m-%d %I-%M-%S %p"
|
||||
default: "%c"
|
||||
|
||||
*g:netrw_use_noswf* netrw normally avoids writing swapfiles
|
||||
*g:netrw_use_noswf* netrw normally avoids writing swapfiles
|
||||
for browser buffers. However, under some
|
||||
systems this apparently is causing nasty
|
||||
ml_get errors to appear; if you're getting
|
||||
@@ -2356,7 +2458,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
let g:netrw_use_noswf= 0
|
||||
in your .vimrc.
|
||||
|
||||
*g:netrw_winsize* specify initial size of new windows made with
|
||||
*g:netrw_winsize* specify initial size of new windows made with
|
||||
"o" (see |netrw-o|), "v" (see |netrw-v|),
|
||||
|:Hexplore| or |:Vexplore|. The g:netrw_winsize
|
||||
is an integer describing the percentage of the
|
||||
@@ -2367,7 +2469,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
or columns will be used for the new window.
|
||||
default: 50 (for 50%)
|
||||
|
||||
*g:netrw_xstrlen* Controls how netrw computes string lengths,
|
||||
*g:netrw_xstrlen* Controls how netrw computes string lengths,
|
||||
including multi-byte characters' string
|
||||
length. (thanks to N Weibull, T Mechelynck)
|
||||
=0: uses Vim's built-in strlen()
|
||||
@@ -2383,7 +2485,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
immediately preceded by lam, one
|
||||
otherwise, etc)
|
||||
|
||||
*g:NetrwTopLvlMenu* This variable specifies the top level
|
||||
*g:NetrwTopLvlMenu* This variable specifies the top level
|
||||
menu name; by default, it's "Netrw.". If
|
||||
you wish to change this, do so in your
|
||||
.vimrc.
|
||||
@@ -2483,7 +2585,7 @@ has been modified, and there's only one window with that buffer, then
|
||||
the user will be asked if s/he wishes to save the buffer first (yes,
|
||||
no, or cancel).
|
||||
|
||||
Related Actions |netrw-cr| |netrw-o| |netrw-t| |netrw-T| |netrw-v|
|
||||
Related Actions |netrw-cr| |netrw-o| |netrw-t| |netrw-v|
|
||||
Associated setting variables:
|
||||
|g:netrw_alto| control above/below splitting
|
||||
|g:netrw_altv| control right/left splitting
|
||||
@@ -2498,6 +2600,15 @@ hit the <cr> when atop the ./ directory entry in the listing. One may also
|
||||
refresh a local directory by using ":e .".
|
||||
|
||||
|
||||
REVERSING SORTING ORDER *netrw-r* *netrw-reverse* {{{2
|
||||
|
||||
One may toggle between normal and reverse sorting order by pressing the
|
||||
"r" key.
|
||||
|
||||
Related topics: |netrw-s|
|
||||
Associated setting variable: |g:netrw_sort_direction|
|
||||
|
||||
|
||||
RENAMING FILES OR DIRECTORIES *netrw-move* *netrw-rename* *netrw-R* {{{2
|
||||
|
||||
If there are no marked files: (see |netrw-mf|)
|
||||
@@ -2528,15 +2639,6 @@ One may rename a block of files and directories by selecting them with
|
||||
the V (|linewise-visual|).
|
||||
|
||||
|
||||
REVERSING SORTING ORDER *netrw-r* *netrw-reverse* {{{2
|
||||
|
||||
One may toggle between normal and reverse sorting order by pressing the
|
||||
"r" key.
|
||||
|
||||
Related topics: |netrw-s|
|
||||
Associated setting variable: |g:netrw_sort_direction|
|
||||
|
||||
|
||||
SELECTING SORTING STYLE *netrw-s* *netrw-sort* {{{2
|
||||
|
||||
One may select the sorting style by name, time, or (file) size. The "s" map
|
||||
@@ -2620,9 +2722,9 @@ Associated setting variables: |g:netrw_chgwin|
|
||||
P5. My times come up oddly in local browsing
|
||||
|
||||
Does your system's strftime() accept the "%c" to yield dates
|
||||
such as "Sun Apr 27 11:49:23 1997"? If not, do a "man strftime"
|
||||
and find out what option should be used. Then put it into
|
||||
your |.vimrc|: >
|
||||
such as "Sun Apr 27 11:49:23 1997"? If not, do a
|
||||
"man strftime" and find out what option should be used. Then
|
||||
put it into your |.vimrc|: >
|
||||
|
||||
let g:netrw_timefmt= "%X" (where X is the option)
|
||||
<
|
||||
@@ -2895,6 +2997,70 @@ which is loaded automatically at startup (assuming :set nocp).
|
||||
==============================================================================
|
||||
12. History *netrw-history* {{{1
|
||||
|
||||
v149: Apr 18, 2013 * in wide listing format, now have maps for
|
||||
w and b to move to next/previous file
|
||||
Apr 26, 2013 * one may now copy files in the same
|
||||
directory; netrw will issue requests for
|
||||
what names the files should be copied under
|
||||
Apr 29, 2013 * Trying Benzinger's problem again. Seems
|
||||
that commenting out the BufEnter and
|
||||
installing VimEnter (only) works. Weird
|
||||
problem! (tree listing, vim -O Dir1 Dir2)
|
||||
May 01, 2013 * :Explore ftp://... wasn't working. Fixed.
|
||||
May 02, 2013 * introduced |g:netrw_bannerbackslash| as
|
||||
requested by Paul Domaskis.
|
||||
May 18, 2013 * More fixes for windows (not cygwin)
|
||||
v148: Apr 16, 2013 * changed Netrw's Style menu to allow direct
|
||||
choice of listing style, hiding style, and
|
||||
sorting style
|
||||
v147: Nov 24, 2012 * (James McCoy) Even with g:netrw_dirhistmax
|
||||
at zero, the .vim/ directory would be
|
||||
created to support history/bookmarks. I've
|
||||
gone over netrw to suppress history and
|
||||
bookmarking when g:netrw_dirhistmax is zero.
|
||||
For instance, the menus will display
|
||||
(disabled) when attempts to use
|
||||
bookmarks/history are made.
|
||||
Nov 29, 2012 * (Kim Jang-hwan) reported that with
|
||||
g:Align_xstrlen set to 3 that the cursor was
|
||||
moved (linewise) after invocation. This
|
||||
problem also afflicted netrw.
|
||||
(see |g:netrw_xstrlen|) Fixed.
|
||||
Jan 21, 2013 * (mattn) provided a patch to insert some
|
||||
endifs needed with the code implementing
|
||||
|netrw-O|.
|
||||
Jan 24, 2013 * (John Szakmeister) found that remote file
|
||||
editing resulted in filetype options being
|
||||
overwritten by NetrwOptionRestore(). I
|
||||
moved filetype detect from NetrwGetFile()
|
||||
to NetrwOptionRestore.
|
||||
Feb 17, 2013 * (Yukhiro Nakadaira) provided a patch
|
||||
correcting some syntax errors.
|
||||
Feb 28, 2013 * (Ingo Karkat) provided a patch preventing
|
||||
receipt of an |E95| when revisiting a
|
||||
file://... style url.
|
||||
Mar 18, 2013 * (Gary Johnson) pointed out that changing
|
||||
cedit to <Esc> caused problems with visincr;
|
||||
the cedit setting is now bypassed in netrw too.
|
||||
Apr 02, 2013 * (Paul Domaskis) reported an undefined
|
||||
variable error (s:didstarstar) was
|
||||
occurring. It is now defined at
|
||||
initialization.
|
||||
* included additional sanity checking for the
|
||||
marked file functions.
|
||||
* included |netrw-qF| and special "j" option
|
||||
handling for |netrw-mg|
|
||||
Apr 12, 2013 * |netrw-u| and |netrw-U| now handle counts
|
||||
* the former mapping for "T" has been removed;
|
||||
in its place are new maps, |netrw-Tb| and |netrw-Th|.
|
||||
* the menu now supports a "Targets" entry for
|
||||
easier target selection. (see |netrw-mt|)
|
||||
* (Paul Domaskis) reported some problems with
|
||||
moving/copying files under Windows' gvim
|
||||
(ie. not cygwin). Fixed.
|
||||
* (Paul Mueller) provided a patch to get
|
||||
start and rundll working via |netrw-gx|
|
||||
by bypassing the user's |'shellslash'| option.
|
||||
v146: Oct 20, 2012 * (David Kotchan) reported that under Windows,
|
||||
directories named with unusual characters
|
||||
such as "#" or "$" were not being listed
|
||||
@@ -2904,6 +3070,10 @@ which is loaded automatically at startup (assuming :set nocp).
|
||||
Netrw will now |:bwipe| netrw buffers
|
||||
upon editing a file if g:netrw_fastbrowse
|
||||
is zero and its not in tree listing style.
|
||||
* fixed a bug with s:NetrwInit() that
|
||||
prevented initialization with |Lists| and
|
||||
|Dictionaries|.
|
||||
* |netrw-mu| now unmarks marked-file lists
|
||||
v145: Apr 05, 2012 * moved some command from a g:netrw_local_...
|
||||
format to g:netwr_local... format
|
||||
* included some NOTE level messages about
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_paren.txt* For Vim version 7.3. Last change: 2008 Jun 16
|
||||
*pi_paren.txt* For Vim version 7.3. Last change: 2013 May 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -46,7 +46,10 @@ are:
|
||||
closed folds.
|
||||
- 'synmaxcol' times 2 bytes before or after the cursor to avoid a delay
|
||||
in a long line with syntax highlighting.
|
||||
|
||||
- A timeout of 300 msec (60 msec in Insert mode). This can be changed with the
|
||||
g:matchparen_timeout and g:matchparen_insert_timeout variables and their
|
||||
buffer-local equivalents b:matchparen_timeout and
|
||||
b:matchparen_insert_timeout.
|
||||
|
||||
If you would like the |%| command to work better, the matchit plugin can be
|
||||
used, see |matchit-install|. This plugin also helps to skip matches in
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
*pi_tar.txt* For Vim version 7.3. Last change: 2012 Jan 17
|
||||
*pi_tar.txt* For Vim version 7.3. Last change: 2013 Apr 17
|
||||
|
||||
+====================+
|
||||
| Tar File Interface |
|
||||
+====================+
|
||||
|
||||
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
|
||||
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
||||
(remove NOSPAM from Campbell's email first)
|
||||
Copyright 2005-2012: *tar-copyright*
|
||||
The VIM LICENSE (see |copyright|) applies to the files in this
|
||||
@@ -50,6 +50,21 @@ Copyright 2005-2012: *tar-copyright*
|
||||
*g:tar_extractcmd* , which by default is >
|
||||
"tar -xf"
|
||||
<
|
||||
*:TarDiff*
|
||||
DIFFERENCING SUPPORT~
|
||||
|
||||
:TarDiff [filename]
|
||||
|
||||
This command will attempt to show the differences between the tarball
|
||||
version of a file and the associated file on the system. In order to
|
||||
find that file on the system, the script uses the path associated with
|
||||
the file mentioned in the tarball. If the current directory is not
|
||||
correct for that path, :TarDiff will fail to find the associated file.
|
||||
|
||||
If the [filename] is given, that that filename (and path) will be used
|
||||
to specify the associated file.
|
||||
|
||||
|
||||
PREVENTING LOADING~
|
||||
|
||||
If for some reason you do not wish to use vim to examine tar'd files,
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
*pi_zip.txt* For Vim version 7.3. Last change: 2012 Jan 17
|
||||
*pi_zip.txt* For Vim version 7.3. Last change: 2013 Apr 17
|
||||
|
||||
+====================+
|
||||
| Zip File Interface |
|
||||
+====================+
|
||||
|
||||
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
|
||||
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
||||
(remove NOSPAM from Campbell's email first)
|
||||
Copyright: Copyright (C) 2005-2011 Charles E Campbell, Jr *zip-copyright*
|
||||
Copyright: Copyright (C) 2005-2012 Charles E Campbell *zip-copyright*
|
||||
The VIM LICENSE (see |copyright|) applies to the files in this
|
||||
package, including zipPlugin.vim, zip.vim, and pi_zip.vim. except use
|
||||
"zip.vim" instead of "VIM". Like anything else that's free, zip.vim
|
||||
@@ -85,8 +85,13 @@ Copyright: Copyright (C) 2005-2011 Charles E Campbell, Jr *zip-copyright*
|
||||
|
||||
==============================================================================
|
||||
4. History *zip-history* {{{1
|
||||
v26 Nov 15, 2012 * (Jason Spiro) provided a lot of new extensions that
|
||||
are synonyms for .zip
|
||||
v25 Jun 27, 2011 * using keepj with unzip -Z
|
||||
(consistent with the -p variant)
|
||||
* (Ben Staniford) now uses
|
||||
has("win32unix") && executable("cygpath")
|
||||
before converting to cygwin-style paths
|
||||
v24 Jun 21, 2010 * (Cédric Bosdonnat) unzip seems to need its filenames
|
||||
fnameescape'd as well as shellquote'd
|
||||
* (Motoya Kurotsu) inserted keepj before 0d to protect
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 7.3. Last change: 2011 May 10
|
||||
*quickfix.txt* For Vim version 7.3. Last change: 2013 Mar 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -574,6 +574,8 @@ commands can be combined to create a NewGrep command: >
|
||||
'ignorecase' applies. To overrule it put |/\c| in the
|
||||
pattern to ignore case or |/\C| to match case.
|
||||
'smartcase' is not used.
|
||||
If {pattern} is empty (e.g. // is specified), the last
|
||||
used search pattern is used. |last-pattern|
|
||||
|
||||
When a number is put before the command this is used
|
||||
as the maximum number of matches to find. Use
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 7.3. Last change: 2012 Feb 22
|
||||
*quickref.txt* For Vim version 7.3. Last change: 2013 May 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
*quickref* *Contents*
|
||||
tag subject tag subject ~
|
||||
|Q_ct| list of help files |Q_re| Repeating commands
|
||||
|Q_ct| list of help files |Q_re| Repeating commands
|
||||
|Q_lr| motion: Left-right |Q_km| Key mapping
|
||||
|Q_ud| motion: Up-down |Q_ab| Abbreviations
|
||||
|Q_tm| motion: Text object |Q_op| Options
|
||||
@@ -27,7 +27,7 @@
|
||||
|Q_co| change: Complex |Q_bu| Buffer list commands
|
||||
|Q_vi| Visual mode |Q_sy| Syntax highlighting
|
||||
|Q_to| Text objects |Q_gu| GUI commands
|
||||
|Q_fo| Folding
|
||||
|Q_fo| Folding
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
N is used to indicate an optional count that can be given before the command.
|
||||
@@ -186,7 +186,7 @@ N is used to indicate an optional count that can be given before the command.
|
||||
|:marks| :marks print the active marks
|
||||
|CTRL-O| N CTRL-O go to Nth older position in jump list
|
||||
|CTRL-I| N CTRL-I go to Nth newer position in jump list
|
||||
|:ju| :ju[mps] print the jump list
|
||||
|:ju| :ju[mps] print the jump list
|
||||
------------------------------------------------------------------------------
|
||||
*Q_vm* Various motions
|
||||
|
||||
@@ -204,30 +204,30 @@ N is used to indicate an optional count that can be given before the command.
|
||||
------------------------------------------------------------------------------
|
||||
*Q_ta* Using tags
|
||||
|
||||
|:ta| :ta[g][!] {tag} jump to tag {tag}
|
||||
|:ta| :[count]ta[g][!] jump to [count]'th newer tag in tag list
|
||||
|:ta| :ta[g][!] {tag} jump to tag {tag}
|
||||
|:ta| :[count]ta[g][!] jump to [count]'th newer tag in tag list
|
||||
|CTRL-]| CTRL-] jump to the tag under cursor, unless changes
|
||||
have been made
|
||||
|:ts| :ts[elect][!] [tag] list matching tags and select one to jump to
|
||||
|:ts| :ts[elect][!] [tag] list matching tags and select one to jump to
|
||||
|:tjump| :tj[ump][!] [tag] jump to tag [tag] or select from list when
|
||||
there are multiple matches
|
||||
|:ltag| :lt[ag][!] [tag] jump to tag [tag] and add matching tags to the
|
||||
|:ltag| :lt[ag][!] [tag] jump to tag [tag] and add matching tags to the
|
||||
location list
|
||||
|
||||
|:tags| :tags print tag list
|
||||
|:tags| :tags print tag list
|
||||
|CTRL-T| N CTRL-T jump back from Nth older tag in tag list
|
||||
|:po| :[count]po[p][!] jump back from [count]'th older tag in tag list
|
||||
|:po| :[count]po[p][!] jump back from [count]'th older tag in tag list
|
||||
|:tnext| :[count]tn[ext][!] jump to [count]'th next matching tag
|
||||
|:tp| :[count]tp[revious][!] jump to [count]'th previous matching tag
|
||||
|:tr| :[count]tr[ewind][!] jump to [count]'th matching tag
|
||||
|:tl| :tl[ast][!] jump to last matching tag
|
||||
|:tr| :[count]tr[ewind][!] jump to [count]'th matching tag
|
||||
|:tl| :tl[ast][!] jump to last matching tag
|
||||
|
||||
|:ptag| :pt[ag] {tag} open a preview window to show tag {tag}
|
||||
|CTRL-W_}| CTRL-W } like CTRL-] but show tag in preview window
|
||||
|:ptag| :pt[ag] {tag} open a preview window to show tag {tag}
|
||||
|CTRL-W_}| CTRL-W } like CTRL-] but show tag in preview window
|
||||
|:pts| :pts[elect] like ":tselect" but show tag in preview window
|
||||
|:ptjump| :ptj[ump] like ":tjump" but show tag in preview window
|
||||
|:pclose| :pc[lose] close tag preview window
|
||||
|CTRL-W_z| CTRL-W z close tag preview window
|
||||
|CTRL-W_z| CTRL-W z close tag preview window
|
||||
------------------------------------------------------------------------------
|
||||
*Q_sc* Scrolling
|
||||
|
||||
@@ -260,7 +260,7 @@ These only work when 'wrap' is off:
|
||||
|:startreplace| :startr[eplace][!] start Replace mode, at EOL when [!] used
|
||||
|
||||
in Visual block mode:
|
||||
|v_b_I| I insert the same text in front of all the selected lines
|
||||
|v_b_I| I insert the same text in front of all the selected lines
|
||||
|v_b_A| A append the same text after all the selected lines
|
||||
------------------------------------------------------------------------------
|
||||
*Q_ai* Insert mode keys
|
||||
@@ -334,16 +334,16 @@ In Insert or Command-line mode:
|
||||
*Q_de* Deleting text
|
||||
|
||||
|x| N x delete N characters under and after the cursor
|
||||
|<Del>| N <Del> delete N characters under and after the cursor
|
||||
|<Del>| N <Del> delete N characters under and after the cursor
|
||||
|X| N X delete N characters before the cursor
|
||||
|d| N d{motion} delete the text that is moved over with {motion}
|
||||
|v_d| {visual}d delete the highlighted text
|
||||
|v_d| {visual}d delete the highlighted text
|
||||
|dd| N dd delete N lines
|
||||
|D| N D delete to the end of the line (and N-1 more lines)
|
||||
|J| N J join N-1 lines (delete <EOL>s)
|
||||
|v_J| {visual}J join the highlighted lines
|
||||
|v_J| {visual}J join the highlighted lines
|
||||
|gJ| N gJ like "J", but without inserting spaces
|
||||
|v_gJ| {visual}gJ like "{visual}J", but without inserting spaces
|
||||
|v_gJ| {visual}gJ like "{visual}J", but without inserting spaces
|
||||
|:d| :[range]d [x] delete [range] lines [into register x]
|
||||
------------------------------------------------------------------------------
|
||||
*Q_cm* Copying and moving text
|
||||
@@ -369,7 +369,7 @@ In Insert or Command-line mode:
|
||||
|R| N R enter Replace mode (repeat the entered text N times)
|
||||
|gR| N gR enter virtual Replace mode: Like Replace mode but
|
||||
without affecting layout
|
||||
|v_b_r| {visual}r{char}
|
||||
|v_b_r| {visual}r{char}
|
||||
in Visual block mode: Replace each char of the
|
||||
selected text with {char}
|
||||
|
||||
@@ -447,13 +447,13 @@ In Insert or Command-line mode:
|
||||
|
||||
|visual-index| list of Visual mode commands.
|
||||
|
||||
|v| v start highlighting characters } move cursor and use
|
||||
|V| V start highlighting linewise } operator to affect
|
||||
|v| v start highlighting characters } move cursor and use
|
||||
|V| V start highlighting linewise } operator to affect
|
||||
|CTRL-V| CTRL-V start highlighting blockwise } highlighted text
|
||||
|v_o| o exchange cursor position with start of highlighting
|
||||
|gv| gv start highlighting on previous visual area
|
||||
|v_v| v highlight characters or stop highlighting
|
||||
|v_V| V highlight linewise or stop highlighting
|
||||
|v_o| o exchange cursor position with start of highlighting
|
||||
|gv| gv start highlighting on previous visual area
|
||||
|v_v| v highlight characters or stop highlighting
|
||||
|v_V| V highlight linewise or stop highlighting
|
||||
|v_CTRL-V| CTRL-V highlight blockwise or stop highlighting
|
||||
------------------------------------------------------------------------------
|
||||
*Q_to* Text objects (only in Visual mode or after an operator)
|
||||
@@ -509,8 +509,8 @@ In Insert or Command-line mode:
|
||||
------------------------------------------------------------------------------
|
||||
*Q_km* Key mapping
|
||||
|
||||
|:map| :ma[p] {lhs} {rhs} map {lhs} to {rhs} in Normal and Visual mode
|
||||
|:map!| :ma[p]! {lhs} {rhs} map {lhs} to {rhs} in Insert and Command-line
|
||||
|:map| :ma[p] {lhs} {rhs} map {lhs} to {rhs} in Normal and Visual mode
|
||||
|:map!| :ma[p]! {lhs} {rhs} map {lhs} to {rhs} in Insert and Command-line
|
||||
mode
|
||||
|:noremap| :no[remap][!] {lhs} {rhs}
|
||||
same as ":map", no remapping for this {rhs}
|
||||
@@ -522,19 +522,19 @@ In Insert or Command-line mode:
|
||||
Normal and Visual mode
|
||||
|:map_l!| :ma[p]! [lhs] list mappings (starting with [lhs]) for
|
||||
Insert and Command-line mode
|
||||
|:cmap| :cmap/:cunmap/:cnoremap
|
||||
|:cmap| :cmap/:cunmap/:cnoremap
|
||||
like ":map!"/":unmap!"/":noremap!" but for
|
||||
Command-line mode only
|
||||
|:imap| :imap/:iunmap/:inoremap
|
||||
|:imap| :imap/:iunmap/:inoremap
|
||||
like ":map!"/":unmap!"/":noremap!" but for
|
||||
Insert mode only
|
||||
|:nmap| :nmap/:nunmap/:nnoremap
|
||||
|:nmap| :nmap/:nunmap/:nnoremap
|
||||
like ":map"/":unmap"/":noremap" but for
|
||||
Normal mode only
|
||||
|:vmap| :vmap/:vunmap/:vnoremap
|
||||
|:vmap| :vmap/:vunmap/:vnoremap
|
||||
like ":map"/":unmap"/":noremap" but for
|
||||
Visual mode only
|
||||
|:omap| :omap/:ounmap/:onoremap
|
||||
|:omap| :omap/:ounmap/:onoremap
|
||||
like ":map"/":unmap"/":noremap" but only for
|
||||
when an operator is pending
|
||||
|:mapc| :mapc[lear] remove mappings for Normal and Visual mode
|
||||
@@ -691,6 +691,7 @@ Short explanation of each option: *option-list*
|
||||
'fileencodings' 'fencs' automatically detected character encodings
|
||||
'fileformat' 'ff' file format used for file I/O
|
||||
'fileformats' 'ffs' automatically detected values for 'fileformat'
|
||||
'fileignorecase' 'fic' ignore case when using file names
|
||||
'filetype' 'ft' type of file, used for autocommands
|
||||
'fillchars' 'fcs' characters to use for displaying special items
|
||||
'fkmap' 'fk' Farsi keyboard mapping
|
||||
@@ -823,6 +824,7 @@ Short explanation of each option: *option-list*
|
||||
'quoteescape' 'qe' escape characters used in a string
|
||||
'readonly' 'ro' disallow writing the buffer
|
||||
'redrawtime' 'rdt' timeout for 'hlsearch' and |:match| highlighting
|
||||
'regexpengine' 're' default regexp engine to use
|
||||
'relativenumber' 'rnu' show relative line number in front of each line
|
||||
'remap' allow mappings to work recursively
|
||||
'report' threshold for reporting nr. of lines changed
|
||||
@@ -958,9 +960,9 @@ Short explanation of each option: *option-list*
|
||||
------------------------------------------------------------------------------
|
||||
*Q_ur* Undo/Redo commands
|
||||
|
||||
|u| N u undo last N changes
|
||||
|u| N u undo last N changes
|
||||
|CTRL-R| N CTRL-R redo last N undone changes
|
||||
|U| U restore last changed line
|
||||
|U| U restore last changed line
|
||||
------------------------------------------------------------------------------
|
||||
*Q_et* External commands
|
||||
|
||||
@@ -1011,7 +1013,7 @@ Short explanation of each option: *option-list*
|
||||
C4350, etc.)
|
||||
|:normal| :norm[al][!] {commands}
|
||||
execute Normal mode commands
|
||||
|Q| Q switch to "Ex" mode
|
||||
|Q| Q switch to "Ex" mode
|
||||
|
||||
|:redir| :redir >{file} redirect messages to {file}
|
||||
|:silent| :silent[!] {command} execute {command} silently
|
||||
@@ -1087,11 +1089,11 @@ Context-sensitive completion on the command-line:
|
||||
------------------------------------------------------------------------------
|
||||
*Q_ex* Special Ex characters
|
||||
|
||||
|:bar| | separates two commands (not for ":global" and ":!")
|
||||
|:bar| | separates two commands (not for ":global" and ":!")
|
||||
|:quote| " begins comment
|
||||
|
||||
|:_%| % current file name (only where a file name is expected)
|
||||
|:_#| #[num] alternate file name [num] (only where a file name is
|
||||
|:_%| % current file name (only where a file name is expected)
|
||||
|:_#| #[num] alternate file name [num] (only where a file name is
|
||||
expected)
|
||||
Note: The next seven are typed literally; these are not special keys!
|
||||
|:<abuf>| <abuf> buffer number, for use in an autocommand (only where a
|
||||
@@ -1171,18 +1173,18 @@ Context-sensitive completion on the command-line:
|
||||
Without !: Fail if changes have been made to the current buffer.
|
||||
With !: Discard any changes to the current buffer.
|
||||
|:edit_f| :e[dit][!] {file} edit {file}
|
||||
|:edit| :e[dit][!] reload the current file
|
||||
|:enew| :ene[w][!] edit a new, unnamed buffer
|
||||
|:edit| :e[dit][!] reload the current file
|
||||
|:enew| :ene[w][!] edit a new, unnamed buffer
|
||||
|:find| :fin[d][!] {file} find {file} in 'path' and edit it
|
||||
|
||||
|CTRL-^| N CTRL-^ edit alternate file N (equivalent to ":e #N")
|
||||
|gf| gf or ]f edit the file whose name is under the cursor
|
||||
|:pwd| :pwd print the current directory name
|
||||
|:cd| :cd [path] change the current directory to [path]
|
||||
|:cd-| :cd - back to previous current directory
|
||||
|:file| :f[ile] print the current file name and the cursor
|
||||
|CTRL-^| N CTRL-^ edit alternate file N (equivalent to ":e #N")
|
||||
|gf| gf or ]f edit the file whose name is under the cursor
|
||||
|:pwd| :pwd print the current directory name
|
||||
|:cd| :cd [path] change the current directory to [path]
|
||||
|:cd-| :cd - back to previous current directory
|
||||
|:file| :f[ile] print the current file name and the cursor
|
||||
position
|
||||
|:file| :f[ile] {name} set the current file name to {name}
|
||||
|:file| :f[ile] {name} set the current file name to {name}
|
||||
|:files| :files show alternate file names
|
||||
------------------------------------------------------------------------------
|
||||
*Q_fl* Using the argument list |argument-list|
|
||||
@@ -1198,12 +1200,12 @@ Context-sensitive completion on the command-line:
|
||||
|
||||
in current window in new window ~
|
||||
|:argument| :argu[ment] N :sar[gument] N edit file N
|
||||
|:next| :n[ext] :sn[ext] edit next file
|
||||
|:next| :n[ext] :sn[ext] edit next file
|
||||
|:next_f| :n[ext] {arglist} :sn[ext] {arglist} define new arg list
|
||||
and edit first file
|
||||
|:Next| :N[ext] :sN[ext] edit previous file
|
||||
|:Next| :N[ext] :sN[ext] edit previous file
|
||||
|:first| :fir[st] :sfir[st] edit first file
|
||||
|:last| :la[st] :sla[st] edit last file
|
||||
|:last| :la[st] :sla[st] edit last file
|
||||
------------------------------------------------------------------------------
|
||||
*Q_wq* Writing and quitting
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*starting.txt* For Vim version 7.3. Last change: 2012 Mar 16
|
||||
*starting.txt* For Vim version 7.3. Last change: 2013 Jun 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -438,6 +438,10 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
||||
option should be used when Vim is started by a program that
|
||||
will wait for the edit session to finish (e.g., mail or
|
||||
readnews). See |amiga-window|.
|
||||
|
||||
MS-Windows: This option is not supported. However, when
|
||||
running Vim with an installed vim.bat or gvim.bat file it
|
||||
works.
|
||||
{not in Vi}
|
||||
|
||||
|
||||
@@ -753,11 +757,21 @@ accordingly. Vim proceeds in this order:
|
||||
file, but "exrc" is what Vi always used, "vimrc" is a Vim specific
|
||||
name. Also see |vimrc-intro|.
|
||||
|
||||
Recommended place for your personal initializations:
|
||||
Unix $HOME/.vimrc
|
||||
OS/2 $HOME/.vimrc or $VIM/.vimrc (or _vimrc)
|
||||
MS-DOS and Win32 $HOME/_vimrc or $VIM/_vimrc
|
||||
Amiga s:.vimrc or $VIM/.vimrc
|
||||
Places for your personal initializations:
|
||||
Unix $HOME/.vimrc or $HOME/.vim/vimrc
|
||||
OS/2 $HOME/.vimrc, $HOME/vimfiles/vimrc
|
||||
or $VIM/.vimrc (or _vimrc)
|
||||
MS-Windows $HOME/_vimrc, $HOME/vimfiles/vimrc
|
||||
or $VIM/_vimrc
|
||||
Amiga s:.vimrc, home:.vimrc, home:vimfiles:vimrc
|
||||
or $VIM/.vimrc
|
||||
|
||||
The files are searched in the order specified above and only the first
|
||||
one that is found is read.
|
||||
|
||||
RECOMMENDATION: Put all your Vim configuration stuff in the
|
||||
$HOME/.vim/ directory ($HOME/vimfiles/ for MS-Windows). That makes it
|
||||
easy to copy it to another system.
|
||||
|
||||
If Vim was started with "-u filename", the file "filename" is used.
|
||||
All following initializations until 4. are skipped.
|
||||
@@ -787,12 +801,15 @@ accordingly. Vim proceeds in this order:
|
||||
- The environment variable VIMINIT (see also |compatible-default|) (*)
|
||||
The value of $VIMINIT is used as an Ex command line.
|
||||
- The user vimrc file(s):
|
||||
"$HOME/.vimrc" (for Unix and OS/2) (*)
|
||||
"s:.vimrc" (for Amiga) (*)
|
||||
"home:.vimrc" (for Amiga) (*)
|
||||
"$VIM/.vimrc" (for OS/2 and Amiga) (*)
|
||||
"$HOME/_vimrc" (for MS-DOS and Win32) (*)
|
||||
"$VIM/_vimrc" (for MS-DOS and Win32) (*)
|
||||
"$HOME/.vimrc" (for Unix and OS/2) (*)
|
||||
"$HOME/.vim/vimrc" (for Unix and OS/2) (*)
|
||||
"s:.vimrc" (for Amiga) (*)
|
||||
"home:.vimrc" (for Amiga) (*)
|
||||
"home:vimfiles:vimrc" (for Amiga) (*)
|
||||
"$VIM/.vimrc" (for OS/2 and Amiga) (*)
|
||||
"$HOME/_vimrc" (for MS-DOS and Win32) (*)
|
||||
"$HOME/vimfiles/vimrc" (for MS-DOS and Win32) (*)
|
||||
"$VIM/_vimrc" (for MS-DOS and Win32) (*)
|
||||
Note: For Unix, OS/2 and Amiga, when ".vimrc" does not exist,
|
||||
"_vimrc" is also tried, in case an MS-DOS compatible file
|
||||
system is used. For MS-DOS and Win32 ".vimrc" is checked
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 7.3. Last change: 2013 Jan 30
|
||||
*syntax.txt* For Vim version 7.3. Last change: 2013 Jun 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -37,6 +37,7 @@ In the User Manual:
|
||||
15. Highlighting tags |tag-highlight|
|
||||
16. Window-local syntax |:ownsyntax|
|
||||
17. Color xterms |xterm-color|
|
||||
18. When syntax is slow |:syntime|
|
||||
|
||||
{Vi does not have any of these commands}
|
||||
|
||||
@@ -381,7 +382,11 @@ This is not a syntax file itself, but a script that converts the current
|
||||
window into HTML. Vim opens a new window in which it builds the HTML file.
|
||||
|
||||
After you save the resulting file, you can view it with any browser. The
|
||||
colors should be exactly the same as you see them in Vim.
|
||||
colors should be exactly the same as you see them in Vim. You can jump to
|
||||
specific lines by adding (for example) #L123 or #123 to the end of the URL in
|
||||
your browser's address bar (#123 only with javascript support). And with
|
||||
|g:html_dynamic_folds| enabled, you can show or hide the text that is folded
|
||||
in Vim.
|
||||
|
||||
You are not supposed to set the 'filetype' or 'syntax' option to "2html"!
|
||||
Source the script to convert the current file: >
|
||||
@@ -424,7 +429,11 @@ and last line to be converted. Example, using the last set Visual area: >
|
||||
|g:html_diff_one_file| is set, :TOhtml will convert
|
||||
all windows which are part of the diff in the current
|
||||
tab and place them side-by-side in a <table> element
|
||||
in the generated HTML.
|
||||
in the generated HTML. When this happens you can jump
|
||||
to lines in specific windows with (for example) #W1L42
|
||||
for line 42 in the first diffed window, or #W3L87 for
|
||||
line 87 in the third. Omitting the window ID will
|
||||
default to the first window if javascript is enabled.
|
||||
|
||||
Examples: >
|
||||
|
||||
@@ -999,6 +1008,14 @@ comment highlighting, add the following line to your startup file: >
|
||||
The ColdFusion syntax file is based on the HTML syntax file.
|
||||
|
||||
|
||||
CPP *cpp.vim* *ft-cpp-syntax*
|
||||
|
||||
Most of things are same as |ft-c-syntax|.
|
||||
|
||||
Variable Highlight ~
|
||||
cpp_no_c11 don't highlight C++11 standard items
|
||||
|
||||
|
||||
CSH *csh.vim* *ft-csh-syntax*
|
||||
|
||||
This covers the shell named "csh". Note that on some systems tcsh is actually
|
||||
@@ -1231,17 +1248,17 @@ to your startup file.
|
||||
|
||||
ERLANG *erlang.vim* *ft-erlang-syntax*
|
||||
|
||||
The erlang highlighting supports Erlang (ERicsson LANGuage).
|
||||
Erlang is case sensitive and default extension is ".erl".
|
||||
Erlang is a functional programming language developed by Ericsson. Files with
|
||||
the following extensions are recognized as Erlang files: erl, hrl, yaws.
|
||||
|
||||
If you want to disable keywords highlighting, put in your .vimrc: >
|
||||
:let erlang_keywords = 1
|
||||
If you want to disable built-in-functions highlighting, put in your
|
||||
.vimrc file: >
|
||||
:let erlang_functions = 1
|
||||
If you want to disable special characters highlighting, put in
|
||||
your .vimrc: >
|
||||
:let erlang_characters = 1
|
||||
The BIFs (built-in functions) are highlighted by default. To disable this,
|
||||
put the following line in your vimrc: >
|
||||
|
||||
:let g:erlang_highlight_bifs = 0
|
||||
|
||||
To enable highlighting some special atoms, put this in your vimrc: >
|
||||
|
||||
:let g:erlang_highlight_special_atoms = 1
|
||||
|
||||
|
||||
FLEXWIKI *flexwiki.vim* *ft-flexwiki-syntax*
|
||||
@@ -2061,7 +2078,7 @@ Therefore, you should be careful about not using more space between sentences
|
||||
than you intend to have in your final document. For this reason, the common
|
||||
practice is to insert a carriage return immediately after all punctuation
|
||||
marks. If you want to have "even" text in your final processed output, you
|
||||
need to maintaining regular spacing in the input text. To mark both trailing
|
||||
need to maintain regular spacing in the input text. To mark both trailing
|
||||
spaces and two or more spaces after a punctuation as an error, use: >
|
||||
|
||||
:let nroff_space_errors = 1
|
||||
@@ -2278,7 +2295,7 @@ For highlighting parent error ] or ): >
|
||||
|
||||
let php_parent_error_close = 1
|
||||
|
||||
For skipping an php end tag, if there exists an open ( or [ without a closing
|
||||
For skipping a php end tag, if there exists an open ( or [ without a closing
|
||||
one: >
|
||||
|
||||
let php_parent_error_open = 1
|
||||
@@ -2440,24 +2457,33 @@ Pascal. Use this if you don't use assembly and Pascal: >
|
||||
|
||||
PYTHON *python.vim* *ft-python-syntax*
|
||||
|
||||
There are four options to control Python syntax highlighting.
|
||||
There are six options to control Python syntax highlighting.
|
||||
|
||||
For highlighted numbers: >
|
||||
:let python_highlight_numbers = 1
|
||||
:let python_no_number_highlight = 1
|
||||
|
||||
For highlighted builtin functions: >
|
||||
:let python_highlight_builtins = 1
|
||||
:let python_no_builtin_highlight = 1
|
||||
|
||||
For highlighted standard exceptions: >
|
||||
:let python_highlight_exceptions = 1
|
||||
:let python_no_exception_highlight = 1
|
||||
|
||||
For highlighted doctests and code inside: >
|
||||
:let python_no_doctest_highlight = 1
|
||||
or >
|
||||
:let python_no_doctest_code_highlight = 1
|
||||
(first option implies second one).
|
||||
|
||||
For highlighted trailing whitespace and mix of spaces and tabs: >
|
||||
:let python_highlight_space_errors = 1
|
||||
:let python_space_error_highlight = 1
|
||||
|
||||
If you want all possible Python highlighting (the same as setting the
|
||||
preceding three options): >
|
||||
preceding last option and unsetting all other ones): >
|
||||
:let python_highlight_all = 1
|
||||
|
||||
Note: only existence of these options matter, not their value. You can replace
|
||||
1 above with anything.
|
||||
|
||||
|
||||
QUAKE *quake.vim* *ft-quake-syntax*
|
||||
|
||||
@@ -2911,6 +2937,35 @@ if any, is the text at the top of the screen supposed to be in?).
|
||||
Another cause of slow highlighting is due to syntax-driven folding; see
|
||||
|tex-folding| for a way around this.
|
||||
|
||||
*g:tex_fast*
|
||||
|
||||
Finally, if syntax highlighting is still too slow, you may set >
|
||||
|
||||
:let g:tex_fast= ""
|
||||
|
||||
in your .vimrc. Used this way, the g:tex_fast variable causes the syntax
|
||||
highlighting script to avoid defining any regions and associated
|
||||
synchronization. The result will be much faster syntax highlighting; the
|
||||
price: you will no longer have as much highlighting or any syntax-based
|
||||
folding, and you will be missing syntax-based error checking.
|
||||
|
||||
You may decide that some syntax is acceptable; you may use the following table
|
||||
selectively to enable just some syntax highlighting: >
|
||||
|
||||
b : allow bold and italic syntax
|
||||
c : allow texComment syntax
|
||||
m : allow texMatcher syntax (ie. {...} and [...])
|
||||
M : allow texMath syntax
|
||||
p : allow parts, chapter, section, etc syntax
|
||||
r : allow texRefZone syntax (nocite, bibliography, label, pageref, eqref)
|
||||
s : allow superscript/subscript regions
|
||||
S : allow texStyle syntax
|
||||
v : allow verbatim syntax
|
||||
V : allow texNewEnv and texNewCmd syntax
|
||||
<
|
||||
As an example, let g:tex_fast= "M" will allow math-associated highlighting
|
||||
but suppress all the other region-based syntax highlighting.
|
||||
|
||||
*tex-morecommands* *tex-package*
|
||||
Tex: Want To Highlight More Commands? ~
|
||||
|
||||
@@ -3805,7 +3860,7 @@ s-{nr} start of the matched pattern plus {nr} chars to the left
|
||||
e end of the matched pattern
|
||||
e+{nr} end of the matched pattern plus {nr} chars to the right
|
||||
e-{nr} end of the matched pattern plus {nr} chars to the left
|
||||
{nr} (for "lc" only): start matching {nr} chars to the left
|
||||
{nr} (for "lc" only): start matching {nr} chars right of the start
|
||||
|
||||
Examples: "ms=s+1", "hs=e-2", "lc=3".
|
||||
|
||||
@@ -3902,7 +3957,7 @@ External matches *:syn-ext-match*
|
||||
|
||||
These extra regular expression items are available in region patterns:
|
||||
|
||||
*/\z(* */\z(\)* *E50* *E52*
|
||||
*/\z(* */\z(\)* *E50* *E52* *E879*
|
||||
\z(\) Marks the sub-expression as "external", meaning that it can be
|
||||
accessed from another pattern match. Currently only usable in
|
||||
defining a syntax region start pattern.
|
||||
@@ -4882,7 +4937,7 @@ restoring "b:current_syntax", since the syntax files do set
|
||||
|
||||
Once a window has its own syntax, syntax commands executed from other windows
|
||||
on the same buffer (including :syntax clear) have no effect. Conversely,
|
||||
syntax commands executed from that window do not effect other windows on the
|
||||
syntax commands executed from that window do not affect other windows on the
|
||||
same buffer.
|
||||
|
||||
A window with its own syntax reverts to normal behavior when another buffer
|
||||
@@ -5032,4 +5087,63 @@ Also make sure TTpro's Setup / Window / Full Color is enabled, and make sure
|
||||
that Setup / Font / Enable Bold is NOT enabled.
|
||||
(info provided by John Love-Jensen <eljay@Adobe.COM>)
|
||||
|
||||
|
||||
==============================================================================
|
||||
18. When syntax is slow *:syntime*
|
||||
|
||||
This is aimed at authors of a syntax file.
|
||||
|
||||
If your syntax causes redrawing to be slow, here are a few hints on making it
|
||||
faster. To see slowness switch on some features that usually interfere, such
|
||||
as 'relativenumber' and |folding|.
|
||||
|
||||
Note: this is only available when compiled with the |+profile| feature.
|
||||
You many need to build Vim with "huge" features.
|
||||
|
||||
To find out what patterns are consuming most time, get an overview with this
|
||||
sequence: >
|
||||
:syntime on
|
||||
[ redraw the text at least once with CTRL-L ]
|
||||
:syntime report
|
||||
|
||||
This will display a list of syntax patterns that were used, sorted by the time
|
||||
it took to match them against the text.
|
||||
|
||||
:syntime on Start measuring syntax times. This will add some
|
||||
overhead to compute the time spent on syntax pattern
|
||||
matching.
|
||||
|
||||
:syntime off Stop measuring syntax times.
|
||||
|
||||
:syntime clear Set all the counters to zero, restart measuring.
|
||||
|
||||
:syntime report Show the syntax items used since ":syntime on" in the
|
||||
current window. Use a wider display to see more of
|
||||
the output.
|
||||
|
||||
The list is sorted by total time. The columns are:
|
||||
TOTAL Total time in seconds spent on
|
||||
matching this pattern.
|
||||
COUNT Number of times the pattern was used.
|
||||
MATCH Number of times the pattern actually
|
||||
matched
|
||||
SLOWEST The longest time for one try.
|
||||
AVERAGE The average time for one try.
|
||||
NAME Name of the syntax item. Note that
|
||||
this is not unique.
|
||||
PATTERN The pattern being used.
|
||||
|
||||
Pattern matching gets slow when it has to try many alternatives. Try to
|
||||
include as much literal text as possible to reduce the number of ways a
|
||||
pattern does NOT match.
|
||||
|
||||
When using the "\@<=" and "\@<!" items, add a maximum size to avoid trying at
|
||||
all positions in the current and previous line. For example, if the item is
|
||||
literal text specify the size of that text (in bytes):
|
||||
|
||||
"<\@<=span" Matches "span" in "<span". This tries matching with "<" in
|
||||
many places.
|
||||
"<\@1<=span" Matches the same, but only tries one byte before "span".
|
||||
|
||||
|
||||
vim:tw=78:sw=4:ts=8:ft=help:norl:
|
||||
|
||||
100
runtime/doc/tags
100
runtime/doc/tags
@@ -233,10 +233,12 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'fex' options.txt /*'fex'*
|
||||
'ff' options.txt /*'ff'*
|
||||
'ffs' options.txt /*'ffs'*
|
||||
'fic' options.txt /*'fic'*
|
||||
'fileencoding' options.txt /*'fileencoding'*
|
||||
'fileencodings' options.txt /*'fileencodings'*
|
||||
'fileformat' options.txt /*'fileformat'*
|
||||
'fileformats' options.txt /*'fileformats'*
|
||||
'fileignorecase' options.txt /*'fileignorecase'*
|
||||
'filetype' options.txt /*'filetype'*
|
||||
'fillchars' options.txt /*'fillchars'*
|
||||
'fk' options.txt /*'fk'*
|
||||
@@ -494,8 +496,10 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'nocopyindent' options.txt /*'nocopyindent'*
|
||||
'nocp' options.txt /*'nocp'*
|
||||
'nocrb' options.txt /*'nocrb'*
|
||||
'nocscoperelative' options.txt /*'nocscoperelative'*
|
||||
'nocscopetag' options.txt /*'nocscopetag'*
|
||||
'nocscopeverbose' options.txt /*'nocscopeverbose'*
|
||||
'nocsre' options.txt /*'nocsre'*
|
||||
'nocst' options.txt /*'nocst'*
|
||||
'nocsverb' options.txt /*'nocsverb'*
|
||||
'nocuc' options.txt /*'nocuc'*
|
||||
@@ -523,6 +527,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'noexpandtab' options.txt /*'noexpandtab'*
|
||||
'noexrc' options.txt /*'noexrc'*
|
||||
'nofen' options.txt /*'nofen'*
|
||||
'nofic' options.txt /*'nofic'*
|
||||
'nofileignorecase' options.txt /*'nofileignorecase'*
|
||||
'nofk' options.txt /*'nofk'*
|
||||
'nofkmap' options.txt /*'nofkmap'*
|
||||
'nofoldenable' options.txt /*'nofoldenable'*
|
||||
@@ -653,6 +659,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'nottybuiltin' options.txt /*'nottybuiltin'*
|
||||
'nottyfast' options.txt /*'nottyfast'*
|
||||
'notx' options.txt /*'notx'*
|
||||
'noudf' options.txt /*'noudf'*
|
||||
'noundofile' options.txt /*'noundofile'*
|
||||
'novb' options.txt /*'novb'*
|
||||
'novice' vi_diff.txt /*'novice'*
|
||||
'novisualbell' options.txt /*'novisualbell'*
|
||||
@@ -732,9 +740,11 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'quote motion.txt /*'quote*
|
||||
'quoteescape' options.txt /*'quoteescape'*
|
||||
'rdt' options.txt /*'rdt'*
|
||||
're' options.txt /*'re'*
|
||||
'readonly' options.txt /*'readonly'*
|
||||
'redraw' vi_diff.txt /*'redraw'*
|
||||
'redrawtime' options.txt /*'redrawtime'*
|
||||
'regexpengine' options.txt /*'regexpengine'*
|
||||
'relativenumber' options.txt /*'relativenumber'*
|
||||
'remap' options.txt /*'remap'*
|
||||
'report' options.txt /*'report'*
|
||||
@@ -964,6 +974,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
't_te' term.txt /*'t_te'*
|
||||
't_ti' term.txt /*'t_ti'*
|
||||
't_ts' term.txt /*'t_ts'*
|
||||
't_u7' term.txt /*'t_u7'*
|
||||
't_ue' term.txt /*'t_ue'*
|
||||
't_us' term.txt /*'t_us'*
|
||||
't_ut' term.txt /*'t_ut'*
|
||||
@@ -1384,6 +1395,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
/\ pattern.txt /*\/\\*
|
||||
/\$ pattern.txt /*\/\\$*
|
||||
/\%# pattern.txt /*\/\\%#*
|
||||
/\%#= pattern.txt /*\/\\%#=*
|
||||
/\%$ pattern.txt /*\/\\%$*
|
||||
/\%'m pattern.txt /*\/\\%'m*
|
||||
/\%( pattern.txt /*\/\\%(*
|
||||
@@ -1829,6 +1841,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:RmVimball pi_vimball.txt /*:RmVimball*
|
||||
:Sexplore pi_netrw.txt /*:Sexplore*
|
||||
:TOhtml syntax.txt /*:TOhtml*
|
||||
:TarDiff pi_tar.txt /*:TarDiff*
|
||||
:Texplore pi_netrw.txt /*:Texplore*
|
||||
:UseVimball pi_vimball.txt /*:UseVimball*
|
||||
:Vexplore pi_netrw.txt /*:Vexplore*
|
||||
@@ -2584,7 +2597,9 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:pwd editing.txt /*:pwd*
|
||||
:py if_pyth.txt /*:py*
|
||||
:py3 if_pyth.txt /*:py3*
|
||||
:py3do if_pyth.txt /*:py3do*
|
||||
:py3file if_pyth.txt /*:py3file*
|
||||
:pydo if_pyth.txt /*:pydo*
|
||||
:pyf if_pyth.txt /*:pyf*
|
||||
:pyfile if_pyth.txt /*:pyfile*
|
||||
:python if_pyth.txt /*:python*
|
||||
@@ -2863,6 +2878,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:syntax-enable syntax.txt /*:syntax-enable*
|
||||
:syntax-on syntax.txt /*:syntax-on*
|
||||
:syntax-reset syntax.txt /*:syntax-reset*
|
||||
:syntime syntax.txt /*:syntime*
|
||||
:t change.txt /*:t*
|
||||
:tN tagsrch.txt /*:tN*
|
||||
:tNext tagsrch.txt /*:tNext*
|
||||
@@ -4250,8 +4266,25 @@ E858 eval.txt /*E858*
|
||||
E859 eval.txt /*E859*
|
||||
E86 windows.txt /*E86*
|
||||
E860 eval.txt /*E860*
|
||||
E861 eval.txt /*E861*
|
||||
E862 eval.txt /*E862*
|
||||
E863 if_pyth.txt /*E863*
|
||||
E864 pattern.txt /*E864*
|
||||
E865 pattern.txt /*E865*
|
||||
E866 pattern.txt /*E866*
|
||||
E867 pattern.txt /*E867*
|
||||
E868 pattern.txt /*E868*
|
||||
E869 pattern.txt /*E869*
|
||||
E87 windows.txt /*E87*
|
||||
E870 pattern.txt /*E870*
|
||||
E871 pattern.txt /*E871*
|
||||
E872 pattern.txt /*E872*
|
||||
E873 pattern.txt /*E873*
|
||||
E874 pattern.txt /*E874*
|
||||
E875 pattern.txt /*E875*
|
||||
E876 pattern.txt /*E876*
|
||||
E877 pattern.txt /*E877*
|
||||
E878 pattern.txt /*E878*
|
||||
E879 syntax.txt /*E879*
|
||||
E88 windows.txt /*E88*
|
||||
E89 message.txt /*E89*
|
||||
E90 message.txt /*E90*
|
||||
@@ -4478,6 +4511,8 @@ TabLeave autocmd.txt /*TabLeave*
|
||||
Tcl if_tcl.txt /*Tcl*
|
||||
TermChanged autocmd.txt /*TermChanged*
|
||||
TermResponse autocmd.txt /*TermResponse*
|
||||
TextChanged autocmd.txt /*TextChanged*
|
||||
TextChangedI autocmd.txt /*TextChangedI*
|
||||
Transact-SQL ft_sql.txt /*Transact-SQL*
|
||||
U undo.txt /*U*
|
||||
UTF-8 mbyte.txt /*UTF-8*
|
||||
@@ -4768,7 +4803,8 @@ aw motion.txt /*aw*
|
||||
a{ motion.txt /*a{*
|
||||
a} motion.txt /*a}*
|
||||
b motion.txt /*b*
|
||||
b:changedtick-variable eval.txt /*b:changedtick-variable*
|
||||
b: eval.txt /*b:*
|
||||
b:changedtick eval.txt /*b:changedtick*
|
||||
b:changelog_name filetype.txt /*b:changelog_name*
|
||||
b:current_syntax-variable syntax.txt /*b:current_syntax-variable*
|
||||
b:netrw_lastfile pi_netrw.txt /*b:netrw_lastfile*
|
||||
@@ -5032,6 +5068,7 @@ clipboard-exclude options.txt /*clipboard-exclude*
|
||||
clipboard-html options.txt /*clipboard-html*
|
||||
clipboard-unnamed options.txt /*clipboard-unnamed*
|
||||
clipboard-unnamedplus options.txt /*clipboard-unnamedplus*
|
||||
clojure-indent indent.txt /*clojure-indent*
|
||||
cmdarg-variable eval.txt /*cmdarg-variable*
|
||||
cmdbang-variable eval.txt /*cmdbang-variable*
|
||||
cmdline-arguments vi_diff.txt /*cmdline-arguments*
|
||||
@@ -5180,6 +5217,7 @@ cpo-w options.txt /*cpo-w*
|
||||
cpo-x options.txt /*cpo-x*
|
||||
cpo-y options.txt /*cpo-y*
|
||||
cpo-{ options.txt /*cpo-{*
|
||||
cpp.vim syntax.txt /*cpp.vim*
|
||||
crash-recovery recover.txt /*crash-recovery*
|
||||
creating-menus gui.txt /*creating-menus*
|
||||
credits intro.txt /*credits*
|
||||
@@ -5653,8 +5691,10 @@ ft-ch-syntax syntax.txt /*ft-ch-syntax*
|
||||
ft-changelog-plugin filetype.txt /*ft-changelog-plugin*
|
||||
ft-changelog-syntax syntax.txt /*ft-changelog-syntax*
|
||||
ft-chill-syntax syntax.txt /*ft-chill-syntax*
|
||||
ft-clojure-indent indent.txt /*ft-clojure-indent*
|
||||
ft-cobol-syntax syntax.txt /*ft-cobol-syntax*
|
||||
ft-coldfusion-syntax syntax.txt /*ft-coldfusion-syntax*
|
||||
ft-cpp-syntax syntax.txt /*ft-cpp-syntax*
|
||||
ft-csh-syntax syntax.txt /*ft-csh-syntax*
|
||||
ft-css-omni insert.txt /*ft-css-omni*
|
||||
ft-cweb-syntax syntax.txt /*ft-cweb-syntax*
|
||||
@@ -5678,6 +5718,7 @@ ft-gitcommit-plugin filetype.txt /*ft-gitcommit-plugin*
|
||||
ft-groff-syntax syntax.txt /*ft-groff-syntax*
|
||||
ft-gsp-syntax syntax.txt /*ft-gsp-syntax*
|
||||
ft-haskell-syntax syntax.txt /*ft-haskell-syntax*
|
||||
ft-html-indent indent.txt /*ft-html-indent*
|
||||
ft-html-omni insert.txt /*ft-html-omni*
|
||||
ft-html-syntax syntax.txt /*ft-html-syntax*
|
||||
ft-htmlos-syntax syntax.txt /*ft-htmlos-syntax*
|
||||
@@ -5792,6 +5833,7 @@ g, motion.txt /*g,*
|
||||
g- undo.txt /*g-*
|
||||
g0 motion.txt /*g0*
|
||||
g8 various.txt /*g8*
|
||||
g: eval.txt /*g:*
|
||||
g:NetrwTopLvlMenu pi_netrw.txt /*g:NetrwTopLvlMenu*
|
||||
g:Netrw_corehandler pi_netrw.txt /*g:Netrw_corehandler*
|
||||
g:Netrw_funcref pi_netrw.txt /*g:Netrw_funcref*
|
||||
@@ -5817,6 +5859,12 @@ g:ada_space_errors ft_ada.txt /*g:ada_space_errors*
|
||||
g:ada_standard_types ft_ada.txt /*g:ada_standard_types*
|
||||
g:ada_with_gnat_project_files ft_ada.txt /*g:ada_with_gnat_project_files*
|
||||
g:ada_withuse_ordinary ft_ada.txt /*g:ada_withuse_ordinary*
|
||||
g:clojure_align_multiline_strings indent.txt /*g:clojure_align_multiline_strings*
|
||||
g:clojure_fuzzy_indent indent.txt /*g:clojure_fuzzy_indent*
|
||||
g:clojure_fuzzy_indent_blacklist indent.txt /*g:clojure_fuzzy_indent_blacklist*
|
||||
g:clojure_fuzzy_indent_patterns indent.txt /*g:clojure_fuzzy_indent_patterns*
|
||||
g:clojure_maxlines indent.txt /*g:clojure_maxlines*
|
||||
g:clojure_special_indent_words indent.txt /*g:clojure_special_indent_words*
|
||||
g:colors_name options.txt /*g:colors_name*
|
||||
g:decada ft_ada.txt /*g:decada*
|
||||
g:decada.Error_Format ft_ada.txt /*g:decada.Error_Format*
|
||||
@@ -5861,6 +5909,7 @@ g:html_whole_filler syntax.txt /*g:html_whole_filler*
|
||||
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*
|
||||
g:netrw_bannerbackslash pi_netrw.txt /*g:netrw_bannerbackslash*
|
||||
g:netrw_browse_split pi_netrw.txt /*g:netrw_browse_split*
|
||||
g:netrw_browsex_viewer pi_netrw.txt /*g:netrw_browsex_viewer*
|
||||
g:netrw_bufsettings pi_netrw.txt /*g:netrw_bufsettings*
|
||||
@@ -5949,6 +5998,8 @@ g:tar_readoptions pi_tar.txt /*g:tar_readoptions*
|
||||
g:tar_secure pi_tar.txt /*g:tar_secure*
|
||||
g:tar_writeoptions pi_tar.txt /*g:tar_writeoptions*
|
||||
g:tex_conceal syntax.txt /*g:tex_conceal*
|
||||
g:tex_fast syntax.txt /*g:tex_fast*
|
||||
g:tex_flavor filetype.txt /*g:tex_flavor*
|
||||
g:tex_isk syntax.txt /*g:tex_isk*
|
||||
g:var eval.txt /*g:var*
|
||||
g:vimball_home pi_vimball.txt /*g:vimball_home*
|
||||
@@ -6150,6 +6201,7 @@ gui_w16.txt gui_w16.txt /*gui_w16.txt*
|
||||
gui_w32.txt gui_w32.txt /*gui_w32.txt*
|
||||
gui_x11.txt gui_x11.txt /*gui_x11.txt*
|
||||
guifontwide_gtk2 options.txt /*guifontwide_gtk2*
|
||||
guifontwide_win_mbyte options.txt /*guifontwide_win_mbyte*
|
||||
guioptions_a options.txt /*guioptions_a*
|
||||
guu change.txt /*guu*
|
||||
gv visual.txt /*gv*
|
||||
@@ -6293,6 +6345,8 @@ howto.txt howto.txt /*howto.txt*
|
||||
hpterm term.txt /*hpterm*
|
||||
hpterm-color syntax.txt /*hpterm-color*
|
||||
html-flavor insert.txt /*html-flavor*
|
||||
html-indent indent.txt /*html-indent*
|
||||
html-indenting indent.txt /*html-indenting*
|
||||
html.vim syntax.txt /*html.vim*
|
||||
htmlos.vim syntax.txt /*htmlos.vim*
|
||||
http pi_netrw.txt /*http*
|
||||
@@ -6551,6 +6605,7 @@ keypad-point intro.txt /*keypad-point*
|
||||
keys() eval.txt /*keys()*
|
||||
known-bugs todo.txt /*known-bugs*
|
||||
l motion.txt /*l*
|
||||
l: eval.txt /*l:*
|
||||
l:var eval.txt /*l:var*
|
||||
lCursor mbyte.txt /*lCursor*
|
||||
lace.vim syntax.txt /*lace.vim*
|
||||
@@ -6619,6 +6674,7 @@ lua-buffer if_lua.txt /*lua-buffer*
|
||||
lua-commands if_lua.txt /*lua-commands*
|
||||
lua-dict if_lua.txt /*lua-dict*
|
||||
lua-eval if_lua.txt /*lua-eval*
|
||||
lua-funcref if_lua.txt /*lua-funcref*
|
||||
lua-list if_lua.txt /*lua-list*
|
||||
lua-luaeval if_lua.txt /*lua-luaeval*
|
||||
lua-vim if_lua.txt /*lua-vim*
|
||||
@@ -6658,6 +6714,7 @@ map-listing map.txt /*map-listing*
|
||||
map-modes map.txt /*map-modes*
|
||||
map-multibyte map.txt /*map-multibyte*
|
||||
map-overview map.txt /*map-overview*
|
||||
map-precedence map.txt /*map-precedence*
|
||||
map-self-destroy tips.txt /*map-self-destroy*
|
||||
map-typing map.txt /*map-typing*
|
||||
map-which-keys map.txt /*map-which-keys*
|
||||
@@ -6685,6 +6742,7 @@ mapmode-s map.txt /*mapmode-s*
|
||||
mapmode-v map.txt /*mapmode-v*
|
||||
mapmode-x map.txt /*mapmode-x*
|
||||
mapping map.txt /*mapping*
|
||||
mapping-functions usr_41.txt /*mapping-functions*
|
||||
mark motion.txt /*mark*
|
||||
mark-functions usr_41.txt /*mark-functions*
|
||||
mark-motions motion.txt /*mark-motions*
|
||||
@@ -6796,6 +6854,7 @@ mzscheme-buffer if_mzsch.txt /*mzscheme-buffer*
|
||||
mzscheme-commands if_mzsch.txt /*mzscheme-commands*
|
||||
mzscheme-dynamic if_mzsch.txt /*mzscheme-dynamic*
|
||||
mzscheme-examples if_mzsch.txt /*mzscheme-examples*
|
||||
mzscheme-funcref if_mzsch.txt /*mzscheme-funcref*
|
||||
mzscheme-mzeval if_mzsch.txt /*mzscheme-mzeval*
|
||||
mzscheme-sandbox if_mzsch.txt /*mzscheme-sandbox*
|
||||
mzscheme-threads if_mzsch.txt /*mzscheme-threads*
|
||||
@@ -6840,7 +6899,8 @@ netrw-O pi_netrw.txt /*netrw-O*
|
||||
netrw-P pi_netrw.txt /*netrw-P*
|
||||
netrw-R pi_netrw.txt /*netrw-R*
|
||||
netrw-S pi_netrw.txt /*netrw-S*
|
||||
netrw-T pi_netrw.txt /*netrw-T*
|
||||
netrw-Tb pi_netrw.txt /*netrw-Tb*
|
||||
netrw-Th pi_netrw.txt /*netrw-Th*
|
||||
netrw-U pi_netrw.txt /*netrw-U*
|
||||
netrw-X pi_netrw.txt /*netrw-X*
|
||||
netrw-a pi_netrw.txt /*netrw-a*
|
||||
@@ -6909,6 +6969,7 @@ netrw-listbookmark pi_netrw.txt /*netrw-listbookmark*
|
||||
netrw-listhack pi_netrw.txt /*netrw-listhack*
|
||||
netrw-login pi_netrw.txt /*netrw-login*
|
||||
netrw-mB pi_netrw.txt /*netrw-mB*
|
||||
netrw-mF pi_netrw.txt /*netrw-mF*
|
||||
netrw-mT pi_netrw.txt /*netrw-mT*
|
||||
netrw-mb pi_netrw.txt /*netrw-mb*
|
||||
netrw-mc pi_netrw.txt /*netrw-mc*
|
||||
@@ -6963,6 +7024,7 @@ netrw-prvwin pi_netrw.txt /*netrw-prvwin*
|
||||
netrw-pscp pi_netrw.txt /*netrw-pscp*
|
||||
netrw-psftp pi_netrw.txt /*netrw-psftp*
|
||||
netrw-putty pi_netrw.txt /*netrw-putty*
|
||||
netrw-qF pi_netrw.txt /*netrw-qF*
|
||||
netrw-qb pi_netrw.txt /*netrw-qb*
|
||||
netrw-qf pi_netrw.txt /*netrw-qf*
|
||||
netrw-quickcom pi_netrw.txt /*netrw-quickcom*
|
||||
@@ -7106,6 +7168,7 @@ notation intro.txt /*notation*
|
||||
notepad gui_w32.txt /*notepad*
|
||||
nr2char() eval.txt /*nr2char()*
|
||||
nroff.vim syntax.txt /*nroff.vim*
|
||||
number_relativenumber options.txt /*number_relativenumber*
|
||||
numbered-function eval.txt /*numbered-function*
|
||||
o insert.txt /*o*
|
||||
o_CTRL-V motion.txt /*o_CTRL-V*
|
||||
@@ -7292,9 +7355,17 @@ put-Visual-mode change.txt /*put-Visual-mode*
|
||||
py3eval() eval.txt /*py3eval()*
|
||||
pyeval() eval.txt /*pyeval()*
|
||||
python if_pyth.txt /*python*
|
||||
python-.locked if_pyth.txt /*python-.locked*
|
||||
python-Dictionary if_pyth.txt /*python-Dictionary*
|
||||
python-Function if_pyth.txt /*python-Function*
|
||||
python-List if_pyth.txt /*python-List*
|
||||
python-VIM_SPECIAL_PATH if_pyth.txt /*python-VIM_SPECIAL_PATH*
|
||||
python-_get_paths if_pyth.txt /*python-_get_paths*
|
||||
python-bindeval if_pyth.txt /*python-bindeval*
|
||||
python-bindeval-objects if_pyth.txt /*python-bindeval-objects*
|
||||
python-buffer if_pyth.txt /*python-buffer*
|
||||
python-buffers if_pyth.txt /*python-buffers*
|
||||
python-chdir if_pyth.txt /*python-chdir*
|
||||
python-command if_pyth.txt /*python-command*
|
||||
python-commands if_pyth.txt /*python-commands*
|
||||
python-current if_pyth.txt /*python-current*
|
||||
@@ -7302,15 +7373,29 @@ python-dynamic if_pyth.txt /*python-dynamic*
|
||||
python-error if_pyth.txt /*python-error*
|
||||
python-eval if_pyth.txt /*python-eval*
|
||||
python-examples if_pyth.txt /*python-examples*
|
||||
python-fchdir if_pyth.txt /*python-fchdir*
|
||||
python-find_module if_pyth.txt /*python-find_module*
|
||||
python-foreach_rtp if_pyth.txt /*python-foreach_rtp*
|
||||
python-input if_pyth.txt /*python-input*
|
||||
python-options if_pyth.txt /*python-options*
|
||||
python-output if_pyth.txt /*python-output*
|
||||
python-path_hook if_pyth.txt /*python-path_hook*
|
||||
python-pyeval if_pyth.txt /*python-pyeval*
|
||||
python-range if_pyth.txt /*python-range*
|
||||
python-special-path if_pyth.txt /*python-special-path*
|
||||
python-strwidth if_pyth.txt /*python-strwidth*
|
||||
python-tabpage if_pyth.txt /*python-tabpage*
|
||||
python-tabpages if_pyth.txt /*python-tabpages*
|
||||
python-vars if_pyth.txt /*python-vars*
|
||||
python-vim if_pyth.txt /*python-vim*
|
||||
python-vvars if_pyth.txt /*python-vvars*
|
||||
python-window if_pyth.txt /*python-window*
|
||||
python-windows if_pyth.txt /*python-windows*
|
||||
python.vim syntax.txt /*python.vim*
|
||||
python2-directory if_pyth.txt /*python2-directory*
|
||||
python3 if_pyth.txt /*python3*
|
||||
python3-directory if_pyth.txt /*python3-directory*
|
||||
pythonx-directory if_pyth.txt /*pythonx-directory*
|
||||
q repeat.txt /*q*
|
||||
q/ cmdline.txt /*q\/*
|
||||
q: cmdline.txt /*q:*
|
||||
@@ -7481,6 +7566,8 @@ save-file editing.txt /*save-file*
|
||||
save-settings starting.txt /*save-settings*
|
||||
scheme.vim syntax.txt /*scheme.vim*
|
||||
scp pi_netrw.txt /*scp*
|
||||
screenattr() eval.txt /*screenattr()*
|
||||
screenchar() eval.txt /*screenchar()*
|
||||
screencol() eval.txt /*screencol()*
|
||||
screenrow() eval.txt /*screenrow()*
|
||||
script usr_41.txt /*script*
|
||||
@@ -7551,6 +7638,7 @@ sgr-mouse options.txt /*sgr-mouse*
|
||||
sh-awk syntax.txt /*sh-awk*
|
||||
sh-embed syntax.txt /*sh-embed*
|
||||
sh.vim syntax.txt /*sh.vim*
|
||||
sha256() eval.txt /*sha256()*
|
||||
shell-window tips.txt /*shell-window*
|
||||
shell_error-variable eval.txt /*shell_error-variable*
|
||||
shellescape() eval.txt /*shellescape()*
|
||||
@@ -7818,6 +7906,7 @@ system-functions usr_41.txt /*system-functions*
|
||||
system-vimrc starting.txt /*system-vimrc*
|
||||
s~ change.txt /*s~*
|
||||
t motion.txt /*t*
|
||||
t: eval.txt /*t:*
|
||||
t:var eval.txt /*t:var*
|
||||
t_#2 term.txt /*t_#2*
|
||||
t_#4 term.txt /*t_#4*
|
||||
@@ -7962,6 +8051,7 @@ t_ti term.txt /*t_ti*
|
||||
t_tp version4.txt /*t_tp*
|
||||
t_ts term.txt /*t_ts*
|
||||
t_ts_old version4.txt /*t_ts_old*
|
||||
t_u7 term.txt /*t_u7*
|
||||
t_ue term.txt /*t_ue*
|
||||
t_undo version4.txt /*t_undo*
|
||||
t_us term.txt /*t_us*
|
||||
@@ -8132,6 +8222,7 @@ try-nested eval.txt /*try-nested*
|
||||
try-nesting eval.txt /*try-nesting*
|
||||
tutor usr_01.txt /*tutor*
|
||||
twice if_cscop.txt /*twice*
|
||||
two-engines pattern.txt /*two-engines*
|
||||
type() eval.txt /*type()*
|
||||
type-mistakes tips.txt /*type-mistakes*
|
||||
typecorr-settings usr_41.txt /*typecorr-settings*
|
||||
@@ -8212,6 +8303,7 @@ utf-8-in-xwindows mbyte.txt /*utf-8-in-xwindows*
|
||||
utf-8-typing mbyte.txt /*utf-8-typing*
|
||||
utf8 mbyte.txt /*utf8*
|
||||
v visual.txt /*v*
|
||||
v: eval.txt /*v:*
|
||||
v:beval_bufnr eval.txt /*v:beval_bufnr*
|
||||
v:beval_col eval.txt /*v:beval_col*
|
||||
v:beval_lnum eval.txt /*v:beval_lnum*
|
||||
@@ -8505,6 +8597,7 @@ vt100-function-keys term.txt /*vt100-function-keys*
|
||||
w motion.txt /*w*
|
||||
w32-clientserver remote.txt /*w32-clientserver*
|
||||
w32-xpm-support gui_w32.txt /*w32-xpm-support*
|
||||
w: eval.txt /*w:*
|
||||
w:current_syntax syntax.txt /*w:current_syntax*
|
||||
w:quickfix_title quickfix.txt /*w:quickfix_title*
|
||||
w:var eval.txt /*w:var*
|
||||
@@ -8513,6 +8606,7 @@ white-space pattern.txt /*white-space*
|
||||
whitespace pattern.txt /*whitespace*
|
||||
wildcard editing.txt /*wildcard*
|
||||
wildcards editing.txt /*wildcards*
|
||||
wildmenumode() eval.txt /*wildmenumode()*
|
||||
win16-!start gui_w16.txt /*win16-!start*
|
||||
win16-clipboard gui_w16.txt /*win16-clipboard*
|
||||
win16-colors gui_w16.txt /*win16-colors*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*term.txt* For Vim version 7.3. Last change: 2011 Feb 16
|
||||
*term.txt* For Vim version 7.3. Last change: 2013 Mar 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -294,6 +294,8 @@ Added by Vim (there are no standard codes for these):
|
||||
|termcap-cursor-shape|
|
||||
t_RV request terminal version string (for xterm) *t_RV* *'t_RV'*
|
||||
|xterm-8bit| |v:termresponse| |'ttymouse'| |xterm-codes|
|
||||
t_u7 request cursor position (for xterm) *t_u7* *'t_u7'*
|
||||
see |'ambiwidth'|
|
||||
|
||||
KEY CODES
|
||||
Note: Use the <> form if possible
|
||||
@@ -326,7 +328,7 @@ Note: Use the <> form if possible
|
||||
t_k8 <F8> function key 8 *<F8>* *t_k8* *'t_k8'*
|
||||
t_k9 <F9> function key 9 *<F9>* *t_k9* *'t_k9'*
|
||||
t_k; <F10> function key 10 *<F10>* *t_k;* *'t_k;'*
|
||||
t_F1 <F11> function key 11 *<F11>* *t_F1* *'t_F1'*
|
||||
t_F1 <F11> function key 11 *<F11>* *t_F1* *'t_F1'*
|
||||
t_F2 <F12> function key 12 *<F12>* *t_F2* *'t_F2'*
|
||||
t_F3 <F13> function key 13 *<F13>* *t_F3* *'t_F3'*
|
||||
t_F4 <F14> function key 14 *<F14>* *t_F4* *'t_F4'*
|
||||
@@ -356,9 +358,9 @@ Note: Use the <> form if possible
|
||||
t_kI <Insert> insert key *t_kI* *'t_kI'*
|
||||
t_kD <Del> delete key *t_kD* *'t_kD'*
|
||||
t_kb <BS> backspace key *t_kb* *'t_kb'*
|
||||
t_kB <S-Tab> back-tab (shift-tab) *<S-Tab>* *t_kB* *'t_kB'*
|
||||
t_kB <S-Tab> back-tab (shift-tab) *<S-Tab>* *t_kB* *'t_kB'*
|
||||
t_kh <Home> home key *t_kh* *'t_kh'*
|
||||
t_#2 <S-Home> shifted home key *<S-Home>* *t_#2* *'t_#2'*
|
||||
t_#2 <S-Home> shifted home key *<S-Home>* *t_#2* *'t_#2'*
|
||||
<xHome> alternate home key *<xHome>*
|
||||
t_@7 <End> end key *t_@7* *'t_@7'*
|
||||
t_*7 <S-End> shifted end key *<S-End>* *t_star7* *'t_star7'*
|
||||
@@ -371,8 +373,8 @@ Note: Use the <> form if possible
|
||||
t_K5 <kPageDown> keypad page-down key *t_K5* *'t_K5'*
|
||||
t_K6 <kPlus> keypad plus key *<kPlus>* *t_K6* *'t_K6'*
|
||||
t_K7 <kMinus> keypad minus key *<kMinus>* *t_K7* *'t_K7'*
|
||||
t_K8 <kDivide> keypad divide *<kDivide>* *t_K8* *'t_K8'*
|
||||
t_K9 <kMultiply> keypad multiply *<kMultiply>* *t_K9* *'t_K9'*
|
||||
t_K8 <kDivide> keypad divide *<kDivide>* *t_K8* *'t_K8'*
|
||||
t_K9 <kMultiply> keypad multiply *<kMultiply>* *t_K9* *'t_K9'*
|
||||
t_KA <kEnter> keypad enter key *<kEnter>* *t_KA* *'t_KA'*
|
||||
t_KB <kPoint> keypad decimal point *<kPoint>* *t_KB* *'t_KB'*
|
||||
t_KC <k0> keypad 0 *<k0>* *t_KC* *'t_KC'*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 7.3. Last change: 2013 Jan 30
|
||||
*todo.txt* For Vim version 7.3. Last change: 2013 Jun 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -34,6 +34,83 @@ not be repeated below, unless there is extra information.
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
--- Python interface
|
||||
|
||||
Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
|
||||
|
||||
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: 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().
|
||||
|
||||
Python SystemExit exception is not handled properly. Patch to catch the
|
||||
exception and give an error. (Yasuhiro Matsumoto)
|
||||
Does not work, tests fail.
|
||||
|
||||
--- bug fixes
|
||||
|
||||
Do allow real tags above the !_TAG entries. Undo older patch. Issue 90.
|
||||
|
||||
Matches might be highlighted correctly. Inefficient patch by Christian
|
||||
Brabandt, 2013 Feb 26.
|
||||
|
||||
Patch to use bold/italic fonts when 'guifontewide' is set. (Ken Takata, 2013
|
||||
Mar 31)
|
||||
|
||||
Problem with winfixheight and resizing. (Yukihiro Nakadaira, 2011 Sep 17)
|
||||
Patch Sep 18.
|
||||
|
||||
Patch for IME problems. Remove hacking code for old IM. (Yukihiro Nakadaira,
|
||||
2012 Jul 20)
|
||||
|
||||
Patch to fix finding toolbar bitmaps. Issue 129.
|
||||
|
||||
Suggestion to remove __QNXNTO__ in gui.c. (Sean Boudreau, 2013 Jun 7)
|
||||
|
||||
Combining characters are not used when executing a register with :@w.
|
||||
(William Fugh, 2013 Apr 5, more info from Ben Fritz)
|
||||
Patch by Christian Brabandt, 2013 Apr 6. Second one.
|
||||
|
||||
MS-Windows ACL support doesn't work well. Patch from Ken Takata, 2012 Aug 29.
|
||||
Update Aug 31.
|
||||
Another patch for MingW, 2012 Dec 29.
|
||||
|
||||
Bug in completion menu. (Olivier Teuliere, 2013 Feb 15)
|
||||
Patch by Christian Brabandt, Feb 16.
|
||||
|
||||
Issue 134: pasting in visual selection in empty buffer.
|
||||
Patch by Christian Brabandt, 2013 May 22.
|
||||
|
||||
Patch to fix "gn" on single character matches. (Christian Brabandt, 2013 Jun
|
||||
2)
|
||||
|
||||
Patch for cscope connection (Narendran, 2013 Jun 10)
|
||||
|
||||
'cursorline' is drawn incorrectly in diff mode. Patch by Christian Brabandt,
|
||||
2012 Apr 2.
|
||||
|
||||
When someone does a silly thing such as setting rows and columns to 65535,
|
||||
handle the out-of-memory and set them to sane values? (jimmywang, 2013 May 17)
|
||||
|
||||
InsertEnter doesn't prevent the cursor from moving when it goes to another
|
||||
line.
|
||||
|
||||
":diffoff" does not restore options from before starting diff mode.
|
||||
Patch by Christian Brabandt, 2013 May 26.
|
||||
|
||||
Can't use multi-byte fill character in custom status line.
|
||||
Patch by Christian Wellenbrock, 2013 Jun 2. Update Jun 3 (second one).
|
||||
|
||||
Patch to fix glob() and globpath() with escaped special characters.
|
||||
(Adnan Zafar, 2013 Jun 2, tests Jun 3)
|
||||
|
||||
---- Fixes to be included before 7.4 above, less important stuff below ----
|
||||
|
||||
Patch to make has() check for Vim version and patch at the same time.
|
||||
(Marc Weber, 2013 Jun 7)
|
||||
|
||||
Several syntax file match "^\s*" which may get underlined if that's in the
|
||||
highlight group. Add a "\zs" after it?
|
||||
|
||||
@@ -43,6 +120,9 @@ Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
|
||||
|
||||
Checking runtime scripts: Thilo Six, 2012 Jun 6.
|
||||
|
||||
Fold can't be opened after ":move". (Ein Brown)
|
||||
Patch from Christian Brabandt doesn't fix it completely.
|
||||
|
||||
GTK: problem with 'L' in 'guioptions' changing the window width.
|
||||
(Aaron Cornelius, 2012 Feb 6)
|
||||
|
||||
@@ -52,56 +132,48 @@ The CompleteDone autocommand needs some info passed to it:
|
||||
- The word that was selected (empty if abandoned complete)
|
||||
- Type of completion: tag, omnifunc, user func.
|
||||
|
||||
Patch for mzscheme. (Sergey Khorev, 2012 Nov 19)
|
||||
Updated patch 2013 Jan 28.
|
||||
|
||||
Patch to fix :s command with confirm and typing "a". (Christian Brabandt, 2012
|
||||
Oct 28)
|
||||
|
||||
/[^\n] does match at a line break. Expected to do the same as /.
|
||||
Patch by Christian Brabandt, 2012 Dec 1.
|
||||
Test files in archive in another message.
|
||||
|
||||
Patch to make multibyte input work on Win32 console when codepage differs from
|
||||
'encoding'. (Ken Takata, 2012 Sep 29)
|
||||
|
||||
Patch for building with Ruby and Cygwin. (Ken Takata, 2013 Jan 9)
|
||||
|
||||
Patch to make 'relativenumber' show the current lnum instead of zero.
|
||||
(Nazri Ramliy, 2013 Jan 29)
|
||||
|
||||
It's possible to define an input() function that overrides the built-in one.
|
||||
(ZyX, 2012 Sep 28)
|
||||
|
||||
Patch to add sha256() function. (Tyru, 2013 Jan 8)
|
||||
|
||||
Patch to make pyeval() print error messages. (ZyX, 2013 Jan 12)
|
||||
Using ":call foo#d.f()" doesn't autoload the "foo.vim" file.
|
||||
That is, calling a dictionary function on an autoloaded dict.
|
||||
Works OK for echo, just not for ":call" and ":call call()". (Ted, 2011 Mar
|
||||
17)
|
||||
Patch by Christian Brabandt, 2013 Mar 23.
|
||||
Not 100% sure this is the right solution.
|
||||
|
||||
Win32: When a directory name contains an exclamation mark, completion doesn't
|
||||
complete the contents of the directory. No escaping for the "!"? (Jan
|
||||
Stocker, 2012 Jan 5)
|
||||
|
||||
Patch for Win32 clipboard under Cygwin. (Frodak Baksik, Feb 15)
|
||||
Sutcliffe says it works well.
|
||||
Update 2007 May 22 for Vim 7.1
|
||||
Update 2008 Dec 2008 for Vim 7.2.xx (Sharonov)
|
||||
Update by Ken Takata (2012 Dec 31, 2013 Jan 4, 2013 Jan 26)
|
||||
|
||||
Problem parsing expression with function(). (Andy Wokula, 2012 Nov 22)
|
||||
Patch by Christian Brabandt, Nov 22. Tests in another patch, Nov 23.
|
||||
|
||||
Patch to add default value to getbufvar() et al. (Hirohito Higashi, 2013 Jan 1)
|
||||
Patch to 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 fix compiler warnings for MingW 4.5.3. (Ken Takata, 2013 Jan 26)
|
||||
Patch to fix that 'cedit' is recognized after :normal. (Christian Brabandt,
|
||||
2013 Mar 19, later message)
|
||||
|
||||
Do allow real tags above the !_TAG entries. Undo older patch. Issue 90.
|
||||
Patch to view coverage of the tests. (Nazri Ramliy, 2013 Feb 15)
|
||||
|
||||
Patch to invert characters differently in GTK. (Yukihiro Nakadaira, 2013 May
|
||||
5)
|
||||
|
||||
Bug with 'cursorline' in diff mode. Line being scrolled into view gets
|
||||
highlighted as the cursor line. (Alessandro Ivaldi, 2013 Jun 4)
|
||||
|
||||
Patch to add the bufferlist() function. (Yegappan Lakshmanan, 2013 May 5)
|
||||
May 17: with winlist() and tabpagelist().
|
||||
May 19: with local variables.
|
||||
May 28: with options
|
||||
|
||||
Patch to support 'u' in interactive substitute. (Christian Brabandt, 2012 Sep
|
||||
28) With tests: Oct 9.
|
||||
|
||||
Patch to allow setting w:quickfix_title via setqflist() and setloclist()
|
||||
functions. (Christian Brabandt, 2013 May 8, update May 21)
|
||||
Patch to add getlocstack() / setlocstack(). (Christian Brabandt, 2013 May 14)
|
||||
Second one. Update May 22.
|
||||
|
||||
Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec)
|
||||
|
||||
Patch for IME handling, adds 'imactivatefunc' and 'imstatusfunc' option.
|
||||
@@ -110,20 +182,24 @@ Patch to improve IME handling. (Yasuhiro Matsumoto, 2012 Jul 18)
|
||||
|
||||
Issue 54: document behavior of -complete, also expands arg.
|
||||
|
||||
New syntax files for apt. (quidame, 2012 Sep 21)
|
||||
- Add regex for 'paragraphs' and 'sections': 'parare' and 'sectre'. Combine
|
||||
the two into a regex for searching. (Ned Konz)
|
||||
Patch by Christian Brabandt, 2013 Apr 20, unfinished.
|
||||
|
||||
Bug: findfile("any", "http://;") returns http://any. (Andrew Pimlott, 2013 May
|
||||
7) Not sure if that can be fixed, but when using "file://" it should be
|
||||
possible to check if the file exists.
|
||||
|
||||
v:register is not directly reset to " after a delete command that specifies a
|
||||
register. It is reset after the next command. (Steve Vermeulen, 2013 Mar 16)
|
||||
|
||||
'ff' is wrong for one-line file without EOL. (Issue 77)
|
||||
|
||||
Patch for if_lua. (Luis Carvalho, 2012 Aug 26, update Aug 29, another Aug 30,
|
||||
then Sep 1, reminder Oct 14)
|
||||
Patch to set antialiasing style on Windows. (Ondrej Balaz, 2013 Mar 14)
|
||||
Needs a different check for CLEARTYPE_QUALITY.
|
||||
|
||||
Issue 72: 'autochdir' causes problems for :vimgrep.
|
||||
|
||||
Undo problem: line not removed as expected when using setline() from Insert
|
||||
mode. (Israel Chauca, 2010 May 13, more in second msg)
|
||||
Break undo when CTRL-R = changes the text? Or save more lines?
|
||||
Patch by Christian Brabandt, 2012 Nov 16.
|
||||
|
||||
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.
|
||||
@@ -131,9 +207,6 @@ a reboot.
|
||||
MS-Windows: Crash opening very long file name starting with "\\".
|
||||
(Christian Brock, 2012 Jun 29)
|
||||
|
||||
It's probably a good idea to make a negative value for 'sts' use the value of
|
||||
'sw'. Patch by So8res, Oct 3 2012
|
||||
|
||||
patch to add "combine" flag to syntax commands. (so8res, 2012 Dec 6)
|
||||
|
||||
Syntax update problem in one buffer opened in two windows, bottom window is
|
||||
@@ -147,10 +220,16 @@ Or use expand('<sid>')?
|
||||
|
||||
Patch to make confirm() display colors. (Christian Brabandt, 2012 Nov 9)
|
||||
|
||||
Patch to add functions for signs. (Christian Brabandt,, 2013 Jan 27)
|
||||
Patch to add functions for signs. (Christian Brabandt, 2013 Jan 27)
|
||||
|
||||
Patch to use directX to draw text on Windows. Adds the 'directx' option.
|
||||
(Taro Muraoka, 2013 Jan 25)
|
||||
Patch to use directX to draw text on Windows. Adds the 'renderoptions'
|
||||
option. (Taro Muraoka, 2013 Jan 25, update 2013 Apr 3, May 14)
|
||||
|
||||
Patch to add 'completeselect' option. Specifies how to select a candidate in
|
||||
insert completion. (Shougo, 2013 May 29)
|
||||
Update to add to existing 'completeopt'. 2013 May 30
|
||||
|
||||
Problem with refresh:always in completion. (Tyler Wade, 2013 Mar 17)
|
||||
|
||||
b:undo_ftplugin cannot call a script-local function. (Boris Danilov, 2013 Jan
|
||||
7)
|
||||
@@ -164,6 +243,9 @@ Patch to improve equivalence classes in regexp patterns.
|
||||
Patch with suggestions for starting.txt. (Tony Mechelynck, 2012 Oct 24)
|
||||
But use Gnome instead of GTK?
|
||||
|
||||
Patch to make FocusGained and FocusLost work in modern terminals. (Hayaki
|
||||
Saito, 2013 Apr 24)
|
||||
|
||||
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)
|
||||
@@ -171,9 +253,8 @@ 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?
|
||||
|
||||
MS-Windows ACL support doesn't work well. Patch from Ken Takata, 2012 Aug 29.
|
||||
Update Aug 31.
|
||||
Another patch for MingW, 2012 Dec 29.
|
||||
Patch to add ":ldo" and ":cdo", execute commands over quickfix list and
|
||||
location list. (Yegappan Lakshmanan, 2013 Jun 2)
|
||||
|
||||
MS-Windows resizing problems:
|
||||
- Windows window on screen positioning: Patch by Yukihiro Nakadaira, 2012 Jun
|
||||
@@ -184,7 +265,10 @@ MS-Windows resizing problems:
|
||||
|
||||
'iminsert' global value set when using ":setlocal iminsert"? (Wu, 2012 Jun 23)
|
||||
|
||||
Help for b:undo_indent'. (Thilo Six, 2012 May 28)
|
||||
Patch to append regexp to tag commands to make it possible to select one out
|
||||
of many matches. (Cody Cutler, 2013 Mar 28)
|
||||
|
||||
Help for 'b:undo_indent'. (Thilo Six, 2012 May 28)
|
||||
Also question if examples are correct.
|
||||
|
||||
It should be possible to make globpath() return a list instead of a string,
|
||||
@@ -218,23 +302,12 @@ When running Vim in silent ex mode, an existing swapfile causes Vim to wait
|
||||
for a user action without a prompt. (Maarten Billemont, 2012 Feb 3)
|
||||
Do give the prompt? Quit with an error?
|
||||
|
||||
Patch for 'backupcopy' default behavior for symlinks on Windows. (David Pope,
|
||||
2012 Mar 21, update Mar 31)
|
||||
With fix for memory leak: Ken Takata, 2012 Aug 24
|
||||
Another update Sep 24.
|
||||
|
||||
Patch to list user digraphs. (Christian Brabandt, 2012 Apr 14)
|
||||
|
||||
Patch for input method status. (Hirohito Higashi, 2012 Apr 18)
|
||||
|
||||
Patch to print the result of a :python command. (Maxim Philippov
|
||||
<philippovmi@gmail.com>, 2012 Aug 16) Update Aug 17.
|
||||
|
||||
Problem with winfixheight and resizing. (Yukihiro Nakadaira, 2011 Sep 17)
|
||||
Patch Sep 18.
|
||||
|
||||
Patch for IME problems. Remove hacking code for old IM. (Yukihiro Nakadaira,
|
||||
2012 Jul 20)
|
||||
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.
|
||||
@@ -244,9 +317,7 @@ And one for gui_x11.txt.
|
||||
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
|
||||
|
||||
Problem with starting Visual block mode with :norm when 'virtualedit' is set.
|
||||
(David glts, 2012 Jun 5)
|
||||
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)
|
||||
@@ -256,10 +327,9 @@ Problem with l: dictionary being locked in a function. (ZyX, 2011 Jul 21)
|
||||
|
||||
Should use has("browsefilter") in ftplugins. Requires patch 7.3.593.
|
||||
|
||||
Issue 48: foldopen error can't be caught by try/catch
|
||||
Update for vim2html.pl. (Tyru, 2013 Feb 22)
|
||||
|
||||
"dg_" deletes including the last character, "d:normal! g_" doesn't.
|
||||
(Nomen Nescio, 2012 Jun 27)
|
||||
Issue 48: foldopen error can't be caught by try/catch
|
||||
|
||||
Patch to sort functions starting with '<' after others. Omit dict functions,
|
||||
they can't be called. (Yasuhiro Matsumoto, 2011 Oct 11)
|
||||
@@ -272,16 +342,11 @@ Nov 20)
|
||||
Patch to improve GUI find/replace dialog. (Christian Brabandt, 2012 May 26)
|
||||
Update Jun 2.
|
||||
|
||||
Patch to add ":py3do". (Lilydjwg, 2012 Apr 7)
|
||||
|
||||
`] moves to character after insert, instead of the last inserted character.
|
||||
(Yukihiro Nakadaira, 2011 Dec 9)
|
||||
|
||||
Plugin for Modeleasy. (Massimiliano Tripoli, 2011 Nov 29)
|
||||
|
||||
Updated syntax file for ssh_config, maintainer doesn't respond.
|
||||
(Leonard Ehrenfried, 2011 Sep 26)
|
||||
|
||||
BufWinLeave triggers too late when quitting last window in a tab page. (Lech
|
||||
Lorens, 2012 Feb 21)
|
||||
|
||||
@@ -311,15 +376,9 @@ Syntax region with 'concealends' and a 'cchar' value, 'conceallevel' set to 2,
|
||||
only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
|
||||
21, Ben Fritz, 2010 Sep 14)
|
||||
|
||||
'cursorline' is drawn incorrectly in diff mode. Patch by Christian Brabandt,
|
||||
2012 Apr 2.
|
||||
|
||||
'cursorline' works on a text line only. Add 'cursorscreenline' for
|
||||
highlighting the screen line. (Christian Brabandt, 2012 Mar 31)
|
||||
|
||||
Win32: Does building a 64 bit version with VC9 give warnings for int
|
||||
conversions? (Mike Williams)
|
||||
|
||||
Win32: Patch to use task dialogs when available. (Sergiu Dotenco, 2011 Sep 17)
|
||||
New feature, requires testing. Made some remarks.
|
||||
|
||||
@@ -360,9 +419,6 @@ The error was 'RenderBadPicture (invalid Picture parameter)'.
|
||||
backtrace from your debugger if you break on the gdk_x_error() function.)
|
||||
Check that number of pixels doesn't go above 65535?
|
||||
|
||||
popup completion menu closes quickly when there is a fold in the buffer. (Jan
|
||||
Christoph Ebersbach, 2011 Jul 3)
|
||||
|
||||
Windows keys not set properly on Windows 7? (cncyber, 2010 Aug 26)
|
||||
|
||||
When using a Vim server, a # in the path causes an error message.
|
||||
@@ -387,12 +443,17 @@ Using ":break" or something else that stops executing commands inside a
|
||||
|
||||
Vim using lots of memory when joining lines. (John Little, 2010 Dec 3)
|
||||
|
||||
BT regexp engine: After trying a \@> match and failing, submatches are not
|
||||
cleared. See test64.
|
||||
|
||||
Changes to manpage plugin. (Elias Toivanen, 2011 Jul 25)
|
||||
|
||||
Patch to make "z=" work when 'spell' is off. Does this have nasty side
|
||||
effects? (Christian Brabandt, 2012 Aug 5)
|
||||
Would also need to do this for spellbadword() and spellsuggest().
|
||||
|
||||
Patch for variable tabstops.
|
||||
|
||||
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
|
||||
right type.
|
||||
@@ -402,11 +463,6 @@ string() can't parse back "inf" and "nan". Fix documentation or fix code?
|
||||
|
||||
Make 'formatprg' global-local. (Sung Pae)
|
||||
|
||||
When a buffer-local mapping is used, but a global mapping starts with the same
|
||||
characters, Vim currently waits for the next typed character to find out if
|
||||
the global mapping matches. It is probably better to let the local mapping
|
||||
win and not wait. (discussion with Andy Wokula, 2013 Jan 30)
|
||||
|
||||
When doing "redir => s:foo" in a script and then "redir END" somewhere else
|
||||
(e.g. in a function) it can't find s:foo.
|
||||
|
||||
@@ -517,6 +573,9 @@ Experimental patch by Christian Brabandt, 2012 Apr 19.
|
||||
Editing a file with a ^M with 'ff' set to "mac", opening a help file, then the
|
||||
^M is displayed as ^J sometimes. Getting 'ff' value from wrong window/buffer?
|
||||
|
||||
'colorcolumn' has higher priority than hlsearch. Should probably be the other
|
||||
way around. (Nazri Ramliy, 2013 Feb 19)
|
||||
|
||||
When Vim is put in the background (SIGTSTP) and then gets a SIGHUP it doesn't
|
||||
exit. It exists as soon as back in the foreground. (Stephen Liang, 2011 Jan
|
||||
9) Caused by vim_handle_signal(SIGNAL_BLOCK); in ui.c.
|
||||
@@ -527,8 +586,31 @@ the command line. (Ingo Karkat, 2011 Jan 25)
|
||||
Since patch 7.2.46 Yankring plugin has become very slow, eventually make Vim
|
||||
crash? (Raiwil, 2010 Nov 17)
|
||||
|
||||
Python: Adding line to buffer other than the current one doesn't work
|
||||
correctly. (Rozbujnik, 2010 Dec 19)
|
||||
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
|
||||
./vim -u NONE -s ~/vim/test/loop.vim
|
||||
./vim -u NONE -s ~/vim/test/alsa.vim
|
||||
./vim -s ~/vim/test/todo.vim
|
||||
./vim -s ~/vim/test/xml.vim
|
||||
Dominique Pelle: xmlSyncDT is particularly slow (Jun 7)
|
||||
- More test files from the src/pkg/regexp/testdata directory in the Go repo.
|
||||
- Performance tests:
|
||||
- Using asciidoc syntax. (Marek Schimara, 2013 Jun 6)
|
||||
- ~/vim/text/FeiqCfg.xml (file from Netjune)
|
||||
- ~/vim/text/edl.svg (also XML)
|
||||
- glts has five tests. (May 25)
|
||||
- ~/vim/test/slowsearch
|
||||
- ~/vim/test/rgb.vim
|
||||
- search for a.*e*exn in the vim executable. Go to last line to use
|
||||
'hlsearch'.
|
||||
- Slow combination of folding and PHP syntax highlighting. Script to
|
||||
reproduce it. Caused by "syntax sync fromstart" in combination with patch
|
||||
7.2.274. (Christian Brabandt, 2010 May 27) Generally, folding with
|
||||
'foldmethod' set to "syntax" is slow. Do profiling to find out why.
|
||||
|
||||
Patch to add 'systemencoding', convert between 'encoding' and this for file
|
||||
names, shell commands and the like. (Kikuchan, 2010 Oct 14)
|
||||
@@ -694,20 +776,11 @@ Problem with stop directory in findfile(). (Adam Simpkins, 2009 Aug 26)
|
||||
Using ']' as the end of a range in a pattern requires double escaping:
|
||||
/[@-\\]] (Andy Wokula, 2011 Jun 28)
|
||||
|
||||
Slow combination of folding and PHP syntax highlighting. Script to reproduce
|
||||
it. Caused by "syntax sync fromstart" in combination with patch 7.2.274.
|
||||
(Christian Brabandt, 2010 May 27)
|
||||
Generally, folding with 'foldmethod' set to "syntax" is slow. Do profiling to
|
||||
find out why.
|
||||
|
||||
Syntax priority problem. (Charles Campbell, 2011 Sep 15)
|
||||
|
||||
When completion inserts the first match, it may trigger the line to be folded.
|
||||
Disable updating folds while completion is active? (Peter Odding, 2010 Jun 9)
|
||||
|
||||
Using ":call foo#d.f()" doesn't autoload the "foo.vim" file. Works OK for
|
||||
echo, just not for ":call" and ":call call()". (Ted, 2011 Mar 17)
|
||||
|
||||
When a:base in 'completefunc' starts with a number it's passed as a number,
|
||||
not a string. (Sean Ma) Need to add flag to call_func_retlist() to force a
|
||||
string value.
|
||||
@@ -892,9 +965,6 @@ shellescape() depends on 'shellshash' for quoting. That doesn't work when
|
||||
Use a different option or let it depend on whether 'shell' looks like a
|
||||
unix-like shell?
|
||||
|
||||
Allow patches to add something to version.c, like with an official patch, so
|
||||
that :version output shows which patches have been applied.
|
||||
|
||||
Bug: in Ex mode (after "Q") backslash before line break, when yanked into a
|
||||
register and executed, results in <Nul>: instead of line break.
|
||||
(Konrad Schwarz, 2010 Apr 16)
|
||||
@@ -921,6 +991,7 @@ ATTENTION message? (Tony Mechelynck, 2008 Dec 1)
|
||||
Also: swap files are in ~/tmp/ One has relative file name ".mozilla/...".
|
||||
|
||||
Add v:motion_force. (Kana Natsuno, 2008 Dec 6)
|
||||
Maybe call it v:motiontype.
|
||||
|
||||
Runtime files for Clojure. (Toralf Wittner, 2008 Jun 25)
|
||||
|
||||
@@ -1041,6 +1112,14 @@ Oct 19) Check for "col" being "MAXCOL" separately?
|
||||
Unexpectedly inserting a double quote. (Anton Woellert, 2008 Mar 23)
|
||||
Works OK when 'cmdheight' is 2.
|
||||
|
||||
8 Use a mechanism similar to omni completion to figure out the kind of tab
|
||||
for CTRL-] and jump to the appropriate matching tag (if there are
|
||||
several).
|
||||
Alternative: be able to define a function that takes the tag name and uses
|
||||
taglist() to find the right location. With indication of using CTRL-] so
|
||||
that the context can be taken into account. (Robert Webb)
|
||||
Patch by Christian Brabandt, 2013 May 31.
|
||||
|
||||
Test54 should not use shell commands. Make it portable.
|
||||
|
||||
The utf class table is missing some entries:
|
||||
@@ -1108,18 +1187,6 @@ Would be more consistent when an existing tab is re-used. (Tony Mechelynck)
|
||||
|
||||
Add ":nofold". Range will apply without expanding to closed fold.
|
||||
|
||||
Including NFA regexp code:
|
||||
Use "\%#= to set the engine: 0 = automatic, 1 = backtracking, 2 = new.
|
||||
Useful in tests.
|
||||
Performance tests:
|
||||
- ~/vim/test/veryslow.js (file from Daniel Fetchinson)
|
||||
- ~/vim/test/slowsearch
|
||||
- ~/vim/test/rgb.vim
|
||||
- ~/vim/text/FeiqCfg.xml (file from Netjune)
|
||||
- ~/vim/text/edl.svg (also XML)
|
||||
- search for a.*e*exn in the vim executable. Go to last line to use
|
||||
'hlsearch'.
|
||||
|
||||
Using Aap to build Vim: add remarks about how to set personal preferences.
|
||||
Example on http://www.calmar.ws/tmp/aap.html
|
||||
|
||||
@@ -1352,9 +1419,6 @@ if_ruby.c.
|
||||
|
||||
":helpgrep" should use the directory from 'helpfile'.
|
||||
|
||||
Patch to dynamically load Python on Solaris. (Danek Duvall, 2009 Feb 16)
|
||||
Needs more work.
|
||||
|
||||
The need_fileinfo flag is messy. Instead make the message right away and put
|
||||
it in keep_msg?
|
||||
|
||||
@@ -1396,9 +1460,6 @@ When doing ":quit" the Netbeans "killed" event isn't sent. (Xavier de Gaye,
|
||||
2008 Nov 10) call netbeans_file_closed() at the end of buf_freeall(), or in
|
||||
all places where buf_freeall() is called?
|
||||
|
||||
":python os.chdir('/tmp')" makes short buffer names invalid. (Xavier de Gaye)
|
||||
Check directory and call shorten_fnames()?
|
||||
|
||||
aucmd_prepbuf() should also use a window in another tab page.
|
||||
|
||||
When unloading a buffer in a BufHidden autocommand the hidden flag is reset?
|
||||
@@ -1434,9 +1495,6 @@ somehow? Or use a new function.
|
||||
|
||||
Mac: Using gvim: netrw window disappears. (Nick Lo, 2006 Jun 21)
|
||||
|
||||
Mac: OS/X 10.4 with Python 2.5 installed: configure finds an extra argument
|
||||
that breaks the build. (Brian Victor, 2008 Sep 1)
|
||||
|
||||
Add an option to specify the character to use when a double-width character is
|
||||
moved to the next line. Default '>', set to a space to blank it out. Check
|
||||
that char is single width when it's set (compare with 'listchars').
|
||||
@@ -1573,9 +1631,6 @@ resulting in highlighted "{" in that window, not in the other.
|
||||
In mswin.vim: Instead of mapping <C-V> for Insert mode in a complicated way,
|
||||
can it be done like ":imap <C-V> <MiddleMouse>" without negative side effects?
|
||||
|
||||
Completion menu disappears when using 'cursorcolumn'. (Sven-Hendrik Haase,
|
||||
2011 May 23)
|
||||
|
||||
GTK: when the Tab pages bar appears or disappears while the window is
|
||||
maximized the window is no longer maximized. Patch that has some idea but
|
||||
doesn't work from Geoffrey Antos, 2008 May 5.
|
||||
@@ -1681,10 +1736,8 @@ Patch to support horizontal scroll wheel in GTK. Untested. (Bjorn Winckler,
|
||||
2010 Jun 30)
|
||||
|
||||
|
||||
At next release 7.4:
|
||||
At next release:
|
||||
- Build a huge version by default.
|
||||
- Rename src/Makefile and create a new one like toplevel Makefile that
|
||||
creates auto/config.mk when it's not there? (Ben Schmidt, 2011 Feb 11)
|
||||
- Improve plugin handling: Automatic updates, handle dependencies?
|
||||
E.g. Vundle: https://github.com/gmarik/vundle
|
||||
|
||||
@@ -1726,7 +1779,6 @@ More patches:
|
||||
more friendly for the Vim distribution.
|
||||
New version received 2008 Jan 6.
|
||||
No maintenance in two years...
|
||||
- Patch to access screen under Python. (Marko Mahni, 2010 Jul 18)
|
||||
- Patch to open dropped files in new tabs. (Michael Trim, 2010 Aug 3)
|
||||
|
||||
Awaiting updated patches:
|
||||
@@ -2278,8 +2330,6 @@ Macintosh:
|
||||
the :catch commands are always executed, also when the file is edited
|
||||
normally. Should reset did_emsg and undo side effects. Also make sure
|
||||
the ATTENTION message shows up. Servatius Brandt works on this.
|
||||
8 ":g//" gives "Pattern not found error" with E486. Should not use the
|
||||
error number, it's not a regular error message.
|
||||
7 Vimtutor leaves escape sequence in terminal. This is the xterm response to
|
||||
requesting the version number. (Yasuhiro Matsumoto)
|
||||
8 When redirecting and using ":silent" the current column for displaying and
|
||||
@@ -2307,7 +2357,6 @@ Macintosh:
|
||||
8 When doing Insert mode completion a mapping cannot recursively call
|
||||
edit(), because the completion information is global. Put everything in
|
||||
an allocated structure?
|
||||
6 Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
|
||||
8 Command line completion: buffers "foo.txt" and "../b/foo.txt", completing
|
||||
":buf foo<Tab>" doesn't find the second one. (George V. Reilly)
|
||||
7 mb_off2cells() doesn't work correctly on the tail byte of a double-byte
|
||||
@@ -3556,12 +3605,6 @@ Tags:
|
||||
make the filename or the whole option use |wildcards| globing, better
|
||||
would be to merge the 2 kinds of globing. originally (Erik Falor, 2008
|
||||
April 18), updated (Ian Kelling, 2008 July 4)
|
||||
8 Use a mechanism similar to omni completion to figure out the kind of tab
|
||||
for CTRL-] and jump to the appropriate matching tag (if there are
|
||||
several).
|
||||
Alternative: be able to define a function that takes the tag name and uses
|
||||
taglist() to find the right location. With indication of using CTRL-] so
|
||||
that the context can be taken into account. (Robert Webb)
|
||||
7 Can CTRL-] (jump to tag) include a following "." and "->" to restrict the
|
||||
number of possible matches? Check tags file for an item that has members.
|
||||
(Flemming Madsen)
|
||||
@@ -3604,9 +3647,6 @@ Tags:
|
||||
Win32 GUI:
|
||||
8 Make debug mode work while starting up (vim -D). Open console window for
|
||||
the message and input?
|
||||
7 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?
|
||||
7 GvimExt: when there are several existing Vims, move the list to a submenu.
|
||||
(Mike McCollister)
|
||||
8 When using "Edit with Vim" for one file it changes directory, when several
|
||||
@@ -3968,9 +4008,6 @@ Command line completion:
|
||||
|
||||
|
||||
Command line history:
|
||||
9 Remember which command lines were actually typed and were not loaded from
|
||||
viminfo. When writing viminfo append only these lines, so that lines from
|
||||
other Vim's are not overwritten.
|
||||
- Add "KeyWasTyped" flag: It's reset before each command and set when a
|
||||
character from the keyboard is consumed. Value is used to decide to put a
|
||||
command line in history or not. Put line in history if it didn't
|
||||
@@ -4159,7 +4196,7 @@ Select mode:
|
||||
8 In blockwise mode, typed characters are inserted in front of the block,
|
||||
backspace deletes a column before the block. (Steve Hall)
|
||||
7 Alt-leftmouse starts block mode selection in MS Word.
|
||||
See http://www.vim.org/tips/tip.php?tip_id=743
|
||||
See http://vim.wikia.com/wiki/Use_Alt-Mouse_to_select_blockwise.
|
||||
7 Add Cmdline-select mode. Like Select mode, but used on the command line.
|
||||
- Change gui_send_mouse_event() to pass on mouse events when 'mouse'
|
||||
contains 'C' or 'A'.
|
||||
@@ -4227,7 +4264,7 @@ More advanced repeating commands:
|
||||
- Add "." command for visual mode: redo last visual command (e.g. ":fmt").
|
||||
7 Repeating "d:{cmd}" with "." doesn't work. (Benji Fisher) Somehow remember
|
||||
the command line so that it can be repeated?
|
||||
- Add "gn": repeat last movement command. Including count.
|
||||
- Add command to repeat last movement. Including count.
|
||||
- Add "." command after operator: repeat last command of same operator. E.g.
|
||||
"c." will repeat last change, also when "x" used since then (Webb).
|
||||
"y." will repeat last yank.
|
||||
@@ -4824,8 +4861,6 @@ Debug mode:
|
||||
|
||||
|
||||
Various improvements:
|
||||
9 Python: be able to define a Python function that can be called directly
|
||||
from Vim script. Requires converting the arguments and return value.
|
||||
7 Add plugins for formatting? Should be able to make a choice depending on
|
||||
the language of a file (English/Korean/Japanese/etc.).
|
||||
Setting the 'langformat' option to "chinese" would load the
|
||||
@@ -4850,7 +4885,6 @@ Various improvements:
|
||||
7 Allow a window not to have a statusline. Makes it possible to use a
|
||||
window as a buffer-tab selection.
|
||||
8 Allow non-active windows to have a different statusline. (Yakov Lerner)
|
||||
6 Python interface: add vim.message() function. (Michal Vitecek, 2002 Nov 5)
|
||||
7 Support using ":vert" with User commands. Add expandable items <vert>.
|
||||
Do the same for ":browse" and ":confirm"?
|
||||
For ":silent" and ":debug" apply to the whole user command.
|
||||
@@ -5081,8 +5115,6 @@ Various improvements:
|
||||
- Add a variant of CTRL-V that stops interpretation of more than one
|
||||
character. For entering mappings on the command line where a key contains
|
||||
several special characters, e.g. a trailing newline.
|
||||
- Add regex for 'paragraphs' and 'sections': 'parare' and 'sectre'. Combine
|
||||
the two into a regex for searching. (Ned Konz)
|
||||
- Make '2' option in 'formatoptions' also work inside comments.
|
||||
- Add 's' flag to 'formatoptions': Do not break when inside a string. (Dodt)
|
||||
- When window size changed (with the mouse) and made too small, set it back
|
||||
|
||||
@@ -17,7 +17,7 @@ side by side. All this is possible with split windows.
|
||||
|08.6| Commands for all windows
|
||||
|08.7| Viewing differences with vimdiff
|
||||
|08.8| Various
|
||||
|08.9| Tab pages
|
||||
|08.9| Tab pages
|
||||
|
||||
Next chapter: |usr_09.txt| Using the GUI
|
||||
Previous chapter: |usr_07.txt| Editing more than one file
|
||||
|
||||
@@ -18,7 +18,7 @@ This chapter explains the different ways this can be done.
|
||||
|28.7| Folding by syntax
|
||||
|28.8| Folding by expression
|
||||
|28.9| Folding unchanged lines
|
||||
|28.10| Which fold method to use?
|
||||
|28.10| Which fold method to use?
|
||||
|
||||
Next chapter: |usr_29.txt| Moving through programs
|
||||
Previous chapter: |usr_27.txt| Search commands and patterns
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 7.3. Last change: 2012 Oct 13
|
||||
*usr_41.txt* For Vim version 7.3. Last change: 2013 Feb 20
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -863,12 +863,15 @@ Window size and position: *window-size-functions*
|
||||
winsaveview() get view of current window
|
||||
winrestview() restore saved view of current window
|
||||
|
||||
Various: *various-functions*
|
||||
mode() get current editing mode
|
||||
visualmode() last visual mode used
|
||||
Mappings: *mapping-functions*
|
||||
hasmapto() check if a mapping exists
|
||||
mapcheck() check if a matching mapping exists
|
||||
maparg() get rhs of a mapping
|
||||
wildmenumode() check if the wildmode is active
|
||||
|
||||
Various: *various-functions*
|
||||
mode() get current editing mode
|
||||
visualmode() last visual mode used
|
||||
exists() check if a variable, function, etc. exists
|
||||
has() check if a feature is supported in Vim
|
||||
changenr() return number of most recent change
|
||||
|
||||
@@ -248,7 +248,7 @@ Subjects that can be read independently.
|
||||
|28.7| Folding by syntax
|
||||
|28.8| Folding by expression
|
||||
|28.9| Folding unchanged lines
|
||||
|28.10| Which fold method to use?
|
||||
|28.10| Which fold method to use?
|
||||
|
||||
|usr_29.txt| Moving through programs
|
||||
|29.1| Using tags
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 7.3. Last change: 2012 Dec 06
|
||||
*various.txt* For Vim version 7.3. Last change: 2013 May 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -368,7 +368,7 @@ N *+mouse_sysmouse* Unix only: *BSD console mouse handling |sysmouse|
|
||||
B *+mouse_sgr* Unix only: sgr mouse handling |sgr-mouse|
|
||||
B *+mouse_urxvt* Unix only: urxvt mouse handling |urxvt-mouse|
|
||||
N *+mouse_xterm* Unix only: xterm mouse handling |xterm-mouse|
|
||||
B *+multi_byte* 16 and 32 bit characters |multibyte|
|
||||
N *+multi_byte* 16 and 32 bit characters |multibyte|
|
||||
*+multi_byte_ime* Win32 input method for multibyte chars |multibyte-ime|
|
||||
N *+multi_lang* non-English language support |multi-lang|
|
||||
m *+mzscheme* Mzscheme interface |mzscheme|
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
.\" Traduction Lundi 7 ao<61>t 2000 par Richard Hitier
|
||||
.\" Traduction lundi 7 ao<61>t 2000 par Richard Hitier
|
||||
.\" (richard.hitier@dial.oleane.com)
|
||||
.\" Mise <20> jour de la traduction par David Blanchet
|
||||
.\" (david.blanchet@free.fr) 2006-06-10
|
||||
.\" Mise <20> jour de la traduction par Dominique Pell<6C>
|
||||
.\" (dominique.pelle@gmail.com) 2008-11-29
|
||||
.\" (dominique.pelle@gmail.com) 2013-05-10
|
||||
.\"
|
||||
.TH VIM 1 "22 F<EFBFBD>vrier 2002"
|
||||
.TH VIM 1 "22 f<EFBFBD>vrier 2002"
|
||||
.SH NOM
|
||||
vim \- Vi IMproved, <20>diteur de texte pour programmeurs
|
||||
.SH SYNOPSIS
|
||||
@@ -156,7 +156,7 @@ Ex
|
||||
{commande} est interpr<70>t<EFBFBD>e comme une commande Ex.
|
||||
Si la {commande} contient des espaces, elle doit <20>tre entour<75>e
|
||||
de doubles-apostrophes (cela d<>pend du shell utilis<69>).
|
||||
Exemple: Vim "+set si" main.c
|
||||
Exemple : Vim "+set si" main.c
|
||||
.br
|
||||
Note : vous pouvez utiliser jusqu'<27> 10 commandes "+" ou "\-c".
|
||||
.TP
|
||||
@@ -204,7 +204,7 @@ Fonctionne comme vimdiff(1).
|
||||
\-d {p<>riph}
|
||||
Ouvre {p<>riph} pour l'utiliser comme terminal.
|
||||
Uniquement sur Amiga.
|
||||
Exemple:
|
||||
Exemple :
|
||||
"\-d con:20/30/600/150".
|
||||
.TP
|
||||
\-D
|
||||
@@ -269,7 +269,7 @@ quitte.
|
||||
Si
|
||||
.B Vim
|
||||
a <20>t<EFBFBD> compil<69> avec le support de la fonctionnalit<69> RIGHTLEFT pour l'<27>dition de
|
||||
fichiers de droite <20> gauche et les claviers h<>breu, cette option lance
|
||||
fichiers de droite <20> gauche et les claviers h<>breux, cette option lance
|
||||
.B Vim
|
||||
en mode H<>breu, c.-<2D>-d. avec les options 'hkmap' et 'rightleft' activ<69>es.
|
||||
Sinon, un message d'erreur est <20>mis et
|
||||
@@ -435,7 +435,7 @@ Mode restreint. Fonctionne comme si l'ex
|
||||
\-\-
|
||||
D<EFBFBD>limite la fin des options.
|
||||
Les arguments qui suivent seront consid<69>r<EFBFBD>s comme des noms de fichiers.
|
||||
Cela permet d'<27>diter des fichier d<>butant par un '\-'.
|
||||
Cela permet d'<27>diter des fichiers d<>butant par un '\-'.
|
||||
.TP
|
||||
\-\-echo\-wid
|
||||
IHM graphique GTK uniquement : retourne la Window ID sur stdout.
|
||||
@@ -586,4 +586,4 @@ Cette page de manuel a
|
||||
.br
|
||||
Cette page de manuel a <20>t<EFBFBD> mise <20> jour par David Blanchet.
|
||||
<david.blanchet@free.fr> 2006-04-10.
|
||||
Mise <20> jour 2012-05-06, Dominique Pell<6C> <dominique.pelle@gmail.com>
|
||||
Mise <20> jour 2013-05-10, Dominique Pell<6C> <dominique.pelle@gmail.com>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
.\" Traduction Lundi 7 août 2000 par Richard Hitier
|
||||
.\" Traduction lundi 7 août 2000 par Richard Hitier
|
||||
.\" (richard.hitier@dial.oleane.com)
|
||||
.\" Mise à jour de la traduction par David Blanchet
|
||||
.\" (david.blanchet@free.fr) 2006-06-10
|
||||
.\" Mise à jour de la traduction par Dominique Pellé
|
||||
.\" (dominique.pelle@gmail.com) 2008-11-29
|
||||
.\" (dominique.pelle@gmail.com) 2013-05-10
|
||||
.\"
|
||||
.TH VIM 1 "22 Février 2002"
|
||||
.TH VIM 1 "22 février 2002"
|
||||
.SH NOM
|
||||
vim \- Vi IMproved, éditeur de texte pour programmeurs
|
||||
.SH SYNOPSIS
|
||||
@@ -156,7 +156,7 @@ Exécute {commande} après la lecture du premier fichier.
|
||||
{commande} est interprétée comme une commande Ex.
|
||||
Si la {commande} contient des espaces, elle doit être entourée
|
||||
de doubles-apostrophes (cela dépend du shell utilisé).
|
||||
Exemple: Vim "+set si" main.c
|
||||
Exemple : Vim "+set si" main.c
|
||||
.br
|
||||
Note : vous pouvez utiliser jusqu'à 10 commandes "+" ou "\-c".
|
||||
.TP
|
||||
@@ -204,7 +204,7 @@ Fonctionne comme vimdiff(1).
|
||||
\-d {périph}
|
||||
Ouvre {périph} pour l'utiliser comme terminal.
|
||||
Uniquement sur Amiga.
|
||||
Exemple:
|
||||
Exemple :
|
||||
"\-d con:20/30/600/150".
|
||||
.TP
|
||||
\-D
|
||||
@@ -269,7 +269,7 @@ quitte.
|
||||
Si
|
||||
.B Vim
|
||||
a été compilé avec le support de la fonctionnalité RIGHTLEFT pour l'édition de
|
||||
fichiers de droite à gauche et les claviers hébreu, cette option lance
|
||||
fichiers de droite à gauche et les claviers hébreux, cette option lance
|
||||
.B Vim
|
||||
en mode Hébreu, c.-à-d. avec les options 'hkmap' et 'rightleft' activées.
|
||||
Sinon, un message d'erreur est émis et
|
||||
@@ -435,7 +435,7 @@ Mode restreint. Fonctionne comme si l'exécutable commençait par la lettre 'r'.
|
||||
\-\-
|
||||
Délimite la fin des options.
|
||||
Les arguments qui suivent seront considérés comme des noms de fichiers.
|
||||
Cela permet d'éditer des fichier débutant par un '\-'.
|
||||
Cela permet d'éditer des fichiers débutant par un '\-'.
|
||||
.TP
|
||||
\-\-echo\-wid
|
||||
IHM graphique GTK uniquement : retourne la Window ID sur stdout.
|
||||
@@ -586,4 +586,4 @@ Cette page de manuel a été traduite par Richard Hitier.
|
||||
.br
|
||||
Cette page de manuel a été mise à jour par David Blanchet.
|
||||
<david.blanchet@free.fr> 2006-04-10.
|
||||
Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com>
|
||||
Mise à jour par Dominique Pellé <dominique.pelle@gmail.com> 2013-05-10
|
||||
|
||||
@@ -159,7 +159,7 @@ fichier n'est pas adressable, seuls les vides sont autoris
|
||||
combl<EFBFBD>s par des octets nuls.
|
||||
.PP
|
||||
.I xxd \-r
|
||||
ne g<>n<EFBFBD>re aucune erreur lors de l'analyse. Le probl<62>me sont pass<73>s
|
||||
ne g<>n<EFBFBD>re aucune erreur lors de l'analyse. Les probl<62>mes sont pass<73>s
|
||||
silencieusement.
|
||||
.PP
|
||||
Lors de l'<27>dition de la repr<70>sentation hexad<61>cimale, veuillez noter que
|
||||
@@ -307,7 +307,7 @@ Convertir le fichier de l'exemple pr
|
||||
000fffc: 0000 0000 40 ....A
|
||||
.PP
|
||||
Cr<EFBFBD>er un fichier d'un octet, contenant seulement le caract<63>re 'A'.
|
||||
Les nombres apr<70>s '\-r \-s' s'ajoutent au num<75>ros de lignes trouv<75>es dans le
|
||||
Le nombre apr<70>s '\-r \-s' s'ajoute aux num<75>ros de lignes trouv<75>es dans le
|
||||
fichier ; les octets initiaux sont supprim<69>s.
|
||||
.br
|
||||
\fI% echo '010000: 41' | xxd \-r \-s \-0x10000 \> fichier\fR
|
||||
@@ -393,4 +393,4 @@ Modifications mineures par Bram Moolenaar.
|
||||
.SH TRADUCTION
|
||||
Cette page de manuel a <20>t<EFBFBD> traduite par David Blanchet
|
||||
<david.blanchet@free.fr> 2004-12-24.
|
||||
Mise <20> jour 2012-05-06, Dominique Pell<6C> <dominique.pelle@gmail.com>
|
||||
Mise <20> jour 2013-05-10, Dominique Pell<6C> <dominique.pelle@gmail.com>
|
||||
|
||||
@@ -159,7 +159,7 @@ fichier n'est pas adressable, seuls les vides sont autorisés, et ils seront
|
||||
comblés par des octets nuls.
|
||||
.PP
|
||||
.I xxd \-r
|
||||
ne génère aucune erreur lors de l'analyse. Le problème sont passés
|
||||
ne génère aucune erreur lors de l'analyse. Les problèmes sont passés
|
||||
silencieusement.
|
||||
.PP
|
||||
Lors de l'édition de la représentation hexadécimale, veuillez noter que
|
||||
@@ -307,7 +307,7 @@ Convertir le fichier de l'exemple précédent avec la fonctionnalité "autoskip"
|
||||
000fffc: 0000 0000 40 ....A
|
||||
.PP
|
||||
Créer un fichier d'un octet, contenant seulement le caractère 'A'.
|
||||
Les nombres après '\-r \-s' s'ajoutent au numéros de lignes trouvées dans le
|
||||
Le nombre après '\-r \-s' s'ajoute aux numéros de lignes trouvées dans le
|
||||
fichier ; les octets initiaux sont supprimés.
|
||||
.br
|
||||
\fI% echo '010000: 41' | xxd \-r \-s \-0x10000 \> fichier\fR
|
||||
@@ -393,4 +393,4 @@ Modifications mineures par Bram Moolenaar.
|
||||
.SH TRADUCTION
|
||||
Cette page de manuel a été traduite par David Blanchet
|
||||
<david.blanchet@free.fr> 2004-12-24.
|
||||
Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com>
|
||||
Mise à jour 2013-05-10, Dominique Pellé <dominique.pelle@gmail.com>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2012 Nov 28
|
||||
" Last Change: 2013 Jun 12
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -139,6 +139,9 @@ au BufNewFile,BufRead .arch-inventory,=tagging-method setf arch
|
||||
" ART*Enterprise (formerly ART-IM)
|
||||
au BufNewFile,BufRead *.art setf art
|
||||
|
||||
" AsciiDoc
|
||||
au BufNewFile,BufRead *.asciidoc setf asciidoc
|
||||
|
||||
" ASN.1
|
||||
au BufNewFile,BufRead *.asn,*.asn1 setf asn
|
||||
|
||||
@@ -325,6 +328,9 @@ au BufNewFile,BufRead calendar setf calendar
|
||||
" C#
|
||||
au BufNewFile,BufRead *.cs setf cs
|
||||
|
||||
" CSDL
|
||||
au BufNewFile,BufRead *.csdl setf csdl
|
||||
|
||||
" Cabal
|
||||
au BufNewFile,BufRead *.cabal setf cabal
|
||||
|
||||
@@ -489,6 +495,9 @@ au BufNewFile,BufRead *.prg
|
||||
\ setf clipper |
|
||||
\ endif
|
||||
|
||||
" Clojure
|
||||
au BufNewFile,BufRead *.clj,*.cljs setf clojure
|
||||
|
||||
" Cmake
|
||||
au BufNewFile,BufRead CMakeLists.txt,*.cmake,*.cmake.in setf cmake
|
||||
|
||||
@@ -743,11 +752,13 @@ au BufNewFile,BufRead *.mo,*.gdmo setf gdmo
|
||||
au BufNewFile,BufRead *.ged,lltxxxxx.txt setf gedcom
|
||||
|
||||
" Git
|
||||
au BufNewFile,BufRead *.git/COMMIT_EDITMSG setf gitcommit
|
||||
au BufNewFile,BufRead *.git/COMMIT_EDITMSG setf gitcommit
|
||||
au BufNewFile,BufRead *.git/MERGE_MSG setf gitcommit
|
||||
au BufNewFile,BufRead *.git/config,.gitconfig,.gitmodules setf gitconfig
|
||||
au BufNewFile,BufRead *.git/modules/**/COMMIT_EDITMSG setf gitcommit
|
||||
au BufNewFile,BufRead *.git/modules/**/config setf gitconfig
|
||||
au BufNewFile,BufRead git-rebase-todo setf gitrebase
|
||||
au BufNewFile,BufRead *.git/modules/**/config setf gitconfig
|
||||
au BufNewFile,BufRead */.config/git/config setf gitconfig
|
||||
au BufNewFile,BufRead git-rebase-todo setf gitrebase
|
||||
au BufNewFile,BufRead .msg.[0-9]*
|
||||
\ if getline(1) =~ '^From.*# This line is ignored.$' |
|
||||
\ setf gitsendemail |
|
||||
@@ -774,7 +785,7 @@ au BufNewFile,BufRead gnashrc,.gnashrc,gnashpluginrc,.gnashpluginrc setf gnash
|
||||
" Gitolite
|
||||
au BufNewFile,BufRead gitolite.conf setf gitolite
|
||||
au BufNewFile,BufRead */gitolite-admin/conf/* call s:StarSetf('gitolite')
|
||||
au BufNewFile,BufRead {,.}gitolite.rc,example.gitolite.rc setf perl
|
||||
au BufNewFile,BufRead {,.}gitolite.rc,example.gitolite.rc setf perl
|
||||
|
||||
" Gnuplot scripts
|
||||
au BufNewFile,BufRead *.gpi setf gnuplot
|
||||
@@ -859,6 +870,9 @@ au BufNewFile,BufRead */etc/hosts.allow,*/etc/hosts.deny setf hostsaccess
|
||||
" Hyper Builder
|
||||
au BufNewFile,BufRead *.hb setf hb
|
||||
|
||||
" Httest
|
||||
au BufNewFile,BufRead *.htt,*.htb setf httest
|
||||
|
||||
" Icon
|
||||
au BufNewFile,BufRead *.icn setf icon
|
||||
|
||||
@@ -1075,6 +1089,9 @@ au BufNewFile,BufRead *[mM]akefile,*.mk,*.mak,*.dsp setf make
|
||||
" MakeIndex
|
||||
au BufNewFile,BufRead *.ist,*.mst setf ist
|
||||
|
||||
" Mallard
|
||||
au BufNewFile,BufRead *.page setf mallard
|
||||
|
||||
" Manpage
|
||||
au BufNewFile,BufRead *.man setf man
|
||||
|
||||
@@ -1088,7 +1105,7 @@ au BufNewFile,BufRead *.mv,*.mpl,*.mws setf maple
|
||||
au BufNewFile,BufRead *.map setf map
|
||||
|
||||
" Markdown
|
||||
au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,README.md setf markdown
|
||||
au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,README.md setf markdown
|
||||
|
||||
" Mason
|
||||
au BufNewFile,BufRead *.mason,*.mhtml setf mason
|
||||
@@ -1534,6 +1551,9 @@ au BufNewFile,BufRead *.pdb setf prolog
|
||||
" Promela
|
||||
au BufNewFile,BufRead *.pml setf promela
|
||||
|
||||
" Google protocol buffers
|
||||
au BufNewFile,BufRead *.proto setf proto
|
||||
|
||||
" Protocols
|
||||
au BufNewFile,BufRead */etc/protocols setf protocols
|
||||
|
||||
@@ -1634,6 +1654,9 @@ au BufNewFile,BufRead resolv.conf setf resolv
|
||||
" Relax NG Compact
|
||||
au BufNewFile,BufRead *.rnc setf rnc
|
||||
|
||||
" Relax NG XML
|
||||
au BufNewFile,BufRead *.rng setf rng
|
||||
|
||||
" RPL/2
|
||||
au BufNewFile,BufRead *.rpl setf rpl
|
||||
|
||||
@@ -2184,8 +2207,12 @@ au BufNewFile,BufRead *.uc setf uc
|
||||
au BufNewFile,BufRead */etc/updatedb.conf setf updatedb
|
||||
|
||||
" Upstart (init(8)) config files
|
||||
au BufNewFile,BufRead */etc/init/*.conf,*/.init/*.conf setf upstart
|
||||
au BufNewFile,BufRead */etc/init/*.override,*/.init/*.override setf upstart
|
||||
au BufNewFile,BufRead */usr/share/upstart/*.conf setf upstart
|
||||
au BufNewFile,BufRead */usr/share/upstart/*.override setf upstart
|
||||
au BufNewFile,BufRead */etc/init/*.conf,*/etc/init/*.override setf upstart
|
||||
au BufNewFile,BufRead */.init/*.conf,*/.init/*.override setf upstart
|
||||
au BufNewFile,BufRead */.config/upstart/*.conf setf upstart
|
||||
au BufNewFile,BufRead */.config/upstart/*.override setf upstart
|
||||
|
||||
" Vera
|
||||
au BufNewFile,BufRead *.vr,*.vri,*.vrh setf vera
|
||||
@@ -2395,10 +2422,10 @@ endfunc
|
||||
au BufNewFile,BufRead *.yaml,*.yml setf yaml
|
||||
|
||||
" yum conf (close enough to dosini)
|
||||
au BufNewFile,BufRead */etc/yum.conf setf dosini
|
||||
au BufNewFile,BufRead */etc/yum.conf setf dosini
|
||||
|
||||
" Zimbu
|
||||
au BufNewFile,BufRead *.zu setf zimbu
|
||||
au BufNewFile,BufRead *.zu setf zimbu
|
||||
|
||||
" Zope
|
||||
" dtml (zope dynamic template markup language), pt (zope page template),
|
||||
@@ -2543,6 +2570,20 @@ au BufNewFile,BufRead *termcap*
|
||||
\| let b:ptcap_type = "term" | call s:StarSetf('ptcap')
|
||||
\|endif
|
||||
|
||||
" ReDIF
|
||||
" Only used when the .rdf file was not detected to be XML.
|
||||
au BufRead,BufNewFile *.rdf call s:Redif()
|
||||
func! s:Redif()
|
||||
let lnum = 1
|
||||
while lnum <= 5 && lnum < line('$')
|
||||
if getline(lnum) =~ "^\ctemplate-type:"
|
||||
setf redif
|
||||
return
|
||||
endif
|
||||
let lnum = lnum + 1
|
||||
endwhile
|
||||
endfunc
|
||||
|
||||
" Remind
|
||||
au BufNewFile,BufRead .reminders* call s:StarSetf('remind')
|
||||
|
||||
@@ -2571,7 +2612,7 @@ au BufNewFile,BufRead *xmodmap* call s:StarSetf('xmodmap')
|
||||
au BufNewFile,BufRead */etc/xinetd.d/* call s:StarSetf('xinetd')
|
||||
|
||||
" yum conf (close enough to dosini)
|
||||
au BufNewFile,BufRead */etc/yum.repos.d/* call s:StarSetf('dosini')
|
||||
au BufNewFile,BufRead */etc/yum.repos.d/* call s:StarSetf('dosini')
|
||||
|
||||
" Z-Shell script
|
||||
au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh')
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Aap recipe
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2003 Nov 04
|
||||
" Last Change: 2013 Apr 05
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -19,7 +19,7 @@ let b:undo_ftplugin = "setl fo< com< et<"
|
||||
setlocal fo-=t fo+=croql
|
||||
|
||||
" Set 'comments' to format dashed lists in comments.
|
||||
setlocal comments=s:#\ -,m:#\ \,e:#,n:#,fb:-
|
||||
setlocal comments=s:#\ -,m:#\ \ ,e:#,n:#,fb:-
|
||||
|
||||
" Expand tabs to spaces to avoid trouble.
|
||||
setlocal expandtab
|
||||
|
||||
29
runtime/ftplugin/abap.vim
Normal file
29
runtime/ftplugin/abap.vim
Normal file
@@ -0,0 +1,29 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: ABAP
|
||||
" Author: Steven Oliver <oliver.steven@gmail.com>
|
||||
" Copyright: Copyright (c) 2013 Steven Oliver
|
||||
" License: You may redistribute this under the same terms as Vim itself
|
||||
" --------------------------------------------------------------------------
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal softtabstop=2 shiftwidth=2
|
||||
setlocal suffixesadd=.abap
|
||||
|
||||
" Windows allows you to filter the open file dialog
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "ABAP Source Files (*.abap)\t*.abap\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: set sw=4 sts=4 et tw=80 :
|
||||
@@ -7,7 +7,7 @@
|
||||
" Neil Bird <neil@fnxweb.com>
|
||||
" $Author: krischik $
|
||||
" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
|
||||
" Version: 4.6
|
||||
" Version: 4.6 with patch from David Bürgin
|
||||
" $Revision: 887 $
|
||||
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/ftplugin/ada.vim $
|
||||
" History: 24.05.2006 MK Unified Headers
|
||||
@@ -42,7 +42,7 @@ set cpoptions-=C
|
||||
|
||||
" Section: Comments {{{1
|
||||
"
|
||||
setlocal comments=O:--,:--\ \
|
||||
setlocal comments=O:--,:--\ \
|
||||
setlocal commentstring=--\ \ %s
|
||||
setlocal complete=.,w,b,u,t,i
|
||||
|
||||
|
||||
79
runtime/ftplugin/clojure.vim
Normal file
79
runtime/ftplugin/clojure.vim
Normal file
@@ -0,0 +1,79 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Clojure
|
||||
" Author: Meikel Brandmeyer <mb@kotka.de>
|
||||
"
|
||||
" Maintainer: Sung Pae <self@sungpae.com>
|
||||
" URL: https://github.com/guns/vim-clojure-static
|
||||
" License: Same as Vim
|
||||
" Last Change: 30 January 2013
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = 'setlocal define< formatoptions< comments< commentstring<'
|
||||
|
||||
" There will be false positives, but this is better than missing the whole set
|
||||
" of user-defined def* definitions.
|
||||
setlocal define=\\v[(/]def(ault)@!\\S*
|
||||
|
||||
" Remove 't' from 'formatoptions' to avoid auto-wrapping code. The '+=croql'
|
||||
" is standard ftplugin boilerplate, although it is arguably intrusive.
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
" Lisp comments are routinely nested (e.g. ;;; SECTION HEADING)
|
||||
setlocal comments=n:;
|
||||
setlocal commentstring=;\ %s
|
||||
|
||||
" Provide insert mode completions for special forms and clojure.core. As
|
||||
" 'omnifunc' is set by popular Clojure REPL client plugins, we also set
|
||||
" 'completefunc' so that the user has some form of completion available when
|
||||
" 'omnifunc' is set and no REPL connection exists.
|
||||
for s:setting in ['omnifunc', 'completefunc']
|
||||
if exists('&' . s:setting) && empty(eval('&' . s:setting))
|
||||
execute 'setlocal ' . s:setting . '=clojurecomplete#Complete'
|
||||
let b:undo_ftplugin .= ' | setlocal ' . s:setting . '<'
|
||||
endif
|
||||
endfor
|
||||
|
||||
" Take all directories of the CLOJURE_SOURCE_DIRS environment variable
|
||||
" and add them to the path option.
|
||||
"
|
||||
" This is a legacy option for VimClojure users.
|
||||
if exists('$CLOJURE_SOURCE_DIRS')
|
||||
for s:dir in split($CLOJURE_SOURCE_DIRS, (has("win32") || has("win64")) ? ';' : ':')
|
||||
let s:dir = fnameescape(s:dir)
|
||||
" Whitespace escaping for Windows
|
||||
let s:dir = substitute(s:dir, '\', '\\\\', 'g')
|
||||
let s:dir = substitute(s:dir, '\ ', '\\ ', 'g')
|
||||
execute "setlocal path+=" . s:dir . "/**"
|
||||
endfor
|
||||
let b:undo_ftplugin .= ' | setlocal path<'
|
||||
endif
|
||||
|
||||
" Skip brackets in ignored syntax regions when using the % command
|
||||
if exists('loaded_matchit')
|
||||
let b:match_words = &matchpairs
|
||||
let b:match_skip = 's:comment\|string\|regex\|character'
|
||||
let b:undo_ftplugin .= ' | unlet! b:match_words b:match_skip'
|
||||
endif
|
||||
|
||||
" Win32 can filter files in the browse dialog
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Clojure Source Files (*.clj)\t*.clj\n" .
|
||||
\ "ClojureScript Source Files (*.cljs)\t*.cljs\n" .
|
||||
\ "Java Source Files (*.java)\t*.java\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin .= ' | unlet! b:browsefilter'
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
|
||||
unlet! s:cpo_save s:setting s:dir
|
||||
|
||||
" vim:sts=4 sw=4 et:
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Cucumber
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2010 Aug 09
|
||||
" Last Change: 2013 Jun 01
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
@@ -9,6 +9,9 @@ if (exists("b:did_ftplugin"))
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
setlocal comments=:# commentstring=#\ %s
|
||||
setlocal omnifunc=CucumberComplete
|
||||
@@ -18,11 +21,27 @@ let b:undo_ftplugin = "setl fo< com< cms< ofu<"
|
||||
let b:cucumber_root = expand('%:p:h:s?.*[\/]\%(features\|stories\)\zs[\/].*??')
|
||||
|
||||
if !exists("g:no_plugin_maps") && !exists("g:no_cucumber_maps")
|
||||
nmap <silent><buffer> <C-]> :<C-U>exe <SID>jump('edit',v:count)<CR>
|
||||
nmap <silent><buffer> <C-W>] :<C-U>exe <SID>jump('split',v:count)<CR>
|
||||
nmap <silent><buffer> <C-W><C-]> :<C-U>exe <SID>jump('split',v:count)<CR>
|
||||
nmap <silent><buffer> <C-W>} :<C-U>exe <SID>jump('pedit',v:count)<CR>
|
||||
let b:undo_ftplugin .= "| sil! iunmap! <C-]>| sil! iunmap! <C-W>]| sil! iunmap! <C-W><C-]>| sil! iunmap! <C-W>}"
|
||||
nnoremap <silent><buffer> <C-]> :<C-U>exe <SID>jump('edit',v:count)<CR>
|
||||
nnoremap <silent><buffer> [<C-D> :<C-U>exe <SID>jump('edit',v:count)<CR>
|
||||
nnoremap <silent><buffer> ]<C-D> :<C-U>exe <SID>jump('edit',v:count)<CR>
|
||||
nnoremap <silent><buffer> <C-W>] :<C-U>exe <SID>jump('split',v:count)<CR>
|
||||
nnoremap <silent><buffer> <C-W><C-]> :<C-U>exe <SID>jump('split',v:count)<CR>
|
||||
nnoremap <silent><buffer> <C-W>d :<C-U>exe <SID>jump('split',v:count)<CR>
|
||||
nnoremap <silent><buffer> <C-W><C-D> :<C-U>exe <SID>jump('split',v:count)<CR>
|
||||
nnoremap <silent><buffer> <C-W>} :<C-U>exe <SID>jump('pedit',v:count)<CR>
|
||||
nnoremap <silent><buffer> [d :<C-U>exe <SID>jump('pedit',v:count)<CR>
|
||||
nnoremap <silent><buffer> ]d :<C-U>exe <SID>jump('pedit',v:count)<CR>
|
||||
let b:undo_ftplugin .=
|
||||
\ "|sil! nunmap <buffer> <C-]>" .
|
||||
\ "|sil! nunmap <buffer> [<C-D>" .
|
||||
\ "|sil! nunmap <buffer> ]<C-D>" .
|
||||
\ "|sil! nunmap <buffer> <C-W>]" .
|
||||
\ "|sil! nunmap <buffer> <C-W><C-]>" .
|
||||
\ "|sil! nunmap <buffer> <C-W>d" .
|
||||
\ "|sil! nunmap <buffer> <C-W><C-D>" .
|
||||
\ "|sil! nunmap <buffer> <C-W>}" .
|
||||
\ "|sil! nunmap <buffer> [d" .
|
||||
\ "|sil! nunmap <buffer> ]d"
|
||||
endif
|
||||
|
||||
function! s:jump(command,count)
|
||||
@@ -38,7 +57,7 @@ function! s:jump(command,count)
|
||||
endfunction
|
||||
|
||||
function! s:allsteps()
|
||||
let step_pattern = '\C^\s*\K\k*\>\s*\zs\S.\{-\}\ze\s*\%(do\|{\)\s*\%(|[^|]*|\s*\)\=\%($\|#\)'
|
||||
let step_pattern = '\C^\s*\K\k*\>\s*(\=\s*\zs\S.\{-\}\ze\s*)\=\s*\%(do\|{\)\s*\%(|[^|]*|\s*\)\=\%($\|#\)'
|
||||
let steps = []
|
||||
for file in split(glob(b:cucumber_root.'/**/*.rb'),"\n")
|
||||
let lines = readfile(file)
|
||||
@@ -55,7 +74,7 @@ function! s:allsteps()
|
||||
endfunction
|
||||
|
||||
function! s:steps(lnum)
|
||||
let c = indent(a:lnum) + 1
|
||||
let c = match(getline(a:lnum), '\S') + 1
|
||||
while synIDattr(synID(a:lnum,c,1),'name') !~# '^$\|Region$'
|
||||
let c = c + 1
|
||||
endwhile
|
||||
@@ -129,4 +148,7 @@ function! CucumberComplete(findstart,base) abort
|
||||
return sort(steps)
|
||||
endfunction
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
" vim:set sts=2 sw=2:
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: eRuby
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2012 Mar 11
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
@@ -23,12 +21,11 @@ if !exists("g:eruby_default_subtype")
|
||||
let g:eruby_default_subtype = "html"
|
||||
endif
|
||||
|
||||
if !exists("b:eruby_subtype")
|
||||
if &filetype =~ '^eruby\.'
|
||||
let b:eruby_subtype = matchstr(&filetype,'^eruby\.\zs\w\+')
|
||||
elseif !exists("b:eruby_subtype")
|
||||
let s:lines = getline(1)."\n".getline(2)."\n".getline(3)."\n".getline(4)."\n".getline(5)."\n".getline("$")
|
||||
let b:eruby_subtype = matchstr(s:lines,'eruby_subtype=\zs\w\+')
|
||||
if b:eruby_subtype == ''
|
||||
let b:eruby_subtype = matchstr(&filetype,'^eruby\.\zs\w\+')
|
||||
endif
|
||||
if b:eruby_subtype == ''
|
||||
let b:eruby_subtype = matchstr(substitute(expand("%:t"),'\c\%(\.erb\|\.eruby\|\.erubis\)\+$','',''),'\.\zs\w\+$')
|
||||
endif
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Falcon
|
||||
" Author: Steven Oliver <oliver.steven@gmail.com>
|
||||
" Copyright: Copyright (c) 2009, 2010, 2011, 2012 Steven Oliver
|
||||
" Copyright: Copyright (c) 2009-2013 Steven Oliver
|
||||
" License: You may redistribute this under the same terms as Vim itself
|
||||
" --------------------------------------------------------------------------
|
||||
" GetLatestVimScripts: 2762 1 :AutoInstall: falcon.vim
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
@@ -15,7 +14,7 @@ let b:did_ftplugin = 1
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal tabstop=4 shiftwidth=4 expandtab fileencoding=utf-8
|
||||
setlocal softtabstop=4 shiftwidth=4 fileencoding=utf-8
|
||||
setlocal suffixesadd=.fal,.ftd
|
||||
|
||||
" Matchit support
|
||||
@@ -31,7 +30,6 @@ if exists("loaded_matchit") && !exists("b:match_words")
|
||||
\ ',{:},\[:\],(:)'
|
||||
endif
|
||||
|
||||
" Set comments to include dashed lines
|
||||
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
|
||||
|
||||
" Windows allows you to filter the open file dialog
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: generic git output
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: git commit file
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2012 April 7
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
@@ -11,9 +11,9 @@ endif
|
||||
runtime! ftplugin/git.vim
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal nomodeline
|
||||
setlocal nomodeline tabstop=8 formatoptions-=croq formatoptions+=tl
|
||||
|
||||
let b:undo_ftplugin = 'setl modeline<'
|
||||
let b:undo_ftplugin = 'setl modeline< tabstop< formatoptions<'
|
||||
|
||||
if &textwidth == 0
|
||||
" make sure that log messages play nice with git-log on standard terminals
|
||||
|
||||
32
runtime/ftplugin/gprof.vim
Normal file
32
runtime/ftplugin/gprof.vim
Normal file
@@ -0,0 +1,32 @@
|
||||
" Language: gprof
|
||||
" Maintainer: Dominique Pelle <dominique.pelle@gmail.com>
|
||||
" Last Change: 2013 Jun 09
|
||||
|
||||
" When cursor is on one line of the gprof call graph,
|
||||
" calling this function jumps to this function in the call graph.
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin=1
|
||||
|
||||
fun! <SID>GprofJumpToFunctionIndex()
|
||||
let l:line = getline('.')
|
||||
if l:line =~ '[\d\+\]$'
|
||||
" We're in a line in the call graph.
|
||||
norm! $y%
|
||||
call search('^' . escape(@", '[]'), 'sw')
|
||||
norm! zz
|
||||
elseif l:line =~ '^\(\s\+[0-9\.]\+\)\{3}\s\+'
|
||||
" We're in line in the flat profile.
|
||||
norm! 55|eby$
|
||||
call search('^\[\d\+\].*\d\s\+' . escape(@", '[]*.') . '\>', 'sW')
|
||||
norm! zz
|
||||
endif
|
||||
endfun
|
||||
|
||||
" Pressing <C-]> on a line in the gprof flat profile or in
|
||||
" the call graph, jumps to the corresponding function inside
|
||||
" the flat profile.
|
||||
map <buffer> <silent> <C-]> :call <SID>GprofJumpToFunctionIndex()<CR>
|
||||
|
||||
" vim:sw=2 fdm=indent
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Haml
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2012 Mar 11
|
||||
" Language: Haml
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2013 Jun 01
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -18,6 +18,7 @@ let s:match_words = ""
|
||||
|
||||
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
|
||||
unlet! b:did_ftplugin
|
||||
set matchpairs-=<:>
|
||||
|
||||
" Override our defaults if these were set by an included ftplugin.
|
||||
if exists("b:undo_ftplugin")
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" URL: http://sites.google.com/site/khorser/opensource/vim
|
||||
" Original author: Dorai Sitaram <ds26@gte.com>
|
||||
" Original URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
|
||||
" Last Change: Mar 5, 2012
|
||||
" Last Change: Feb 12, 2013
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -19,10 +19,11 @@ setl define=^\\s*(def\\k*
|
||||
setl formatoptions-=t
|
||||
setl iskeyword+=+,-,*,/,%,<,=,>,:,$,?,!,@-@,94
|
||||
setl lisp
|
||||
setl commentstring=;%s
|
||||
|
||||
" make comments behaviour like in c.vim
|
||||
" e.g. insertion of ;;; and ;; on normal "O" or "o" when staying in comment
|
||||
setl comments^=:;;;,:;;,sr:#\|,mb:\|,ex:\|#
|
||||
setl formatoptions+=croql
|
||||
|
||||
let b:undo_ftplugin = "setlocal comments< define< formatoptions< iskeyword< lisp<"
|
||||
let b:undo_ftplugin = "setlocal comments< define< formatoptions< iskeyword< lisp< commentstring<"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Make
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2006 Jun 17
|
||||
" Last Change: 2013 Apr 22
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -26,3 +26,8 @@ setlocal commentstring=#\ %s
|
||||
|
||||
" Including files.
|
||||
let &l:include = '^\s*include'
|
||||
|
||||
" For matchit.vim, suggested by Albert Netymk.
|
||||
if exists("loaded_matchit")
|
||||
let b:match_words = '\<if\(n\)\=\(eq\|def\)\>:\<else\>:\<endif\>,\<define\>:\<endef\>'
|
||||
endif
|
||||
|
||||
@@ -1,17 +1,16 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Markdown
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2011 Dec 14
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
|
||||
unlet! b:did_ftplugin
|
||||
|
||||
setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=>\ %s
|
||||
setlocal formatoptions+=tcqln
|
||||
setlocal formatoptions+=tcqln formatoptions-=r formatoptions-=o
|
||||
setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^[-*+]\\s\\+
|
||||
|
||||
if exists('b:undo_ftplugin')
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Perl
|
||||
" Maintainer: Andy Lester <andy@petdance.com>
|
||||
" URL: http://github.com/petdance/vim-perl
|
||||
" Last Change: 2012 Mar 11
|
||||
" Language: Perl
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Homepage: http://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||
" Last Change: 2013-05-11
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
let b:did_ftplugin = 1
|
||||
@@ -12,7 +13,8 @@ let b:did_ftplugin = 1
|
||||
let s:save_cpo = &cpo
|
||||
set cpo-=C
|
||||
|
||||
setlocal formatoptions+=crq
|
||||
setlocal formatoptions-=t
|
||||
setlocal formatoptions+=crqol
|
||||
setlocal keywordprg=perldoc\ -f
|
||||
|
||||
setlocal comments=:#
|
||||
@@ -29,7 +31,7 @@ endif
|
||||
" Provided by Ned Konz <ned at bike-nomad dot com>
|
||||
"---------------------------------------------
|
||||
setlocal include=\\<\\(use\\\|require\\)\\>
|
||||
setlocal includeexpr=substitute(substitute(v:fname,'::','/','g'),'$','.pm','')
|
||||
setlocal includeexpr=substitute(substitute(substitute(v:fname,'::','/','g'),'->\*','',''),'$','.pm','')
|
||||
setlocal define=[^A-Za-z_]
|
||||
|
||||
" The following line changes a global variable but is necessary to make
|
||||
@@ -38,7 +40,7 @@ setlocal define=[^A-Za-z_]
|
||||
" problem for you, add an after/ftplugin/perl.vim file that contains
|
||||
" set isfname-=:
|
||||
set isfname+=:
|
||||
"setlocal iskeyword=48-57,_,A-Z,a-z,:
|
||||
set iskeyword+=:
|
||||
|
||||
" Set this once, globally.
|
||||
if !exists("perlpath")
|
||||
@@ -60,13 +62,27 @@ if !exists("perlpath")
|
||||
endif
|
||||
endif
|
||||
|
||||
let &l:path=perlpath
|
||||
" Append perlpath to the existing path value, if it is set. Since we don't
|
||||
" use += to do it because of the commas in perlpath, we have to handle the
|
||||
" global / local settings, too.
|
||||
if &l:path == ""
|
||||
if &g:path == ""
|
||||
let &l:path=perlpath
|
||||
else
|
||||
let &l:path=&g:path.",".perlpath
|
||||
endif
|
||||
else
|
||||
let &l:path=&l:path.",".perlpath
|
||||
endif
|
||||
"---------------------------------------------
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "setlocal fo< com< cms< inc< inex< def< isf< kp<" .
|
||||
let b:undo_ftplugin = "setlocal fo< com< cms< inc< inex< def< isf< kp< path<" .
|
||||
\ " | unlet! b:browsefilter"
|
||||
|
||||
" proper matching for matchit plugin
|
||||
let b:match_skip = 's:comment\|string\|perlQQ\|perlShellCommand\|perlHereDoc\|perlSubstitution\|perlTranslation\|perlMatch\|perlFormatField'
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Perl 6
|
||||
" Maintainer: Andy Lester <andy@petdance.com>
|
||||
" URL: http://github.com/petdance/vim-perl/tree/master
|
||||
" Last Change: 2012 Mar 11
|
||||
" Contributors: Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
|
||||
" Language: Perl 6
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Homepage: http://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||
" Last Change: 2013-05-11
|
||||
" Contributors: Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
|
||||
"
|
||||
" Based on ftplugin/perl.vim by Dan Sharp <dwsharp at hotmail dot com>
|
||||
|
||||
@@ -15,16 +16,19 @@ let b:did_ftplugin = 1
|
||||
let s:save_cpo = &cpo
|
||||
set cpo-=C
|
||||
|
||||
setlocal formatoptions+=crq
|
||||
setlocal formatoptions-=t
|
||||
setlocal formatoptions+=crqol
|
||||
setlocal keywordprg=p6doc
|
||||
|
||||
setlocal comments=:#
|
||||
setlocal commentstring=#%s
|
||||
|
||||
" Change the browse dialog on Win32 to show mainly Perl-related files
|
||||
if has("gui_win32")
|
||||
let b:browsefilter = "Perl Source Files (*.pl)\t*.pl\n" .
|
||||
\ "Perl Modules (*.pm)\t*.pm\n" .
|
||||
\ "Perl Documentation Files (*.pod)\t*.pod\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
\ "Perl Modules (*.pm)\t*.pm\n" .
|
||||
\ "Perl Documentation Files (*.pod)\t*.pod\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
" Provided by Ned Konz <ned at bike-nomad dot com>
|
||||
@@ -39,10 +43,34 @@ setlocal define=[^A-Za-z_]
|
||||
" after/ftplugin/perl6.vim file that contains
|
||||
" set isfname-=:
|
||||
set isfname+=:
|
||||
setlocal iskeyword=48-57,_,A-Z,a-z,:,-
|
||||
|
||||
" Set this once, globally.
|
||||
if !exists("perlpath")
|
||||
if executable("perl6")
|
||||
try
|
||||
if &shellxquote != '"'
|
||||
let perlpath = system('perl6 -e "@*INC.join(q/,/).say"')
|
||||
else
|
||||
let perlpath = system("perl6 -e '@*INC.join(q/,/).say'")
|
||||
endif
|
||||
let perlpath = substitute(perlpath,',.$',',,','')
|
||||
catch /E145:/
|
||||
let perlpath = ".,,"
|
||||
endtry
|
||||
else
|
||||
" If we can't call perl to get its path, just default to using the
|
||||
" current directory and the directory of the current file.
|
||||
let perlpath = ".,,"
|
||||
endif
|
||||
endif
|
||||
|
||||
let &l:path=perlpath
|
||||
"---------------------------------------------
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "setlocal fo< com< cms< inc< inex< def< isk<" .
|
||||
\ " | unlet! b:browsefilter"
|
||||
\ " | unlet! b:browsefilter"
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
||||
|
||||
@@ -1,17 +1,10 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Ruby
|
||||
" Maintainer: Gavin Sinclair <gsinclair at gmail.com>
|
||||
" Last Change: 2010 Mar 15
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" ----------------------------------------------------------------------------
|
||||
"
|
||||
" Original matchit support thanks to Ned Konz. See his ftplugin/ruby.vim at
|
||||
" http://bike-nomad.com/vim/ruby.vim.
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
finish
|
||||
endif
|
||||
@@ -21,7 +14,7 @@ let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
if has("gui_running") && !has("gui_win32")
|
||||
setlocal keywordprg=ri\ -T
|
||||
setlocal keywordprg=ri\ -T\ -f\ bs
|
||||
else
|
||||
setlocal keywordprg=ri
|
||||
endif
|
||||
@@ -49,7 +42,7 @@ endif
|
||||
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
setlocal include=^\\s*\\<\\(load\\\|\w*require\\)\\>
|
||||
setlocal include=^\\s*\\<\\(load\\>\\\|require\\>\\\|autoload\\s*:\\=[\"']\\=\\h\\w*[\"']\\=,\\)
|
||||
setlocal includeexpr=substitute(substitute(v:fname,'::','/','g'),'$','.rb','')
|
||||
setlocal suffixesadd=.rb
|
||||
|
||||
@@ -69,41 +62,90 @@ endif
|
||||
setlocal comments=:#
|
||||
setlocal commentstring=#\ %s
|
||||
|
||||
if !exists("s:ruby_path")
|
||||
if exists("g:ruby_path")
|
||||
let s:ruby_path = g:ruby_path
|
||||
elseif has("ruby") && has("win32")
|
||||
ruby VIM::command( 'let s:ruby_path = "%s"' % ($: + begin; require %q{rubygems}; Gem.all_load_paths.sort.uniq; rescue LoadError; []; end).join(%q{,}) )
|
||||
let s:ruby_path = '.,' . substitute(s:ruby_path, '\%(^\|,\)\.\%(,\|$\)', ',,', '')
|
||||
elseif executable("ruby")
|
||||
let s:code = "print ($: + begin; require %q{rubygems}; Gem.all_load_paths.sort.uniq; rescue LoadError; []; end).join(%q{,})"
|
||||
if &shellxquote == "'"
|
||||
let s:ruby_path = system('ruby -e "' . s:code . '"')
|
||||
else
|
||||
let s:ruby_path = system("ruby -e '" . s:code . "'")
|
||||
endif
|
||||
let s:ruby_path = '.,' . substitute(s:ruby_path, '\%(^\|,\)\.\%(,\|$\)', ',,', '')
|
||||
if !exists('g:ruby_version_paths')
|
||||
let g:ruby_version_paths = {}
|
||||
endif
|
||||
|
||||
function! s:query_path(root)
|
||||
let code = "print $:.join %q{,}"
|
||||
if &shell =~# 'sh' && $PATH !~# '\s'
|
||||
let prefix = 'env PATH='.$PATH.' '
|
||||
else
|
||||
" If we can't call ruby to get its path, just default to using the
|
||||
" current directory and the directory of the current file.
|
||||
let s:ruby_path = ".,,"
|
||||
let prefix = ''
|
||||
endif
|
||||
if &shellxquote == "'"
|
||||
let path_check = prefix.'ruby -e "' . code . '"'
|
||||
else
|
||||
let path_check = prefix."ruby -e '" . code . "'"
|
||||
endif
|
||||
|
||||
let cd = haslocaldir() ? 'lcd' : 'cd'
|
||||
let cwd = getcwd()
|
||||
try
|
||||
exe cd fnameescape(a:root)
|
||||
let path = split(system(path_check),',')
|
||||
exe cd fnameescape(cwd)
|
||||
return path
|
||||
finally
|
||||
exe cd fnameescape(cwd)
|
||||
endtry
|
||||
endfunction
|
||||
|
||||
function! s:build_path(path)
|
||||
let path = join(map(copy(a:path), 'v:val ==# "." ? "" : v:val'), ',')
|
||||
if &g:path !~# '\v^\.%(,/%(usr|emx)/include)=,,$'
|
||||
let path = substitute(&g:path,',,$',',','') . ',' . path
|
||||
endif
|
||||
return path
|
||||
endfunction
|
||||
|
||||
if !exists('b:ruby_version') && !exists('g:ruby_path') && isdirectory(expand('%:p:h'))
|
||||
let s:version_file = findfile('.ruby-version', '.;')
|
||||
if !empty(s:version_file)
|
||||
let b:ruby_version = get(readfile(s:version_file, '', 1), '')
|
||||
if !has_key(g:ruby_version_paths, b:ruby_version)
|
||||
let g:ruby_version_paths[b:ruby_version] = s:query_path(fnamemodify(s:version_file, ':p:h'))
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
let &l:path = s:ruby_path
|
||||
if exists("g:ruby_path")
|
||||
let s:ruby_path = type(g:ruby_path) == type([]) ? join(g:ruby_path, ',') : g:ruby_path
|
||||
elseif has_key(g:ruby_version_paths, get(b:, 'ruby_version', ''))
|
||||
let s:ruby_paths = g:ruby_version_paths[b:ruby_version]
|
||||
let s:ruby_path = s:build_path(s:ruby_paths)
|
||||
else
|
||||
if !exists('g:ruby_default_path')
|
||||
if has("ruby") && has("win32")
|
||||
ruby ::VIM::command( 'let g:ruby_default_path = split("%s",",")' % $:.join(%q{,}) )
|
||||
elseif executable('ruby')
|
||||
let g:ruby_default_path = s:query_path($HOME)
|
||||
else
|
||||
let g:ruby_default_path = map(split($RUBYLIB,':'), 'v:val ==# "." ? "" : v:val')
|
||||
endif
|
||||
endif
|
||||
let s:ruby_paths = g:ruby_default_path
|
||||
let s:ruby_path = s:build_path(s:ruby_paths)
|
||||
endif
|
||||
|
||||
if stridx(&l:path, s:ruby_path) == -1
|
||||
let &l:path = s:ruby_path
|
||||
endif
|
||||
if exists('s:ruby_paths') && stridx(&l:tags, join(map(copy(s:ruby_paths),'v:val."/tags"'),',')) == -1
|
||||
let &l:tags = &tags . ',' . join(map(copy(s:ruby_paths),'v:val."/tags"'),',')
|
||||
endif
|
||||
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Ruby Source Files (*.rb)\t*.rb\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setl fo< inc< inex< sua< def< com< cms< path< kp<"
|
||||
let b:undo_ftplugin = "setl fo< inc< inex< sua< def< com< cms< path< tags< kp<"
|
||||
\."| unlet! b:browsefilter b:match_ignorecase b:match_words b:match_skip"
|
||||
\."| if exists('&ofu') && has('ruby') | setl ofu< | endif"
|
||||
\."| if has('balloon_eval') && exists('+bexpr') | setl bexpr< | endif"
|
||||
|
||||
if !exists("g:no_plugin_maps") && !exists("g:no_ruby_maps")
|
||||
|
||||
nnoremap <silent> <buffer> [m :<C-U>call <SID>searchsyn('\<def\>','rubyDefine','b','n')<CR>
|
||||
nnoremap <silent> <buffer> ]m :<C-U>call <SID>searchsyn('\<def\>','rubyDefine','','n')<CR>
|
||||
nnoremap <silent> <buffer> [M :<C-U>call <SID>searchsyn('\<end\>','rubyDefine','b','n')<CR>
|
||||
@@ -126,6 +168,26 @@ if !exists("g:no_plugin_maps") && !exists("g:no_ruby_maps")
|
||||
\."| sil! exe 'unmap <buffer> [[' | sil! exe 'unmap <buffer> ]]' | sil! exe 'unmap <buffer> []' | sil! exe 'unmap <buffer> ]['"
|
||||
\."| sil! exe 'unmap <buffer> [m' | sil! exe 'unmap <buffer> ]m' | sil! exe 'unmap <buffer> [M' | sil! exe 'unmap <buffer> ]M'"
|
||||
|
||||
if maparg('im','n') == ''
|
||||
onoremap <silent> <buffer> im :<C-U>call <SID>wrap_i('[m',']M')<CR>
|
||||
onoremap <silent> <buffer> am :<C-U>call <SID>wrap_a('[m',']M')<CR>
|
||||
xnoremap <silent> <buffer> im :<C-U>call <SID>wrap_i('[m',']M')<CR>
|
||||
xnoremap <silent> <buffer> am :<C-U>call <SID>wrap_a('[m',']M')<CR>
|
||||
let b:undo_ftplugin = b:undo_ftplugin
|
||||
\."| sil! exe 'ounmap <buffer> im' | sil! exe 'ounmap <buffer> am'"
|
||||
\."| sil! exe 'xunmap <buffer> im' | sil! exe 'xunmap <buffer> am'"
|
||||
endif
|
||||
|
||||
if maparg('iM','n') == ''
|
||||
onoremap <silent> <buffer> iM :<C-U>call <SID>wrap_i('[[','][')<CR>
|
||||
onoremap <silent> <buffer> aM :<C-U>call <SID>wrap_a('[[','][')<CR>
|
||||
xnoremap <silent> <buffer> iM :<C-U>call <SID>wrap_i('[[','][')<CR>
|
||||
xnoremap <silent> <buffer> aM :<C-U>call <SID>wrap_a('[[','][')<CR>
|
||||
let b:undo_ftplugin = b:undo_ftplugin
|
||||
\."| sil! exe 'ounmap <buffer> iM' | sil! exe 'ounmap <buffer> aM'"
|
||||
\."| sil! exe 'xunmap <buffer> iM' | sil! exe 'xunmap <buffer> aM'"
|
||||
endif
|
||||
|
||||
if maparg("\<C-]>",'n') == ''
|
||||
nnoremap <silent> <buffer> <C-]> :<C-U>exe v:count1."tag <C-R>=RubyCursorIdentifier()<CR>"<CR>
|
||||
nnoremap <silent> <buffer> g<C-]> :<C-U>exe "tjump <C-R>=RubyCursorIdentifier()<CR>"<CR>
|
||||
@@ -142,6 +204,17 @@ if !exists("g:no_plugin_maps") && !exists("g:no_ruby_maps")
|
||||
\."| sil! exe 'nunmap <buffer> <C-W>g<C-]>'| sil! exe 'nunmap <buffer> <C-W>g]'"
|
||||
\."| sil! exe 'nunmap <buffer> <C-W>}'| sil! exe 'nunmap <buffer> <C-W>g}'"
|
||||
endif
|
||||
|
||||
if maparg("gf",'n') == ''
|
||||
" By using findfile() rather than gf's normal behavior, we prevent
|
||||
" erroneously editing a directory.
|
||||
nnoremap <silent> <buffer> gf :<C-U>exe <SID>gf(v:count1,"gf",'edit')<CR>
|
||||
nnoremap <silent> <buffer> <C-W>f :<C-U>exe <SID>gf(v:count1,"\<Lt>C-W>f",'split')<CR>
|
||||
nnoremap <silent> <buffer> <C-W><C-F> :<C-U>exe <SID>gf(v:count1,"\<Lt>C-W>\<Lt>C-F>",'split')<CR>
|
||||
nnoremap <silent> <buffer> <C-W>gf :<C-U>exe <SID>gf(v:count1,"\<Lt>C-W>gf",'tabedit')<CR>
|
||||
let b:undo_ftplugin = b:undo_ftplugin
|
||||
\."| sil! exe 'nunmap <buffer> gf' | sil! exe 'nunmap <buffer> <C-W>f' | sil! exe 'nunmap <buffer> <C-W><C-F>' | sil! exe 'nunmap <buffer> <C-W>gf'"
|
||||
endif
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
@@ -191,7 +264,7 @@ function! RubyBalloonexpr()
|
||||
if str !~ '^\w'
|
||||
return ''
|
||||
endif
|
||||
silent! let res = substitute(system("ri -f simple -T \"".str.'"'),'\n$','','')
|
||||
silent! let res = substitute(system("ri -f rdoc -T \"".str.'"'),'\n$','','')
|
||||
if res =~ '^Nothing known about' || res =~ '^Bad argument:' || res =~ '^More than one method'
|
||||
return ''
|
||||
endif
|
||||
@@ -202,29 +275,57 @@ function! RubyBalloonexpr()
|
||||
endfunction
|
||||
|
||||
function! s:searchsyn(pattern,syn,flags,mode)
|
||||
norm! m'
|
||||
if a:mode ==# 'v'
|
||||
norm! gv
|
||||
endif
|
||||
let i = 0
|
||||
let cnt = v:count ? v:count : 1
|
||||
while i < cnt
|
||||
let i = i + 1
|
||||
let line = line('.')
|
||||
let col = col('.')
|
||||
let pos = search(a:pattern,'W'.a:flags)
|
||||
while pos != 0 && s:synname() !~# a:syn
|
||||
let pos = search(a:pattern,'W'.a:flags)
|
||||
endwhile
|
||||
if pos == 0
|
||||
call cursor(line,col)
|
||||
return
|
||||
endif
|
||||
norm! m'
|
||||
if a:mode ==# 'v'
|
||||
norm! gv
|
||||
endif
|
||||
let i = 0
|
||||
let cnt = v:count ? v:count : 1
|
||||
while i < cnt
|
||||
let i = i + 1
|
||||
let line = line('.')
|
||||
let col = col('.')
|
||||
let pos = search(a:pattern,'W'.a:flags)
|
||||
while pos != 0 && s:synname() !~# a:syn
|
||||
let pos = search(a:pattern,'W'.a:flags)
|
||||
endwhile
|
||||
if pos == 0
|
||||
call cursor(line,col)
|
||||
return
|
||||
endif
|
||||
endwhile
|
||||
endfunction
|
||||
|
||||
function! s:synname()
|
||||
return synIDattr(synID(line('.'),col('.'),0),'name')
|
||||
return synIDattr(synID(line('.'),col('.'),0),'name')
|
||||
endfunction
|
||||
|
||||
function! s:wrap_i(back,forward)
|
||||
execute 'norm k'.a:forward
|
||||
let line = line('.')
|
||||
execute 'norm '.a:back
|
||||
if line('.') == line - 1
|
||||
return s:wrap_a(a:back,a:forward)
|
||||
endif
|
||||
execute 'norm jV'.a:forward.'k'
|
||||
endfunction
|
||||
|
||||
function! s:wrap_a(back,forward)
|
||||
execute 'norm '.a:forward
|
||||
if line('.') < line('$') && getline(line('.')+1) ==# ''
|
||||
let after = 1
|
||||
endif
|
||||
execute 'norm '.a:back
|
||||
while getline(line('.')-1) =~# '^\s*#' && line('.')
|
||||
-
|
||||
endwhile
|
||||
if exists('after')
|
||||
execute 'norm V'.a:forward.'j'
|
||||
elseif line('.') > 1 && getline(line('.')-1) =~# '^\s*$'
|
||||
execute 'norm kV'.a:forward
|
||||
else
|
||||
execute 'norm V'.a:forward
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! RubyCursorIdentifier()
|
||||
@@ -241,6 +342,26 @@ function! RubyCursorIdentifier()
|
||||
return stripped == '' ? expand("<cword>") : stripped
|
||||
endfunction
|
||||
|
||||
function! s:gf(count,map,edit) abort
|
||||
if getline('.') =~# '^\s*require_relative\s*\(["'']\).*\1\s*$'
|
||||
let target = matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1')
|
||||
return a:edit.' %:h/'.target.'.rb'
|
||||
elseif getline('.') =~# '^\s*\%(require[( ]\|load[( ]\|autoload[( ]:\w\+,\)\s*\s*\%(::\)\=File\.expand_path(\(["'']\)\.\./.*\1,\s*__FILE__)\s*$'
|
||||
let target = matchstr(getline('.'),'\(["'']\)\.\./\zs.\{-\}\ze\1')
|
||||
return a:edit.' %:h/'.target.'.rb'
|
||||
elseif getline('.') =~# '^\s*\%(require \|load \|autoload :\w\+,\)\s*\(["'']\).*\1\s*$'
|
||||
let target = matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1')
|
||||
else
|
||||
let target = expand('<cfile>')
|
||||
endif
|
||||
let found = findfile(target, &path, a:count)
|
||||
if found ==# ''
|
||||
return 'norm! '.a:count.a:map
|
||||
else
|
||||
return a:edit.' '.fnameescape(found)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
"
|
||||
" Instructions for enabling "matchit" support:
|
||||
"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" URL: http://sites.google.com/site/khorser/opensource/vim
|
||||
" Original author: Dorai Sitaram <ds26@gte.com>
|
||||
" Original URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
|
||||
" Last Change: Mar 5, 2012
|
||||
" Last Change: Feb 12, 2013
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -20,6 +20,7 @@ setl define=^\\s*(def\\k*
|
||||
setl formatoptions-=t
|
||||
setl iskeyword+=+,-,*,/,%,<,=,>,:,$,?,!,@-@,94
|
||||
setl lisp
|
||||
setl commentstring=;%s
|
||||
|
||||
" make comments behaviour like in c.vim
|
||||
" e.g. insertion of ;;; and ;; on normal "O" or "o" when staying in comment
|
||||
@@ -44,4 +45,4 @@ if exists("b:is_chicken") || exists("is_chicken")
|
||||
setl lispwords+=cond-expand,and-let*,foreign-lambda,foreign-lambda*
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setlocal comments< define< formatoptions< iskeyword< lispwords< lisp<"
|
||||
let b:undo_ftplugin = "setlocal comments< define< formatoptions< iskeyword< lispwords< lisp< commentstring<"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" SQL filetype plugin file
|
||||
" Language: SQL (Common for Oracle, Microsoft SQL Server, Sybase)
|
||||
" Version: 10.0
|
||||
" Version: 11.0
|
||||
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
||||
" Last Change: 2012 Dec 04
|
||||
" Last Change: 2013 May 13
|
||||
" Download: http://vim.sourceforge.net/script.php?script_id=454
|
||||
|
||||
" For more details please use:
|
||||
@@ -36,6 +36,10 @@
|
||||
"
|
||||
" History
|
||||
"
|
||||
" Version 11.0 (May 2013)
|
||||
"
|
||||
" NF: Updated to use SyntaxComplete's new regex support for syntax groups.
|
||||
"
|
||||
" Version 10.0 (Dec 2012)
|
||||
"
|
||||
" NF: Changed all maps to use noremap instead of must map
|
||||
@@ -189,7 +193,7 @@ if !exists("*SQL_SetType")
|
||||
|
||||
" Remove any cached SQL since a new sytax will have different
|
||||
" items and groups
|
||||
if !exists('g:loaded_sql_completion') || 100 == g:loaded_sql_completion
|
||||
if !exists('g:loaded_sql_completion') || g:loaded_sql_completion >= 100
|
||||
call sqlcomplete#ResetCacheSyntax()
|
||||
endif
|
||||
|
||||
@@ -458,6 +462,8 @@ if exists('&omnifunc')
|
||||
" OMNI function prior to setting up the SQL OMNI function
|
||||
let b:sql_compl_savefunc = &omnifunc
|
||||
|
||||
" Source it to determine it's version
|
||||
runtime autoload/sqlcomplete.vim
|
||||
" This is used by the sqlcomplete.vim plugin
|
||||
" Source it for it's global functions
|
||||
runtime autoload/syntaxcomplete.vim
|
||||
@@ -466,14 +472,20 @@ if exists('&omnifunc')
|
||||
" Prevent the intellisense plugin from loading
|
||||
let b:sql_vis = 1
|
||||
if !exists('g:omni_sql_no_default_maps')
|
||||
let regex_extra = ''
|
||||
if exists('g:loaded_syntax_completion') && exists('g:loaded_sql_completion')
|
||||
if g:loaded_syntax_completion > 120 && g:loaded_sql_completion > 140
|
||||
let regex_extra = '\\w*'
|
||||
endif
|
||||
endif
|
||||
" Static maps which use populate the completion list
|
||||
" using Vim's syntax highlighting rules
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'a <C-\><C-O>:call sqlcomplete#Map("syntax")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'k <C-\><C-O>:call sqlcomplete#Map("sqlKeyword")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'f <C-\><C-O>:call sqlcomplete#Map("sqlFunction")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'o <C-\><C-O>:call sqlcomplete#Map("sqlOption")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'T <C-\><C-O>:call sqlcomplete#Map("sqlType")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'s <C-\><C-O>:call sqlcomplete#Map("sqlStatement")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'k <C-\><C-O>:call sqlcomplete#Map("sqlKeyword'.regex_extra.'")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'f <C-\><C-O>:call sqlcomplete#Map("sqlFunction'.regex_extra.'")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'o <C-\><C-O>:call sqlcomplete#Map("sqlOption'.regex_extra.'")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'T <C-\><C-O>:call sqlcomplete#Map("sqlType'.regex_extra.'")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'s <C-\><C-O>:call sqlcomplete#Map("sqlStatement'.regex_extra.'")<CR><C-X><C-O>'
|
||||
" Dynamic maps which use populate the completion list
|
||||
" using the dbext.vim plugin
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'t <C-\><C-O>:call sqlcomplete#Map("table")<CR><C-X><C-O>'
|
||||
@@ -510,4 +522,3 @@ let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim:sw=4:
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: XS (Perl extension interface language)
|
||||
" Maintainer: Andy Lester <andy@petdance.com>
|
||||
" URL: http://github.com/petdance/vim-perl
|
||||
" Last Change: 2009-08-14
|
||||
" Language: XS (Perl extension interface language)
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Homepage: http://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||
" Last Change: 2009-08-14
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
|
||||
398
runtime/indent/clojure.vim
Normal file
398
runtime/indent/clojure.vim
Normal file
@@ -0,0 +1,398 @@
|
||||
" Vim indent file
|
||||
" Language: Clojure
|
||||
" Author: Meikel Brandmeyer <mb@kotka.de>
|
||||
" URL: http://kotka.de/projects/clojure/vimclojure.html
|
||||
"
|
||||
" Maintainer: Sung Pae <self@sungpae.com>
|
||||
" URL: https://github.com/guns/vim-clojure-static
|
||||
" License: Same as Vim
|
||||
" Last Change: 30 January 2013
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_indent = 'setlocal autoindent< smartindent< lispwords< expandtab< softtabstop< shiftwidth< indentexpr< indentkeys<'
|
||||
|
||||
setlocal noautoindent nosmartindent
|
||||
setlocal softtabstop=2 shiftwidth=2 expandtab
|
||||
setlocal indentkeys=!,o,O
|
||||
|
||||
if exists("*searchpairpos")
|
||||
|
||||
if !exists('g:clojure_maxlines')
|
||||
let g:clojure_maxlines = 100
|
||||
endif
|
||||
|
||||
if !exists('g:clojure_fuzzy_indent')
|
||||
let g:clojure_fuzzy_indent = 1
|
||||
endif
|
||||
|
||||
if !exists('g:clojure_fuzzy_indent_patterns')
|
||||
let g:clojure_fuzzy_indent_patterns = ['^with', '^def', '^let']
|
||||
endif
|
||||
|
||||
if !exists('g:clojure_fuzzy_indent_blacklist')
|
||||
let g:clojure_fuzzy_indent_blacklist = ['-fn$', '\v^with-%(meta|out-str|loading-context)$']
|
||||
endif
|
||||
|
||||
if !exists('g:clojure_special_indent_words')
|
||||
let g:clojure_special_indent_words = 'deftype,defrecord,reify,proxy,extend-type,extend-protocol,letfn'
|
||||
endif
|
||||
|
||||
if !exists('g:clojure_align_multiline_strings')
|
||||
let g:clojure_align_multiline_strings = 0
|
||||
endif
|
||||
|
||||
function! s:SynIdName()
|
||||
return synIDattr(synID(line("."), col("."), 0), "name")
|
||||
endfunction
|
||||
|
||||
function! s:CurrentChar()
|
||||
return getline('.')[col('.')-1]
|
||||
endfunction
|
||||
|
||||
function! s:CurrentWord()
|
||||
return getline('.')[col('.')-1 : searchpos('\v>', 'n', line('.'))[1]-2]
|
||||
endfunction
|
||||
|
||||
function! s:IsParen()
|
||||
return s:CurrentChar() =~ '\v[\(\)\[\]\{\}]' &&
|
||||
\ s:SynIdName() !~? '\vstring|comment'
|
||||
endfunction
|
||||
|
||||
" Returns 1 if string matches a pattern in 'patterns', which may be a
|
||||
" list of patterns, or a comma-delimited string of implicitly anchored
|
||||
" patterns.
|
||||
function! s:MatchesOne(patterns, string)
|
||||
let list = type(a:patterns) == type([])
|
||||
\ ? a:patterns
|
||||
\ : map(split(a:patterns, ','), '"^" . v:val . "$"')
|
||||
for pat in list
|
||||
if a:string =~ pat | return 1 | endif
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
function! s:SavePosition()
|
||||
let [ _b, l, c, _o ] = getpos(".")
|
||||
let b = bufnr("%")
|
||||
return [b, l, c]
|
||||
endfunction
|
||||
|
||||
function! s:RestorePosition(value)
|
||||
let [b, l, c] = a:value
|
||||
if bufnr("%") != b
|
||||
execute b "buffer!"
|
||||
endif
|
||||
call setpos(".", [0, l, c, 0])
|
||||
endfunction
|
||||
|
||||
function! s:MatchPairs(open, close, stopat)
|
||||
" Stop only on vector and map [ resp. {. Ignore the ones in strings and
|
||||
" comments.
|
||||
if a:stopat == 0
|
||||
let stopat = max([line(".") - g:clojure_maxlines, 0])
|
||||
else
|
||||
let stopat = a:stopat
|
||||
endif
|
||||
|
||||
let pos = searchpairpos(a:open, '', a:close, 'bWn', "!s:IsParen()", stopat)
|
||||
return [pos[0], virtcol(pos)]
|
||||
endfunction
|
||||
|
||||
function! s:ClojureCheckForStringWorker()
|
||||
" Check whether there is the last character of the previous line is
|
||||
" highlighted as a string. If so, we check whether it's a ". In this
|
||||
" case we have to check also the previous character. The " might be the
|
||||
" closing one. In case the we are still in the string, we search for the
|
||||
" opening ". If this is not found we take the indent of the line.
|
||||
let nb = prevnonblank(v:lnum - 1)
|
||||
|
||||
if nb == 0
|
||||
return -1
|
||||
endif
|
||||
|
||||
call cursor(nb, 0)
|
||||
call cursor(0, col("$") - 1)
|
||||
if s:SynIdName() !~? "string"
|
||||
return -1
|
||||
endif
|
||||
|
||||
" This will not work for a " in the first column...
|
||||
if s:CurrentChar() == '"'
|
||||
call cursor(0, col("$") - 2)
|
||||
if s:SynIdName() !~? "string"
|
||||
return -1
|
||||
endif
|
||||
if s:CurrentChar() != '\\'
|
||||
return -1
|
||||
endif
|
||||
call cursor(0, col("$") - 1)
|
||||
endif
|
||||
|
||||
let p = searchpos('\(^\|[^\\]\)\zs"', 'bW')
|
||||
|
||||
if p != [0, 0]
|
||||
return p[1] - 1
|
||||
endif
|
||||
|
||||
return indent(".")
|
||||
endfunction
|
||||
|
||||
function! s:CheckForString()
|
||||
let pos = s:SavePosition()
|
||||
try
|
||||
let val = s:ClojureCheckForStringWorker()
|
||||
finally
|
||||
call s:RestorePosition(pos)
|
||||
endtry
|
||||
return val
|
||||
endfunction
|
||||
|
||||
function! s:ClojureIsMethodSpecialCaseWorker(position)
|
||||
" Find the next enclosing form.
|
||||
call search('\S', 'Wb')
|
||||
|
||||
" Special case: we are at a '(('.
|
||||
if s:CurrentChar() == '('
|
||||
return 0
|
||||
endif
|
||||
call cursor(a:position)
|
||||
|
||||
let nextParen = s:MatchPairs('(', ')', 0)
|
||||
|
||||
" Special case: we are now at toplevel.
|
||||
if nextParen == [0, 0]
|
||||
return 0
|
||||
endif
|
||||
call cursor(nextParen)
|
||||
|
||||
call search('\S', 'W')
|
||||
if g:clojure_special_indent_words =~ '\<' . s:CurrentWord() . '\>'
|
||||
return 1
|
||||
endif
|
||||
|
||||
return 0
|
||||
endfunction
|
||||
|
||||
function! s:IsMethodSpecialCase(position)
|
||||
let pos = s:SavePosition()
|
||||
try
|
||||
let val = s:ClojureIsMethodSpecialCaseWorker(a:position)
|
||||
finally
|
||||
call s:RestorePosition(pos)
|
||||
endtry
|
||||
return val
|
||||
endfunction
|
||||
|
||||
function! GetClojureIndent()
|
||||
" Get rid of special case.
|
||||
if line(".") == 1
|
||||
return 0
|
||||
endif
|
||||
|
||||
" We have to apply some heuristics here to figure out, whether to use
|
||||
" normal lisp indenting or not.
|
||||
let i = s:CheckForString()
|
||||
if i > -1
|
||||
return i + !!g:clojure_align_multiline_strings
|
||||
endif
|
||||
|
||||
call cursor(0, 1)
|
||||
|
||||
" Find the next enclosing [ or {. We can limit the second search
|
||||
" to the line, where the [ was found. If no [ was there this is
|
||||
" zero and we search for an enclosing {.
|
||||
let paren = s:MatchPairs('(', ')', 0)
|
||||
let bracket = s:MatchPairs('\[', '\]', paren[0])
|
||||
let curly = s:MatchPairs('{', '}', bracket[0])
|
||||
|
||||
" In case the curly brace is on a line later then the [ or - in
|
||||
" case they are on the same line - in a higher column, we take the
|
||||
" curly indent.
|
||||
if curly[0] > bracket[0] || curly[1] > bracket[1]
|
||||
if curly[0] > paren[0] || curly[1] > paren[1]
|
||||
return curly[1]
|
||||
endif
|
||||
endif
|
||||
|
||||
" If the curly was not chosen, we take the bracket indent - if
|
||||
" there was one.
|
||||
if bracket[0] > paren[0] || bracket[1] > paren[1]
|
||||
return bracket[1]
|
||||
endif
|
||||
|
||||
" There are neither { nor [ nor (, ie. we are at the toplevel.
|
||||
if paren == [0, 0]
|
||||
return 0
|
||||
endif
|
||||
|
||||
" Now we have to reimplement lispindent. This is surprisingly easy, as
|
||||
" soon as one has access to syntax items.
|
||||
"
|
||||
" - Check whether we are in a special position after a word in
|
||||
" g:clojure_special_indent_words. These are special cases.
|
||||
" - Get the next keyword after the (.
|
||||
" - If its first character is also a (, we have another sexp and align
|
||||
" one column to the right of the unmatched (.
|
||||
" - In case it is in lispwords, we indent the next line to the column of
|
||||
" the ( + sw.
|
||||
" - If not, we check whether it is last word in the line. In that case
|
||||
" we again use ( + sw for indent.
|
||||
" - In any other case we use the column of the end of the word + 2.
|
||||
call cursor(paren)
|
||||
|
||||
if s:IsMethodSpecialCase(paren)
|
||||
return paren[1] + &shiftwidth - 1
|
||||
endif
|
||||
|
||||
" In case we are at the last character, we use the paren position.
|
||||
if col("$") - 1 == paren[1]
|
||||
return paren[1]
|
||||
endif
|
||||
|
||||
" In case after the paren is a whitespace, we search for the next word.
|
||||
normal! l
|
||||
if s:CurrentChar() == ' '
|
||||
normal! w
|
||||
endif
|
||||
|
||||
" If we moved to another line, there is no word after the (. We
|
||||
" use the ( position for indent.
|
||||
if line(".") > paren[0]
|
||||
return paren[1]
|
||||
endif
|
||||
|
||||
" We still have to check, whether the keyword starts with a (, [ or {.
|
||||
" In that case we use the ( position for indent.
|
||||
let w = s:CurrentWord()
|
||||
if stridx('([{', w[0]) > -1
|
||||
return paren[1]
|
||||
endif
|
||||
|
||||
" Test words without namespace qualifiers and leading reader macro
|
||||
" metacharacters.
|
||||
"
|
||||
" e.g. clojure.core/defn and #'defn should both indent like defn.
|
||||
let ww = substitute(w, "\\v%(.*/|[#'`~@^,]*)(.*)", '\1', '')
|
||||
|
||||
if &lispwords =~ '\V\<' . ww . '\>'
|
||||
return paren[1] + &shiftwidth - 1
|
||||
endif
|
||||
|
||||
if g:clojure_fuzzy_indent
|
||||
\ && !s:MatchesOne(g:clojure_fuzzy_indent_blacklist, ww)
|
||||
\ && s:MatchesOne(g:clojure_fuzzy_indent_patterns, ww)
|
||||
return paren[1] + &shiftwidth - 1
|
||||
endif
|
||||
|
||||
normal! W
|
||||
if paren[0] < line(".")
|
||||
return paren[1] + &shiftwidth - 1
|
||||
endif
|
||||
|
||||
normal! ge
|
||||
return virtcol(".") + 1
|
||||
endfunction
|
||||
|
||||
setlocal indentexpr=GetClojureIndent()
|
||||
|
||||
else
|
||||
|
||||
" In case we have searchpairpos not available we fall back to
|
||||
" normal lisp indenting.
|
||||
setlocal indentexpr=
|
||||
setlocal lisp
|
||||
let b:undo_indent .= '| setlocal lisp<'
|
||||
|
||||
endif
|
||||
|
||||
" Specially indented symbols from clojure.core and clojure.test.
|
||||
"
|
||||
" Clojure symbols are indented in the defn style when they:
|
||||
"
|
||||
" * Define vars and anonymous functions
|
||||
" * Create new lexical scopes or scopes with altered environments
|
||||
" * Create conditional branches from a predicate function or value
|
||||
"
|
||||
" The arglists for these functions are generally in the form of [x & body];
|
||||
" Functions that accept a flat list of forms do not treat the first argument
|
||||
" specially and hence are not indented specially.
|
||||
|
||||
" Definitions
|
||||
setlocal lispwords=
|
||||
setlocal lispwords+=bound-fn
|
||||
setlocal lispwords+=def
|
||||
setlocal lispwords+=definline
|
||||
setlocal lispwords+=definterface
|
||||
setlocal lispwords+=defmacro
|
||||
setlocal lispwords+=defmethod
|
||||
setlocal lispwords+=defmulti
|
||||
setlocal lispwords+=defn
|
||||
setlocal lispwords+=defn-
|
||||
setlocal lispwords+=defonce
|
||||
setlocal lispwords+=defprotocol
|
||||
setlocal lispwords+=defrecord
|
||||
setlocal lispwords+=defstruct
|
||||
setlocal lispwords+=deftest " clojure.test
|
||||
setlocal lispwords+=deftest- " clojure.test
|
||||
setlocal lispwords+=deftype
|
||||
setlocal lispwords+=extend
|
||||
setlocal lispwords+=extend-protocol
|
||||
setlocal lispwords+=extend-type
|
||||
setlocal lispwords+=fn
|
||||
setlocal lispwords+=ns
|
||||
setlocal lispwords+=proxy
|
||||
setlocal lispwords+=reify
|
||||
setlocal lispwords+=set-test " clojure.test
|
||||
|
||||
" Binding forms
|
||||
setlocal lispwords+=as->
|
||||
setlocal lispwords+=binding
|
||||
setlocal lispwords+=doall
|
||||
setlocal lispwords+=dorun
|
||||
setlocal lispwords+=doseq
|
||||
setlocal lispwords+=dotimes
|
||||
setlocal lispwords+=doto
|
||||
setlocal lispwords+=for
|
||||
setlocal lispwords+=if-let
|
||||
setlocal lispwords+=let
|
||||
setlocal lispwords+=letfn
|
||||
setlocal lispwords+=locking
|
||||
setlocal lispwords+=loop
|
||||
setlocal lispwords+=testing " clojure.test
|
||||
setlocal lispwords+=when-first
|
||||
setlocal lispwords+=when-let
|
||||
setlocal lispwords+=with-bindings
|
||||
setlocal lispwords+=with-in-str
|
||||
setlocal lispwords+=with-local-vars
|
||||
setlocal lispwords+=with-open
|
||||
setlocal lispwords+=with-precision
|
||||
setlocal lispwords+=with-redefs
|
||||
setlocal lispwords+=with-redefs-fn
|
||||
setlocal lispwords+=with-test " clojure.test
|
||||
|
||||
" Conditional branching
|
||||
setlocal lispwords+=case
|
||||
setlocal lispwords+=cond->
|
||||
setlocal lispwords+=cond->>
|
||||
setlocal lispwords+=condp
|
||||
setlocal lispwords+=if
|
||||
setlocal lispwords+=if-not
|
||||
setlocal lispwords+=when
|
||||
setlocal lispwords+=when-not
|
||||
setlocal lispwords+=while
|
||||
|
||||
" Exception handling
|
||||
setlocal lispwords+=catch
|
||||
setlocal lispwords+=try " For aesthetics when enclosing single line
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet! s:save_cpo
|
||||
|
||||
" vim:sts=4 sw=4 et:
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: Cucumber
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2010 May 21
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
@@ -12,6 +12,8 @@ setlocal autoindent
|
||||
setlocal indentexpr=GetCucumberIndent()
|
||||
setlocal indentkeys=o,O,*<Return>,<:>,0<Bar>,0#,=,!^F
|
||||
|
||||
let b:undo_indent = 'setl ai< inde< indk<'
|
||||
|
||||
" Only define the function once.
|
||||
if exists("*GetCucumberIndent")
|
||||
finish
|
||||
@@ -24,35 +26,47 @@ endfunction
|
||||
function! GetCucumberIndent()
|
||||
let line = getline(prevnonblank(v:lnum-1))
|
||||
let cline = getline(v:lnum)
|
||||
let nline = getline(nextnonblank(v:lnum+1))
|
||||
let syn = s:syn(prevnonblank(v:lnum-1))
|
||||
let csyn = s:syn(v:lnum)
|
||||
let nsyn = s:syn(nextnonblank(v:lnum+1))
|
||||
if csyn ==# 'cucumberFeature' || cline =~# '^\s*Feature:'
|
||||
" feature heading
|
||||
return 0
|
||||
elseif csyn ==# 'cucumberExamples' || cline =~# '^\s*\%(Examples\|Scenarios\):'
|
||||
" examples heading
|
||||
return 2 * &sw
|
||||
elseif csyn =~# '^cucumber\%(Background\|Scenario\|ScenarioOutline\)$' || cline =~# '^\s*\%(Background\|Scenario\|Scenario Outline\):'
|
||||
" background, scenario or outline heading
|
||||
return &sw
|
||||
elseif syn ==# 'cucumberFeature' || line =~# '^\s*Feature:'
|
||||
" line after feature heading
|
||||
return &sw
|
||||
elseif syn ==# 'cucumberExamples' || line =~# '^\s*\%(Examples\|Scenarios\):'
|
||||
" line after examples heading
|
||||
return 3 * &sw
|
||||
elseif syn =~# '^cucumber\%(Background\|Scenario\|ScenarioOutline\)$' || line =~# '^\s*\%(Background\|Scenario\|Scenario Outline\):'
|
||||
" line after background, scenario or outline heading
|
||||
return 2 * &sw
|
||||
elseif cline =~# '^\s*@' && (s:syn(nextnonblank(v:lnum+1)) == 'cucumberFeature' || getline(nextnonblank(v:lnum+1)) =~# '^\s*Feature:' || indent(prevnonblank(v:lnum-1)) <= 0)
|
||||
elseif cline =~# '^\s*[@#]' && (nsyn == 'cucumberFeature' || nline =~# '^\s*Feature:' || indent(prevnonblank(v:lnum-1)) <= 0)
|
||||
" tag or comment before a feature heading
|
||||
return 0
|
||||
elseif line =~# '^\s*@'
|
||||
elseif cline =~# '^\s*@'
|
||||
" other tags
|
||||
return &sw
|
||||
elseif cline =~# '^\s*|' && line =~# '^\s*|'
|
||||
elseif cline =~# '^\s*[#|]' && line =~# '^\s*|'
|
||||
" mid-table
|
||||
" preserve indent
|
||||
return indent(prevnonblank(v:lnum-1))
|
||||
elseif cline =~# '^\s*|' && line =~# '^\s*[^|#]'
|
||||
elseif cline =~# '^\s*|' && line =~# '^\s*[^|]'
|
||||
" first line of a table, relative indent
|
||||
return indent(prevnonblank(v:lnum-1)) + &sw
|
||||
elseif cline =~# '^\s*[^|# \t]' && line =~# '^\s*|'
|
||||
elseif cline =~# '^\s*[^|]' && line =~# '^\s*|'
|
||||
" line after a table, relative unindent
|
||||
return indent(prevnonblank(v:lnum-1)) - &sw
|
||||
elseif cline =~# '^\s*$' && line =~# '^\s*|'
|
||||
let in = indent(prevnonblank(v:lnum-1))
|
||||
return in == indent(v:lnum) ? in : in - &sw
|
||||
elseif cline =~# '^\s*#' && getline(v:lnum-1) =~ '^\s*$' && getline(v:lnum+1) =~# '\S'
|
||||
return indent(getline(v:lnum+1))
|
||||
elseif cline =~# '^\s*#' && getline(v:lnum-1) =~ '^\s*$' && (nsyn =~# '^cucumber\%(Background\|Scenario\|ScenarioOutline\)$' || nline =~# '^\s*\%(Background\|Scenario\|Scenario Outline\):')
|
||||
" comments on scenarios
|
||||
return &sw
|
||||
endif
|
||||
return indent(prevnonblank(v:lnum-1))
|
||||
endfunction
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,9 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: eRuby
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2010 May 28
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
|
||||
if exists("b:did_indent")
|
||||
@@ -50,29 +48,32 @@ function! GetErubyIndent(...)
|
||||
call cursor(v:lnum,1)
|
||||
let inruby = searchpair('<%','','%>','W')
|
||||
call cursor(v:lnum,vcol)
|
||||
if inruby && getline(v:lnum) !~ '^<%\|^\s*-\=%>'
|
||||
let ind = GetRubyIndent()
|
||||
if inruby && getline(v:lnum) !~ '^<%\|^\s*[-=]\=%>'
|
||||
let ind = GetRubyIndent(v:lnum)
|
||||
else
|
||||
exe "let ind = ".b:eruby_subtype_indentexpr
|
||||
endif
|
||||
let lnum = prevnonblank(v:lnum-1)
|
||||
let line = getline(lnum)
|
||||
let cline = getline(v:lnum)
|
||||
if cline =~# '^\s*<%-\=\s*\%(}\|end\|else\|\%(ensure\|rescue\|elsif\|when\).\{-\}\)\s*\%(-\=%>\|$\)'
|
||||
if cline =~# '^\s*<%[-=]\=\s*\%(}\|end\|else\|\%(ensure\|rescue\|elsif\|when\).\{-\}\)\s*\%([-=]\=%>\|$\)'
|
||||
let ind = ind - &sw
|
||||
endif
|
||||
if line =~# '\S\s*<%-\=\s*\%(}\|end\).\{-\}\s*\%(-\=%>\|$\)'
|
||||
if line =~# '\S\s*<%[-=]\=\s*\%(}\|end\).\{-\}\s*\%([-=]\=%>\|$\)'
|
||||
let ind = ind - &sw
|
||||
endif
|
||||
if line =~# '\%({\|\<do\)\%(\s*|[^|]*|\)\=\s*-\=%>'
|
||||
if line =~# '\%({\|\<do\)\%(\s*|[^|]*|\)\=\s*[-=]\=%>'
|
||||
let ind = ind + &sw
|
||||
elseif line =~# '<%-\=\s*\%(module\|class\|def\|if\|for\|while\|until\|else\|elsif\|case\|when\|unless\|begin\|ensure\|rescue\)\>.*%>'
|
||||
elseif line =~# '<%[-=]\=\s*\%(module\|class\|def\|if\|for\|while\|until\|else\|elsif\|case\|when\|unless\|begin\|ensure\|rescue\)\>.*%>'
|
||||
let ind = ind + &sw
|
||||
endif
|
||||
if line =~# '^\s*<%[=#-]\=\s*$' && cline !~# '^\s*end\>'
|
||||
let ind = ind + &sw
|
||||
endif
|
||||
if cline =~# '^\s*-\=%>\s*$'
|
||||
if line !~# '^\s*<%' && line =~# '%>\s*$'
|
||||
let ind = ind - &sw
|
||||
endif
|
||||
if cline =~# '^\s*[-=]\=%>\s*$'
|
||||
let ind = ind - &sw
|
||||
endif
|
||||
return ind
|
||||
|
||||
@@ -2,14 +2,10 @@
|
||||
" Language: Falcon
|
||||
" Maintainer: Steven Oliver <oliver.steven@gmail.com>
|
||||
" Website: https://steveno@github.com/steveno/falconpl-vim.git
|
||||
" Credits: Thanks to the ruby.vim authors, I borrow a lot!
|
||||
" Previous Maintainer: Brent A. Fulgham <bfulgham@debian.org>
|
||||
" -----------------------------------------------------------
|
||||
" GetLatestVimScripts: 2752 1 :AutoInstall: falcon.vim
|
||||
" Credits: This is, to a great extent, a copy n' paste of ruby.vim.
|
||||
|
||||
"======================================
|
||||
" SETUP
|
||||
"======================================
|
||||
" 1. Setup {{{1
|
||||
" ============
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
@@ -20,7 +16,7 @@ let b:did_indent = 1
|
||||
setlocal nosmartindent
|
||||
|
||||
" Setup indent function and when to use it
|
||||
setlocal indentexpr=FalconGetIndent()
|
||||
setlocal indentexpr=FalconGetIndent(v:lnum)
|
||||
setlocal indentkeys=0{,0},0),0],!^F,o,O,e
|
||||
setlocal indentkeys+==~case,=~catch,=~default,=~elif,=~else,=~end,=~\"
|
||||
|
||||
@@ -32,9 +28,8 @@ endif
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
"======================================
|
||||
" VARIABLES
|
||||
"======================================
|
||||
" 2. Variables {{{1
|
||||
" ============
|
||||
|
||||
" Regex of syntax group names that are strings AND comments
|
||||
let s:syng_strcom = '\<falcon\%(String\|StringEscape\|Comment\)\>'
|
||||
@@ -42,6 +37,31 @@ let s:syng_strcom = '\<falcon\%(String\|StringEscape\|Comment\)\>'
|
||||
" Regex of syntax group names that are strings
|
||||
let s:syng_string = '\<falcon\%(String\|StringEscape\)\>'
|
||||
|
||||
" Regex that defines blocks.
|
||||
"
|
||||
" Note that there's a slight problem with this regex and s:continuation_regex.
|
||||
" Code like this will be matched by both:
|
||||
"
|
||||
" method_call do |(a, b)|
|
||||
"
|
||||
" The reason is that the pipe matches a hanging "|" operator.
|
||||
"
|
||||
let s:block_regex =
|
||||
\ '\%(\<do:\@!\>\|%\@<!{\)\s*\%(|\s*(*\s*\%([*@&]\=\h\w*,\=\s*\)\%(,\s*(*\s*[*@&]\=\h\w*\s*)*\s*\)*|\)\=\s*\%(#.*\)\=$'
|
||||
|
||||
let s:block_continuation_regex = '^\s*[^])}\t ].*'.s:block_regex
|
||||
|
||||
" Regex that defines continuation lines.
|
||||
" TODO: this needs to deal with if ...: and so on
|
||||
let s:continuation_regex =
|
||||
\ '\%(%\@<![({[\\.,:*/%+]\|\<and\|\<or\|\%(<%\)\@<![=-]\|\W[|&?]\|||\|&&\)\s*\%(#.*\)\=$'
|
||||
|
||||
" Regex that defines bracket continuations
|
||||
let s:bracket_continuation_regex = '%\@<!\%([({[]\)\s*\%(#.*\)\=$'
|
||||
|
||||
" Regex that defines continuation lines, not including (, {, or [.
|
||||
let s:non_bracket_continuation_regex = '\%([\\.,:*/%+]\|\<and\|\<or\|\%(<%\)\@<![=-]\|\W[|&?]\|||\|&&\)\s*\%(#.*\)\=$'
|
||||
|
||||
" Keywords to indent on
|
||||
let s:falcon_indent_keywords = '^\s*\(case\|catch\|class\|enum\|default\|elif\|else' .
|
||||
\ '\|for\|function\|if.*"[^"]*:.*"\|if \(\(:\)\@!.\)*$\|loop\|object\|select' .
|
||||
@@ -50,109 +70,381 @@ let s:falcon_indent_keywords = '^\s*\(case\|catch\|class\|enum\|default\|elif\|e
|
||||
" Keywords to deindent on
|
||||
let s:falcon_deindent_keywords = '^\s*\(case\|catch\|default\|elif\|else\|end\)'
|
||||
|
||||
"======================================
|
||||
" FUNCTIONS
|
||||
"======================================
|
||||
" 3. Functions {{{1
|
||||
" ============
|
||||
|
||||
" Check if the character at lnum:col is inside a string
|
||||
" Check if the character at lnum:col is inside a string, comment, or is ascii.
|
||||
function s:IsInStringOrComment(lnum, col)
|
||||
return synIDattr(synID(a:lnum, a:col, 1), 'name') =~ s:syng_strcom
|
||||
endfunction
|
||||
|
||||
"======================================
|
||||
" INDENT ROUTINE
|
||||
"======================================
|
||||
" Check if the character at lnum:col is inside a string.
|
||||
function s:IsInString(lnum, col)
|
||||
return synIDattr(synID(a:lnum, a:col, 1), 'name') =~ s:syng_string
|
||||
endfunction
|
||||
|
||||
function FalconGetIndent()
|
||||
" Get the line to be indented
|
||||
let cline = getline(v:lnum)
|
||||
" Check if the character at lnum:col is inside a string delimiter
|
||||
function s:IsInStringDelimiter(lnum, col)
|
||||
return synIDattr(synID(a:lnum, a:col, 1), 'name') == 'falconStringDelimiter'
|
||||
endfunction
|
||||
|
||||
" Don't reindent comments on first column
|
||||
if cline =~ '^\/\/'
|
||||
return 0
|
||||
endif
|
||||
" Find line above 'lnum' that isn't empty, in a comment, or in a string.
|
||||
function s:PrevNonBlankNonString(lnum)
|
||||
let in_block = 0
|
||||
let lnum = prevnonblank(a:lnum)
|
||||
while lnum > 0
|
||||
" Go in and out of blocks comments as necessary.
|
||||
" If the line isn't empty (with opt. comment) or in a string, end search.
|
||||
let line = getline(lnum)
|
||||
if line =~ '^=begin'
|
||||
if in_block
|
||||
let in_block = 0
|
||||
else
|
||||
break
|
||||
endif
|
||||
elseif !in_block && line =~ '^=end'
|
||||
let in_block = 1
|
||||
elseif !in_block && line !~ '^\s*#.*$' && !(s:IsInStringOrComment(lnum, 1)
|
||||
\ && s:IsInStringOrComment(lnum, strlen(line)))
|
||||
break
|
||||
endif
|
||||
let lnum = prevnonblank(lnum - 1)
|
||||
endwhile
|
||||
return lnum
|
||||
endfunction
|
||||
|
||||
" Find the previous non-blank line
|
||||
let lnum = prevnonblank(v:lnum - 1)
|
||||
" Find line above 'lnum' that started the continuation 'lnum' may be part of.
|
||||
function s:GetMSL(lnum)
|
||||
" Start on the line we're at and use its indent.
|
||||
let msl = a:lnum
|
||||
let msl_body = getline(msl)
|
||||
let lnum = s:PrevNonBlankNonString(a:lnum - 1)
|
||||
while lnum > 0
|
||||
" If we have a continuation line, or we're in a string, use line as MSL.
|
||||
" Otherwise, terminate search as we have found our MSL already.
|
||||
let line = getline(lnum)
|
||||
|
||||
if s:Match(line, s:non_bracket_continuation_regex) &&
|
||||
\ s:Match(msl, s:non_bracket_continuation_regex)
|
||||
" If the current line is a non-bracket continuation and so is the
|
||||
" previous one, keep its indent and continue looking for an MSL.
|
||||
"
|
||||
" Example:
|
||||
" method_call one,
|
||||
" two,
|
||||
" three
|
||||
"
|
||||
let msl = lnum
|
||||
elseif s:Match(lnum, s:non_bracket_continuation_regex) &&
|
||||
\ (s:Match(msl, s:bracket_continuation_regex) || s:Match(msl, s:block_continuation_regex))
|
||||
" If the current line is a bracket continuation or a block-starter, but
|
||||
" the previous is a non-bracket one, respect the previous' indentation,
|
||||
" and stop here.
|
||||
"
|
||||
" Example:
|
||||
" method_call one,
|
||||
" two {
|
||||
" three
|
||||
"
|
||||
return lnum
|
||||
elseif s:Match(lnum, s:bracket_continuation_regex) &&
|
||||
\ (s:Match(msl, s:bracket_continuation_regex) || s:Match(msl, s:block_continuation_regex))
|
||||
" If both lines are bracket continuations (the current may also be a
|
||||
" block-starter), use the current one's and stop here
|
||||
"
|
||||
" Example:
|
||||
" method_call(
|
||||
" other_method_call(
|
||||
" foo
|
||||
return msl
|
||||
elseif s:Match(lnum, s:block_regex) &&
|
||||
\ !s:Match(msl, s:continuation_regex) &&
|
||||
\ !s:Match(msl, s:block_continuation_regex)
|
||||
" If the previous line is a block-starter and the current one is
|
||||
" mostly ordinary, use the current one as the MSL.
|
||||
"
|
||||
" Example:
|
||||
" method_call do
|
||||
" something
|
||||
" something_else
|
||||
return msl
|
||||
else
|
||||
let col = match(line, s:continuation_regex) + 1
|
||||
if (col > 0 && !s:IsInStringOrComment(lnum, col))
|
||||
\ || s:IsInString(lnum, strlen(line))
|
||||
let msl = lnum
|
||||
else
|
||||
break
|
||||
endif
|
||||
endif
|
||||
|
||||
let msl_body = getline(msl)
|
||||
let lnum = s:PrevNonBlankNonString(lnum - 1)
|
||||
endwhile
|
||||
return msl
|
||||
endfunction
|
||||
|
||||
" Check if line 'lnum' has more opening brackets than closing ones.
|
||||
function s:ExtraBrackets(lnum)
|
||||
let opening = {'parentheses': [], 'braces': [], 'brackets': []}
|
||||
let closing = {'parentheses': [], 'braces': [], 'brackets': []}
|
||||
|
||||
let line = getline(a:lnum)
|
||||
let pos = match(line, '[][(){}]', 0)
|
||||
|
||||
" Save any encountered opening brackets, and remove them once a matching
|
||||
" closing one has been found. If a closing bracket shows up that doesn't
|
||||
" close anything, save it for later.
|
||||
while pos != -1
|
||||
if !s:IsInStringOrComment(a:lnum, pos + 1)
|
||||
if line[pos] == '('
|
||||
call add(opening.parentheses, {'type': '(', 'pos': pos})
|
||||
elseif line[pos] == ')'
|
||||
if empty(opening.parentheses)
|
||||
call add(closing.parentheses, {'type': ')', 'pos': pos})
|
||||
else
|
||||
let opening.parentheses = opening.parentheses[0:-2]
|
||||
endif
|
||||
elseif line[pos] == '{'
|
||||
call add(opening.braces, {'type': '{', 'pos': pos})
|
||||
elseif line[pos] == '}'
|
||||
if empty(opening.braces)
|
||||
call add(closing.braces, {'type': '}', 'pos': pos})
|
||||
else
|
||||
let opening.braces = opening.braces[0:-2]
|
||||
endif
|
||||
elseif line[pos] == '['
|
||||
call add(opening.brackets, {'type': '[', 'pos': pos})
|
||||
elseif line[pos] == ']'
|
||||
if empty(opening.brackets)
|
||||
call add(closing.brackets, {'type': ']', 'pos': pos})
|
||||
else
|
||||
let opening.brackets = opening.brackets[0:-2]
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
let pos = match(line, '[][(){}]', pos + 1)
|
||||
endwhile
|
||||
|
||||
" Find the rightmost brackets, since they're the ones that are important in
|
||||
" both opening and closing cases
|
||||
let rightmost_opening = {'type': '(', 'pos': -1}
|
||||
let rightmost_closing = {'type': ')', 'pos': -1}
|
||||
|
||||
for opening in opening.parentheses + opening.braces + opening.brackets
|
||||
if opening.pos > rightmost_opening.pos
|
||||
let rightmost_opening = opening
|
||||
endif
|
||||
endfor
|
||||
|
||||
for closing in closing.parentheses + closing.braces + closing.brackets
|
||||
if closing.pos > rightmost_closing.pos
|
||||
let rightmost_closing = closing
|
||||
endif
|
||||
endfor
|
||||
|
||||
return [rightmost_opening, rightmost_closing]
|
||||
endfunction
|
||||
|
||||
function s:Match(lnum, regex)
|
||||
let col = match(getline(a:lnum), '\C'.a:regex) + 1
|
||||
return col > 0 && !s:IsInStringOrComment(a:lnum, col) ? col : 0
|
||||
endfunction
|
||||
|
||||
function s:MatchLast(lnum, regex)
|
||||
let line = getline(a:lnum)
|
||||
let col = match(line, '.*\zs' . a:regex)
|
||||
while col != -1 && s:IsInStringOrComment(a:lnum, col)
|
||||
let line = strpart(line, 0, col)
|
||||
let col = match(line, '.*' . a:regex)
|
||||
endwhile
|
||||
return col + 1
|
||||
endfunction
|
||||
|
||||
" 4. FalconGetIndent Routine {{{1
|
||||
" ============
|
||||
|
||||
function FalconGetIndent(...)
|
||||
" For the current line, use the first argument if given, else v:lnum
|
||||
let clnum = a:0 ? a:1 : v:lnum
|
||||
|
||||
" Use zero indent at the top of the file
|
||||
if lnum == 0
|
||||
if clnum == 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
let prevline=getline(lnum)
|
||||
let line = getline(clnum)
|
||||
let ind = -1
|
||||
|
||||
" If we got a closing bracket on an empty line, find its match and indent
|
||||
" according to it. For parentheses we indent to its column - 1, for the
|
||||
" others we indent to the containing line's MSL's level. Return -1 if fail.
|
||||
let col = matchend(line, '^\s*[]})]')
|
||||
if col > 0 && !s:IsInStringOrComment(clnum, col)
|
||||
call cursor(clnum, col)
|
||||
let bs = strpart('(){}[]', stridx(')}]', line[col - 1]) * 2, 2)
|
||||
if searchpair(escape(bs[0], '\['), '', bs[1], 'bW', s:skip_expr) > 0
|
||||
if line[col-1]==')' && col('.') != col('$') - 1
|
||||
let ind = virtcol('.') - 1
|
||||
else
|
||||
let ind = indent(s:GetMSL(line('.')))
|
||||
endif
|
||||
endif
|
||||
return ind
|
||||
endif
|
||||
|
||||
" If we have a deindenting keyword, find its match and indent to its level.
|
||||
" TODO: this is messy
|
||||
if s:Match(clnum, s:falcon_deindent_keywords)
|
||||
call cursor(clnum, 1)
|
||||
if searchpair(s:end_start_regex, s:end_middle_regex, s:end_end_regex, 'bW',
|
||||
\ s:end_skip_expr) > 0
|
||||
let msl = s:GetMSL(line('.'))
|
||||
let line = getline(line('.'))
|
||||
|
||||
if strpart(line, 0, col('.') - 1) =~ '=\s*$' &&
|
||||
\ strpart(line, col('.') - 1, 2) !~ 'do'
|
||||
let ind = virtcol('.') - 1
|
||||
elseif getline(msl) =~ '=\s*\(#.*\)\=$'
|
||||
let ind = indent(line('.'))
|
||||
else
|
||||
let ind = indent(msl)
|
||||
endif
|
||||
endif
|
||||
return ind
|
||||
endif
|
||||
|
||||
" If we are in a multi-line string or line-comment, don't do anything to it.
|
||||
if s:IsInString(clnum, matchend(line, '^\s*') + 1)
|
||||
return indent('.')
|
||||
endif
|
||||
|
||||
" Find a non-blank, non-multi-line string line above the current line.
|
||||
let lnum = s:PrevNonBlankNonString(clnum - 1)
|
||||
|
||||
" If the line is empty and inside a string, use the previous line.
|
||||
if line =~ '^\s*$' && lnum != prevnonblank(clnum - 1)
|
||||
return indent(prevnonblank(clnum))
|
||||
endif
|
||||
|
||||
" At the start of the file use zero indent.
|
||||
if lnum == 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
" Set up variables for the previous line.
|
||||
let line = getline(lnum)
|
||||
let ind = indent(lnum)
|
||||
let chg = 0
|
||||
|
||||
" If we are in a multi-line string or line-comment, don't do anything
|
||||
if s:IsInStringOrComment(v:lnum, matchend(cline, '^\s*') + 1 )
|
||||
return indent('.')
|
||||
" If the previous line ended with a block opening, add a level of indent.
|
||||
if s:Match(lnum, s:block_regex)
|
||||
return indent(s:GetMSL(lnum)) + &sw
|
||||
endif
|
||||
|
||||
" If the start of the line equals a double quote, then indent to the
|
||||
" previous lines first double quote
|
||||
if cline =~? '^\s*"'
|
||||
let chg = chg + &sw
|
||||
" If it contained hanging closing brackets, find the rightmost one, find its
|
||||
" match and indent according to that.
|
||||
if line =~ '[[({]' || line =~ '[])}]\s*\%(#.*\)\=$'
|
||||
let [opening, closing] = s:ExtraBrackets(lnum)
|
||||
|
||||
if opening.pos != -1
|
||||
if opening.type == '(' && searchpair('(', '', ')', 'bW', s:skip_expr) > 0
|
||||
if col('.') + 1 == col('$')
|
||||
return ind + &sw
|
||||
else
|
||||
return virtcol('.')
|
||||
endif
|
||||
else
|
||||
let nonspace = matchend(line, '\S', opening.pos + 1) - 1
|
||||
return nonspace > 0 ? nonspace : ind + &sw
|
||||
endif
|
||||
elseif closing.pos != -1
|
||||
call cursor(lnum, closing.pos + 1)
|
||||
normal! %
|
||||
|
||||
if s:Match(line('.'), s:falcon_indent_keywords)
|
||||
return indent('.') + &sw
|
||||
else
|
||||
return indent('.')
|
||||
endif
|
||||
else
|
||||
call cursor(clnum, vcol)
|
||||
end
|
||||
endif
|
||||
|
||||
" If previous line started with a double quote and this one
|
||||
" doesn't, unindent
|
||||
if prevline =~? '^\s*"' && cline =~? '^\s*'
|
||||
let chg = chg - &sw
|
||||
" If the previous line ended with an "end", match that "end"s beginning's
|
||||
" indent.
|
||||
let col = s:Match(lnum, '\%(^\|[^.:@$]\)\<end\>\s*\%(#.*\)\=$')
|
||||
if col > 0
|
||||
call cursor(lnum, col)
|
||||
if searchpair(s:end_start_regex, '', s:end_end_regex, 'bW',
|
||||
\ s:end_skip_expr) > 0
|
||||
let n = line('.')
|
||||
let ind = indent('.')
|
||||
let msl = s:GetMSL(n)
|
||||
if msl != n
|
||||
let ind = indent(msl)
|
||||
end
|
||||
return ind
|
||||
endif
|
||||
end
|
||||
|
||||
let col = s:Match(lnum, s:falcon_indent_keywords)
|
||||
if col > 0
|
||||
call cursor(lnum, col)
|
||||
let ind = virtcol('.') - 1 + &sw
|
||||
" TODO: make this better (we need to count them) (or, if a searchpair
|
||||
" fails, we know that something is lacking an end and thus we indent a
|
||||
" level
|
||||
if s:Match(lnum, s:end_end_regex)
|
||||
let ind = indent('.')
|
||||
endif
|
||||
return ind
|
||||
endif
|
||||
|
||||
" Indent if proper keyword
|
||||
if prevline =~? s:falcon_indent_keywords
|
||||
let chg = &sw
|
||||
" If previous line opened a parenthesis, and did not close it, indent
|
||||
elseif prevline =~ '^.*(\s*[^)]*\((.*)\)*[^)]*$'
|
||||
" Make sure this isn't just a function split between two lines
|
||||
if prevline =~ ',\s*$'
|
||||
return indent(prevnonblank(v:lnum - 1)) + &sw
|
||||
else
|
||||
return match(prevline, '(.*\((.*)\|[^)]\)*.*$') + 1
|
||||
endif
|
||||
elseif prevline =~ '^[^(]*)\s*$'
|
||||
" This line closes a parenthesis. Finds opening.
|
||||
let curr_line = prevnonblank(lnum - 1)
|
||||
while curr_line >= 0
|
||||
let str = getline(curr_line)
|
||||
if str !~ '^.*(\s*[^)]*\((.*)\)*[^)]*$'
|
||||
let curr_line = prevnonblank(curr_line - 1)
|
||||
else
|
||||
break
|
||||
endif
|
||||
endwhile
|
||||
if curr_line < 0
|
||||
return -1
|
||||
endif
|
||||
let ind = indent(curr_line)
|
||||
" Set up variables to use and search for MSL to the previous line.
|
||||
let p_lnum = lnum
|
||||
let lnum = s:GetMSL(lnum)
|
||||
|
||||
" If the previous line wasn't a MSL and is continuation return its indent.
|
||||
" TODO: the || s:IsInString() thing worries me a bit.
|
||||
if p_lnum != lnum
|
||||
if s:Match(p_lnum, s:non_bracket_continuation_regex) || s:IsInString(p_lnum,strlen(line))
|
||||
return ind
|
||||
endif
|
||||
endif
|
||||
|
||||
" If previous line ends in a semi-colon reset indent to previous
|
||||
" lines setting
|
||||
if prevline =~? ';\s*$' && prevnonblank(prevline) =~? ',\s*$'
|
||||
return chg = chg - (2 * &sw)
|
||||
" Set up more variables, now that we know we wasn't continuation bound.
|
||||
let line = getline(lnum)
|
||||
let msl_ind = indent(lnum)
|
||||
|
||||
" If the MSL line had an indenting keyword in it, add a level of indent.
|
||||
" TODO: this does not take into account contrived things such as
|
||||
" module Foo; class Bar; end
|
||||
if s:Match(lnum, s:falcon_indent_keywords)
|
||||
let ind = msl_ind + &sw
|
||||
if s:Match(lnum, s:end_end_regex)
|
||||
let ind = ind - &sw
|
||||
endif
|
||||
return ind
|
||||
endif
|
||||
|
||||
" If previous line ended in a comma, indent again
|
||||
if prevline =~? ',\s*$'
|
||||
let chg = chg + &sw
|
||||
" If the previous line ended with [*+/.,-=], but wasn't a block ending or a
|
||||
" closing bracket, indent one extra level.
|
||||
if s:Match(lnum, s:non_bracket_continuation_regex) && !s:Match(lnum, '^\s*\([\])}]\|end\)')
|
||||
if lnum == p_lnum
|
||||
let ind = msl_ind + &sw
|
||||
else
|
||||
let ind = msl_ind
|
||||
endif
|
||||
return ind
|
||||
endif
|
||||
|
||||
" If previous line ended in a =>, indent again
|
||||
if prevline =~? '=>\s*$'
|
||||
let chg = chg + &sw
|
||||
endif
|
||||
|
||||
" Deindent on proper keywords
|
||||
if cline =~? s:falcon_deindent_keywords
|
||||
let chg = chg - &sw
|
||||
endif
|
||||
|
||||
return ind + chg
|
||||
return ind
|
||||
endfunction
|
||||
|
||||
" }}}1
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: git config file
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2012 April 7
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user