mirror of
https://github.com/zoriya/vim.git
synced 2025-12-24 08:05:19 +00:00
Compare commits
373 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aff5c3a530 | ||
|
|
d96c52c71b | ||
|
|
cc2b9d5dc0 | ||
|
|
f1d6ccf2f9 | ||
|
|
b2a851fee4 | ||
|
|
ed32d9424d | ||
|
|
f8a447c6dc | ||
|
|
4d84d9325f | ||
|
|
0b10541606 | ||
|
|
76440e2efe | ||
|
|
f1e30ccb82 | ||
|
|
f240e181d7 | ||
|
|
2a0b33e284 | ||
|
|
9014074913 | ||
|
|
0a38396937 | ||
|
|
a3dfccc6e9 | ||
|
|
1c40a66bad | ||
|
|
b96a7f325c | ||
|
|
baf0344ed7 | ||
|
|
cbdf0a0b4a | ||
|
|
8c731505b0 | ||
|
|
66a3e797a2 | ||
|
|
b738c9a442 | ||
|
|
2683c8e7f7 | ||
|
|
2f3b510b0f | ||
|
|
b1e265045c | ||
|
|
4c7b2f50fd | ||
|
|
06e7ce1a01 | ||
|
|
57bc4633b2 | ||
|
|
dffa5b8ecf | ||
|
|
df46f6f07f | ||
|
|
a365091dbb | ||
|
|
1ba903fb92 | ||
|
|
c229967caa | ||
|
|
8a349ff944 | ||
|
|
54fb438134 | ||
|
|
ef6875be7a | ||
|
|
42d84f8aed | ||
|
|
b8e0bdbda3 | ||
|
|
3e9a161496 | ||
|
|
b103138b1e | ||
|
|
3a0c908983 | ||
|
|
983c4e93dc | ||
|
|
345326aa3d | ||
|
|
374bf024d2 | ||
|
|
f9e6c3b8b0 | ||
|
|
0434482e5a | ||
|
|
6b2e938f13 | ||
|
|
4391cf98ec | ||
|
|
c3940c76e8 | ||
|
|
32efaf6154 | ||
|
|
72971a2611 | ||
|
|
e90c853ff6 | ||
|
|
9c7d98d7c2 | ||
|
|
fda3729a06 | ||
|
|
4f7e821f26 | ||
|
|
666578b539 | ||
|
|
eda73607a7 | ||
|
|
086329d3f6 | ||
|
|
2f31e39978 | ||
|
|
b851a96d5c | ||
|
|
6a64365c95 | ||
|
|
fe3c410098 | ||
|
|
7a373dd0d4 | ||
|
|
a94618e16c | ||
|
|
482a2b5c9d | ||
|
|
958636c406 | ||
|
|
4920a44271 | ||
|
|
cb5ea1401a | ||
|
|
bdef518b0a | ||
|
|
f1b4622366 | ||
|
|
861d80a671 | ||
|
|
799d6abf3e | ||
|
|
7d76c804af | ||
|
|
1df52d798f | ||
|
|
1c85210d6d | ||
|
|
e962c6795b | ||
|
|
dcc1ce2f5a | ||
|
|
cbc246a331 | ||
|
|
2a9853925b | ||
|
|
e5ead831a2 | ||
|
|
7425b938cb | ||
|
|
f191d55ede | ||
|
|
6885694e82 | ||
|
|
4697ae00a7 | ||
|
|
9a95bdc52a | ||
|
|
404406ad6b | ||
|
|
56095e1ceb | ||
|
|
21d89b610f | ||
|
|
0f519a02c5 | ||
|
|
3a991dd001 | ||
|
|
56f6227224 | ||
|
|
84d17a6f9e | ||
|
|
7ddc642a0c | ||
|
|
da014b9441 | ||
|
|
cddc91ccb4 | ||
|
|
cfc216e7b0 | ||
|
|
1db60c47d9 | ||
|
|
b8ee25acab | ||
|
|
4b9d637e9c | ||
|
|
d355c50a2a | ||
|
|
91e15e13da | ||
|
|
3fa57e0d50 | ||
|
|
eb21e4ccf5 | ||
|
|
1ecfd9cb09 | ||
|
|
9c8d9e1952 | ||
|
|
5bfa2ed6e4 | ||
|
|
4ee40b0515 | ||
|
|
b4b43bb572 | ||
|
|
5d2bae8b1c | ||
|
|
714db3bb81 | ||
|
|
103650de90 | ||
|
|
3516928c75 | ||
|
|
3089a1068d | ||
|
|
6e932461cb | ||
|
|
58da707d24 | ||
|
|
834def3872 | ||
|
|
f638cbce76 | ||
|
|
5a4eceb02a | ||
|
|
fb03140730 | ||
|
|
371932a775 | ||
|
|
0026d47d8c | ||
|
|
0e2ea1beb4 | ||
|
|
13e2a0af66 | ||
|
|
14993322b1 | ||
|
|
120f4a878f | ||
|
|
5d5fbe7a2b | ||
|
|
84d8cdd769 | ||
|
|
c40bdee42a | ||
|
|
52a7246f01 | ||
|
|
96f3a49b3b | ||
|
|
34401cca5a | ||
|
|
773b158de8 | ||
|
|
d7408fa0ce | ||
|
|
e4df164692 | ||
|
|
49f9dd7b91 | ||
|
|
2d46e6075b | ||
|
|
a9537d238e | ||
|
|
f2d912e8bc | ||
|
|
26f08b06b6 | ||
|
|
285ed7e049 | ||
|
|
9576508975 | ||
|
|
7b61a546d8 | ||
|
|
92f4baace8 | ||
|
|
5a31b46bff | ||
|
|
d5005164e1 | ||
|
|
fb539273c9 | ||
|
|
d2e8087b53 | ||
|
|
ce2f2e061d | ||
|
|
1b338d2022 | ||
|
|
42f06f9dbc | ||
|
|
d5f62b14e1 | ||
|
|
2a5868ab1e | ||
|
|
b5cf6c34e8 | ||
|
|
1fc7e972b0 | ||
|
|
0ddd1b5e35 | ||
|
|
5307de0746 | ||
|
|
9b8f021d93 | ||
|
|
2be795084f | ||
|
|
5a669b9481 | ||
|
|
07cf382e22 | ||
|
|
d21e8b3a17 | ||
|
|
8f4ac01544 | ||
|
|
0106b4b891 | ||
|
|
e98cfe1cc9 | ||
|
|
6b1ee34aa0 | ||
|
|
04d17ae167 | ||
|
|
9b352c46f0 | ||
|
|
b5a7a8b545 | ||
|
|
8c1329cb59 | ||
|
|
e0f148270a | ||
|
|
ece29e8013 | ||
|
|
4e067c898e | ||
|
|
b81c85d8f3 | ||
|
|
4f5ce33d41 | ||
|
|
23fb7a9955 | ||
|
|
278eb5820d | ||
|
|
932e632de3 | ||
|
|
dbc2802251 | ||
|
|
2bace3e2fb | ||
|
|
20c3892e54 | ||
|
|
17529ae026 | ||
|
|
12a28d4b29 | ||
|
|
158a1b0748 | ||
|
|
fb60409a3f | ||
|
|
54368f2742 | ||
|
|
674fffe855 | ||
|
|
a1fae80371 | ||
|
|
4f88062c55 | ||
|
|
07d87790f1 | ||
|
|
a04854932e | ||
|
|
1f538355db | ||
|
|
5524aebf16 | ||
|
|
b5647f71c2 | ||
|
|
4e036c9e6f | ||
|
|
b643e77782 | ||
|
|
f1924a9d8c | ||
|
|
310e2dbaee | ||
|
|
b4d2135518 | ||
|
|
db6ea06335 | ||
|
|
3ed8b1332f | ||
|
|
455009122a | ||
|
|
1e1aca3784 | ||
|
|
c804515003 | ||
|
|
ff65ac84fd | ||
|
|
0d1e8c1203 | ||
|
|
6bf5548df2 | ||
|
|
0bed10a813 | ||
|
|
cc57bb2f85 | ||
|
|
8bb1c3e53e | ||
|
|
9f4fe7c4c3 | ||
|
|
b8b57460f0 | ||
|
|
86b17e914f | ||
|
|
ee739b42c0 | ||
|
|
c35e3de8cc | ||
|
|
81439a6d1b | ||
|
|
dab70c63e1 | ||
|
|
e7eb789ef0 | ||
|
|
b7d929a86f | ||
|
|
9d7a592c80 | ||
|
|
a40aa760a1 | ||
|
|
946e27ab65 | ||
|
|
b6da44ae82 | ||
|
|
41d7523986 | ||
|
|
db5ffaab5a | ||
|
|
e8a3492548 | ||
|
|
72e8f0bcc1 | ||
|
|
8dc907d7d3 | ||
|
|
597a422416 | ||
|
|
15a35c4f4a | ||
|
|
78159bbf9e | ||
|
|
e8d1f20cbd | ||
|
|
deae0f2566 | ||
|
|
de993ea629 | ||
|
|
58cbc914ea | ||
|
|
7ec83432b7 | ||
|
|
b3414595c7 | ||
|
|
ec1561cac5 | ||
|
|
7a54a90744 | ||
|
|
8502c704ba | ||
|
|
f0224c9f08 | ||
|
|
0ae36a5c85 | ||
|
|
822ff866bd | ||
|
|
2d54ec92d4 | ||
|
|
8e7048ca4b | ||
|
|
e639eb44e9 | ||
|
|
0e6c5ef7ef | ||
|
|
3be8585661 | ||
|
|
980e58f7b3 | ||
|
|
e3a8bab630 | ||
|
|
06e4a6df0a | ||
|
|
7116aa0f7d | ||
|
|
c35b0fb181 | ||
|
|
ea389e9103 | ||
|
|
6f6c0f8085 | ||
|
|
2d1fe05fc0 | ||
|
|
82c2585eb8 | ||
|
|
493c178a28 | ||
|
|
dd0402a759 | ||
|
|
846a2ff5f3 | ||
|
|
cbc17d66be | ||
|
|
9a665ba296 | ||
|
|
13600303c5 | ||
|
|
90013c6a75 | ||
|
|
b777618d11 | ||
|
|
e4c21e6899 | ||
|
|
bc6cf6c511 | ||
|
|
b42970535c | ||
|
|
7b129a5ac4 | ||
|
|
cf1b057939 | ||
|
|
cbc67723bd | ||
|
|
050fe7ebad | ||
|
|
1c5a2134db | ||
|
|
e968e36a00 | ||
|
|
715c286355 | ||
|
|
24dc230871 | ||
|
|
caca646bf0 | ||
|
|
8df5acfda9 | ||
|
|
6082bea6ac | ||
|
|
6e13207d82 | ||
|
|
9c235069b2 | ||
|
|
ee4825331a | ||
|
|
be578edae3 | ||
|
|
46ae3cedeb | ||
|
|
59838520c7 | ||
|
|
fd859c9878 | ||
|
|
ed7547da43 | ||
|
|
d442ec7fe2 | ||
|
|
b7547420a4 | ||
|
|
04ad7fe05c | ||
|
|
56b3bf89aa | ||
|
|
1b1063af58 | ||
|
|
3ec7f4e402 | ||
|
|
0d3d5e0483 | ||
|
|
75a8d74cc2 | ||
|
|
f4d7f167f3 | ||
|
|
a7611f60cd | ||
|
|
bcb9898eba | ||
|
|
b96c69d80e | ||
|
|
e512c8c049 | ||
|
|
121f9bdde4 | ||
|
|
1ff32c5c2c | ||
|
|
3d1956bcc9 | ||
|
|
355a95a079 | ||
|
|
d69bd9af3c | ||
|
|
33e87789a7 | ||
|
|
a4f317df89 | ||
|
|
eccb7fc315 | ||
|
|
163d0da508 | ||
|
|
2af78a1408 | ||
|
|
93fc481b57 | ||
|
|
9bdfb0025c | ||
|
|
62f167f716 | ||
|
|
c8836f7025 | ||
|
|
0eac828ab0 | ||
|
|
b21a29be56 | ||
|
|
e29b1feead | ||
|
|
c09551ab79 | ||
|
|
5a4e160ce4 | ||
|
|
7bcdb7d166 | ||
|
|
4c7ab1bb57 | ||
|
|
75b8156a44 | ||
|
|
7e38ea2fb6 | ||
|
|
e9a54227f9 | ||
|
|
7d647820ed | ||
|
|
39c29ed511 | ||
|
|
57ebe6e2f9 | ||
|
|
4ed89cdf41 | ||
|
|
21e854e5ce | ||
|
|
57a728d1df | ||
|
|
5a50c2255c | ||
|
|
b7cb42bc38 | ||
|
|
41571769c9 | ||
|
|
fe5aab63fe | ||
|
|
3e45159ceb | ||
|
|
5bd32f47ec | ||
|
|
6716d9af11 | ||
|
|
7f3be402ce | ||
|
|
c7f025536e | ||
|
|
a1706c958e | ||
|
|
31b7d38611 | ||
|
|
fd3fe98b78 | ||
|
|
efa304d760 | ||
|
|
e7a88a8d4e | ||
|
|
a392038db5 | ||
|
|
922a4664fe | ||
|
|
498af70e06 | ||
|
|
3d6db1467b | ||
|
|
76f3b1ad77 | ||
|
|
73b044dca9 | ||
|
|
2bcaec320a | ||
|
|
7db7784103 | ||
|
|
a6fd37be4f | ||
|
|
158864120d | ||
|
|
c666b5b467 | ||
|
|
b679875b29 | ||
|
|
327aa02dda | ||
|
|
1a3eb8e1b5 | ||
|
|
c410530637 | ||
|
|
7b44934037 | ||
|
|
03305f396f | ||
|
|
5803ae6c07 | ||
|
|
f7ff6e85e8 | ||
|
|
a687837516 | ||
|
|
ed287f9a4e | ||
|
|
4c9a949d00 | ||
|
|
529d2d6369 | ||
|
|
2fb9fa19e2 | ||
|
|
9c8c8c5d30 | ||
|
|
a0844a1170 | ||
|
|
f0bdd2f28d | ||
|
|
1d9ff43f58 | ||
|
|
8eded09bf7 |
17
.gitignore
vendored
17
.gitignore
vendored
@@ -45,6 +45,9 @@ bcc.cfg
|
||||
*.map
|
||||
*.tds
|
||||
|
||||
# NetBeans
|
||||
nbproject/*
|
||||
|
||||
# Mac OSX
|
||||
src/xxd/xxd.dSYM
|
||||
|
||||
@@ -55,14 +58,16 @@ src/xxd/xxd.dSYM
|
||||
*.swp
|
||||
*~
|
||||
*.pyc
|
||||
*.log
|
||||
src/po/vim.pot
|
||||
|
||||
# Generated by "make test"
|
||||
src/po/*.ck
|
||||
src/testdir/mbyte.vim
|
||||
src/testdir/mzscheme.vim
|
||||
src/testdir/lua.vim
|
||||
src/testdir/small.vim
|
||||
src/testdir/tiny.vim
|
||||
src/po/*.ck
|
||||
src/testdir/mbyte.vim
|
||||
src/testdir/mzscheme.vim
|
||||
src/testdir/lua.vim
|
||||
src/testdir/small.vim
|
||||
src/testdir/tiny.vim
|
||||
src/testdir/test*.out
|
||||
src/testdir/test.log
|
||||
src/memfile_test
|
||||
|
||||
16
Filelist
16
Filelist
@@ -3,6 +3,7 @@
|
||||
|
||||
# source files for all source archives
|
||||
SRC_ALL = \
|
||||
.hgignore \
|
||||
src/README.txt \
|
||||
src/arabic.c \
|
||||
src/arabic.h \
|
||||
@@ -10,6 +11,8 @@ SRC_ALL = \
|
||||
src/blowfish.c \
|
||||
src/buffer.c \
|
||||
src/charset.c \
|
||||
src/crypt.c \
|
||||
src/crypt_zip.c \
|
||||
src/diff.c \
|
||||
src/digraph.c \
|
||||
src/edit.c \
|
||||
@@ -79,12 +82,17 @@ SRC_ALL = \
|
||||
src/xxd/xxd.c \
|
||||
src/main.aap \
|
||||
src/testdir/main.aap \
|
||||
src/testdir/README.txt \
|
||||
src/testdir/*.in \
|
||||
src/testdir/sautest/autoload/*.vim \
|
||||
src/testdir/test[0-9]*.ok \
|
||||
src/testdir/test[0-9]*a.ok \
|
||||
src/testdir/test_[a-z]*.ok \
|
||||
src/testdir/test49.vim \
|
||||
src/testdir/test60.vim \
|
||||
src/testdir/test83-tags? \
|
||||
src/testdir/test77a.com \
|
||||
src/testdir/test_*.vim \
|
||||
src/testdir/python2/*.py \
|
||||
src/testdir/python3/*.py \
|
||||
src/testdir/pythonx/*.py \
|
||||
@@ -94,10 +102,15 @@ SRC_ALL = \
|
||||
src/testdir/pythonx/topmodule/submodule/subsubmodule/subsubsubmodule.py \
|
||||
src/testdir/python_after/*.py \
|
||||
src/testdir/python_before/*.py \
|
||||
src/testdir/bench*.in \
|
||||
src/testdir/bench*.vim \
|
||||
src/testdir/samples/*.txt \
|
||||
src/proto.h \
|
||||
src/proto/blowfish.pro \
|
||||
src/proto/buffer.pro \
|
||||
src/proto/charset.pro \
|
||||
src/proto/crypt.pro \
|
||||
src/proto/crypt_zip.pro \
|
||||
src/proto/diff.pro \
|
||||
src/proto/digraph.pro \
|
||||
src/proto/edit.pro \
|
||||
@@ -267,6 +280,7 @@ SRC_DOS = \
|
||||
src/Make_bc3.mak \
|
||||
src/Make_bc5.mak \
|
||||
src/Make_cyg.mak \
|
||||
src/Make_cyg_ming.mak \
|
||||
src/Make_djg.mak \
|
||||
src/Make_ivc.mak \
|
||||
src/Make_dvc.mak \
|
||||
@@ -284,6 +298,8 @@ SRC_DOS = \
|
||||
src/dosinst.h \
|
||||
src/glbl_ime.cpp \
|
||||
src/glbl_ime.h \
|
||||
src/gui_dwrite.cpp \
|
||||
src/gui_dwrite.h \
|
||||
src/gui_w16.c \
|
||||
src/gui_w32.c \
|
||||
src/gui_w48.c \
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# NSIS file to create a self-installing exe for Vim.
|
||||
# It requires NSIS version 2.0 or later.
|
||||
# Last Change: 2010 Jul 30
|
||||
# Last Change: 2014 Nov 5
|
||||
|
||||
# WARNING: if you make changes to this script, look out for $0 to be valid,
|
||||
# because uninstall deletes most files in $0.
|
||||
@@ -38,7 +38,7 @@ SetDatablockOptimize on
|
||||
RequestExecutionLevel highest
|
||||
|
||||
ComponentText "This will install Vim ${VER_MAJOR}.${VER_MINOR} on your computer."
|
||||
DirText "Choose a directory to install Vim (must end in 'vim')"
|
||||
DirText "Choose a directory to install Vim (should contain 'vim')"
|
||||
Icon icons\vim_16c.ico
|
||||
# NSIS2 uses a different strategy with six different images in a strip...
|
||||
#EnabledBitmap icons\enabled.bmp
|
||||
@@ -135,11 +135,6 @@ FunctionEnd
|
||||
# We only accept the directory if it ends in "vim". Using .onVerifyInstDir has
|
||||
# the disadvantage that the browse dialog is difficult to use.
|
||||
Function CheckInstallDir
|
||||
StrCpy $0 $INSTDIR 3 -3
|
||||
StrCmp $0 "vim" PathGood
|
||||
MessageBox MB_OK "The path must end in 'vim'."
|
||||
Abort
|
||||
PathGood:
|
||||
FunctionEnd
|
||||
|
||||
Function .onInstSuccess
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,6 +1,6 @@
|
||||
" Vim autoload file for editing compressed files.
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2008 Jul 04
|
||||
" Last Change: 2014 Nov 05
|
||||
|
||||
" These functions are used by the gzip plugin.
|
||||
|
||||
@@ -120,6 +120,8 @@ fun gzip#read(cmd)
|
||||
silent! exe "bwipe " . tmp_esc
|
||||
silent! exe "bwipe " . tmpe_esc
|
||||
endif
|
||||
" Store the OK flag, so that we can use it when writing.
|
||||
let b:uncompressOk = ok
|
||||
|
||||
" Restore saved option values.
|
||||
let &pm = pm_save
|
||||
@@ -146,8 +148,10 @@ endfun
|
||||
|
||||
" After writing compressed file: Compress written file with "cmd"
|
||||
fun gzip#write(cmd)
|
||||
if exists('b:uncompressOk') && !b:uncompressOk
|
||||
echomsg "Not compressing file because uncompress failed; reset b:uncompressOk to compress anyway"
|
||||
" don't do anything if the cmd is not supported
|
||||
if s:check(a:cmd)
|
||||
elseif s:check(a:cmd)
|
||||
" Rename the file before compressing it.
|
||||
let nm = resolve(expand("<afile>"))
|
||||
let nmt = s:tempname(nm)
|
||||
|
||||
@@ -1,7 +1,49 @@
|
||||
" Vim completion script
|
||||
" Language: HTML and XHTML
|
||||
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||
" Last Change: 2011 Apr 28
|
||||
" Last Change: 2014 Jun 20
|
||||
|
||||
" Distinguish between HTML versions.
|
||||
" To use with other HTML versions add another "elseif" condition to match
|
||||
" proper DOCTYPE.
|
||||
function! htmlcomplete#DetectOmniFlavor()
|
||||
if &filetype == 'xhtml'
|
||||
let b:html_omni_flavor = 'xhtml10s'
|
||||
else
|
||||
let b:html_omni_flavor = 'html401t'
|
||||
endif
|
||||
let i = 1
|
||||
let line = ""
|
||||
while i < 10 && i < line("$")
|
||||
let line = getline(i)
|
||||
if line =~ '<!DOCTYPE.*\<DTD '
|
||||
break
|
||||
endif
|
||||
let i += 1
|
||||
endwhile
|
||||
if line =~ '<!DOCTYPE.*\<DTD ' " doctype line found above
|
||||
if line =~ ' HTML 3\.2'
|
||||
let b:html_omni_flavor = 'html32'
|
||||
elseif line =~ ' XHTML 1\.1'
|
||||
let b:html_omni_flavor = 'xhtml11'
|
||||
else " two-step detection with strict/frameset/transitional
|
||||
if line =~ ' XHTML 1\.0'
|
||||
let b:html_omni_flavor = 'xhtml10'
|
||||
elseif line =~ ' HTML 4\.01'
|
||||
let b:html_omni_flavor = 'html401'
|
||||
elseif line =~ ' HTML 4.0\>'
|
||||
let b:html_omni_flavor = 'html40'
|
||||
endif
|
||||
if line =~ '\<Transitional\>'
|
||||
let b:html_omni_flavor .= 't'
|
||||
elseif line =~ '\<Frameset\>'
|
||||
let b:html_omni_flavor .= 'f'
|
||||
else
|
||||
let b:html_omni_flavor .= 's'
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! htmlcomplete#CompleteTags(findstart, base)
|
||||
if a:findstart
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -1,10 +1,10 @@
|
||||
" Vim color file
|
||||
" Maintainer: David Schweikert <dws@ee.ethz.ch>
|
||||
" Last Change: 2006 Apr 30
|
||||
" Maintainer: David Schweikert <david@schweikert.ch>
|
||||
" Last Change: 2014 Mar 19
|
||||
|
||||
hi clear
|
||||
|
||||
let colors_name = "delek"
|
||||
let g:colors_name = "delek"
|
||||
|
||||
" Normal should come first
|
||||
hi Normal guifg=Black guibg=White
|
||||
@@ -28,7 +28,11 @@ hi NonText ctermfg=Blue gui=bold guifg=gray guibg=white
|
||||
hi Pmenu guibg=LightBlue
|
||||
hi PmenuSel ctermfg=White ctermbg=DarkBlue guifg=White guibg=DarkBlue
|
||||
hi Question ctermfg=DarkGreen gui=bold guifg=SeaGreen
|
||||
hi Search ctermfg=NONE ctermbg=Yellow guibg=Yellow guifg=NONE
|
||||
if &background == "light"
|
||||
hi Search ctermfg=NONE ctermbg=Yellow guibg=Yellow guifg=NONE
|
||||
else
|
||||
hi Search ctermfg=Black ctermbg=Yellow guibg=Yellow guifg=Black
|
||||
endif
|
||||
hi SpecialKey ctermfg=DarkBlue guifg=Blue
|
||||
hi StatusLine cterm=bold ctermbg=blue ctermfg=yellow guibg=gold guifg=blue
|
||||
hi StatusLineNC cterm=bold ctermbg=blue ctermfg=black guibg=gold guifg=blue
|
||||
|
||||
40
runtime/colors/industry.vim
Normal file
40
runtime/colors/industry.vim
Normal file
@@ -0,0 +1,40 @@
|
||||
" Vim color file
|
||||
" Maintainer: Shian Lee
|
||||
" Last Change: 2014 Mar 6 (for vim 7.4)
|
||||
" Remark: "industry" stands for 'industrial' color scheme. In industrial
|
||||
" HMI (Human-Machine-Interface) programming, using a standard color
|
||||
" scheme is mandatory in many cases (in traffic-lights for example):
|
||||
" LIGHT_RED is 'Warning'
|
||||
" LIGHT_YELLOW is 'Attention'
|
||||
" LIGHT_GREEN is 'Normal'
|
||||
" LIGHT_MAGENTA is 'Warning-Attention' (light RED-YELLOW)
|
||||
" LIGHT_CYAN is 'Attention-Normal' (light YELLOW-GREEN).
|
||||
" BLACK is Dark-High-Contrast Background for maximum safety.
|
||||
" BLUE is Shade of BLACK (not supposed to get attention).
|
||||
"
|
||||
" Industrial color scheme is by nature clear, safe and productive.
|
||||
" Yet, depends on the file type's syntax, it might appear incorrect.
|
||||
|
||||
" Reset to dark background, then reset everything to defaults:
|
||||
set background=dark
|
||||
highlight clear
|
||||
if exists("syntax_on")
|
||||
syntax reset
|
||||
endif
|
||||
|
||||
let colors_name = "industry"
|
||||
|
||||
" First set Normal to regular white on black text colors:
|
||||
hi Normal ctermfg=LightGray ctermbg=Black guifg=#dddddd guibg=Black
|
||||
|
||||
" Syntax highlighting (other color-groups using default, see :help group-name):
|
||||
hi Comment cterm=NONE ctermfg=DarkCyan gui=NONE guifg=#00aaaa
|
||||
hi Constant cterm=NONE ctermfg=LightCyan gui=NONE guifg=#00ffff
|
||||
hi Identifier cterm=NONE ctermfg=LightMagenta gui=NONE guifg=#ff00ff
|
||||
hi Function cterm=NONE ctermfg=LightGreen gui=NONE guifg=#00ff00
|
||||
hi Statement cterm=NONE ctermfg=White gui=bold guifg=#ffffff
|
||||
hi PreProc cterm=NONE ctermfg=Yellow gui=NONE guifg=#ffff00
|
||||
hi Type cterm=NONE ctermfg=LightGreen gui=bold guifg=#00ff00
|
||||
hi Special cterm=NONE ctermfg=LightRed gui=NONE guifg=#ff0000
|
||||
hi Delimiter cterm=NONE ctermfg=Yellow gui=NONE guifg=#ffff00
|
||||
|
||||
29
runtime/compiler/go.vim
Normal file
29
runtime/compiler/go.vim
Normal file
@@ -0,0 +1,29 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Go
|
||||
" Maintainer: David Barnett (https://github.com/google/vim-ft-go)
|
||||
" Last Change: 2014 Aug 16
|
||||
|
||||
if exists('current_compiler')
|
||||
finish
|
||||
endif
|
||||
let current_compiler = 'go'
|
||||
|
||||
if exists(':CompilerSet') != 2
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo-=C
|
||||
|
||||
CompilerSet makeprg=go\ build
|
||||
CompilerSet errorformat=
|
||||
\%-G#\ %.%#,
|
||||
\%A%f:%l:%c:\ %m,
|
||||
\%A%f:%l:\ %m,
|
||||
\%C%*\\s%m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim: sw=2 sts=2 et
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Miscrosoft Visual C
|
||||
" Compiler: Microsoft Visual C
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2005 Nov 30
|
||||
" Last Change: 2014 Sep 20
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 7.4. Last change: 2014 Jan 23
|
||||
*autocmd.txt* For Vim version 7.4. Last change: 2014 Sep 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -278,6 +278,7 @@ Name triggered by ~
|
||||
|ShellCmdPost| after executing a shell command
|
||||
|ShellFilterPost| after filtering with a shell command
|
||||
|
||||
|CmdUndefined| a user command is used but it isn't defined
|
||||
|FuncUndefined| a user function is used but it isn't defined
|
||||
|SpellFileMissing| a spell file is used but it can't be found
|
||||
|SourcePre| before sourcing a Vim script
|
||||
@@ -465,6 +466,16 @@ BufWriteCmd Before writing the whole buffer to a file.
|
||||
*BufWritePost*
|
||||
BufWritePost After writing the whole buffer to a file
|
||||
(should undo the commands for BufWritePre).
|
||||
*CmdUndefined*
|
||||
CmdUndefined When a user command is used but it isn't
|
||||
defined. Useful for defining a command only
|
||||
when it's used. The pattern is matched
|
||||
against the command name. Both <amatch> and
|
||||
<afile> are set to the name of the command.
|
||||
NOTE: Autocompletion won't work until the
|
||||
command is defined. An alternative is to
|
||||
always define the user command and have it
|
||||
invoke an autoloaded function. See |autoload|.
|
||||
*CmdwinEnter*
|
||||
CmdwinEnter After entering the command-line window.
|
||||
Useful for setting options specifically for
|
||||
@@ -508,6 +519,11 @@ CursorHold When the user doesn't press a key for the time
|
||||
operator.
|
||||
While recording the CursorHold event is not
|
||||
triggered. |q|
|
||||
*<CursorHold>*
|
||||
Internally the autocommand is triggered by the
|
||||
<CursorHold> key. In an expression mapping
|
||||
|getchar()| may see this character.
|
||||
|
||||
Note: Interactive commands cannot be used for
|
||||
this event. There is no hit-enter prompt,
|
||||
the screen is updated directly (when needed).
|
||||
@@ -569,7 +585,8 @@ FileChangedRO Before making the first change to a read-only
|
||||
FileChangedShell When Vim notices that the modification time of
|
||||
a file has changed since editing started.
|
||||
Also when the file attributes of the file
|
||||
change. |timestamp|
|
||||
change or when the size of the file changes.
|
||||
|timestamp|
|
||||
Mostly triggered after executing a shell
|
||||
command, but also with a |:checktime| command
|
||||
or when Gvim regains input focus.
|
||||
@@ -669,6 +686,8 @@ FuncUndefined When a user function is used but it isn't
|
||||
when it's used. The pattern is matched
|
||||
against the function name. Both <amatch> and
|
||||
<afile> are set to the name of the function.
|
||||
NOTE: When writing Vim scripts a better
|
||||
alternative is to use an autoloaded function.
|
||||
See |autoload-functions|.
|
||||
*GUIEnter*
|
||||
GUIEnter After starting the GUI successfully, and after
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 7.4. Last change: 2014 Feb 11
|
||||
*change.txt* For Vim version 7.4. Last change: 2014 Jun 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1650,7 +1650,7 @@ And a few warnings:
|
||||
7. Sorting text *sorting*
|
||||
|
||||
Vim has a sorting function and a sorting command. The sorting function can be
|
||||
found here: |sort()|.
|
||||
found here: |sort()|, |uniq()|.
|
||||
|
||||
*:sor* *:sort*
|
||||
:[range]sor[t][!] [i][u][r][n][x][o] [/{pattern}/]
|
||||
@@ -1717,8 +1717,8 @@ Note that using `:sort` with `:global` doesn't sort the matching lines, it's
|
||||
quite useless.
|
||||
|
||||
The details about sorting depend on the library function used. There is no
|
||||
guarantee that sorting is "stable" or obeys the current locale. You will have
|
||||
to try it out.
|
||||
guarantee that sorting obeys the current locale. You will have to try it out.
|
||||
Vim does do a "stable" sort.
|
||||
|
||||
The sorting can be interrupted, but if you interrupt it too late in the
|
||||
process you may end up with duplicated lines. This also depends on the system
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 7.4. Last change: 2014 Feb 23
|
||||
*cmdline.txt* For Vim version 7.4. Last change: 2014 Sep 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -56,7 +56,7 @@ history tables:
|
||||
These are completely separate. Each history can only be accessed when
|
||||
entering the same type of line.
|
||||
Use the 'history' option to set the number of lines that are remembered
|
||||
(default: 20).
|
||||
(default: 50).
|
||||
Notes:
|
||||
- When you enter a command-line that is exactly the same as an older one, the
|
||||
old one is removed (to avoid repeated commands moving older commands out of
|
||||
@@ -1084,6 +1084,9 @@ another window, or drag statuslines of other windows. You can drag the
|
||||
statusline of the command-line window itself and the statusline above it.
|
||||
Thus you can resize the command-line window, but not others.
|
||||
|
||||
The |getcmdwintype()| function returns the type of the command-line being
|
||||
edited as described in |cmdwin-char|.
|
||||
|
||||
|
||||
AUTOCOMMANDS
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*develop.txt* For Vim version 7.4. Last change: 2013 Apr 27
|
||||
*develop.txt* For Vim version 7.4. Last change: 2014 Mar 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -19,7 +19,6 @@ code.
|
||||
|
||||
Vim is open source software. Everybody is encouraged to contribute to help
|
||||
improving Vim. For sending patches a context diff "diff -c" is preferred.
|
||||
Also see http://www.vim.org/tips/tip.php?tip_id=618.
|
||||
Also see http://vim.wikia.com/wiki/How_to_make_and_submit_a_patch.
|
||||
|
||||
==============================================================================
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*diff.txt* For Vim version 7.4. Last change: 2013 Sep 20
|
||||
*diff.txt* For Vim version 7.4. Last change: 2014 Oct 31
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -95,7 +95,7 @@ While already in Vim you can start diff mode in three ways.
|
||||
:difft[his] Make the current window part of the diff windows. This sets
|
||||
the options like for "vimdiff".
|
||||
|
||||
:diffp[atch] {patchfile} *E816* *:diffp* *:diffpatch*
|
||||
:diffp[atch] {patchfile} *E816* *:diffp* *:diffpatch*
|
||||
Use the current buffer, patch it with the diff found in
|
||||
{patchfile} and open a buffer on the result. The options are
|
||||
set as for "vimdiff".
|
||||
@@ -266,13 +266,17 @@ that the buffers will be equal within the specified range.
|
||||
See below for [range].
|
||||
|
||||
*do*
|
||||
do Same as ":diffget" without argument or range. The "o" stands
|
||||
for "obtain" ("dg" can't be used, it could be the start of
|
||||
"dgg"!). Note: this doesn't work in Visual mode.
|
||||
[count]do Same as ":diffget" without range. The "o" stands for "obtain"
|
||||
("dg" can't be used, it could be the start of "dgg"!). Note:
|
||||
this doesn't work in Visual mode.
|
||||
If you give a [count], it is used as the [bufspec] argument
|
||||
for ":diffget".
|
||||
|
||||
*dp*
|
||||
dp Same as ":diffput" without argument or range.
|
||||
Note: this doesn't work in Visual mode.
|
||||
[count]dp Same as ":diffput" without range. Note: this doesn't work in
|
||||
Visual mode.
|
||||
If you give a [count], it is used as the [bufspec] argument
|
||||
for ":diffput".
|
||||
|
||||
|
||||
When no [range] is given, the diff at the cursor position or just above it is
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*digraph.txt* For Vim version 7.4. Last change: 2013 Dec 12
|
||||
*digraph.txt* For Vim version 7.4. Last change: 2014 Jun 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -170,6 +170,11 @@ used for the currency sign, and latin9 (iso-8859-15), where the digraph =e is
|
||||
used for the euro sign, while both of them are the character 164, 0xa4. For
|
||||
compatibility with zsh Eu can also be used for the euro sign.
|
||||
|
||||
ROUBLE
|
||||
|
||||
The rouble sign was added in 2014 as 0x20bd. Vim supports the digraphs =R and
|
||||
=P for this. Note that R= and P= are other characters.
|
||||
|
||||
*digraph-table*
|
||||
char digraph hex dec official name ~
|
||||
^@ NU 0x00 0 NULL (NUL)
|
||||
@@ -966,6 +971,8 @@ char digraph hex dec official name ~
|
||||
₧ Pt 20A7 8359 PESETA SIGN
|
||||
₩ W= 20A9 8361 WON SIGN
|
||||
€ Eu 20AC 8364 EURO SIGN
|
||||
₽ =R 20BD 8381 ROUBLE SIGN
|
||||
₽ =P 20BD 8381 ROUBLE SIGN
|
||||
℃ oC 2103 8451 DEGREE CELSIUS
|
||||
℅ co 2105 8453 CARE OF
|
||||
℉ oF 2109 8457 DEGREE FAHRENHEIT
|
||||
@@ -1077,7 +1084,7 @@ char digraph hex dec official name ~
|
||||
⊥ -T 22A5 8869 UP TACK
|
||||
⋅ .P 22C5 8901 DOT OPERATOR
|
||||
⋮ :3 22EE 8942 VERTICAL ELLIPSIS
|
||||
⋯ .3 22EF 8943 MIDLINE HORIZONTAL ELLIPSIS
|
||||
⋯ .3 22EF 8943 MIDLINE HORIZONTAL ELLIPSIS
|
||||
⌂ Eh 2302 8962 HOUSE
|
||||
⌈ <7 2308 8968 LEFT CEILING
|
||||
⌉ >7 2309 8969 RIGHT CEILING
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 7.4. Last change: 2013 Nov 25
|
||||
*editing.txt* For Vim version 7.4. Last change: 2014 Dec 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -609,7 +609,10 @@ list of the current window.
|
||||
{not in Vi}
|
||||
|
||||
:[count]arga[dd] {name} .. *:arga* *:argadd* *E479*
|
||||
Add the {name}s to the argument list.
|
||||
:[count]arga[dd]
|
||||
Add the {name}s to the argument list. When {name} is
|
||||
omitted add the current buffer name to the argument
|
||||
list.
|
||||
If [count] is omitted, the {name}s are added just
|
||||
after the current entry in the argument list.
|
||||
Otherwise they are added after the [count]'th file.
|
||||
@@ -619,7 +622,8 @@ list of the current window.
|
||||
:argadd x a b x c
|
||||
:0argadd x x a b c
|
||||
:1argadd x a x b c
|
||||
:99argadd x a b c x
|
||||
:$argadd x a b c x
|
||||
:+2argadd y a b c x y
|
||||
There is no check for duplicates, it is possible to
|
||||
add a file to the argument list twice.
|
||||
The currently edited file is not changed.
|
||||
@@ -641,11 +645,19 @@ list of the current window.
|
||||
< {not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
|
||||
:{range}argd[elete] Delete the {range} files from the argument list.
|
||||
:[range]argd[elete] Delete the {range} files from the argument list.
|
||||
Example: >
|
||||
:10,$argdel
|
||||
< Deletes arguments 10 and further, keeping 1-9. >
|
||||
:$argd
|
||||
< Deletes just the last one. >
|
||||
:argd
|
||||
:.argd
|
||||
< Deletes the current argument. >
|
||||
:%argd
|
||||
< Removes all the files from the arglist.
|
||||
When the last number in the range is too high, up to
|
||||
the last argument is deleted. Example: >
|
||||
:10,1000argdel
|
||||
< Deletes arguments 10 and further, keeping 1-9.
|
||||
the last argument is deleted.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
|
||||
@@ -1077,9 +1089,12 @@ The names can be in upper- or lowercase.
|
||||
the last file in the argument list has not been
|
||||
edited. See |:confirm| and 'confirm'. {not in Vi}
|
||||
|
||||
:q[uit]! Quit without writing, also when visible buffers have
|
||||
changes. Does not exit when there are changed hidden
|
||||
buffers. Use ":qall!" to exit always.
|
||||
:q[uit]! Quit without writing, also when currently visible
|
||||
buffers have changes. Does not exit when this is the
|
||||
last window and there is a changed hidden buffer.
|
||||
In this case, the first changed hidden buffer becomes
|
||||
the current buffer.
|
||||
Use ":qall!" to exit always.
|
||||
|
||||
:cq[uit] Quit always, without writing, and return an error
|
||||
code. See |:cq|. Used for Manx's QuickFix mode (see
|
||||
@@ -1362,11 +1377,21 @@ cannot be read without the right key.
|
||||
{only available when compiled with the |+cryptv| feature} *E833*
|
||||
|
||||
The text in the swap file and the undo file is also encrypted. *E843*
|
||||
However, this is done block-by-block and may reduce the time needed to crack a
|
||||
password. You can disable the swap file, but then a crash will cause you to
|
||||
lose your work. The undo file can be disabled without much disadvantage. >
|
||||
:set noundofile
|
||||
:noswapfile edit secrets
|
||||
|
||||
Note: The text in memory is not encrypted. A system administrator may be able
|
||||
to see your text while you are editing it. When filtering text with
|
||||
":!filter" or using ":w !command" the text is not encrypted, this may reveal
|
||||
it to others. The 'viminfo' file is not encrypted.
|
||||
":!filter" or using ":w !command" the text is also not encrypted, this may
|
||||
reveal it to others. The 'viminfo' file is not encrypted.
|
||||
|
||||
You could do this to edit very secret text: >
|
||||
:set noundofile viminfo=
|
||||
:noswapfile edit secrets.txt
|
||||
Keep in mind that without a swap file you risk loosing your work in a crash.
|
||||
|
||||
WARNING: If you make a typo when entering the key and then write the file and
|
||||
exit, the text will be lost!
|
||||
@@ -1393,18 +1418,23 @@ To disable the encryption, reset the 'key' option to an empty value: >
|
||||
:set key=
|
||||
|
||||
You can use the 'cryptmethod' option to select the type of encryption, use one
|
||||
of these two: >
|
||||
:setlocal cm=zip " weak method, backwards compatible
|
||||
:setlocal cm=blowfish " strong method
|
||||
of these: >
|
||||
:setlocal cm=zip " weak method, backwards compatible
|
||||
:setlocal cm=blowfish " method with flaws
|
||||
:setlocal cm=blowfish2 " medium strong method
|
||||
|
||||
Do this before writing the file. When reading an encrypted file it will be
|
||||
set automatically to the method used when that file was written. You can
|
||||
change 'cryptmethod' before writing that file to change the method.
|
||||
To set the default method, used for new files, use one of these in your
|
||||
|vimrc| file: >
|
||||
set cm=zip
|
||||
set cm=blowfish
|
||||
|
||||
To set the default method, used for new files, use this in your |vimrc|
|
||||
file: >
|
||||
set cm=blowfish2
|
||||
Using "blowfish2" is highly recommended. Only use another method if you
|
||||
must use an older Vim version that does not support it.
|
||||
|
||||
The message given for reading and writing a file will show "[crypted]" when
|
||||
using zip, "[blowfish]" when using blowfish.
|
||||
using zip, "[blowfish]" when using blowfish, etc.
|
||||
|
||||
When writing an undo file, the same key and method will be used for the text
|
||||
in the undo file. |persistent-undo|.
|
||||
@@ -1439,7 +1469,7 @@ lines to "/etc/magic", "/usr/share/misc/magic" or wherever your system has the
|
||||
0 string VimCrypt~ Vim encrypted file
|
||||
>9 string 01 - "zip" cryptmethod
|
||||
>9 string 02 - "blowfish" cryptmethod
|
||||
|
||||
>9 string 03 - "blowfish2" cryptmethod
|
||||
|
||||
Notes:
|
||||
- Encryption is not possible when doing conversion with 'charconvert'.
|
||||
@@ -1463,20 +1493,25 @@ Notes:
|
||||
- Pkzip uses the same encryption as 'cryptmethod' "zip", and US Govt has no
|
||||
objection to its export. Pkzip's public file APPNOTE.TXT describes this
|
||||
algorithm in detail.
|
||||
- The implementation of 'cryptmethod' "blowfish" has a flaw. It is possible
|
||||
to crack the first 64 bytes of a file and in some circumstances more of the
|
||||
file. Use of it is not recommended, but it's still the strongest method
|
||||
supported by Vim 7.3 and 7.4. The "zip" method is even weaker.
|
||||
- Vim originates from the Netherlands. That is where the sources come from.
|
||||
Thus the encryption code is not exported from the USA.
|
||||
|
||||
==============================================================================
|
||||
10. Timestamps *timestamp* *timestamps*
|
||||
|
||||
Vim remembers the modification timestamp of a file when you begin editing it.
|
||||
This is used to avoid that you have two different versions of the same file
|
||||
(without you knowing this).
|
||||
Vim remembers the modification timestamp, mode and size of a file when you
|
||||
begin editing it. This is used to avoid that you have two different versions
|
||||
of the same file (without you knowing this).
|
||||
|
||||
After a shell command is run (|:!cmd| |suspend| |:read!| |K|) timestamps are
|
||||
compared for all buffers in a window. Vim will run any associated
|
||||
|FileChangedShell| autocommands or display a warning for any files that have
|
||||
changed. In the GUI this happens when Vim regains input focus.
|
||||
After a shell command is run (|:!cmd| |suspend| |:read!| |K|) timestamps,
|
||||
file modes and file sizes are compared for all buffers in a window. Vim will
|
||||
run any associated |FileChangedShell| autocommands or display a warning for
|
||||
any files that have changed. In the GUI this happens when Vim regains input
|
||||
focus.
|
||||
|
||||
*E321* *E462*
|
||||
If you want to automatically reload a file when it has been changed outside of
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 7.4. Last change: 2014 Feb 11
|
||||
*eval.txt* For Vim version 7.4. Last change: 2014 Nov 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -148,7 +148,7 @@ arguments: >
|
||||
|
||||
|
||||
1.3 Lists ~
|
||||
*List* *Lists* *E686*
|
||||
*list* *List* *Lists* *E686*
|
||||
A List is an ordered sequence of items. An item can be of any type. Items
|
||||
can be accessed by their index number. Items can be added and removed at any
|
||||
position in the sequence.
|
||||
@@ -327,6 +327,7 @@ examples: >
|
||||
Changing the order of items in a list: >
|
||||
:call sort(list) " sort a list alphabetically
|
||||
:call reverse(list) " reverse the order of items
|
||||
:call uniq(sort(list)) " sort and remove duplicates
|
||||
|
||||
|
||||
For loop ~
|
||||
@@ -393,7 +394,7 @@ example, to add up all the numbers in a list: >
|
||||
|
||||
|
||||
1.4 Dictionaries ~
|
||||
*Dictionaries* *Dictionary*
|
||||
*dict* *Dictionaries* *Dictionary*
|
||||
A Dictionary is an associative array: Each entry has a key and a value. The
|
||||
entry can be located with the key. The entries are stored without a specific
|
||||
ordering.
|
||||
@@ -1004,7 +1005,7 @@ function. Example: >
|
||||
|
||||
|
||||
|
||||
string *expr-string* *E114*
|
||||
string *string* *expr-string* *E114*
|
||||
------
|
||||
"string" string constant *expr-quote*
|
||||
|
||||
@@ -1101,9 +1102,9 @@ are known inside the current Vim session. Using expand() will first try using
|
||||
the environment variables known inside the current Vim session. If that
|
||||
fails, a shell will be used to expand the variable. This can be slow, but it
|
||||
does expand all variables that the shell knows about. Example: >
|
||||
:echo $version
|
||||
:echo expand("$version")
|
||||
The first one probably doesn't echo anything, the second echoes the $version
|
||||
:echo $shell
|
||||
:echo expand("$shell")
|
||||
The first one probably doesn't echo anything, the second echoes the $shell
|
||||
variable (if your shell supports it).
|
||||
|
||||
|
||||
@@ -1143,7 +1144,7 @@ specified by what is prepended:
|
||||
|local-variable| l: Local to a function.
|
||||
|script-variable| s: Local to a |:source|'ed Vim script.
|
||||
|function-argument| a: Function argument (only inside a function).
|
||||
|vim-variable| v: Global, predefined by Vim.
|
||||
|vim-variable| v: Global, predefined by Vim.
|
||||
|
||||
The scope name by itself can be used as a |Dictionary|. For example, to
|
||||
delete all script-local variables: >
|
||||
@@ -1456,10 +1457,10 @@ v:foldstart Used for 'foldtext': first line of closed fold.
|
||||
Read-only in the |sandbox|. |fold-foldtext|
|
||||
|
||||
*v:hlsearch* *hlsearch-variable*
|
||||
v:hlsearch Variable that determines whether search highlighting is on.
|
||||
Makes sense only if 'hlsearch' is enabled which requires
|
||||
|+extra_search|. Setting this variable to zero acts the like
|
||||
|:nohlsearch| command, setting it to one acts like >
|
||||
v:hlsearch Variable that indicates whether search highlighting is on.
|
||||
Setting it makes sense only if 'hlsearch' is enabled which
|
||||
requires |+extra_search|. Setting this variable to zero acts
|
||||
the like |:nohlsearch| command, setting it to one acts like >
|
||||
let &hlsearch = &hlsearch
|
||||
<
|
||||
*v:insertmode* *insertmode-variable*
|
||||
@@ -1555,6 +1556,16 @@ v:profiling Normally zero. Set to one after using ":profile start".
|
||||
v:progname Contains the name (with path removed) with which Vim was
|
||||
invoked. Allows you to do special initialisations for |view|,
|
||||
|evim| etc., or any other name you might symlink to Vim.
|
||||
Read-only.
|
||||
|
||||
*v:progpath* *progpath-variable*
|
||||
v:progpath Contains the command with which Vim was invoked, including the
|
||||
path. Useful if you want to message a Vim server using a
|
||||
|--remote-expr|.
|
||||
To get the full path use: >
|
||||
echo exepath(v:progpath)
|
||||
< NOTE: This does not work when the command is a relative path
|
||||
and the current directory has changed.
|
||||
Read-only.
|
||||
|
||||
*v:register* *register-variable*
|
||||
@@ -1671,7 +1682,7 @@ v:version Version number of Vim: Major version number times 100 plus
|
||||
is 501. Read-only. "version" also works, for backwards
|
||||
compatibility.
|
||||
Use |has()| to check if a certain patch was included, e.g.: >
|
||||
if has("patch123")
|
||||
if has("patch-7.4.123")
|
||||
< Note that patch numbers are specific to the version, thus both
|
||||
version 5.0 and 5.1 may have a patch 123, but these are
|
||||
completely different.
|
||||
@@ -1705,6 +1716,8 @@ append( {lnum}, {string}) Number append {string} below line {lnum}
|
||||
append( {lnum}, {list}) Number append lines {list} below line {lnum}
|
||||
argc() Number number of files in the argument list
|
||||
argidx() Number current index in the argument list
|
||||
arglistid( [{winnr}, [ {tabnr}]])
|
||||
Number argument list id
|
||||
argv( {nr}) String {nr} entry of the argument list
|
||||
argv( ) List the argument list
|
||||
asin( {expr}) Float arc sine of {expr}
|
||||
@@ -1738,12 +1751,12 @@ confirm( {msg} [, {choices} [, {default} [, {type}]]])
|
||||
copy( {expr}) any make a shallow copy of {expr}
|
||||
cos( {expr}) Float cosine of {expr}
|
||||
cosh( {expr}) Float hyperbolic cosine of {expr}
|
||||
count( {list}, {expr} [, {start} [, {ic}]])
|
||||
count( {list}, {expr} [, {ic} [, {start}]])
|
||||
Number count how many {expr} are in {list}
|
||||
cscope_connection( [{num} , {dbpath} [, {prepend}]])
|
||||
Number checks existence of cscope connection
|
||||
cursor( {lnum}, {col} [, {coladd}])
|
||||
Number move cursor to {lnum}, {col}, {coladd}
|
||||
cursor( {lnum}, {col} [, {off}])
|
||||
Number move cursor to {lnum}, {col}, {off}
|
||||
cursor( {list}) Number move cursor to position in {list}
|
||||
deepcopy( {expr} [, {noref}]) any make a full copy of {expr}
|
||||
delete( {fname}) Number delete file {fname}
|
||||
@@ -1755,6 +1768,7 @@ escape( {string}, {chars}) String escape {chars} in {string} with '\'
|
||||
eval( {string}) any evaluate {string} into its value
|
||||
eventhandler( ) Number TRUE if inside an event handler
|
||||
executable( {expr}) Number 1 if executable {expr} exists
|
||||
exepath( {expr}) String full path of the command {expr}
|
||||
exists( {expr}) Number TRUE if {expr} exists
|
||||
extend( {expr1}, {expr2} [, {expr3}])
|
||||
List/Dict insert items of {expr2} into {expr1}
|
||||
@@ -1793,11 +1807,13 @@ getchar( [expr]) Number get one character from the user
|
||||
getcharmod( ) Number modifiers for the last typed character
|
||||
getcmdline() String return the current command-line
|
||||
getcmdpos() Number return cursor position in command-line
|
||||
getcmdtype() String return the current command-line type
|
||||
getcmdtype() String return current command-line type
|
||||
getcmdwintype() String return current command-line window type
|
||||
getcurpos() List position of the cursor
|
||||
getcwd() String the current working directory
|
||||
getfontname( [{name}]) String name of font being used
|
||||
getfperm( {fname}) String file permissions of file {fname}
|
||||
getfsize( {fname}) Number size in bytes of file {fname}
|
||||
getfontname( [{name}]) String name of font being used
|
||||
getftime( {fname}) Number last modification time of file
|
||||
getftype( {fname}) String description of type of file {fname}
|
||||
getline( {lnum}) String line {lnum} of current buffer
|
||||
@@ -1807,7 +1823,8 @@ getmatches() List list of current matches
|
||||
getpid() Number process ID of Vim
|
||||
getpos( {expr}) List position of cursor, mark, etc.
|
||||
getqflist() List list of quickfix items
|
||||
getreg( [{regname} [, 1]]) String contents of register
|
||||
getreg( [{regname} [, 1 [, {list}]]])
|
||||
String or List contents of register
|
||||
getregtype( [{regname}]) String type of register
|
||||
gettabvar( {nr}, {varname} [, {def}])
|
||||
any variable {varname} in tab {nr} or {def}
|
||||
@@ -1819,7 +1836,7 @@ getwinvar( {nr}, {varname} [, {def}])
|
||||
any variable {varname} in window {nr}
|
||||
glob( {expr} [, {nosuf} [, {list}]])
|
||||
any expand file wildcards in {expr}
|
||||
globpath( {path}, {expr} [, {flag}])
|
||||
globpath( {path}, {expr} [, {nosuf} [, {list}]])
|
||||
String do glob({expr}) for all dirs in {path}
|
||||
has( {feature}) Number TRUE if feature {feature} supported
|
||||
has_key( {dict}, {key}) Number TRUE if {dict} has entry {key}
|
||||
@@ -1871,6 +1888,8 @@ match( {expr}, {pat}[, {start}[, {count}]])
|
||||
Number position where {pat} matches in {expr}
|
||||
matchadd( {group}, {pattern}[, {priority}[, {id}]])
|
||||
Number highlight {pattern} with {group}
|
||||
matchaddpos( {group}, {list}[, {priority}[, {id}]])
|
||||
Number highlight positions with {group}
|
||||
matcharg( {nr}) List arguments of |:match|
|
||||
matchdelete( {id}) Number delete match identified by {id}
|
||||
matchend( {expr}, {pat}[, {start}[, {count}]])
|
||||
@@ -1978,7 +1997,8 @@ strridx( {haystack}, {needle} [, {start}])
|
||||
Number last index of {needle} in {haystack}
|
||||
strtrans( {expr}) String translate string to make it printable
|
||||
strwidth( {expr}) Number display cell length of the String {expr}
|
||||
submatch( {nr}) String specific match in ":s" or substitute()
|
||||
submatch( {nr}[, {list}]) String or List
|
||||
specific match in ":s" or substitute()
|
||||
substitute( {expr}, {pat}, {sub}, {flags})
|
||||
String all {pat} in {expr} replaced with {sub}
|
||||
synID( {lnum}, {col}, {trans}) Number syntax ID at {lnum} and {col}
|
||||
@@ -1988,6 +2008,7 @@ synIDtrans( {synID}) Number translated syntax ID of {synID}
|
||||
synconcealed( {lnum}, {col}) List info about concealing
|
||||
synstack( {lnum}, {col}) List stack of syntax IDs at {lnum} and {col}
|
||||
system( {expr} [, {input}]) String output of shell command/filter {expr}
|
||||
systemlist( {expr} [, {input}]) List output of shell command/filter {expr}
|
||||
tabpagebuflist( [{arg}]) List list of buffer numbers in tab page
|
||||
tabpagenr( [{arg}]) Number number of current or last tab page
|
||||
tabpagewinnr( {tabarg}[, {arg}])
|
||||
@@ -2005,6 +2026,8 @@ trunc( {expr}) Float truncate Float {expr}
|
||||
type( {name}) Number type of variable {name}
|
||||
undofile( {name}) String undo file name for {name}
|
||||
undotree() List undo file tree
|
||||
uniq( {list} [, {func} [, {dict}]])
|
||||
List remove adjacent duplicates from a list
|
||||
values( {dict}) List values in {dict}
|
||||
virtcol( {expr}) Number screen column of cursor or mark
|
||||
visualmode( [expr]) String last visual mode used
|
||||
@@ -2018,7 +2041,7 @@ winrestcmd() String returns command to restore window sizes
|
||||
winrestview( {dict}) none restore view of current window
|
||||
winsaveview() Dict save view of current window
|
||||
winwidth( {nr}) Number width of window {nr}
|
||||
writefile( {list}, {fname} [, {binary}])
|
||||
writefile( {list}, {fname} [, {flags}])
|
||||
Number write list of lines to file {fname}
|
||||
xor( {expr}, {expr}) Number bitwise XOR
|
||||
|
||||
@@ -2086,6 +2109,18 @@ argc() The result is the number of files in the argument list of the
|
||||
argidx() The result is the current index in the argument list. 0 is
|
||||
the first file. argc() - 1 is the last one. See |arglist|.
|
||||
|
||||
*arglistid()*
|
||||
arglistid([{winnr}, [ {tabnr} ]])
|
||||
Return the argument list ID. This is a number which
|
||||
identifies the argument list being used. Zero is used for the
|
||||
global argument list. See |arglist|.
|
||||
Return -1 if the arguments are invalid.
|
||||
|
||||
Without arguments use the current window.
|
||||
With {winnr} only use this window in the current tab page.
|
||||
With {winnr} and {tabnr} use the window in the specified tab
|
||||
page.
|
||||
|
||||
*argv()*
|
||||
argv([{nr}]) The result is the {nr}th file in the argument list of the
|
||||
current window. See |arglist|. "argv(0)" is the first one.
|
||||
@@ -2570,9 +2605,14 @@ cursor({lnum}, {col} [, {off}]) *cursor()*
|
||||
cursor({list})
|
||||
Positions the cursor at the column (byte count) {col} in the
|
||||
line {lnum}. The first column is one.
|
||||
|
||||
When there is one argument {list} this is used as a |List|
|
||||
with two or three items {lnum}, {col} and {off}. This is like
|
||||
the return value of |getpos()|, but without the first item.
|
||||
with two, three or four item:
|
||||
[{lnum}, {col}, {off}]
|
||||
[{lnum}, {col}, {off}, {curswant}]
|
||||
This is like the return value of |getpos()| or |getcurpos()|,
|
||||
but without the first item.
|
||||
|
||||
Does not change the jumplist.
|
||||
If {lnum} is greater than the number of lines in the buffer,
|
||||
the cursor will be positioned at the last line in the buffer.
|
||||
@@ -2581,6 +2621,9 @@ cursor({list})
|
||||
the cursor will be positioned at the last character in the
|
||||
line.
|
||||
If {col} is zero, the cursor will stay in the current column.
|
||||
If {curswant} is given it is used to set the preferred column
|
||||
for vertical movement. Otherwise {col} is used.
|
||||
|
||||
When 'virtualedit' is used {off} specifies the offset in
|
||||
screen columns from the start of the character. E.g., a
|
||||
position within a <Tab> or after the last character.
|
||||
@@ -2697,6 +2740,15 @@ executable({expr}) *executable()*
|
||||
0 does not exist
|
||||
-1 not implemented on this system
|
||||
|
||||
exepath({expr}) *exepath()*
|
||||
If {expr} is an executable and is either an absolute path, a
|
||||
relative path or found in $PATH, return the full path.
|
||||
Note that the current directory is used when {expr} starts
|
||||
with "./", which may be a problem for Vim: >
|
||||
echo exepath(v:progpath)
|
||||
< If {expr} cannot be found in $PATH or is not executable then
|
||||
an empty string is returned.
|
||||
|
||||
*exists()*
|
||||
exists({expr}) The result is a Number, which is non-zero if {expr} is
|
||||
defined, zero otherwise. The {expr} argument is a string,
|
||||
@@ -2709,7 +2761,8 @@ exists({expr}) The result is a Number, which is non-zero if {expr} is
|
||||
string)
|
||||
*funcname built-in function (see |functions|)
|
||||
or user defined function (see
|
||||
|user-functions|).
|
||||
|user-functions|). Also works for a
|
||||
variable that is a Funcref.
|
||||
varname internal variable (see
|
||||
|internal-variables|). Also works
|
||||
for |curly-braces-names|, |Dictionary|
|
||||
@@ -2815,7 +2868,7 @@ expand({expr} [, {nosuf} [, {list}]]) *expand()*
|
||||
<afile> autocmd file name
|
||||
<abuf> autocmd buffer number (as a String!)
|
||||
<amatch> autocmd matched name
|
||||
<sfile> sourced script file name
|
||||
<sfile> sourced script file or function name
|
||||
<slnum> sourced script file line number
|
||||
<cword> word under the cursor
|
||||
<cWORD> WORD under the cursor
|
||||
@@ -2861,7 +2914,8 @@ expand({expr} [, {nosuf} [, {list}]]) *expand()*
|
||||
<
|
||||
Expand() can also be used to expand variables and environment
|
||||
variables that are only known in a shell. But this can be
|
||||
slow, because a shell must be started. See |expr-env-expand|.
|
||||
slow, because a shell may be used to do the expansion. See
|
||||
|expr-env-expand|.
|
||||
The expanded variable is still handled like a list of file
|
||||
names. When an environment variable cannot be expanded, it is
|
||||
left unchanged. Thus ":echo expand('$FOOBAR')" results in
|
||||
@@ -3211,6 +3265,10 @@ getchar([expr]) *getchar()*
|
||||
String when a modifier (shift, control, alt) was used that is
|
||||
not included in the character.
|
||||
|
||||
When [expr] is 0 and Esc is typed, there will be a short delay
|
||||
while Vim waits to see if this is the start of an escape
|
||||
sequence.
|
||||
|
||||
When [expr] is 1 only the first byte is returned. For a
|
||||
one-byte character it is the character itself as a number.
|
||||
Use nr2char() to convert it to a String.
|
||||
@@ -3247,6 +3305,17 @@ getchar([expr]) *getchar()*
|
||||
: endif
|
||||
: endwhile
|
||||
:endfunction
|
||||
<
|
||||
You may also receive syntetic characters, such as
|
||||
|<CursorHold>|. Often you will want to ignore this and get
|
||||
another character: >
|
||||
:function GetKey()
|
||||
: let c = getchar()
|
||||
: while c == "\<CursorHold>"
|
||||
: let c = getchar()
|
||||
: endwhile
|
||||
: return c
|
||||
:endfunction
|
||||
|
||||
getcharmod() *getcharmod()*
|
||||
The result is a Number which is the state of the modifiers for
|
||||
@@ -3289,11 +3358,28 @@ getcmdtype() *getcmdtype()*
|
||||
? backward search command
|
||||
@ |input()| command
|
||||
- |:insert| or |:append| command
|
||||
= |i_CTRL-R_=|
|
||||
Only works when editing the command line, thus requires use of
|
||||
|c_CTRL-\_e| or |c_CTRL-R_=| or an expression mapping.
|
||||
Returns an empty string otherwise.
|
||||
Also see |getcmdpos()|, |setcmdpos()| and |getcmdline()|.
|
||||
|
||||
getcmdwintype() *getcmdwintype()*
|
||||
Return the current |command-line-window| type. Possible return
|
||||
values are the same as |getcmdtype()|. Returns an empty string
|
||||
when not in the command-line window.
|
||||
|
||||
*getcurpos()*
|
||||
getcurpos() Get the position of the cursor. This is like getpos('.'), but
|
||||
includes an extra item in the list:
|
||||
[bufnum, lnum, col, off, curswant]
|
||||
The "curswant" number is the preferred column when moving the
|
||||
cursor vertically.
|
||||
This can be used to save and restore the cursor position: >
|
||||
let save_cursor = getcurpos()
|
||||
MoveTheCursorAround
|
||||
call setpos('.', save_cursor)
|
||||
<
|
||||
*getcwd()*
|
||||
getcwd() The result is a String, which is the name of the current
|
||||
working directory.
|
||||
@@ -3415,6 +3501,34 @@ getmatches() *getmatches()*
|
||||
'pattern': 'FIXME', 'priority': 10, 'id': 2}] >
|
||||
:unlet m
|
||||
<
|
||||
*getpid()*
|
||||
getpid() Return a Number which is the process ID of the Vim process.
|
||||
On Unix and MS-Windows this is a unique number, until Vim
|
||||
exits. On MS-DOS it's always zero.
|
||||
|
||||
*getpos()*
|
||||
getpos({expr}) Get the position for {expr}. For possible values of {expr}
|
||||
see |line()|. For getting the cursor position see
|
||||
|getcurpos()|.
|
||||
The result is a |List| with four numbers:
|
||||
[bufnum, lnum, col, off]
|
||||
"bufnum" is zero, unless a mark like '0 or 'A is used, then it
|
||||
is the buffer number of the mark.
|
||||
"lnum" and "col" are the position in the buffer. The first
|
||||
column is 1.
|
||||
The "off" number is zero, unless 'virtualedit' is used. Then
|
||||
it is the offset in screen columns from the start of the
|
||||
character. E.g., a position within a <Tab> or after the last
|
||||
character.
|
||||
Note that for '< and '> Visual mode matters: when it is "V"
|
||||
(visual line mode) the column of '< is zero and the column of
|
||||
'> is a large number.
|
||||
This can be used to save and restore the position of a mark: >
|
||||
let save_a_mark = getpos("'a")
|
||||
...
|
||||
call setpos("'a", save_a_mark)
|
||||
< Also see |getcurpos()| and |setpos()|.
|
||||
|
||||
|
||||
getqflist() *getqflist()*
|
||||
Returns a list with all the current quickfix errors. Each
|
||||
@@ -3443,7 +3557,7 @@ getqflist() *getqflist()*
|
||||
:endfor
|
||||
|
||||
|
||||
getreg([{regname} [, 1]]) *getreg()*
|
||||
getreg([{regname} [, 1 [, {list}]]]) *getreg()*
|
||||
The result is a String, which is the contents of register
|
||||
{regname}. Example: >
|
||||
:let cliptext = getreg('*')
|
||||
@@ -3452,6 +3566,11 @@ getreg([{regname} [, 1]]) *getreg()*
|
||||
getreg('=', 1) returns the expression itself, so that it can
|
||||
be restored with |setreg()|. For other registers the extra
|
||||
argument is ignored, thus you can always give it.
|
||||
If {list} is present and non-zero result type is changed to
|
||||
|List|. Each list item is one text line. Use it if you care
|
||||
about zero bytes possibly present inside register: without
|
||||
third argument both NLs and zero bytes are represented as NLs
|
||||
(see |NL-used-for-Nul|).
|
||||
If {regname} is not specified, |v:register| is used.
|
||||
|
||||
|
||||
@@ -3469,6 +3588,8 @@ 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.
|
||||
When {varname} is empty a dictionary with all tab-local
|
||||
variables is returned.
|
||||
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.
|
||||
@@ -3539,11 +3660,12 @@ glob({expr} [, {nosuf} [, {list}]]) *glob()*
|
||||
See |expand()| for expanding special Vim variables. See
|
||||
|system()| for getting the raw output of an external command.
|
||||
|
||||
globpath({path}, {expr} [, {flag}]) *globpath()*
|
||||
globpath({path}, {expr} [, {nosuf} [, {list}]]) *globpath()*
|
||||
Perform glob() on all directories in {path} and concatenate
|
||||
the results. Example: >
|
||||
:echo globpath(&rtp, "syntax/c.vim")
|
||||
< {path} is a comma-separated list of directory names. Each
|
||||
<
|
||||
{path} is a comma-separated list of directory names. Each
|
||||
directory name is prepended to {expr} and expanded like with
|
||||
|glob()|. A path separator is inserted when needed.
|
||||
To add a comma inside a directory name escape it with a
|
||||
@@ -3551,11 +3673,19 @@ globpath({path}, {expr} [, {flag}]) *globpath()*
|
||||
trailing backslash, remove it if you put a comma after it.
|
||||
If the expansion fails for one of the directories, there is no
|
||||
error message.
|
||||
Unless the optional {flag} argument is given and is non-zero,
|
||||
|
||||
Unless the optional {nosuf} argument is given and is non-zero,
|
||||
the 'suffixes' and 'wildignore' options apply: Names matching
|
||||
one of the patterns in 'wildignore' will be skipped and
|
||||
'suffixes' affect the ordering of matches.
|
||||
|
||||
When {list} is present and it is non-zero the result is a List
|
||||
with all matching files. The advantage of using a List is, you
|
||||
also get filenames containing newlines correctly. Otherwise
|
||||
the result is a String and when there are several matches,
|
||||
they are separated by <NL> characters. Example: >
|
||||
:echo globpath(&rtp, "syntax/c.vim", 0, 1)
|
||||
<
|
||||
The "**" item can be used to search in a directory tree.
|
||||
For example, to find all "README.txt" files in the directories
|
||||
in 'runtimepath' and below: >
|
||||
@@ -4274,6 +4404,41 @@ matchadd({group}, {pattern}[, {priority}[, {id}]])
|
||||
available from |getmatches()|. All matches can be deleted in
|
||||
one operation by |clearmatches()|.
|
||||
|
||||
matchaddpos({group}, {pos}[, {priority}[, {id}]]) *matchaddpos()*
|
||||
Same as |matchadd()|, but requires a list of positions {pos}
|
||||
instead of a pattern. This command is faster than |matchadd()|
|
||||
because it does not require to handle regular expressions and
|
||||
sets buffer line boundaries to redraw screen. It is supposed
|
||||
to be used when fast match additions and deletions are
|
||||
required, for example to highlight matching parentheses.
|
||||
|
||||
The list {pos} can contain one of these items:
|
||||
- A number. This whole line will be highlighted. The first
|
||||
line has number 1.
|
||||
- A list with one number, e.g., [23]. The whole line with this
|
||||
number will be highlighted.
|
||||
- A list with two numbers, e.g., [23, 11]. The first number is
|
||||
the line number, the second one is the column number (first
|
||||
column is 1, the value must correspond to the byte index as
|
||||
|col()| would return). The character at this position will
|
||||
be highlighted.
|
||||
- A list with three numbers, e.g., [23, 11, 3]. As above, but
|
||||
the third number gives the length of the highlight in bytes.
|
||||
|
||||
The maximum number of positions is 8.
|
||||
|
||||
Example: >
|
||||
:highlight MyGroup ctermbg=green guibg=green
|
||||
:let m = matchaddpos("MyGroup", [[23, 24], 34])
|
||||
< Deletion of the pattern: >
|
||||
:call matchdelete(m)
|
||||
|
||||
< Matches added by |matchaddpos()| are returned by
|
||||
|getmatches()| with an entry "pos1", "pos2", etc., with the
|
||||
value a list like the {pos} item.
|
||||
These matches cannot be set via |setmatches()|, however they
|
||||
can still be deleted by |clearmatches()|.
|
||||
|
||||
matcharg({nr}) *matcharg()*
|
||||
Selects the {nr} match item, as set with a |:match|,
|
||||
|:2match| or |:3match| command.
|
||||
@@ -4432,33 +4597,6 @@ nr2char({expr}[, {utf8}]) *nr2char()*
|
||||
characters. nr2char(0) is a real NUL and terminates the
|
||||
string, thus results in an empty string.
|
||||
|
||||
*getpid()*
|
||||
getpid() Return a Number which is the process ID of the Vim process.
|
||||
On Unix and MS-Windows this is a unique number, until Vim
|
||||
exits. On MS-DOS it's always zero.
|
||||
|
||||
*getpos()*
|
||||
getpos({expr}) Get the position for {expr}. For possible values of {expr}
|
||||
see |line()|.
|
||||
The result is a |List| with four numbers:
|
||||
[bufnum, lnum, col, off]
|
||||
"bufnum" is zero, unless a mark like '0 or 'A is used, then it
|
||||
is the buffer number of the mark.
|
||||
"lnum" and "col" are the position in the buffer. The first
|
||||
column is 1.
|
||||
The "off" number is zero, unless 'virtualedit' is used. Then
|
||||
it is the offset in screen columns from the start of the
|
||||
character. E.g., a position within a <Tab> or after the last
|
||||
character.
|
||||
Note that for '< and '> Visual mode matters: when it is "V"
|
||||
(visual line mode) the column of '< is zero and the column of
|
||||
'> is a large number.
|
||||
This can be used to save and restore the cursor position: >
|
||||
let save_cursor = getpos(".")
|
||||
MoveTheCursorAround
|
||||
call setpos('.', save_cursor)
|
||||
< Also see |setpos()|.
|
||||
|
||||
or({expr}, {expr}) *or()*
|
||||
Bitwise OR on the two arguments. The arguments are converted
|
||||
to a number. A List, Dict or Float argument causes an error.
|
||||
@@ -4725,7 +4863,7 @@ readfile({fname} [, {binary} [, {max}]])
|
||||
separated with CR will result in a single long line (unless a
|
||||
NL appears somewhere).
|
||||
All NUL characters are replaced with a NL character.
|
||||
When {binary} is equal to "b" binary mode is used:
|
||||
When {binary/append} contains "b" binary mode is used:
|
||||
- When the last line ends in a NL an extra empty list item is
|
||||
added.
|
||||
- No CR characters are removed.
|
||||
@@ -5257,8 +5395,9 @@ setpos({expr}, {list})
|
||||
. the cursor
|
||||
'x mark x
|
||||
|
||||
{list} must be a |List| with four numbers:
|
||||
{list} must be a |List| with four or five numbers:
|
||||
[bufnum, lnum, col, off]
|
||||
[bufnum, lnum, col, off, curswant]
|
||||
|
||||
"bufnum" is the buffer number. Zero can be used for the
|
||||
current buffer. Setting the cursor is only possible for
|
||||
@@ -5276,6 +5415,12 @@ setpos({expr}, {list})
|
||||
character. E.g., a position within a <Tab> or after the last
|
||||
character.
|
||||
|
||||
The "curswant" number is only used when setting the cursor
|
||||
position. It sets the preferred column for when moving the
|
||||
cursor vertically. When the "curswant" number is missing the
|
||||
preferred column is not set. When it is present and setting a
|
||||
mark position it is not used.
|
||||
|
||||
Note that for '< and '> changing the line number may result in
|
||||
the marks to be effectively be swapped, so that '< is always
|
||||
before '>.
|
||||
@@ -5283,10 +5428,13 @@ setpos({expr}, {list})
|
||||
Returns 0 when the position could be set, -1 otherwise.
|
||||
An error message is given if {expr} is invalid.
|
||||
|
||||
Also see |getpos()|
|
||||
Also see |getpos()| and |getcurpos()|.
|
||||
|
||||
This does not restore the preferred column for moving
|
||||
vertically. See |winrestview()| for that.
|
||||
vertically; if you set the cursor position with this, |j| and
|
||||
|k| motions will jump to previous columns! Use |cursor()| to
|
||||
also set the preferred column. Also see the "curswant" key in
|
||||
|winrestview()|.
|
||||
|
||||
|
||||
setqflist({list} [, {action}]) *setqflist()*
|
||||
@@ -5338,6 +5486,8 @@ setqflist({list} [, {action}]) *setqflist()*
|
||||
*setreg()*
|
||||
setreg({regname}, {value} [,{options}])
|
||||
Set the register {regname} to {value}.
|
||||
{value} may be any value returned by |getreg()|, including
|
||||
a |List|.
|
||||
If {options} contains "a" or {regname} is upper case,
|
||||
then the value is appended.
|
||||
{options} can also contain a register type specification:
|
||||
@@ -5350,10 +5500,15 @@ setreg({regname}, {value} [,{options}])
|
||||
in the longest line (counting a <Tab> as 1 character).
|
||||
|
||||
If {options} contains no register settings, then the default
|
||||
is to use character mode unless {value} ends in a <NL>.
|
||||
Setting the '=' register is not possible, but you can use >
|
||||
:let @= = var_expr
|
||||
< Returns zero for success, non-zero for failure.
|
||||
is to use character mode unless {value} ends in a <NL> for
|
||||
string {value} and linewise mode for list {value}. Blockwise
|
||||
mode is never selected automatically.
|
||||
Returns zero for success, non-zero for failure.
|
||||
|
||||
*E883*
|
||||
Note: you may not use |List| containing more than one item to
|
||||
set search and expression registers. Lists containing no
|
||||
items act like empty strings.
|
||||
|
||||
Examples: >
|
||||
:call setreg(v:register, @*)
|
||||
@@ -5361,8 +5516,11 @@ setreg({regname}, {value} [,{options}])
|
||||
:call setreg('a', "1\n2\n3", 'b5')
|
||||
|
||||
< This example shows using the functions to save and restore a
|
||||
register. >
|
||||
:let var_a = getreg('a', 1)
|
||||
register (note: you may not reliably restore register value
|
||||
without using the third argument to |getreg()| as without it
|
||||
newlines are represented as newlines AND Nul bytes are
|
||||
represented as newlines as well, see |NL-used-for-Nul|). >
|
||||
:let var_a = getreg('a', 1, 1)
|
||||
:let var_amode = getregtype('a')
|
||||
....
|
||||
:call setreg('a', var_a, var_amode)
|
||||
@@ -5488,20 +5646,40 @@ sinh({expr}) *sinh()*
|
||||
|
||||
|
||||
sort({list} [, {func} [, {dict}]]) *sort()* *E702*
|
||||
Sort the items in {list} in-place. Returns {list}. If you
|
||||
want a list to remain unmodified make a copy first: >
|
||||
Sort the items in {list} in-place. Returns {list}.
|
||||
|
||||
If you want a list to remain unmodified make a copy first: >
|
||||
:let sortedlist = sort(copy(mylist))
|
||||
< Uses the string representation of each item to sort on.
|
||||
Numbers sort after Strings, |Lists| after Numbers.
|
||||
For sorting text in the current buffer use |:sort|.
|
||||
When {func} is given and it is one then case is ignored.
|
||||
{dict} is for functions with the "dict" attribute. It will be
|
||||
used to set the local variable "self". |Dictionary-function|
|
||||
|
||||
< When {func} is omitted, is empty or zero, then sort() uses the
|
||||
string representation of each item to sort on. Numbers sort
|
||||
after Strings, |Lists| after Numbers. For sorting text in the
|
||||
current buffer use |:sort|.
|
||||
|
||||
When {func} is given and it is '1' or 'i' then case is
|
||||
ignored.
|
||||
|
||||
When {func} is given and it is 'n' then all items will be
|
||||
sorted numerical (Implementation detail: This uses the
|
||||
strtod() function to parse numbers, Strings, Lists, Dicts and
|
||||
Funcrefs will be considered as being 0).
|
||||
|
||||
When {func} is a |Funcref| or a function name, this function
|
||||
is called to compare items. The function is invoked with two
|
||||
items as argument and must return zero if they are equal, 1 or
|
||||
bigger if the first one sorts after the second one, -1 or
|
||||
smaller if the first one sorts before the second one.
|
||||
|
||||
{dict} is for functions with the "dict" attribute. It will be
|
||||
used to set the local variable "self". |Dictionary-function|
|
||||
|
||||
The sort is stable, items which compare equal (as number or as
|
||||
string) will keep their relative position. E.g., when sorting
|
||||
on numbers, text strings will sort next to each other, in the
|
||||
same order as they were originally.
|
||||
|
||||
Also see |uniq()|.
|
||||
|
||||
Example: >
|
||||
func MyCompare(i1, i2)
|
||||
return a:i1 == a:i2 ? 0 : a:i1 > a:i2 ? 1 : -1
|
||||
@@ -5768,12 +5946,23 @@ strwidth({expr}) *strwidth()*
|
||||
Ambiguous, this function's return value depends on 'ambiwidth'.
|
||||
Also see |strlen()|, |strdisplaywidth()| and |strchars()|.
|
||||
|
||||
submatch({nr}) *submatch()*
|
||||
submatch({nr}[, {list}]) *submatch()*
|
||||
Only for an expression in a |:substitute| command or
|
||||
substitute() function.
|
||||
Returns the {nr}'th submatch of the matched text. When {nr}
|
||||
is 0 the whole matched text is returned.
|
||||
Note that a NL in the string can stand for a line break of a
|
||||
multi-line match or a NUL character in the text.
|
||||
Also see |sub-replace-expression|.
|
||||
|
||||
If {list} is present and non-zero then submatch() returns
|
||||
a list of strings, similar to |getline()| with two arguments.
|
||||
NL characters in the text represent NUL characters in the
|
||||
text.
|
||||
Only returns more than one item for |:substitute|, inside
|
||||
|substitute()| this list will always contain one or zero
|
||||
items, since there are no real line breaks.
|
||||
|
||||
Example: >
|
||||
:s/\d\+/\=submatch(0) + 1/
|
||||
< This finds the first number in the line and adds one to it.
|
||||
@@ -5906,11 +6095,25 @@ synstack({lnum}, {col}) *synstack()*
|
||||
valid positions.
|
||||
|
||||
system({expr} [, {input}]) *system()* *E677*
|
||||
Get the output of the shell command {expr}.
|
||||
When {input} is given, this string is written to a file and
|
||||
passed as stdin to the command. The string is written as-is,
|
||||
you need to take care of using the correct line separators
|
||||
yourself. Pipes are not used.
|
||||
Get the output of the shell command {expr} as a string. See
|
||||
|systemlist()| to get the output as a List.
|
||||
|
||||
When {input} is given and is a string this string is written
|
||||
to a file and passed as stdin to the command. The string is
|
||||
written as-is, you need to take care of using the correct line
|
||||
separators yourself.
|
||||
If {input} is given and is a |List| it is written to the file
|
||||
in a way |writefile()| does with {binary} set to "b" (i.e.
|
||||
with a newline between each list item with newlines inside
|
||||
list items converted to NULs).
|
||||
Pipes are not used.
|
||||
|
||||
When prepended by |:silent| the shell will not be set to
|
||||
cooked mode. This is meant to be used for commands that do
|
||||
not need the user to type. It avoids stray characters showing
|
||||
up on the screen which require |CTRL-L| to remove. >
|
||||
:silent let f = system('ls *.vim')
|
||||
<
|
||||
Note: Use |shellescape()| or |::S| with |expand()| or
|
||||
|fnamemodify()| to escape special characters in a command
|
||||
argument. Newlines in {expr} may cause the command to fail.
|
||||
@@ -5947,6 +6150,16 @@ system({expr} [, {input}]) *system()* *E677*
|
||||
Use |:checktime| to force a check.
|
||||
|
||||
|
||||
systemlist({expr} [, {input}]) *systemlist()*
|
||||
Same as |system()|, but returns a |List| with lines (parts of
|
||||
output separated by NL) with NULs transformed into NLs. Output
|
||||
is the same as |readfile()| will output with {binary} argument
|
||||
set to "b".
|
||||
|
||||
Returns an empty string on error, so be careful not to run
|
||||
into |E706|.
|
||||
|
||||
|
||||
tabpagebuflist([{arg}]) *tabpagebuflist()*
|
||||
The result is a |List|, where each item is the number of the
|
||||
buffer associated with each window in the current tab page.
|
||||
@@ -5969,7 +6182,7 @@ tabpagenr([{arg}]) *tabpagenr()*
|
||||
The number can be used with the |:tab| command.
|
||||
|
||||
|
||||
tabpagewinnr({tabarg}, [{arg}]) *tabpagewinnr()*
|
||||
tabpagewinnr({tabarg} [, {arg}]) *tabpagewinnr()*
|
||||
Like |winnr()| but for tab page {tabarg}.
|
||||
{tabarg} specifies the number of tab page to be used.
|
||||
{arg} is used like with |winnr()|:
|
||||
@@ -6169,6 +6382,14 @@ undotree() *undotree()*
|
||||
blocks. Each item may again have an "alt"
|
||||
item.
|
||||
|
||||
uniq({list} [, {func} [, {dict}]]) *uniq()* *E882*
|
||||
Remove second and succeeding copies of repeated adjacent
|
||||
{list} items in-place. Returns {list}. If you want a list
|
||||
to remain unmodified make a copy first: >
|
||||
:let newlist = uniq(copy(mylist))
|
||||
< The default compare function uses the string representation of
|
||||
each item. For the use of {func} and {dict} see |sort()|.
|
||||
|
||||
values({dict}) *values()*
|
||||
Return a |List| with all the values of {dict}. The |List| is
|
||||
in arbitrary order.
|
||||
@@ -6298,6 +6519,16 @@ winrestcmd() Returns a sequence of |:resize| commands that should restore
|
||||
winrestview({dict})
|
||||
Uses the |Dictionary| returned by |winsaveview()| to restore
|
||||
the view of the current window.
|
||||
Note: The {dict} does not have to contain all values, that are
|
||||
returned by |winsaveview()|. If values are missing, those
|
||||
settings won't be restored. So you can use: >
|
||||
:call winrestview({'curswant': 4})
|
||||
<
|
||||
This will only set the curswant value (the column the cursor
|
||||
wants to move on vertical movements) of the cursor to column 5
|
||||
(yes, that is 5), while all other settings will remain the
|
||||
same. This is useful, if you set the cursor position manually.
|
||||
|
||||
If you have changed the values the result is unpredictable.
|
||||
If the window size changed the result won't be the same.
|
||||
|
||||
@@ -6309,10 +6540,12 @@ winsaveview() Returns a |Dictionary| that contains information to restore
|
||||
buffer and you want to go back to the original view.
|
||||
This does not save fold information. Use the 'foldenable'
|
||||
option to temporarily switch off folding, so that folds are
|
||||
not opened when moving around.
|
||||
not opened when moving around. This may have side effects.
|
||||
The return value includes:
|
||||
lnum cursor line number
|
||||
col cursor column
|
||||
col cursor column (Note: the first column
|
||||
zero, as opposed to what getpos()
|
||||
returns)
|
||||
coladd cursor column offset for 'virtualedit'
|
||||
curswant column for vertical movement
|
||||
topline first line in the window
|
||||
@@ -6334,14 +6567,20 @@ winwidth({nr}) *winwidth()*
|
||||
:endif
|
||||
<
|
||||
*writefile()*
|
||||
writefile({list}, {fname} [, {binary}])
|
||||
writefile({list}, {fname} [, {flags}])
|
||||
Write |List| {list} to file {fname}. Each list item is
|
||||
separated with a NL. Each list item must be a String or
|
||||
Number.
|
||||
When {binary} is equal to "b" binary mode is used: There will
|
||||
When {flags} contains "b" then binary mode is used: There will
|
||||
not be a NL after the last list item. An empty item at the
|
||||
end does cause the last line in the file to end in a NL.
|
||||
All NL characters are replaced with a NUL character.
|
||||
|
||||
When {flags} contains "a" then append mode is used, lines are
|
||||
append to the file: >
|
||||
:call writefile(["foo"], "event.log", "a")
|
||||
:call writefile(["bar"], "event.log", "a")
|
||||
>
|
||||
< All NL characters are replaced with a NUL character.
|
||||
Inserting CR characters needs to be done before passing {list}
|
||||
to writefile().
|
||||
An existing file is overwritten, if possible.
|
||||
@@ -6363,7 +6602,7 @@ xor({expr}, {expr}) *xor()*
|
||||
|
||||
|
||||
*feature-list*
|
||||
There are three types of features:
|
||||
There are four types of features:
|
||||
1. Features that are only supported when they have been enabled when Vim
|
||||
was compiled |+feature-list|. Example: >
|
||||
:if has("cindent")
|
||||
@@ -6371,11 +6610,21 @@ There are three types of features:
|
||||
Example: >
|
||||
:if has("gui_running")
|
||||
< *has-patch*
|
||||
3. Included patches. First check |v:version| for the version of Vim.
|
||||
Then the "patch123" feature means that patch 123 has been included for
|
||||
this version. Example (checking version 6.2.148 or later): >
|
||||
3. Included patches. The "patch123" feature means that patch 123 has been
|
||||
included. Note that this form does not check the version of Vim, you need
|
||||
to inspect |v:version| for that.
|
||||
Example (checking version 6.2.148 or later): >
|
||||
:if v:version > 602 || v:version == 602 && has("patch148")
|
||||
< Note that it's possible for patch 147 to be omitted even though 148 is
|
||||
< Note that it's possible for patch 147 to be omitted even though 148 is
|
||||
included.
|
||||
|
||||
4. Beyond a certain version or at a certain version and including a specific
|
||||
patch. The "patch-7.4.237" feature means that the Vim version is 7.5 or
|
||||
later, or it is version 7.4 and patch 237 was included.
|
||||
Note that this only works for patch 7.4.237 and later, before that you
|
||||
need to use the example above that checks v:version. Example: >
|
||||
:if has("patch-7.4.248")
|
||||
< Note that it's possible for patch 147 to be omitted even though 148 is
|
||||
included.
|
||||
|
||||
acl Compiled with |ACL| support.
|
||||
@@ -6407,6 +6656,7 @@ dialog_con Compiled with console dialog support.
|
||||
dialog_gui Compiled with GUI dialog support.
|
||||
diff Compiled with |vimdiff| and 'diff' support.
|
||||
digraphs Compiled with support for digraphs.
|
||||
directx Compiled with support for Direct-X and 'renderoptions'.
|
||||
dnd Compiled with support for the "~ register |quote_~|.
|
||||
dos16 16 bits DOS version of Vim.
|
||||
dos32 32 bits DOS (DJGPP) version of Vim.
|
||||
@@ -6449,8 +6699,8 @@ jumplist Compiled with |jumplist| support.
|
||||
keymap Compiled with 'keymap' support.
|
||||
langmap Compiled with 'langmap' support.
|
||||
libcall Compiled with |libcall()| support.
|
||||
linebreak Compiled with 'linebreak', 'breakat' and 'showbreak'
|
||||
support.
|
||||
linebreak Compiled with 'linebreak', 'breakat', 'showbreak' and
|
||||
'breakindent' support.
|
||||
lispindent Compiled with support for lisp indenting.
|
||||
listcmds Compiled with commands for the buffer list |:files|
|
||||
and the argument list |arglist|.
|
||||
@@ -6597,6 +6847,8 @@ can only be called from within the script and from functions, user commands
|
||||
and autocommands defined in the script. It is also possible to call the
|
||||
function from a mapping defined in the script, but then |<SID>| must be used
|
||||
instead of "s:" when the mapping is expanded outside of the script.
|
||||
There are only script-local functions, no buffer-local or window-local
|
||||
functions.
|
||||
|
||||
*:fu* *:function* *E128* *E129* *E123*
|
||||
:fu[nction] List all functions and their arguments.
|
||||
@@ -6620,11 +6872,15 @@ last defined. Example: >
|
||||
<
|
||||
See |:verbose-cmd| for more information.
|
||||
|
||||
*E124* *E125* *E853*
|
||||
*E124* *E125* *E853* *E884*
|
||||
:fu[nction][!] {name}([arguments]) [range] [abort] [dict]
|
||||
Define a new function by the name {name}. The name
|
||||
must be made of alphanumeric characters and '_', and
|
||||
must start with a capital or "s:" (see above).
|
||||
must start with a capital or "s:" (see above). Note
|
||||
that using "b:" or "g:" is not allowed. (since patch
|
||||
7.4.260 E884 is given if the function name has a colon
|
||||
in the name, e.g. for "foo:bar()". Before that patch
|
||||
no error was given).
|
||||
|
||||
{name} can also be a |Dictionary| entry that is a
|
||||
|Funcref|: >
|
||||
@@ -7317,6 +7573,8 @@ This does NOT work: >
|
||||
{pattern}, so long as it does not have a special
|
||||
meaning (e.g., '|' or '"') and doesn't occur inside
|
||||
{pattern}.
|
||||
Information about the exception is available in
|
||||
|v:exception|. Also see |throw-variables|.
|
||||
NOTE: It is not reliable to ":catch" the TEXT of
|
||||
an error message because it may vary in different
|
||||
locales.
|
||||
@@ -7463,10 +7721,19 @@ This does NOT work: >
|
||||
:execute "!ls " . shellescape(filename, 1)
|
||||
<
|
||||
Note: The executed string may be any command-line, but
|
||||
you cannot start or end a "while", "for" or "if"
|
||||
command. Thus this is illegal: >
|
||||
:execute 'while i > 5'
|
||||
:execute 'echo "test" | break'
|
||||
starting or ending "if", "while" and "for" does not
|
||||
always work, because when commands are skipped the
|
||||
":execute" is not evaluated and Vim loses track of
|
||||
where blocks start and end. Also "break" and
|
||||
"continue" should not be inside ":execute".
|
||||
This example does not work, because the ":execute" is
|
||||
not evaluated and Vim does not see the "while", and
|
||||
gives an error for finding an ":endwhile": >
|
||||
:if 0
|
||||
: execute 'while i > 5'
|
||||
: echo "test"
|
||||
: endwhile
|
||||
:endif
|
||||
<
|
||||
It is allowed to have a "while" or "if" command
|
||||
completely in the executed string: >
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*helphelp.txt* For Vim version 7.4. Last change: 2012 Nov 28
|
||||
*helphelp.txt* For Vim version 7.4. Last change: 2014 Sep 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -96,6 +96,9 @@ Help on help files *helphelp*
|
||||
find a tag in a file with the same language as the
|
||||
current file. See |help-translated|.
|
||||
|
||||
*:helpc* *:helpclose*
|
||||
:helpc[lose] Close one help window, if there is one.
|
||||
|
||||
*:helpg* *:helpgrep*
|
||||
:helpg[rep] {pattern}[@xx]
|
||||
Search all help text files and make a list of lines
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_pyth.txt* For Vim version 7.4. Last change: 2013 Jul 10
|
||||
*if_pyth.txt* For Vim version 7.4. Last change: 2014 Jul 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Moore
|
||||
@@ -28,7 +28,7 @@ Both can be available at the same time, but read |python-2-and-3|.
|
||||
==============================================================================
|
||||
1. Commands *python-commands*
|
||||
|
||||
*:python* *:py* *E205* *E263* *E264*
|
||||
*:python* *:py* *E263* *E264* *E887*
|
||||
:[range]py[thon] {stmt}
|
||||
Execute Python statement {stmt}. A simple check if
|
||||
the `:python` command is working: >
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*indent.txt* For Vim version 7.4. Last change: 2013 Nov 05
|
||||
*indent.txt* For Vim version 7.4. Last change: 2014 Dec 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -686,7 +686,7 @@ two spaces relative to the opening paren:
|
||||
baz)
|
||||
<
|
||||
Setting this option changes this behavior so that all subforms are aligned to
|
||||
the same column:
|
||||
the same column, emulating the default behavior of clojure-mode.el:
|
||||
>
|
||||
(foo
|
||||
bar
|
||||
@@ -698,7 +698,6 @@ This option is off by default.
|
||||
let g:clojure_align_subforms = 0
|
||||
<
|
||||
|
||||
|
||||
FORTRAN *ft-fortran-indent*
|
||||
|
||||
Block if, select case, where, and forall constructs are indented. So are
|
||||
@@ -813,7 +812,7 @@ OPTIONS: ~
|
||||
PHP indenting can be altered in several ways by modifying the values of some
|
||||
global variables:
|
||||
|
||||
*php-comment*
|
||||
*php-comment* *PHP_autoformatcomment*
|
||||
To not enable auto-formating of comments by default (if you want to use your
|
||||
own 'formatoptions'): >
|
||||
:let g:PHP_autoformatcomment = 0
|
||||
@@ -822,6 +821,7 @@ Else, 't' will be removed from the 'formatoptions' string and "qrowcb" will be
|
||||
added, see |fo-table| for more information.
|
||||
-------------
|
||||
|
||||
*PHP_outdentSLComments*
|
||||
To add extra indentation to single-line comments: >
|
||||
:let g:PHP_outdentSLComments = N
|
||||
|
||||
@@ -833,6 +833,7 @@ Only single-line comments will be affected such as: >
|
||||
/* Comment */
|
||||
-------------
|
||||
|
||||
*PHP_default_indenting*
|
||||
To add extra indentation to every PHP lines with N being the number of
|
||||
'shiftwidth' to add: >
|
||||
:let g:PHP_default_indenting = N
|
||||
@@ -852,14 +853,18 @@ For example, with N = 1, this will give:
|
||||
(Notice the extra indentation between the PHP container markers and the code)
|
||||
-------------
|
||||
|
||||
To indent PHP tags as the surrounding code: >
|
||||
:let g:PHP_outdentphpescape = 0
|
||||
*PHP_outdentphpescape*
|
||||
To indent PHP escape tags as the surrounding non-PHP code (only affects the
|
||||
PHP escape tags): >
|
||||
:let g:PHP_outdentphpescape = 0
|
||||
-------------
|
||||
|
||||
*PHP_removeCRwhenUnix*
|
||||
To automatically remove '\r' characters when the 'fileformat' is set to Unix: >
|
||||
:let g:PHP_removeCRwhenUnix = 1
|
||||
-------------
|
||||
|
||||
*PHP_BracesAtCodeLevel*
|
||||
To indent braces at the same level than the code they contain: >
|
||||
:let g:PHP_BracesAtCodeLevel = 1
|
||||
|
||||
@@ -878,6 +883,7 @@ NOTE: Indenting will be a bit slower if this option is used because some
|
||||
optimizations won't be available.
|
||||
-------------
|
||||
|
||||
*PHP_vintage_case_default_indent*
|
||||
To indent 'case:' and 'default:' statements in switch() blocks: >
|
||||
:let g:PHP_vintage_case_default_indent = 1
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 7.4. Last change: 2013 Nov 14
|
||||
*index.txt* For Vim version 7.4. Last change: 2014 Sep 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1124,8 +1124,8 @@ tag command action ~
|
||||
|:cNfile| :cNf[ile] go to last error in previous file
|
||||
|:cabbrev| :ca[bbrev] like ":abbreviate" but for Command-line mode
|
||||
|:cabclear| :cabc[lear] clear all abbreviations for Command-line mode
|
||||
|:caddbuffer| :caddb[uffer] add errors from buffer
|
||||
|:caddexpr| :cad[dexpr] add errors from expr
|
||||
|:caddbuffer| :cad[dbuffer] add errors from buffer
|
||||
|:caddexpr| :cadde[xpr] add errors from expr
|
||||
|:caddfile| :caddf[ile] add error message to current quickfix list
|
||||
|:call| :cal[l] call a function
|
||||
|:catch| :cat[ch] part of a :try command
|
||||
@@ -1244,6 +1244,7 @@ tag command action ~
|
||||
|:gvim| :gv[im] start the GUI
|
||||
|:hardcopy| :ha[rdcopy] send text to the printer
|
||||
|:help| :h[elp] open a help window
|
||||
|:helpclose| :helpc[lose] close one help window
|
||||
|:helpfind| :helpf[ind] dialog to open a help window
|
||||
|:helpgrep| :helpg[rep] like ":grep" but searches help files
|
||||
|:helptags| :helpt[ags] generate help tags for a directory
|
||||
@@ -1361,13 +1362,14 @@ tag command action ~
|
||||
|:nmenu| :nme[nu] add menu for Normal mode
|
||||
|:nnoremap| :nn[oremap] like ":noremap" but for Normal mode
|
||||
|:nnoremenu| :nnoreme[nu] like ":noremenu" but for Normal mode
|
||||
|:noautocmd| :noa[utocmd] following command don't trigger autocommands
|
||||
|:noautocmd| :noa[utocmd] following commands don't trigger autocommands
|
||||
|:noremap| :no[remap] enter a mapping that will not be remapped
|
||||
|:nohlsearch| :noh[lsearch] suspend 'hlsearch' highlighting
|
||||
|:noreabbrev| :norea[bbrev] enter an abbreviation that will not be
|
||||
remapped
|
||||
|:noremenu| :noreme[nu] enter a menu that will not be remapped
|
||||
|:normal| :norm[al] execute Normal mode commands
|
||||
|:noswapfile| :nos[wapfile] following commands don't create a swap file
|
||||
|:number| :nu[mber] print lines with line number
|
||||
|:nunmap| :nun[map] like ":unmap" but for Normal mode
|
||||
|:nunmenu| :nunme[nu] remove menu for Normal mode
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 7.4. Last change: 2013 Jul 12
|
||||
*insert.txt* For Vim version 7.4. Last change: 2014 Aug 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -51,6 +51,8 @@ char action ~
|
||||
abbreviation.
|
||||
Note: If your <Esc> key is hard to hit on your keyboard, train
|
||||
yourself to use CTRL-[.
|
||||
If Esc doesn't work and you are using a Mac, try CTRL-Esc.
|
||||
Or disable Listening under Accessibility preferences.
|
||||
*i_CTRL-C*
|
||||
CTRL-C Quit insert mode, go back to Normal mode. Do not check for
|
||||
abbreviations. Does not trigger the |InsertLeave| autocommand
|
||||
@@ -1302,7 +1304,7 @@ HTML *ft-html-omni*
|
||||
XHTML *ft-xhtml-omni*
|
||||
|
||||
CTRL-X CTRL-O provides completion of various elements of (X)HTML files. It is
|
||||
designed to support writing of XHTML 1.0 Strict files but will also works for
|
||||
designed to support writing of XHTML 1.0 Strict files but will also work for
|
||||
other versions of HTML. Features:
|
||||
|
||||
- after "<" complete tag name depending on context (no div suggestion inside
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*intro.txt* For Vim version 7.4. Last change: 2013 Jun 17
|
||||
*intro.txt* For Vim version 7.4. Last change: 2014 May 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -136,9 +136,10 @@ http://www.vim.org/maillist.php
|
||||
Bug reports: *bugs* *bug-reports* *bugreport.vim*
|
||||
|
||||
Send bug reports to: Vim Developers <vim_dev@vim.org>
|
||||
This is a maillist, many people will see the message. If you don't want that,
|
||||
e.g. because it is a security issue, send it to <bugs@vim.org>, this only goes
|
||||
to the Vim maintainer (that's Bram).
|
||||
This is a maillist, you need to become a member first and many people will see
|
||||
the message. If you don't want that, e.g. because it is a security issue,
|
||||
send it to <bugs@vim.org>, this only goes to the Vim maintainer (that's Bram).
|
||||
|
||||
Please be brief; all the time that is spent on answering mail is subtracted
|
||||
from the time that is spent on improving Vim! Always give a reproducible
|
||||
example and try to find out which settings or other things influence the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 7.4. Last change: 2013 Aug 22
|
||||
*map.txt* For Vim version 7.4. Last change: 2014 Oct 03
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -60,17 +60,17 @@ modes.
|
||||
{rhs}, is then further scanned for mappings. This
|
||||
allows for nested and recursive use of mappings.
|
||||
|
||||
|
||||
:no[remap] {lhs} {rhs} |mapmode-nvo| *:no* *:noremap*
|
||||
:nn[oremap] {lhs} {rhs} |mapmode-n| *:nn* *:nnoremap*
|
||||
:vn[oremap] {lhs} {rhs} |mapmode-v| *:vn* *:vnoremap*
|
||||
:xn[oremap] {lhs} {rhs} |mapmode-x| *:xn* *:xnoremap*
|
||||
:snor[emap] {lhs} {rhs} |mapmode-s| *:snor* *:snoremap*
|
||||
:ono[remap] {lhs} {rhs} |mapmode-o| *:ono* *:onoremap*
|
||||
:no[remap]! {lhs} {rhs} |mapmode-ic| *:no!* *:noremap!*
|
||||
:ino[remap] {lhs} {rhs} |mapmode-i| *:ino* *:inoremap*
|
||||
:ln[oremap] {lhs} {rhs} |mapmode-l| *:ln* *:lnoremap*
|
||||
:cno[remap] {lhs} {rhs} |mapmode-c| *:cno* *:cnoremap*
|
||||
*:nore* *:norem*
|
||||
:no[remap] {lhs} {rhs} |mapmode-nvo| *:no* *:noremap* *:nor*
|
||||
:nn[oremap] {lhs} {rhs} |mapmode-n| *:nn* *:nnoremap*
|
||||
:vn[oremap] {lhs} {rhs} |mapmode-v| *:vn* *:vnoremap*
|
||||
:xn[oremap] {lhs} {rhs} |mapmode-x| *:xn* *:xnoremap*
|
||||
:snor[emap] {lhs} {rhs} |mapmode-s| *:snor* *:snoremap*
|
||||
:ono[remap] {lhs} {rhs} |mapmode-o| *:ono* *:onoremap*
|
||||
:no[remap]! {lhs} {rhs} |mapmode-ic| *:no!* *:noremap!*
|
||||
:ino[remap] {lhs} {rhs} |mapmode-i| *:ino* *:inoremap*
|
||||
:ln[oremap] {lhs} {rhs} |mapmode-l| *:ln* *:lnoremap*
|
||||
:cno[remap] {lhs} {rhs} |mapmode-c| *:cno* *:cnoremap*
|
||||
Map the key sequence {lhs} to {rhs} for the modes
|
||||
where the map command applies. Disallow mapping of
|
||||
{rhs}, to avoid nested and recursive mappings. Often
|
||||
@@ -306,9 +306,21 @@ is disabled. This makes it possible to map zero without making it impossible
|
||||
to type a count with a zero.
|
||||
|
||||
*map-overview* *map-modes*
|
||||
Overview of which map command works in which mode:
|
||||
Overview of which map command works in which mode. More details below.
|
||||
COMMANDS MODES ~
|
||||
:map :noremap :unmap Normal, Visual, Select, Operator-pending
|
||||
:nmap :nnoremap :nunmap Normal
|
||||
:vmap :vnoremap :vunmap Visual and Select
|
||||
:smap :snoremap :sunmap Select
|
||||
:xmap :xnoremap :xunmap Visual
|
||||
:omap :onoremap :ounmap Operator-pending
|
||||
:map! :noremap! :unmap! Insert and Command-line
|
||||
:imap :inoremap :iunmap Insert
|
||||
:lmap :lnoremap :lunmap Insert, Command-line, Lang-Arg
|
||||
:cmap :cnoremap :cunmap Command-line
|
||||
|
||||
commands: modes: ~
|
||||
|
||||
COMMANDS MODES ~
|
||||
Normal Visual+Select Operator-pending ~
|
||||
:map :noremap :unmap :mapclear yes yes yes
|
||||
:nmap :nnoremap :nunmap :nmapclear yes - -
|
||||
@@ -324,7 +336,7 @@ NOTE: Mapping a printable character in Select mode may confuse the user. It's
|
||||
better to explicitly use :xmap and :smap for printable characters. Or use
|
||||
:sunmap after defining the mapping.
|
||||
|
||||
commands: modes: ~
|
||||
COMMANDS MODES ~
|
||||
Visual Select ~
|
||||
:vmap :vnoremap :vunmap :vmapclear yes yes
|
||||
:xmap :xnoremap :xunmap :xmapclear yes -
|
||||
@@ -333,7 +345,7 @@ better to explicitly use :xmap and :smap for printable characters. Or use
|
||||
*mapmode-ic* *mapmode-i* *mapmode-c* *mapmode-l*
|
||||
Some commands work both in Insert mode and Command-line mode, some not:
|
||||
|
||||
commands: modes: ~
|
||||
COMMANDS MODES ~
|
||||
Insert Command-line Lang-Arg ~
|
||||
:map! :noremap! :unmap! :mapclear! yes yes -
|
||||
:imap :inoremap :iunmap :imapclear yes - -
|
||||
@@ -816,12 +828,10 @@ Here is an example that counts the number of spaces with <F4>: >
|
||||
let &selection = "inclusive"
|
||||
let reg_save = @@
|
||||
|
||||
if a:0 " Invoked from Visual mode, use '< and '> marks.
|
||||
silent exe "normal! `<" . a:type . "`>y"
|
||||
if a:0 " Invoked from Visual mode, use gv command.
|
||||
silent exe "normal! gvy"
|
||||
elseif a:type == 'line'
|
||||
silent exe "normal! '[V']y"
|
||||
elseif a:type == 'block'
|
||||
silent exe "normal! `[\<C-V>`]y"
|
||||
else
|
||||
silent exe "normal! `[v`]y"
|
||||
endif
|
||||
@@ -913,9 +923,11 @@ Examples: ({CURSOR} is where you type a non-keyword character) >
|
||||
< "test;;" is not expanded
|
||||
"test ;;" is expanded to "test <endofline>"
|
||||
|
||||
To avoid the abbreviation in insert mode: Type part of the abbreviation, exit
|
||||
insert mode with <Esc>, re-enter insert mode with "a" and type the rest. Or
|
||||
type CTRL-V before the character after the abbreviation.
|
||||
To avoid the abbreviation in Insert mode: Type CTRL-V before the character
|
||||
that would trigger the abbreviation. E.g. CTRL-V <Space>. Or type part of
|
||||
the abbreviation, exit insert mode with <Esc>, re-enter insert mode with "a"
|
||||
and type the rest.
|
||||
|
||||
To avoid the abbreviation in Command-line mode: Type CTRL-V twice somewhere in
|
||||
the abbreviation to avoid it to be replaced. A CTRL-V in front of a normal
|
||||
character is mostly ignored otherwise.
|
||||
@@ -1273,6 +1285,8 @@ completion can be enabled:
|
||||
-complete=custom,{func} custom completion, defined via {func}
|
||||
-complete=customlist,{func} custom completion, defined via {func}
|
||||
|
||||
Note: That some completion methods might expand environment variables.
|
||||
|
||||
|
||||
Custom completion *:command-completion-custom*
|
||||
*:command-completion-customlist*
|
||||
@@ -1344,6 +1358,19 @@ Possible attributes are:
|
||||
Note that -range=N and -count=N are mutually exclusive - only one should be
|
||||
specified.
|
||||
|
||||
*E889* *:command-addr*
|
||||
It is possible that the special characters in the range like ., $ or % which
|
||||
by default correspond to the current line, last line and the whole buffer,
|
||||
relate to arguments, (loaded) buffers, windows or tab pages.
|
||||
|
||||
Possible values are:
|
||||
-addr=lines Range of lines (this is the default)
|
||||
-addr=arguments Range for arguments
|
||||
-addr=buffers Range for buffers (also not loaded buffers)
|
||||
-addr=loaded_buffers Range for loaded buffers
|
||||
-addr=windows Range for windows
|
||||
-addr=tabs Range for tab pages
|
||||
|
||||
Special cases *:command-bang* *:command-bar*
|
||||
*:command-register* *:command-buffer*
|
||||
There are some special cases as well:
|
||||
|
||||
@@ -470,7 +470,7 @@ raise Bring the editor to the foreground.
|
||||
New in version 2.1.
|
||||
|
||||
removeAnno serNum
|
||||
Remove a previously place annotation for this buffer.
|
||||
Remove a previously placed annotation for this buffer.
|
||||
"serNum" is the same number used in addAnno.
|
||||
|
||||
save Save the buffer when it was modified. The other side of the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 7.4. Last change: 2013 Dec 04
|
||||
*options.txt* For Vim version 7.4. Last change: 2014 Nov 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -921,7 +921,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|
||||
*'backupcopy'* *'bkc'*
|
||||
'backupcopy' 'bkc' string (Vi default for Unix: "yes", otherwise: "auto")
|
||||
global
|
||||
global or local to buffer |global-local|
|
||||
{not in Vi}
|
||||
When writing a file and a backup is made, this option tells how it's
|
||||
done. This is a comma separated list of words.
|
||||
@@ -1200,6 +1200,38 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
break if 'linebreak' is on. Only works for ASCII and also for 8-bit
|
||||
characters when 'encoding' is an 8-bit encoding.
|
||||
|
||||
*'breakindent'* *'bri'*
|
||||
'breakindent' 'bri' boolean (default off)
|
||||
local to window
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+linebreak|
|
||||
feature}
|
||||
Every wrapped line will continue visually indented (same amount of
|
||||
space as the beginning of that line), thus preserving horizontal blocks
|
||||
of text.
|
||||
|
||||
*'breakindentopt'* *'briopt'*
|
||||
'breakindentopt' 'briopt' string (default empty)
|
||||
local to window
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+linebreak|
|
||||
feature}
|
||||
Settings for 'breakindent'. It can consist of the following optional
|
||||
items and must be separated by a comma:
|
||||
min:{n} Minimum text width that will be kept after
|
||||
applying 'breakindent', even if the resulting
|
||||
text should normally be narrower. This prevents
|
||||
text indented almost to the right window border
|
||||
occupying lot of vertical space when broken.
|
||||
shift:{n} After applying 'breakindent', the wrapped line's
|
||||
beginning will be shifted by the given number of
|
||||
characters. It permits dynamic French paragraph
|
||||
indentation (negative) or emphasizing the line
|
||||
continuation (positive).
|
||||
sbr Display the 'showbreak' value before applying the
|
||||
additional indent.
|
||||
The default value for min is 20 and shift is 0.
|
||||
|
||||
*'browsedir'* *'bsdir'*
|
||||
'browsedir' 'bsdir' string (default: "last")
|
||||
global
|
||||
@@ -2189,7 +2221,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|
||||
|
||||
*'cryptmethod'* *'cm'*
|
||||
'cryptmethod' string (default "zip")
|
||||
'cryptmethod' 'cm' string (default "zip")
|
||||
global or local to buffer |global-local|
|
||||
{not in Vi}
|
||||
Method used for encryption when the buffer is written to a file:
|
||||
@@ -2197,10 +2229,18 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
zip PkZip compatible method. A weak kind of encryption.
|
||||
Backwards compatible with Vim 7.2 and older.
|
||||
*blowfish*
|
||||
blowfish Blowfish method. Strong encryption. Requires Vim 7.3
|
||||
or later, files can NOT be read by Vim 7.2 and older.
|
||||
This adds a "seed" to the file, every time you write
|
||||
the file the encrypted bytes will be different.
|
||||
blowfish Blowfish method. Medium strong encryption but it has
|
||||
an implementation flaw. Requires Vim 7.3 or later,
|
||||
files can NOT be read by Vim 7.2 and older. This adds
|
||||
a "seed" to the file, every time you write the file
|
||||
the encrypted bytes will be different.
|
||||
*blowfish2*
|
||||
blowfish2 Blowfish method. Medium strong encryption. Requires
|
||||
Vim 7.4.399 or later, files can NOT be read by Vim 7.3
|
||||
and older. This adds a "seed" to the file, every time
|
||||
you write the file the encrypted bytes will be
|
||||
different. The whole undo file is encrypted, not just
|
||||
the pieces of text.
|
||||
|
||||
When reading an encrypted file 'cryptmethod' will be set automatically
|
||||
to the detected method of the file being read. Thus if you write it
|
||||
@@ -3329,7 +3369,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
NOTE: This option is reset when 'compatible' is set.
|
||||
|
||||
*'grepformat'* *'gfm'*
|
||||
'grepformat' 'gfm' string (default "%f:%l%m,%f %l%m")
|
||||
'grepformat' 'gfm' string (default "%f:%l:%m,%f:%l%m,%f %l%m")
|
||||
global
|
||||
{not in Vi}
|
||||
Format to recognize for the ":grep" command output.
|
||||
@@ -3920,12 +3960,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
NOTE: This option is reset when 'compatible' is set.
|
||||
|
||||
*'history'* *'hi'*
|
||||
'history' 'hi' number (Vim default: 20, Vi default: 0)
|
||||
'history' 'hi' number (Vim default: 50, Vi default: 0)
|
||||
global
|
||||
{not in Vi}
|
||||
A history of ":" commands, and a history of previous search patterns
|
||||
are remembered. This option decides how many entries may be stored in
|
||||
is remembered. This option decides how many entries may be stored in
|
||||
each of these histories (see |cmdline-editing|).
|
||||
The maximum value is 10000.
|
||||
NOTE: This option is set to the Vi default value when 'compatible' is
|
||||
set and to the Vim default value when 'compatible' is reset.
|
||||
|
||||
@@ -3968,6 +4009,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
When Vim was compiled with HAVE_X11 defined, the original icon will be
|
||||
restored if possible |X11|. See |X11-icon| for changing the icon on
|
||||
X11.
|
||||
For MS-Windows the icon can be changed, see |windows-icon|.
|
||||
|
||||
*'iconstring'*
|
||||
'iconstring' string (default "")
|
||||
@@ -4492,6 +4534,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
be able to execute Normal mode commands.
|
||||
This is the opposite of the 'keymap' option, where characters are
|
||||
mapped in Insert mode.
|
||||
Also consider setting 'langnoremap' to avoid 'langmap' applies to
|
||||
characters resulting from a mapping.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
Example (for Greek, in UTF-8): *greek* >
|
||||
:set langmap=ΑA,ΒB,ΨC,ΔD,ΕE,ΦF,ΓG,ΗH,ΙI,ΞJ,ΚK,ΛL,ΜM,ΝN,ΟO,ΠP,QQ,ΡR,ΣS,ΤT,ΘU,ΩV,WW,ΧX,ΥY,ΖZ,αa,βb,ψc,δd,εe,φf,γg,ηh,ιi,ξj,κk,λl,μm,νn,οo,πp,qq,ρr,σs,τt,θu,ωv,ςw,χx,υy,ζz
|
||||
@@ -4545,6 +4591,18 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
:source $VIMRUNTIME/menu.vim
|
||||
< Warning: This deletes all menus that you defined yourself!
|
||||
|
||||
*'langnoremap'* *'lnr'*
|
||||
'langnoremap' 'lnr' boolean (default off)
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+langmap|
|
||||
feature}
|
||||
When on, setting 'langmap' does not apply to characters resulting from
|
||||
a mapping. This basically means, if you noticed that setting
|
||||
'langmap' disables some of your mappings, try setting this option.
|
||||
This option defaults to off for backwards compatibility. Set it on if
|
||||
that works for you to avoid mappings to break.
|
||||
|
||||
*'laststatus'* *'ls'*
|
||||
'laststatus' 'ls' number (default 1)
|
||||
global
|
||||
@@ -4572,12 +4630,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+linebreak|
|
||||
feature}
|
||||
If on Vim will wrap long lines at a character in 'breakat' rather
|
||||
If on, Vim will wrap long lines at a character in 'breakat' rather
|
||||
than at the last character that fits on the screen. Unlike
|
||||
'wrapmargin' and 'textwidth', this does not insert <EOL>s in the file,
|
||||
it only affects the way the file is displayed, not its contents. The
|
||||
value of 'showbreak' is used to put in front of wrapped lines.
|
||||
This option is not used when the 'wrap' option is off or 'list' is on.
|
||||
it only affects the way the file is displayed, not its contents.
|
||||
If 'breakindent' is set, line is visually indented. Then, the value
|
||||
of 'showbreak' is used to put in front of wrapped lines. This option
|
||||
is not used when the 'wrap' option is off.
|
||||
Note that <Tab> characters after an <EOL> are mostly not displayed
|
||||
with the right amount of white space.
|
||||
|
||||
@@ -5333,7 +5392,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Expression which is evaluated to apply a patch to a file and generate
|
||||
the resulting new version of the file. See |diff-patchexpr|.
|
||||
|
||||
*'patchmode'* *'pm'* *E206*
|
||||
*'patchmode'* *'pm'* *E205* *E206*
|
||||
'patchmode' 'pm' string (default "")
|
||||
global
|
||||
{not in Vi}
|
||||
@@ -5581,6 +5640,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
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.
|
||||
Using automatic selection enables Vim to switch the engine, if the
|
||||
default engine becomes too costly. E.g., when the NFA engine uses too
|
||||
many states. This should prevent Vim from hanging on a combination of
|
||||
a complex pattern with long text.
|
||||
|
||||
*'relativenumber'* *'rnu'* *'norelativenumber'* *'nornu'*
|
||||
'relativenumber' 'rnu' boolean (default off)
|
||||
@@ -5614,6 +5677,77 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
this option at the default "on". Only switch it off when working with
|
||||
old Vi scripts.
|
||||
|
||||
*'renderoptions'* *'rop'*
|
||||
'renderoptions' 'rop' string (default: empty)
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with GUI and DIRECTX on
|
||||
MS-Windows}
|
||||
Select a text renderer and set its options. The options depend on the
|
||||
renderer.
|
||||
|
||||
Syntax: >
|
||||
set rop=type:{renderer}(,{name}:{value})*
|
||||
<
|
||||
Currently, only one optional renderer is available.
|
||||
|
||||
render behavior ~
|
||||
directx Vim will draw text using DirectX (DirectWrite). It makes
|
||||
drawn glyphs more beautiful than default GDI.
|
||||
It requires 'encoding' is "utf-8", and only works on
|
||||
MS-Windows Vista or newer version.
|
||||
|
||||
Options:
|
||||
name meaning type value ~
|
||||
gamma gamma float 1.0 - 2.2 (maybe)
|
||||
contrast enhancedContrast float (unknown)
|
||||
level clearTypeLevel float (unknown)
|
||||
geom pixelGeometry int 0 - 2 (see below)
|
||||
renmode renderingMode int 0 - 6 (see below)
|
||||
taamode textAntialiasMode int 0 - 3 (see below)
|
||||
|
||||
See this URL for detail:
|
||||
http://msdn.microsoft.com/en-us/library/dd368190.aspx
|
||||
|
||||
For geom: structure of a device pixel.
|
||||
0 - DWRITE_PIXEL_GEOMETRY_FLAT
|
||||
1 - DWRITE_PIXEL_GEOMETRY_RGB
|
||||
2 - DWRITE_PIXEL_GEOMETRY_BGR
|
||||
|
||||
See this URL for detail:
|
||||
http://msdn.microsoft.com/en-us/library/dd368114.aspx
|
||||
|
||||
For renmode: method of rendering glyphs.
|
||||
0 - DWRITE_RENDERING_MODE_DEFAULT
|
||||
1 - DWRITE_RENDERING_MODE_ALIASED
|
||||
2 - DWRITE_RENDERING_MODE_GDI_CLASSIC
|
||||
3 - DWRITE_RENDERING_MODE_GDI_NATURAL
|
||||
4 - DWRITE_RENDERING_MODE_NATURAL
|
||||
5 - DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC
|
||||
6 - DWRITE_RENDERING_MODE_OUTLINE
|
||||
|
||||
See this URL for detail:
|
||||
http://msdn.microsoft.com/en-us/library/dd368118.aspx
|
||||
|
||||
For taamode: antialiasing mode used for drawing text.
|
||||
0 - D2D1_TEXT_ANTIALIAS_MODE_DEFAULT
|
||||
1 - D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE
|
||||
2 - D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE
|
||||
3 - D2D1_TEXT_ANTIALIAS_MODE_ALIASED
|
||||
|
||||
See this URL for detail:
|
||||
http://msdn.microsoft.com/en-us/library/dd368170.aspx
|
||||
|
||||
Example: >
|
||||
set encoding=utf-8
|
||||
set gfn=Ricty_Diminished:h12:cSHIFTJIS
|
||||
set rop=type:directx
|
||||
<
|
||||
If select a raster font (Courier, Terminal or FixedSys) to
|
||||
'guifont', it fallbacks to be drawn by GDI automatically.
|
||||
|
||||
Other render types are currently not supported.
|
||||
|
||||
*'report'*
|
||||
'report' number (default 2)
|
||||
global
|
||||
@@ -6252,6 +6386,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
A don't give the "ATTENTION" message when an existing swap file
|
||||
is found.
|
||||
I don't give the intro message when starting Vim |:intro|.
|
||||
c don't give |ins-completion-menu| messages. For example,
|
||||
"-- XXX completion (YYY)", "match 1 of 2", "The only match",
|
||||
"Pattern not found", "Back at original", etc.
|
||||
|
||||
This gives you the opportunity to avoid that a change between buffers
|
||||
requires you to hit <Enter>, but still gives as useful a message as
|
||||
@@ -6619,6 +6756,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
top of the suggestion list with the internal methods.
|
||||
Lines without a slash are ignored, use this for
|
||||
comments.
|
||||
The word in the second column must be correct,
|
||||
otherwise it will not be used. Add the word to an
|
||||
".add" file if it is currently flagged as a spelling
|
||||
mistake.
|
||||
The file is used for all languages.
|
||||
|
||||
expr:{expr} Evaluate expression {expr}. Use a function to avoid
|
||||
@@ -6882,6 +7023,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
immediately deleted. When 'swapfile' is set, and 'updatecount' is
|
||||
non-zero, a swap file is immediately created.
|
||||
Also see |swap-file| and |'swapsync'|.
|
||||
If you want to open a new buffer without creating a swap file for it,
|
||||
use the |:noswapfile| modifier.
|
||||
|
||||
This option is used together with 'bufhidden' and 'buftype' to
|
||||
specify special kinds of buffers. See |special-buffers|.
|
||||
@@ -7502,8 +7645,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
"s" = button state
|
||||
"c" = column plus 33
|
||||
"r" = row plus 33
|
||||
This only works up to 223 columns! See "dec" for a
|
||||
solution.
|
||||
This only works up to 223 columns! See "dec",
|
||||
"urxvt", and "sgr" for solutions.
|
||||
xterm2 Works like "xterm", but with the xterm reporting the
|
||||
mouse position while the mouse is dragged. This works
|
||||
much faster and more precise. Your xterm must at
|
||||
@@ -7525,29 +7668,35 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
pterm QNX pterm mouse handling.
|
||||
*urxvt-mouse*
|
||||
urxvt Mouse handling for the urxvt (rxvt-unicode) terminal.
|
||||
The mouse works only if the terminal supports this
|
||||
encoding style, but it does not have 223 columns limit
|
||||
unlike "xterm" or "xterm2".
|
||||
*sgr-mouse*
|
||||
sgr Mouse handling for the terminal that emits SGR-styled
|
||||
mouse reporting. Works with xterm version 277 or
|
||||
later.
|
||||
mouse reporting. The mouse works even in columns
|
||||
beyond 223. This option is backward compatible with
|
||||
"xterm2" because it can also decode "xterm2" style
|
||||
mouse codes.
|
||||
|
||||
The mouse handling must be enabled at compile time |+mouse_xterm|
|
||||
|+mouse_dec| |+mouse_netterm|.
|
||||
|+mouse_dec| |+mouse_netterm| |+mouse_jsbterm| |+mouse_urxvt|
|
||||
|+mouse_sgr|.
|
||||
Only "xterm"(2) is really recognized. NetTerm mouse codes are always
|
||||
recognized, if enabled at compile time. DEC terminal mouse codes
|
||||
are recognized if enabled at compile time, and 'ttymouse' is not
|
||||
"xterm" (because the xterm and dec mouse codes conflict).
|
||||
"xterm", "xterm2", "urxvt" or "sgr" (because dec mouse codes conflict
|
||||
with them).
|
||||
This option is automatically set to "xterm", when the 'term' option is
|
||||
set to a name that starts with "xterm", and 'ttymouse' is not "xterm"
|
||||
or "xterm2" already. The main use of this option is to set it to
|
||||
"xterm", when the terminal name doesn't start with "xterm", but it can
|
||||
handle xterm mouse codes.
|
||||
The "sgr" value will be set if the xterm version is 277 or later.
|
||||
set to a name that starts with "xterm", "mlterm", or "screen", and
|
||||
'ttymouse' is not set already.
|
||||
Additionally, if vim is compiled with the |+termresponse| feature and
|
||||
|t_RV| is set to the escape sequence to request the xterm version
|
||||
number, more intelligent detection process runs.
|
||||
The "xterm2" value will be set if the xterm version is reported to be
|
||||
95 or higher. This only works when compiled with the |+termresponse|
|
||||
feature and if |t_RV| is set to the escape sequence to request the
|
||||
xterm version number. Otherwise "xterm2" must be set explicitly.
|
||||
If you do not want 'ttymouse' to be set to "xterm2" automatically, set
|
||||
t_RV to an empty string: >
|
||||
from 95 to 276. The "sgr" value will be set if the xterm version is
|
||||
277 or highter.
|
||||
If you do not want 'ttymouse' to be set to "xterm2" or "sgr"
|
||||
automatically, set t_RV to an empty string: >
|
||||
:set t_RV=
|
||||
<
|
||||
*'ttyscroll'* *'tsl'*
|
||||
@@ -7613,6 +7762,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
current buffer: >
|
||||
setlocal ul=-1
|
||||
< This helps when you run out of memory for a single change.
|
||||
|
||||
The local value is set to -123456 when the global value is to be used.
|
||||
|
||||
Also see |clear-undo|.
|
||||
|
||||
*'undoreload'* *'ur'*
|
||||
@@ -7720,6 +7872,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
fold options
|
||||
options options and mappings local to a window or buffer (not
|
||||
global values for local options)
|
||||
localoptions same as "options"
|
||||
slash backslashes in file names replaced with forward
|
||||
slashes
|
||||
unix with Unix end-of-line format (single <NL>), even when
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_vms.txt* For Vim version 7.4. Last change: 2013 Aug 22
|
||||
*os_vms.txt* For Vim version 7.4. Last change: 2014 Aug 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL
|
||||
@@ -774,7 +774,7 @@ Version 7.4
|
||||
- correct RealWaitForChar
|
||||
- after 7.4-119 use different functions lib$cvtf_to_internal_time because Alpha and VAX have
|
||||
G_FLOAT but IA64 uses IEEE float otherwise Vim crashes
|
||||
- guard agains crashes that are caused by mixed filenames
|
||||
- guard against crashes that are caused by mixed filenames
|
||||
- [TESTDIR]make_vms.mms changed to see the output files
|
||||
- Improve tests, update known issues
|
||||
- minor compiler warnings fixed
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_win32.txt* For Vim version 7.4. Last change: 2012 May 18
|
||||
*os_win32.txt* For Vim version 7.4. Last change: 2014 Sep 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by George Reilly
|
||||
@@ -334,7 +334,7 @@ A. You have two possible solutions depending on what you want:
|
||||
:!start /min ctags -R .
|
||||
< When it has finished you should see file named "tags" in your current
|
||||
directory. You should notice the window title blinking on your taskbar.
|
||||
This is more noticable for commands that take longer.
|
||||
This is more noticeable for commands that take longer.
|
||||
Now delete the "tags" file and run this command: >
|
||||
:!start /b ctags -R .
|
||||
< You should have the same "tags" file, but this time there will be no
|
||||
@@ -367,4 +367,10 @@ Q. I use Vim under Win32s and NT. In NT, I can define the console to default to
|
||||
A. Edit SYSTEM.INI and add 'ScreenLines=50' to the [NonWindowsApp] section. DOS
|
||||
prompts and external DOS commands will now run in a 50-line window.
|
||||
|
||||
*windows-icon*
|
||||
Q. I don't like the Vim icon, can I change it?
|
||||
A. Yes, place your favorite icon in bitmaps/vim.ico in a directory of
|
||||
'runtimepath'. For example ~/vimfiles/bitmaps/vim.ico.
|
||||
|
||||
|
||||
vim:tw=78:fo=tcq2:ts=8:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 7.4. Last change: 2014 Feb 08
|
||||
*pattern.txt* For Vim version 7.4. Last change: 2014 Sep 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -545,6 +545,7 @@ Character classes {not in Vi}: */character-classes*
|
||||
|/\%u| \%u \%u match specified multibyte character (eg \%u20ac)
|
||||
|/\%U| \%U \%U match specified large multibyte character (eg
|
||||
\%U12345678)
|
||||
|/\%C| \%C \%C match any composing characters
|
||||
|
||||
Example matches ~
|
||||
\<\I\i* or
|
||||
@@ -705,11 +706,18 @@ overview.
|
||||
But to limit the time needed, only the line where what follows matches
|
||||
is searched, and one line before that (if there is one). This should
|
||||
be sufficient to match most things and not be too slow.
|
||||
The part of the pattern after "\@<=" and "\@<!" are checked for a
|
||||
match first, thus things like "\1" don't work to reference \(\) inside
|
||||
the preceding atom. It does work the other way around:
|
||||
Example matches ~
|
||||
\1\@<=,\([a-z]\+\) ",abc" in "abc,abc"
|
||||
|
||||
In the old regexp engine the part of the pattern after "\@<=" and
|
||||
"\@<!" are checked for a match first, thus things like "\1" don't work
|
||||
to reference \(\) inside the preceding atom. It does work the other
|
||||
way around:
|
||||
Bad example matches ~
|
||||
\%#=1\1\@<=,\([a-z]\+\) ",abc" in "abc,abc"
|
||||
|
||||
However, the new regexp engine works differently, it is better to not
|
||||
rely on this behavior, do not use \@<= if it can be avoided:
|
||||
Example matches ~
|
||||
\([a-z]\+\)\zs,\1 ",abc" in "abc,abc"
|
||||
|
||||
\@123<=
|
||||
Like "\@<=" but only look back 123 bytes. This avoids trying lots
|
||||
@@ -821,6 +829,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
branch is used. Example: >
|
||||
/\(.\{-}\zsFab\)\{3}
|
||||
< Finds the third occurrence of "Fab".
|
||||
This cannot be followed by a multi. *E888*
|
||||
{not in Vi} {not available when compiled without the |+syntax| feature}
|
||||
*/\ze*
|
||||
\ze Matches at any position, and sets the end of the match there: The
|
||||
@@ -829,6 +838,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
branch is used.
|
||||
Example: "end\ze\(if\|for\)" matches the "end" in "endif" and
|
||||
"endfor".
|
||||
This cannot be followed by a multi. |E888|
|
||||
{not in Vi} {not available when compiled without the |+syntax| feature}
|
||||
|
||||
*/\%^* *start-of-file*
|
||||
@@ -1207,12 +1217,18 @@ will probably never match.
|
||||
8. Composing characters *patterns-composing*
|
||||
|
||||
*/\Z*
|
||||
When "\Z" appears anywhere in the pattern, composing characters are ignored.
|
||||
Thus only the base characters need to match, the composing characters may be
|
||||
different and the number of composing characters may differ. Only relevant
|
||||
when 'encoding' is "utf-8".
|
||||
When "\Z" appears anywhere in the pattern, all composing characters are
|
||||
ignored. Thus only the base characters need to match, the composing
|
||||
characters may be different and the number of composing characters may differ.
|
||||
Only relevant when 'encoding' is "utf-8".
|
||||
Exception: If the pattern starts with one or more composing characters, these
|
||||
must match.
|
||||
*/\%C*
|
||||
Use "\%C" to skip any composing characters. For example, the pattern "a" does
|
||||
not match in "càt" (where the a has the composing character 0x0300), but
|
||||
"a\%C" does. Note that this does not match "cát" (where the á is character
|
||||
0xe1, it does not have a compositing character). It does match "cat" (where
|
||||
the a is just an a).
|
||||
|
||||
When a composing character appears at the start of the pattern of after an
|
||||
item that doesn't include the composing character, a match is found at any
|
||||
@@ -1325,7 +1341,7 @@ Finally, these constructs are unique to Perl:
|
||||
patterns defined by both |matchadd()| and |:match|.
|
||||
|
||||
Highlighting matches using |:match| are limited to three
|
||||
matches (aside from |:match|, |:2match| and |:3match|are
|
||||
matches (aside from |:match|, |:2match| and |:3match| are
|
||||
available). |matchadd()| does not have this limitation and in
|
||||
addition makes it possible to prioritize matches.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_netrw.txt* For Vim version 7.4. Last change: 2014 Jan 21
|
||||
*pi_netrw.txt* For Vim version 7.4. Last change: 2014 May 13
|
||||
|
||||
------------------------------------------------
|
||||
NETRW REFERENCE MANUAL by Charles E. Campbell
|
||||
@@ -49,6 +49,7 @@ Copyright: Copyright (C) 1999-2014 Charles E Campbell *netrw-copyright*
|
||||
Quick Reference: Commands...........................|netrw-browse-cmds|
|
||||
Bookmarking A Directory.............................|netrw-mb|
|
||||
Browsing............................................|netrw-cr|
|
||||
Squeezing the Current Tree-Listing Directory......|:netrw-s-cr|
|
||||
Browsing With A Horizontally Split Window...........|netrw-o|
|
||||
Browsing With A New Tab.............................|netrw-t|
|
||||
Browsing With A Vertically Split Window.............|netrw-v|
|
||||
@@ -172,7 +173,7 @@ There are more protocols supported by netrw than just scp and ftp, too: see the
|
||||
next section, |netrw-externapp|, on how to use these external applications with
|
||||
netrw and vim.
|
||||
|
||||
PREVENTING LOADING *netrw-noload*
|
||||
PREVENTING LOADING *netrw-noload*
|
||||
|
||||
If you want to use plugins, but for some reason don't wish to use netrw, then
|
||||
you need to avoid loading both the plugin and the autoload portions of netrw.
|
||||
@@ -183,7 +184,7 @@ You may do so by placing the following two lines in your <.vimrc>: >
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
3. Netrw Reference *netrw-ref* {{{1
|
||||
3. Netrw Reference *netrw-ref* {{{1
|
||||
|
||||
Netrw supports several protocols in addition to scp and ftp as mentioned
|
||||
in |netrw-start|. These include dav, fetch, http,... well, just look
|
||||
@@ -290,7 +291,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: >
|
||||
@@ -347,9 +348,9 @@ settings are described below, in |netrw-browser-options|, and in
|
||||
*g:netrw_bufsettings* the settings that netrw buffers have
|
||||
(default) noma nomod nonu nowrap ro nobl
|
||||
|
||||
*g:netrw_chgwin* specifies a window number where file edits will take
|
||||
place. (also see |netrw-C|)
|
||||
(default) not defined
|
||||
*g:netrw_chgwin* specifies a window number where subsequent file edits
|
||||
will take place. (also see |netrw-C|)
|
||||
(default) -1
|
||||
|
||||
*g:Netrw_funcref* specifies a function (or functions) to be called when
|
||||
netrw edits a file. The file is first edited, and
|
||||
@@ -370,9 +371,9 @@ settings are described below, in |netrw-browser-options|, and in
|
||||
value of this variable to see if the alternate ftp
|
||||
method works for your setup.
|
||||
|
||||
*g:netrw_ftp_options* Chosen by default, these options are supposed to turn
|
||||
interactive prompting off and to restrain ftp from
|
||||
attempting auto-login upon initial connection.
|
||||
*g:netrw_ftp_options* Chosen by default, these options are supposed to
|
||||
turn interactive prompting off and to restrain ftp
|
||||
from attempting auto-login upon initial connection.
|
||||
However, it appears that not all ftp implementations
|
||||
support this (ex. ncftp).
|
||||
="-i -n"
|
||||
@@ -403,8 +404,8 @@ settings are described below, in |netrw-browser-options|, and in
|
||||
*g:netrw_preview* =0 (default) preview window shown in a horizontally
|
||||
split window
|
||||
=1 preview window shown in a vertically split window.
|
||||
Also affects the "previous window" (see |netrw-P|) in
|
||||
the same way.
|
||||
Also affects the "previous window" (see |netrw-P|)
|
||||
in the same way.
|
||||
|
||||
*g:netrw_scpport* = "-P" : option to use to set port for scp
|
||||
*g:netrw_sshport* = "-p" : option to use to set port for ssh
|
||||
@@ -542,15 +543,17 @@ which contains ftp commands which will be automatically run whenever ftp
|
||||
starts. You may use this feature to enter a user and password for one site: >
|
||||
userid
|
||||
password
|
||||
< *netrw-windows-netrc* *netrw-windows-s*
|
||||
If |g:netrw_ftp_cmd| contains -s:[path/]MACHINE, then (on Windows machines only)
|
||||
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: >
|
||||
< *netrw-windows-netrc* *netrw-windows-s*
|
||||
If |g:netrw_ftp_cmd| contains -s:[path/]MACHINE, then (on Windows machines
|
||||
only) 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/
|
||||
|
||||
will use a file >
|
||||
|
||||
C:\Users\Myself\myhost.ftp
|
||||
<
|
||||
Often, ftp will need to query the user for the userid and password.
|
||||
@@ -680,7 +683,7 @@ your <.vimrc> customization file: >
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
6. Transparent Remote File Editing *netrw-transparent* {{{1
|
||||
6. Transparent Remote File Editing *netrw-transparent* {{{1
|
||||
|
||||
Transparent file transfers occur whenever a regular file read or write
|
||||
(invoked via an |:autocmd| for |BufReadCmd|, |BufWriteCmd|, or |SourceCmd|
|
||||
@@ -754,7 +757,7 @@ below, a {netfile} is an url to a remote file.
|
||||
|
||||
|
||||
==============================================================================
|
||||
8. Variables and Options *netrw-var* *netrw-settings* {{{1
|
||||
8. Variables and Options *netrw-var* *netrw-settings* {{{1
|
||||
|
||||
(also see: |netrw-options| |netrw-variables| |netrw-protocol|
|
||||
|netrw-browser-settings| |netrw-browser-options| )
|
||||
@@ -794,7 +797,7 @@ set in the user's <.vimrc> file: (see also |netrw-settings| |netrw-protocol|)
|
||||
=1 use default method to do ftp >
|
||||
-----------------------------------------------------------------------
|
||||
<
|
||||
*netrw-internal-variables*
|
||||
*netrw-internal-variables*
|
||||
The script will also make use of the following variables internally, albeit
|
||||
temporarily.
|
||||
>
|
||||
@@ -1041,8 +1044,8 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
||||
<del> Netrw will attempt to remove the file/directory |netrw-del|
|
||||
- Makes Netrw go up one directory |netrw--|
|
||||
a Toggles between normal display, |netrw-a|
|
||||
hiding (suppress display of files matching g:netrw_list_hide)
|
||||
showing (display only files which match g:netrw_list_hide)
|
||||
hiding (suppress display of files matching g:netrw_list_hide)
|
||||
showing (display only files which match g:netrw_list_hide)
|
||||
c Make browsing directory the current directory |netrw-c|
|
||||
C Setting the editing window |netrw-C|
|
||||
d Make a directory |netrw-d|
|
||||
@@ -1067,7 +1070,7 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
||||
mx Apply arbitrary shell command to marked files |netrw-mx|
|
||||
mz Compress/decompress marked files |netrw-mz|
|
||||
o Enter the file/directory under the cursor in a new |netrw-o|
|
||||
browser window. A horizontal split is used.
|
||||
browser window. A horizontal split is used.
|
||||
O Obtain a file specified by cursor |netrw-O|
|
||||
p Preview the file |netrw-p|
|
||||
P Browse in the previously used window |netrw-P|
|
||||
@@ -1081,7 +1084,7 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
||||
u Change to recently-visited directory |netrw-u|
|
||||
U Change to subsequently-visited directory |netrw-U|
|
||||
v Enter the file/directory under the cursor in a new |netrw-v|
|
||||
browser window. A vertical split is used.
|
||||
browser window. A vertical split is used.
|
||||
x View file with an associated program |netrw-x|
|
||||
X Execute filename under cursor via |system()| |netrw-X|
|
||||
|
||||
@@ -1095,9 +1098,9 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
||||
<rightmouse> (gvim only) delete file/directory using word under
|
||||
mouse
|
||||
<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>
|
||||
* 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,
|
||||
then a double clicked leftmouse button will return
|
||||
to the netrw browser window. See |g:netrw_retmap|.
|
||||
@@ -1179,6 +1182,12 @@ are introduced into a directory), the listing may become out-of-date. One may
|
||||
always refresh directory listing buffers by pressing ctrl-L (see
|
||||
|netrw-ctrl-l|).
|
||||
|
||||
*:netrw-s-cr*
|
||||
Squeezing the Current Tree-Listing Directory~
|
||||
When the tree listing style is enabled (see |netrw-i|) and one is using
|
||||
gvim, then the <s-cr> mapping may be used to squeeze (close) the
|
||||
directory currently containing the cursor.
|
||||
|
||||
|
||||
Related topics: |netrw-o| |netrw-p| |netrw-P| |netrw-t| |netrw-v|
|
||||
Associated setting variables: |g:netrw_browse_split| |g:netrw_fastbrowse|
|
||||
@@ -1227,9 +1236,7 @@ cursor at the left.
|
||||
There is only one tree listing buffer; using "v" on a displayed subdirectory
|
||||
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-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
|
||||
@@ -1251,11 +1258,12 @@ The wide listing format uses two or more contiguous spaces to delineate
|
||||
filenames; when using that format, netrw won't be able to recognize or use
|
||||
filenames which have two or more contiguous spaces embedded in the name or any
|
||||
trailing spaces. The thin listing format will, however, work with such files.
|
||||
This listing format is the most compact.
|
||||
The wide listing format is the most compact.
|
||||
|
||||
The tree listing format has a top directory followed by files and directories
|
||||
preceded by a "|". One may open and close directories by pressing the <cr>
|
||||
key while atop the directory name.
|
||||
preceded by one or more "|"s, which indicate the directory depth. One may
|
||||
open and close directories by pressing the <cr> key while atop the directory
|
||||
name.
|
||||
|
||||
One may make a preferred listing style your default; see |g:netrw_liststyle|.
|
||||
As an example, by putting the following line in your .vimrc, >
|
||||
@@ -1455,8 +1463,16 @@ If files have been marked with |netrw-mf|: (local marked file list)
|
||||
Marked files (and empty directories) will be deleted; again, you'll be
|
||||
asked to confirm the deletion before it actually takes place.
|
||||
|
||||
A further approach is to delete files which match a pattern.
|
||||
|
||||
* use :MF pattern (see |netrw-:MF|); then press "D".
|
||||
|
||||
* use mr (see |netrw-mr|) which will prompt you for pattern.
|
||||
This will cause the matching files to be marked. Then,
|
||||
press "D".
|
||||
|
||||
The |g:netrw_rm_cmd|, |g:netrw_rmf_cmd|, and |g:netrw_rmdir_cmd| variables are
|
||||
used to control the attempts to remove files and directories. The
|
||||
used to control the attempts to remove remote files and directories. The
|
||||
g:netrw_rm_cmd is used with files, and its default value is:
|
||||
|
||||
g:netrw_rm_cmd: ssh HOSTNAME rm
|
||||
@@ -1464,12 +1480,12 @@ g:netrw_rm_cmd is used with files, and its default value is:
|
||||
The g:netrw_rmdir_cmd variable is used to support the removal of directories.
|
||||
Its default value is:
|
||||
|
||||
g:netrw_rmdir_cmd: ssh HOSTNAME rmdir
|
||||
|g:netrw_rmdir_cmd|: ssh HOSTNAME rmdir
|
||||
|
||||
If removing a directory fails with g:netrw_rmdir_cmd, netrw then will attempt
|
||||
to remove it again using the g:netrw_rmf_cmd variable. Its default value is:
|
||||
|
||||
g:netrw_rmf_cmd: ssh HOSTNAME rm -f
|
||||
|g:netrw_rmf_cmd|: ssh HOSTNAME rm -f
|
||||
|
||||
Related topics: |netrw-d|
|
||||
Associated setting variable: |g:netrw_localrmdir| |g:netrw_rm_cmd|
|
||||
@@ -1482,7 +1498,7 @@ DIRECTORY EXPLORATION COMMANDS {{{2
|
||||
|
||||
:[N]Explore[!] [dir]... Explore directory of current file *:Explore*
|
||||
:[N]Hexplore[!] [dir]... Horizontal Split & Explore *:Hexplore*
|
||||
:Rexplore ... Return to Explorer *:Rexplore*
|
||||
:Rexplore ... Return to/from Explorer *:Rexplore*
|
||||
:[N]Sexplore[!] [dir]... Split&Explore current file's directory *:Sexplore*
|
||||
:Texplore [dir]... Tab & Explore *:Texplore*
|
||||
:[N]Vexplore[!] [dir]... Vertical Split & Explore *:Vexplore*
|
||||
@@ -1492,23 +1508,36 @@ DIRECTORY EXPLORATION COMMANDS {{{2
|
||||
:Nexplore............. go to next matching file *:Nexplore*
|
||||
:Pexplore............. go to previous matching file *:Pexplore*
|
||||
|
||||
*netrw-:Explore*
|
||||
:Explore will open the local-directory browser on the current file's
|
||||
directory (or on directory [dir] if specified). The window will be
|
||||
split only if the file has been modified, otherwise the browsing
|
||||
window will take over that window. Normally the splitting is taken
|
||||
horizontally.
|
||||
Also see: |netrw-:Rexplore|
|
||||
:Explore! is like :Explore, but will use vertical splitting.
|
||||
*netrw-:Lexplore*
|
||||
:Lexplore [dir] toggles an Explorer window on the left hand side
|
||||
of the current tab It will open a netrw window on the current
|
||||
directory if [dir] is omitted.
|
||||
directory if [dir] is omitted; a :Lexplore [dir] will show
|
||||
the specified directory in the left-hand side browser display
|
||||
no matter from which window the command is issued. By default,
|
||||
:Lexplore will change an uninitialized |g:netrw_chgwin| to 2;
|
||||
edits will thus be preferentially made in window#2.
|
||||
Also see: |netrw-C|| |g:netrw_chgwin| |g:netrw_winsize|
|
||||
|netrw-p| |netrw-P|| |g:netrw_browse_split|
|
||||
*netrw-:Sexplore*
|
||||
:Sexplore will always split the window before invoking the local-directory
|
||||
browser. As with Explore, the splitting is normally done
|
||||
horizontally.
|
||||
:Sexplore! [dir] is like :Sexplore, but the splitting will be done vertically.
|
||||
*netrw-:Hexplore*
|
||||
:Hexplore [dir] does an :Explore with |:belowright| horizontal splitting.
|
||||
:Hexplore! [dir] does an :Explore with |:aboveleft| horizontal splitting.
|
||||
*netrw-:Vexplore*
|
||||
:Vexplore [dir] does an :Explore with |:leftabove| vertical splitting.
|
||||
:Vexplore! [dir] does an :Explore with |:rightbelow| vertical splitting.
|
||||
*netrw-:Texplore*
|
||||
:Texplore [dir] does a |:tabnew| before generating the browser window
|
||||
|
||||
By default, these commands use the current file's directory. However, one may
|
||||
@@ -1521,12 +1550,23 @@ Otherwise, the |g:netrw_winsize| variable, if it has been specified by the
|
||||
user, is used to control the quantity of rows and/or columns new explorer
|
||||
windows should have.
|
||||
|
||||
:Rexplore This command is a little different from the others. When one
|
||||
edits a file, for example by pressing <cr> when atop a file in
|
||||
a netrw browser window, :Rexplore will return the display to
|
||||
that of the last netrw browser window. It is a command version
|
||||
of the <2-leftmouse> map (which is only available under gvim and
|
||||
cooperative terms).
|
||||
*netrw-:Rexplore*
|
||||
:Rexplore This command is a little different from the others as it doesn't
|
||||
necessarily open an Explorer window.
|
||||
|
||||
Return to Explorer~
|
||||
When one edits a file, for example by pressing <cr> when the
|
||||
cursor is atop a file in a netrw browser window, :Rexplore will
|
||||
return the display to that of the last netrw browser display
|
||||
in that window.
|
||||
|
||||
Return from Explorer~
|
||||
Conversely, when one is editing a directory, issuing a :Rexplore
|
||||
will return to editing the file that was last edited in that
|
||||
window.
|
||||
|
||||
The <2-leftmouse> map (which is only available under gvim and
|
||||
cooperative terms) does the same as :Rexplore.
|
||||
|
||||
Also see: |g:netrw_alto| |g:netrw_altv| |g:netrw_winsize|
|
||||
|
||||
@@ -1572,11 +1612,12 @@ As an example, consider
|
||||
The status line will show, on the right hand side of the status line, a
|
||||
message like "Match 3 of 20".
|
||||
|
||||
Associated setting variables: |g:netrw_keepdir| |g:netrw_browse_split|
|
||||
|g:netrw_fastbrowse| |g:netrw_ftp_browse_reject|
|
||||
|g:netrw_ftp_list_cmd| |g:netrw_ftp_sizelist_cmd|
|
||||
|g:netrw_ftp_timelist_cmd| |g:netrw_list_cmd|
|
||||
|g:netrw_liststyle|
|
||||
Associated setting variables:
|
||||
|g:netrw_keepdir| |g:netrw_browse_split|
|
||||
|g:netrw_fastbrowse| |g:netrw_ftp_browse_reject|
|
||||
|g:netrw_ftp_list_cmd| |g:netrw_ftp_sizelist_cmd|
|
||||
|g:netrw_ftp_timelist_cmd| |g:netrw_list_cmd|
|
||||
|g:netrw_liststyle|
|
||||
|
||||
|
||||
DISPLAYING INFORMATION ABOUT FILE *netrw-qf* {{{2
|
||||
@@ -1666,10 +1707,10 @@ entry in the listing.
|
||||
|
||||
Netrw will use the command in |g:netrw_list_cmd| to perform the directory
|
||||
listing operation after changing HOSTNAME to the host specified by the
|
||||
user-provided url. By default netrw provides the command as:
|
||||
user-prpvided url. By default netrw provides the command as: >
|
||||
|
||||
ssh HOSTNAME ls -FLa
|
||||
|
||||
<
|
||||
where the HOSTNAME becomes the [user@]hostname as requested by the attempt to
|
||||
read. Naturally, the user may override this command with whatever is
|
||||
preferred. The NetList function which implements remote browsing
|
||||
@@ -1882,12 +1923,29 @@ directory.
|
||||
|
||||
Associated setting variable: |g:netrw_keepdir|
|
||||
|
||||
MARKING FILES *netrw-mf* {{{2
|
||||
MARKING FILES *netrw-:MF* *netrw-mf* {{{2
|
||||
(also see |netrw-mr|)
|
||||
|
||||
One may mark files with the cursor atop a filename and then pressing "mf".
|
||||
With gvim, one may also mark files with <s-leftmouse>. The following netrw
|
||||
maps make use of marked files:
|
||||
Netrw has several ways of marking files:
|
||||
|
||||
* One may mark files with the cursor atop a filename and
|
||||
then pressing "mf".
|
||||
|
||||
* With gvim, in addition one may mark files with
|
||||
<s-leftmouse>. (see |netrw-mouse|)
|
||||
|
||||
* One may use the :MF command, which takes a list of
|
||||
files (for local directories, the list may include
|
||||
wildcards -- see |glob()|) >
|
||||
|
||||
:MF *.c
|
||||
<
|
||||
* Note that :MF uses |<f-args>| to break the line
|
||||
at spaces.
|
||||
|
||||
* Mark files based upon the quickfix list (|netrw-qF|)
|
||||
|
||||
The following netrw maps make use of marked files:
|
||||
|
||||
|netrw-a| Hide marked files/directories
|
||||
|netrw-D| Delete marked files/directories
|
||||
@@ -1896,13 +1954,12 @@ maps make use of 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-mm| Move marked files to target
|
||||
|netrw-mp| Print marked files
|
||||
|netrw-mt| Set target for |netrw-mm| and |netrw-mc|
|
||||
|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
|
||||
|
||||
@@ -1933,6 +1990,12 @@ means that each directory has its own local marked file list. The various
|
||||
commands which operate on marked files use one or the other of the marked file
|
||||
lists.
|
||||
|
||||
Known Problem: if one is using tree mode (|g:netrw_liststyle|) and several
|
||||
directories have files with the same name, then marking such a file will
|
||||
result in all such files being highlighted as if they were all marked. The
|
||||
|markfilelist|, however, will only have the selected file in it. This problem
|
||||
is unlikely to be fixed.
|
||||
|
||||
|
||||
UNMARKING FILES *netrw-mF* {{{2
|
||||
(also see |netrw-mf|)
|
||||
@@ -2090,6 +2153,10 @@ Set the marked file copy/move-to target (see |netrw-mc| and |netrw-mm|):
|
||||
* However, if the cursor is atop a directory name, then that directory is
|
||||
used for the copy/move-to target
|
||||
|
||||
* One may use the :MT [directory] command to set the target *netrw-:MT*
|
||||
This command uses |<q-args>|, so spaces in the directory name are
|
||||
permitted without escaping.
|
||||
|
||||
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).
|
||||
@@ -2120,9 +2187,9 @@ http://www.drchip.org/astronaut/src/index.html , and have >
|
||||
in my <.vimrc>.
|
||||
|
||||
When a remote set of files are tagged, the resulting tags file is "obtained";
|
||||
ie. a copy is transferred to the local system's directory. The local tags
|
||||
ie. a copy is transferred to the local system's directory. The now local tags
|
||||
file is then modified so that one may use it through the network. The
|
||||
modification is concerns the names of the files in the tags; each filename is
|
||||
modification made concerns the names of the files in the tags; each filename is
|
||||
preceded by the netrw-compatible url used to obtain it. When one subsequently
|
||||
uses one of the go to tag actions (|tags|), the url will be used by netrw to
|
||||
edit the desired file and go to the tag.
|
||||
@@ -2131,34 +2198,38 @@ Associated setting variables: |g:netrw_ctags| |g:netrw_ssh_cmd|
|
||||
|
||||
MARKED FILES: TARGET DIRECTORY USING BOOKMARKS *netrw-Tb* {{{2
|
||||
|
||||
Sets the marked file copy/move-to target (see |netrw-mc| and |netrw-mm|).
|
||||
Sets the marked file copy/move-to target.
|
||||
|
||||
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).
|
||||
|
||||
Related topics:
|
||||
Copying files to target............................|netrw-mc|
|
||||
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|
|
||||
Moving files to target.............................|netrw-mm|
|
||||
|
||||
|
||||
MARKED FILES: TARGET DIRECTORY USING HISTORY *netrw-Th* {{{2
|
||||
|
||||
Sets the marked file copy/move-to target (see |netrw-mc| and |netrw-mm|).
|
||||
Sets the marked file copy/move-to target.
|
||||
|
||||
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:
|
||||
Copying files to target............................|netrw-mc|
|
||||
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|
|
||||
Moving files to target.............................|netrw-mm|
|
||||
|
||||
|
||||
MARKED FILES: UNMARKING *netrw-mu* {{{2
|
||||
@@ -2282,6 +2353,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
*g:netrw_dynamic_maxfilenamelen* =32: enables dynamic determination of
|
||||
|g:netrw_maxfilenamelen|, which affects
|
||||
local file long listing.
|
||||
|
||||
*g:netrw_errorlvl* =0: error levels greater than or equal to
|
||||
this are permitted to be displayed
|
||||
0: notes
|
||||
@@ -2289,7 +2361,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
2: errors
|
||||
|
||||
*g:netrw_fastbrowse* =0: slow speed directory browsing;
|
||||
never re-uses directory listings,
|
||||
never re-uses directory listings;
|
||||
always obtains directory listings.
|
||||
=1: medium speed directory browsing;
|
||||
re-use directory listings only
|
||||
@@ -2312,6 +2384,11 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
trading off accuracy (ie. up-to-date listing)
|
||||
versus speed.
|
||||
|
||||
*g:netrw_ffkeep* (default: doesn't exist)
|
||||
If this variable exists and is zero, then
|
||||
netrw will not do a save and restore for
|
||||
|'fileformat'|.
|
||||
|
||||
*g:netrw_fname_escape* =' ?&;%'
|
||||
Used on filenames before remote reading/writing
|
||||
|
||||
@@ -2434,7 +2511,7 @@ 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 remote directory
|
||||
via ftp (also see |g:netrw_mkdir_cmd|)
|
||||
default: "mkdir"
|
||||
|
||||
@@ -2457,13 +2534,13 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
|
||||
default: =0
|
||||
|
||||
*g:netrw_rm_cmd* command for removing files
|
||||
*g:netrw_rm_cmd* command for removing remote files
|
||||
default: "ssh USEPORT HOSTNAME rm"
|
||||
|
||||
*g:netrw_rmdir_cmd* command for removing directories
|
||||
*g:netrw_rmdir_cmd* command for removing remote directories
|
||||
default: "ssh USEPORT HOSTNAME rmdir"
|
||||
|
||||
*g:netrw_rmf_cmd* command for removing softlinks
|
||||
*g:netrw_rmf_cmd* command for removing remote softlinks
|
||||
default: "ssh USEPORT HOSTNAME rm -f"
|
||||
|
||||
*g:netrw_sort_by* sort by "name", "time", or "size"
|
||||
@@ -2482,7 +2559,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
|
||||
*g:netrw_sort_sequence* when sorting by name, first sort by the
|
||||
comma-separated pattern sequence. Note that
|
||||
the filigree added to indicate filetypes
|
||||
any filigree added to indicate filetypes
|
||||
should be accounted for in your pattern.
|
||||
default: '[\/]$,*,\.bak$,\.o$,\.h$,
|
||||
\.info$,\.swp$,\.obj$'
|
||||
@@ -2498,7 +2575,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
netrwMakefile: [mM]akefile *.mak
|
||||
netrwObj : *.o *.obj
|
||||
netrwTags : tags ANmenu ANtags
|
||||
netrwTilde : *~
|
||||
netrwTilde : *
|
||||
netrwTmp : tmp* *tmp
|
||||
|
||||
These syntax highlighting groups are linked
|
||||
@@ -2507,8 +2584,27 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
one may put lines like >
|
||||
hi link netrwCompress Visual
|
||||
< into one's <.vimrc> to use one's own
|
||||
preferences.
|
||||
preferences. Alternatively, one may
|
||||
put such specifications into
|
||||
.vim/after/syntax/netrw.vim.
|
||||
|
||||
As an example, I myself use a dark-background
|
||||
colorscheme with the following in
|
||||
.vim/after/syntax/netrw.vim: >
|
||||
|
||||
hi netrwCompress term=NONE cterm=NONE gui=NONE ctermfg=10 guifg=green ctermbg=0 guibg=black
|
||||
hi netrwData term=NONE cterm=NONE gui=NONE ctermfg=9 guifg=blue ctermbg=0 guibg=black
|
||||
hi netrwHdr term=NONE cterm=NONE,italic gui=NONE guifg=SeaGreen1
|
||||
hi netrwLex term=NONE cterm=NONE,italic gui=NONE guifg=SeaGreen1
|
||||
hi netrwYacc term=NONE cterm=NONE,italic gui=NONE guifg=SeaGreen1
|
||||
hi netrwLib term=NONE cterm=NONE gui=NONE ctermfg=14 guifg=yellow
|
||||
hi netrwObj term=NONE cterm=NONE gui=NONE ctermfg=12 guifg=red
|
||||
hi netrwTilde term=NONE cterm=NONE gui=NONE ctermfg=12 guifg=red
|
||||
hi netrwTmp term=NONE cterm=NONE gui=NONE ctermfg=12 guifg=red
|
||||
hi netrwTags term=NONE cterm=NONE gui=NONE ctermfg=12 guifg=red
|
||||
hi netrwDoc term=NONE cterm=NONE gui=NONE ctermfg=220 ctermbg=27 guifg=yellow2 guibg=Blue3
|
||||
hi netrwSymLink term=NONE cterm=NONE gui=NONE ctermfg=220 ctermbg=27 guifg=grey60
|
||||
<
|
||||
*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".
|
||||
@@ -2543,6 +2639,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
ml_get errors, try putting
|
||||
let g:netrw_use_noswf= 0
|
||||
in your .vimrc.
|
||||
default: 1
|
||||
|
||||
*g:netrw_winsize* specify initial size of new windows made with
|
||||
"o" (see |netrw-o|), "v" (see |netrw-v|),
|
||||
@@ -2553,6 +2650,9 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
If g:netrw_winsize is less than zero, then
|
||||
the absolute value of g:netrw_winsize lines
|
||||
or columns will be used for the new window.
|
||||
If g:netrw_winsize is zero, then a normal
|
||||
split will be made (ie. |'equalalways'| will
|
||||
take effect, for example).
|
||||
default: 50 (for 50%)
|
||||
|
||||
*g:netrw_xstrlen* Controls how netrw computes string lengths,
|
||||
@@ -2582,7 +2682,7 @@ Netrw has been designed to handle user options by saving them, setting the
|
||||
options to something that's compatible with netrw's needs, and then restoring
|
||||
them. However, the autochdir option: >
|
||||
:set acd
|
||||
is problematical. Autochdir sets the current directory to that containing the
|
||||
is problematic. Autochdir sets the current directory to that containing the
|
||||
file you edit; this apparently also applies to directories. In other words,
|
||||
autochdir sets the current directory to that containing the "file" (even if
|
||||
that "file" is itself a directory).
|
||||
@@ -2633,9 +2733,9 @@ Related topics:
|
||||
*netrw-createfile*
|
||||
OPEN A NEW FILE IN NETRW'S CURRENT DIRECTORY *netrw-%*
|
||||
|
||||
To open a file in netrw's current directory, press "%". This map will
|
||||
query the user for a new filename; an empty file by that name will be
|
||||
placed in the netrw's current directory (ie. b:netrw_curdir).
|
||||
To open a new file in netrw's current directory, press "%". This map
|
||||
will query the user for a new filename; an empty file by that name will
|
||||
be placed in the netrw's current directory (ie. b:netrw_curdir).
|
||||
|
||||
Related topics: |netrw-d|
|
||||
|
||||
@@ -2661,6 +2761,9 @@ These will:
|
||||
will use only 30% of the columns available; the rest of the window
|
||||
is used for the preview window.
|
||||
|
||||
Also see: |g:netrw_chgwin| |netrw-P|
|
||||
|
||||
|
||||
PREVIOUS WINDOW *netrw-P* *netrw-prvwin* {{{2
|
||||
|
||||
To edit a file or directory in the previously used (last accessed) window (see
|
||||
@@ -2680,6 +2783,8 @@ Associated setting variables:
|
||||
|g:netrw_preview| control horizontal vs vertical splitting
|
||||
|g:netrw_winsize| control initial sizing
|
||||
|
||||
Also see: |g:netrw_chgwin| |netrw-p|
|
||||
|
||||
|
||||
REFRESHING THE LISTING *netrw-ctrl-l* *netrw-ctrl_l* {{{2
|
||||
|
||||
@@ -2717,6 +2822,7 @@ If there are marked files: (see |netrw-mf|)
|
||||
Note that moving files is a dangerous operation; copies are safer. That's
|
||||
because a "move" for remote files is actually a copy + delete -- and if
|
||||
the copy fails and the delete does not, you may lose the file.
|
||||
Use at your own risk.
|
||||
|
||||
The g:netrw_rename_cmd variable is used to implement renaming. By default its
|
||||
value is:
|
||||
@@ -2743,6 +2849,15 @@ One may select a netrw window for editing with the "C" mapping, or by setting
|
||||
g:netrw_chgwin to the selected window number. Subsequent selection of a file
|
||||
to edit (|netrw-cr|) will use that window.
|
||||
|
||||
* C by itself, will select the current window for editing via
|
||||
|netrw-cr|
|
||||
|
||||
* [count]C the count will be used as the window number to be used
|
||||
for editing via |netrw-cr|.
|
||||
Using >
|
||||
let g:netrw_chgwin= -1
|
||||
will restore the default editing behavior (ie. use the current window).
|
||||
|
||||
Related topics: |netrw-cr| |g:netrw_browse_split|
|
||||
Associated setting variables: |g:netrw_chgwin|
|
||||
|
||||
@@ -2830,7 +2945,7 @@ Associated setting variables: |g:netrw_chgwin|
|
||||
|
||||
(taken from an answer provided by Wu Yongwei on the vim
|
||||
mailing list)
|
||||
I now see the problem. You code page is not 936, right? Vim
|
||||
I now see the problem. Your code page is not 936, right? Vim
|
||||
seems only able to open files with names that are valid in the
|
||||
current code page, as are many other applications that do not
|
||||
use the Unicode version of Windows APIs. This is an OS-related
|
||||
@@ -3031,6 +3146,15 @@ Associated setting variables: |g:netrw_chgwin|
|
||||
all netrw's mouse mappings, not just the <leftmouse> one.
|
||||
(see |g:netrw_mousemaps|)
|
||||
|
||||
*netrw-p16*
|
||||
P16. When editing remote files (ex. :e ftp://hostname/path/file),
|
||||
under Windows I get an |E303| message complaining that its unable
|
||||
to open a swap file.
|
||||
|
||||
(romainl) It looks like you are starting Vim from a protected
|
||||
directory. Start if from your $HOME or another writable
|
||||
directory.
|
||||
|
||||
==============================================================================
|
||||
11. Debugging Netrw Itself *netrw-debug* {{{1
|
||||
|
||||
@@ -3038,9 +3162,6 @@ The <netrw.vim> script is typically available as something like:
|
||||
>
|
||||
/usr/local/share/vim/vim7x/plugin/netrwPlugin.vim
|
||||
/usr/local/share/vim/vim7x/autoload/netrw.vim
|
||||
< -or- >
|
||||
/usr/local/share/vim/vim6x/plugin/netrwPlugin.vim
|
||||
/usr/local/share/vim/vim6x/autoload/netrw.vim
|
||||
<
|
||||
which is loaded automatically at startup (assuming :set nocp).
|
||||
|
||||
@@ -3050,9 +3171,7 @@ which is loaded automatically at startup (assuming :set nocp).
|
||||
or
|
||||
http://vim.sourceforge.net/scripts/script.php?script_id=120
|
||||
|
||||
It now comes as a "vimball"; if you're using vim 7.0 or earlier,
|
||||
you'll need to update vimball, too. See
|
||||
http://www.drchip.org/astronaut/vim/index.html#VIMBALL
|
||||
Decho.vim is provided as a "vimball"; see |vimball-intro|.
|
||||
|
||||
2. Edit the <netrw.vim> file by typing: >
|
||||
|
||||
@@ -3082,24 +3201,99 @@ which is loaded automatically at startup (assuming :set nocp).
|
||||
:w! DBG
|
||||
|
||||
< Furthermore, it'd be helpful if you would type >
|
||||
:Dsep
|
||||
< after each command you issue, thereby making it easier to
|
||||
associate which part of the debugging trace is due to which
|
||||
command.
|
||||
:Dsep <command>
|
||||
< where <command> is the command you're about to type next,
|
||||
thereby making it easier to associate which part of the
|
||||
debugging trace is due to which command.
|
||||
|
||||
Please send that information to <netrw.vim>'s maintainer, >
|
||||
Please send that information to <netrw.vim>'s maintainer along
|
||||
with the o/s you're using and vim version you're using
|
||||
(see |:version|) >
|
||||
NdrOchip at ScampbellPfamily.AbizM - NOSPAM
|
||||
<
|
||||
==============================================================================
|
||||
12. History *netrw-history* {{{1
|
||||
|
||||
v152: Apr 08, 2014 * uses the |'noswapfile'| option (requires
|
||||
vim 7.4 with patch 213)
|
||||
* (Enno Nagel) turn |'rnu'| off in netrw
|
||||
buffers.
|
||||
* (Quinn Strahl) suggested that netrw
|
||||
allow regular window splitting to occur,
|
||||
thereby allowing |'equalalways'| to take
|
||||
effect.
|
||||
* (qingtian zhao) normally, netrw will
|
||||
save and restore the |'fileformat'|;
|
||||
however, sometimes that isn't wanted
|
||||
Apr 14, 2014 * whenever netrw marks a buffer as ro,
|
||||
it will also mark it as nomod.
|
||||
Apr 16, 2014 * sftp protocol now supported by
|
||||
netrw#Obtain(); this means that one
|
||||
may use "mc" to copy a remote file
|
||||
to a local file using sftp, and that
|
||||
the |netrw-O| command can obtain remote
|
||||
files via sftp.
|
||||
* added [count]C support (see |netrw-C|)
|
||||
Apr 18, 2014 * when |g:netrw_chgwin| is one more than
|
||||
the last window, then vertically split
|
||||
the last window and use it as the
|
||||
chgwin window.
|
||||
May 09, 2014 * SavePosn was "saving filename under cursor"
|
||||
from a non-netrw window when using :Rex.
|
||||
v151: Jan 22, 2014 * extended :Rexplore to return to buffer
|
||||
prior to Explore or editing a directory
|
||||
* (Ken Takata) netrw gave error when
|
||||
clipboard was disabled. Sol'n: Placed
|
||||
several if has("clipboard") tests in.
|
||||
* Fixed ftp://X@Y@Z// problem; X@Y now
|
||||
part of user id, and only Z is part of
|
||||
hostname.
|
||||
* (A Loumiotis) reported that completion
|
||||
using a directory name containing spaces
|
||||
did not work. Fixed with a retry in
|
||||
netrw#Explore() which removes the
|
||||
backslashes vim inserted.
|
||||
Feb 26, 2014 * :Rexplore now records the current file
|
||||
using w:netrw_rexfile when returning via
|
||||
|:Rexplore|
|
||||
Mar 08, 2014 * (David Kotchan) provided some patches
|
||||
allowing netrw to work properly with
|
||||
windows shares.
|
||||
* Multiple one-liner help messages available
|
||||
by pressing <cr> while atop the "Quick
|
||||
Help" line
|
||||
* worked on ShellCmdPost, FocusGained event
|
||||
handling.
|
||||
* |:Lexplore| path: will be used to update
|
||||
a left-side netrw browsing directory.
|
||||
Mar 12, 2014 * |:netrw-s-cr|: use <s-cr> to close
|
||||
tree directory implemented
|
||||
Mar 13, 2014 * (Tony Mechylynck) reported that using
|
||||
the browser with ftp on a directory,
|
||||
and selecting a gzipped txt file, that
|
||||
an E19 occurred (which was issued by
|
||||
gzip.vim). Fixed.
|
||||
Mar 14, 2014 * Implemented :MF and :MT (see |netrw-:MF|
|
||||
and |netrw-:MT|, respectively)
|
||||
Mar 17, 2014 * |:Ntree| [dir] wasn't working properly; fixed
|
||||
Mar 18, 2014 * Changed all uses of set to setl
|
||||
Mar 18, 2014 * Commented the netrw_btkeep line in
|
||||
s:NetrwOptionSave(); the effect is that
|
||||
netrw buffers will remain as |'bt'|=nofile.
|
||||
This should prevent swapfiles being created
|
||||
for netrw buffers.
|
||||
Mar 20, 2014 * Changed all uses of lcd to use s:NetrwLcd()
|
||||
instead. Consistent error handling results
|
||||
and it also handles Window's shares
|
||||
* Fixed |netrw-d| command when applied with ftp
|
||||
* https: support included for netrw#NetRead()
|
||||
v150: Jul 12, 2013 * removed a "keepalt" to allow ":e #" to
|
||||
return to the netrw directory listing
|
||||
Jul 13, 2013 * (Jonas Diemer) suggested changing
|
||||
a <cWORD> to <cfile>.
|
||||
Jul 21, 2013 * (Yuri Kanivetsky) reported that netrw's
|
||||
use of mkdir did not produce directories
|
||||
following umask.
|
||||
following the user's umask.
|
||||
Aug 27, 2013 * introduced |g:netrw_altfile| option
|
||||
Sep 05, 2013 * s:Strlen() now uses |strdisplaywidth()|
|
||||
when available, by default
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 7.4. Last change: 2013 Aug 03
|
||||
*quickfix.txt* For Vim version 7.4. Last change: 2014 Mar 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -202,8 +202,8 @@ command with 'l'.
|
||||
the current window is used instead of the quickfix
|
||||
list.
|
||||
|
||||
*:caddb* *:caddbuffer*
|
||||
:caddb[uffer] [bufnr] Read the error list from the current buffer and add
|
||||
*:cad* *:caddbuffer*
|
||||
:cad[dbuffer] [bufnr] Read the error list from the current buffer and add
|
||||
the errors to the current quickfix list. If a
|
||||
quickfix list is not present, then a new list is
|
||||
created. Otherwise, same as ":cbuffer".
|
||||
@@ -240,8 +240,8 @@ command with 'l'.
|
||||
:lgete[xpr] {expr} Same as |:cgetexpr|, except the location list for the
|
||||
current window is used instead of the quickfix list.
|
||||
|
||||
*:cad* *:caddexpr*
|
||||
:cad[dexpr] {expr} Evaluate {expr} and add the resulting lines to the
|
||||
*:cadde* *:caddexpr*
|
||||
:cadde[xpr] {expr} Evaluate {expr} and add the resulting lines to the
|
||||
current quickfix list. If a quickfix list is not
|
||||
present, then a new list is created. The current
|
||||
cursor position will not be changed. See |:cexpr| for
|
||||
@@ -304,18 +304,23 @@ use this code: >
|
||||
|
||||
*:cope* *:copen* *w:quickfix_title*
|
||||
:cope[n] [height] Open a window to show the current list of errors.
|
||||
|
||||
When [height] is given, the window becomes that high
|
||||
(if there is room). Otherwise the window is made ten
|
||||
lines high.
|
||||
The window will contain a special buffer, with
|
||||
'buftype' equal to "quickfix". Don't change this!
|
||||
(if there is room). When [height] is omitted the
|
||||
window is made ten lines high.
|
||||
|
||||
If there already is a quickfix window, it will be made
|
||||
the current window. It is not possible to open a
|
||||
second quickfix window. The window will have the
|
||||
w:quickfix_title variable set which will indicate the
|
||||
command that produced the quickfix list. This can be
|
||||
used to compose a custom status line if the value of
|
||||
'statusline' is adjusted properly.
|
||||
second quickfix window. If [height] is given the
|
||||
existing window will be resized to it.
|
||||
|
||||
The window will contain a special buffer, with
|
||||
'buftype' equal to "quickfix". Don't change this!
|
||||
The window will have the w:quickfix_title variable set
|
||||
which will indicate the command that produced the
|
||||
quickfix list. This can be used to compose a custom
|
||||
status line if the value of 'statusline' is adjusted
|
||||
properly.
|
||||
|
||||
*:lop* *:lopen*
|
||||
:lop[en] [height] Open a window to show the location list for the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 7.4. Last change: 2013 Jun 29
|
||||
*quickref.txt* For Vim version 7.4. Last change: 2014 Nov 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -624,6 +624,8 @@ Short explanation of each option: *option-list*
|
||||
'bioskey' 'biosk' MS-DOS: use bios calls for input characters
|
||||
'bomb' prepend a Byte Order Mark to the file
|
||||
'breakat' 'brk' characters that may cause a line break
|
||||
'breakindent' 'bri' wrapped line repeats indent
|
||||
'breakindentopt' 'briopt' settings for 'breakindent'
|
||||
'browsedir' 'bsdir' which directory to start browsing in
|
||||
'bufhidden' 'bh' what to do when buffer is no longer in window
|
||||
'buflisted' 'bl' whether the buffer shows up in the buffer list
|
||||
@@ -762,6 +764,7 @@ Short explanation of each option: *option-list*
|
||||
'keywordprg' 'kp' program to use for the "K" command
|
||||
'langmap' 'lmap' alphabetic characters for other language mode
|
||||
'langmenu' 'lm' language to be used for the menus
|
||||
'langnoremap' 'lnr' do not apply 'langmap' to mapped characters
|
||||
'laststatus' 'ls' tells when last window has status lines
|
||||
'lazyredraw' 'lz' don't redraw while executing macros
|
||||
'linebreak' 'lbr' wrap long lines at a blank
|
||||
@@ -829,6 +832,7 @@ Short explanation of each option: *option-list*
|
||||
'regexpengine' 're' default regexp engine to use
|
||||
'relativenumber' 'rnu' show relative line number in front of each line
|
||||
'remap' allow mappings to work recursively
|
||||
'renderoptions' 'rop' options for text rendering on Windows
|
||||
'report' threshold for reporting nr. of lines changed
|
||||
'restorescreen' 'rs' Win32: restore screen when exiting
|
||||
'revins' 'ri' inserting characters will work backwards
|
||||
@@ -1310,11 +1314,16 @@ Context-sensitive completion on the command-line:
|
||||
|CTRL-W_R| CTRL-W R rotate windows upwards
|
||||
|CTRL-W_x| CTRL-W x exchange current window with next one
|
||||
|
||||
|CTRL-W_=| CTRL-W = make all windows equal height
|
||||
|CTRL-W_=| CTRL-W = make all windows equal height & width
|
||||
|CTRL-W_-| CTRL-W - decrease current window height
|
||||
|CTRL-W_+| CTRL-W + increase current window height
|
||||
|CTRL-W__| CTRL-W _ set current window height (default:
|
||||
very high)
|
||||
|
||||
|CTRL-W_<| CTRL-W < decrease current window width
|
||||
|CTRL-W_>| CTRL-W > increase current window width
|
||||
|CTRL-W_bar| CTRL-W | set current window width (default:
|
||||
widest possible)
|
||||
------------------------------------------------------------------------------
|
||||
*Q_bu* Buffer list commands
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*recover.txt* For Vim version 7.4. Last change: 2010 Jul 20
|
||||
*recover.txt* For Vim version 7.4. Last change: 2014 Mar 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -81,7 +81,14 @@ the amount of memory used to be higher than given with 'maxmem' or
|
||||
'maxmemtot'. And when making a change to a read-only file, the swap file is
|
||||
created anyway.
|
||||
|
||||
The 'swapfile' option can be reset to avoid creating a swapfile.
|
||||
The 'swapfile' option can be reset to avoid creating a swapfile. And the
|
||||
|:noswapfile| modifier can be used to not create a swapfile for a new buffer.
|
||||
|
||||
:nos[wapfile] {command} *:nos* *:noswapfile*
|
||||
Execute {command}. If it contains a command that loads a new
|
||||
buffer, it will be loaded without creating a swapfile and the
|
||||
'swapfile' option will be reset. If a buffer already had a
|
||||
swapfile it is not removed and 'swapfile' is not reset.
|
||||
|
||||
|
||||
Detecting an existing swap file ~
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*repeat.txt* For Vim version 7.4. Last change: 2014 Feb 11
|
||||
*repeat.txt* For Vim version 7.4. Last change: 2014 Oct 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -64,6 +64,9 @@ replacement string.
|
||||
|
||||
For the definition of a pattern, see |pattern|.
|
||||
|
||||
NOTE [cmd] may contain a range; see |collapse| and |edit-paragraph-join| for
|
||||
examples.
|
||||
|
||||
The global commands work by first scanning through the [range] lines and
|
||||
marking each line where a match occurs (for a multi-line pattern, only the
|
||||
start of the match matters).
|
||||
@@ -588,6 +591,12 @@ the |+reltime| feature, which is present more often.
|
||||
|
||||
For profiling syntax highlighting see |:syntime|.
|
||||
|
||||
For example, to profile the one_script.vim script file: >
|
||||
:profile start /tmp/one_script_profile
|
||||
:profile file one_script.vim
|
||||
:source one_script.vim
|
||||
:exit
|
||||
|
||||
|
||||
:prof[ile] start {fname} *:prof* *:profile* *E750*
|
||||
Start profiling, write the output in {fname} upon exit.
|
||||
@@ -612,8 +621,10 @@ For profiling syntax highlighting see |:syntime|.
|
||||
This only profiles the script itself, not the functions
|
||||
defined in it.
|
||||
When the [!] is added then all functions defined in the script
|
||||
will also be profiled. But only if the script is loaded after
|
||||
this command.
|
||||
will also be profiled.
|
||||
Note that profiling only starts when the script is loaded
|
||||
after this command. A :profile command in the script itself
|
||||
won't work.
|
||||
|
||||
|
||||
:profd[el] ... *:profd* *:profdel*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*sign.txt* For Vim version 7.4. Last change: 2013 Nov 17
|
||||
*sign.txt* For Vim version 7.4. Last change: 2014 May 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur
|
||||
@@ -137,6 +137,7 @@ PLACING SIGNS *:sign-place* *E158*
|
||||
:sign place {id} line={lnum} name={name} buffer={nr}
|
||||
Same, but use buffer {nr}.
|
||||
|
||||
*E885*
|
||||
:sign place {id} name={name} file={fname}
|
||||
Change the placed sign {id} in file {fname} to use the defined
|
||||
sign {name}. See remark above about {fname} |:sign-fname|.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*spell.txt* For Vim version 7.4. Last change: 2013 Nov 12
|
||||
*spell.txt* For Vim version 7.4. Last change: 2014 Sep 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -939,9 +939,10 @@ be combined without errors.
|
||||
|
||||
If you get an E763 warning that the word tables differ you need to update your
|
||||
".spl" spell files. If you downloaded the files, get the latest version of
|
||||
all spell files you use. Otherwise generate the .spl file again with
|
||||
|:mkspell|. If you still get errors check the FOL, LOW and UPP lines in the
|
||||
used .aff files.
|
||||
all spell files you use. If you are only using one, e.g., German, then also
|
||||
download the recent English spell files. Otherwise generate the .spl file
|
||||
again with |:mkspell|. If you still get errors check the FOL, LOW and UPP
|
||||
lines in the used .aff files.
|
||||
|
||||
The XX.ascii.spl spell file generated with the "-ascii" argument will not
|
||||
contain the table with characters, so that it can be combine with spell files
|
||||
@@ -1057,6 +1058,9 @@ this text to start with a "#" so that mistakes don't go unnoticed. Example:
|
||||
SFX F 0 in [^i]n # Spion > Spionin ~
|
||||
SFX F 0 nen in # Bauerin > Bauerinnen ~
|
||||
|
||||
However, to avoid lots of errors in affix files written for Myspell, you can
|
||||
add the IGNOREEXTRA flag.
|
||||
|
||||
Apparently Myspell allows an affix name to appear more than once. Since this
|
||||
might also be a mistake, Vim checks for an extra "S". The affix files for
|
||||
Myspell that use this feature apparently have this flag. Example:
|
||||
@@ -1110,6 +1114,14 @@ Specifically, the affix flags can be used for:
|
||||
- CIRCUMFIX, as explained just below.
|
||||
|
||||
|
||||
IGNOREEXTRA *spell-IGNOREEXTRA*
|
||||
|
||||
Normally Vim gives an error for an extra field that does not start with '#'.
|
||||
This avoids errors going unnoticed. However, some files created for Myspell
|
||||
or Hunspell may contain many entries with an extra field. Use the IGNOREEXTRA
|
||||
flag to avoid lots of errors.
|
||||
|
||||
|
||||
CIRCUMFIX *spell-CIRCUMFIX*
|
||||
|
||||
The CIRCUMFIX flag means a prefix and suffix must be added at the same time.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*starting.txt* For Vim version 7.4. Last change: 2013 Jul 20
|
||||
*starting.txt* For Vim version 7.4. Last change: 2014 Jul 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -167,7 +167,10 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
||||
*-+/*
|
||||
+/{pat} The cursor will be positioned on the first line containing
|
||||
"pat" in the first file being edited (see |pattern| for the
|
||||
available search patterns).
|
||||
available search patterns). The search starts at the cursor
|
||||
position, which can be the first line or the cursor position
|
||||
last used from |viminfo|. To force a search from the first
|
||||
line use "+1 +/pat".
|
||||
|
||||
+{command} *-+c* *-c*
|
||||
-c {command} {command} will be executed after the first file has been
|
||||
@@ -1276,8 +1279,10 @@ triggered.
|
||||
When [!] is included an existing file is overwritten.
|
||||
When [file] is omitted or is a number from 1 to 9, a
|
||||
name is generated and 'viewdir' prepended. When the
|
||||
last directory name in 'viewdir' does not exist, this
|
||||
directory is created.
|
||||
last path part of 'viewdir' does not exist, this
|
||||
directory is created. E.g., when 'viewdir' is
|
||||
"$VIM/vimfiles/view" then "view" is created in
|
||||
"$VIM/vimfiles".
|
||||
An existing file is always overwritten then. Use
|
||||
|:loadview| to load this view again.
|
||||
When [file] is the name of a file ('viewdir' is not
|
||||
@@ -1501,7 +1506,7 @@ most of the information will be restored).
|
||||
already set (registers, marks, |v:oldfiles|, etc.)
|
||||
will be overwritten {not in Vi}
|
||||
|
||||
*:wv* *:wviminfo* *E137* *E138* *E574*
|
||||
*:wv* *:wviminfo* *E137* *E138* *E574* *E886*
|
||||
:wv[iminfo][!] [file] Write to viminfo file [file] (default: see above).
|
||||
The information in the file is first read in to make
|
||||
a merge between old and new info. When [!] is used,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 7.4. Last change: 2014 Feb 25
|
||||
*syntax.txt* For Vim version 7.4. Last change: 2014 Nov 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -501,7 +501,7 @@ inserted for that purpose if no line numbers are shown. This ID attribute
|
||||
takes the form of L123 for single-buffer HTML pages, or W2L123 for diff-view
|
||||
pages, and is used to jump to a specific line (in a specific window of a diff
|
||||
view). Javascript is inserted to open any closed dynamic folds
|
||||
(|g:html_dynamic_folds|) containing the specificed line before jumping. The
|
||||
(|g:html_dynamic_folds|) containing the specified line before jumping. The
|
||||
javascript also allows omitting the window ID in the url, and the leading L.
|
||||
For example: >
|
||||
|
||||
@@ -1022,6 +1022,21 @@ Or to avoid the highlighting: >
|
||||
This works immediately.
|
||||
|
||||
|
||||
CLOJURE *ft-clojure-syntax*
|
||||
|
||||
Setting *g:clojure_fold* enables folding Clojure code via the syntax engine.
|
||||
Any list, vector, or map that extends over more than one line can be folded
|
||||
using the standard Vim |fold-commands|.
|
||||
|
||||
Please note that this option does not work with scripts that redefine the
|
||||
bracket syntax regions, such as rainbow-parentheses plugins.
|
||||
|
||||
This option is off by default.
|
||||
>
|
||||
" Default
|
||||
let g:clojure_fold = 0
|
||||
<
|
||||
|
||||
COBOL *cobol.vim* *ft-cobol-syntax*
|
||||
|
||||
COBOL highlighting has different needs for legacy code than it does for fresh
|
||||
@@ -1673,7 +1688,7 @@ vimrc file: >
|
||||
HTML comments are rather special (see an HTML reference document for the
|
||||
details), and the syntax coloring scheme will highlight all errors.
|
||||
However, if you prefer to use the wrong style (starts with <!-- and
|
||||
ends with --!>) you can define >
|
||||
ends with -->) you can define >
|
||||
:let html_wrong_comments=1
|
||||
|
||||
JavaScript and Visual Basic embedded inside HTML documents are highlighted as
|
||||
@@ -1944,7 +1959,7 @@ If you don't want to set the variable, use the modeline in EVERY LPC file.
|
||||
There are several implementations for LPC, we intend to support most widely
|
||||
used ones. Here the default LPC syntax is for MudOS series, for MudOS v22
|
||||
and before, you should turn off the sensible modifiers, and this will also
|
||||
asserts the new efuns after v22 to be invalid, don't set this variable when
|
||||
assert the new efuns after v22 to be invalid, don't set this variable when
|
||||
you are using the latest version of MudOS: >
|
||||
|
||||
:let lpc_pre_v22 = 1
|
||||
@@ -2264,7 +2279,7 @@ files, you may set the 'perl_include_pod' option to 0: >
|
||||
|
||||
:let perl_include_pod = 0
|
||||
|
||||
The reduce the complexity of parsing (and increase performance) you can switch
|
||||
To reduce the complexity of parsing (and increase performance) you can switch
|
||||
off two elements in the parsing of variable names and contents. >
|
||||
|
||||
To handle package references in variable and function names not differently
|
||||
@@ -2960,6 +2975,7 @@ TEX *tex.vim* *ft-tex-syntax* *latex-syntax*
|
||||
Tex: Taking Advantage of Conceal Mode |tex-conceal|
|
||||
Tex: Selective Conceal Mode |g:tex_conceal|
|
||||
Tex: Controlling iskeyword |g:tex_isk|
|
||||
Tex: Fine Subscript and Superscript Control |tex-supersub|
|
||||
|
||||
*tex-folding* *g:tex_fold_enabled*
|
||||
Tex: Want Syntax Folding? ~
|
||||
@@ -3053,6 +3069,7 @@ selectively to enable just some syntax highlighting: >
|
||||
<
|
||||
As an example, let g:tex_fast= "M" will allow math-associated highlighting
|
||||
but suppress all the other region-based syntax highlighting.
|
||||
(also see: |g:tex_conceal| and |tex-supersub|)
|
||||
|
||||
*tex-morecommands* *tex-package*
|
||||
Tex: Want To Highlight More Commands? ~
|
||||
@@ -3154,6 +3171,28 @@ syntax highlighting script handles this with the following logic:
|
||||
* If g:tex_isk exists, then it will be used for the local 'iskeyword'
|
||||
* Else the local 'iskeyword' will be set to 48-57,a-z,A-Z,192-255
|
||||
|
||||
*tex-supersub* *g:tex_superscripts* *g:tex_subscripts*
|
||||
Tex: Fine Subscript and Superscript Control~
|
||||
|
||||
See |tex-conceal| for how to enable concealed character replacement.
|
||||
|
||||
See |g:tex_conceal| for selectively concealing accents, bold/italic,
|
||||
math, Greek, and superscripts/subscripts.
|
||||
|
||||
One may exert fine control over which superscripts and subscripts one
|
||||
wants syntax-based concealment for (see |:syn-cchar|). Since not all
|
||||
fonts support all characters, one may override the
|
||||
concealed-replacement lists; by default these lists are given by: >
|
||||
|
||||
let g:tex_superscripts= "[0-9a-zA-W.,:;+-<>/()=]"
|
||||
let g:tex_subscripts= "[0-9aehijklmnoprstuvx,+-/().]"
|
||||
<
|
||||
For example, I use Luxi Mono Bold; it doesn't support subscript
|
||||
characters for "hklmnpst", so I put >
|
||||
let g:tex_subscripts= "[0-9aeijoruvx,+-/().]"
|
||||
< in ~/.vim/ftplugin/tex/tex.vim in order to avoid having inscrutable
|
||||
utf-8 glyphs appear.
|
||||
|
||||
|
||||
TF *tf.vim* *ft-tf-syntax*
|
||||
|
||||
@@ -3760,7 +3799,7 @@ The 'foldnestmax' option limits the nesting of syntax folds.
|
||||
|
||||
|
||||
*:syn-contains* *E405* *E406* *E407* *E408* *E409*
|
||||
contains={groupname},..
|
||||
contains={group-name},..
|
||||
|
||||
The "contains" argument is followed by a list of syntax group names. These
|
||||
groups will be allowed to begin inside the item (they may extend past the
|
||||
@@ -3813,13 +3852,13 @@ region where contained items do match. Note that this may also limit the
|
||||
area that is highlighted
|
||||
|
||||
|
||||
containedin={groupname}... *:syn-containedin*
|
||||
containedin={group-name}... *:syn-containedin*
|
||||
|
||||
The "containedin" argument is followed by a list of syntax group names. The
|
||||
item will be allowed to begin inside these groups. This works as if the
|
||||
containing item has a "contains=" argument that includes this item.
|
||||
|
||||
The {groupname}... can be used just like for "contains", as explained above.
|
||||
The {group-name}... can be used just like for "contains", as explained above.
|
||||
|
||||
This is useful when adding a syntax item afterwards. An item can be told to
|
||||
be included inside an already existing item, without changing the definition
|
||||
@@ -3835,7 +3874,7 @@ keywords never contain another item, thus adding them to "containedin" won't
|
||||
work.
|
||||
|
||||
|
||||
nextgroup={groupname},.. *:syn-nextgroup*
|
||||
nextgroup={group-name},.. *:syn-nextgroup*
|
||||
|
||||
The "nextgroup" argument is followed by a list of syntax group names,
|
||||
separated by commas (just like with "contains", so you can also use patterns).
|
||||
@@ -5026,6 +5065,7 @@ This will set the "w:current_syntax" variable to "foo". The value of
|
||||
restoring "b:current_syntax", since the syntax files do set
|
||||
"b:current_syntax". The value set by the syntax file is assigned to
|
||||
"w:current_syntax".
|
||||
Note: This resets the 'spell', 'spellcapcheck' and 'spellfile' options.
|
||||
|
||||
Once a window has its own syntax, syntax commands executed from other windows
|
||||
on the same buffer (including :syntax clear) have no effect. Conversely,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*tabpage.txt* For Vim version 7.4. Last change: 2012 Aug 08
|
||||
*tabpage.txt* For Vim version 7.4. Last change: 2014 Nov 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -61,16 +61,25 @@ In the GUI tab pages line you can use the right mouse button to open menu.
|
||||
:[count]tabe[dit] *:tabe* *:tabedit* *:tabnew*
|
||||
:[count]tabnew
|
||||
Open a new tab page with an empty window, after the current
|
||||
tab page. For [count] see |:tab| below.
|
||||
tab page. If [count] is given the new tab page appears after
|
||||
the tab page [count] otherwise the new tab page will appear
|
||||
after the current one. >
|
||||
:tabnew " opens tabpage after the current one
|
||||
:.tabnew " as above
|
||||
:+tabnew " opens tabpage after the next tab page
|
||||
" note: it is one further than :tabnew
|
||||
:-tabnew " opens tabpage before the current one
|
||||
:0tabnew " opens tabpage before the first one
|
||||
:$tabnew " opens tabpage after the last one
|
||||
|
||||
:[count]tabe[dit] [++opt] [+cmd] {file}
|
||||
:[count]tabnew [++opt] [+cmd] {file}
|
||||
Open a new tab page and edit {file}, like with |:edit|.
|
||||
For [count] see |:tab| below.
|
||||
For [count] see |:tabnew| above.
|
||||
|
||||
:[count]tabf[ind] [++opt] [+cmd] {file} *:tabf* *:tabfind*
|
||||
Open a new tab page and edit {file} in 'path', like with
|
||||
|:find|. For [count] see |:tab| below.
|
||||
|:find|. For [count] see |:tabnew| above.
|
||||
{not available when the |+file_in_path| feature was disabled
|
||||
at compile time}
|
||||
|
||||
@@ -110,12 +119,18 @@ something else.
|
||||
- When 'hidden' is not set, [!] is not used, a buffer has
|
||||
changes, and there is no other window on this buffer.
|
||||
Changes to the buffer are not written and won't get lost, so
|
||||
this is a "safe" command.
|
||||
this is a "safe" command. >
|
||||
:tabclose " close the current tab page
|
||||
|
||||
:{count}tabc[lose][!]
|
||||
:tabc[lose][!] {count}
|
||||
Close tab page {count}. Fails in the same way as `:tabclose`
|
||||
above.
|
||||
|
||||
above. >
|
||||
:-tabclose " close the previous tab page
|
||||
:+tabclose " close the next tab page
|
||||
:1tabclose " close the first tab page
|
||||
:$tabclose " close the last tab page
|
||||
<
|
||||
*:tabo* *:tabonly*
|
||||
:tabo[nly][!] Close all other tab pages.
|
||||
When the 'hidden' option is set, all buffers in closed windows
|
||||
@@ -124,7 +139,17 @@ something else.
|
||||
modified buffers are written. Otherwise, windows that have
|
||||
buffers that are modified are not removed, unless the [!] is
|
||||
given, then they become hidden. But modified buffers are
|
||||
never abandoned, so changes cannot get lost.
|
||||
never abandoned, so changes cannot get lost. >
|
||||
:tabonly " close all tab pages except the current
|
||||
|
||||
:{count}tabo[nly][!]
|
||||
Close all tab pages except the {count}th one. >
|
||||
:.tabonly " one
|
||||
:-tabonly " close all tab pages except the previous
|
||||
" one
|
||||
:+tabonly " close all tab pages except the next one
|
||||
:1tabonly " close all tab pages except the first one
|
||||
:$tabonly " close all tab pages except the last one
|
||||
|
||||
|
||||
SWITCHING TO ANOTHER TAB PAGE:
|
||||
@@ -176,7 +201,15 @@ REORDERING TAB PAGES:
|
||||
:[N]tabm[ove]
|
||||
Move the current tab page to after tab page N. Use zero to
|
||||
make the current tab page the first one. Without N the tab
|
||||
page is made the last one.
|
||||
page is made the last one. >
|
||||
:-tabmove " move the tab page to the left
|
||||
:tabmove " move the tab page to the right
|
||||
:.tabmove " as above
|
||||
:+tabmove " as above
|
||||
:0tabmove " move the tab page to the begining of the tab
|
||||
" list
|
||||
:$tabmove " move the tab page to the end of the tab list
|
||||
<
|
||||
|
||||
:tabm[ove] +[N]
|
||||
:tabm[ove] -[N]
|
||||
|
||||
@@ -91,6 +91,10 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'bl' options.txt /*'bl'*
|
||||
'bomb' options.txt /*'bomb'*
|
||||
'breakat' options.txt /*'breakat'*
|
||||
'breakindent' options.txt /*'breakindent'*
|
||||
'breakindentopt' options.txt /*'breakindentopt'*
|
||||
'bri' options.txt /*'bri'*
|
||||
'briopt' options.txt /*'briopt'*
|
||||
'brk' options.txt /*'brk'*
|
||||
'browsedir' options.txt /*'browsedir'*
|
||||
'bs' options.txt /*'bs'*
|
||||
@@ -388,6 +392,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'kp' options.txt /*'kp'*
|
||||
'langmap' options.txt /*'langmap'*
|
||||
'langmenu' options.txt /*'langmenu'*
|
||||
'langnoremap' options.txt /*'langnoremap'*
|
||||
'laststatus' options.txt /*'laststatus'*
|
||||
'lazyredraw' options.txt /*'lazyredraw'*
|
||||
'lbr' options.txt /*'lbr'*
|
||||
@@ -401,6 +406,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'listchars' options.txt /*'listchars'*
|
||||
'lm' options.txt /*'lm'*
|
||||
'lmap' options.txt /*'lmap'*
|
||||
'lnr' options.txt /*'lnr'*
|
||||
'loadplugins' options.txt /*'loadplugins'*
|
||||
'lpl' options.txt /*'lpl'*
|
||||
'ls' options.txt /*'ls'*
|
||||
@@ -752,6 +758,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'regexpengine' options.txt /*'regexpengine'*
|
||||
'relativenumber' options.txt /*'relativenumber'*
|
||||
'remap' options.txt /*'remap'*
|
||||
'renderoptions' options.txt /*'renderoptions'*
|
||||
'report' options.txt /*'report'*
|
||||
'restorescreen' options.txt /*'restorescreen'*
|
||||
'revins' options.txt /*'revins'*
|
||||
@@ -762,6 +769,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'rlc' options.txt /*'rlc'*
|
||||
'rnu' options.txt /*'rnu'*
|
||||
'ro' options.txt /*'ro'*
|
||||
'rop' options.txt /*'rop'*
|
||||
'rs' options.txt /*'rs'*
|
||||
'rtp' options.txt /*'rtp'*
|
||||
'ru' options.txt /*'ru'*
|
||||
@@ -1167,6 +1175,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
+dialog_gui various.txt /*+dialog_gui*
|
||||
+diff various.txt /*+diff*
|
||||
+digraphs various.txt /*+digraphs*
|
||||
+directx various.txt /*+directx*
|
||||
+dnd various.txt /*+dnd*
|
||||
+emacs_tags various.txt /*+emacs_tags*
|
||||
+eval various.txt /*+eval*
|
||||
@@ -1201,6 +1210,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
+mouse various.txt /*+mouse*
|
||||
+mouse_dec various.txt /*+mouse_dec*
|
||||
+mouse_gpm various.txt /*+mouse_gpm*
|
||||
+mouse_jsbterm various.txt /*+mouse_jsbterm*
|
||||
+mouse_netterm various.txt /*+mouse_netterm*
|
||||
+mouse_pterm various.txt /*+mouse_pterm*
|
||||
+mouse_sgr various.txt /*+mouse_sgr*
|
||||
@@ -1415,6 +1425,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
/\%>c pattern.txt /*\/\\%>c*
|
||||
/\%>l pattern.txt /*\/\\%>l*
|
||||
/\%>v pattern.txt /*\/\\%>v*
|
||||
/\%C pattern.txt /*\/\\%C*
|
||||
/\%U pattern.txt /*\/\\%U*
|
||||
/\%V pattern.txt /*\/\\%V*
|
||||
/\%[] pattern.txt /*\/\\%[]*
|
||||
@@ -1973,8 +1984,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:cabc map.txt /*:cabc*
|
||||
:cabclear map.txt /*:cabclear*
|
||||
:cad quickfix.txt /*:cad*
|
||||
:caddb quickfix.txt /*:caddb*
|
||||
:caddbuffer quickfix.txt /*:caddbuffer*
|
||||
:cadde quickfix.txt /*:cadde*
|
||||
:caddexpr quickfix.txt /*:caddexpr*
|
||||
:caddf quickfix.txt /*:caddf*
|
||||
:caddfile quickfix.txt /*:caddfile*
|
||||
@@ -2239,6 +2250,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:ha print.txt /*:ha*
|
||||
:hardcopy print.txt /*:hardcopy*
|
||||
:help helphelp.txt /*:help*
|
||||
:helpc helphelp.txt /*:helpc*
|
||||
:helpclose helphelp.txt /*:helpclose*
|
||||
:helpf helphelp.txt /*:helpf*
|
||||
:helpfind helphelp.txt /*:helpfind*
|
||||
:helpg helphelp.txt /*:helpg*
|
||||
@@ -2500,6 +2513,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:nbkey netbeans.txt /*:nbkey*
|
||||
:nbstart netbeans.txt /*:nbstart*
|
||||
:ne editing.txt /*:ne*
|
||||
:netrw-s-cr pi_netrw.txt /*:netrw-s-cr*
|
||||
:new windows.txt /*:new*
|
||||
:next editing.txt /*:next*
|
||||
:next_f editing.txt /*:next_f*
|
||||
@@ -2520,8 +2534,11 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:noautocmd autocmd.txt /*:noautocmd*
|
||||
:noh pattern.txt /*:noh*
|
||||
:nohlsearch pattern.txt /*:nohlsearch*
|
||||
:nor map.txt /*:nor*
|
||||
:nore map.txt /*:nore*
|
||||
:norea map.txt /*:norea*
|
||||
:noreabbrev map.txt /*:noreabbrev*
|
||||
:norem map.txt /*:norem*
|
||||
:noremap map.txt /*:noremap*
|
||||
:noremap! map.txt /*:noremap!*
|
||||
:noreme gui.txt /*:noreme*
|
||||
@@ -2529,6 +2546,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:norm various.txt /*:norm*
|
||||
:normal various.txt /*:normal*
|
||||
:normal-range various.txt /*:normal-range*
|
||||
:nos recover.txt /*:nos*
|
||||
:noswapfile recover.txt /*:noswapfile*
|
||||
:nu various.txt /*:nu*
|
||||
:number various.txt /*:number*
|
||||
:nun map.txt /*:nun*
|
||||
@@ -3117,6 +3136,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
<CSI> intro.txt /*<CSI>*
|
||||
<Char-> map.txt /*<Char->*
|
||||
<Char> map.txt /*<Char>*
|
||||
<CursorHold> autocmd.txt /*<CursorHold>*
|
||||
<D- intro.txt /*<D-*
|
||||
<Del> change.txt /*<Del>*
|
||||
<Down> motion.txt /*<Down>*
|
||||
@@ -3439,6 +3459,7 @@ CTRL-^ editing.txt /*CTRL-^*
|
||||
CTRL-{char} intro.txt /*CTRL-{char}*
|
||||
Chinese mbyte.txt /*Chinese*
|
||||
Cmd-event autocmd.txt /*Cmd-event*
|
||||
CmdUndefined autocmd.txt /*CmdUndefined*
|
||||
Cmdline cmdline.txt /*Cmdline*
|
||||
Cmdline-mode cmdline.txt /*Cmdline-mode*
|
||||
CmdwinEnter autocmd.txt /*CmdwinEnter*
|
||||
@@ -3580,7 +3601,7 @@ E201 autocmd.txt /*E201*
|
||||
E202 options.txt /*E202*
|
||||
E203 autocmd.txt /*E203*
|
||||
E204 autocmd.txt /*E204*
|
||||
E205 if_pyth.txt /*E205*
|
||||
E205 options.txt /*E205*
|
||||
E206 options.txt /*E206*
|
||||
E207 editing.txt /*E207*
|
||||
E208 message.txt /*E208*
|
||||
@@ -4307,6 +4328,13 @@ E879 syntax.txt /*E879*
|
||||
E88 windows.txt /*E88*
|
||||
E880 if_pyth.txt /*E880*
|
||||
E881 autocmd.txt /*E881*
|
||||
E882 eval.txt /*E882*
|
||||
E883 eval.txt /*E883*
|
||||
E884 eval.txt /*E884*
|
||||
E885 sign.txt /*E885*
|
||||
E886 starting.txt /*E886*
|
||||
E887 if_pyth.txt /*E887*
|
||||
E888 pattern.txt /*E888*
|
||||
E89 message.txt /*E89*
|
||||
E90 message.txt /*E90*
|
||||
E91 options.txt /*E91*
|
||||
@@ -4436,6 +4464,13 @@ Operator-pending-mode intro.txt /*Operator-pending-mode*
|
||||
OverTheSpot mbyte.txt /*OverTheSpot*
|
||||
P change.txt /*P*
|
||||
PATHEXT eval.txt /*PATHEXT*
|
||||
PHP_BracesAtCodeLevel indent.txt /*PHP_BracesAtCodeLevel*
|
||||
PHP_autoformatcomment indent.txt /*PHP_autoformatcomment*
|
||||
PHP_default_indenting indent.txt /*PHP_default_indenting*
|
||||
PHP_outdentSLComments indent.txt /*PHP_outdentSLComments*
|
||||
PHP_outdentphpescape indent.txt /*PHP_outdentphpescape*
|
||||
PHP_removeCRwhenUnix indent.txt /*PHP_removeCRwhenUnix*
|
||||
PHP_vintage_case_default_indent indent.txt /*PHP_vintage_case_default_indent*
|
||||
Pattern pattern.txt /*Pattern*
|
||||
Perl if_perl.txt /*Perl*
|
||||
Posix intro.txt /*Posix*
|
||||
@@ -4779,6 +4814,7 @@ argidx() eval.txt /*argidx()*
|
||||
arglist editing.txt /*arglist*
|
||||
arglist-position editing.txt /*arglist-position*
|
||||
arglist-quit usr_07.txt /*arglist-quit*
|
||||
arglistid() eval.txt /*arglistid()*
|
||||
argument-list editing.txt /*argument-list*
|
||||
argv() eval.txt /*argv()*
|
||||
as motion.txt /*as*
|
||||
@@ -4876,6 +4912,7 @@ blockwise-operators visual.txt /*blockwise-operators*
|
||||
blockwise-register change.txt /*blockwise-register*
|
||||
blockwise-visual visual.txt /*blockwise-visual*
|
||||
blowfish options.txt /*blowfish*
|
||||
blowfish2 options.txt /*blowfish2*
|
||||
bold syntax.txt /*bold*
|
||||
bom-bytes mbyte.txt /*bom-bytes*
|
||||
book intro.txt /*book*
|
||||
@@ -5364,6 +5401,7 @@ diW motion.txt /*diW*
|
||||
dialog gui_w32.txt /*dialog*
|
||||
dialogs-added version5.txt /*dialogs-added*
|
||||
dib motion.txt /*dib*
|
||||
dict eval.txt /*dict*
|
||||
dict-functions usr_41.txt /*dict-functions*
|
||||
dict-identity eval.txt /*dict-identity*
|
||||
dict-modification eval.txt /*dict-modification*
|
||||
@@ -5437,6 +5475,7 @@ edit-dialogs editing.txt /*edit-dialogs*
|
||||
edit-files editing.txt /*edit-files*
|
||||
edit-intro editing.txt /*edit-intro*
|
||||
edit-no-break usr_25.txt /*edit-no-break*
|
||||
edit-paragraph-join usr_25.txt /*edit-paragraph-join*
|
||||
editing.txt editing.txt /*editing.txt*
|
||||
efm-%> quickfix.txt /*efm-%>*
|
||||
efm-entries quickfix.txt /*efm-entries*
|
||||
@@ -5508,6 +5547,7 @@ exclusive motion.txt /*exclusive*
|
||||
exclusive-linewise motion.txt /*exclusive-linewise*
|
||||
executable() eval.txt /*executable()*
|
||||
execute-menus gui.txt /*execute-menus*
|
||||
exepath() eval.txt /*exepath()*
|
||||
exim starting.txt /*exim*
|
||||
exists() eval.txt /*exists()*
|
||||
exp() eval.txt /*exp()*
|
||||
@@ -5724,6 +5764,7 @@ ft-changelog-plugin filetype.txt /*ft-changelog-plugin*
|
||||
ft-changelog-syntax syntax.txt /*ft-changelog-syntax*
|
||||
ft-chill-syntax syntax.txt /*ft-chill-syntax*
|
||||
ft-clojure-indent indent.txt /*ft-clojure-indent*
|
||||
ft-clojure-syntax syntax.txt /*ft-clojure-syntax*
|
||||
ft-cobol-syntax syntax.txt /*ft-cobol-syntax*
|
||||
ft-coldfusion-syntax syntax.txt /*ft-coldfusion-syntax*
|
||||
ft-cpp-syntax syntax.txt /*ft-cpp-syntax*
|
||||
@@ -5894,6 +5935,7 @@ g:ada_with_gnat_project_files ft_ada.txt /*g:ada_with_gnat_project_files*
|
||||
g:ada_withuse_ordinary ft_ada.txt /*g:ada_withuse_ordinary*
|
||||
g:clojure_align_multiline_strings indent.txt /*g:clojure_align_multiline_strings*
|
||||
g:clojure_align_subforms indent.txt /*g:clojure_align_subforms*
|
||||
g:clojure_fold syntax.txt /*g:clojure_fold*
|
||||
g:clojure_fuzzy_indent indent.txt /*g:clojure_fuzzy_indent*
|
||||
g:clojure_fuzzy_indent_blacklist indent.txt /*g:clojure_fuzzy_indent_blacklist*
|
||||
g:clojure_fuzzy_indent_patterns indent.txt /*g:clojure_fuzzy_indent_patterns*
|
||||
@@ -5963,6 +6005,7 @@ g:netrw_dynamic_maxfilenamelen pi_netrw.txt /*g:netrw_dynamic_maxfilenamelen*
|
||||
g:netrw_errorlvl pi_netrw.txt /*g:netrw_errorlvl*
|
||||
g:netrw_fastbrowse pi_netrw.txt /*g:netrw_fastbrowse*
|
||||
g:netrw_fetch_cmd pi_netrw.txt /*g:netrw_fetch_cmd*
|
||||
g:netrw_ffkeep pi_netrw.txt /*g:netrw_ffkeep*
|
||||
g:netrw_fname_escape pi_netrw.txt /*g:netrw_fname_escape*
|
||||
g:netrw_ftp pi_netrw.txt /*g:netrw_ftp*
|
||||
g:netrw_ftp_browse_reject pi_netrw.txt /*g:netrw_ftp_browse_reject*
|
||||
@@ -6044,6 +6087,8 @@ g:tex_isk syntax.txt /*g:tex_isk*
|
||||
g:tex_no_error syntax.txt /*g:tex_no_error*
|
||||
g:tex_nospell syntax.txt /*g:tex_nospell*
|
||||
g:tex_stylish syntax.txt /*g:tex_stylish*
|
||||
g:tex_subscripts syntax.txt /*g:tex_subscripts*
|
||||
g:tex_superscripts syntax.txt /*g:tex_superscripts*
|
||||
g:tex_verbspell syntax.txt /*g:tex_verbspell*
|
||||
g:var eval.txt /*g:var*
|
||||
g:vimball_home pi_vimball.txt /*g:vimball_home*
|
||||
@@ -6107,6 +6152,8 @@ getcharmod() eval.txt /*getcharmod()*
|
||||
getcmdline() eval.txt /*getcmdline()*
|
||||
getcmdpos() eval.txt /*getcmdpos()*
|
||||
getcmdtype() eval.txt /*getcmdtype()*
|
||||
getcmdwintype() eval.txt /*getcmdwintype()*
|
||||
getcurpos() eval.txt /*getcurpos()*
|
||||
getcwd() eval.txt /*getcwd()*
|
||||
getfontname() eval.txt /*getfontname()*
|
||||
getfperm() eval.txt /*getfperm()*
|
||||
@@ -6690,6 +6737,7 @@ linewise-register change.txt /*linewise-register*
|
||||
linewise-visual visual.txt /*linewise-visual*
|
||||
lisp.vim syntax.txt /*lisp.vim*
|
||||
lispindent() eval.txt /*lispindent()*
|
||||
list eval.txt /*list*
|
||||
list-functions usr_41.txt /*list-functions*
|
||||
list-identity eval.txt /*list-identity*
|
||||
list-index eval.txt /*list-index*
|
||||
@@ -6801,6 +6849,7 @@ match() eval.txt /*match()*
|
||||
match-highlight pattern.txt /*match-highlight*
|
||||
match-parens tips.txt /*match-parens*
|
||||
matchadd() eval.txt /*matchadd()*
|
||||
matchaddpos() eval.txt /*matchaddpos()*
|
||||
matcharg() eval.txt /*matcharg()*
|
||||
matchdelete() eval.txt /*matchdelete()*
|
||||
matchend() eval.txt /*matchend()*
|
||||
@@ -6942,6 +6991,15 @@ netreadfixup pi_netrw.txt /*netreadfixup*
|
||||
netrw pi_netrw.txt /*netrw*
|
||||
netrw-% pi_netrw.txt /*netrw-%*
|
||||
netrw-- pi_netrw.txt /*netrw--*
|
||||
netrw-:Explore pi_netrw.txt /*netrw-:Explore*
|
||||
netrw-:Hexplore pi_netrw.txt /*netrw-:Hexplore*
|
||||
netrw-:Lexplore pi_netrw.txt /*netrw-:Lexplore*
|
||||
netrw-:MF pi_netrw.txt /*netrw-:MF*
|
||||
netrw-:MT pi_netrw.txt /*netrw-:MT*
|
||||
netrw-:Rexplore pi_netrw.txt /*netrw-:Rexplore*
|
||||
netrw-:Sexplore pi_netrw.txt /*netrw-:Sexplore*
|
||||
netrw-:Texplore pi_netrw.txt /*netrw-:Texplore*
|
||||
netrw-:Vexplore pi_netrw.txt /*netrw-:Vexplore*
|
||||
netrw-C pi_netrw.txt /*netrw-C*
|
||||
netrw-D pi_netrw.txt /*netrw-D*
|
||||
netrw-O pi_netrw.txt /*netrw-O*
|
||||
@@ -7057,6 +7115,7 @@ netrw-p12 pi_netrw.txt /*netrw-p12*
|
||||
netrw-p13 pi_netrw.txt /*netrw-p13*
|
||||
netrw-p14 pi_netrw.txt /*netrw-p14*
|
||||
netrw-p15 pi_netrw.txt /*netrw-p15*
|
||||
netrw-p16 pi_netrw.txt /*netrw-p16*
|
||||
netrw-p2 pi_netrw.txt /*netrw-p2*
|
||||
netrw-p3 pi_netrw.txt /*netrw-p3*
|
||||
netrw-p4 pi_netrw.txt /*netrw-p4*
|
||||
@@ -7398,6 +7457,7 @@ profile repeat.txt /*profile*
|
||||
profiling repeat.txt /*profiling*
|
||||
profiling-variable eval.txt /*profiling-variable*
|
||||
progname-variable eval.txt /*progname-variable*
|
||||
progpath-variable eval.txt /*progpath-variable*
|
||||
progress.vim syntax.txt /*progress.vim*
|
||||
pronounce intro.txt /*pronounce*
|
||||
psql ft_sql.txt /*psql*
|
||||
@@ -7771,6 +7831,7 @@ spell-FLAG spell.txt /*spell-FLAG*
|
||||
spell-FOL spell.txt /*spell-FOL*
|
||||
spell-FORBIDDENWORD spell.txt /*spell-FORBIDDENWORD*
|
||||
spell-HOME spell.txt /*spell-HOME*
|
||||
spell-IGNOREEXTRA spell.txt /*spell-IGNOREEXTRA*
|
||||
spell-KEEPCASE spell.txt /*spell-KEEPCASE*
|
||||
spell-KEY spell.txt /*spell-KEY*
|
||||
spell-LANG spell.txt /*spell-LANG*
|
||||
@@ -7898,6 +7959,7 @@ strcspn() eval.txt /*strcspn()*
|
||||
strdisplaywidth() eval.txt /*strdisplaywidth()*
|
||||
strftime() eval.txt /*strftime()*
|
||||
stridx() eval.txt /*stridx()*
|
||||
string eval.txt /*string*
|
||||
string() eval.txt /*string()*
|
||||
string-functions usr_41.txt /*string-functions*
|
||||
string-match eval.txt /*string-match*
|
||||
@@ -7962,6 +8024,7 @@ sysmouse term.txt /*sysmouse*
|
||||
system() eval.txt /*system()*
|
||||
system-functions usr_41.txt /*system-functions*
|
||||
system-vimrc starting.txt /*system-vimrc*
|
||||
systemlist() eval.txt /*systemlist()*
|
||||
s~ change.txt /*s~*
|
||||
t motion.txt /*t*
|
||||
t: eval.txt /*t:*
|
||||
@@ -8246,6 +8309,7 @@ tex-runon syntax.txt /*tex-runon*
|
||||
tex-slow syntax.txt /*tex-slow*
|
||||
tex-stopzone syntax.txt /*tex-stopzone*
|
||||
tex-style syntax.txt /*tex-style*
|
||||
tex-supersub syntax.txt /*tex-supersub*
|
||||
tex-sync syntax.txt /*tex-sync*
|
||||
tex-verb syntax.txt /*tex-verb*
|
||||
tex.vim syntax.txt /*tex.vim*
|
||||
@@ -8306,6 +8370,7 @@ undo_ftplugin usr_41.txt /*undo_ftplugin*
|
||||
undofile() eval.txt /*undofile()*
|
||||
undotree() eval.txt /*undotree()*
|
||||
unicode mbyte.txt /*unicode*
|
||||
uniq() eval.txt /*uniq()*
|
||||
unix os_unix.txt /*unix*
|
||||
unlisted-buffer windows.txt /*unlisted-buffer*
|
||||
up-down-motions motion.txt /*up-down-motions*
|
||||
@@ -8404,6 +8469,7 @@ v:operator eval.txt /*v:operator*
|
||||
v:prevcount eval.txt /*v:prevcount*
|
||||
v:profiling eval.txt /*v:profiling*
|
||||
v:progname eval.txt /*v:progname*
|
||||
v:progpath eval.txt /*v:progpath*
|
||||
v:register eval.txt /*v:register*
|
||||
v:scrollstart eval.txt /*v:scrollstart*
|
||||
v:searchforward eval.txt /*v:searchforward*
|
||||
@@ -8719,6 +8785,7 @@ window-variable eval.txt /*window-variable*
|
||||
windowid-variable eval.txt /*windowid-variable*
|
||||
windows windows.txt /*windows*
|
||||
windows-3.1 os_win32.txt /*windows-3.1*
|
||||
windows-icon os_win32.txt /*windows-icon*
|
||||
windows-intro windows.txt /*windows-intro*
|
||||
windows-starting windows.txt /*windows-starting*
|
||||
windows.txt windows.txt /*windows.txt*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*term.txt* For Vim version 7.4. Last change: 2013 Mar 13
|
||||
*term.txt* For Vim version 7.4. Last change: 2014 May 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -666,8 +666,8 @@ When the X-server clipboard is available, the command server described in
|
||||
|
||||
*xterm-copy-paste*
|
||||
NOTE: In some (older) xterms, it's not possible to move the cursor past column
|
||||
95. This is an xterm problem, not Vim's. Get a newer xterm |color-xterm|.
|
||||
Now the limit is 223 columns.
|
||||
95 or 223. This is an xterm problem, not Vim's. Get a newer xterm
|
||||
|color-xterm|. Also see |'ttymouse'|.
|
||||
|
||||
Copy/paste in xterm with (current mode NOT included in 'mouse'):
|
||||
1. Press left mouse button on first letter of text, move mouse pointer to last
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 7.4. Last change: 2014 Mar 08
|
||||
*todo.txt* For Vim version 7.4. Last change: 2014 Dec 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -34,139 +34,308 @@ not be repeated below, unless there is extra information.
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Patch to fix list range assign crash. (Yukihiro Nakadaira, 2014 Dec 1)
|
||||
|
||||
Patch to fix range with user command. (Marcin Szamotulski, 2014 Dec 2)
|
||||
Update Dec 6, with support for user commands.
|
||||
|
||||
When window number in Ex range is too high, give an error?
|
||||
Only when backwards compatible.
|
||||
|
||||
:s/\n// doesn't change anything. Since 7.4.232? (Eliseo Martínez, 2014 Nov
|
||||
28) Patch on Issue 287
|
||||
|
||||
Using vim_snprintf() in window.c can be in a function.
|
||||
|
||||
Regexp problems:
|
||||
- NFA regexp doesn't count tab matches correctly. (Urtica Dioica / gaultheria
|
||||
Shallon, 2013 Nov 18)
|
||||
- After patch 7.4.100 there is still a difference between NFA and old engine.
|
||||
25 a's with pattern \v^(aa+)\1+$ (Urtica Dioica, 2013 Nov 21) Also: 9 a's
|
||||
with pattern \v^(a{-2,})\1+$ (Nov 23)
|
||||
- NFA engine combining character mismatch. (glts, 2013 Aug 27)
|
||||
Remark from Dominique, Aug 27
|
||||
- The NFA engine does not implement the time limit passed to
|
||||
nfa_regexec_multi()
|
||||
- Very slow with a long line and Ruby highlighting. (John Whitley, 2014 Dec 4)
|
||||
- Bug with pattern: '\vblock (\d+)\.\n.*\d+%(\1)@<!\.$'
|
||||
(Lech Lorens, 2014 Feb 3)
|
||||
- Issue 164: freeze on regexp search.
|
||||
- NFA problem with non-greedy match and branches. (Ingo Karkat, 2013 Nov 29)
|
||||
- Ignorecase not handled properly for multi-byte characters. (Axel Bender,
|
||||
2013 Dec 11)
|
||||
- Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin Szamotulski
|
||||
Remark from Brett 2014 Jan 6 and 7.
|
||||
- Bug with back references. (Lech Lorens, 2014 Feb 3)
|
||||
- Difference in NFA and old engine. (Brett Stahlman, 2014 Nov 5)
|
||||
- Bug when using \>. (Ramel, 2014 Feb 2) (Aaron Bohannon, 2014 Feb 13)
|
||||
- NFA regexp doesn't handle \%<v correctly. (Ingo Karkat, 2014 May 12)
|
||||
- Does not work with NFA regexp engine:
|
||||
\%u, \%x, \%o, \%d followed by a composing character
|
||||
- Bug relating to back references. (Ingo Karkat, 2014 Jul 24)
|
||||
- Using back reference before the capturing group sometimes works with the old
|
||||
engine, can we do this with the new engine? E.g. with
|
||||
"/\%(<\1>\)\@<=.*\%(<\/\(\w\+\)>\)\@=" matching text inside HTML tags.
|
||||
|
||||
Still using freed memory after using setloclist(). (lcd, 2014 Jul 23)
|
||||
More info Jul 24. Not clear why.
|
||||
|
||||
Patch to make getregtype() return the right size for non-linux systems.
|
||||
(Yasuhiro Matsumoto, 2014 Jul 8)
|
||||
Breaks test_eval. Inefficient, can we only compute y_width when needed?
|
||||
|
||||
Problem that a previous silent ":throw" causes a following try/catch not to
|
||||
work. (ZyX, 2013 Sep 28)
|
||||
|
||||
Patch for VMS. (Zoltan Arpadffy, 2014 Mar 6)
|
||||
|
||||
Euphoria syntax, Shian Lee, Feb 27
|
||||
Patch to fix recognizing function name. (Ozaki Kiichi, 2014 Nov 28)
|
||||
|
||||
":cd C:\Windows\System32\drivers\etc*" does not work, even though the
|
||||
directory exists. (Sergio Gallelli, 2013 Dec 29)
|
||||
|
||||
The entries added by matchaddpos() are returned by getmatches() but can't be
|
||||
set with setmatches(). (lcd47, 2014 Jun 29)
|
||||
|
||||
Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
|
||||
|
||||
Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
|
||||
|
||||
Can't build Vim with Perl when -Dusethreads is not specified for building
|
||||
perl, and building with --enable-perlinterp=dynamic.
|
||||
Patch by Yasuhiro Matsumoto, 2014 Feb 24.
|
||||
|
||||
Update for Clojure ftplugin. (Sung Pae). Await discussion about formatting in
|
||||
ftplugins.
|
||||
|
||||
Update for phpcomplete.vim. (Complex, 2014 Mar 1)
|
||||
|
||||
Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
|
||||
|
||||
Using autoconf 2.69 gives a lot of warnings.
|
||||
Change behavior of v:hlsearch? Patch from Christian, 2014 Oct 22.
|
||||
|
||||
Patch to allow for negative index in string. (LCD, 2014 Feb 13)
|
||||
Feb 14 with test. Or does this intentionally not work?
|
||||
Patch to recover from X server restart: hint on Issue 203 (2014 Nov 21 18:44)
|
||||
|
||||
Issue 197: ]P doesn't paste over Visual selection. With patch from Christian
|
||||
Brabandt, Feb 6. Issue 197.
|
||||
MS-Windows: When editing a file with a leading space, writing it uses the
|
||||
wrong name. (Aram, 2014 Nov 7) Vim 7.4.
|
||||
|
||||
Make 'lispwords' global-local. (Sung Pae, 2014 Feb 16)
|
||||
Add LessCss support. (Jenoma / Alessandro Vioni, 2014 Nov 24)
|
||||
Now with updated license, Nov 24.
|
||||
|
||||
Problem with 'spellsuggest' file, only works for some words.
|
||||
(Cesar Romani, 2013 Aug 20) Depends on file name? (Aug 24)
|
||||
Additional remark by glts: the suggested words are marked bad?
|
||||
patch to remove FEAT_OSFILETYPE from fileio.c. (Christian, 2014 Nov 12)
|
||||
|
||||
8 non-ASCII font names don't work. Need to convert from 'encoding' and use
|
||||
the wide functions. Patch by Ken Takata, 2013 Dec 22.
|
||||
Update 2014 Jan 6.
|
||||
Value returned by virtcol() changes depending on how lines wrap. This is
|
||||
inconsistent with the documentation.
|
||||
|
||||
Ukrainian vimtutor. (Issue 288)
|
||||
|
||||
Regenerate the Unicode tables in mbyte.c.
|
||||
Diff from ZyX, 2014 Dec 6.
|
||||
|
||||
Patch to fix relative numbers. (Christian Brabandt, 2014 Nov 17)
|
||||
Update Nov 26.
|
||||
|
||||
Patch to fix wrong formatting if 'linebreak' is set. (Christian Brabandt, 2014
|
||||
Nov 12)
|
||||
|
||||
Patch to avoid recognizing polkit as hog files. (Issue 292)
|
||||
|
||||
Patch to support hex values for setting option value.
|
||||
(Zyx, 2015 Nov 6)
|
||||
|
||||
On MS-Windows running tests with Mercurial has problems when the fileformat of
|
||||
the input files are changed. (Ken Takata, Taro Muraoka, 2014 Sep 25)
|
||||
Update Nov 5.
|
||||
|
||||
MS-Windows: Crash opening very long file name starting with "\\".
|
||||
(Christian Brock, 2012 Jun 29)
|
||||
|
||||
Cursorline background color not mixed with character highlight.
|
||||
Patch by Yasuhiro Matsumoto, 2014 Dec 3.
|
||||
|
||||
Problem using diff syntax with cp932 encoding. Idea from Yasuhiro Matsumoto,
|
||||
patch from Ken Takata (2014 Nov 6)
|
||||
|
||||
ml_updatechunk() is slow when retrying for another encoding. (John Little,
|
||||
2014 Sep 11)
|
||||
|
||||
Patch to add a different escape sequence for replace mode.
|
||||
(Omar Sandoval, 2014 Nov 30)
|
||||
|
||||
Patch to allow values greater than 255 for ctermfg/ctermbg on Windows.
|
||||
(Yasuhiro Matsumoto, 2014 Dec 5)
|
||||
|
||||
When 'balloonexpr' returns a list the result has a trailing newline.
|
||||
Just remove one trailing newline. (lcd, 2014 Oct 17)
|
||||
|
||||
Make comments in the test Makefile silent. (Kartik Agaram, 2014 Sep 24)
|
||||
|
||||
Result of systemlist() does not show whether text ended in line break.
|
||||
(Bjorn Linse, 2014 Nov 27)
|
||||
|
||||
When in 'comments' "n:x" follows after three-part comment directly it repeats
|
||||
any one-character from the previous line. (Kartik Agaram, 2014 Sep 19)
|
||||
|
||||
Syntax highlighting slow (hangs) in SASS file. (Niek Bosch, 2013 Aug 21)
|
||||
|
||||
Problem with 'errorformat'. Patch by Lcd, 2014 Feb 21. With test.
|
||||
|
||||
Patch for the problem that a mapping where the second byte is 0x80 isn't
|
||||
handled correcly. (Nobuhiro Takasaki, 2014 Feb 11)
|
||||
Update 2014 Mar 8.
|
||||
|
||||
Patch for mksession. (Nobuhiro Takasaki, 2014 Jan 31)
|
||||
Also fixes another problem (following email)
|
||||
|
||||
Patch to use rubyarchhdrdir for Ruby 2.x. (James McCoy, 2014 Feb 24)
|
||||
|
||||
Dynamic Ruby linking issues. Patch by Danek Duvall (2014 Feb 26)
|
||||
and by Yukihiro Nakadaira (2014 Feb 27)
|
||||
|
||||
Patch: Detect grep options for Solaris. (Danek Duvall, 2014 Feb 26)
|
||||
Patch to add the EndOfBuffer highlight group, used instead of NonText for "~"
|
||||
lines. (Marco Hinz, 2014 Nov 2)
|
||||
|
||||
Adding "~" to 'cdpath' doesn't work for completion? (Davido, 2013 Aug 19)
|
||||
|
||||
Syntax file for gnuplot. Existing one is very old. (Andrew Rasmussen, 2014
|
||||
Feb 24)
|
||||
Plugins need to make a lot of effort, lots of mappings, to know what happened
|
||||
before pressing the key that triggers a plugin action. How about keeping the
|
||||
last N pressed keys, so that they do not need to be mapped?
|
||||
|
||||
Crash with ":%s/\n//g" on long file. (Aidan Marlin, 2014 Jan 15)
|
||||
Christian Brabandt: patch to run this into a join. (2014 Jan 18)
|
||||
Suggestion to not save replaced line for undo: Yukihiro Nakadaira, 2014 Jan
|
||||
25.
|
||||
":q!" should reset modified flag for current buffer, if another buffer is
|
||||
modified no need to abandon it again.
|
||||
Patch from Yasuhiro Matsumoto, 2014 Nov 21.
|
||||
Update from Hirohito Higashi, 2014 Nov 21.
|
||||
With test, Nov 23.
|
||||
|
||||
Add digraph for Rouble: =P. What's the Unicode?
|
||||
Wrong scrolling when using incsearch. Patch by Christian Brabandt, 2014 Dec 4.
|
||||
Is this a good solution?
|
||||
|
||||
Bug: "!ls %" expands parenthesis in %, but not spaces. So this doesn't work
|
||||
either: ':!ls "%"'.
|
||||
Patch by Gary Johnson, 2014 Mar 6.
|
||||
Can assign to s:type when a function s:type has been defined.
|
||||
Also the other way around: define a function while a variable with that name
|
||||
was already defined.
|
||||
(Yasuhiro Matsumoto, 2014 Nov 3)
|
||||
|
||||
Issue 174: Detect Mason files.
|
||||
Patch to make closed folds line up. (Charles Campbell, 2014 Sep 12)
|
||||
|
||||
Phpcomplete.vim update. (Complex, 2014 Jan 15)
|
||||
Patch for building a 32bit Vim with 64bit MingW compiler.
|
||||
(Michael Soyka, 2014 Oct 15)
|
||||
|
||||
Delete old code in os_msdos.c, mch_FullName().
|
||||
|
||||
Redo only remembers the last change. Could use "{count}g." to redo an older
|
||||
change. How does the user know which change? At least have a way to list
|
||||
them: ":repeats".
|
||||
|
||||
Using "." to repeat an Ex command puts that command in history. Probably
|
||||
should not happen. If the command is the result of a mapping it's not put in
|
||||
history either. (Jacob Niehus, 2014 Nov 2)
|
||||
Patch from Jacob, Nov 2.
|
||||
|
||||
"hi link" does not respect groups with GUI settings only. (Mark Lodato, 2014
|
||||
Jun 8)
|
||||
|
||||
Bug: Autocompleting ":tag/pat" replaces "/pat" with a match but does not
|
||||
insert a space. (Micha Mos, 2014 Nov 7)
|
||||
|
||||
Patch to add the :bvimgrep command. (Christian Brabandt, 2014 Nov 12)
|
||||
Update Dec 6.
|
||||
|
||||
Patch to add argument to :cquit. (Thinca, 2014 Oct 12)
|
||||
|
||||
No error for missing endwhile. (ZyX, 2014 Mar 20)
|
||||
|
||||
start_global_changes() plus end_global_changes() causes problem for
|
||||
clip_unnamed_plus. (Jason Pleau, 2014 Sep 12)
|
||||
|
||||
Patch to add :arglocal and :arglists. (Marcin Szamotulski, 2014 Aug 6)
|
||||
|
||||
PHP syntax is extremely slow. (Anhad Jai Singh, 2014 Jan 19)
|
||||
|
||||
Spell files use a latin single quote. Unicode also has another single quote:
|
||||
0x2019. (Ron Aaron, 2014 Apr 4)
|
||||
New OpenOffice spell files support this with ICONV. But they are not
|
||||
compatible with Vim spell files. The old files can no longer be downloaded.
|
||||
|
||||
Win32: patch to use 64 bit stat() if possible. (Ken Takata, 2014 May 12)
|
||||
More tests May 14. Update May 29. Update Aug 10.
|
||||
|
||||
The garbage collector may use too much stack. Make set_ref_in_item()
|
||||
iterative instead of recursive. Test program by Marc Weber (2013 Dec 10)
|
||||
Patch by Ben Fritz, 2014 Jun 22.
|
||||
Related: Vim hangs when freeing a lot of objects. Patch by Yasuhiro
|
||||
Matsumoto, 2014 Aug 26.
|
||||
|
||||
Idea: For a window in the middle (has window above and below it), use
|
||||
right-mouse-drag on the status line to move a window up/down without changing
|
||||
its height? It's like dragging the status bar above it at the same time.
|
||||
|
||||
Can we make ":unlet $VAR" use unsetenv() to delete the env var?
|
||||
What for systems that don't have unsetenv()?
|
||||
|
||||
spec ftplugin: patch from Igor Gnatenko, 2014 Jan 26.
|
||||
Include if maintainers don't respond.
|
||||
Patch to add a :domodeline command. (Christian Brabandt, 2014 Oct 21)
|
||||
|
||||
Patch to make has() check for Vim version and patch at the same time.
|
||||
(Marc Weber, 2013 Jun 7)
|
||||
This does not give an error: (Andre Sihera, 2014 Mar 21)
|
||||
vim -u NONE 1 2 3 -c 'bufdo if 1 | echo 1'
|
||||
This neither: (ZyX)
|
||||
vim -u NONE 1 2 3 -c 'bufdo while 1 | echo 1'
|
||||
|
||||
Regression on pach 7.4.034. (Ingo Karkat, 2013 Nov 20)
|
||||
'viewdir' default on MS-Windows is not a good choice, it's a system directory.
|
||||
Change 'viewdir' to "$HOME/vimfiles/view" and use 'viewdiralt' to also read
|
||||
from?
|
||||
|
||||
Patch to include smack support (Linux security library). (Jose Bollo, 2014 Jan
|
||||
14) Update Jan 15.
|
||||
Problem with upwards search on Windows (works OK on Linux). (Brett Stahlman,
|
||||
2014 Jun 8)
|
||||
|
||||
Tag list, as used for :tjump, does not unescape regexp. (Gary Johnson, 2014 Jan
|
||||
6) With patch in another message.
|
||||
Patch to load TCL dynamically. (Ken Takata, 2014 Sep 20)
|
||||
|
||||
Include a plugin manager with Vim? Neobundle seems to be the best currently.
|
||||
Long message about this from ZyX, 2014 Mar 23. And following replies.
|
||||
Also see http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html
|
||||
User view:
|
||||
- Support multiple sources, basically any http:// URL. Be able to look into
|
||||
the files before deciding to install.
|
||||
- Be able to try out a plugin and remove it again with (almost) no traces.
|
||||
- Each plugin needs a "manifest" file that has the version, dependencies
|
||||
(including Vim version and features), conflicts, list of files, etc.
|
||||
Updater uses that to decide what/how to update.
|
||||
Dependencies can use a URL for specific versions, or short name for scripts
|
||||
on vim.org.
|
||||
- Once a plugin is installed it remembers where it came from, updater checks
|
||||
there. Can manually update when really needed.
|
||||
- Must be possible to install for one user. Also system wide?
|
||||
- Can edit plugin config with Vim. Can temporarily disable a plugin.
|
||||
- Run the update manually, find latest version and install.
|
||||
- Be able to download without special tools, must work for 95% of users.
|
||||
Implementation:
|
||||
- Avoid the 'runtimepath' getting long. Need some other way to keep each
|
||||
plugin separate.
|
||||
- When installing or updating, first figure out what needs to be done. This
|
||||
may involve recursively fetching manifest files for dependencies. Then show
|
||||
the user what's going to change and ask for OK.
|
||||
- Scripts on Vim.org must be able to consist of several files. Is zip format
|
||||
sufficient? Upload the manifest? Or refer to a site that has the manifest?
|
||||
- Best is to fetch individual files or use a Vimball. Reduces dependency on
|
||||
tools that might be missing and allows inspection of the files before
|
||||
installing.
|
||||
Out of scope:
|
||||
- Overview of plugins, ratings, comments, etc. That's another world.
|
||||
- Development work on plugins (although diff with distributed version would be
|
||||
useful).
|
||||
|
||||
Setting the spell file in a session only reads the local additions, not the
|
||||
normal spell file. (Enno Nagel, 2014 Mar 29)
|
||||
|
||||
CTRL-] in Visual mode uses the selected text as a tag. This does not work
|
||||
when preceded with CTRL-W. (Patrick Hemmer, 2014 Jun 28)
|
||||
|
||||
When typing the first character of a command, e.g. "f", then using a menu, the
|
||||
menu item doesn't work. Clear typeahead when using a menu?
|
||||
|
||||
Editing an ascii file as ucs-2 or ucs-4 causes display errors.
|
||||
(ZyX, 2014 Mar 30)
|
||||
|
||||
":Next 1 some-arg" does not complain about trailing argument. Also for
|
||||
various other commands. (ZyX, 2014 Mar 30)
|
||||
|
||||
patch to skip sort if no line matches the expression.
|
||||
(Christian Brabandt, 2014 Jun 25)
|
||||
|
||||
Patch to add sortuniq(). (Cade Forester, 2014 Mar 19)
|
||||
Or add uniq() instead? Patch by lcd47, but it has problems.
|
||||
|
||||
Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct
|
||||
30)
|
||||
|
||||
Patch to support expression argument to sort() instead of a function name.
|
||||
Yasuhiro Matsumoto, 2013 May 31.
|
||||
Or should we add a more general mechanism, like a lambda() function?
|
||||
Patch by Yasuhiro Matsumoto, 2014 Sep 16.
|
||||
|
||||
Patch to fix display of listchars on the cursorline. (Nayuri Aohime, 2013)
|
||||
Update suggested by Yasuhiro Matsumoto, 2014 Nov 25:
|
||||
https://gist.github.com/presuku/d3d6b230b9b6dcfc0477
|
||||
|
||||
VMS: Select() doesn't work properly, typing ESC may hang Vim. Use sys$qiow
|
||||
instead. (Samuel Ferencik, 2013 Sep 28)
|
||||
|
||||
Series of patches for NL vs NUL handling. (ZyX, 2013 Nov 3, Nov 9)
|
||||
|
||||
Patch for XDG base directory support. (Jean François Bignolles, 2014 Mar 4)
|
||||
Remark on the docs. Should not be a compile time feature. But then what?
|
||||
|
||||
Patch to add flag to shortmess to avoid giving completion messages.
|
||||
(Shougo Matsu, 2014 Jan 6, update Jan 11)
|
||||
Completion of ":e" is ":earlier", should be ":edit". Complete to the matching
|
||||
command instead of doing this alphabetically. (Mikel Jorgensen)
|
||||
|
||||
Patch to add v:completed_item. (Shougo Matsu, 2013 Nov 29).
|
||||
|
||||
Patch to make test 100 work on MS-Windows. (Taro Muraoka, 2013 Dec 12)
|
||||
Patch to get MSVC version in a nicer way. (Ken Takata, 2014 Jul 24)
|
||||
|
||||
Patch to define macros for hardcoded values. (Elias Diem, 2013 Dec 14)
|
||||
|
||||
Perl: support for Activestate perl 5.18: Issue 170.
|
||||
|
||||
Several syntax file match "^\s*" which may get underlined if that's in the
|
||||
highlight group. Add a "\zs" after it?
|
||||
|
||||
@@ -175,13 +344,13 @@ Issue 28.
|
||||
|
||||
Go through more coverity reports.
|
||||
|
||||
Patch to add ":undorecover", get as much text out of the undo file as
|
||||
possible. (Christian Brabandt, 2014 Mar 12, update Aug 22)
|
||||
|
||||
Include Haiku port? (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
|
||||
|
||||
Updated spec ftplugin. (Matěj Cepl, 2013 Oct 16)
|
||||
|
||||
Some quickfix messages appear twice. (Gary Johnson, 2014 Feb 16)
|
||||
Patch by Christian Brabandt, 2014 Feb 17.
|
||||
|
||||
Patch to right-align signs. (James Kolb (email james), 2013 Sep 23)
|
||||
|
||||
Patch to handle integer overflow. (Aaron Burrow, 2013 Dec 12)
|
||||
@@ -190,7 +359,7 @@ With "$" in 'cpoptions' the popup menu isn't fully drawn. (Matti Niemenmaa,
|
||||
2013 Sep 5)
|
||||
|
||||
Patch to add "ntab" item in 'listchars' to repeat first character. (Nathaniel
|
||||
Braun, pragm, 2013 Oct 13) Again 2014 Mar 5.
|
||||
Braun, pragm, 2013 Oct 13) A better solution 2014 Mar 5.
|
||||
|
||||
Undo message is not always properly displayed. Patch by Ken Takata, 2013 oct
|
||||
3. Doesn't work properly according to Yukihiro Nakadaira.
|
||||
@@ -234,19 +403,12 @@ buffer. (2013 Dec 9)
|
||||
Patch for drag&drop reordering of GUI tab pages reordering.
|
||||
(Ken Takata, 2013 Nov 22, second one, also by Masamichi Abe)
|
||||
|
||||
":sign-jump" uses first window in buffer instead of current window.
|
||||
Patch by James McCoy, 2013 Nov 22.
|
||||
|
||||
GTK: problem with 'L' in 'guioptions' changing the window width.
|
||||
(Aaron Cornelius, 2012 Feb 6)
|
||||
|
||||
Patch to add option that tells whether small deletes go into the numbered
|
||||
registers. (Aryeh Leib Taurog, 2013 Nov 18)
|
||||
|
||||
Win32: use different args for SearchPath()? (Yasuhiro Matsumoto, 2009 Jan 30)
|
||||
Also fixes wrong result from executable().
|
||||
Update from Ken Takata, 2014 Jan 10.
|
||||
|
||||
Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3.
|
||||
|
||||
The BufUnload event is triggered when re-using the empty buffer.
|
||||
@@ -268,19 +430,12 @@ Works OK for echo, just not for ":call" and ":call call()". (Ted, 2011 Mar
|
||||
Patch by Christian Brabandt, 2013 Mar 23.
|
||||
Not 100% sure this is the right solution.
|
||||
|
||||
Patch to support expression argument to sort() instead of a function name.
|
||||
Yasuhiro Matsumoto, 2013 May 31.
|
||||
Or should we add a more general mechanism, like lambda functions?
|
||||
|
||||
Problem caused by patch 7.3.638: window->open does not update window
|
||||
correctly. Issue 91.
|
||||
|
||||
Patch to add {lhs} to :mapclear: clear all maps starting with {lhs}.
|
||||
(Christian Brabandt, 2013 Dec 9)
|
||||
|
||||
The garbage collector may use too much stack. Make set_ref_in_item()
|
||||
iterative instead of recursive. Test program by Marc Weber (2013 Dec 10)
|
||||
|
||||
Exception caused by argument of return is not caught by try/catch.
|
||||
(David Barnett, 2013 Nov 19)
|
||||
|
||||
@@ -321,12 +476,10 @@ 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.
|
||||
Update by Daniel Hahler, 2014 Jul 4, Aug 14, Oct 14, Oct 15.
|
||||
|
||||
Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec)
|
||||
|
||||
MS-Windows: Patch to make tests copy files to avoid changing the fileformat of
|
||||
the files under version control. (Taro Muraoka, 2013 Jul 5)
|
||||
|
||||
Issue 54: document behavior of -complete, also expands arg.
|
||||
|
||||
- Add regex for 'paragraphs' and 'sections': 'parare' and 'sectre'. Combine
|
||||
@@ -335,9 +488,6 @@ Patch by Christian Brabandt, 2013 Apr 20, unfinished.
|
||||
|
||||
Bug: findfile("any", "file:///tmp;") does not work.
|
||||
|
||||
v:register is not directly reset to " after a delete command that specifies a
|
||||
register. It is reset after the next command. (Steve Vermeulen, 2013 Mar 16)
|
||||
|
||||
'ff' is wrong for one-line file without EOL. (Issue 77)
|
||||
|
||||
Patch to set antialiasing style on Windows. (Ondrej Balaz, 2013 Mar 14)
|
||||
@@ -347,12 +497,10 @@ In the ATTENTION message about an existing swap file, mention the name of the
|
||||
process that is running. It might actually be some other program, e.g. after
|
||||
a reboot.
|
||||
|
||||
MS-Windows: Crash opening very long file name starting with "\\".
|
||||
(Christian Brock, 2012 Jun 29)
|
||||
|
||||
Patch to have text objects defined by arbitrary single characters. (Daniel
|
||||
Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)
|
||||
Ben Fritz: problem with 'selection' set to "exclusive".
|
||||
Updated to current Vim, not quite right yet. (Ben Fritz, 2014 Mar 27)
|
||||
|
||||
Patch to select the next or previous text object if there isn't one under the
|
||||
cursor. (Daniel Thau, 2013 Nov 20)
|
||||
@@ -380,13 +528,6 @@ signs? Patch by Christian Brabandt, 2013 Aug 22.
|
||||
|
||||
Patch to remove flicker from popup menu. (Yasuhiro Matsumoto, 2013 Aug 15)
|
||||
|
||||
Patch to use directX to draw text on Windows. Adds the 'renderoptions'
|
||||
option. (Taro Muraoka, 2013 Jan 25, update 2013 Apr 3, May 14)
|
||||
Fixes this problem:
|
||||
8 Win32: Multi-byte characters are not displayed, even though the same font
|
||||
in Notepad can display them. (Srinath Avadhanula) Try with the
|
||||
UTF-8-demo.txt page with Andale Mono.
|
||||
|
||||
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
|
||||
@@ -419,9 +560,6 @@ Should be possible to enable/disable matchparen per window or buffer.
|
||||
Add a check for b:no_match_paren in Highlight_matching_Pair() (Marcin
|
||||
Szamotulski, 2012 Nov 8)
|
||||
|
||||
Crash in autocmd that unloads buffers in a BufUnload event. (Andrew Pimlott,
|
||||
2012 Aug 11) Disallow :new when BufUnload is being handled?
|
||||
|
||||
Issue 72: 'autochdir' causes problems for :vimgrep.
|
||||
|
||||
Session file creation: 'autochdir' causes trouble. Keep it off until after
|
||||
@@ -444,6 +582,14 @@ MS-Windows resizing problems:
|
||||
causes the window to move unnecessarily. (William E. Skeith III, 2012 Jan
|
||||
12) Patch: 2012 Jan 13 Needs more work (2012 Feb 2)
|
||||
|
||||
Patch to use Modern UI 2.0 for the Nsis installer. (Guopeng Wen, 2010 Jul 30)
|
||||
Latest version: 2011 May 18
|
||||
8 Windows install with NSIS: make it possible to do a silent install, see
|
||||
http://nsis.sourceforge.net/Docs/Chapter4.html#4.12
|
||||
Version from Guopeng Wen that does this (2010 Dec 27)
|
||||
Alternative: MSI installer: https://github.com/petrkle/vim-msi/
|
||||
Or the one on Issue 279
|
||||
|
||||
'iminsert' global value set when using ":setlocal iminsert"? (Wu, 2012 Jun 23)
|
||||
|
||||
Patch to append regexp to tag commands to make it possible to select one out
|
||||
@@ -454,10 +600,6 @@ Patch to add tagfunc(). Cleaned up by Christian Brabandt, 2013 Jun 22.
|
||||
Help for 'b:undo_indent'. (Thilo Six, 2012 May 28)
|
||||
Also question if examples are correct.
|
||||
|
||||
It should be possible to make globpath() return a list instead of a string,
|
||||
like with glob(). (Greg Novack, 2012 Nov 2)
|
||||
Patch by Adnan Zafar, 2013 Jul 15.
|
||||
|
||||
The input map for CTRL-O in mswin.vim causes problems after CTRL-X CTRL-O.
|
||||
Suggestion for another map. (Philip Mat, 2012 Jun 18)
|
||||
But use "gi" instead of "a". Or use CTRL-\ CTRL-O.
|
||||
@@ -468,11 +610,18 @@ Aug 16)
|
||||
When there are no command line arguments ":next" and ":argu" give E163, which
|
||||
is confusing. Should say "the argument list is empty".
|
||||
|
||||
xterm supports escape sequences to mark a paste operation. Need to be
|
||||
enabled. (Bruno Sutic, 2014 Jul 11) How to know the terminal supports this?
|
||||
|
||||
URXVT:
|
||||
- will get stuck if byte sequence does not contain the expected semicolon.
|
||||
- Use urxvt mouse support also in xterm. Explanations:
|
||||
http://www.midnight-commander.org/ticket/2662
|
||||
|
||||
Patch to have the fold and sign column and at the last line of the buffer.
|
||||
(Marco Hinz, 2014 Sep 25)
|
||||
Alternate suggestion: let all columns continue, also the number column.
|
||||
|
||||
Patch to add tests for if_xcmdsrv.c., Jul 8, need some more work. (Brian Burns)
|
||||
New tests Jul 13. Update Jul 17. Discussion Jul 18.
|
||||
|
||||
@@ -495,14 +644,6 @@ Apr 18)
|
||||
Patch for has('unnamedplus') docs. (Tony Mechelynck, 2011 Sep 27)
|
||||
And one for gui_x11.txt.
|
||||
|
||||
- Patch for 'breakindent' option: repeat indent for wrapped line. (Vaclav
|
||||
Smilauer, 2004 Sep 13, fix Oct 31, update 2007 May 30)
|
||||
Version for latest MacVim: Tobia Conforto, 2009 Nov 23
|
||||
More recent version: https://retracile.net/wiki/VimBreakIndent
|
||||
Posted to vim-dev by Taylor Hedberg, 2011 Nov 25
|
||||
Update by Taylor Hedberg, 2013 May 30.
|
||||
Updated for Vim 7.4 by Ken Takata, 2013 Oct 5.
|
||||
|
||||
":cd" doesn't work when current directory path contains "**".
|
||||
finddir() has the same problem. (Yukihiro Nakadaira, 2012 Jan 10)
|
||||
Requires a rewrite of the file_file_in_path code.
|
||||
@@ -556,6 +697,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)
|
||||
|
||||
The :syntax cchar value can only be a single character. It would be useful to
|
||||
support combining characters. (Charles Campbell)
|
||||
|
||||
'cursorline' works on a text line only. Add 'cursorscreenline' for
|
||||
highlighting the screen line. (Christian Brabandt, 2012 Mar 31)
|
||||
|
||||
@@ -611,7 +755,8 @@ Patch to make "z=" work when 'spell' is off. Does this have nasty side
|
||||
effects? (Christian Brabandt, 2012 Aug 5, Update 2013 Aug 12)
|
||||
Would also need to do this for spellbadword() and spellsuggest().
|
||||
|
||||
Patch for variable tabstops.
|
||||
Patch for variable tabstops. On github (Christian Brabandt, 2014 May 15)
|
||||
Update Aug 16 (email).
|
||||
|
||||
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
|
||||
@@ -653,9 +798,6 @@ Build problem with small features on Mac OS X 10.6. (Rainer, 2011 Jan 24)
|
||||
|
||||
"0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22)
|
||||
|
||||
Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct
|
||||
30)
|
||||
|
||||
Patch to addd TextDeletePost and TextYankPost events. (Philippe Vaucher, 2011
|
||||
May 24) Update May 26.
|
||||
|
||||
@@ -682,6 +824,10 @@ Need for CursorHold that retriggers. Use a key that doesn't do anything, or a
|
||||
function that resets did_cursorhold.
|
||||
Patch by Christian Brabandt, 2011 May 6.
|
||||
|
||||
Add event for when the text scrolls. A bit like CursorMoved. Also a similar
|
||||
one for insert mode. Use the event in matchparen to update the highlight if
|
||||
the match scrolls into view.
|
||||
|
||||
7 Use "++--", "+++--" for different levels instead of "+---" "+----".
|
||||
Patch by Christian Brabandt, 2011 Jul 27.
|
||||
Update by Ben Fritz, with fix for TOhtml. (2011 Jul 30)
|
||||
@@ -741,9 +887,6 @@ crash? (Raiwil, 2010 Nov 17)
|
||||
Patch to add FoldedLineNr highlighting: different highlighting for the line
|
||||
number of a closed fold. (eXerigumo Clanjor, 2013 Jul 15)
|
||||
|
||||
Does not work with NFA regexp engine:
|
||||
- \%u, \%x, \%o, \%d followed by a composing character
|
||||
|
||||
Regexp engine performance:
|
||||
- Profiling:
|
||||
./vim -u NONE -s ~/vim/test/ruby.vim
|
||||
@@ -773,7 +916,7 @@ Assume the system converts between the actual encoding of the filesystem to
|
||||
the system encoding (usually utf-8).
|
||||
|
||||
Patch to add GUI colors to the terminal, when it supports it. (ZyX, 2013 Jan
|
||||
26, update 2013 Dec 14)
|
||||
26, update 2013 Dec 14, another 2014 Nov 22)
|
||||
|
||||
Problem producing tags file when hebrew.frx is present. It has a BOM.
|
||||
Results in E670. (Tony Mechelynck, 2010 May 2)
|
||||
@@ -788,10 +931,6 @@ setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11)
|
||||
file names unique, also support this for 'backupdir'. (Mikolaj Machowski)
|
||||
Patch by Christian Brabandt, 2010 Oct 21.
|
||||
|
||||
getpos()/setpos() don't include curswant. getpos() could return a fifth
|
||||
element. setpos() could accept an optional fifth element.
|
||||
Patch by Christian Brabandt, 2010 Sep 6. Again 2013 Aug 22.
|
||||
|
||||
With "tw=55 fo+=a" typing space before ) doesn't work well. (Scott Mcdermott,
|
||||
2010 Oct 24)
|
||||
|
||||
@@ -833,8 +972,6 @@ Patch: Let rare word highlighting overrule good word highlighting.
|
||||
When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines
|
||||
instead of one. (Constantin Pan, 2010 Sep 10)
|
||||
|
||||
Crash in setqflist(). (Benoit Mortgat, 2010 Nov 18)
|
||||
|
||||
Gui menu edit/paste in block mode insert only inserts in one line (Bjorn
|
||||
Winckler, 2011 May 11)
|
||||
Requires a map mode for Insert mode started from blockwise Visual mode.
|
||||
@@ -948,6 +1085,12 @@ to avoid changing 'eventignore'?
|
||||
Patch for displaying 0x200c and 0x200d. (Ali Gholami Rudi, 2009 May 6)
|
||||
Probably needs a bit of work.
|
||||
|
||||
Patch to add farsi handling to arabic.c (Ali Gholami Rudi, 2009 May 2)
|
||||
Added test, updates, June 23.
|
||||
Updated for 7.4: http://litcave.rudi.ir/farsi_vim.diff
|
||||
With modification for Tatweel character: https://dpaste.de/VmFw
|
||||
Remark from Ameretat Reith (2014 Oct 13)
|
||||
|
||||
List of encoding aliases. (Takao Fujiwara, 2009 Jul 18)
|
||||
Are they all OK? Update Jul 22.
|
||||
|
||||
@@ -966,10 +1109,6 @@ on the first character. (John Beckett, 2010 Aug 7)
|
||||
Setting 'tags' to "tagsdir/*" does not find "tagsdir/tags". (Steven K. Wong,
|
||||
2009 Jul 18)
|
||||
|
||||
Patch to add farsi handling to arabic.c (Ali Gholami Rudi, 2009 May 2)
|
||||
Added test, updates, June 23.
|
||||
Updated for 7.4: http://litcave.rudi.ir/farsi_vim.diff
|
||||
|
||||
Patch to add "focusonly" to 'scrollopt', so that scrollbind also applies in
|
||||
window that doesn't have focus. (Jonathon Mah, 2009 Jan 12)
|
||||
Needs more work.
|
||||
@@ -1064,6 +1203,11 @@ Session file generates error upon loading, cause by --remote-silent-tab.
|
||||
Using ~ works OK on 'a' with composing char, but not on 0x0418 with composing
|
||||
char 0x0301. (Tony Mechelynck, 2009 Mar 4)
|
||||
|
||||
Searching for composing char works, but not when inside []. (ZyX, Benjamin R.
|
||||
Haskell, 2010 Aug 24)
|
||||
|
||||
This does not work yet: "a\(%C\)" (get composing characters into a submatch).
|
||||
|
||||
A function on a dictionary is not profiled. (ZyX, 2010 Dec 25)
|
||||
|
||||
Inconsistent: starting with $LANG set to es_ES.utf-8 gives Spanish
|
||||
@@ -1148,6 +1292,7 @@ is executed.
|
||||
|
||||
":pedit %" with a BufReadPre autocommand causes the cursor to move to the
|
||||
first line. (Ingo Karkat, 2008 Jul 1) Ian Kelling is working on this.
|
||||
Similar problem with ":e". (Marc Montu, 2014 Apr 22)
|
||||
|
||||
Wildmenu not deleted: "gvim -u NONE", ":set nocp wildmenu cmdheight=3
|
||||
laststatus=2", CTRL-D CTRL-H CTRL-H CTRL-H. (A.Politz, 2008 April 1)
|
||||
@@ -1291,9 +1436,6 @@ When 'smartcase' is set and using CTRL-L to add to the search pattern it may
|
||||
result in no matches. Convert chars to lower case? (Erik Wognsen, 2009 Apr
|
||||
16)
|
||||
|
||||
Searching for composing char works, but not when inside []. (ZyX, Benjamin R.
|
||||
Haskell, 2010 Aug 24)
|
||||
|
||||
Fail to edit file after failed register access. Error flag remains set?
|
||||
(Lech Lorens, 2010 Aug 30)
|
||||
|
||||
@@ -1328,10 +1470,6 @@ Jul 31)
|
||||
C syntax: {} inside () causes following {} to be highlighted as error.
|
||||
(Michalis Giannakidis, 2006 Jun 1)
|
||||
|
||||
Can't easily close the help window, like ":pc" closes the preview window and
|
||||
":ccl" closes the quickfix window. Add ":hclose". (Chris Gaal)
|
||||
Patch for :helpclose, Christian Brabandt, 2010 Sep 6.
|
||||
|
||||
When 'diffopt' has "context:0" a single deleted line causes two folds to merge
|
||||
and mess up syncing. (Austin Jennings, 2008 Jan 31)
|
||||
|
||||
@@ -1405,8 +1543,8 @@ files with "foo/**" in 'path'. (Kalisiak, 2006 July 15)
|
||||
Additional info: When using the |wildcards| ** globing, vim hangs
|
||||
indefinitely on lots of directories. The |file-searching| globing, like in
|
||||
":set path=/**" does not hang as often as with globing with |wildcards|, like
|
||||
in ":1find /**/file". This is for a files that unix "find" can find very
|
||||
quick. Merging the 2 kinds of globing might make this an easier fix. (Ian
|
||||
in ":1find /**/file". This is for files that unix "find" can find very
|
||||
quickly. Merging the 2 kinds of globing might make this an easier fix. (Ian
|
||||
Kelling, 2008 July 4)
|
||||
|
||||
When the file name has parenthesis, e.g., "foo (bar).txt", ":!ls '%'" has the
|
||||
@@ -1438,13 +1576,6 @@ with "gvim -nb:localhost:55555:foo". From nc do: '1:editFile!0 "foo"'. Then
|
||||
go to Insert mode and add a few lines. Then backspacing every other time
|
||||
moves the cursor instead of deleting. (Chris Kaiser, 2007 Sep 25)
|
||||
|
||||
Patch to use Modern UI 2.0 for the Nsis installer. (Guopeng Wen, 2010 Jul 30)
|
||||
Latest version: 2011 May 18
|
||||
8 Windows install with NSIS: make it possible to do a silent install, see
|
||||
http://nsis.sourceforge.net/Docs/Chapter4.html#4.12
|
||||
Version from Guopeng Wen that does this (2010 Dec 27)
|
||||
Alternative: MSI installer: https://github.com/petrkle/vim-msi/
|
||||
|
||||
Windows installer should install 32-bit version of right-click handler also on
|
||||
64-bit systems. (Brian Cunningham, 2011 Dec 28)
|
||||
|
||||
@@ -1468,8 +1599,6 @@ Changes for Win32 makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov,
|
||||
Win32: Can't complete shell command names. Why is setting xp_context in
|
||||
set_one_cmd_context() inside #ifndef BACKSLASH_IN_FILENAME?
|
||||
|
||||
Win32: Patch for convert_filterW(). (Taro Muraoka, 2007 Mar 2)
|
||||
|
||||
Win32: Patch for cscope external command. (Mike Williams, 2007 Aug 7)
|
||||
|
||||
Win32: XPM support only works with path without spaces. Patch by Mathias
|
||||
@@ -1495,6 +1624,7 @@ Engelke, 2007 Dec 20 - 2008 Jan 17)
|
||||
|
||||
Win64: Seek error in swap file for a very big file (3 Gbyte). Check storing
|
||||
pointer in long and seek offset in 64 bit var.
|
||||
Patches from Ken Takata might help (2014 Apr 17)
|
||||
|
||||
Win32: patch for fullscreen mode. (Liushaolin, 2008 April 17)
|
||||
|
||||
@@ -1859,6 +1989,10 @@ restored. (Luc St-Louis)
|
||||
Patch to support horizontal scroll wheel in GTK. Untested. (Bjorn Winckler,
|
||||
2010 Jun 30)
|
||||
|
||||
Add an option for a minimal text length before inserting a line break for
|
||||
'textwidth'. Avoids very short lines when a very long word follows.
|
||||
(Kartik Agaram)
|
||||
|
||||
|
||||
At next release:
|
||||
- Build a huge version by default.
|
||||
@@ -1897,7 +2031,7 @@ More patches:
|
||||
- testdir/Make_dos_sh.mak for running tests with MingW. (Bill Mccarthy, 2008
|
||||
Sep 13)
|
||||
- Patch for adding "space" item in 'listchars'. (Jérémie Roquet, 2009 Oct 29,
|
||||
Docs patch Oct 30, update David Burgin (glts) 2013 Aug 24)
|
||||
Docs patch Oct 30, update David Burgin (glts) 2013 Aug 24, 2014 Oct 10)
|
||||
- Replace ccomplete.vim by cppcomplete.vim from www.vim.org? script 1520 by
|
||||
Vissale Neang. (Martin Stubenschrott) Asked Vissale to make the scripts
|
||||
more friendly for the Vim distribution.
|
||||
@@ -2768,8 +2902,6 @@ Problems that will (probably) not be solved:
|
||||
input method called from GDK code. Without Perl it doesn't crash.
|
||||
- VMS: Vimdiff doesn't work with the VMS diff, because the output looks
|
||||
different. This makes test 47 fail. Install a Unix-compatible diff.
|
||||
- VMS v7.1 and older: Tests 21 and 32 fail. From VMS v7.1-2 and newer Vim
|
||||
does not have this behavior. (Zoltan Arpadffy)
|
||||
- Win32 GUI: mouse wheel always scrolls rightmost window. The events arrive
|
||||
in Vim as if the rightmost scrollbar was used.
|
||||
- GTK with Gnome: Produces an error message when starting up:
|
||||
@@ -3028,6 +3160,8 @@ Spell checking:
|
||||
|
||||
|
||||
Diff mode:
|
||||
9 When making small changes, e.g. deleting a character, update the diff.
|
||||
Possibly without running diff.
|
||||
9 Instead invoking an external diff program, use builtin code. One can be
|
||||
found here: http://www.ioplex.com/~miallen/libmba/dl/src/diff.c
|
||||
It's quite big and badly documented though.
|
||||
@@ -3123,12 +3257,8 @@ Multi-byte characters:
|
||||
8 toupper() function doesn't handle byte count changes.
|
||||
7 Searching and composing characters:
|
||||
When searching, should order of composing characters be ignored?
|
||||
Add special item to match with a composing character, zero-width, so that
|
||||
one can replace a base character and keep the composing characters.
|
||||
Add a special item to match with a composing character, so that composing
|
||||
characters can be manipulated.
|
||||
Add a modifier to ignore composing characters, only compare base
|
||||
characters. Useful for Hebrew (Ron Aaron)
|
||||
8 Should implement 'delcombine' for command line editing.
|
||||
8 Detect overlong UTF-8 sequences and handle them like illegal bytes.
|
||||
8 ":s/x/\u\1/" doesn't work, making uppercase isn't done for multi-byte
|
||||
@@ -3926,7 +4056,6 @@ Autocommands:
|
||||
when exiting isn't a good idea.
|
||||
CursorHoldC - CursorHold while command-line editing
|
||||
WinMoved - when windows have been moved around, e.g, ":wincmd J"
|
||||
CmdUndefined - Like FuncUndefined but for user commands.
|
||||
SearchPost - After doing a search command (e.g. to do "M")
|
||||
PreDirChanged/PostDirChanged
|
||||
- Before/after ":cd" has been used (for changing the
|
||||
@@ -4234,8 +4363,7 @@ Insert mode:
|
||||
7 Use Tabs for the indent of starting lines, pad with spaces for
|
||||
continuation lines. Allows changing 'tabstop' without messing up the
|
||||
indents.
|
||||
'keeptabs': when set don't change the tabs and spaces used for indent,
|
||||
when the indent remains the same or increases.
|
||||
Patch by Lech Lorens, 2010 Mar. Update by James McCoy, 2014 Mar 15.
|
||||
|
||||
|
||||
Java:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*undo.txt* For Vim version 7.4. Last change: 2013 Sep 08
|
||||
*undo.txt* For Vim version 7.4. Last change: 2014 May 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -97,9 +97,9 @@ change but joins in with the previous change use this command:
|
||||
or redo.
|
||||
{not in Vi}
|
||||
|
||||
This is most useful when you need to prompt the user halfway a change. For
|
||||
example in a function that calls |getchar()|. Do make sure that there was a
|
||||
related change before this that you must join with.
|
||||
This is most useful when you need to prompt the user halfway through a change.
|
||||
For example in a function that calls |getchar()|. Do make sure that there was
|
||||
a related change before this that you must join with.
|
||||
|
||||
This doesn't work by itself, because the next key press will start a new
|
||||
change again. But you can do something like this: >
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_04.txt* For Vim version 7.4. Last change: 2008 Sep 06
|
||||
*usr_04.txt* For Vim version 7.4. Last change: 2014 Aug 29
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -186,7 +186,7 @@ commands:
|
||||
/four<Enter> find the first string "four"
|
||||
cwfive<Esc> change the word to "five"
|
||||
n find the next "four"
|
||||
. repeat the change to "five'
|
||||
. repeat the change to "five"
|
||||
n find the next "four"
|
||||
. repeat the change
|
||||
etc.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_08.txt* For Vim version 7.4. Last change: 2006 Jul 18
|
||||
*usr_08.txt* For Vim version 7.4. Last change: 2014 Jul 06
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -532,7 +532,7 @@ window. And you will notice a bar at the top with the two file names:
|
||||
|
||||
You now have two tab pages. The first one has a window for "thisfile" and the
|
||||
second one a window for "thatfile". It's like two pages that are on top of
|
||||
eachother, with a tab sticking out of each page showing the file name.
|
||||
each other, with a tab sticking out of each page showing the file name.
|
||||
|
||||
Now use the mouse to click on "thisfile" in the top line. The result is
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_25.txt* For Vim version 7.4. Last change: 2007 May 11
|
||||
*usr_25.txt* For Vim version 7.4. Last change: 2014 Oct 29
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -402,7 +402,7 @@ the cursor keys: >
|
||||
:map <Down> gj
|
||||
|
||||
|
||||
TURNING A PARAGRAPH INTO ONE LINE
|
||||
TURNING A PARAGRAPH INTO ONE LINE *edit-paragraph-join*
|
||||
|
||||
If you want to import text into a program like MS-Word, each paragraph should
|
||||
be a single line. If your paragraphs are currently separated with empty
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 7.4. Last change: 2014 Jan 10
|
||||
*usr_41.txt* For Vim version 7.4. Last change: 2014 Aug 16
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -623,6 +623,7 @@ List manipulation: *list-functions*
|
||||
map() change each List item
|
||||
sort() sort a List
|
||||
reverse() reverse the order of a List
|
||||
uniq() remove copies of repeated adjacent items
|
||||
split() split a String into a List
|
||||
join() join List items into a String
|
||||
range() return a List with a sequence of numbers
|
||||
@@ -707,6 +708,7 @@ Cursor and mark position: *cursor-functions* *mark-functions*
|
||||
cursor() position the cursor at a line/column
|
||||
screencol() get screen column of the cursor
|
||||
screenrow() get screen row of the cursor
|
||||
getcurpos() get position of the cursor
|
||||
getpos() get position of cursor, mark, etc.
|
||||
setpos() set position of cursor, mark, etc.
|
||||
byte2line() get line number at a specific byte count
|
||||
@@ -741,6 +743,7 @@ System functions and manipulation of files:
|
||||
pathshorten() shorten directory names in a path
|
||||
simplify() simplify a path without changing its meaning
|
||||
executable() check if an executable program exists
|
||||
exepath() full path of an executable program
|
||||
filereadable() check if a file can be read
|
||||
filewritable() check if a file can be written to
|
||||
getfperm() get the permissions of a file
|
||||
@@ -753,7 +756,8 @@ System functions and manipulation of files:
|
||||
mkdir() create a new directory
|
||||
delete() delete a file
|
||||
rename() rename a file
|
||||
system() get the result of a shell command
|
||||
system() get the result of a shell command as a string
|
||||
systemlist() get the result of a shell command as a list
|
||||
hostname() name of the system
|
||||
readfile() read a file into a List of lines
|
||||
writefile() write a List of lines into a file
|
||||
@@ -769,6 +773,7 @@ Date and Time: *date-functions* *time-functions*
|
||||
Buffers, windows and the argument list:
|
||||
argc() number of entries in the argument list
|
||||
argidx() current position in the argument list
|
||||
arglistid() get id of the argument list
|
||||
argv() get one entry from the argument list
|
||||
bufexists() check if a buffer exists
|
||||
buflisted() check if a buffer exists and is listed
|
||||
@@ -788,6 +793,7 @@ Command line: *command-line-functions*
|
||||
getcmdpos() get position of the cursor in the command line
|
||||
setcmdpos() set position of the cursor in the command line
|
||||
getcmdtype() return the current command-line type
|
||||
getcmdwintype() return the current command-line window type
|
||||
|
||||
Quickfix and location lists: *quickfix-functions*
|
||||
getqflist() list of quickfix errors
|
||||
@@ -822,6 +828,7 @@ Syntax and highlighting: *syntax-functions* *highlighting-functions*
|
||||
synconcealed() get info about concealing
|
||||
diff_hlID() get highlight ID for diff mode at a position
|
||||
matchadd() define a pattern to highlight (a "match")
|
||||
matchaddpos() define a list of positions to highlight
|
||||
matcharg() get info about |:match| arguments
|
||||
matchdelete() delete a match defined by |matchadd()| or a
|
||||
|:match| command
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 7.4. Last change: 2013 May 18
|
||||
*various.txt* For Vim version 7.4. Last change: 2014 Aug 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -234,25 +234,41 @@ g8 Print the hex values of the bytes used in the
|
||||
*:!cmd* *:!* *E34*
|
||||
:!{cmd} Execute {cmd} with the shell. See also the 'shell'
|
||||
and 'shelltype' option.
|
||||
|
||||
Any '!' in {cmd} is replaced with the previous
|
||||
external command (see also 'cpoptions'). But not when
|
||||
there is a backslash before the '!', then that
|
||||
backslash is removed. Example: ":!ls" followed by
|
||||
":!echo ! \! \\!" executes "echo ls ! \!".
|
||||
After the command has been executed, the timestamp of
|
||||
the current file is checked |timestamp|.
|
||||
|
||||
A '|' in {cmd} is passed to the shell, you cannot use
|
||||
it to append a Vim command. See |:bar|.
|
||||
|
||||
If {cmd} contains "%" it is expanded to the current
|
||||
file name. Special characters are not escaped, use
|
||||
quotes to avoid their special meaning: >
|
||||
:!ls "%"
|
||||
< If the file name contains a "$" single quotes might
|
||||
work better (but a single quote causes trouble): >
|
||||
:!ls '%'
|
||||
< This should always work, but it's more typing: >
|
||||
:exe "!ls " . shellescape(expand("%"))
|
||||
<
|
||||
A newline character ends {cmd}, what follows is
|
||||
interpreted as a following ":" command. However, if
|
||||
there is a backslash before the newline it is removed
|
||||
and {cmd} continues. It doesn't matter how many
|
||||
backslashes are before the newline, only one is
|
||||
removed.
|
||||
|
||||
On Unix the command normally runs in a non-interactive
|
||||
shell. If you want an interactive shell to be used
|
||||
(to use aliases) set 'shellcmdflag' to "-ic".
|
||||
For Win32 also see |:!start|.
|
||||
|
||||
After the command has been executed, the timestamp and
|
||||
size of the current file is checked |timestamp|.
|
||||
|
||||
Vim redraws the screen after the command is finished,
|
||||
because it may have printed any text. This requires a
|
||||
hit-enter prompt, so that you can read any messages.
|
||||
@@ -321,6 +337,7 @@ N *+dialog_con* Support for |:confirm| with console dialog.
|
||||
N *+dialog_con_gui* Support for |:confirm| with GUI and console dialog.
|
||||
N *+diff* |vimdiff| and 'diff'
|
||||
N *+digraphs* |digraphs| *E196*
|
||||
m *+directx* Win32 GUI only: DirectX and |'renderoptions'|
|
||||
*+dnd* Support for DnD into the "~ register |quote_~|.
|
||||
B *+emacs_tags* |emacs-tags| files
|
||||
N *+eval* expression evaluation |eval.txt|
|
||||
@@ -363,6 +380,7 @@ N *+mouse* Mouse handling |mouse-using|
|
||||
N *+mouseshape* |'mouseshape'|
|
||||
B *+mouse_dec* Unix only: Dec terminal mouse handling |dec-mouse|
|
||||
N *+mouse_gpm* Unix only: Linux console mouse handling |gpm-mouse|
|
||||
N *+mouse_jsbterm* JSB mouse handling |jsbterm-mouse|
|
||||
B *+mouse_netterm* Unix only: netterm mouse handling |netterm-mouse|
|
||||
N *+mouse_pterm* QNX only: pterm mouse handling |qnx-terminal|
|
||||
N *+mouse_sysmouse* Unix only: *BSD console mouse handling |sysmouse|
|
||||
@@ -418,7 +436,7 @@ N *+user_commands* User-defined commands. |user-commands|
|
||||
N *+viminfo* |'viminfo'|
|
||||
N *+vertsplit* Vertically split windows |:vsplit|
|
||||
N *+virtualedit* |'virtualedit'|
|
||||
S *+visual* Visual mode |Visual-mode|
|
||||
S *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200.
|
||||
N *+visualextra* extra Visual mode commands |blockwise-operators|
|
||||
N *+vreplace* |gR| and |gr|
|
||||
N *+wildignore* |'wildignore'|
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version6.txt* For Vim version 7.4. Last change: 2013 Jul 28
|
||||
*version6.txt* For Vim version 7.4. Last change: 2014 Aug 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -7816,7 +7816,7 @@ Files: src/buffer.c, src/eval.c, src/ex_docmd.c, src/fileio.c,
|
||||
Patch 6.1.212
|
||||
Problem: When Vim was started with "-R" ":new" creates a buffer
|
||||
'noreadonly' while ":enew" has 'readonly' set. (Preben Guldberg)
|
||||
Solution: Don't set 'readonly in a new empty buffer for ":enew".
|
||||
Solution: Don't set 'readonly' in a new empty buffer for ":enew".
|
||||
Files: src/ex_docmd.c
|
||||
|
||||
Patch 6.1.213
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version7.txt* For Vim version 7.4. Last change: 2013 Nov 18
|
||||
*version7.txt* For Vim version 7.4. Last change: 2014 Aug 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -942,6 +942,7 @@ New and extended functions: ~
|
||||
|tagfiles()| List with tags file names
|
||||
|taglist()| get list of matching tags (Yegappan Lakshmanan)
|
||||
|tr()| translate characters (Ron Aaron)
|
||||
|uniq()| remove copies of repeated adjacent list items
|
||||
|values()| get List of Dictionary values
|
||||
|winnr()| takes an argument: what window to use
|
||||
|winrestview()| restore the view of the current window
|
||||
@@ -1625,10 +1626,10 @@ and merge it back in.
|
||||
When running the tests and one of them fails to produce "test.out" the
|
||||
following tests are still executed. This helps when running out of memory.
|
||||
|
||||
When compiling with EXITFREE defined and the ccmalloc library it is possible
|
||||
to detect memory leaks. Some memory will always reported as leaked, such as
|
||||
allocated by X11 library functions and the memory allocated in alloc_cmdbuff()
|
||||
to store the ":quit" command.
|
||||
When compiling with EXITFREE defined and the ccmalloc library, it is possible
|
||||
to detect memory leaks. Some memory will always be reported as leaked, such
|
||||
as allocated by X11 library functions and the memory allocated in
|
||||
alloc_cmdbuff() to store the ":quit" command.
|
||||
|
||||
Moved the code for printing to src/hardcopy.c.
|
||||
|
||||
@@ -2037,8 +2038,8 @@ Removed the "COUNT" flag from ":argadd", to avoid ":argadd 1*" to be used like
|
||||
|
||||
Avoid that $LANG is used for the menus when LC_MESSAGES is "en_US".
|
||||
|
||||
Added backslashes before dashes in the vim.1 manual page to make the appear as
|
||||
real dashes. (Pierr Habouzit)
|
||||
Added backslashes before dashes in the vim.1 manual page to make them appear
|
||||
as real dashes. (Pierre Habouzit)
|
||||
|
||||
Where "gq" left the cursor depended on the value of 'formatprg'. Now "gq"
|
||||
always leaves the cursor at the last line of the formatted text.
|
||||
@@ -2048,7 +2049,7 @@ detection may try to check the contents of the file while it's still
|
||||
compressed. Skip setting 'filetype' for compressed files until they have been
|
||||
decompressed. Required for patterns that end in a "*".
|
||||
|
||||
Starting with an argument "+cmd" or "-S script" causes the cursor the be moved
|
||||
Starting with an argument "+cmd" or "-S script" causes the cursor to be moved
|
||||
to the first line. That breaks a BufReadPost autocommand that uses g`".
|
||||
Don't move the cursor if it's somewhere past the first line.
|
||||
|
||||
@@ -6484,7 +6485,7 @@ Patch 7.1.282 (extra)
|
||||
Problem: Win64: Edit with Vim context menu isn't installed correctly.
|
||||
Compiler warnings and a few other things.
|
||||
Solution: Add [ and ] to entry of class name. Use UINT_PTR instead of UINT.
|
||||
And a fixes for the other things. (George V. Reilly)
|
||||
And fixes for other things. (George V. Reilly)
|
||||
Files: src/GvimExt/Makefile, src/dosinst.c, src/if_ole.cpp, src/if_ole.h,
|
||||
src/if_ole.idl, src/INSTALLpc.txt, src/Make_mvc.mak,
|
||||
src/os_win32.c,
|
||||
@@ -15782,7 +15783,7 @@ Files: src/if_py_both.h, src/if_python3.c, src/testdir/test86.in,
|
||||
src/testdir/test87.ok
|
||||
|
||||
Patch 7.3.944
|
||||
Problem: External program receives the termrespone.
|
||||
Problem: External program receives the termresponse.
|
||||
Solution: Insert a delay and discard input. (Hayaki Saito)
|
||||
Files: src/term.c
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*visual.txt* For Vim version 7.4. Last change: 2013 Nov 02
|
||||
*visual.txt* For Vim version 7.4. Last change: 2014 Mar 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -22,7 +22,7 @@ This is introduced in section |04.4| of the user manual.
|
||||
|
||||
{Vi has no Visual mode, the name "visual" is used for Normal mode, to
|
||||
distinguish it from Ex mode}
|
||||
{not available when the |+visual| feature was disabled when compiling}
|
||||
{Since Vim 7.4.200 the |+visual| feature is always included}
|
||||
|
||||
==============================================================================
|
||||
1. Using Visual mode *visual-use*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*windows.txt* For Vim version 7.4. Last change: 2012 Nov 15
|
||||
*windows.txt* For Vim version 7.4. Last change: 2014 Dec 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -132,13 +132,20 @@ that have termcap codes for italics.
|
||||
CTRL-W s *CTRL-W_s*
|
||||
CTRL-W S *CTRL-W_S*
|
||||
CTRL-W CTRL-S *CTRL-W_CTRL-S*
|
||||
:[N]sp[lit] [++opt] [+cmd] *:sp* *:split*
|
||||
:[N]sp[lit] [++opt] [+cmd] [file] *:sp* *:split*
|
||||
Split current window in two. The result is two viewports on
|
||||
the same file. Make new window N high (default is to use half
|
||||
the height of the current window). Reduces the current window
|
||||
height to create room (and others, if the 'equalalways' option
|
||||
is set, 'eadirection' isn't "hor", and one of them is higher
|
||||
than the current or the new window).
|
||||
the same file.
|
||||
|
||||
Make the new window N high (default is to use half the height
|
||||
of the current window). Reduces the current window height to
|
||||
create room (and others, if the 'equalalways' option is set,
|
||||
'eadirection' isn't "hor", and one of them is higher than the
|
||||
current or the new window).
|
||||
|
||||
If [file] is given it will be edited in the new window. If it
|
||||
is not loaded in any buffer, it will be read. Else the new
|
||||
window will use the already loaded buffer.
|
||||
|
||||
Note: CTRL-S does not work on all terminals and might block
|
||||
further input, use CTRL-Q to get going again.
|
||||
Also see |++opt| and |+cmd|.
|
||||
@@ -256,28 +263,57 @@ left of the Vim window.
|
||||
Closing a window
|
||||
----------------
|
||||
|
||||
:q[uit]
|
||||
:{count}q[uit]
|
||||
CTRL-W q *CTRL-W_q*
|
||||
CTRL-W CTRL-Q *CTRL-W_CTRL-Q*
|
||||
:q[uit] Quit current window. When quitting the last window (not
|
||||
counting a help window), exit Vim.
|
||||
Without {count}: Quit the current window. If {count} is
|
||||
given quit the {count} window.
|
||||
|
||||
When quitting the last window (not counting a help window),
|
||||
exit Vim.
|
||||
|
||||
When 'hidden' is set, and there is only one window for the
|
||||
current buffer, it becomes hidden.
|
||||
When 'hidden' is not set, and there is only one window for the
|
||||
current buffer, and the buffer was changed, the command fails.
|
||||
(Note: CTRL-Q does not work on all terminals)
|
||||
current buffer, it becomes hidden. When 'hidden' is not set,
|
||||
and there is only one window for the current buffer, and the
|
||||
buffer was changed, the command fails.
|
||||
|
||||
(Note: CTRL-Q does not work on all terminals).
|
||||
|
||||
If [count] is greater than the last window number the last
|
||||
window will be closed: >
|
||||
:1quit " quit the first window
|
||||
:$quit " quit the last window
|
||||
:9quit " quit the last window
|
||||
" if there are less than 9 windows opened
|
||||
:-quit " quit the previews window
|
||||
:+quit " quit the next window
|
||||
:+2quit " quit the second next window
|
||||
<
|
||||
:q[uit]!
|
||||
:{count}q[uit]!
|
||||
Without {count}: Quit the current window. If {count} is
|
||||
given quit the {count} window.
|
||||
|
||||
:q[uit]! Quit current window. If this was the last window for a buffer,
|
||||
any changes to that buffer are lost. When quitting the last
|
||||
window (not counting help windows), exit Vim. The contents of
|
||||
the buffer are lost, even when 'hidden' is set.
|
||||
If this was the last window for a buffer, any changes to that
|
||||
buffer are lost. When quitting the last window (not counting
|
||||
help windows), exit Vim. The contents of the buffer are lost,
|
||||
even when 'hidden' is set.
|
||||
|
||||
:clo[se][!]
|
||||
:{count}clo[se][!]
|
||||
CTRL-W c *CTRL-W_c* *:clo* *:close*
|
||||
:clo[se][!] Close current window. When the 'hidden' option is set, or
|
||||
when the buffer was changed and the [!] is used, the buffer
|
||||
becomes hidden (unless there is another window editing it).
|
||||
Without {count}: Close the current window. If {count} is
|
||||
given close the {count} window.
|
||||
|
||||
When the 'hidden' option is set, or when the buffer was
|
||||
changed and the [!] is used, the buffer becomes hidden (unless
|
||||
there is another window editing it).
|
||||
|
||||
When there is only one window in the current tab page and
|
||||
there is another tab page, this closes the current tab page.
|
||||
|tab-page|.
|
||||
|
||||
This command fails when: *E444*
|
||||
- There is only one window on the screen.
|
||||
- When 'hidden' is not set, [!] is not used, the buffer has
|
||||
@@ -291,14 +327,19 @@ CTRL-W CTRL-C *CTRL-W_CTRL-C*
|
||||
command.
|
||||
|
||||
*:hide*
|
||||
:hid[e] Quit current window, unless it is the last window on the
|
||||
screen. The buffer becomes hidden (unless there is another
|
||||
window editing it or 'bufhidden' is "unload" or "delete").
|
||||
:hid[e]
|
||||
:{count}hid[e]
|
||||
Quit the current window, unless it is the last window on the
|
||||
screen. For {count} see |:quit| command.
|
||||
|
||||
The buffer becomes hidden (unless there is another window
|
||||
editing it or 'bufhidden' is "unload", "delete" or "wipe").
|
||||
If the window is the last one in the current tab page the tab
|
||||
page is closed. |tab-page|
|
||||
The value of 'hidden' is irrelevant for this command.
|
||||
Changes to the buffer are not written and won't get lost, so
|
||||
this is a "safe" command.
|
||||
page is closed. |tab-page|
|
||||
|
||||
The value of 'hidden' is irrelevant for this command. Changes
|
||||
to the buffer are not written and won't get lost, so this is a
|
||||
"safe" command.
|
||||
|
||||
:hid[e] {cmd} Execute {cmd} with 'hidden' is set. The previous value of
|
||||
'hidden' is restored after {cmd} has been executed.
|
||||
@@ -307,12 +348,16 @@ CTRL-W CTRL-C *CTRL-W_CTRL-C*
|
||||
< This will edit "Makefile", and hide the current buffer if it
|
||||
has any changes.
|
||||
|
||||
:on[ly][!]
|
||||
:{count}on[ly][!]
|
||||
CTRL-W o *CTRL-W_o* *E445*
|
||||
CTRL-W CTRL-O *CTRL-W_CTRL-O* *:on* *:only*
|
||||
:on[ly][!] Make the current window the only one on the screen. All other
|
||||
windows are closed.
|
||||
Make the current window the only one on the screen. All other
|
||||
windows are closed. For {count} see |:quit| command.
|
||||
|
||||
When the 'hidden' option is set, all buffers in closed windows
|
||||
become hidden.
|
||||
|
||||
When 'hidden' is not set, and the 'autowrite' option is set,
|
||||
modified buffers are written. Otherwise, windows that have
|
||||
buffers that are modified are not removed, unless the [!] is
|
||||
@@ -719,18 +764,21 @@ the buffer. The result is that all buffers will use the 'encoding' encoding
|
||||
|
||||
CTRL-W ] *CTRL-W_]* *CTRL-W_CTRL-]*
|
||||
CTRL-W CTRL-] Split current window in two. Use identifier under cursor as a
|
||||
tag and jump to it in the new upper window. Make new window N
|
||||
high.
|
||||
tag and jump to it in the new upper window.
|
||||
In Visual mode uses the Visually selected text as a tag.
|
||||
Make new window N high.
|
||||
|
||||
*CTRL-W_g]*
|
||||
CTRL-W g ] Split current window in two. Use identifier under cursor as a
|
||||
tag and perform ":tselect" on it in the new upper window.
|
||||
In Visual mode uses the Visually selected text as a tag.
|
||||
Make new window N high.
|
||||
|
||||
*CTRL-W_g_CTRL-]*
|
||||
CTRL-W g CTRL-] Split current window in two. Use identifier under cursor as a
|
||||
tag and perform ":tjump" on it in the new upper window. Make
|
||||
new window N high.
|
||||
tag and perform ":tjump" on it in the new upper window.
|
||||
In Visual mode uses the Visually selected text as a tag.
|
||||
Make new window N high.
|
||||
|
||||
CTRL-W f *CTRL-W_f* *CTRL-W_CTRL-F*
|
||||
CTRL-W CTRL-F Split current window in two. Edit file name under cursor.
|
||||
@@ -982,7 +1030,11 @@ list of buffers. |unlisted-buffer|
|
||||
Actually, the buffer isn't completely deleted, it is removed
|
||||
from the buffer list |unlisted-buffer| and option values,
|
||||
variables and mappings/abbreviations for the buffer are
|
||||
cleared.
|
||||
cleared. Examples: >
|
||||
:.,$-bdelete " delete buffers from the current one to
|
||||
" last but one
|
||||
:%bdelete " delete all buffers
|
||||
<
|
||||
|
||||
:bdelete[!] {bufname} *E93* *E94*
|
||||
Like ":bdelete[!] [N]", but buffer given by name. Note that a
|
||||
@@ -1006,7 +1058,11 @@ list of buffers. |unlisted-buffer|
|
||||
Like |:bdelete|, but really delete the buffer. Everything
|
||||
related to the buffer is lost. All marks in this buffer
|
||||
become invalid, option settings are lost, etc. Don't use this
|
||||
unless you know what you are doing.
|
||||
unless you know what you are doing. Examples: >
|
||||
:.+,$bwipeout " wipe out all buffers after the current
|
||||
" one
|
||||
:%bwipeout " wipe out all buffers
|
||||
<
|
||||
|
||||
:[N]bun[load][!] *:bun* *:bunload* *E515*
|
||||
:bun[load][!] [N]
|
||||
@@ -1035,36 +1091,41 @@ list of buffers. |unlisted-buffer|
|
||||
a number). Insert a backslash before a space in a buffer
|
||||
name.
|
||||
|
||||
:[N]b[uffer][!] [N] *:b* *:bu* *:buf* *:buffer* *E86*
|
||||
:[N]b[uffer][!] [+cmd] [N] *:b* *:bu* *:buf* *:buffer* *E86*
|
||||
Edit buffer [N] from the buffer list. If [N] is not given,
|
||||
the current buffer remains being edited. See |:buffer-!| for
|
||||
[!]. This will also edit a buffer that is not in the buffer
|
||||
list, without setting the 'buflisted' flag.
|
||||
Also see ||+cmd|.
|
||||
|
||||
:[N]b[uffer][!] {bufname}
|
||||
:[N]b[uffer][!] [+cmd] {bufname}
|
||||
Edit buffer for {bufname} from the buffer list. See
|
||||
|:buffer-!| for [!]. This will also edit a buffer that is not
|
||||
in the buffer list, without setting the 'buflisted' flag.
|
||||
Also see ||+cmd|.
|
||||
|
||||
:[N]sb[uffer] [N] *:sb* *:sbuffer*
|
||||
:[N]sb[uffer] [+cmd] [N] *:sb* *:sbuffer*
|
||||
Split window and edit buffer [N] from the buffer list. If [N]
|
||||
is not given, the current buffer is edited. Respects the
|
||||
"useopen" setting of 'switchbuf' when splitting. This will
|
||||
also edit a buffer that is not in the buffer list, without
|
||||
setting the 'buflisted' flag.
|
||||
Also see ||+cmd|.
|
||||
|
||||
:[N]sb[uffer] {bufname}
|
||||
:[N]sb[uffer] [+cmd] {bufname}
|
||||
Split window and edit buffer for {bufname} from the buffer
|
||||
list. This will also edit a buffer that is not in the buffer
|
||||
list, without setting the 'buflisted' flag.
|
||||
Note: If what you want to do is split the buffer, make a copy
|
||||
under another name, you can do it this way: >
|
||||
:w foobar | sp #
|
||||
< Also see ||+cmd|.
|
||||
|
||||
:[N]bn[ext][!] [N] *:bn* *:bnext* *E87*
|
||||
:[N]bn[ext][!] [+cmd] [N] *:bn* *:bnext* *E87*
|
||||
Go to [N]th next buffer in buffer list. [N] defaults to one.
|
||||
Wraps around the end of the buffer list.
|
||||
See |:buffer-!| for [!].
|
||||
Also see ||+cmd|.
|
||||
If you are in a help buffer, this takes you to the next help
|
||||
buffer (if there is one). Similarly, if you are in a normal
|
||||
(non-help) buffer, this takes you to the next normal buffer.
|
||||
@@ -1072,55 +1133,61 @@ list of buffers. |unlisted-buffer|
|
||||
the way when you're browsing code/text buffers. The next three
|
||||
commands also work like this.
|
||||
|
||||
|
||||
*:sbn* *:sbnext*
|
||||
:[N]sbn[ext] [N]
|
||||
:[N]sbn[ext] [+cmd] [N]
|
||||
Split window and go to [N]th next buffer in buffer list.
|
||||
Wraps around the end of the buffer list. Uses 'switchbuf'
|
||||
Also see ||+cmd|.
|
||||
|
||||
:[N]bN[ext][!] [N] *:bN* *:bNext* *:bp* *:bprevious* *E88*
|
||||
:[N]bp[revious][!] [N]
|
||||
:[N]bN[ext][!] [+cmd] [N] *:bN* *:bNext* *:bp* *:bprevious* *E88*
|
||||
:[N]bp[revious][!] [+cmd] [N]
|
||||
Go to [N]th previous buffer in buffer list. [N] defaults to
|
||||
one. Wraps around the start of the buffer list.
|
||||
See |:buffer-!| for [!] and 'switchbuf'.
|
||||
Also see ||+cmd|.
|
||||
|
||||
:[N]sbN[ext] [N] *:sbN* *:sbNext* *:sbp* *:sbprevious*
|
||||
:[N]sbp[revious] [N]
|
||||
:[N]sbN[ext] [+cmd] [N] *:sbN* *:sbNext* *:sbp* *:sbprevious*
|
||||
:[N]sbp[revious] [+cmd] [N]
|
||||
Split window and go to [N]th previous buffer in buffer list.
|
||||
Wraps around the start of the buffer list.
|
||||
Uses 'switchbuf'.
|
||||
Also see ||+cmd|.
|
||||
|
||||
*:br* *:brewind*
|
||||
:br[ewind][!] Go to first buffer in buffer list. If the buffer list is
|
||||
:br[ewind][!] [+cmd] *:br* *:brewind*
|
||||
Go to first buffer in buffer list. If the buffer list is
|
||||
empty, go to the first unlisted buffer.
|
||||
See |:buffer-!| for [!].
|
||||
|
||||
*:bf* *:bfirst*
|
||||
:bf[irst] Same as ":brewind".
|
||||
:bf[irst] [+cmd] *:bf* *:bfirst*
|
||||
Same as |:brewind|.
|
||||
Also see |+cmd|.
|
||||
|
||||
*:sbr* *:sbrewind*
|
||||
:sbr[ewind] Split window and go to first buffer in buffer list. If the
|
||||
:sbr[ewind] [+cmd] *:sbr* *:sbrewind*
|
||||
Split window and go to first buffer in buffer list. If the
|
||||
buffer list is empty, go to the first unlisted buffer.
|
||||
Respects the 'switchbuf' option.
|
||||
Also see |+cmd|.
|
||||
|
||||
*:sbf* *:sbfirst*
|
||||
:sbf[irst] Same as ":sbrewind".
|
||||
:sbf[irst] [+cmd] *:sbf* *:sbfirst*
|
||||
Same as ":sbrewind".
|
||||
|
||||
*:bl* *:blast*
|
||||
:bl[ast][!] Go to last buffer in buffer list. If the buffer list is
|
||||
:bl[ast][!] [+cmd] *:bl* *:blast*
|
||||
Go to last buffer in buffer list. If the buffer list is
|
||||
empty, go to the last unlisted buffer.
|
||||
See |:buffer-!| for [!].
|
||||
|
||||
*:sbl* *:sblast*
|
||||
:sbl[ast] Split window and go to last buffer in buffer list. If the
|
||||
:sbl[ast] [+cmd] *:sbl* *:sblast*
|
||||
Split window and go to last buffer in buffer list. If the
|
||||
buffer list is empty, go to the last unlisted buffer.
|
||||
Respects 'switchbuf' option.
|
||||
|
||||
:[N]bm[odified][!] [N] *:bm* *:bmodified* *E84*
|
||||
:[N]bm[odified][!] [+cmd] [N] *:bm* *:bmodified* *E84*
|
||||
Go to [N]th next modified buffer. Note: this command also
|
||||
finds unlisted buffers. If there is no modified buffer the
|
||||
command fails.
|
||||
|
||||
:[N]sbm[odified] [N] *:sbm* *:sbmodified*
|
||||
:[N]sbm[odified] [+cmd] [N] *:sbm* *:sbmodified*
|
||||
Split window and go to [N]th next modified buffer.
|
||||
Respects 'switchbuf' option.
|
||||
Note: this command also finds buffers not in the buffer list.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2014 Feb 26
|
||||
" Last Change: 2014 Dec 06
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -530,6 +530,9 @@ au BufNewFile,BufRead configure.in,configure.ac setf config
|
||||
" CUDA Cumpute Unified Device Architecture
|
||||
au BufNewFile,BufRead *.cu setf cuda
|
||||
|
||||
" Dockerfile
|
||||
au BufNewFile,BufRead Dockerfile setf dockerfile
|
||||
|
||||
" WildPackets EtherPeek Decoder
|
||||
au BufNewFile,BufRead *.dcd setf dcd
|
||||
|
||||
@@ -779,6 +782,9 @@ 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 */.config/git/config setf gitconfig
|
||||
if !empty($XDG_CONFIG_HOME)
|
||||
au BufNewFile,BufRead $XDG_CONFIG_HOME/git/config setf gitconfig
|
||||
endif
|
||||
au BufNewFile,BufRead git-rebase-todo setf gitrebase
|
||||
au BufNewFile,BufRead .msg.[0-9]*
|
||||
\ if getline(1) =~ '^From.*# This line is ignored.$' |
|
||||
@@ -811,6 +817,9 @@ au BufNewFile,BufRead {,.}gitolite.rc,example.gitolite.rc setf perl
|
||||
" Gnuplot scripts
|
||||
au BufNewFile,BufRead *.gpi setf gnuplot
|
||||
|
||||
" Go (Google)
|
||||
au BufNewFile,BufRead *.go setf go
|
||||
|
||||
" GrADS scripts
|
||||
au BufNewFile,BufRead *.gs setf grads
|
||||
|
||||
@@ -864,7 +873,7 @@ func! s:FThtml()
|
||||
setf xhtml
|
||||
return
|
||||
endif
|
||||
if getline(n) =~ '{%\s*\(extends\|block\)\>'
|
||||
if getline(n) =~ '{%\s*\(extends\|block\|load\)\>'
|
||||
setf htmldjango
|
||||
return
|
||||
endif
|
||||
@@ -989,7 +998,7 @@ au BufNewFile,BufRead *.java,*.jav setf java
|
||||
au BufNewFile,BufRead *.jj,*.jjt setf javacc
|
||||
|
||||
" JavaScript, ECMAScript
|
||||
au BufNewFile,BufRead *.js,*.javascript,*.es,*.jsx,*.json setf javascript
|
||||
au BufNewFile,BufRead *.js,*.javascript,*.es,*.jsx setf javascript
|
||||
|
||||
" Java Server Pages
|
||||
au BufNewFile,BufRead *.jsp setf jsp
|
||||
@@ -1007,12 +1016,18 @@ au BufNewFile,BufRead *.jgr setf jgraph
|
||||
" Jovial
|
||||
au BufNewFile,BufRead *.jov,*.j73,*.jovial setf jovial
|
||||
|
||||
" JSON
|
||||
au BufNewFile,BufRead *.json,*.jsonp setf json
|
||||
|
||||
" Kixtart
|
||||
au BufNewFile,BufRead *.kix setf kix
|
||||
|
||||
" Kimwitu[++]
|
||||
au BufNewFile,BufRead *.k setf kwt
|
||||
|
||||
" Kivy
|
||||
au BufNewFile,BufRead *.kv setf kivy
|
||||
|
||||
" KDE script
|
||||
au BufNewFile,BufRead *.ks setf kscript
|
||||
|
||||
@@ -1092,6 +1107,9 @@ au BufNewFile,BufRead *.lou,*.lout setf lout
|
||||
" Lua
|
||||
au BufNewFile,BufRead *.lua setf lua
|
||||
|
||||
" Luarocks
|
||||
au BufNewFile,BufRead *.rockspec setf lua
|
||||
|
||||
" Linden Scripting Language (Second Life)
|
||||
au BufNewFile,BufRead *.lsl setf lsl
|
||||
|
||||
@@ -1136,10 +1154,10 @@ au BufNewFile,BufRead *.mv,*.mpl,*.mws setf maple
|
||||
au BufNewFile,BufRead *.map setf map
|
||||
|
||||
" Markdown
|
||||
au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,README.md setf markdown
|
||||
au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,*.md setf markdown
|
||||
|
||||
" Mason
|
||||
au BufNewFile,BufRead *.mason,*.mhtml setf mason
|
||||
au BufNewFile,BufRead *.mason,*.mhtml,*.comp setf mason
|
||||
|
||||
" Matlab or Objective C
|
||||
au BufNewFile,BufRead *.m call s:FTm()
|
||||
@@ -1228,8 +1246,8 @@ au BufNewFile,BufRead *.mod
|
||||
\ setf modsim3 |
|
||||
\ endif
|
||||
|
||||
" Modula 2
|
||||
au BufNewFile,BufRead *.m2,*.DEF,*.MOD,*.md,*.mi setf modula2
|
||||
" Modula 2 (.md removed in favor of Markdown)
|
||||
au BufNewFile,BufRead *.m2,*.DEF,*.MOD,*.mi setf modula2
|
||||
|
||||
" Modula 3 (.m3, .i3, .mg, .ig)
|
||||
au BufNewFile,BufRead *.[mi][3g] setf modula3
|
||||
@@ -1646,6 +1664,20 @@ else
|
||||
au BufNewFile,BufRead *.rnw,*.snw setf rnoweb
|
||||
endif
|
||||
|
||||
" R Markdown file
|
||||
if has("fname_case")
|
||||
au BufNewFile,BufRead *.Rmd,*.rmd,*.Smd,*.smd setf rmd
|
||||
else
|
||||
au BufNewFile,BufRead *.rmd,*.smd setf rmd
|
||||
endif
|
||||
|
||||
" R reStructuredText file
|
||||
if has("fname_case")
|
||||
au BufNewFile,BufRead *.Rrst,*.rrst,*.Srst,*.srst setf rrst
|
||||
else
|
||||
au BufNewFile,BufRead *.rrst,*.srst setf rrst
|
||||
endif
|
||||
|
||||
" Rexx, Rebol or R
|
||||
au BufNewFile,BufRead *.r,*.R call s:FTr()
|
||||
|
||||
@@ -1824,7 +1856,7 @@ au BufNewFile,BufRead sgml.catalog* call s:StarSetf('catalog')
|
||||
|
||||
" Shell scripts (sh, ksh, bash, bash2, csh); Allow .profile_foo etc.
|
||||
" Gentoo ebuilds are actually bash scripts
|
||||
au BufNewFile,BufRead .bashrc*,bashrc,bash.bashrc,.bash_profile*,.bash_logout*,*.bash,*.ebuild call SetFileTypeSH("bash")
|
||||
au BufNewFile,BufRead .bashrc*,bashrc,bash.bashrc,.bash_profile*,.bash_logout*,.bash_aliases*,*.bash,*.ebuild call SetFileTypeSH("bash")
|
||||
au BufNewFile,BufRead .kshrc*,*.ksh call SetFileTypeSH("ksh")
|
||||
au BufNewFile,BufRead */etc/profile,.profile*,*.sh,*.env call SetFileTypeSH(getline(1))
|
||||
|
||||
@@ -2294,6 +2326,9 @@ au BufNewFile,BufRead vgrindefs setf vgrindefs
|
||||
" VRML V1.0c
|
||||
au BufNewFile,BufRead *.wrl setf vrml
|
||||
|
||||
" Vroom (vim testing and executable documentation)
|
||||
au BufNewFile,BufRead *.vroom setf vroom
|
||||
|
||||
" Webmacro
|
||||
au BufNewFile,BufRead *.wm setf webmacro
|
||||
|
||||
@@ -2467,6 +2502,8 @@ au BufNewFile,BufRead */etc/yum.conf setf dosini
|
||||
|
||||
" Zimbu
|
||||
au BufNewFile,BufRead *.zu setf zimbu
|
||||
" Zimbu Templates
|
||||
au BufNewFile,BufRead *.zut setf zimbutempl
|
||||
|
||||
" Zope
|
||||
" dtml (zope dynamic template markup language), pt (zope page template),
|
||||
@@ -2661,7 +2698,7 @@ au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh')
|
||||
|
||||
" Plain text files, needs to be far down to not override others. This avoids
|
||||
" the "conf" type being used if there is a line starting with '#'.
|
||||
au BufNewFile,BufRead *.txt,*.text setf text
|
||||
au BufNewFile,BufRead *.txt,*.text,README setf text
|
||||
|
||||
|
||||
" Use the filetype detect plugins. They may overrule any of the previously
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
" Maintainer: Sung Pae <self@sungpae.com>
|
||||
" URL: https://github.com/guns/vim-clojure-static
|
||||
" License: Same as Vim
|
||||
" Last Change: 08 September 2013
|
||||
" Last Change: 27 March 2014
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -15,7 +15,7 @@ let b:did_ftplugin = 1
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = 'setlocal iskeyword< define< formatoptions< comments< commentstring<'
|
||||
let b:undo_ftplugin = 'setlocal iskeyword< define< formatoptions< comments< commentstring< lispwords<'
|
||||
|
||||
setlocal iskeyword+=?,-,*,!,+,/,=,<,>,.,:,$
|
||||
|
||||
@@ -23,14 +23,29 @@ setlocal iskeyword+=?,-,*,!,+,/,=,<,>,.,:,$
|
||||
" of user-defined def* definitions.
|
||||
setlocal define=\\v[(/]def(ault)@!\\S*
|
||||
|
||||
" Remove 't' from 'formatoptions' to avoid auto-wrapping code. The '+=croql'
|
||||
" is standard ftplugin boilerplate, although it is arguably intrusive.
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
" Remove 't' from 'formatoptions' to avoid auto-wrapping code.
|
||||
setlocal formatoptions-=t
|
||||
|
||||
" Lisp comments are routinely nested (e.g. ;;; SECTION HEADING)
|
||||
setlocal comments=n:;
|
||||
setlocal commentstring=;\ %s
|
||||
|
||||
" Specially indented symbols from clojure.core and clojure.test.
|
||||
"
|
||||
" Clojure symbols are indented in the defn style when they:
|
||||
"
|
||||
" * Define vars and anonymous functions
|
||||
" * Create new lexical scopes or scopes with altered environments
|
||||
" * Create conditional branches from a predicate function or value
|
||||
"
|
||||
" The arglists for these functions are generally in the form of [x & body];
|
||||
" Functions that accept a flat list of forms do not treat the first argument
|
||||
" specially and hence are not indented specially.
|
||||
"
|
||||
" -*- LISPWORDS -*-
|
||||
" Generated from https://github.com/guns/vim-clojure-static/blob/vim-release-010/clj/src/vim_clojure_static/generate.clj
|
||||
setlocal lispwords=as->,binding,bound-fn,case,catch,cond->,cond->>,condp,def,definline,definterface,defmacro,defmethod,defmulti,defn,defn-,defonce,defprotocol,defrecord,defstruct,deftest,deftest-,deftype,doseq,dotimes,doto,extend,extend-protocol,extend-type,fn,for,if,if-let,if-not,if-some,let,letfn,locking,loop,ns,proxy,reify,set-test,testing,when,when-first,when-let,when-not,when-some,while,with-bindings,with-in-str,with-local-vars,with-open,with-precision,with-redefs,with-redefs-fn,with-test
|
||||
|
||||
" Provide insert mode completions for special forms and clojure.core. As
|
||||
" 'omnifunc' is set by popular Clojure REPL client plugins, we also set
|
||||
" 'completefunc' so that the user has some form of completion available when
|
||||
|
||||
16
runtime/ftplugin/dockerfile.vim
Normal file
16
runtime/ftplugin/dockerfile.vim
Normal file
@@ -0,0 +1,16 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Dockerfile
|
||||
" Maintainer: Honza Pokorny <http://honza.ca>
|
||||
" Last Change: 2014 Aug 29
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let b:undo_ftplugin = "setl commentstring<"
|
||||
|
||||
setlocal commentstring=#\ %s
|
||||
18
runtime/ftplugin/go.vim
Normal file
18
runtime/ftplugin/go.vim
Normal file
@@ -0,0 +1,18 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Go
|
||||
" Maintainer: David Barnett (https://github.com/google/vim-ft-go)
|
||||
" Last Change: 2014 Aug 16
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal formatoptions-=t
|
||||
|
||||
setlocal comments=s1:/*,mb:*,ex:*/,://
|
||||
setlocal commentstring=//\ %s
|
||||
|
||||
let b:undo_ftplugin = 'setl fo< com< cms<'
|
||||
|
||||
" vim: sw=2 sts=2 et
|
||||
@@ -20,49 +20,9 @@ if exists("g:ft_html_autocomment") && (g:ft_html_autocomment == 1)
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
endif
|
||||
|
||||
|
||||
if exists('&omnifunc')
|
||||
" Distinguish between HTML versions
|
||||
" To use with other HTML versions add another
|
||||
" elseif condition to match proper DOCTYPE
|
||||
setlocal omnifunc=htmlcomplete#CompleteTags
|
||||
|
||||
if &filetype == 'xhtml'
|
||||
let b:html_omni_flavor = 'xhtml10s'
|
||||
else
|
||||
let b:html_omni_flavor = 'html401t'
|
||||
endif
|
||||
let i = 1
|
||||
let line = ""
|
||||
while i < 10 && i < line("$")
|
||||
let line = getline(i)
|
||||
if line =~ '<!DOCTYPE.*\<DTD '
|
||||
break
|
||||
endif
|
||||
let i += 1
|
||||
endwhile
|
||||
if line =~ '<!DOCTYPE.*\<DTD ' " doctype line found above
|
||||
if line =~ ' HTML 3\.2'
|
||||
let b:html_omni_flavor = 'html32'
|
||||
elseif line =~ ' XHTML 1\.1'
|
||||
let b:html_omni_flavor = 'xhtml11'
|
||||
else " two-step detection with strict/frameset/transitional
|
||||
if line =~ ' XHTML 1\.0'
|
||||
let b:html_omni_flavor = 'xhtml10'
|
||||
elseif line =~ ' HTML 4\.01'
|
||||
let b:html_omni_flavor = 'html401'
|
||||
elseif line =~ ' HTML 4.0\>'
|
||||
let b:html_omni_flavor = 'html40'
|
||||
endif
|
||||
if line =~ '\<Transitional\>'
|
||||
let b:html_omni_flavor .= 't'
|
||||
elseif line =~ '\<Frameset\>'
|
||||
let b:html_omni_flavor .= 'f'
|
||||
else
|
||||
let b:html_omni_flavor .= 's'
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
setlocal omnifunc=htmlcomplete#CompleteTags
|
||||
call htmlcomplete#DetectOmniFlavor()
|
||||
endif
|
||||
|
||||
" HTML: thanks to Johannes Zellner and Benji Fisher.
|
||||
|
||||
@@ -1,18 +1,75 @@
|
||||
" Vim filetype plugin
|
||||
" Language: J
|
||||
" Maintainer: David Bürgin <676c7473@gmail.com>
|
||||
" Last Change: 2013-10-06
|
||||
" URL: https://github.com/glts/vim-j
|
||||
" Last Change: 2014-04-05
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal iskeyword=48-57,65-90,_,97-122
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal iskeyword=48-57,A-Z,_,a-z
|
||||
setlocal comments=:NB.
|
||||
setlocal commentstring=NB.\ %s
|
||||
setlocal formatoptions-=t
|
||||
setlocal shiftwidth=2 softtabstop=2 expandtab
|
||||
setlocal matchpairs=(:)
|
||||
|
||||
let b:undo_ftplugin = "setl mps< et< sts< sw< fo< cms< com< isk<"
|
||||
let b:undo_ftplugin = 'setlocal matchpairs< expandtab< softtabstop< shiftwidth< formatoptions< commentstring< comments< iskeyword<'
|
||||
|
||||
" Section movement with ]] ][ [[ []. The start/end patterns below are amended
|
||||
" inside the function in order to avoid matching on the current cursor line.
|
||||
let s:sectionstart = '.\{-}\<\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\>.*'
|
||||
let s:sectionend = '\s*)\s*'
|
||||
|
||||
function! s:SearchSection(end, backwards, visualmode) abort
|
||||
if a:visualmode !=# ''
|
||||
normal! gv
|
||||
endif
|
||||
let flags = a:backwards ? 'bsW' : 'sW'
|
||||
if a:end
|
||||
call search('^' . s:sectionend . (a:backwards ? '\n\_.\{-}\%#' : '$'), flags)
|
||||
else
|
||||
call search('^' . s:sectionstart . (a:backwards ? '\n\_.\{-}\%#' : '$'), flags)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
noremap <script> <buffer> <silent> ]] :<C-U>call <SID>SearchSection(0, 0, '')<CR>
|
||||
xnoremap <script> <buffer> <silent> ]] :<C-U>call <SID>SearchSection(0, 0, visualmode())<CR>
|
||||
sunmap <buffer> ]]
|
||||
noremap <script> <buffer> <silent> ][ :<C-U>call <SID>SearchSection(1, 0, '')<CR>
|
||||
xnoremap <script> <buffer> <silent> ][ :<C-U>call <SID>SearchSection(1, 0, visualmode())<CR>
|
||||
sunmap <buffer> ][
|
||||
noremap <script> <buffer> <silent> [[ :<C-U>call <SID>SearchSection(0, 1, '')<CR>
|
||||
xnoremap <script> <buffer> <silent> [[ :<C-U>call <SID>SearchSection(0, 1, visualmode())<CR>
|
||||
sunmap <buffer> [[
|
||||
noremap <script> <buffer> <silent> [] :<C-U>call <SID>SearchSection(1, 1, '')<CR>
|
||||
xnoremap <script> <buffer> <silent> [] :<C-U>call <SID>SearchSection(1, 1, visualmode())<CR>
|
||||
sunmap <buffer> []
|
||||
|
||||
let b:undo_ftplugin .= ' | silent! execute "unmap <buffer> ]]"'
|
||||
\ . ' | silent! execute "unmap <buffer> ]["'
|
||||
\ . ' | silent! execute "unmap <buffer> [["'
|
||||
\ . ' | silent! execute "unmap <buffer> []"'
|
||||
|
||||
" Browse dialog filter on Windows (see ":help browsefilter")
|
||||
if has('gui_win32') && !exists('b:browsefilter')
|
||||
let b:browsefilter = "J Script Files (*.ijs)\t*.ijs\n"
|
||||
\ . "All Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin .= ' | unlet! b:browsefilter'
|
||||
endif
|
||||
|
||||
" Enhanced "%" matching (see ":help matchit")
|
||||
if exists('loaded_matchit') && !exists('b:match_words')
|
||||
let b:match_ignorecase = 0
|
||||
let b:match_words = '^.\{-}\<\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(\:\s*0\|def\s\+0\|define\)\>:^\s*\:\s*$:^\s*)\s*$'
|
||||
\ . ',\<\%(for\%(_\a\k*\)\=\|if\|select\|try\|whil\%(e\|st\)\)\.:\<\%(case\|catch[dt]\=\|else\%(if\)\=\|fcase\)\.:\<end\.'
|
||||
let b:undo_ftplugin .= ' | unlet! b:match_ignorecase b:match_words'
|
||||
endif
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
17
runtime/ftplugin/json.vim
Normal file
17
runtime/ftplugin/json.vim
Normal file
@@ -0,0 +1,17 @@
|
||||
" Vim filetype plugin
|
||||
" Language: JSON
|
||||
" Maintainer: David Barnett <daviebdawg+vim@gmail.com>
|
||||
" Last Change: 2014 Jul 16
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let b:undo_ftplugin = 'setlocal formatoptions< comments< commentstring<'
|
||||
|
||||
setlocal formatoptions-=t
|
||||
|
||||
" JSON has no comments.
|
||||
setlocal comments=
|
||||
setlocal commentstring=
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: man
|
||||
" Maintainer: SungHyun Nam <goweol@gmail.com>
|
||||
" Last Change: 2013 Jul 17
|
||||
" Last Change: 2014 Nov 12
|
||||
|
||||
" To make the ":Man" command available before editing a manual page, source
|
||||
" this script from your startup vimrc file.
|
||||
@@ -63,7 +63,9 @@ endtry
|
||||
func <SID>PreGetPage(cnt)
|
||||
if a:cnt == 0
|
||||
let old_isk = &iskeyword
|
||||
setl iskeyword+=(,)
|
||||
if &ft == 'man'
|
||||
setl iskeyword+=(,)
|
||||
endif
|
||||
let str = expand("<cword>")
|
||||
let &l:iskeyword = old_isk
|
||||
let page = substitute(str, '(*\(\k\+\).*', '\1', '')
|
||||
|
||||
31
runtime/ftplugin/r.vim
Normal file
31
runtime/ftplugin/r.vim
Normal file
@@ -0,0 +1,31 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: R
|
||||
" Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Sun Feb 23, 2014 04:07PM
|
||||
|
||||
" Only do this when not yet done for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal iskeyword=@,48-57,_,.
|
||||
setlocal formatoptions-=t
|
||||
setlocal commentstring=#\ %s
|
||||
setlocal comments=:#',:###,:##,:#
|
||||
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "R Source Files (*.R)\t*.R\n" .
|
||||
\ "Files that include R (*.Rnw *.Rd *.Rmd *.Rrst)\t*.Rnw;*.Rd;*.Rmd;*.Rrst\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setl cms< com< fo< isk< | unlet! b:browsefilter"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
29
runtime/ftplugin/rhelp.vim
Normal file
29
runtime/ftplugin/rhelp.vim
Normal file
@@ -0,0 +1,29 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: R help file
|
||||
" Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Wed Jul 09, 2014 06:23PM
|
||||
|
||||
" Only do this when not yet done for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal iskeyword=@,48-57,_,.
|
||||
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setl isk< | unlet! b:browsefilter"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: sw=2
|
||||
43
runtime/ftplugin/rmd.vim
Normal file
43
runtime/ftplugin/rmd.vim
Normal file
@@ -0,0 +1,43 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: R help file
|
||||
" Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Wed Jul 09, 2014 06:23PM
|
||||
" Original work by Alex Zvoleff (adjusted for rmd by Michel Kuhlmann)
|
||||
|
||||
" Only do this when not yet done for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
|
||||
|
||||
setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=>\ %s
|
||||
setlocal formatoptions+=tcqln
|
||||
setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^\\s*[-*+]\\s\\+
|
||||
setlocal iskeyword=@,48-57,_,.
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Enables pandoc if it is installed
|
||||
unlet! b:did_ftplugin
|
||||
runtime ftplugin/pandoc.vim
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
if exists('b:undo_ftplugin')
|
||||
let b:undo_ftplugin .= " | setl cms< com< fo< flp< isk< | unlet! b:browsefilter"
|
||||
else
|
||||
let b:undo_ftplugin = "setl cms< com< fo< flp< isk< | unlet! b:browsefilter"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: sw=2
|
||||
40
runtime/ftplugin/rnoweb.vim
Normal file
40
runtime/ftplugin/rnoweb.vim
Normal file
@@ -0,0 +1,40 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Rnoweb
|
||||
" Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Wed Jul 09, 2014 06:23PM
|
||||
|
||||
" Only do this when not yet done for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
runtime! ftplugin/tex.vim
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
" Enables Vim-Latex-Suite, LaTeX-Box if installed
|
||||
runtime ftplugin/tex_*.vim
|
||||
|
||||
setlocal iskeyword=@,48-57,_,.
|
||||
setlocal suffixesadd=.bib,.tex
|
||||
setlocal comments=b:%,b:#,b:##,b:###,b:#'
|
||||
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
if exists('b:undo_ftplugin')
|
||||
let b:undo_ftplugin .= " | setl isk< sua< com< | unlet! b:browsefilter"
|
||||
else
|
||||
let b:undo_ftplugin = "setl isk< sua< com< | unlet! b:browsefilter"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: sw=2
|
||||
37
runtime/ftplugin/rrst.vim
Normal file
37
runtime/ftplugin/rrst.vim
Normal file
@@ -0,0 +1,37 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: reStructuredText documentation format with R code
|
||||
" Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Wed Jul 09, 2014 06:23PM
|
||||
" Original work by Alex Zvoleff
|
||||
|
||||
" Only do this when not yet done for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=>\ %s
|
||||
setlocal formatoptions+=tcqln
|
||||
setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^\\s*[-*+]\\s\\+
|
||||
setlocal iskeyword=@,48-57,_,.
|
||||
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
if exists('b:undo_ftplugin')
|
||||
let b:undo_ftplugin .= " | setl cms< com< fo< flp< isk< | unlet! b:browsefilter"
|
||||
else
|
||||
let b:undo_ftplugin = "setl cms< com< fo< flp< isk< | unlet! b:browsefilter"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: sw=2
|
||||
17
runtime/ftplugin/text.vim
Normal file
17
runtime/ftplugin/text.vim
Normal file
@@ -0,0 +1,17 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Text
|
||||
" Maintainer: David Barnett <daviebdawg+vim@gmail.com>
|
||||
" Last Change: 2014 Jul 09
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let b:undo_ftplugin = 'setlocal comments< commentstring<'
|
||||
|
||||
" We intentionally don't set formatoptions-=t since text should wrap as text.
|
||||
|
||||
" Pseudo comment leaders to indent bulleted lists.
|
||||
setlocal comments=fb:-,fb:*
|
||||
setlocal commentstring=
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Vim
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2013 Jun 26
|
||||
" Last Change: 2014 Sep 07
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -62,9 +62,12 @@ if exists("loaded_matchit")
|
||||
\ '\<try\>:\<cat\%[ch]\>:\<fina\%[lly]\>:\<endt\%[ry]\>,' .
|
||||
\ '\<aug\%[roup]\s\+\%(END\>\)\@!\S:\<aug\%[roup]\s\+END\>,' .
|
||||
\ '(:)'
|
||||
" Ignore ":syntax region" commands, the 'end' argument clobbers if-endif
|
||||
let b:match_skip = 'getline(".") =~ "^\\s*sy\\%[ntax]\\s\\+region" ||
|
||||
\ synIDattr(synID(line("."),col("."),1),"name") =~? "comment\\|string"'
|
||||
" Ignore syntax region commands and settings, any 'en*' would clobber
|
||||
" if-endif.
|
||||
" - set spl=de,en
|
||||
" - au! FileType javascript syntax region foldBraces start=/{/ end=/}/ …
|
||||
let b:match_skip = 'synIDattr(synID(line("."),col("."),1),"name")
|
||||
\ =~? "comment\\|string\\|vimSynReg\\|vimSet"'
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
|
||||
35
runtime/ftplugin/vroom.vim
Normal file
35
runtime/ftplugin/vroom.vim
Normal file
@@ -0,0 +1,35 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Vroom (vim testing and executable documentation)
|
||||
" Maintainer: David Barnett (https://github.com/google/vim-ft-vroom)
|
||||
" Last Change: 2014 Jul 23
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
|
||||
let b:undo_ftplugin = 'setlocal formatoptions< shiftwidth< softtabstop<' .
|
||||
\ ' expandtab< iskeyword< comments< commentstring<'
|
||||
|
||||
setlocal formatoptions-=t
|
||||
|
||||
" The vroom interpreter doesn't accept anything but 2-space indent.
|
||||
setlocal shiftwidth=2
|
||||
setlocal softtabstop=2
|
||||
setlocal expandtab
|
||||
|
||||
" To allow tag lookup and autocomplete for whole autoload functions, '#' must be
|
||||
" a keyword character. This also conforms to the behavior of ftplugin/vim.vim.
|
||||
setlocal iskeyword+=#
|
||||
|
||||
" Vroom files have no comments (text is inert documentation unless indented).
|
||||
setlocal comments=
|
||||
setlocal commentstring=
|
||||
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -148,7 +148,7 @@ function s:StatementIndent( current_indent, prev_lnum )
|
||||
" Get previous non-blank/non-comment-only line
|
||||
while 1
|
||||
let line = substitute( getline(lnum), g:ada#Comment, '', '' )
|
||||
|
||||
|
||||
if line !~ '^\s*$' && line !~ '^\s*#'
|
||||
break
|
||||
endif
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
" Maintainer: Sung Pae <self@sungpae.com>
|
||||
" URL: https://github.com/guns/vim-clojure-static
|
||||
" License: Same as Vim
|
||||
" Last Change: 16 December 2013
|
||||
" Last Change: 27 March 2014
|
||||
|
||||
" TODO: Indenting after multibyte characters is broken:
|
||||
" (let [Δ (if foo
|
||||
@@ -21,7 +21,7 @@ let b:did_indent = 1
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_indent = 'setlocal autoindent< smartindent< lispwords< expandtab< softtabstop< shiftwidth< indentexpr< indentkeys<'
|
||||
let b:undo_indent = 'setlocal autoindent< smartindent< expandtab< softtabstop< shiftwidth< indentexpr< indentkeys<'
|
||||
|
||||
setlocal noautoindent nosmartindent
|
||||
setlocal softtabstop=2 shiftwidth=2 expandtab
|
||||
@@ -70,7 +70,7 @@ if exists("*searchpairpos")
|
||||
endfunction
|
||||
|
||||
function! s:IsParen()
|
||||
return s:CurrentChar() =~ '\v[\(\)\[\]\{\}]' &&
|
||||
return s:CurrentChar() =~# '\v[\(\)\[\]\{\}]' &&
|
||||
\ s:SynIdName() !~? '\vstring|regex|comment|character'
|
||||
endfunction
|
||||
|
||||
@@ -82,7 +82,7 @@ if exists("*searchpairpos")
|
||||
\ ? a:patterns
|
||||
\ : map(split(a:patterns, ','), '"^" . v:val . "$"')
|
||||
for pat in list
|
||||
if a:string =~ pat | return 1 | endif
|
||||
if a:string =~# pat | return 1 | endif
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
@@ -148,6 +148,10 @@ if exists("*searchpairpos")
|
||||
return val
|
||||
endfunction
|
||||
|
||||
function! s:StripNamespaceAndMacroChars(word)
|
||||
return substitute(a:word, "\\v%(.*/|[#'`~@^,]*)(.*)", '\1', '')
|
||||
endfunction
|
||||
|
||||
function! s:ClojureIsMethodSpecialCaseWorker(position)
|
||||
" Find the next enclosing form.
|
||||
call search('\S', 'Wb')
|
||||
@@ -167,7 +171,8 @@ if exists("*searchpairpos")
|
||||
call cursor(nextParen)
|
||||
|
||||
call search('\S', 'W')
|
||||
if g:clojure_special_indent_words =~ '\<' . s:CurrentWord() . '\>'
|
||||
let w = s:StripNamespaceAndMacroChars(s:CurrentWord())
|
||||
if g:clojure_special_indent_words =~# '\V\<' . w . '\>'
|
||||
return 1
|
||||
endif
|
||||
|
||||
@@ -273,9 +278,9 @@ if exists("*searchpairpos")
|
||||
" metacharacters.
|
||||
"
|
||||
" e.g. clojure.core/defn and #'defn should both indent like defn.
|
||||
let ww = substitute(w, "\\v%(.*/|[#'`~@^,]*)(.*)", '\1', '')
|
||||
let ww = s:StripNamespaceAndMacroChars(w)
|
||||
|
||||
if &lispwords =~ '\V\<' . ww . '\>'
|
||||
if &lispwords =~# '\V\<' . ww . '\>'
|
||||
return paren[1] + &shiftwidth - 1
|
||||
endif
|
||||
|
||||
@@ -307,85 +312,6 @@ else
|
||||
|
||||
endif
|
||||
|
||||
" Specially indented symbols from clojure.core and clojure.test.
|
||||
"
|
||||
" Clojure symbols are indented in the defn style when they:
|
||||
"
|
||||
" * Define vars and anonymous functions
|
||||
" * Create new lexical scopes or scopes with altered environments
|
||||
" * Create conditional branches from a predicate function or value
|
||||
"
|
||||
" The arglists for these functions are generally in the form of [x & body];
|
||||
" Functions that accept a flat list of forms do not treat the first argument
|
||||
" specially and hence are not indented specially.
|
||||
|
||||
" Definitions
|
||||
setlocal lispwords=
|
||||
setlocal lispwords+=bound-fn
|
||||
setlocal lispwords+=def
|
||||
setlocal lispwords+=definline
|
||||
setlocal lispwords+=definterface
|
||||
setlocal lispwords+=defmacro
|
||||
setlocal lispwords+=defmethod
|
||||
setlocal lispwords+=defmulti
|
||||
setlocal lispwords+=defn
|
||||
setlocal lispwords+=defn-
|
||||
setlocal lispwords+=defonce
|
||||
setlocal lispwords+=defprotocol
|
||||
setlocal lispwords+=defrecord
|
||||
setlocal lispwords+=defstruct
|
||||
setlocal lispwords+=deftest " clojure.test
|
||||
setlocal lispwords+=deftest- " clojure.test
|
||||
setlocal lispwords+=deftype
|
||||
setlocal lispwords+=extend
|
||||
setlocal lispwords+=extend-protocol
|
||||
setlocal lispwords+=extend-type
|
||||
setlocal lispwords+=fn
|
||||
setlocal lispwords+=ns
|
||||
setlocal lispwords+=proxy
|
||||
setlocal lispwords+=reify
|
||||
setlocal lispwords+=set-test " clojure.test
|
||||
|
||||
" Binding forms
|
||||
setlocal lispwords+=as->
|
||||
setlocal lispwords+=binding
|
||||
setlocal lispwords+=doall
|
||||
setlocal lispwords+=dorun
|
||||
setlocal lispwords+=doseq
|
||||
setlocal lispwords+=dotimes
|
||||
setlocal lispwords+=doto
|
||||
setlocal lispwords+=for
|
||||
setlocal lispwords+=if-let
|
||||
setlocal lispwords+=let
|
||||
setlocal lispwords+=letfn
|
||||
setlocal lispwords+=locking
|
||||
setlocal lispwords+=loop
|
||||
setlocal lispwords+=testing " clojure.test
|
||||
setlocal lispwords+=when-first
|
||||
setlocal lispwords+=when-let
|
||||
setlocal lispwords+=with-bindings
|
||||
setlocal lispwords+=with-in-str
|
||||
setlocal lispwords+=with-local-vars
|
||||
setlocal lispwords+=with-open
|
||||
setlocal lispwords+=with-precision
|
||||
setlocal lispwords+=with-redefs
|
||||
setlocal lispwords+=with-redefs-fn
|
||||
setlocal lispwords+=with-test " clojure.test
|
||||
|
||||
" Conditional branching
|
||||
setlocal lispwords+=case
|
||||
setlocal lispwords+=cond->
|
||||
setlocal lispwords+=cond->>
|
||||
setlocal lispwords+=condp
|
||||
setlocal lispwords+=if
|
||||
setlocal lispwords+=if-not
|
||||
setlocal lispwords+=when
|
||||
setlocal lispwords+=when-not
|
||||
setlocal lispwords+=while
|
||||
|
||||
" Exception handling
|
||||
setlocal lispwords+=catch
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet! s:save_cpo
|
||||
|
||||
|
||||
78
runtime/indent/go.vim
Normal file
78
runtime/indent/go.vim
Normal file
@@ -0,0 +1,78 @@
|
||||
" Vim indent file
|
||||
" Language: Go
|
||||
" Maintainer: David Barnett (https://github.com/google/vim-ft-go)
|
||||
" Last Change: 2014 Aug 16
|
||||
"
|
||||
" TODO:
|
||||
" - function invocations split across lines
|
||||
" - general line splits (line ends in an operator)
|
||||
|
||||
if exists('b:did_indent')
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
" C indentation is too far off useful, mainly due to Go's := operator.
|
||||
" Let's just define our own.
|
||||
setlocal nolisp
|
||||
setlocal autoindent
|
||||
setlocal indentexpr=GoIndent(v:lnum)
|
||||
setlocal indentkeys+=<:>,0=},0=)
|
||||
|
||||
if exists('*GoIndent')
|
||||
finish
|
||||
endif
|
||||
|
||||
" The shiftwidth() function is relatively new.
|
||||
" Don't require it to exist.
|
||||
if exists('*shiftwidth')
|
||||
function s:sw() abort
|
||||
return shiftwidth()
|
||||
endfunction
|
||||
else
|
||||
function s:sw() abort
|
||||
return &shiftwidth
|
||||
endfunction
|
||||
endif
|
||||
|
||||
function! GoIndent(lnum)
|
||||
let l:prevlnum = prevnonblank(a:lnum-1)
|
||||
if l:prevlnum == 0
|
||||
" top of file
|
||||
return 0
|
||||
endif
|
||||
|
||||
" grab the previous and current line, stripping comments.
|
||||
let l:prevl = substitute(getline(l:prevlnum), '//.*$', '', '')
|
||||
let l:thisl = substitute(getline(a:lnum), '//.*$', '', '')
|
||||
let l:previ = indent(l:prevlnum)
|
||||
|
||||
let l:ind = l:previ
|
||||
|
||||
if l:prevl =~ '[({]\s*$'
|
||||
" previous line opened a block
|
||||
let l:ind += s:sw()
|
||||
endif
|
||||
if l:prevl =~# '^\s*\(case .*\|default\):$'
|
||||
" previous line is part of a switch statement
|
||||
let l:ind += s:sw()
|
||||
endif
|
||||
" TODO: handle if the previous line is a label.
|
||||
|
||||
if l:thisl =~ '^\s*[)}]'
|
||||
" this line closed a block
|
||||
let l:ind -= s:sw()
|
||||
endif
|
||||
|
||||
" Colons are tricky.
|
||||
" We want to outdent if it's part of a switch ("case foo:" or "default:").
|
||||
" We ignore trying to deal with jump labels because (a) they're rare, and
|
||||
" (b) they're hard to disambiguate from a composite literal key.
|
||||
if l:thisl =~# '^\s*\(case .*\|default\):$'
|
||||
let l:ind -= s:sw()
|
||||
endif
|
||||
|
||||
return l:ind
|
||||
endfunction
|
||||
|
||||
" vim: sw=2 sts=2 et
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,37 +1,50 @@
|
||||
" Vim indent file
|
||||
" Language: J
|
||||
" Maintainer: David Bürgin <676c7473@gmail.com>
|
||||
" Last Change: 2013-09-21
|
||||
" URL: https://github.com/glts/vim-j
|
||||
" Last Change: 2014-04-05
|
||||
|
||||
if exists("b:did_indent")
|
||||
if exists('b:did_indent')
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentexpr=GetJIndent()
|
||||
setlocal indentkeys-=0{,0},\:,0#
|
||||
setlocal indentkeys+=0),=case.,=catch.,=catchd.,=catcht.,=do.,=else.,=elseif.,=end.,=fcase.
|
||||
setlocal indentkeys-=0{,0},:,0#
|
||||
setlocal indentkeys+=0),0<:>,=case.,=catch.,=catchd.,=catcht.,=do.,=else.,=elseif.,=end.,=fcase.
|
||||
|
||||
let b:undo_indent = "setl indk< inde<"
|
||||
let b:undo_indent = 'setlocal indentkeys< indentexpr<'
|
||||
|
||||
if exists("*GetJIndent")
|
||||
if exists('*GetJIndent')
|
||||
finish
|
||||
endif
|
||||
|
||||
function GetJIndent()
|
||||
" If g:j_indent_definitions is true, the bodies of explicit definitions of
|
||||
" adverbs, conjunctions, and verbs will be indented. Default is false (0).
|
||||
if !exists('g:j_indent_definitions')
|
||||
let g:j_indent_definitions = 0
|
||||
endif
|
||||
|
||||
function GetJIndent() abort
|
||||
let prevlnum = prevnonblank(v:lnum-1)
|
||||
if prevlnum == 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
let indent = indent(prevlnum)
|
||||
if getline(prevlnum) =~# '^\s*\%(case\|catch[dt]\=\|do\|else\%(if\)\=\|fcase\|for\%(_\a\k*\)\=\|if\|select\|try\|whil\%(e\|st\)\)\.'
|
||||
if getline(prevlnum) !~# '\<end\.'
|
||||
let indent += &shiftwidth
|
||||
endif
|
||||
let prevline = getline(prevlnum)
|
||||
if prevline =~# '^\s*\%(case\|catch[dt]\=\|do\|else\%(if\)\=\|fcase\|for\%(_\a\k*\)\=\|if\|select\|try\|whil\%(e\|st\)\)\.\%(\%(\<end\.\)\@!.\)*$'
|
||||
" Increase indentation after an initial control word that starts or
|
||||
" continues a block and is not terminated by "end."
|
||||
let indent += shiftwidth()
|
||||
elseif g:j_indent_definitions && (prevline =~# '\<\%([1-4]\|13\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\>' || prevline =~# '^\s*:\s*$')
|
||||
" Increase indentation in explicit definitions of adverbs, conjunctions,
|
||||
" and verbs
|
||||
let indent += shiftwidth()
|
||||
endif
|
||||
if getline(v:lnum) =~# '^\s*\%(case\|catch[dt]\=\|do\|else\%(if\)\=\|end\|fcase\)\.'
|
||||
let indent -= &shiftwidth
|
||||
" Decrease indentation in lines that start with either control words that
|
||||
" continue or end a block, or the special items ")" and ":"
|
||||
if getline(v:lnum) =~# '^\s*\%()\|:\|\%(case\|catch[dt]\=\|do\|else\%(if\)\=\|end\|fcase\)\.\)'
|
||||
let indent -= shiftwidth()
|
||||
endif
|
||||
return indent
|
||||
endfunction
|
||||
|
||||
168
runtime/indent/json.vim
Normal file
168
runtime/indent/json.vim
Normal file
@@ -0,0 +1,168 @@
|
||||
" Vim indent file
|
||||
" Language: JSON
|
||||
" Mantainer: Eli Parra <eli@elzr.com> https://github.com/elzr/vim-json
|
||||
" Last Change: 2014 Aug 29
|
||||
" https://github.com/jakar/vim-json/commit/20b650e22aa750c4ab6a66aa646bdd95d7cd548a#diff-e81fc111b2052e306d126bd9989f7b7c
|
||||
" Original Author: Rogerz Zhang <rogerz.zhang at gmail.com> http://github.com/rogerz/vim-json
|
||||
" Acknowledgement: Based off of vim-javascript maintained by Darrick Wiebe
|
||||
" http://www.vim.org/scripts/script.php?script_id=2765
|
||||
|
||||
" 0. Initialization {{{1
|
||||
" =================
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal nosmartindent
|
||||
|
||||
" Now, set up our indentation expression and keys that trigger it.
|
||||
setlocal indentexpr=GetJSONIndent()
|
||||
setlocal indentkeys=0{,0},0),0[,0],!^F,o,O,e
|
||||
|
||||
" Only define the function once.
|
||||
if exists("*GetJSONIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" 1. Variables {{{1
|
||||
" ============
|
||||
|
||||
let s:line_term = '\s*\%(\%(\/\/\).*\)\=$'
|
||||
" Regex that defines blocks.
|
||||
let s:block_regex = '\%({\)\s*\%(|\%([*@]\=\h\w*,\=\s*\)\%(,\s*[*@]\=\h\w*\)*|\)\=' . s:line_term
|
||||
|
||||
" 2. Auxiliary Functions {{{1
|
||||
" ======================
|
||||
|
||||
" 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') == 'jsonString'
|
||||
endfunction
|
||||
|
||||
" Find line above 'lnum' that isn't empty, or in a string.
|
||||
function s:PrevNonBlankNonString(lnum)
|
||||
let lnum = prevnonblank(a:lnum)
|
||||
while lnum > 0
|
||||
" If the line isn't empty or in a string, end search.
|
||||
let line = getline(lnum)
|
||||
if !(s:IsInString(lnum, 1) && s:IsInString(lnum, strlen(line)))
|
||||
break
|
||||
endif
|
||||
let lnum = prevnonblank(lnum - 1)
|
||||
endwhile
|
||||
return lnum
|
||||
endfunction
|
||||
|
||||
" Check if line 'lnum' has more opening brackets than closing ones.
|
||||
function s:LineHasOpeningBrackets(lnum)
|
||||
let open_0 = 0
|
||||
let open_2 = 0
|
||||
let open_4 = 0
|
||||
let line = getline(a:lnum)
|
||||
let pos = match(line, '[][(){}]', 0)
|
||||
while pos != -1
|
||||
let idx = stridx('(){}[]', line[pos])
|
||||
if idx % 2 == 0
|
||||
let open_{idx} = open_{idx} + 1
|
||||
else
|
||||
let open_{idx - 1} = open_{idx - 1} - 1
|
||||
endif
|
||||
let pos = match(line, '[][(){}]', pos + 1)
|
||||
endwhile
|
||||
return (open_0 > 0) . (open_2 > 0) . (open_4 > 0)
|
||||
endfunction
|
||||
|
||||
function s:Match(lnum, regex)
|
||||
let col = match(getline(a:lnum), a:regex) + 1
|
||||
return col > 0 && !s:IsInString(a:lnum, col) ? col : 0
|
||||
endfunction
|
||||
|
||||
" 3. GetJSONIndent Function {{{1
|
||||
" =========================
|
||||
|
||||
function GetJSONIndent()
|
||||
" 3.1. Setup {{{2
|
||||
" ----------
|
||||
|
||||
" Set up variables for restoring position in file. Could use v:lnum here.
|
||||
let vcol = col('.')
|
||||
|
||||
" 3.2. Work on the current line {{{2
|
||||
" -----------------------------
|
||||
|
||||
" Get the current line.
|
||||
let line = getline(v:lnum)
|
||||
let ind = -1
|
||||
|
||||
" If we got a closing bracket on an empty line, find its match and indent
|
||||
" according to it.
|
||||
let col = matchend(line, '^\s*[]}]')
|
||||
|
||||
if col > 0 && !s:IsInString(v:lnum, col)
|
||||
call cursor(v:lnum, col)
|
||||
let bs = strpart('{}[]', stridx('}]', line[col - 1]) * 2, 2)
|
||||
|
||||
let pairstart = escape(bs[0], '[')
|
||||
let pairend = escape(bs[1], ']')
|
||||
let pairline = searchpair(pairstart, '', pairend, 'bW')
|
||||
|
||||
if pairline > 0
|
||||
let ind = indent(pairline)
|
||||
else
|
||||
let ind = virtcol('.') - 1
|
||||
endif
|
||||
|
||||
return ind
|
||||
endif
|
||||
|
||||
" If we are in a multi-line string, don't do anything to it.
|
||||
if s:IsInString(v:lnum, matchend(line, '^\s*') + 1)
|
||||
return indent('.')
|
||||
endif
|
||||
|
||||
" 3.3. Work on the previous line. {{{2
|
||||
" -------------------------------
|
||||
|
||||
let lnum = prevnonblank(v:lnum - 1)
|
||||
|
||||
if lnum == 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
" Set up variables for current line.
|
||||
let line = getline(lnum)
|
||||
let ind = indent(lnum)
|
||||
|
||||
" If the previous line ended with a block opening, add a level of indent.
|
||||
" if s:Match(lnum, s:block_regex)
|
||||
" return indent(lnum) + &sw
|
||||
" endif
|
||||
|
||||
" If the previous line contained an opening bracket, and we are still in it,
|
||||
" add indent depending on the bracket type.
|
||||
if line =~ '[[({]'
|
||||
let counts = s:LineHasOpeningBrackets(lnum)
|
||||
if counts[0] == '1' || counts[1] == '1' || counts[2] == '1'
|
||||
return ind + &sw
|
||||
else
|
||||
call cursor(v:lnum, vcol)
|
||||
end
|
||||
endif
|
||||
|
||||
" }}}2
|
||||
|
||||
return ind
|
||||
endfunction
|
||||
|
||||
" }}}1
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim:set sw=2 sts=2 ts=8 noet:
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Lua script
|
||||
" Maintainer: Marcus Aurelius Farias <marcus.cf 'at' bol.com.br>
|
||||
" First Author: Max Ischenko <mfi 'at' ukr.net>
|
||||
" Last Change: 2007 Jul 23
|
||||
" Last Change: 2014 Nov 12
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
@@ -54,7 +54,7 @@ function! GetLuaIndent()
|
||||
|
||||
" Subtract a 'shiftwidth' on end, else (and elseif), until and '}'
|
||||
" This is the part that requires 'indentkeys'.
|
||||
let midx = match(getline(v:lnum), '^\s*\%(end\|else\|until\|}\)')
|
||||
let midx = match(getline(v:lnum), '^\s*\%(end\>\|else\>\|until\>\|}\)')
|
||||
if midx != -1 && synIDattr(synID(v:lnum, midx + 1, 1), "name") != "luaComment"
|
||||
let ind = ind - &shiftwidth
|
||||
endif
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
" Author: John Wellesz <John.wellesz (AT) teaser (DOT) fr>
|
||||
" URL: http://www.2072productions.com/vim/indent/php.vim
|
||||
" Home: https://github.com/2072/PHP-Indenting-for-VIm
|
||||
" Last Change: 2014 Jan 21
|
||||
" Version: 1.39
|
||||
" Last Change: 2014 November 26th
|
||||
" Version: 1.57
|
||||
"
|
||||
"
|
||||
" Type :help php-indent for available options
|
||||
@@ -39,7 +39,8 @@
|
||||
"
|
||||
" or simply 'let' the option PHP_removeCRwhenUnix to 1 and the script will
|
||||
" silently remove them when VIM load this script (at each bufread).
|
||||
"
|
||||
|
||||
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
@@ -47,7 +48,7 @@ endif
|
||||
let b:did_indent = 1
|
||||
|
||||
|
||||
let php_sync_method = 0
|
||||
let g:php_sync_method = 0
|
||||
|
||||
|
||||
|
||||
@@ -111,7 +112,7 @@ setlocal nocindent
|
||||
setlocal nolisp
|
||||
|
||||
setlocal indentexpr=GetPhpIndent()
|
||||
setlocal indentkeys=0{,0},0),:,!^F,o,O,e,*<Return>,=?>,=<?,=*/
|
||||
setlocal indentkeys=0{,0},0),0],:,!^F,o,O,e,*<Return>,=?>,=<?,=*/
|
||||
|
||||
|
||||
|
||||
@@ -126,14 +127,29 @@ if exists("*GetPhpIndent")
|
||||
finish " XXX -- comment this line for easy dev
|
||||
endif
|
||||
|
||||
|
||||
let s:PHP_validVariable = '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'
|
||||
let s:notPhpHereDoc = '\%(break\|return\|continue\|exit\|die\|else\)'
|
||||
let s:blockstart = '\%(\%(\%(}\s*\)\=else\%(\s\+\)\=\)\=if\>\|\%(}\s*\)\?else\>\|do\>\|while\>\|switch\>\|case\>\|default\>\|for\%(each\)\=\>\|declare\>\|class\>\|trait\>\|use\>\|interface\>\|abstract\>\|final\>\|try\>\|\%(}\s*\)\=catch\>\|\%(}\s*\)\=finally\>\)'
|
||||
let s:functionDecl = '\<function\>\%(\s\+'.s:PHP_validVariable.'\)\=\s*(.*'
|
||||
let s:endline= '\s*\%(//.*\|#.*\|/\*.*\*/\s*\)\=$'
|
||||
|
||||
|
||||
let s:terminated = '\%(\%(;\%(\s*\%(?>\|}\)\)\=\|<<<''\=\a\w*''\=$\|^\s*}\|^\s*'.s:PHP_validVariable.':\)'.s:endline.'\)\|^[^''"`]*[''"`]$'
|
||||
let s:PHP_startindenttag = '<?\%(.*?>\)\@!\|<script[^>]*>\%(.*<\/script>\)\@!'
|
||||
|
||||
|
||||
|
||||
let s:escapeDebugStops = 0
|
||||
function! DebugPrintReturn(scriptLine)
|
||||
|
||||
echo "debug:" . a:scriptLine
|
||||
call getchar()
|
||||
if ! s:escapeDebugStops
|
||||
echo "debug:" . a:scriptLine
|
||||
let c = getchar()
|
||||
if c == "\<Del>"
|
||||
let s:escapeDebugStops = 1
|
||||
end
|
||||
endif
|
||||
|
||||
endfunction
|
||||
|
||||
@@ -145,8 +161,6 @@ function! GetLastRealCodeLNum(startline) " {{{
|
||||
let lnum = b:GetLastRealCodeLNum_ADD
|
||||
endif
|
||||
|
||||
let old_lnum = lnum
|
||||
|
||||
while lnum > 1
|
||||
let lnum = prevnonblank(lnum)
|
||||
let lastline = getline(lnum)
|
||||
@@ -190,6 +204,11 @@ function! GetLastRealCodeLNum(startline) " {{{
|
||||
while getline(lnum) !~? tofind && lnum > 1
|
||||
let lnum = lnum - 1
|
||||
endwhile
|
||||
elseif lastline =~ '^[^''"`]*[''"`][;,]'.s:endline
|
||||
let tofind=substitute( lastline, '^.*\([''"`]\)[;,].*$', '^[^\1]\\+[\1]$', '')
|
||||
while getline(lnum) !~? tofind && lnum > 1
|
||||
let lnum = lnum - 1
|
||||
endwhile
|
||||
else
|
||||
break
|
||||
endif
|
||||
@@ -199,7 +218,7 @@ function! GetLastRealCodeLNum(startline) " {{{
|
||||
let lnum=0
|
||||
endif
|
||||
|
||||
if b:InPHPcode_and_script && !b:InPHPcode
|
||||
if b:InPHPcode_and_script && 1 > b:InPHPcode
|
||||
let b:InPHPcode_and_script = 0
|
||||
endif
|
||||
|
||||
@@ -211,24 +230,38 @@ function! Skippmatch2()
|
||||
let line = getline(".")
|
||||
|
||||
if line =~ "\\([\"']\\).*/\\*.*\\1" || line =~ '\%(//\|#\).*/\*'
|
||||
return 1
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
return 0
|
||||
endif
|
||||
endfun
|
||||
|
||||
function! Skippmatch() " {{{
|
||||
let synname = synIDattr(synID(line("."), col("."), 0), "name")
|
||||
if synname == "Delimiter" || synname == "phpRegionDelimiter" || synname =~# "^phpParent" || synname == "phpArrayParens" || synname =~# '^php\%(Block\|Brace\)' || synname == "javaScriptBraces" || synname =~# "^phpComment" && b:UserIsTypingComment
|
||||
if synname == "Delimiter" || synname == "phpRegionDelimiter" || synname =~# "^phpParent" || synname == "phpArrayParens" || synname =~# '^php\%(Block\|Brace\)' || synname == "javaScriptBraces" || synname =~# '^php\%(Doc\)\?Comment' && b:UserIsTypingComment
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
endif
|
||||
endfun " }}}
|
||||
|
||||
function! FindOpenBracket(lnum) " {{{
|
||||
function! FindOpenBracket(lnum, blockStarter) " {{{
|
||||
call cursor(a:lnum, 1)
|
||||
return searchpair('{', '', '}', 'bW', 'Skippmatch()')
|
||||
let line = searchpair('{', '', '}', 'bW', 'Skippmatch()')
|
||||
|
||||
if a:blockStarter == 1
|
||||
while line > 1
|
||||
let linec = getline(line)
|
||||
|
||||
if linec =~ s:terminated || linec =~ '^\s*\%(' . s:blockstart . '\)\|'. s:functionDecl . s:endline
|
||||
break
|
||||
endif
|
||||
|
||||
let line = GetLastRealCodeLNum(line - 1)
|
||||
endwhile
|
||||
endif
|
||||
|
||||
return line
|
||||
endfun " }}}
|
||||
|
||||
function! FindTheIfOfAnElse (lnum, StopAfterFirstPrevElse) " {{{
|
||||
@@ -248,7 +281,7 @@ function! FindTheIfOfAnElse (lnum, StopAfterFirstPrevElse) " {{{
|
||||
endif
|
||||
|
||||
if getline(beforeelse) =~ '^\s*}'
|
||||
let beforeelse = FindOpenBracket(beforeelse)
|
||||
let beforeelse = FindOpenBracket(beforeelse, 0)
|
||||
|
||||
if getline(beforeelse) =~ '^\s*{'
|
||||
let beforeelse = GetLastRealCodeLNum(beforeelse - 1)
|
||||
@@ -278,20 +311,19 @@ let s:defaultORcase = '^\s*\%(default\|case\).*:'
|
||||
|
||||
function! FindTheSwitchIndent (lnum) " {{{
|
||||
|
||||
|
||||
let test = GetLastRealCodeLNum(a:lnum - 1)
|
||||
|
||||
if test <= 1
|
||||
return indent(1) - &sw * b:PHP_vintage_case_default_indent
|
||||
end
|
||||
|
||||
if getline(test) =~ '^\s*}'
|
||||
let test = FindOpenBracket(test)
|
||||
while getline(test) =~ '^\s*}' && test > 1
|
||||
let test = GetLastRealCodeLNum(FindOpenBracket(test, 0) - 1)
|
||||
|
||||
if getline(test) =~ '^\s*{'
|
||||
let test = GetLastRealCodeLNum(GetLastRealCodeLNum(test - 1) - 1)
|
||||
if getline(test) =~ '^\s*switch\>'
|
||||
let test = GetLastRealCodeLNum(test - 1)
|
||||
endif
|
||||
endif
|
||||
endwhile
|
||||
|
||||
if getline(test) =~# '^\s*switch\>'
|
||||
return indent(test)
|
||||
@@ -308,7 +340,7 @@ function! IslinePHP (lnum, tofind) " {{{
|
||||
let cline = getline(a:lnum)
|
||||
|
||||
if a:tofind==""
|
||||
let tofind = "^\\s*[\"']*\\s*\\zs\\S"
|
||||
let tofind = "^\\s*[\"'`]*\\s*\\zs\\S"
|
||||
else
|
||||
let tofind = a:tofind
|
||||
endif
|
||||
@@ -319,6 +351,14 @@ function! IslinePHP (lnum, tofind) " {{{
|
||||
|
||||
let synname = synIDattr(synID(a:lnum, coltotest, 0), "name")
|
||||
|
||||
if synname == 'phpStringSingle' || synname == 'phpStringDouble' || synname == 'phpBacktick'
|
||||
if cline !~ '^\s*[''"`]'
|
||||
return "SpecStringEntrails"
|
||||
else
|
||||
return synname
|
||||
end
|
||||
end
|
||||
|
||||
if get(s:SynPHPMatchGroups, synname) || synname =~ '^php' || synname =~? '^javaScript'
|
||||
return synname
|
||||
else
|
||||
@@ -326,16 +366,13 @@ function! IslinePHP (lnum, tofind) " {{{
|
||||
endif
|
||||
endfunction " }}}
|
||||
|
||||
let s:notPhpHereDoc = '\%(break\|return\|continue\|exit\|die\|else\)'
|
||||
let s:blockstart = '\%(\%(\%(}\s*\)\=else\%(\s\+\)\=\)\=if\>\|else\>\|while\>\|switch\>\|case\>\|default\>\|for\%(each\)\=\>\|declare\>\|class\>\|interface\>\|abstract\>\|try\>\|catch\>\)'
|
||||
|
||||
let s:autoresetoptions = 0
|
||||
if ! s:autoresetoptions
|
||||
let s:autoresetoptions = 1
|
||||
endif
|
||||
|
||||
function! ResetPhpOptions()
|
||||
if ! b:optionsset && &filetype == "php"
|
||||
if ! b:optionsset && &filetype =~ "php"
|
||||
if b:PHP_autoformatcomment
|
||||
|
||||
setlocal comments=s1:/*,mb:*,ex:*/,://,:#
|
||||
@@ -344,7 +381,6 @@ function! ResetPhpOptions()
|
||||
setlocal formatoptions+=q
|
||||
setlocal formatoptions+=r
|
||||
setlocal formatoptions+=o
|
||||
setlocal formatoptions+=w
|
||||
setlocal formatoptions+=c
|
||||
setlocal formatoptions+=b
|
||||
endif
|
||||
@@ -382,7 +418,7 @@ function! GetPhpIndent()
|
||||
let b:PHP_indentinghuge = 0
|
||||
let b:PHP_CurrentIndentLevel = b:PHP_default_indenting
|
||||
endif
|
||||
let b:PHP_lastindented = v:lnum
|
||||
let real_PHP_lastindented = v:lnum
|
||||
let b:PHP_LastIndentedWasComment=0
|
||||
let b:PHP_InsideMultilineComment=0
|
||||
let b:PHP_indentbeforelast = 0
|
||||
@@ -394,9 +430,12 @@ function! GetPhpIndent()
|
||||
|
||||
elseif v:lnum > b:PHP_lastindented
|
||||
let real_PHP_lastindented = b:PHP_lastindented
|
||||
let b:PHP_lastindented = v:lnum
|
||||
else
|
||||
let real_PHP_lastindented = v:lnum
|
||||
endif
|
||||
|
||||
let b:PHP_lastindented = v:lnum
|
||||
|
||||
|
||||
if !b:InPHPcode_checked " {{{ One time check
|
||||
let b:InPHPcode_checked = 1
|
||||
@@ -407,11 +446,15 @@ function! GetPhpIndent()
|
||||
endif
|
||||
|
||||
if synname!=""
|
||||
if synname != "phpHereDoc" && synname != "phpHereDocDelimiter"
|
||||
if synname == "SpecStringEntrails"
|
||||
let b:InPHPcode = -1 " thumb down
|
||||
let b:UserIsTypingComment = 0
|
||||
let b:InPHPcode_tofind = ""
|
||||
elseif synname != "phpHereDoc" && synname != "phpHereDocDelimiter"
|
||||
let b:InPHPcode = 1
|
||||
let b:InPHPcode_tofind = ""
|
||||
|
||||
if synname =~# "^phpComment"
|
||||
if synname =~# '^php\%(Doc\)\?Comment'
|
||||
let b:UserIsTypingComment = 1
|
||||
else
|
||||
let b:UserIsTypingComment = 0
|
||||
@@ -443,12 +486,20 @@ function! GetPhpIndent()
|
||||
" Test if we are indenting PHP code {{{
|
||||
let lnum = prevnonblank(v:lnum - 1)
|
||||
let last_line = getline(lnum)
|
||||
let endline= s:endline
|
||||
|
||||
if b:InPHPcode_tofind!=""
|
||||
if cline =~? b:InPHPcode_tofind
|
||||
let b:InPHPcode = 1
|
||||
let b:InPHPcode_tofind = ""
|
||||
let b:UserIsTypingComment = 0
|
||||
|
||||
if b:InPHPcode == -1
|
||||
let b:InPHPcode = 1
|
||||
return -1
|
||||
end
|
||||
|
||||
let b:InPHPcode = 1
|
||||
|
||||
if cline =~ '\*/'
|
||||
call cursor(v:lnum, 1)
|
||||
if cline !~ '^\*/'
|
||||
@@ -473,7 +524,7 @@ function! GetPhpIndent()
|
||||
endif
|
||||
endif
|
||||
|
||||
if b:InPHPcode
|
||||
if 1 == b:InPHPcode
|
||||
|
||||
if !b:InPHPcode_and_script && last_line =~ '\%(<?.*\)\@<!?>\%(.*<?\)\@!' && IslinePHP(lnum, '?>')=~"Delimiter"
|
||||
if cline !~? s:PHP_startindenttag
|
||||
@@ -483,6 +534,9 @@ function! GetPhpIndent()
|
||||
let b:InPHPcode_and_script = 1
|
||||
endif
|
||||
|
||||
elseif last_line =~ '^[^''"`]\+[''"`]$'
|
||||
let b:InPHPcode = -1
|
||||
let b:InPHPcode_tofind = substitute( last_line, '^.*\([''"`]\).*$', '^[^\1]*\1[;,]$', '')
|
||||
elseif last_line =~? '<<<''\=\a\w*''\=$'
|
||||
let b:InPHPcode = 0
|
||||
let b:InPHPcode_tofind = substitute( last_line, '^.*<<<''\=\(\a\w*\)''\=$', '^\\s*\1;\\=$', '')
|
||||
@@ -498,7 +552,7 @@ function! GetPhpIndent()
|
||||
endif " }}}
|
||||
|
||||
|
||||
if !b:InPHPcode && !b:InPHPcode_and_script
|
||||
if 1 > b:InPHPcode && !b:InPHPcode_and_script
|
||||
return -1
|
||||
endif
|
||||
|
||||
@@ -528,7 +582,7 @@ function! GetPhpIndent()
|
||||
endif
|
||||
endif
|
||||
|
||||
if !b:PHP_InsideMultilineComment && cline =~ '^\s*/\*' && cline !~ '\*/\s*$'
|
||||
if !b:PHP_InsideMultilineComment && cline =~ '^\s*/\*\%(.*\*/\)\@!'
|
||||
if getline(v:lnum + 1) !~ '^\s*\*'
|
||||
return -1
|
||||
endif
|
||||
@@ -545,7 +599,7 @@ function! GetPhpIndent()
|
||||
return 0
|
||||
endif
|
||||
|
||||
if cline =~? '^\s*\a\w*;$\|^\a\w*$' && cline !~? s:notPhpHereDoc
|
||||
if cline =~? '^\s*\a\w*;$\|^\a\w*$\|^\s*[''"`][;,]' && cline !~? s:notPhpHereDoc
|
||||
return 0
|
||||
endif " }}}
|
||||
|
||||
@@ -555,7 +609,6 @@ function! GetPhpIndent()
|
||||
|
||||
let last_line = getline(lnum)
|
||||
let ind = indent(lnum)
|
||||
let endline= s:endline
|
||||
|
||||
if ind==0 && b:PHP_default_indenting
|
||||
let ind = b:PHP_default_indenting
|
||||
@@ -567,7 +620,7 @@ function! GetPhpIndent()
|
||||
|
||||
|
||||
if cline =~ '^\s*}\%(}}\)\@!'
|
||||
let ind = indent(FindOpenBracket(v:lnum))
|
||||
let ind = indent(FindOpenBracket(v:lnum, 1))
|
||||
let b:PHP_CurrentIndentLevel = b:PHP_default_indenting
|
||||
return ind
|
||||
endif
|
||||
@@ -599,7 +652,7 @@ function! GetPhpIndent()
|
||||
|
||||
let LastLineClosed = 0
|
||||
|
||||
let terminated = '\%(;\%(\s*\%(?>\|}\)\)\=\|<<<''\=\a\w*''\=$\|^\s*}\)'.endline
|
||||
let terminated = s:terminated
|
||||
|
||||
let unstated = '\%(^\s*'.s:blockstart.'.*)\|\%(//.*\)\@<!\<e'.'lse\>\)'.endline
|
||||
|
||||
@@ -614,7 +667,7 @@ function! GetPhpIndent()
|
||||
|
||||
while last_line_num > 1
|
||||
|
||||
if previous_line =~ '^\s*\%(' . s:blockstart . '\|\%([a-zA-Z]\s*\)*function\)'
|
||||
if previous_line =~ terminated || previous_line =~ '^\s*\%(' . s:blockstart . '\)\|'. s:functionDecl . endline
|
||||
|
||||
let ind = indent(last_line_num)
|
||||
|
||||
@@ -625,35 +678,42 @@ function! GetPhpIndent()
|
||||
return ind
|
||||
endif
|
||||
|
||||
let last_line_num = last_line_num - 1
|
||||
let last_line_num = GetLastRealCodeLNum(last_line_num - 1)
|
||||
let previous_line = getline(last_line_num)
|
||||
endwhile
|
||||
|
||||
elseif last_line =~# unstated && cline !~ '^\s*);\='.endline
|
||||
let ind = ind + &sw " we indent one level further when the preceding line is not stated
|
||||
let ind = ind + &sw
|
||||
return ind + addSpecial
|
||||
|
||||
elseif (ind != b:PHP_default_indenting || last_line =~ '^[)\]]' ) && last_line =~ terminated " Added || last_line =~ '^)' on 2007-12-30 (array indenting problem broke other things)
|
||||
elseif (ind != b:PHP_default_indenting || last_line =~ '^[)\]]' ) && last_line =~ terminated
|
||||
let previous_line = last_line
|
||||
let last_line_num = lnum
|
||||
let LastLineClosed = 1
|
||||
|
||||
let isSingleLineBlock = 0
|
||||
while 1
|
||||
if previous_line =~ '^\s*}\|;\s*}'.endline " XXX
|
||||
if ! isSingleLineBlock && previous_line =~ '^\s*}\|;\s*}'.endline
|
||||
|
||||
call cursor(last_line_num, 1)
|
||||
call search('}\|;\s*}'.endline, 'cW')
|
||||
if previous_line !~ '^}'
|
||||
call search('}\|;\s*}'.endline, 'W')
|
||||
end
|
||||
let oldLastLine = last_line_num
|
||||
let last_line_num = searchpair('{', '', '}', 'bW', 'Skippmatch()')
|
||||
|
||||
if oldLastLine == last_line_num || getline(last_line_num) =~ '^\s*{'
|
||||
if getline(last_line_num) =~ '^\s*{'
|
||||
let last_line_num = GetLastRealCodeLNum(last_line_num - 1)
|
||||
elseif oldLastLine == last_line_num
|
||||
let isSingleLineBlock = 1
|
||||
continue
|
||||
endif
|
||||
|
||||
let previous_line = getline(last_line_num)
|
||||
|
||||
continue
|
||||
else
|
||||
let isSingleLineBlock = 0
|
||||
|
||||
if getline(last_line_num) =~# '^\s*else\%(if\)\=\>'
|
||||
let last_line_num = FindTheIfOfAnElse(last_line_num, 0)
|
||||
@@ -694,14 +754,19 @@ function! GetPhpIndent()
|
||||
endif
|
||||
endif
|
||||
|
||||
let plinnum = GetLastRealCodeLNum(lnum - 1)
|
||||
if (last_line !~ '^\s*}\%(}}\)\@!')
|
||||
let plinnum = GetLastRealCodeLNum(lnum - 1)
|
||||
else
|
||||
let plinnum = GetLastRealCodeLNum(FindOpenBracket(lnum, 1) - 1)
|
||||
endif
|
||||
|
||||
let AntepenultimateLine = getline(plinnum)
|
||||
|
||||
let last_line = substitute(last_line,"\\(//\\|#\\)\\(\\(\\([^\"']*\\([\"']\\)[^\"']*\\5\\)\\+[^\"']*$\\)\\|\\([^\"']*$\\)\\)",'','')
|
||||
|
||||
|
||||
if ind == b:PHP_default_indenting
|
||||
if last_line =~ terminated
|
||||
if last_line =~ terminated && last_line !~# s:defaultORcase
|
||||
let LastLineClosed = 1
|
||||
endif
|
||||
endif
|
||||
@@ -709,9 +774,14 @@ function! GetPhpIndent()
|
||||
if !LastLineClosed
|
||||
|
||||
|
||||
if last_line =~# '[{(\[]'.endline || last_line =~? '\h\w*\s*(.*,$' && AntepenultimateLine !~ '[,(]'.endline
|
||||
if last_line =~# '[{(\[]'.endline || last_line =~? '\h\w*\s*(.*,$' && AntepenultimateLine !~ '[,(\[]'.endline
|
||||
|
||||
if !b:PHP_BracesAtCodeLevel || last_line !~# '^\s*{'
|
||||
let dontIndent = 0
|
||||
if last_line =~ '\S\+\s*{'.endline && last_line !~ '^\s*)\s*{'.endline && last_line !~ '^\s*\%(' . s:blockstart . '\)\|'. s:functionDecl . s:endline
|
||||
let dontIndent = 1
|
||||
endif
|
||||
|
||||
if !dontIndent && (!b:PHP_BracesAtCodeLevel || last_line !~# '^\s*{')
|
||||
let ind = ind + &sw
|
||||
endif
|
||||
|
||||
@@ -733,7 +803,7 @@ function! GetPhpIndent()
|
||||
let ind = ind + &sw
|
||||
|
||||
|
||||
elseif AntepenultimateLine =~ '\%(;\%(\s*\%(?>\|}\)\)\=\|<<<''\=\a\w*''\=$\|^\s*}\|{\)'.endline . '\|' . s:defaultORcase
|
||||
elseif AntepenultimateLine =~ '{'.endline || AntepenultimateLine =~ terminated || AntepenultimateLine =~# s:defaultORcase
|
||||
let ind = ind + &sw
|
||||
endif
|
||||
|
||||
|
||||
111
runtime/indent/rhelp.vim
Normal file
111
runtime/indent/rhelp.vim
Normal file
@@ -0,0 +1,111 @@
|
||||
" Vim indent file
|
||||
" Language: R Documentation (Help), *.Rd
|
||||
" Author: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Wed Jul 09, 2014 07:34PM
|
||||
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
runtime indent/r.vim
|
||||
let s:RIndent = function(substitute(&indentexpr, "()", "", ""))
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentkeys=0{,0},:,!^F,o,O,e
|
||||
setlocal indentexpr=GetRHelpIndent()
|
||||
|
||||
" Only define the function once.
|
||||
if exists("*GetRHelpIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
setlocal noautoindent
|
||||
setlocal nocindent
|
||||
setlocal nosmartindent
|
||||
setlocal nolisp
|
||||
|
||||
setlocal indentkeys=0{,0},:,!^F,o,O,e
|
||||
setlocal indentexpr=GetCorrectRHelpIndent()
|
||||
|
||||
function s:SanitizeRHelpLine(line)
|
||||
let newline = substitute(a:line, '\\\\', "x", "g")
|
||||
let newline = substitute(newline, '\\{', "x", "g")
|
||||
let newline = substitute(newline, '\\}', "x", "g")
|
||||
let newline = substitute(newline, '\\%', "x", "g")
|
||||
let newline = substitute(newline, '%.*', "", "")
|
||||
let newline = substitute(newline, '\s*$', "", "")
|
||||
return newline
|
||||
endfunction
|
||||
|
||||
function GetRHelpIndent()
|
||||
|
||||
let clnum = line(".") " current line
|
||||
if clnum == 1
|
||||
return 0
|
||||
endif
|
||||
let cline = getline(clnum)
|
||||
|
||||
if cline =~ '^\s*}\s*$'
|
||||
let i = clnum
|
||||
let bb = -1
|
||||
while bb != 0 && i > 1
|
||||
let i -= 1
|
||||
let line = s:SanitizeRHelpLine(getline(i))
|
||||
let line2 = substitute(line, "{", "", "g")
|
||||
let openb = strlen(line) - strlen(line2)
|
||||
let line3 = substitute(line2, "}", "", "g")
|
||||
let closeb = strlen(line2) - strlen(line3)
|
||||
let bb += openb - closeb
|
||||
endwhile
|
||||
return indent(i)
|
||||
endif
|
||||
|
||||
if cline =~ '^\s*#ifdef\>' || cline =~ '^\s*#endif\>'
|
||||
return 0
|
||||
endif
|
||||
|
||||
let lnum = clnum - 1
|
||||
let line = getline(lnum)
|
||||
if line =~ '^\s*#ifdef\>' || line =~ '^\s*#endif\>'
|
||||
let lnum -= 1
|
||||
let line = getline(lnum)
|
||||
endif
|
||||
while lnum > 1 && (line =~ '^\s*$' || line =~ '^#ifdef' || line =~ '^#endif')
|
||||
let lnum -= 1
|
||||
let line = getline(lnum)
|
||||
endwhile
|
||||
if lnum == 1
|
||||
return 0
|
||||
endif
|
||||
let line = s:SanitizeRHelpLine(line)
|
||||
let line2 = substitute(line, "{", "", "g")
|
||||
let openb = strlen(line) - strlen(line2)
|
||||
let line3 = substitute(line2, "}", "", "g")
|
||||
let closeb = strlen(line2) - strlen(line3)
|
||||
let bb = openb - closeb
|
||||
|
||||
let ind = indent(lnum) + (bb * &sw)
|
||||
|
||||
if line =~ '^\s*}\s*$'
|
||||
let ind = indent(lnum)
|
||||
endif
|
||||
|
||||
if ind < 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
return ind
|
||||
endfunction
|
||||
|
||||
function GetCorrectRHelpIndent()
|
||||
let lastsection = search('^\\[a-z]*{', "bncW")
|
||||
let secname = getline(lastsection)
|
||||
if secname =~ '^\\usage{' || secname =~ '^\\examples{' || secname =~ '^\\dontshow{' || secname =~ '^\\dontrun{' || secname =~ '^\\donttest{' || secname =~ '^\\testonly{' || secname =~ '^\\method{.*}{.*}('
|
||||
return s:RIndent()
|
||||
else
|
||||
return GetRHelpIndent()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" vim: sw=2
|
||||
46
runtime/indent/rmd.vim
Normal file
46
runtime/indent/rmd.vim
Normal file
@@ -0,0 +1,46 @@
|
||||
" Vim indent file
|
||||
" Language: Rmd
|
||||
" Author: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Wed Jul 09, 2014 07:33PM
|
||||
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
runtime indent/r.vim
|
||||
let s:RIndent = function(substitute(&indentexpr, "()", "", ""))
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentkeys=0{,0},:,!^F,o,O,e
|
||||
setlocal indentexpr=GetRmdIndent()
|
||||
|
||||
if exists("*GetRmdIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
function GetMdIndent()
|
||||
let pline = getline(v:lnum - 1)
|
||||
let cline = getline(v:lnum)
|
||||
if prevnonblank(v:lnum - 1) < v:lnum - 1 || cline =~ '^\s*[-\+\*]\s' || cline =~ '^\s*\d\+\.\s\+'
|
||||
return indent(v:lnum)
|
||||
elseif pline =~ '^\s*[-\+\*]\s'
|
||||
return indent(v:lnum - 1) + 2
|
||||
elseif pline =~ '^\s*\d\+\.\s\+'
|
||||
return indent(v:lnum - 1) + 3
|
||||
endif
|
||||
return indent(prevnonblank(v:lnum - 1))
|
||||
endfunction
|
||||
|
||||
function GetRmdIndent()
|
||||
if getline(".") =~ '^```{r .*}$' || getline(".") =~ '^```$'
|
||||
return 0
|
||||
endif
|
||||
if search('^```{r', "bncW") > search('^```$', "bncW")
|
||||
return s:RIndent()
|
||||
else
|
||||
return GetMdIndent()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" vim: sw=2
|
||||
35
runtime/indent/rnoweb.vim
Normal file
35
runtime/indent/rnoweb.vim
Normal file
@@ -0,0 +1,35 @@
|
||||
" Vim indent file
|
||||
" Language: Rnoweb
|
||||
" Author: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Wed Jul 09, 2014 07:28PM
|
||||
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
runtime indent/tex.vim
|
||||
let s:TeXIndent = function(substitute(&indentexpr, "()", "", ""))
|
||||
unlet b:did_indent
|
||||
runtime indent/r.vim
|
||||
let s:RIndent = function(substitute(&indentexpr, "()", "", ""))
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentkeys=0{,0},!^F,o,O,e,},=\bibitem,=\item
|
||||
setlocal indentexpr=GetRnowebIndent()
|
||||
|
||||
if exists("*GetRnowebIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
function GetRnowebIndent()
|
||||
if getline(".") =~ "^<<.*>>=$"
|
||||
return 0
|
||||
endif
|
||||
if search("^<<", "bncW") > search("^@", "bncW")
|
||||
return s:RIndent()
|
||||
endif
|
||||
return s:TeXIndent()
|
||||
endfunction
|
||||
|
||||
" vim: sw=2
|
||||
46
runtime/indent/rrst.vim
Normal file
46
runtime/indent/rrst.vim
Normal file
@@ -0,0 +1,46 @@
|
||||
" Vim indent file
|
||||
" Language: Rrst
|
||||
" Author: Jakson Alves de Aquino <jalvesaq@gmail.com>
|
||||
" Last Change: Wed Jul 09, 2014 07:33PM
|
||||
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
runtime indent/r.vim
|
||||
let s:RIndent = function(substitute(&indentexpr, "()", "", ""))
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentkeys=0{,0},:,!^F,o,O,e
|
||||
setlocal indentexpr=GetRrstIndent()
|
||||
|
||||
if exists("*GetRrstIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
function GetRstIndent()
|
||||
let pline = getline(v:lnum - 1)
|
||||
let cline = getline(v:lnum)
|
||||
if prevnonblank(v:lnum - 1) < v:lnum - 1 || cline =~ '^\s*[-\+\*]\s' || cline =~ '^\s*\d\+\.\s\+'
|
||||
return indent(v:lnum)
|
||||
elseif pline =~ '^\s*[-\+\*]\s'
|
||||
return indent(v:lnum - 1) + 2
|
||||
elseif pline =~ '^\s*\d\+\.\s\+'
|
||||
return indent(v:lnum - 1) + 3
|
||||
endif
|
||||
return indent(prevnonblank(v:lnum - 1))
|
||||
endfunction
|
||||
|
||||
function GetRrstIndent()
|
||||
if getline(".") =~ '^\.\. {r .*}$' || getline(".") =~ '^\.\. \.\.$'
|
||||
return 0
|
||||
endif
|
||||
if search('^\.\. {r', "bncW") > search('^\.\. \.\.$', "bncW")
|
||||
return s:RIndent()
|
||||
else
|
||||
return GetRstIndent()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" vim: sw=2
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Shell Script
|
||||
" Maintainer: Peter Aronoff <telemachus@arpinum.org>
|
||||
" Original Author: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2013-11-28
|
||||
" Latest Revision: 2014-08-22
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
@@ -91,7 +91,9 @@ function! GetShIndent()
|
||||
if s:is_case(pine)
|
||||
let ind = indent(lnum) + s:indent_value('case-labels')
|
||||
else
|
||||
let ind -= s:indent_value('case-statements') - s:indent_value('case-breaks')
|
||||
let ind -= (s:is_case_label(pine, lnum) && s:is_case_ended(pine) ?
|
||||
\ 0 : s:indent_value('case-statements')) -
|
||||
\ s:indent_value('case-breaks')
|
||||
endif
|
||||
elseif s:is_case_break(line)
|
||||
let ind -= s:indent_value('case-breaks')
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: Vim script
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2012 Aug 02
|
||||
" Last Change: 2014 Sep 19
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
@@ -37,7 +37,8 @@ function GetVimIndentIntern()
|
||||
|
||||
" If the current line doesn't start with '\' and below a line that starts
|
||||
" with '\', use the indent of the line above it.
|
||||
if getline(v:lnum) !~ '^\s*\\'
|
||||
let cur_text = getline(v:lnum)
|
||||
if cur_text !~ '^\s*\\'
|
||||
while lnum > 0 && getline(lnum) =~ '^\s*\\'
|
||||
let lnum = lnum - 1
|
||||
endwhile
|
||||
@@ -47,27 +48,30 @@ function GetVimIndentIntern()
|
||||
if lnum == 0
|
||||
return 0
|
||||
endif
|
||||
let prev_text = getline(lnum)
|
||||
|
||||
" Add a 'shiftwidth' after :if, :while, :try, :catch, :finally, :function
|
||||
" and :else. Add it three times for a line that starts with '\' after
|
||||
" a line that doesn't (or g:vim_indent_cont if it exists).
|
||||
let ind = indent(lnum)
|
||||
if getline(v:lnum) =~ '^\s*\\' && v:lnum > 1 && getline(lnum) !~ '^\s*\\'
|
||||
if cur_text =~ '^\s*\\' && v:lnum > 1 && prev_text !~ '^\s*\\'
|
||||
if exists("g:vim_indent_cont")
|
||||
let ind = ind + g:vim_indent_cont
|
||||
else
|
||||
let ind = ind + &sw * 3
|
||||
endif
|
||||
elseif getline(lnum) =~ '^\s*aug\%[roup]' && getline(lnum) !~ '^\s*aug\%[roup]\s*!\=\s\+END'
|
||||
elseif prev_text =~ '^\s*aug\%[roup]' && prev_text !~ '^\s*aug\%[roup]\s*!\=\s\+END'
|
||||
let ind = ind + &sw
|
||||
else
|
||||
let line = getline(lnum)
|
||||
let i = match(line, '\(^\||\)\s*\(if\|wh\%[ile]\|for\|try\|cat\%[ch]\|fina\%[lly]\|fu\%[nction]\|el\%[seif]\)\>')
|
||||
if i >= 0
|
||||
let ind += &sw
|
||||
if strpart(line, i, 1) == '|' && has('syntax_items')
|
||||
\ && synIDattr(synID(lnum, i, 1), "name") =~ '\(Comment\|String\)$'
|
||||
let ind -= &sw
|
||||
" A line starting with :au does not increment/decrement indent.
|
||||
if prev_text !~ '^\s*au\%[tocmd]'
|
||||
let i = match(prev_text, '\(^\||\)\s*\(if\|wh\%[ile]\|for\|try\|cat\%[ch]\|fina\%[lly]\|fu\%[nction]\|el\%[seif]\)\>')
|
||||
if i >= 0
|
||||
let ind += &sw
|
||||
if strpart(prev_text, i, 1) == '|' && has('syntax_items')
|
||||
\ && synIDattr(synID(lnum, i, 1), "name") =~ '\(Comment\|String\)$'
|
||||
let ind -= &sw
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@@ -75,9 +79,8 @@ function GetVimIndentIntern()
|
||||
" If the previous line contains an "end" after a pipe, but not in an ":au"
|
||||
" command. And not when there is a backslash before the pipe.
|
||||
" And when syntax HL is enabled avoid a match inside a string.
|
||||
let line = getline(lnum)
|
||||
let i = match(line, '[^\\]|\s*\(ene\@!\)')
|
||||
if i > 0 && line !~ '^\s*au\%[tocmd]'
|
||||
let i = match(prev_text, '[^\\]|\s*\(ene\@!\)')
|
||||
if i > 0 && prev_text !~ '^\s*au\%[tocmd]'
|
||||
if !has('syntax_items') || synIDattr(synID(lnum, i + 2, 1), "name") !~ '\(Comment\|String\)$'
|
||||
let ind = ind - &sw
|
||||
endif
|
||||
@@ -86,7 +89,7 @@ function GetVimIndentIntern()
|
||||
|
||||
" Subtract a 'shiftwidth' on a :endif, :endwhile, :catch, :finally, :endtry,
|
||||
" :endfun, :else and :augroup END.
|
||||
if getline(v:lnum) =~ '^\s*\(ene\@!\|cat\|fina\|el\|aug\%[roup]\s*!\=\s\+END\)'
|
||||
if cur_text =~ '^\s*\(ene\@!\|cat\|fina\|el\|aug\%[roup]\s*!\=\s\+END\)'
|
||||
let ind = ind - &sw
|
||||
endif
|
||||
|
||||
|
||||
21
runtime/indent/vroom.vim
Normal file
21
runtime/indent/vroom.vim
Normal file
@@ -0,0 +1,21 @@
|
||||
" Vim indent file
|
||||
" Language: Vroom (vim testing and executable documentation)
|
||||
" Maintainer: David Barnett (https://github.com/google/vim-ft-vroom)
|
||||
" Last Change: 2014 Jul 23
|
||||
|
||||
if exists('b:did_indent')
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
|
||||
let b:undo_indent = 'setlocal autoindent<'
|
||||
|
||||
setlocal autoindent
|
||||
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -1,6 +1,7 @@
|
||||
" Menu Translations: Simplified Chinese <i18n-translation@lists.linux.net.cn>
|
||||
" Translated By: Yuheng Xie <elephant@linux.net.cn>
|
||||
" Last Change: Tue Apr 18 22:00:00 2006
|
||||
" Menu Translations: Simplified Chinese
|
||||
" Maintainer: Shun Bai <baishunde@gmail.com>
|
||||
" Previous Maintainer: Yuheng Xie <elephant@linux.net.cn>
|
||||
" Last Change: 2014 Oct 15
|
||||
|
||||
" vim: ts=8 sw=8 noet
|
||||
|
||||
@@ -90,13 +91,14 @@ menutrans Toggle\ &Right\ Scrollbar
|
||||
menutrans F&ile\ Settings <09>ļ<EFBFBD><EFBFBD>趨(&I)
|
||||
|
||||
" Boolean options
|
||||
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! <09><>/<2F><><EFBFBD><EFBFBD>ʾ<EFBFBD>к<EFBFBD>(&N)<Tab>:set\ nu!
|
||||
menutrans Toggle\ &List\ Mode<Tab>:set\ list! <09><>/<2F><>\ list\ ģʽ(&L)<Tab>:set\ list!
|
||||
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! <09><>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)<Tab>:set\ wrap!
|
||||
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! <09><>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)<Tab>:set\ lbr!
|
||||
menutrans Toggle\ &expand-tab<Tab>:set\ et! <09><>/<2F><><EFBFBD><EFBFBD>չ\ tab(&E)<Tab>:set\ et!
|
||||
menutrans Toggle\ &auto-indent<Tab>:set\ ai! <09><>/<2F><><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&A)<Tab>:set\ ai!
|
||||
menutrans Toggle\ &C-indenting<Tab>:set\ cin! <09><>/<2F><>\ C\ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&C)<Tab>:set\ cin!
|
||||
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! <09><>/<2F><><EFBFBD><EFBFBD>ʾ<EFBFBD>к<EFBFBD>(&N)<Tab>:set\ nu!
|
||||
menutrans Toggle\ relati&ve\ Line\ Numbering<Tab>:set\ rnu! <09><>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD>(&V)<Tab>:set\ rnu!
|
||||
menutrans Toggle\ &List\ Mode<Tab>:set\ list! <09><>/<2F><>\ list\ ģʽ(&L)<Tab>:set\ list!
|
||||
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! <09><>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)<Tab>:set\ wrap!
|
||||
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! <09><>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)<Tab>:set\ lbr!
|
||||
menutrans Toggle\ &expand-tab<Tab>:set\ et! <EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>չ\ tab(&E)<Tab>:set\ et!
|
||||
menutrans Toggle\ &auto-indent<Tab>:set\ ai! <EFBFBD><EFBFBD>/<2F><><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&A)<Tab>:set\ ai!
|
||||
menutrans Toggle\ &C-indenting<Tab>:set\ cin! <09><>/<2F><>\ C\ <20><><EFBFBD><EFBFBD>(&C)<Tab>:set\ cin!
|
||||
|
||||
" other options
|
||||
menutrans &Shiftwidth <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
" Menu Translations: Simplified Chinese <i18n-translation@lists.linux.net.cn>
|
||||
" Translated By: Yuheng Xie <elephant@linux.net.cn>
|
||||
" Last Change: Tue Apr 18 22:00:00 2006
|
||||
" Menu Translations: Simplified Chinese
|
||||
" Maintainer: Shun Bai <baishunde@gmail.com>
|
||||
" Previous Maintainer: Yuheng Xie <elephant@linux.net.cn>
|
||||
" Last Change: 2014 Oct 15
|
||||
|
||||
" vim: ts=8 sw=8 noet
|
||||
|
||||
@@ -94,6 +95,7 @@ menutrans F&ile\ Settings
|
||||
|
||||
" Boolean options
|
||||
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! <09><>/<2F><><EFBFBD><EFBFBD>ʾ<EFBFBD>к<EFBFBD>(&N)<Tab>:set\ nu!
|
||||
menutrans Toggle\ relati&ve\ Line\ Numbering<Tab>:set\ rnu! <20><>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD>(&V)<Tab>:set\ rnu!
|
||||
menutrans Toggle\ &List\ Mode<Tab>:set\ list! <09><>/<2F><>\ list\ ģʽ(&L)<Tab>:set\ list!
|
||||
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! <09><>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)<Tab>:set\ wrap!
|
||||
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! <09><>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)<Tab>:set\ lbr!
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
" Menu Translations: Simplified Chinese <i18n-translation@lists.linux.net.cn>
|
||||
" Translated By: Yuheng Xie <elephant@linux.net.cn>
|
||||
" Last Change: Tue Apr 18 22:00:00 2006
|
||||
" Menu Translations: Simplified Chinese
|
||||
" Maintainer: Shun Bai <baishunde@gmail.com>
|
||||
" Previous Maintainer: Yuheng Xie <elephant@linux.net.cn>
|
||||
" Last Change: 2014 Oct 15
|
||||
|
||||
" vim: ts=8 sw=8 noet
|
||||
|
||||
@@ -91,6 +92,7 @@ menutrans F&ile\ Settings 文件设定(&I)
|
||||
|
||||
" Boolean options
|
||||
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! 开/关显示行号(&N)<Tab>:set\ nu!
|
||||
menutrans Toggle\ relati&ve\ Line\ Numbering<Tab>:set\ rnu! 开/关相对行号(&V)<Tab>:set\ rnu!
|
||||
menutrans Toggle\ &List\ Mode<Tab>:set\ list! 开/关\ list\ 模式(&L)<Tab>:set\ list!
|
||||
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! 开/关折行(&W)<Tab>:set\ wrap!
|
||||
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! 开/关整词折行(&R)<Tab>:set\ lbr!
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim Plugin: Edit the file with an existing Vim if possible
|
||||
" Maintainer: Bram Moolenaar
|
||||
" Last Change: 2013 Feb 24
|
||||
" Last Change: 2014 Dec 06
|
||||
|
||||
" This is a plugin, drop it in your (Unix) ~/.vim/plugin or (Win32)
|
||||
" $VIM/vimfiles/plugin directory. Or make a symbolic link, so that you
|
||||
@@ -112,7 +112,7 @@ func! EditExisting(fname, command)
|
||||
endif
|
||||
|
||||
if a:command != ''
|
||||
exe "normal " . a:command
|
||||
exe "normal! " . a:command
|
||||
endif
|
||||
|
||||
redraw
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim script to work like "less"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2012 May 18
|
||||
" Last Change: 2014 May 13
|
||||
|
||||
" Avoid loading this file twice, allow the user to define his own script.
|
||||
if exists("loaded_less")
|
||||
@@ -87,6 +87,9 @@ noremap <script> <Space> :call <SID>NextPage()<CR><SID>L
|
||||
map <C-V> <Space>
|
||||
map f <Space>
|
||||
map <C-F> <Space>
|
||||
map <PageDown> <Space>
|
||||
map <kPageDown> <Space>
|
||||
map <S-Down> <Space>
|
||||
map z <Space>
|
||||
map <Esc><Space> <Space>
|
||||
fun! s:NextPage()
|
||||
@@ -116,10 +119,14 @@ map e <CR>
|
||||
map <C-E> <CR>
|
||||
map j <CR>
|
||||
map <C-J> <CR>
|
||||
map <Down> <CR>
|
||||
|
||||
" Scroll one page backward
|
||||
noremap <script> b <C-B><SID>L
|
||||
map <C-B> b
|
||||
map <PageUp> b
|
||||
map <kPageUp> b
|
||||
map <S-Up> b
|
||||
map w b
|
||||
map <Esc>v b
|
||||
|
||||
@@ -133,6 +140,7 @@ map y k
|
||||
map <C-Y> k
|
||||
map <C-P> k
|
||||
map <C-K> k
|
||||
map <Up> k
|
||||
|
||||
" Redraw
|
||||
noremap <script> r <C-L><SID>L
|
||||
@@ -143,11 +151,15 @@ noremap <script> R <C-L><SID>L
|
||||
noremap <script> g gg<SID>L
|
||||
map < g
|
||||
map <Esc>< g
|
||||
map <Home> g
|
||||
map <kHome> g
|
||||
|
||||
" End of file
|
||||
noremap <script> G G<SID>L
|
||||
map > G
|
||||
map <Esc>> G
|
||||
map <End> G
|
||||
map <kEnd> G
|
||||
|
||||
" Go to percentage
|
||||
noremap <script> % %<SID>L
|
||||
@@ -184,6 +196,7 @@ fun! s:Backward()
|
||||
endfun
|
||||
|
||||
call s:Forward()
|
||||
cunmap <CR>
|
||||
|
||||
" Quitting
|
||||
noremap q :q<CR>
|
||||
@@ -240,6 +253,18 @@ fun! s:End()
|
||||
unmap v
|
||||
unmap /
|
||||
unmap ?
|
||||
unmap <Up>
|
||||
unmap <Down>
|
||||
unmap <PageDown>
|
||||
unmap <kPageDown>
|
||||
unmap <PageUp>
|
||||
unmap <kPageUp>
|
||||
unmap <S-Down>
|
||||
unmap <S-Up>
|
||||
unmap <Home>
|
||||
unmap <kHome>
|
||||
unmap <End>
|
||||
unmap <kEnd>
|
||||
endfun
|
||||
|
||||
" vim: sw=2
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" You can also use this as a start for your own set of menus.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2013 May 17
|
||||
" Last Change: 2014 May 22
|
||||
|
||||
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
|
||||
" in all modes and avoid side effects from mappings defined by the user.
|
||||
@@ -477,6 +477,7 @@ if has("folding")
|
||||
an 40.340.110 &Tools.&Folding.&Enable/Disable\ folds<Tab>zi zi
|
||||
an 40.340.120 &Tools.&Folding.&View\ Cursor\ Line<Tab>zv zv
|
||||
an 40.340.120 &Tools.&Folding.Vie&w\ Cursor\ Line\ only<Tab>zMzx zMzx
|
||||
inoremenu 40.340.120 &Tools.&Folding.Vie&w\ Cursor\ Line\ only<Tab>zMzx <C-O>zM<C-O>zx
|
||||
an 40.340.130 &Tools.&Folding.C&lose\ more\ folds<Tab>zm zm
|
||||
an 40.340.140 &Tools.&Folding.&Close\ all\ folds<Tab>zM zM
|
||||
an 40.340.150 &Tools.&Folding.O&pen\ more\ folds<Tab>zr zr
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" These commands create the option window.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2013 Jun 29
|
||||
" Last Change: 2014 Nov 19
|
||||
|
||||
" If there already is an option window, jump to that one.
|
||||
if bufwinnr("option-window") > 0
|
||||
@@ -149,7 +149,7 @@ setlocal ts=15 tw=0 noro buftype=nofile
|
||||
call append(0, '" Each "set" line shows the current value of an option (on the left).')
|
||||
call append(1, '" Hit <CR> on a "set" line to execute it.')
|
||||
call append(2, '" A boolean option will be toggled.')
|
||||
call append(3, '" For other options you can edit the value.')
|
||||
call append(3, '" For other options you can edit the value before hitting <CR>.')
|
||||
call append(4, '" Hit <CR> on a help line to open a help window on this option.')
|
||||
call append(5, '" Hit <CR> on an index line to jump there.')
|
||||
call append(6, '" Hit <Space> on a "set" line to refresh it.')
|
||||
@@ -324,6 +324,12 @@ call <SID>BinOptionG("wrap", &wrap)
|
||||
call append("$", "linebreak\twrap long lines at a character in 'breakat'")
|
||||
call append("$", "\t(local to window)")
|
||||
call <SID>BinOptionL("lbr")
|
||||
call append("$", "breakindent\tpreserve indentation in wrapped text")
|
||||
call append("$", "\t(local to window)")
|
||||
call <SID>BinOptionL("bri")
|
||||
call append("$", "breakindentopt\tadjust breakindent behaviour")
|
||||
call append("$", "\t(local to window)")
|
||||
call <SID>OptionL("briopt")
|
||||
call append("$", "breakat\twhich characters might cause a line break")
|
||||
call <SID>OptionG("brk", &brk)
|
||||
call append("$", "showbreak\tstring to put before wrapped screen lines")
|
||||
@@ -600,6 +606,10 @@ if has("gui")
|
||||
call append("$", "guiheadroom\troom (in pixels) left above/below the window")
|
||||
call append("$", " \tset ghr=" . &ghr)
|
||||
endif
|
||||
if has("directx")
|
||||
call append("$", "renderoptions\toptions for text rendering")
|
||||
call <SID>OptionG("rop", &rop)
|
||||
endif
|
||||
call append("$", "guipty\tuse a pseudo-tty for I/O to external commands")
|
||||
call <SID>BinOptionG("guipty", &guipty)
|
||||
if has("browse")
|
||||
@@ -718,6 +728,7 @@ call <SID>OptionG("km", &km)
|
||||
|
||||
call <SID>Header("editing text")
|
||||
call append("$", "undolevels\tmaximum number of changes that can be undone")
|
||||
call append("$", "\t(global or local to buffer)")
|
||||
call append("$", " \tset ul=" . &ul)
|
||||
call append("$", "undoreload\tmaximum number lines to save for undo on a buffer reload")
|
||||
call append("$", " \tset ur=" . &ur)
|
||||
@@ -855,7 +866,7 @@ if has("lispindent")
|
||||
call append("$", "\t(local to buffer)")
|
||||
call <SID>BinOptionL("lisp")
|
||||
call append("$", "lispwords\twords that change how lisp indenting works")
|
||||
call <SID>OptionL("lw", &lw)
|
||||
call <SID>OptionL("lw")
|
||||
endif
|
||||
|
||||
|
||||
@@ -967,6 +978,7 @@ call <SID>BinOptionG("bk", &bk)
|
||||
call append("$", "backupskip\tpatterns that specify for which files a backup is not made")
|
||||
call append("$", " \tset bsk=" . &bsk)
|
||||
call append("$", "backupcopy\twhether to make the backup as a copy or rename the existing file")
|
||||
call append("$", "\t(global or local to buffer)")
|
||||
call append("$", " \tset bkc=" . &bkc)
|
||||
call append("$", "backupdir\tlist of directories to put backup files in")
|
||||
call <SID>OptionG("bdir", &bdir)
|
||||
@@ -1182,8 +1194,10 @@ if has("keymap")
|
||||
call <SID>OptionL("kmp")
|
||||
endif
|
||||
if has("langmap")
|
||||
call append("$", "langmap\ttranslate characters for Normal mode")
|
||||
call append("$", "langmap\tlist of characters that are translated in Normal mode")
|
||||
call <SID>OptionG("lmap", &lmap)
|
||||
call append("$", "langnoremap\tdon't apply 'langmap' to mapped characters")
|
||||
call <SID>BinOptionG("lnr", &lnr)
|
||||
endif
|
||||
if has("xim")
|
||||
call append("$", "imdisable\twhen set never use IM; overrules following IM options")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim plugin for showing matching parens
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2013 May 08
|
||||
" Last Change: 2014 Jul 19
|
||||
|
||||
" Exit quickly when:
|
||||
" - this plugin was already loaded (or disabled)
|
||||
@@ -39,7 +39,7 @@ set cpo-=C
|
||||
function! s:Highlight_Matching_Pair()
|
||||
" Remove any previous match.
|
||||
if exists('w:paren_hl_on') && w:paren_hl_on
|
||||
3match none
|
||||
silent! call matchdelete(3)
|
||||
let w:paren_hl_on = 0
|
||||
endif
|
||||
|
||||
@@ -54,14 +54,15 @@ function! s:Highlight_Matching_Pair()
|
||||
let c_col = col('.')
|
||||
let before = 0
|
||||
|
||||
let c = getline(c_lnum)[c_col - 1]
|
||||
let text = getline(c_lnum)
|
||||
let c = text[c_col - 1]
|
||||
let plist = split(&matchpairs, '.\zs[:,]')
|
||||
let i = index(plist, c)
|
||||
if i < 0
|
||||
" not found, in Insert mode try character before the cursor
|
||||
if c_col > 1 && (mode() == 'i' || mode() == 'R')
|
||||
let before = 1
|
||||
let c = getline(c_lnum)[c_col - 2]
|
||||
let c = text[c_col - 2]
|
||||
let i = index(plist, c)
|
||||
endif
|
||||
if i < 0
|
||||
@@ -87,14 +88,27 @@ function! s:Highlight_Matching_Pair()
|
||||
" Find the match. When it was just before the cursor move it there for a
|
||||
" moment.
|
||||
if before > 0
|
||||
let save_cursor = winsaveview()
|
||||
let has_getcurpos = exists("*getcurpos")
|
||||
if has_getcurpos
|
||||
" getcurpos() is more efficient but doesn't exist before 7.4.313.
|
||||
let save_cursor = getcurpos()
|
||||
else
|
||||
let save_cursor = winsaveview()
|
||||
endif
|
||||
call cursor(c_lnum, c_col - before)
|
||||
endif
|
||||
|
||||
" When not in a string or comment ignore matches inside them.
|
||||
" Build an expression that detects whether the current cursor position is in
|
||||
" certain syntax types (string, comment, etc.), for use as searchpairpos()'s
|
||||
" skip argument.
|
||||
" We match "escape" for special items, such as lispEscapeSpecial.
|
||||
let s_skip ='synIDattr(synID(line("."), col("."), 0), "name") ' .
|
||||
\ '=~? "string\\|character\\|singlequote\\|escape\\|comment"'
|
||||
let s_skip = '!empty(filter(map(synstack(line("."), col(".")), ''synIDattr(v:val, "name")''), ' .
|
||||
\ '''v:val =~? "string\\|character\\|singlequote\\|escape\\|comment"''))'
|
||||
" If executing the expression determines that the cursor is currently in
|
||||
" one of the syntax types, then we want searchpairpos() to find the pair
|
||||
" within those syntax types (i.e., not skip). Otherwise, the cursor is
|
||||
" outside of the syntax types and s_skip should keep its value so we skip any
|
||||
" matching pair inside the syntax types.
|
||||
execute 'if' s_skip '| let s_skip = 0 | endif'
|
||||
|
||||
" Limit the search to lines visible in the window.
|
||||
@@ -147,19 +161,27 @@ function! s:Highlight_Matching_Pair()
|
||||
endtry
|
||||
|
||||
if before > 0
|
||||
call winrestview(save_cursor)
|
||||
if has_getcurpos
|
||||
call setpos('.', save_cursor)
|
||||
else
|
||||
call winrestview(save_cursor)
|
||||
endif
|
||||
endif
|
||||
|
||||
" If a match is found setup match highlighting.
|
||||
if m_lnum > 0 && m_lnum >= stoplinetop && m_lnum <= stoplinebottom
|
||||
exe '3match MatchParen /\(\%' . c_lnum . 'l\%' . (c_col - before) .
|
||||
\ 'c\)\|\(\%' . m_lnum . 'l\%' . m_col . 'c\)/'
|
||||
if exists('*matchaddpos')
|
||||
call matchaddpos('MatchParen', [[c_lnum, c_col - before], [m_lnum, m_col]], 10, 3)
|
||||
else
|
||||
exe '3match MatchParen /\(\%' . c_lnum . 'l\%' . (c_col - before) .
|
||||
\ 'c\)\|\(\%' . m_lnum . 'l\%' . m_col . 'c\)/'
|
||||
endif
|
||||
let w:paren_hl_on = 1
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Define commands that will disable and enable the plugin.
|
||||
command! NoMatchParen windo 3match none | unlet! g:loaded_matchparen |
|
||||
command! NoMatchParen windo silent! call matchdelete(3) | unlet! g:loaded_matchparen |
|
||||
\ au! matchparen
|
||||
command! DoMatchParen runtime plugin/matchparen.vim | windo doau CursorMoved
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" netrwPlugin.vim: Handles file transfer and remote directory listing across a network
|
||||
" PLUGIN SECTION
|
||||
" Date: Dec 31, 2013
|
||||
" Date: Jan 22, 2014
|
||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
|
||||
" Copyright: Copyright (C) 1999-2013 Charles E. Campbell {{{1
|
||||
@@ -20,7 +20,7 @@
|
||||
if &cp || exists("g:loaded_netrwPlugin")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwPlugin = "v150"
|
||||
let g:loaded_netrwPlugin = "v152"
|
||||
if v:version < 702
|
||||
echohl WarningMsg
|
||||
echo "***warning*** you need vim version 7.2 for this version of netrw"
|
||||
@@ -43,6 +43,7 @@ set cpo&vim
|
||||
" Local Browsing Autocmds: {{{2
|
||||
augroup FileExplorer
|
||||
au!
|
||||
au BufLeave * if &ft != "netrw"|let w:netrw_prvfile= expand("%:p")|endif
|
||||
au BufEnter * sil call s:LocalBrowse(expand("<amatch>"))
|
||||
au VimEnter * sil call s:VimEnter(expand("<amatch>"))
|
||||
if has("win32") || has("win95") || has("win64") || has("win16")
|
||||
@@ -66,11 +67,11 @@ augroup Network
|
||||
augroup END
|
||||
|
||||
" Commands: :Nread, :Nwrite, :NetUserPass {{{2
|
||||
com! -count=1 -nargs=* Nread call netrw#NetrwSavePosn()<bar>call netrw#NetRead(<count>,<f-args>)<bar>call netrw#NetrwRestorePosn()
|
||||
com! -range=% -nargs=* Nwrite call netrw#NetrwSavePosn()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call netrw#NetrwRestorePosn()
|
||||
com! -count=1 -nargs=* Nread call netrw#SavePosn()<bar>call netrw#NetRead(<count>,<f-args>)<bar>call netrw#RestorePosn()
|
||||
com! -range=% -nargs=* Nwrite call netrw#SavePosn()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call netrw#RestorePosn()
|
||||
com! -nargs=* NetUserPass call NetUserPass(<f-args>)
|
||||
com! -nargs=* Nsource call netrw#NetrwSavePosn()<bar>call netrw#NetSource(<f-args>)<bar>call netrw#NetrwRestorePosn()
|
||||
com! -nargs=? Ntree call netrw#NetrwSetTreetop(<q-args>)
|
||||
com! -nargs=* Nsource call netrw#SavePosn()<bar>call netrw#NetSource(<f-args>)<bar>call netrw#RestorePosn()
|
||||
com! -nargs=? Ntree call netrw#SetTreetop(<q-args>)
|
||||
|
||||
" Commands: :Explore, :Sexplore, Hexplore, Vexplore, Lexplore {{{2
|
||||
com! -nargs=* -bar -bang -count=0 -complete=dir Explore call netrw#Explore(<count>,0,0+<bang>0,<q-args>)
|
||||
@@ -84,7 +85,7 @@ com! -nargs=* -bar -complete=dir Lexplore call netrw#Lexplore(<q-args>)
|
||||
|
||||
" Commands: NetrwSettings {{{2
|
||||
com! -nargs=0 NetrwSettings call netrwSettings#NetrwSettings()
|
||||
com! -bang NetrwClean call netrw#NetrwClean(<bang>0)
|
||||
com! -bang NetrwClean call netrw#Clean(<bang>0)
|
||||
|
||||
" Maps:
|
||||
if !exists("g:netrw_nogx") && maparg('gx','n') == ""
|
||||
@@ -118,11 +119,18 @@ fun! s:LocalBrowse(dirname)
|
||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> (isdirectory, amiga)")
|
||||
if a:dirname != '' && isdirectory(a:dirname)
|
||||
sil! call netrw#LocalBrowseCheck(a:dirname)
|
||||
if exists("w:netrw_bannercnt")
|
||||
exe w:netrw_bannercnt
|
||||
endif
|
||||
endif
|
||||
|
||||
elseif isdirectory(a:dirname)
|
||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> (isdirectory, not amiga)")
|
||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> ft=".&ft." (isdirectory, not amiga)")
|
||||
" call Dredir("LocalBrowse ft last set: ","verbose set ft")
|
||||
sil! call netrw#LocalBrowseCheck(a:dirname)
|
||||
if exists("w:netrw_bannercnt")
|
||||
exe w:netrw_bannercnt
|
||||
endif
|
||||
|
||||
else
|
||||
" not a directory, ignore it
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types in scripts
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last change: 2013 May 24
|
||||
" Last change: 2014 Aug 24
|
||||
|
||||
" This file is called by an autocommand for every file that has just been
|
||||
" loaded into a buffer. It checks if the type of file can be recognized by
|
||||
@@ -319,6 +319,10 @@ else
|
||||
elseif s:line1 =~ '^==\d\+== valgrind' || s:line3 =~ '^==\d\+== Using valgrind'
|
||||
set ft=valgrind
|
||||
|
||||
" Go docs
|
||||
elseif s:line1 =~ '^PACKAGE DOCUMENTATION$'
|
||||
set ft=godoc
|
||||
|
||||
" Renderman Interface Bytestream
|
||||
elseif s:line1 =~ '^##RenderMan'
|
||||
set ft=rib
|
||||
|
||||
@@ -9,35 +9,43 @@
|
||||
SPELLDIR = ..
|
||||
FILES = ro_RO.aff ro_RO.dic
|
||||
|
||||
all: $SPELLDIR/ro.iso-8859-2.spl $SPELLDIR/ro.utf-8.spl \
|
||||
$SPELLDIR/ro.cp1250.spl ../README_ro.txt
|
||||
|
||||
$SPELLDIR/ro.iso-8859-2.spl : $FILES
|
||||
:sys env LANG=ro_RO.ISO8859-2 $VIM -u NONE -e -c "mkspell! $SPELLDIR/ro ro_RO" -c q
|
||||
all: $SPELLDIR/ro.utf-8.spl \
|
||||
$SPELLDIR/ro.iso-8859-2.spl \
|
||||
$SPELLDIR/ro.cp1250.spl \
|
||||
../README_ro.txt
|
||||
|
||||
$SPELLDIR/ro.utf-8.spl : $FILES
|
||||
:sys env LANG=ro_RO.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/ro ro_RO" -c q
|
||||
:sys env LANG=ro_RO.utf8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/ro ro_RO" -c q
|
||||
|
||||
# Note: this generates conversion errors, because not all characters can be
|
||||
# represented in iso-8859-2.
|
||||
$SPELLDIR/ro.iso-8859-2.spl : $FILES
|
||||
:sys env LANG=ro_RO.iso88592 $VIM -u NONE -e -c "mkspell! $SPELLDIR/ro ro_RO" -c q
|
||||
|
||||
# Note: this generates conversion errors, because not all characters can be
|
||||
# represented in cp1250.
|
||||
$SPELLDIR/ro.cp1250.spl : $FILES
|
||||
:sys $VIM -u NONE -e -c "set enc=cp1250" -c "mkspell! $SPELLDIR/ro ro_RO" -c q
|
||||
|
||||
../README_ro.txt: README_ro_RO.txt
|
||||
../README_ro.txt: README
|
||||
:copy $source $target
|
||||
|
||||
#
|
||||
# Fetching the files from OpenOffice.org.
|
||||
#
|
||||
OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries
|
||||
:attr {fetch = $OODIR/%file%} ro_RO.zip
|
||||
#OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries
|
||||
OODIR = http://sourceforge.net/projects/rospell/files/Romanian%20dictionaries/dict-3.3.10
|
||||
ZIPFILE = ro_RO.3.3.10.zip
|
||||
:attr {fetch = $OODIR/%file%} $ZIPFILE
|
||||
|
||||
# The files don't depend on the .zip file so that we can delete it.
|
||||
# Only download the zip file if the targets don't exist.
|
||||
# This is a bit tricky, since the file name includes the date.
|
||||
ro_RO.aff ro_RO.dic: {buildcheck=}
|
||||
:assertpkg unzip patch
|
||||
:fetch ro_RO.zip
|
||||
:sys $UNZIP ro_RO.zip
|
||||
:delete ro_RO.zip
|
||||
:fetch $ZIPFILE
|
||||
:sys $UNZIP $ZIPFILE
|
||||
:delete $ZIPFILE
|
||||
@if not os.path.exists('ro_RO.orig.aff'):
|
||||
:copy ro_RO.aff ro_RO.orig.aff
|
||||
@if not os.path.exists('ro_RO.orig.dic'):
|
||||
@@ -60,12 +68,12 @@ diff:
|
||||
|
||||
check:
|
||||
:assertpkg unzip diff
|
||||
:fetch ro_RO.zip
|
||||
:fetch $ZIPFILE
|
||||
:mkdir tmp
|
||||
:cd tmp
|
||||
@try:
|
||||
@import stat
|
||||
:sys $UNZIP ../ro_RO.zip
|
||||
:sys $UNZIP ../$ZIPFILE
|
||||
:sys {force} diff ../ro_RO.orig.aff ro_RO.aff >d
|
||||
@if os.stat('d')[stat.ST_SIZE] > 0:
|
||||
:copy ro_RO.aff ../ro_RO.new.aff
|
||||
@@ -75,7 +83,19 @@ check:
|
||||
@finally:
|
||||
:cd ..
|
||||
:delete {r}{f}{q} tmp
|
||||
:delete ro_RO.zip
|
||||
:delete $ZIPFILE
|
||||
|
||||
# Remove all the downloaded and generated files.
|
||||
clean:
|
||||
:delete ro_RO.aff
|
||||
:delete ro_RO.dic
|
||||
:delete ro_RO.orig.aff
|
||||
:delete ro_RO.orig.dic
|
||||
:delete ro_RO-ante1993.aff
|
||||
:delete ro_RO-ante1993.dic
|
||||
:delete COPYING.GPL
|
||||
:delete COPYING.LGPL
|
||||
:delete COPYING.MPL
|
||||
:delete README
|
||||
|
||||
# vim: set sts=4 sw=4 :
|
||||
|
||||
@@ -1,42 +1,34 @@
|
||||
*** ro_RO.orig.aff Wed Aug 31 20:34:38 2005
|
||||
--- ro_RO.aff Wed Aug 31 20:39:57 2005
|
||||
*** ro_RO.orig.aff 2014-08-29 16:29:21.162457824 +0200
|
||||
--- ro_RO.aff 2014-09-19 15:29:52.354413307 +0200
|
||||
***************
|
||||
*** 3,4 ****
|
||||
--- 3,8 ----
|
||||
*** 3,5 ****
|
||||
TRY iaăâșțîertolncusmpdbgfzvhjxkwyqACDM
|
||||
! KEY qwertyuiop|asdfghjkl|zxcvbnm
|
||||
|
||||
+ FOL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
+ LOW <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
+ UPP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
+
|
||||
PFX E Y 1
|
||||
***************
|
||||
*** 12,15 ****
|
||||
SFX L 0 l u
|
||||
! SFX L 0 le [^cg] i
|
||||
! SFX L 0 i [cg] i
|
||||
SFX L 0 le e
|
||||
--- 16,19 ----
|
||||
SFX L 0 l u
|
||||
! SFX L 0 le [^cg]i
|
||||
! SFX L 0 i [cg]i
|
||||
SFX L 0 le e
|
||||
***************
|
||||
*** 18,20 ****
|
||||
SFX U 0 a re
|
||||
! SFX U 0 i [^i] ii
|
||||
|
||||
--- 22,24 ----
|
||||
SFX U 0 a re
|
||||
! SFX U 0 i [^i]ii
|
||||
--- 3,9 ----
|
||||
TRY iaăâșțîertolncusmpdbgfzvhjxkwyqACDM
|
||||
! # KEY qwertyuiop|asdfghjkl|zxcvbnm
|
||||
!
|
||||
! # ignore extra field (specifies type of word?)
|
||||
! IGNOREEXTRA
|
||||
!
|
||||
|
||||
***************
|
||||
*** 38,41 ****
|
||||
SFX I 0 ului [^ua]
|
||||
! SFX I a ii [gc] a
|
||||
! SFX I a ei [^cg] a
|
||||
|
||||
--- 42,45 ----
|
||||
SFX I 0 ului [^ua]
|
||||
! SFX I a ii [gc]a
|
||||
! SFX I a ei [^cg]a
|
||||
|
||||
*** 1546,1553 ****
|
||||
SFX q 0 ilor . adj. m. pl. dat.
|
||||
! SFX q 0 ă
|
||||
! SFX q 0 a
|
||||
! SFX q 0 ei
|
||||
! SFX q 0 e
|
||||
! SFX q 0 ele
|
||||
! SFX q 0 elor
|
||||
PFX q Y 1
|
||||
--- 1550,1557 ----
|
||||
SFX q 0 ilor . adj. m. pl. dat.
|
||||
! SFX q 0 ă .
|
||||
! SFX q 0 a .
|
||||
! SFX q 0 ei .
|
||||
! SFX q 0 e .
|
||||
! SFX q 0 ele .
|
||||
! SFX q 0 elor .
|
||||
PFX q Y 1
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" This file is normally sourced from menu.vim.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2013 Jun 24
|
||||
" Last Change: 2014 Aug 13
|
||||
|
||||
" Define the SetSyn function, used for the Syntax menu entries.
|
||||
" Set 'filetype' and also 'syntax' if it is manually selected.
|
||||
@@ -326,6 +326,7 @@ an 50.70.270 &Syntax.M.Messages\ (/var/log) :cal SetSyn("messages")<CR>
|
||||
an 50.70.280 &Syntax.M.Metafont :cal SetSyn("mf")<CR>
|
||||
an 50.70.290 &Syntax.M.MetaPost :cal SetSyn("mp")<CR>
|
||||
an 50.70.300 &Syntax.M.MGL :cal SetSyn("mgl")<CR>
|
||||
an 50.70.305 &Syntax.M.MIX :cal SetSyn("mix")<CR>
|
||||
an 50.70.310 &Syntax.M.MMIX :cal SetSyn("mmix")<CR>
|
||||
an 50.70.320 &Syntax.M.Modconf :cal SetSyn("modconf")<CR>
|
||||
an 50.70.330 &Syntax.M.Model :cal SetSyn("model")<CR>
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
" URL: http://asciidoc.org/
|
||||
" Licence: GPL (http://www.gnu.org)
|
||||
" Remarks: Vim 6 or greater
|
||||
" Last Update: 2014 Aug 29 (see Issue 240)
|
||||
" Limitations:
|
||||
"
|
||||
" - Nested quoted text formatting is highlighted according to the outer
|
||||
@@ -155,7 +156,8 @@ hi def link asciidocQuotedAttributeList Special
|
||||
hi def link asciidocQuotedBold Special
|
||||
hi def link asciidocQuotedDoubleQuoted Label
|
||||
hi def link asciidocQuotedEmphasized2 Type
|
||||
hi def link asciidocQuotedEmphasized Type
|
||||
hi asciidocQuotedEmphasizedItalic term=italic cterm=italic gui=italic
|
||||
hi def link asciidocQuotedEmphasized asciidocQuotedEmphasizedItalic
|
||||
hi def link asciidocQuotedMonospaced2 Identifier
|
||||
hi def link asciidocQuotedMonospaced Identifier
|
||||
hi def link asciidocQuotedSingleQuoted Label
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user