mirror of
https://github.com/vim/vim
synced 2025-07-29 18:01:41 +00:00
Compare commits
562 Commits
Author | SHA1 | Date | |
---|---|---|---|
39c47c3104 | |||
21c1a0c2f1 | |||
34a364877f | |||
f4d8b76d30 | |||
9d4b8caf9e | |||
40bd5a1540 | |||
d4c4bfa007 | |||
4eeedc09fe | |||
c89c91cafd | |||
93ff6720fe | |||
abdcfd1c83 | |||
160e994d76 | |||
2286304cdb | |||
28b6a3bef6 | |||
f08b0eb869 | |||
db3b44640d | |||
7b5f45be21 | |||
def69dffb3 | |||
eaa006dae3 | |||
a2cff1dbc9 | |||
accf4ed352 | |||
a06758dd38 | |||
0a7984af56 | |||
340dd0fbe4 | |||
051a8a375f | |||
75aa92a162 | |||
c0abac67d7 | |||
3be69bf539 | |||
7f32092b91 | |||
7b82926892 | |||
fff10d9a76 | |||
e519eb41c1 | |||
3a724290c5 | |||
3d031a0ae7 | |||
37f341d723 | |||
a9173d06f7 | |||
a5d4f3b09d | |||
b376aa2da4 | |||
b07626d4af | |||
cddd5ac911 | |||
eeed1c7ae0 | |||
6e77b88df6 | |||
3826c0513b | |||
35a319b77f | |||
26190b2701 | |||
826bfe4bbd | |||
cce81e9673 | |||
edd7a476fb | |||
e275ba4fc9 | |||
e2982d6911 | |||
78e0fa4cf4 | |||
2e258bd79f | |||
949de97da3 | |||
7c25a7c0a1 | |||
f67d3fb736 | |||
6d19798774 | |||
d3710cf01e | |||
08d7b1c828 | |||
965d2edbce | |||
6e64922492 | |||
78aa5ffe31 | |||
9af9fd6ab6 | |||
d8d957de86 | |||
a684a68409 | |||
50c5689342 | |||
c6376c7984 | |||
5a9357d0bf | |||
cc8cd44533 | |||
27fef59dd1 | |||
8b8c0ed657 | |||
72d2fa69e5 | |||
d85931e673 | |||
72406a4bd2 | |||
dfa5e464d4 | |||
51491adfa8 | |||
be01090efa | |||
b16ff292ad | |||
f8dbd58666 | |||
56858e4ed4 | |||
23003e51e1 | |||
40fa12aea3 | |||
da0b497c6e | |||
34cc7d8c03 | |||
690c524ce6 | |||
770ddbe159 | |||
18fefddcb0 | |||
c04f62346b | |||
1d34189ecb | |||
d2b98ab4ec | |||
820d5525ca | |||
542ffe16a1 | |||
644b49fa0f | |||
3dfe2e0fb8 | |||
1a7ee4dd11 | |||
ee2cbcd99c | |||
f2a8bafa4b | |||
78eb9cce91 | |||
5dfe467432 | |||
f5785cf059 | |||
a29856fcdc | |||
b1b6f4de2b | |||
28e591dd50 | |||
bdcba24d85 | |||
ca0627df69 | |||
dfe04dbff5 | |||
f1e8876fa2 | |||
464393a696 | |||
35a9a00afc | |||
b3bf33a7b2 | |||
4b4b1b84ee | |||
56e14698b4 | |||
f14b8ba137 | |||
07802044b9 | |||
efc084e335 | |||
6c391a74fe | |||
d176ca3dde | |||
6b9efdde78 | |||
0325d3967c | |||
070ac3433b | |||
072f1c6888 | |||
36f691f5f1 | |||
fc3b775055 | |||
80c88eac5a | |||
a9e3d56087 | |||
af2d5d2ce2 | |||
6853c38b78 | |||
89a54b413a | |||
65b6056659 | |||
ddfc05100a | |||
3b31851356 | |||
3ae5fc9a6a | |||
ec1b0968aa | |||
01dd6c3732 | |||
2ddb89f8a9 | |||
b7081e135a | |||
10c83dde55 | |||
7f2dd1e90c | |||
deba5eb195 | |||
af631f61bc | |||
03d257998b | |||
87e1587b8a | |||
26a4484da2 | |||
04626c243c | |||
6631597452 | |||
b4d82e2a8d | |||
20e0c3d27b | |||
ba02e4720f | |||
dca29d9cf4 | |||
4eaef9979f | |||
de05ae7158 | |||
a918712626 | |||
89a9c159f2 | |||
6e82351130 | |||
9dcd349ca8 | |||
9aecf79c45 | |||
c8103b4c25 | |||
5c56da4de8 | |||
60b6e6f6cc | |||
271906bc06 | |||
6024c0427c | |||
47016f5772 | |||
4799cef85c | |||
df9070e300 | |||
eb05d05f8a | |||
49b93049c6 | |||
cdd8a5e6fe | |||
5ca5cc6412 | |||
60faf8656e | |||
6b36d2a16d | |||
9cd91a1e88 | |||
73170917f1 | |||
093165c899 | |||
bf5f287833 | |||
bebf06954e | |||
b8bd2e6eba | |||
489d60996d | |||
d895b1d918 | |||
5aec755b67 | |||
c66f645b80 | |||
dea561111a | |||
02f8694a6b | |||
ccfb7c6758 | |||
434df7a401 | |||
92755bba30 | |||
cd6b4f3001 | |||
4bba16d252 | |||
b033ee2ddf | |||
a401bba080 | |||
5cebca27b8 | |||
14c7530c4f | |||
dd9de50f42 | |||
2596a4e763 | |||
6aa57295cf | |||
bfb2bb16bc | |||
d2e9ccee90 | |||
4830c211a4 | |||
b521766c56 | |||
88c89c7722 | |||
78a9c2e670 | |||
aacc966c5d | |||
89071cb6a1 | |||
069f90852f | |||
92f05f21af | |||
ef98257593 | |||
bd77aa9274 | |||
3e9c0b9608 | |||
4f0884d6e2 | |||
ed7cb2df35 | |||
7deb4115ef | |||
16e63e6d35 | |||
b85d3627d9 | |||
ba9c23e776 | |||
6e48b84c5f | |||
52eb372a04 | |||
917c46abe5 | |||
b6f55bb5b4 | |||
b56c4419d4 | |||
bd9e796125 | |||
8ee52affe7 | |||
eed9616120 | |||
ed8b099fd2 | |||
33ea9fd4d8 | |||
80a070c361 | |||
2950065e18 | |||
267359902c | |||
9e2fa4bb9e | |||
e525bdda3a | |||
dae453f339 | |||
4270d8b762 | |||
fbeefb1b87 | |||
6ce46b9963 | |||
7de6262373 | |||
1b154ea121 | |||
8493499880 | |||
c611941c60 | |||
3276f5846f | |||
d57a6bd98c | |||
cbae580283 | |||
11328bc7df | |||
5671f3f076 | |||
6f6d58c380 | |||
63b9173693 | |||
af647e76ca | |||
4f33bc20d7 | |||
1b6acf02b7 | |||
6a230c6b32 | |||
bc67e5a0a4 | |||
4a01159da2 | |||
9fe17d473a | |||
f18e8a969a | |||
9dc4bef897 | |||
57942237c1 | |||
d61f2f772a | |||
dd097bdc13 | |||
80d7395dcf | |||
0eec851942 | |||
41a3485dd6 | |||
23e2e11515 | |||
51ad850f5f | |||
2c70711e3f | |||
7bf9a07bd7 | |||
c3160727b9 | |||
bb7ee7abe1 | |||
35578168be | |||
952d9d827e | |||
1321257317 | |||
e041dde7bb | |||
e4db17fb6e | |||
0d4d9ee9bb | |||
f78da4f9d6 | |||
73b8b0ae3a | |||
6db660bed9 | |||
e97976baa7 | |||
78ba933d18 | |||
f24f51d030 | |||
f5d52c90e0 | |||
9e0ee59019 | |||
1780f08ba4 | |||
335c8c7b20 | |||
620c959c6c | |||
78db17c6f3 | |||
8e3fc135e8 | |||
bf634a0a8b | |||
b9115da4be | |||
28d8421bfb | |||
890ee4e2be | |||
4a15504e91 | |||
0f5575d0a7 | |||
1790be6cb6 | |||
60dc8274e9 | |||
921ba52926 | |||
77ab4e28a2 | |||
77111e2bfc | |||
131530a54d | |||
41114a2a27 | |||
83cd0156e0 | |||
0732932553 | |||
6e850a6900 | |||
2a4bd00cef | |||
81530e3603 | |||
d47c39775b | |||
53f7fccc94 | |||
327d3ee455 | |||
eaf3f36168 | |||
6868634abd | |||
78e006b9b0 | |||
e2390c7f32 | |||
7e6a2a64f0 | |||
9088784972 | |||
f723701de0 | |||
4490ec4e83 | |||
5d7c2df536 | |||
53ba05b090 | |||
29b857150c | |||
ccb148ac63 | |||
678b207fb1 | |||
ff34bee3a2 | |||
3c77b6a1ce | |||
a764e73d4f | |||
2ec28aec9d | |||
7a4ca32175 | |||
8a4c812ede | |||
3ed0d93796 | |||
2eb6fc3b52 | |||
5bca906b30 | |||
7d60384a00 | |||
9c9472ff49 | |||
5a9e5845e1 | |||
7973de35ba | |||
dd0b287c1e | |||
88421d6dc8 | |||
1a3e5747b7 | |||
5a234eb18e | |||
0ad871dc4d | |||
1b862c466b | |||
c9e7e344ed | |||
cd268017cf | |||
5dd839ce20 | |||
2b59df00d8 | |||
7a3fe3e180 | |||
a74901929e | |||
f674b358fc | |||
d8e44476d8 | |||
05bd9785fd | |||
c4c5642513 | |||
cd9172077b | |||
189663bdac | |||
11d7e62f1d | |||
63cb6567f0 | |||
e29a27f6f8 | |||
9fa5dabedc | |||
83494b4ac6 | |||
9bb0dad0d8 | |||
605793500b | |||
ac2cd2b08f | |||
6106504e9e | |||
98c2eaed27 | |||
885971e2f5 | |||
9ff9c7b974 | |||
f6488547e3 | |||
24e9316560 | |||
4db572eeb2 | |||
ad2d4969e1 | |||
0c35752d04 | |||
c6ba2f9dde | |||
47bc9c3337 | |||
a9a7c0c602 | |||
20c370d9f2 | |||
f5f1b59d3b | |||
d8cee76b49 | |||
5245beb37c | |||
378697ac58 | |||
547f94f330 | |||
b5841b99e6 | |||
9e60e899ee | |||
0894e0d808 | |||
1557b16dad | |||
1a71d31bf3 | |||
c816a2c226 | |||
4a0b85ad01 | |||
5bea41dea3 | |||
1840a7b4e3 | |||
16e26a3116 | |||
ee41052ccb | |||
042414fa00 | |||
841e498c5d | |||
7b7a118e74 | |||
11005b078d | |||
ffcfddc759 | |||
c72bdd28ac | |||
cc7eb2aa7a | |||
5231224e11 | |||
648594eaf7 | |||
c03fe66ade | |||
4ece152ad6 | |||
0f1227f7d5 | |||
d9162550aa | |||
1aeddeb8bd | |||
de69a7353e | |||
482d2f37a5 | |||
a2438132a6 | |||
31e21766d6 | |||
c323527d67 | |||
fe3418abe0 | |||
5b73992d8f | |||
9da32e4d57 | |||
90fba5627b | |||
6bcb18253a | |||
981217c11f | |||
b885a7c72c | |||
c967d57aa9 | |||
f055d45023 | |||
f32f099761 | |||
d4ab807d62 | |||
09f688c33a | |||
deb108ba0a | |||
1594f31345 | |||
30441bb3d5 | |||
41fb723ee9 | |||
db86472770 | |||
6a9e5c69cf | |||
5ede5b231e | |||
efc5db5215 | |||
90df4b9d42 | |||
303215d60c | |||
b5098060f4 | |||
599a6e5b36 | |||
442b29c968 | |||
5cb09620c1 | |||
404557e6a6 | |||
04db26b360 | |||
f6d877975b | |||
d6fa7bd5b9 | |||
22f85d0459 | |||
6977dba04b | |||
97f227d9c9 | |||
b7480cd893 | |||
f33cae6050 | |||
3777d6e32b | |||
26e88ec8e2 | |||
67b17a6fc6 | |||
7a40ff00ed | |||
4197828dc6 | |||
999db2346b | |||
1d97efce0c | |||
6c72fd51a8 | |||
b17ab86e7b | |||
c60e959cba | |||
fb773a3e0a | |||
74509239df | |||
e28d9b3bd4 | |||
00aaa512d5 | |||
20cc528320 | |||
9cee4a1c9c | |||
fcde67c99f | |||
6fc0161682 | |||
acbb4b5720 | |||
a26f56f675 | |||
72463f883c | |||
b836f631db | |||
11a632d60b | |||
576cb75ceb | |||
a3d1b29bd3 | |||
834193afd7 | |||
d3d8feeb89 | |||
3f987b5917 | |||
80b2ba3e96 | |||
ea042677ab | |||
4067bd3604 | |||
7d7bcc6ba0 | |||
127950241e | |||
ffec6dd16a | |||
108010aa47 | |||
d887297ad0 | |||
1d1ce613cd | |||
17d868b8b2 | |||
577dc93da9 | |||
4d8f476176 | |||
e65081d1b5 | |||
65aee0b714 | |||
4cd5c52d64 | |||
054794c20f | |||
98f9a5f4cb | |||
e3ffaa6b7c | |||
015cf10311 | |||
307dec4567 | |||
14ded11fca | |||
3a3b10e87a | |||
4d5dfe2083 | |||
13e45d14ba | |||
ce024c3e20 | |||
444d878324 | |||
f3caeb63d6 | |||
6582e230a0 | |||
22480d147f | |||
f3d30842dc | |||
b420ac9d20 | |||
98703d7f6c | |||
3a62b14077 | |||
d415d26913 | |||
6738fd2000 | |||
44dea9da4b | |||
18d46587b9 | |||
8cec9273d2 | |||
cc65040986 | |||
8ce3ca8961 | |||
7237cab8f1 | |||
831bdf8622 | |||
ef7be8348f | |||
419a40ac96 | |||
226b28b961 | |||
22f17a29cd | |||
cb54bc6562 | |||
035bd1c99f | |||
f1e7449d56 | |||
2ac4b2536a | |||
4f8f54280f | |||
0d5e1ec37f | |||
2fb1b89d72 | |||
ca81f0e834 | |||
f573c6e1ed | |||
208f0b48b2 | |||
2fb7495686 | |||
6864efa596 | |||
ad52f96a2d | |||
59b50c3bee | |||
fae55a9cb0 | |||
74f4a965bc | |||
6e9695525e | |||
4cea536bdf | |||
29f0dc3689 | |||
6bc30b05e6 | |||
41a7f82dea | |||
b90ac5e96e | |||
55b6b60b69 | |||
61a417b7c1 | |||
a97c36310f | |||
f57b43c230 | |||
8ac681a280 | |||
968a5b62ff | |||
affd0bc626 | |||
caf1a2f296 | |||
3b814af7e1 | |||
47f6db9089 | |||
1b0a9dd413 | |||
26d711645c | |||
b69c6fb7b4 | |||
90478f35a8 | |||
2d6d718dde | |||
5ffefbb35a | |||
2346a63784 | |||
4ee9d8e04d | |||
e70e12b32f | |||
2e66b0d137 | |||
c2dec4cac4 | |||
c3a27bbd53 | |||
6d1792d408 | |||
d9f31c13d2 | |||
e99d422bbd | |||
e6174fd58d | |||
4a27aefe3b | |||
a993153538 |
31
.github/CODEOWNERS
vendored
31
.github/CODEOWNERS
vendored
@ -51,6 +51,7 @@ runtime/compiler/sass.vim @tpope
|
||||
runtime/compiler/se.vim @dkearns
|
||||
runtime/compiler/shellcheck.vim @dkearns
|
||||
runtime/compiler/sml.vim @dkearns
|
||||
runtime/compiler/spectral.vim @romainl
|
||||
runtime/compiler/stylelint.vim @dkearns
|
||||
runtime/compiler/tcl.vim @dkearns
|
||||
runtime/compiler/tidy.vim @dkearns
|
||||
@ -59,6 +60,7 @@ runtime/compiler/tsc.vim @dkearns
|
||||
runtime/compiler/typedoc.vim @dkearns
|
||||
runtime/compiler/xmllint.vim @dkearns
|
||||
runtime/compiler/xo.vim @dkearns
|
||||
runtime/compiler/yamllint.vim @romainl
|
||||
runtime/compiler/zsh.vim @dkearns
|
||||
runtime/doc/pi_getscript.txt @cecamp
|
||||
runtime/doc/pi_logipat.txt @cecamp
|
||||
@ -71,6 +73,7 @@ runtime/ftplugin/awk.vim @dkearns
|
||||
runtime/ftplugin/basic.vim @dkearns
|
||||
runtime/ftplugin/bst.vim @tpope
|
||||
runtime/ftplugin/cfg.vim @chrisbra
|
||||
runtime/ftplugin/csh.vim @dkearns
|
||||
runtime/ftplugin/css.vim @dkearns
|
||||
runtime/ftplugin/cucumber.vim @tpope
|
||||
runtime/ftplugin/eiffel.vim @dkearns
|
||||
@ -95,8 +98,10 @@ runtime/ftplugin/markdown.vim @tpope
|
||||
runtime/ftplugin/matlab.vim @cecamp
|
||||
runtime/ftplugin/meson.vim @Liambeguin
|
||||
runtime/ftplugin/modula3.vim @dkearns
|
||||
runtime/ftplugin/nginx.vim @chr4
|
||||
runtime/ftplugin/nroff.vim @a-vrma
|
||||
runtime/ftplugin/nsis.vim @k-takata
|
||||
runtime/ftplugin/octave.vim @dkearns
|
||||
runtime/ftplugin/pascal.vim @dkearns
|
||||
runtime/ftplugin/pbtxt.vim @lakshayg
|
||||
runtime/ftplugin/pdf.vim @tpope
|
||||
@ -107,27 +112,49 @@ runtime/ftplugin/sass.vim @tpope
|
||||
runtime/ftplugin/scss.vim @tpope
|
||||
runtime/ftplugin/spec.vim @ignatenkobrain
|
||||
runtime/ftplugin/systemverilog.vim @Kocha
|
||||
runtime/ftplugin/tcsh.vim @dkearns
|
||||
runtime/ftplugin/tidy.vim @dkearns
|
||||
runtime/ftplugin/tmux.vim @ericpruitt
|
||||
runtime/ftplugin/toml.vim @averms
|
||||
runtime/ftplugin/typescript.vim @dkearns
|
||||
runtime/ftplugin/typescriptreact.vim @dkearns
|
||||
runtime/ftplugin/xml.vim @chrisbra
|
||||
runtime/ftplugin/zsh.vim @chrisbra
|
||||
runtime/indent/bst.vim @tpope
|
||||
runtime/indent/cdl.vim @dkearns
|
||||
runtime/indent/config.vim @dkearns
|
||||
runtime/indent/css.vim @dkearns
|
||||
runtime/indent/cucumber.vim @tpope
|
||||
runtime/indent/d.vim @dkearns
|
||||
runtime/indent/dosbatch.vim @k-takata
|
||||
runtime/indent/dtd.vim @dkearns
|
||||
runtime/indent/dylan.vim @dkearns
|
||||
runtime/indent/elm.vim @andys8
|
||||
runtime/indent/eruby.vim @tpope @dkearns
|
||||
runtime/indent/eterm.vim @dkearns
|
||||
runtime/indent/framescript.vim @dkearns
|
||||
runtime/indent/gitconfig.vim @tpope
|
||||
runtime/indent/haml.vim @tpope
|
||||
runtime/indent/idlang.vim @dkearns
|
||||
runtime/indent/ld.vim @dkearns
|
||||
runtime/indent/liquid.vim @tpope
|
||||
runtime/indent/make.vim @dkearns
|
||||
runtime/indent/meson.vim @Liambeguin
|
||||
runtime/indent/mma.vim @dkearns
|
||||
runtime/indent/nginx.vim @chr4
|
||||
runtime/indent/nsis.vim @k-takata
|
||||
runtime/indent/occam.vim @dkearns
|
||||
runtime/indent/postscr.vim @dkearns
|
||||
runtime/indent/prolog.vim @dkearns
|
||||
runtime/indent/ps1.vim @heaths
|
||||
runtime/indent/readline.vim @dkearns
|
||||
runtime/indent/ruby.vim @AndrewRadev @dkearns
|
||||
runtime/indent/sass.vim @tpope
|
||||
runtime/indent/scss.vim @tpope
|
||||
runtime/indent/sh.vim @chrisbra
|
||||
runtime/indent/systemverilog.vim @Kocha
|
||||
runtime/indent/tcl.vim @dkearns
|
||||
runtime/indent/tcsh.vim @dkearns
|
||||
runtime/indent/teraterm.vim @k-takata
|
||||
runtime/indent/xml.vim @chrisbra
|
||||
runtime/indent/zsh.vim @chrisbra
|
||||
@ -189,6 +216,7 @@ runtime/syntax/markdown.vim @tpope
|
||||
runtime/syntax/meson.vim @Liambeguin
|
||||
runtime/syntax/modula3.vim @dkearns
|
||||
runtime/syntax/netrw.vim @cecamp
|
||||
runtime/syntax/nginx.vim @chr4
|
||||
runtime/syntax/nroff.vim @jmarshall
|
||||
runtime/syntax/nsis.vim @k-takata
|
||||
runtime/syntax/pascal.vim @dkearns
|
||||
@ -214,10 +242,12 @@ runtime/syntax/sshdconfig.vim @Jakuje
|
||||
runtime/syntax/sudoers.vim @e-kwsm
|
||||
runtime/syntax/systemverilog.vim @Kocha
|
||||
runtime/syntax/tags.vim @cecamp
|
||||
runtime/syntax/tcsh.vim @dkearns
|
||||
runtime/syntax/teraterm.vim @k-takata
|
||||
runtime/syntax/tex.vim @cecamp
|
||||
runtime/syntax/tidy.vim @dkearns
|
||||
runtime/syntax/tmux.vim @ericpruitt
|
||||
runtime/syntax/toml.vim @averms
|
||||
runtime/syntax/vim.vim @cecamp
|
||||
runtime/syntax/wget.vim @dkearns
|
||||
runtime/syntax/xbl.vim @dkearns
|
||||
@ -236,3 +266,4 @@ src/libvterm/ @leonerd
|
||||
src/po/de.po @chrisbra
|
||||
src/po/eo.po @dpelle
|
||||
src/po/fr.po @dpelle
|
||||
src/xxd/ @jnweiger
|
||||
|
34
.github/ISSUE_TEMPLATE/bug_report.md
vendored
34
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@ -1,34 +0,0 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve Vim
|
||||
title: ''
|
||||
labels: ''
|
||||
|
||||
---
|
||||
|
||||
_Instructions: Replace the template text and remove irrelevant text (including this line)_
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
(Issues related to the runtime files should be reported to their maintainer, check the file header.)
|
||||
|
||||
**To Reproduce**
|
||||
Detailed steps to reproduce the behavior:
|
||||
1. Run `vim --clean` (or `gvim --clean`, etc.)
|
||||
2. Edit `filename`
|
||||
3. Type '....'
|
||||
4. Describe the error
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, copy/paste the text or add screenshots to help explain your problem.
|
||||
|
||||
**Environment (please complete the following information):**
|
||||
- Vim version [e.g. 8.1.1234] (Or paste the result of `vim --version`.)
|
||||
- OS: [e.g. Ubuntu 18.04, Windows 10 1809, macOS 10.14]
|
||||
- Terminal: [e.g. GNOME Terminal, mintty, iTerm2, tmux, GNU screen] (Use GUI if you use the GUI.)
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
47
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
47
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
---
|
||||
name: Bug report
|
||||
description: Create a report to help us improve Vim.
|
||||
labels: [bug]
|
||||
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for reporting issues of Vim!
|
||||
|
||||
To make it easier for us to help you please enter detailed information below.
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Steps to reproduce
|
||||
placeholder: |
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
4.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Expected behaviour
|
||||
placeholder: A clear and concise description of what you expected to happen.
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
attributes:
|
||||
label: Operating system
|
||||
description: >
|
||||
Your operating system name, version and desktop environment.
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
attributes:
|
||||
label: Version of Vim
|
||||
description: >
|
||||
The name of your development environment, version. [e.g. GNOME Terminal (v0.0.0000)]
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Logs and stack traces
|
||||
placeholder: Insert log or other text here (if necessary)
|
||||
render: shell
|
65
.github/workflows/ci.yml
vendored
65
.github/workflows/ci.yml
vendored
@ -40,6 +40,7 @@ jobs:
|
||||
compiler: gcc
|
||||
coverage: true
|
||||
extra: testgui
|
||||
uchar: true
|
||||
- features: huge
|
||||
compiler: clang
|
||||
extra: asan
|
||||
@ -56,7 +57,7 @@ jobs:
|
||||
|
||||
- name: Install packages
|
||||
run: |
|
||||
sudo apt-get install -y \
|
||||
sudo apt update && sudo apt install -y \
|
||||
autoconf \
|
||||
lcov \
|
||||
gettext \
|
||||
@ -71,7 +72,8 @@ jobs:
|
||||
cscope \
|
||||
libgtk2.0-dev \
|
||||
desktop-file-utils \
|
||||
libtool-bin
|
||||
libtool-bin \
|
||||
libsodium-dev
|
||||
|
||||
- name: Install clang-11
|
||||
if: matrix.compiler == 'clang'
|
||||
@ -79,7 +81,7 @@ jobs:
|
||||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
||||
. /etc/lsb-release
|
||||
sudo add-apt-repository -y "deb http://apt.llvm.org/${DISTRIB_CODENAME}/ llvm-toolchain-${DISTRIB_CODENAME}-11 main"
|
||||
sudo apt-get install -y clang-11
|
||||
sudo apt-get install -y clang-11 llvm-11
|
||||
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-11 100
|
||||
sudo update-alternatives --set clang /usr/bin/clang-11
|
||||
sudo update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-11 100
|
||||
@ -110,10 +112,14 @@ jobs:
|
||||
;;
|
||||
esac
|
||||
|
||||
CFLAGS=""
|
||||
if ${{ matrix.coverage == true }}; then
|
||||
echo "CFLAGS=--coverage -DUSE_GCOV_FLUSH"
|
||||
CFLAGS="$CFLAGS --coverage -DUSE_GCOV_FLUSH"
|
||||
echo "LDFLAGS=--coverage"
|
||||
fi
|
||||
if ${{ matrix.uchar == true }}; then
|
||||
CFLAGS="$CFLAGS -funsigned-char"
|
||||
fi
|
||||
if ${{ contains(matrix.extra, 'testgui') }}; then
|
||||
echo "TEST=-C src testgui"
|
||||
fi
|
||||
@ -129,6 +135,7 @@ jobs:
|
||||
if ${{ contains(matrix.extra, 'vimtags') }}; then
|
||||
echo "TEST=-C runtime/doc vimtags VIMEXE=../../${SRCDIR}/vim"
|
||||
fi
|
||||
echo "CFLAGS=$CFLAGS"
|
||||
) >> $GITHUB_ENV
|
||||
|
||||
- name: Set up system
|
||||
@ -200,18 +207,18 @@ jobs:
|
||||
do_test() { sg audio "sg $(id -gn) '$*'"; }
|
||||
do_test make ${SHADOWOPT} ${TEST}
|
||||
|
||||
- name: Coveralls
|
||||
if: matrix.coverage && success() && github.event_name != 'pull_request'
|
||||
env:
|
||||
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
|
||||
COVERALLS_PARALLEL: true
|
||||
TRAVIS_JOB_ID: ${{ github.run_id }}
|
||||
run: |
|
||||
sudo apt-get install -y python3-setuptools python3-wheel
|
||||
sudo -H pip3 install pip -U
|
||||
# needed for https support for coveralls building cffi only works with gcc, not with clang
|
||||
CC=gcc pip3 install --user cpp-coveralls pyopenssl ndg-httpsclient pyasn1
|
||||
~/.local/bin/coveralls -b "${SRCDIR}" -x .xs -e "${SRCDIR}"/if_perl.c -e "${SRCDIR}"/xxd -e "${SRCDIR}"/libvterm --encodings utf-8
|
||||
# - name: Coveralls
|
||||
# if: matrix.coverage && success() && github.event_name != 'pull_request'
|
||||
# env:
|
||||
# COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
|
||||
# COVERALLS_PARALLEL: true
|
||||
# TRAVIS_JOB_ID: ${{ github.run_id }}
|
||||
# run: |
|
||||
# sudo apt-get install -y python3-setuptools python3-wheel
|
||||
# sudo -H pip3 install pip -U
|
||||
# # needed for https support for coveralls building cffi only works with gcc, not with clang
|
||||
# CC=gcc pip3 install --user cpp-coveralls pyopenssl ndg-httpsclient pyasn1
|
||||
# ~/.local/bin/coveralls -b "${SRCDIR}" -x .xs -e "${SRCDIR}"/if_perl.c -e "${SRCDIR}"/xxd -e "${SRCDIR}"/libvterm --encodings utf-8
|
||||
|
||||
- name: Codecov
|
||||
if: matrix.coverage && success()
|
||||
@ -227,18 +234,18 @@ jobs:
|
||||
false # in order to fail a job
|
||||
done
|
||||
|
||||
coveralls:
|
||||
runs-on: ubuntu-18.04
|
||||
|
||||
needs: linux
|
||||
if: always() && github.event_name != 'pull_request'
|
||||
|
||||
steps:
|
||||
- name: Parallel finished
|
||||
env:
|
||||
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
|
||||
run: |
|
||||
curl -k "https://coveralls.io/webhook?repo_token=${COVERALLS_REPO_TOKEN}" -d "payload[build_num]=${GITHUB_RUN_ID}&payload[status]=done"
|
||||
# coveralls:
|
||||
# runs-on: ubuntu-18.04
|
||||
#
|
||||
# needs: linux
|
||||
# if: always() && github.event_name != 'pull_request'
|
||||
#
|
||||
# steps:
|
||||
# - name: Parallel finished
|
||||
# env:
|
||||
# COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
|
||||
# run: |
|
||||
# curl -k "https://coveralls.io/webhook?repo_token=${COVERALLS_REPO_TOKEN}" -d "payload[build_num]=${GITHUB_RUN_ID}&payload[status]=done"
|
||||
|
||||
macos:
|
||||
runs-on: macos-latest
|
||||
@ -365,7 +372,7 @@ jobs:
|
||||
features: NORMAL
|
||||
|
||||
steps:
|
||||
- name: Initalize
|
||||
- name: Initialize
|
||||
id: init
|
||||
shell: bash
|
||||
run: |
|
||||
|
2
.github/workflows/codeql-analysis.yml
vendored
2
.github/workflows/codeql-analysis.yml
vendored
@ -38,7 +38,7 @@ jobs:
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||
|
||||
|
80
.github/workflows/coverity.yml
vendored
Normal file
80
.github/workflows/coverity.yml
vendored
Normal file
@ -0,0 +1,80 @@
|
||||
name: Coverity
|
||||
on:
|
||||
schedule:
|
||||
- cron: '42 0 * * *' # Run once per day, to avoid Coverity's submission limits
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
scan:
|
||||
runs-on: ubuntu-18.04
|
||||
|
||||
env:
|
||||
CC: gcc
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Download Coverity
|
||||
run: |
|
||||
wget -q https://scan.coverity.com/download/cxx/linux64 --post-data "token=$TOKEN&project=vim" -O coverity_tool.tgz
|
||||
mkdir cov-scan
|
||||
tar ax -f coverity_tool.tgz --strip-components=1 -C cov-scan
|
||||
env:
|
||||
TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
|
||||
|
||||
- name: Install packages
|
||||
run: |
|
||||
sudo apt update && sudo apt install -y \
|
||||
autoconf \
|
||||
gettext \
|
||||
libcanberra-dev \
|
||||
libperl-dev \
|
||||
python-dev \
|
||||
python3-dev \
|
||||
liblua5.3-dev \
|
||||
lua5.3 \
|
||||
ruby-dev \
|
||||
tcl-dev \
|
||||
libgtk2.0-dev \
|
||||
desktop-file-utils \
|
||||
libtool-bin \
|
||||
libsodium-dev
|
||||
|
||||
- name: Set up environment
|
||||
run: |
|
||||
echo "$(pwd)/cov-scan/bin" >> $GITHUB_PATH
|
||||
(
|
||||
echo "NPROC=$(getconf _NPROCESSORS_ONLN)"
|
||||
echo "CONFOPT=--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||
) >> $GITHUB_ENV
|
||||
|
||||
- name: Set up system
|
||||
run: |
|
||||
# Setup lua5.3 manually since its package doesn't provide alternative.
|
||||
# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
|
||||
sudo update-alternatives --install /usr/bin/lua lua /usr/bin/lua5.3 10
|
||||
|
||||
- name: Configure
|
||||
run: |
|
||||
./configure --with-features=huge ${CONFOPT} --enable-fail-if-missing
|
||||
# Append various warning flags to CFLAGS.
|
||||
sed -i -f ci/config.mk.sed src/auto/config.mk
|
||||
sed -i -f ci/config.mk.${CC}.sed src/auto/config.mk
|
||||
|
||||
- name: Build/scan vim
|
||||
run: |
|
||||
cov-build --dir cov-int make -j${NPROC}
|
||||
|
||||
- name: Submit results
|
||||
run: |
|
||||
tar zcf cov-scan.tgz cov-int
|
||||
curl --form token=$TOKEN \
|
||||
--form email=$EMAIL \
|
||||
--form file=@cov-scan.tgz \
|
||||
--form version="$(git rev-parse HEAD)" \
|
||||
--form description="Automatic GHA scan" \
|
||||
'https://scan.coverity.com/builds?project=vim'
|
||||
env:
|
||||
TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
|
||||
EMAIL: ${{ secrets.COVERITY_SCAN_EMAIL }}
|
@ -57,7 +57,7 @@ If you find a problem with one of these files or have a suggestion for
|
||||
improvement, please first try to contact the maintainer directly.
|
||||
Look in the header of the file for the name and email address.
|
||||
|
||||
The maintainer will take care of issues and send updates to Bram for
|
||||
The maintainer will take care of issues and send updates to Bram for
|
||||
distribution with Vim.
|
||||
|
||||
If the maintainer does not respond, contact the vim-dev maillist.
|
||||
|
5
Filelist
5
Filelist
@ -9,6 +9,7 @@ SRC_ALL = \
|
||||
.github/CODEOWNERS \
|
||||
.github/workflows/ci.yml \
|
||||
.github/workflows/codeql-analysis.yml \
|
||||
.github/workflows/coverity.yml \
|
||||
.gitignore \
|
||||
.hgignore \
|
||||
.lgtm.yml \
|
||||
@ -23,6 +24,7 @@ SRC_ALL = \
|
||||
ci/setup-xvfb.sh \
|
||||
src/Make_all.mak \
|
||||
src/README.md \
|
||||
src/alloc.c \
|
||||
src/alloc.h \
|
||||
src/arabic.c \
|
||||
src/arglist.c \
|
||||
@ -134,6 +136,7 @@ SRC_ALL = \
|
||||
src/spell.h \
|
||||
src/spellfile.c \
|
||||
src/spellsuggest.c \
|
||||
src/strings.c \
|
||||
src/structs.h \
|
||||
src/syntax.c \
|
||||
src/tag.c \
|
||||
@ -209,6 +212,7 @@ SRC_ALL = \
|
||||
src/testdir/popupbounce.vim \
|
||||
src/proto.h \
|
||||
src/protodef.h \
|
||||
src/proto/alloc.pro \
|
||||
src/proto/arabic.pro \
|
||||
src/proto/arglist.pro \
|
||||
src/proto/autocmd.pro \
|
||||
@ -296,6 +300,7 @@ SRC_ALL = \
|
||||
src/proto/spell.pro \
|
||||
src/proto/spellfile.pro \
|
||||
src/proto/spellsuggest.pro \
|
||||
src/proto/strings.pro \
|
||||
src/proto/syntax.pro \
|
||||
src/proto/tag.pro \
|
||||
src/proto/term.pro \
|
||||
|
20
README.md
20
README.md
@ -4,6 +4,12 @@
|
||||
|
||||
<sub>For translations of this README see the end.</sub>
|
||||
|
||||
If you find a bug or want to discuss the best way to add a new feature, please
|
||||
open an [issue](https://github.com/vim/vim/issues).
|
||||
If you have a question or want to discuss the best way to do something with
|
||||
Vim, you can use [StackExchange](https://vi.stackexchange.com/)
|
||||
or one of the [Maillists](https://www.vim.org/community.php).
|
||||
|
||||
|
||||
## What is Vim? ##
|
||||
|
||||
@ -40,7 +46,7 @@ This `README.md` file comes with the runtime archive. It includes the
|
||||
documentation, syntax files and other files that are used at runtime. To run
|
||||
Vim you must get either one of the binary archives or a source archive.
|
||||
Which one you need depends on the system you want to run it on and whether you
|
||||
want or must compile it yourself. Check http://www.vim.org/download.php for
|
||||
want or must compile it yourself. Check https://www.vim.org/download.php for
|
||||
an overview of currently available distributions.
|
||||
|
||||
Some popular places to get the latest Vim:
|
||||
@ -80,7 +86,7 @@ The Vim tutor is a one hour training course for beginners. Often it can be
|
||||
started as `vimtutor`. See `:help tutor` for more information.
|
||||
|
||||
The best is to use `:help` in Vim. If you don't have an executable yet, read
|
||||
[`runtime/doc/help.txt`](/runtime/doc/help.txt).
|
||||
[`runtime/doc/help.txt`](/runtime/doc/help.txt).
|
||||
It contains pointers to the other documentation files.
|
||||
The User Manual reads like a book and is recommended to learn to use
|
||||
Vim. See `:help user-manual`.
|
||||
@ -111,7 +117,7 @@ in Uganda. See [`runtime/doc/uganda.txt`](runtime/doc/uganda.txt). But
|
||||
at the same time donations increase Bram's motivation to keep working on Vim!
|
||||
|
||||
For the most recent information about sponsoring look on the Vim web site:
|
||||
http://www.vim.org/sponsor/
|
||||
https://www.vim.org/sponsor/
|
||||
|
||||
|
||||
## Contributing ##
|
||||
@ -123,15 +129,15 @@ If you would like to help making Vim better, see the
|
||||
## Information ##
|
||||
|
||||
The latest news about Vim can be found on the Vim home page:
|
||||
http://www.vim.org/
|
||||
https://www.vim.org/
|
||||
|
||||
If you have problems, have a look at the Vim documentation or tips:
|
||||
http://www.vim.org/docs.php
|
||||
http://vim.wikia.com/wiki/Vim_Tips_Wiki
|
||||
https://www.vim.org/docs.php
|
||||
https://vim.fandom.com/wiki/Vim_Tips_Wiki
|
||||
|
||||
If you still have problems or any other questions, use one of the mailing
|
||||
lists to discuss them with Vim users and developers:
|
||||
http://www.vim.org/maillist.php
|
||||
https://www.vim.org/maillist.php
|
||||
|
||||
If nothing else works, report bugs directly:
|
||||
Bram Moolenaar <Bram@vim.org>
|
||||
|
12
README.txt
12
README.txt
@ -33,7 +33,7 @@ This README.txt file comes with the runtime archive. It includes the
|
||||
documentation, syntax files and other files that are used at runtime. To run
|
||||
Vim you must get either one of the binary archives or a source archive.
|
||||
Which one you need depends on the system you want to run it on and whether you
|
||||
want or must compile it yourself. Check "http://www.vim.org/download.php" for
|
||||
want or must compile it yourself. Check "https://www.vim.org/download.php" for
|
||||
an overview of currently available distributions.
|
||||
|
||||
Some popular places to get the latest Vim:
|
||||
@ -101,7 +101,7 @@ increase Bram's motivation to keep working on Vim!
|
||||
|
||||
For the most recent information about sponsoring look on the Vim web site:
|
||||
|
||||
http://www.vim.org/sponsor/
|
||||
https://www.vim.org/sponsor/
|
||||
|
||||
|
||||
CONTRIBUTING
|
||||
@ -112,15 +112,15 @@ If you would like to help making Vim better, see the CONTRIBUTING.md file.
|
||||
INFORMATION
|
||||
|
||||
The latest news about Vim can be found on the Vim home page:
|
||||
http://www.vim.org/
|
||||
https://www.vim.org/
|
||||
|
||||
If you have problems, have a look at the Vim documentation or tips:
|
||||
http://www.vim.org/docs.php
|
||||
http://vim.wikia.com/wiki/Vim_Tips_Wiki
|
||||
https://www.vim.org/docs.php
|
||||
https://vim.fandom.com/wiki/Vim_Tips_Wiki
|
||||
|
||||
If you still have problems or any other questions, use one of the mailing
|
||||
lists to discuss them with Vim users and developers:
|
||||
http://www.vim.org/maillist.php
|
||||
https://www.vim.org/maillist.php
|
||||
|
||||
If nothing else works, report bugs directly:
|
||||
Bram Moolenaar <Bram@vim.org>
|
||||
|
@ -45,14 +45,16 @@ full code is below):
|
||||
| Vim old | 5.018541 |
|
||||
| Python | 0.369598 |
|
||||
| Lua | 0.078817 |
|
||||
| LuaJit | 0.004245 |
|
||||
| Vim new | 0.073595 |
|
||||
|
||||
That looks very promising! It's just one example, but it shows how much
|
||||
we can gain, and also that Vim script can be faster than builtin
|
||||
interfaces.
|
||||
|
||||
In practice the script would not do something useless as counting but change
|
||||
the text. For example, reindent all the lines:
|
||||
LuaJit is much faster at Lua-only instructions. In practice the script would
|
||||
not do something useless as counting but change the text. For example,
|
||||
reindent all the lines:
|
||||
|
||||
``` vim
|
||||
let totallen = 0
|
||||
@ -64,13 +66,17 @@ the text. For example, reindent all the lines:
|
||||
|
||||
| how | time in sec |
|
||||
| --------| -------- |
|
||||
| Vim old | 0.853752 |
|
||||
| Python | 0.304584 |
|
||||
| Lua | 0.286573 |
|
||||
| Vim new | 0.190276 |
|
||||
| Vim old | 0.578598 |
|
||||
| Python | 0.152040 |
|
||||
| Lua | 0.164917 |
|
||||
| LuaJit | 0.128400 |
|
||||
| Vim new | 0.079692 |
|
||||
|
||||
[These times were measured on a different system by Dominique Pelle]
|
||||
|
||||
The differences are smaller, but Vim 9 script is clearly the fastest.
|
||||
Using LuaJIT gives 0.25, only a little bit faster than plain Lua.
|
||||
Using LuaJIT is only a little bit faster than plain Lua here, clearly the call
|
||||
back to the Vim code is costly.
|
||||
|
||||
How does Vim9 script work? The function is first compiled into a sequence of
|
||||
instructions. Each instruction has one or two parameters and a stack is
|
||||
@ -331,7 +337,7 @@ let start = reltime()
|
||||
echo Python()
|
||||
echo 'Python: ' .. reltimestr(reltime(start))
|
||||
bwipe!
|
||||
|
||||
|
||||
new
|
||||
call setline(1, range(100000))
|
||||
let start = reltime()
|
||||
|
@ -74,7 +74,7 @@ Unpack the images:
|
||||
cd nsis
|
||||
unzip icons.zip
|
||||
|
||||
To build then, enter:
|
||||
Then build gvim.exe:
|
||||
|
||||
cd nsis
|
||||
makensis gvim.nsi
|
||||
|
@ -126,10 +126,11 @@ RequestExecutionLevel highest
|
||||
# This adds '\Vim' to the user choice automagically. The actual value is
|
||||
# obtained below with CheckOldVim.
|
||||
!ifdef WIN64
|
||||
InstallDir "$PROGRAMFILES64\Vim"
|
||||
!define DEFAULT_INSTDIR "$PROGRAMFILES64\Vim"
|
||||
!else
|
||||
InstallDir "$PROGRAMFILES\Vim"
|
||||
!define DEFAULT_INSTDIR "$PROGRAMFILES\Vim"
|
||||
!endif
|
||||
InstallDir ${DEFAULT_INSTDIR}
|
||||
|
||||
# Types of installs we can perform:
|
||||
InstType $(str_type_typical)
|
||||
@ -710,8 +711,13 @@ Function .onInit
|
||||
!insertmacro MUI_LANGDLL_DISPLAY
|
||||
!endif
|
||||
|
||||
# Check $VIM
|
||||
ReadEnvStr $INSTDIR "VIM"
|
||||
${If} $INSTDIR == ${DEFAULT_INSTDIR}
|
||||
# Check $VIM
|
||||
ReadEnvStr $3 "VIM"
|
||||
${If} $3 != ""
|
||||
StrCpy $INSTDIR $3
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
|
||||
call CheckOldVim
|
||||
Pop $3
|
||||
@ -721,20 +727,11 @@ Function .onInit
|
||||
SectionSetInstTypes ${id_section_old_ver} 0
|
||||
SectionSetText ${id_section_old_ver} ""
|
||||
${Else}
|
||||
${If} $INSTDIR == ""
|
||||
${If} $INSTDIR == ${DEFAULT_INSTDIR}
|
||||
StrCpy $INSTDIR $3
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
|
||||
# If did not find a path: use the default dir.
|
||||
${If} $INSTDIR == ""
|
||||
!ifdef WIN64
|
||||
StrCpy $INSTDIR "$PROGRAMFILES64\Vim"
|
||||
!else
|
||||
StrCpy $INSTDIR "$PROGRAMFILES\Vim"
|
||||
!endif
|
||||
${EndIf}
|
||||
|
||||
${If} ${RunningX64}
|
||||
SetRegView 64
|
||||
${EndIf}
|
||||
|
@ -10,7 +10,7 @@ LangString ^SetupCaption ${LANG_TURKISH} \
|
||||
"$(^Name) Setup"
|
||||
LangString ^UninstallCaption ${LANG_TURKISH} \
|
||||
"$(^Name) Uninstall"
|
||||
|
||||
|
||||
LangString str_show_readme ${LANG_TURKISH} \
|
||||
"Kurulum bittikten sonra README dosyasını aç"
|
||||
|
||||
@ -23,7 +23,7 @@ LangString str_type_minimal ${LANG_TURKISH} \
|
||||
|
||||
LangString str_type_full ${LANG_TURKISH} \
|
||||
"Tam"
|
||||
|
||||
|
||||
##############################################################################
|
||||
# Section Titles & Description {{{1
|
||||
##############################################################################
|
||||
@ -62,12 +62,12 @@ LangString str_section_start_menu ${LANG_TURKISH} \
|
||||
"Başlat Menüsü - Programlar klasöründe"
|
||||
LangString str_desc_start_menu ${LANG_TURKISH} \
|
||||
"Vim kısayolunu Başlat Menüsüne ekler."
|
||||
|
||||
|
||||
LangString str_section_edit_with ${LANG_TURKISH} \
|
||||
"Vim ile Aç"
|
||||
LangString str_desc_edit_with ${LANG_TURKISH} \
|
||||
"Vim'i $\"Birlikte aç$\" sağ tık menüsüne ekler."
|
||||
|
||||
|
||||
LangString str_section_vim_rc ${LANG_TURKISH} \
|
||||
"Bir yapılandırma dosyası oluştur"
|
||||
LangString str_desc_vim_rc ${LANG_TURKISH} \
|
||||
@ -93,7 +93,7 @@ LangString str_desc_plugin_vim ${LANG_TURKISH} \
|
||||
LangString str_section_vis_vim ${LANG_TURKISH} \
|
||||
"VisVim eklentisi"
|
||||
LangString str_desc_vis_vim ${LANG_TURKISH} \
|
||||
"Microsoft Visual Studio entegrasyonu için VisVim eklentisi"
|
||||
"Microsoft Visual Studio entegrasyonu için VisVim eklentisi"
|
||||
|
||||
LangString str_section_nls ${LANG_TURKISH} \
|
||||
"Ek dil desteği"
|
||||
@ -129,14 +129,14 @@ LangString str_unsection_rootdir ${LANG_TURKISH} \
|
||||
"Vim kök dizinini kaldır"
|
||||
LangString str_desc_rm_rootdir ${LANG_TURKISH} \
|
||||
"Vim kök dizinini kaldırır. Bu dizin Vim yapılandırma dosyalarını içerir!"
|
||||
|
||||
|
||||
LangString str_msg_install_fail ${LANG_TURKISH} \
|
||||
"Yükleme başarısız oldu. Yeniden deneyin."
|
||||
|
||||
LangString str_msg_rm_exe_fail ${LANG_TURKISH} \
|
||||
"$0 içindeki bazı dosyalar silinemedi!$\r$\n\
|
||||
Bu dosyaları el ile kaldırmalısınız."
|
||||
|
||||
|
||||
LangString str_msg_uninstalling ${LANG_TURKISH} \
|
||||
"Eski sürüm kaldırılıyor..."
|
||||
|
||||
|
@ -3,11 +3,9 @@
|
||||
prefix=stock_
|
||||
list=
|
||||
|
||||
for file in "$@"
|
||||
do
|
||||
name=`echo "$file" | sed 's|-|_|g; s|^.*/||; s|\..*$||'`
|
||||
for file in "$@"; do
|
||||
name=$(echo "$file" | sed 's|-|_|g; s|^.*/||; s|\..*$||')
|
||||
list="$list $prefix$name $file"
|
||||
done
|
||||
|
||||
gdk-pixbuf-csource --raw --static --build-list $list
|
||||
|
||||
|
@ -67,13 +67,13 @@ if exists ('g:ada_with_gnat_project_files')
|
||||
endfor
|
||||
endif
|
||||
|
||||
" Section: add standart exception {{{2
|
||||
" Section: add standard exception {{{2
|
||||
"
|
||||
for Item in ['Constraint_Error', 'Program_Error', 'Storage_Error', 'Tasking_Error', 'Status_Error', 'Mode_Error', 'Name_Error', 'Use_Error', 'Device_Error', 'End_Error', 'Data_Error', 'Layout_Error', 'Length_Error', 'Pattern_Error', 'Index_Error', 'Translation_Error', 'Time_Error', 'Argument_Error', 'Tag_Error', 'Picture_Error', 'Terminator_Error', 'Conversion_Error', 'Pointer_Error', 'Dereference_Error', 'Update_Error']
|
||||
let g:ada#Keywords += [{
|
||||
\ 'word': Item,
|
||||
\ 'menu': 'exception',
|
||||
\ 'info': 'Ada standart exception.',
|
||||
\ 'info': 'Ada standard exception.',
|
||||
\ 'kind': 'x',
|
||||
\ 'icase': 1}]
|
||||
endfor
|
||||
@ -210,7 +210,7 @@ function ada#Word (...)
|
||||
let l:Line = substitute (getline (l:Line_Nr), g:ada#Comment, '', '' )
|
||||
|
||||
" Cope with tag searching for items in comments; if we are, don't loop
|
||||
" backards looking for previous lines
|
||||
" backwards looking for previous lines
|
||||
if l:Column_Nr > strlen(l:Line)
|
||||
" We were in a comment
|
||||
let l:Line = getline(l:Line_Nr)
|
||||
|
@ -14,7 +14,7 @@
|
||||
" 15.10.2006 MK Bram's suggestion for runtime integration
|
||||
" 05.11.2006 MK Bram suggested not to use include protection for
|
||||
" autoload
|
||||
" 05.11.2006 MK Bram suggested agaist using setlocal omnifunc
|
||||
" 05.11.2006 MK Bram suggested against using setlocal omnifunc
|
||||
" 05.11.2006 MK Bram suggested to save on spaces
|
||||
" Help Page: ft-ada-omni
|
||||
"------------------------------------------------------------------------------
|
||||
|
@ -4,7 +4,7 @@
|
||||
" plus CSS Speech Module <http://www.w3.org/TR/css3-speech/>
|
||||
" Maintainer: Kao, Wei-Ko(othree) ( othree AT gmail DOT com )
|
||||
" Original Author: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||
" Last Change: 2018 Jul 02
|
||||
" Last Change: 2021 Sep 21
|
||||
|
||||
let s:values = split("all additive-symbols align-content align-items align-self animation animation-delay animation-direction animation-duration animation-fill-mode animation-iteration-count animation-name animation-play-state animation-timing-function backface-visibility background background-attachment background-blend-mode background-clip background-color background-image background-origin background-position background-repeat background-size block-size border border-block-end border-block-end-color border-block-end-style border-block-end-width border-block-start border-block-start-color border-block-start-style border-block-start-width border-bottom border-bottom-color border-bottom-left-radius border-bottom-right-radius border-bottom-style border-bottom-width border-collapse border-color border-image border-image-outset border-image-repeat border-image-slice border-image-source border-image-width border-inline-end border-inline-end-color border-inline-end-style border-inline-end-width border-inline-start border-inline-start-color border-inline-start-style border-inline-start-width border-left border-left-color border-left-style border-left-width border-radius border-right border-right-color border-right-style border-right-width border-spacing border-style border-top border-top-color border-top-left-radius border-top-right-radius border-top-style border-top-width border-width bottom box-decoration-break box-shadow box-sizing break-after break-before break-inside caption-side clear clip clip-path color columns column-count column-fill column-gap column-rule column-rule-color column-rule-style column-rule-width column-span column-width content counter-increment counter-reset cue cue-before cue-after cursor direction display empty-cells fallback filter flex flex-basis flex-direction flex-flow flex-grow flex-shrink flex-wrap float font font-family font-feature-settings font-kerning font-language-override font-size font-size-adjust font-stretch font-style font-synthesis font-variant font-variant-alternates font-variant-caps font-variant-east-asian font-variant-ligatures font-variant-numeric font-variant-position font-weight grid grid-area grid-auto-columns grid-auto-flow grid-auto-position grid-auto-rows grid-column grid-column-start grid-column-end grid-row grid-row-start grid-row-end grid-template grid-template-areas grid-template-rows grid-template-columns height hyphens image-rendering image-resolution image-orientation ime-mode inline-size isolation justify-content left letter-spacing line-break line-height list-style list-style-image list-style-position list-style-type margin margin-block-end margin-block-start margin-bottom margin-inline-end margin-inline-start margin-left margin-right margin-top marks mask mask-type max-block-size max-height max-inline-size max-width max-zoom min-block-size min-height min-inline-size min-width min-zoom mix-blend-mode negative object-fit object-position offset-block-end offset-block-start offset-inline-end offset-inline-start opacity order orientation orphans outline outline-color outline-offset outline-style outline-width overflow overflow-wrap overflow-x overflow-y pad padding padding-block-end padding-block-start padding-bottom padding-inline-end padding-inline-start padding-left padding-right padding-top page-break-after page-break-before page-break-inside pause-before pause-after pause perspective perspective-origin pointer-events position prefix quotes range resize rest rest-before rest-after right ruby-align ruby-merge ruby-position scroll-behavior scroll-snap-coordinate scroll-snap-destination scroll-snap-points-x scroll-snap-points-y scroll-snap-type scroll-snap-type-x scroll-snap-type-y shape-image-threshold shape-margin shape-outside speak speak-as suffix symbols system table-layout tab-size text-align text-align-last text-combine-upright text-decoration text-decoration-color text-decoration-line text-emphasis text-emphasis-color text-emphasis-position text-emphasis-style text-indent text-orientation text-overflow text-rendering text-shadow text-transform text-underline-position top touch-action transform transform-box transform-origin transform-style transition transition-delay transition-duration transition-property transition-timing-function unicode-bidi unicode-range user-zoom vertical-align visibility voice-balance voice-duration voice-family voice-pitch voice-rate voice-range voice-stress voice-volume white-space widows width will-change word-break word-spacing word-wrap writing-mode z-index zoom")
|
||||
|
||||
@ -38,12 +38,12 @@ function! csscomplete#CompleteCSS(findstart, base)
|
||||
if exists("b:compl_context")
|
||||
let line = getline('.')
|
||||
let compl_begin = col('.') - 2
|
||||
let after = line[compl_begin:]
|
||||
let b:after = line[compl_begin:]
|
||||
let line = b:compl_context
|
||||
unlet! b:compl_context
|
||||
else
|
||||
let line = a:base
|
||||
let after = ''
|
||||
let b:after = ''
|
||||
endif
|
||||
|
||||
let res = []
|
||||
@ -311,7 +311,7 @@ function! csscomplete#CompleteCSS(findstart, base)
|
||||
let values = ["normal", "italic", "oblique", "small-caps", "bold", "bolder", "lighter", "100", "200", "300", "400", "500", "600", "700", "800", "900", "xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "larger", "smaller", "sans-serif", "serif", "monospace", "cursive", "fantasy", "caption", "icon", "menu", "message-box", "small-caption", "status-bar"]
|
||||
elseif prop =~ '^\%(height\|width\)$'
|
||||
let values = ["auto", "border-box", "content-box", "max-content", "min-content", "available", "fit-content"]
|
||||
elseif prop =~ '^\%(left\|rigth\)$'
|
||||
elseif prop =~ '^\%(left\|right\)$'
|
||||
let values = ["auto"]
|
||||
elseif prop == 'image-rendering'
|
||||
let values = ["auto", "crisp-edges", "pixelated"]
|
||||
|
@ -23,7 +23,7 @@ endif
|
||||
|
||||
function decada#Unit_Name () dict " {{{1
|
||||
" Convert filename into acs unit:
|
||||
" 1: remove the file extenstion.
|
||||
" 1: remove the file extension.
|
||||
" 2: replace all double '_' or '-' with an dot (which denotes a separate)
|
||||
" 3: remove a trailing '_' (which denotes a specification)
|
||||
return substitute (substitute (expand ("%:t:r"), '__\|-', ".", "g"), '_$', "", '')
|
||||
|
30
runtime/autoload/dist/ft.vim
vendored
30
runtime/autoload/dist/ft.vim
vendored
@ -172,6 +172,17 @@ func dist#ft#FTent()
|
||||
setf dtd
|
||||
endfunc
|
||||
|
||||
func dist#ft#ExCheck()
|
||||
let lines = getline(1, min([line("$"), 100]))
|
||||
if exists('g:filetype_euphoria')
|
||||
exe 'setf ' . g:filetype_euphoria
|
||||
elseif match(lines, '^--\|^ifdef\>\|^include\>') > -1
|
||||
setf euphoria3
|
||||
else
|
||||
setf elixir
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func dist#ft#EuphoriaCheck()
|
||||
if exists('g:filetype_euphoria')
|
||||
exe 'setf ' . g:filetype_euphoria
|
||||
@ -253,6 +264,14 @@ func dist#ft#ProtoCheck(default)
|
||||
endfunc
|
||||
|
||||
func dist#ft#FTm()
|
||||
if exists("g:filetype_m")
|
||||
exe "setf " . g:filetype_m
|
||||
return
|
||||
endif
|
||||
|
||||
" excluding end(for|function|if|switch|while) common to Murphi
|
||||
let octave_block_terminators = '\<end\%(_try_catch\|classdef\|enumeration\|events\|methods\|parfor\|properties\)\>'
|
||||
|
||||
let n = 1
|
||||
let saw_comment = 0 " Whether we've seen a multiline comment leader.
|
||||
while n < 100
|
||||
@ -267,6 +286,12 @@ func dist#ft#FTm()
|
||||
setf objc
|
||||
return
|
||||
endif
|
||||
if line =~ '^\s*\%(#\|%!\)' || line =~ '^\s*unwind_protect\>' ||
|
||||
\ line =~ '\%(^\|;\)\s*' .. octave_block_terminators
|
||||
setf octave
|
||||
return
|
||||
endif
|
||||
" TODO: could be Matlab or Octave
|
||||
if line =~ '^\s*%'
|
||||
setf matlab
|
||||
return
|
||||
@ -287,11 +312,8 @@ func dist#ft#FTm()
|
||||
" or Murphi based on the comment leader. Assume the former as it is more
|
||||
" common.
|
||||
setf objc
|
||||
elseif exists("g:filetype_m")
|
||||
" Use user specified default filetype for .m
|
||||
exe "setf " . g:filetype_m
|
||||
else
|
||||
" Default is matlab
|
||||
" Default is Matlab
|
||||
setf matlab
|
||||
endif
|
||||
endfunc
|
||||
|
@ -129,7 +129,7 @@ fun! getscript#GetLatestVimScripts()
|
||||
" insure that wget is executable
|
||||
if executable(g:GetLatestVimScripts_wget) != 1
|
||||
echoerr "GetLatestVimScripts needs ".g:GetLatestVimScripts_wget." which apparently is not available on your system"
|
||||
" call Dret("GetLatestVimScripts : wget not executable/availble")
|
||||
" call Dret("GetLatestVimScripts : wget not executable/available")
|
||||
return
|
||||
endif
|
||||
|
||||
@ -347,7 +347,7 @@ fun! s:GetOneScript(...)
|
||||
set t_ti= t_te= nors
|
||||
|
||||
" put current line on top-of-screen and interpret it into
|
||||
" a script identifer : used to obtain webpage
|
||||
" a script identifier : used to obtain webpage
|
||||
" source identifier : used to identify current version
|
||||
" and an associated comment: used to report on what's being considered
|
||||
if a:0 >= 3
|
||||
|
@ -54,7 +54,7 @@ function! haskellcomplete#Complete(findstart, base)
|
||||
|
||||
if b:completingLangExtension
|
||||
if a:base ==? ""
|
||||
" Return all posible Lang extensions
|
||||
" Return all possible Lang extensions
|
||||
return s:langExtensions
|
||||
else
|
||||
let l:matches = []
|
||||
@ -70,7 +70,7 @@ function! haskellcomplete#Complete(findstart, base)
|
||||
|
||||
elseif b:completingOptionsGHC
|
||||
if a:base ==? ""
|
||||
" Return all posible GHC options
|
||||
" Return all possible GHC options
|
||||
return s:optionsGHC
|
||||
else
|
||||
let l:matches = []
|
||||
@ -86,7 +86,7 @@ function! haskellcomplete#Complete(findstart, base)
|
||||
|
||||
elseif b:completingModule
|
||||
if a:base ==? ""
|
||||
" Return all posible modules
|
||||
" Return all possible modules
|
||||
return s:commonModules
|
||||
else
|
||||
let l:matches = []
|
||||
|
@ -486,7 +486,7 @@ function! htmlcomplete#CompleteTags(findstart, base)
|
||||
endif
|
||||
endif
|
||||
" Value of attribute completion {{{
|
||||
" If attr contains =\s*[\"'] we catched value of attribute
|
||||
" If attr contains =\s*[\"'] we match value of attribute
|
||||
if attr =~ "=\s*[\"']" || attr =~ "=\s*$"
|
||||
" Let do attribute specific completion
|
||||
let attrname = matchstr(attr, '.*\ze\s*=')
|
||||
|
@ -1,7 +1,7 @@
|
||||
" netrw.vim: Handles file transfer and remote directory listing across
|
||||
" AUTOLOAD SECTION
|
||||
" Date: Sep 18, 2020
|
||||
" Version: 170
|
||||
" Date: Aug 16, 2021
|
||||
" Version: 171
|
||||
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
|
||||
" Copyright: Copyright (C) 2016 Charles E. Campbell {{{1
|
||||
@ -43,7 +43,7 @@ if exists("s:needspatches")
|
||||
endfor
|
||||
endif
|
||||
|
||||
let g:loaded_netrw = "v170"
|
||||
let g:loaded_netrw = "v171"
|
||||
if !exists("s:NOTE")
|
||||
let s:NOTE = 0
|
||||
let s:WARNING = 1
|
||||
@ -93,7 +93,7 @@ fun! netrw#ErrorMsg(level,msg,errnum)
|
||||
else
|
||||
let msg= level.a:msg
|
||||
endif
|
||||
let s:popuperr_id = popup_beval(msg,{})
|
||||
let s:popuperr_id = popup_atcursor(msg,{})
|
||||
let s:popuperr_text= ""
|
||||
elseif g:netrw_use_errorwindow
|
||||
" (default) netrw creates a one-line window to show error/warning
|
||||
@ -322,6 +322,7 @@ call s:NetrwInit("g:netrw_banner" , 1)
|
||||
call s:NetrwInit("g:netrw_browse_split", 0)
|
||||
call s:NetrwInit("g:netrw_bufsettings" , "noma nomod nonu nobl nowrap ro nornu")
|
||||
call s:NetrwInit("g:netrw_chgwin" , -1)
|
||||
call s:NetrwInit("g:netrw_clipboard" , 1)
|
||||
call s:NetrwInit("g:netrw_compress" , "gzip")
|
||||
call s:NetrwInit("g:netrw_ctags" , "ctags")
|
||||
if exists("g:netrw_cursorline") && !exists("g:netrw_cursor")
|
||||
@ -331,6 +332,7 @@ endif
|
||||
call s:NetrwInit("g:netrw_cursor" , 2)
|
||||
let s:netrw_usercul = &cursorline
|
||||
let s:netrw_usercuc = &cursorcolumn
|
||||
"call Decho("(netrw) COMBAK: cuc=".&l:cuc." cul=".&l:cul." initialization of s:netrw_cu[cl]")
|
||||
call s:NetrwInit("g:netrw_cygdrive","/cygdrive")
|
||||
" Default values - d-g ---------- {{{3
|
||||
call s:NetrwInit("s:didstarstar",0)
|
||||
@ -703,7 +705,7 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
endif
|
||||
|
||||
" save registers
|
||||
if has("clipboard")
|
||||
if has("clipboard") && g:netrw_clipboard
|
||||
" call Decho("(netrw#Explore) save @* and @+",'~'.expand("<slnum>"))
|
||||
sil! let keepregstar = @*
|
||||
sil! let keepregplus = @+
|
||||
@ -931,7 +933,7 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
" call Decho("..case Nexplore with starpat=".starpat.": (indx=".indx.")",'~'.expand("<slnum>"))
|
||||
if !exists("w:netrw_explore_list") " sanity check
|
||||
NetrwKeepj call netrw#ErrorMsg(s:WARNING,"using Nexplore or <s-down> improperly; see help for netrw-starstar",40)
|
||||
if has("clipboard")
|
||||
if has("clipboard") && g:netrw_clipboard
|
||||
" call Decho("(netrw#Explore) restore @* and @+",'~'.expand("<slnum>"))
|
||||
if @* != keepregstar | sil! let @* = keepregstar | endif
|
||||
if @+ != keepregplus | sil! let @+ = keepregplus | endif
|
||||
@ -957,7 +959,7 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
" call Decho("case Pexplore with starpat=".starpat.": (indx=".indx.")",'~'.expand("<slnum>"))
|
||||
if !exists("w:netrw_explore_list") " sanity check
|
||||
NetrwKeepj call netrw#ErrorMsg(s:WARNING,"using Pexplore or <s-up> improperly; see help for netrw-starstar",41)
|
||||
if has("clipboard")
|
||||
if has("clipboard") && g:netrw_clipboard
|
||||
" call Decho("(netrw#Explore) restore @* and @+",'~'.expand("<slnum>"))
|
||||
if @* != keepregstar | sil! let @* = keepregstar | endif
|
||||
if @+ != keepregplus | sil! let @+ = keepregplus | endif
|
||||
@ -1013,7 +1015,7 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
catch /^Vim\%((\a\+)\)\=:E480/
|
||||
keepalt call netrw#ErrorMsg(s:WARNING,'no files matched pattern<'.pattern.'>',45)
|
||||
if &hls | let keepregslash= s:ExplorePatHls(pattern) | endif
|
||||
if has("clipboard")
|
||||
if has("clipboard") && g:netrw_clipboard
|
||||
" call Decho("(netrw#Explore) restore @* and @+",'~'.expand("<slnum>"))
|
||||
if @* != keepregstar | sil! let @* = keepregstar | endif
|
||||
if @+ != keepregplus | sil! let @+ = keepregplus | endif
|
||||
@ -1050,7 +1052,7 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
|
||||
if w:netrw_explore_listlen == 0 || (w:netrw_explore_listlen == 1 && w:netrw_explore_list[0] =~ '\*\*\/')
|
||||
keepalt NetrwKeepj call netrw#ErrorMsg(s:WARNING,"no files matched",42)
|
||||
if has("clipboard")
|
||||
if has("clipboard") && g:netrw_clipboard
|
||||
" call Decho("(netrw#Explore) restore @* and @+",'~'.expand("<slnum>"))
|
||||
if @* != keepregstar | sil! let @* = keepregstar | endif
|
||||
if @+ != keepregplus | sil! let @+ = keepregplus | endif
|
||||
@ -1099,7 +1101,7 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
if !exists("g:netrw_quiet")
|
||||
keepalt NetrwKeepj call netrw#ErrorMsg(s:WARNING,"your vim needs the +path_extra feature for Exploring with **!",44)
|
||||
endif
|
||||
if has("clipboard")
|
||||
if has("clipboard") && g:netrw_clipboard
|
||||
" call Decho("(netrw#Explore) restore @* and @+",'~'.expand("<slnum>"))
|
||||
if @* != keepregstar | sil! let @* = keepregstar | endif
|
||||
if @+ != keepregplus | sil! let @+ = keepregplus | endif
|
||||
@ -1173,7 +1175,7 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
" there's no danger of a late FocusGained event on initialization.
|
||||
" Consequently, set s:netrw_events to 2.
|
||||
let s:netrw_events= 2
|
||||
if has("clipboard")
|
||||
if has("clipboard") && g:netrw_clipboard
|
||||
" call Decho("(netrw#Explore) restore @* and @+",'~'.expand("<slnum>"))
|
||||
if @* != keepregstar | sil! let @* = keepregstar | endif
|
||||
if @+ != keepregplus | sil! let @+ = keepregplus | endif
|
||||
@ -1641,7 +1643,8 @@ endfun
|
||||
fun! s:NetrwOptionsSave(vt)
|
||||
" call Dfunc("s:NetrwOptionsSave(vt<".a:vt.">) win#".winnr()." buf#".bufnr("%")."<".bufname(bufnr("%")).">"." winnr($)=".winnr("$")." mod=".&mod." ma=".&ma)
|
||||
" call Decho(a:vt."netrw_optionsave".(exists("{a:vt}netrw_optionsave")? ("=".{a:vt}netrw_optionsave) : " doesn't exist"),'~'.expand("<slnum>"))
|
||||
" call Decho("settings buf#".bufnr("%")."<".bufname("%").">: ".((&l:ma == 0)? "no" : "")."ma ".((&l:mod == 0)? "no" : "")."mod ".((&l:bl == 0)? "no" : "")."bl ".((&l:ro == 0)? "no" : "")."ro fo=".&l:fo." a:vt=".a:vt,'~'.expand("<slnum>"))
|
||||
" call Decho("settings buf#".bufnr("%")."<".bufname("%").">: ".((&l:ma == 0)? "no" : "")."ma ".((&l:mod == 0)? "no" : "")."mod ".((&l:bl == 0)? "no" : "")."bl ".((&l:ro == 0)? "no" : "")."ro fo=".&l:fo." a:vt=".a:vt." hid=".&hid,'~'.expand("<slnum>"))
|
||||
" call Decho("(s:NetrwOptionsSave) lines=".&lines)
|
||||
|
||||
if !exists("{a:vt}netrw_optionsave")
|
||||
let {a:vt}netrw_optionsave= 1
|
||||
@ -1667,6 +1670,9 @@ fun! s:NetrwOptionsSave(vt)
|
||||
let {a:vt}netrw_cinokeep = &l:cino
|
||||
let {a:vt}netrw_comkeep = &l:com
|
||||
let {a:vt}netrw_cpokeep = &l:cpo
|
||||
let {a:vt}netrw_cuckeep = &l:cuc
|
||||
let {a:vt}netrw_culkeep = &l:cul
|
||||
" call Decho("(s:NetrwOptionsSave) COMBAK: cuc=".&l:cuc." cul=".&l:cul)
|
||||
let {a:vt}netrw_diffkeep = &l:diff
|
||||
let {a:vt}netrw_fenkeep = &l:fen
|
||||
if !exists("g:netrw_ffkeep") || g:netrw_ffkeep
|
||||
@ -1674,9 +1680,11 @@ fun! s:NetrwOptionsSave(vt)
|
||||
endif
|
||||
let {a:vt}netrw_fokeep = &l:fo " formatoptions
|
||||
let {a:vt}netrw_gdkeep = &l:gd " gdefault
|
||||
let {a:vt}netrw_gokeep = &l:go " guioptions
|
||||
let {a:vt}netrw_hidkeep = &l:hidden
|
||||
let {a:vt}netrw_imkeep = &l:im
|
||||
let {a:vt}netrw_iskkeep = &l:isk
|
||||
let {a:vt}netrw_lines = &lines
|
||||
let {a:vt}netrw_lskeep = &l:ls
|
||||
let {a:vt}netrw_makeep = &l:ma
|
||||
let {a:vt}netrw_magickeep = &l:magic
|
||||
@ -1702,12 +1710,13 @@ fun! s:NetrwOptionsSave(vt)
|
||||
let {a:vt}netrw_dirkeep = getcwd()
|
||||
" call Decho("saving to ".a:vt."netrw_dirkeep<".{a:vt}netrw_dirkeep.">",'~'.expand("<slnum>"))
|
||||
endif
|
||||
if has("clipboard")
|
||||
if has("clipboard") && g:netrw_clipboard
|
||||
sil! let {a:vt}netrw_starkeep = @*
|
||||
sil! let {a:vt}netrw_pluskeep = @+
|
||||
endif
|
||||
sil! let {a:vt}netrw_slashkeep= @/
|
||||
|
||||
" call Decho("(s:NetrwOptionsSave) lines=".&lines)
|
||||
" call Decho("settings buf#".bufnr("%")."<".bufname("%").">: ".((&l:ma == 0)? "no" : "")."ma ".((&l:mod == 0)? "no" : "")."mod ".((&l:bl == 0)? "no" : "")."bl ".((&l:ro == 0)? "no" : "")."ro fo=".&l:fo." a:vt=".a:vt,'~'.expand("<slnum>"))
|
||||
" call Dret("s:NetrwOptionsSave : tab#".tabpagenr()." win#".winnr())
|
||||
endfun
|
||||
@ -1732,12 +1741,18 @@ fun! s:NetrwOptionsSafe(islocal)
|
||||
endif
|
||||
call s:NetrwSetSafeSetting("&l:ci",0)
|
||||
call s:NetrwSetSafeSetting("&l:cin",0)
|
||||
call s:NetrwSetSafeSetting("&l:bh","hide")
|
||||
if g:netrw_fastbrowse > a:islocal
|
||||
call s:NetrwSetSafeSetting("&l:bh","hide")
|
||||
else
|
||||
call s:NetrwSetSafeSetting("&l:bh","delete")
|
||||
endif
|
||||
call s:NetrwSetSafeSetting("&l:cino","")
|
||||
call s:NetrwSetSafeSetting("&l:com","")
|
||||
if &cpo =~ 'a' | call s:NetrwSetSafeSetting("&cpo",substitute(&cpo,'a','','g')) | endif
|
||||
if &cpo =~ 'A' | call s:NetrwSetSafeSetting("&cpo",substitute(&cpo,'A','','g')) | endif
|
||||
setl fo=nroql2
|
||||
" call s:NetrwSetSafeSetting("&go","begmr")
|
||||
if &go =~ '\ca' | call s:NetrwSetSafeSetting("&go",substitute(&go,'\ca','','g')) | endif
|
||||
call s:NetrwSetSafeSetting("&l:hid",0)
|
||||
call s:NetrwSetSafeSetting("&l:im",0)
|
||||
setl isk+=@ isk+=* isk+=/
|
||||
@ -1751,7 +1766,10 @@ fun! s:NetrwOptionsSafe(islocal)
|
||||
call s:NetrwSetSafeSetting("&l:tw",0)
|
||||
call s:NetrwSetSafeSetting("&l:wig","")
|
||||
setl cedit&
|
||||
call s:NetrwCursor()
|
||||
|
||||
" set up cuc and cul based on g:netrw_cursor and listing style
|
||||
" COMBAK -- cuc cul related
|
||||
call s:NetrwCursor(0)
|
||||
|
||||
" allow the user to override safe options
|
||||
" call Decho("ft<".&ft."> ei=".&ei,'~'.expand("<slnum>"))
|
||||
@ -1769,11 +1787,14 @@ endfun
|
||||
" s:NetrwOptionsRestore: restore options (based on prior s:NetrwOptionsSave) {{{2
|
||||
fun! s:NetrwOptionsRestore(vt)
|
||||
" call Dfunc("s:NetrwOptionsRestore(vt<".a:vt.">) win#".winnr()." buf#".bufnr("%")."<".bufname("%")."> winnr($)=".winnr("$"))
|
||||
" call Decho("(s:NetrwOptionsRestore) lines=".&lines)
|
||||
" call Decho("settings buf#".bufnr("%")."<".bufname("%").">: ".((&l:ma == 0)? "no" : "")."ma ".((&l:mod == 0)? "no" : "")."mod ".((&l:bl == 0)? "no" : "")."bl ".((&l:ro == 0)? "no" : "")."ro fo=".&l:fo." a:vt=".a:vt,'~'.expand("<slnum>"))
|
||||
if !exists("{a:vt}netrw_optionsave")
|
||||
" call Decho("case ".a:vt."netrw_optionsave : doesn't exist",'~'.expand("<slnum>"))
|
||||
" call Decho("settings buf#".bufnr("%")."<".bufname("%").">: ".((&l:ma == 0)? "no" : "")."ma ".((&l:mod == 0)? "no" : "")."mod ".((&l:bl == 0)? "no" : "")."bl ".((&l:ro == 0)? "no" : "")."ro fo=".&l:fo." a:vt=".a:vt,'~'.expand("<slnum>"))
|
||||
" call Decho("ro=".&l:ro." ma=".&l:ma." mod=".&l:mod." wrap=".&l:wrap." (filename<".expand("%")."> win#".winnr()." ft<".&ft.">)",'~'.expand("<slnum>"))
|
||||
" call Decho("..doing filetype detect anyway")
|
||||
filetype detect
|
||||
" call Decho("..settings buf#".bufnr("%")."<".bufname("%").">: ".((&l:ma == 0)? "no" : "")."ma ".((&l:mod == 0)? "no" : "")."mod ".((&l:bl == 0)? "no" : "")."bl ".((&l:ro == 0)? "no" : "")."ro fo=".&l:fo." a:vt=".a:vt,'~'.expand("<slnum>"))
|
||||
" call Decho("..ro=".&l:ro." ma=".&l:ma." mod=".&l:mod." wrap=".&l:wrap." (filename<".expand("%")."> win#".winnr()." ft<".&ft.">)",'~'.expand("<slnum>"))
|
||||
" call Dret("s:NetrwOptionsRestore : ".a:vt."netrw_optionsave doesn't exist")
|
||||
return
|
||||
endif
|
||||
@ -1790,41 +1811,53 @@ fun! s:NetrwOptionsRestore(vt)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
" call Decho("(s:NetrwOptionsRestore) #1 lines=".&lines)
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_aikeep","&l:ai")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_awkeep","&l:aw")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_blkeep","&l:bl")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_btkeep","&l:bt")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_bombkeep","&l:bomb")
|
||||
" call Decho("(s:NetrwOptionsRestore) #2 lines=".&lines)
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_cedit","&cedit")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_cikeep","&l:ci")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_cinkeep","&l:cin")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_cinokeep","&l:cino")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_comkeep","&l:com")
|
||||
" call Decho("(s:NetrwOptionsRestore) #3 lines=".&lines)
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_cpokeep","&l:cpo")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_diffkeep","&l:diff")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_fenkeep","&l:fen")
|
||||
if exists("g:netrw_ffkeep") && g:netrw_ffkeep
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_ffkeep")","&l:ff")
|
||||
endif
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_fokeep","&l:fo")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_gdkeep","&l:gd")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_hidkeep","&l:hidden")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_imkeep","&l:im")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_iskkeep","&l:isk")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_lskeep","&l:ls")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_makeep","&l:ma")
|
||||
" call Decho("(s:NetrwOptionsRestore) #4 lines=".&lines)
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_fokeep" ,"&l:fo")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_gdkeep" ,"&l:gd")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_gokeep" ,"&l:go")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_hidkeep" ,"&l:hidden")
|
||||
" call Decho("(s:NetrwOptionsRestore) #5 lines=".&lines)
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_imkeep" ,"&l:im")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_iskkeep" ,"&l:isk")
|
||||
" call Decho("(s:NetrwOptionsRestore) #6 lines=".&lines)
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_lines" ,"&lines")
|
||||
" call Decho("(s:NetrwOptionsRestore) #7 lines=".&lines)
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_lskeep" ,"&l:ls")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_makeep" ,"&l:ma")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_magickeep","&l:magic")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_modkeep","&l:mod")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_nukeep","&l:nu")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_rnukeep","&l:rnu")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_repkeep","&l:report")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_rokeep","&l:ro")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_selkeep","&l:sel")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_modkeep" ,"&l:mod")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_nukeep" ,"&l:nu")
|
||||
" call Decho("(s:NetrwOptionsRestore) #8 lines=".&lines)
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_rnukeep" ,"&l:rnu")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_repkeep" ,"&l:report")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_rokeep" ,"&l:ro")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_selkeep" ,"&l:sel")
|
||||
" call Decho("(s:NetrwOptionsRestore) #9 lines=".&lines)
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_spellkeep","&l:spell")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_twkeep","&l:tw")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_wigkeep","&l:wig")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_wrapkeep","&l:wrap")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_twkeep" ,"&l:tw")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_wigkeep" ,"&l:wig")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_wrapkeep" ,"&l:wrap")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_writekeep","&l:write")
|
||||
" call Decho("(s:NetrwOptionsRestore) #10 lines=".&lines)
|
||||
call s:NetrwRestoreSetting("s:yykeep","@@")
|
||||
" former problem: start with liststyle=0; press <i> : result, following line resets l:ts.
|
||||
" Fixed; in s:PerformListing, when w:netrw_liststyle is s:LONGLIST, will use a printf to pad filename with spaces
|
||||
@ -1855,7 +1888,7 @@ fun! s:NetrwOptionsRestore(vt)
|
||||
unlet {a:vt}netrw_dirkeep
|
||||
endif
|
||||
endif
|
||||
if has("clipboard")
|
||||
if has("clipboard") && g:netrw_clipboard
|
||||
" call Decho("has clipboard",'~'.expand("<slnum>"))
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_starkeep","@*")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_pluskeep","@+")
|
||||
@ -1871,9 +1904,11 @@ fun! s:NetrwOptionsRestore(vt)
|
||||
" were having their filetype detect-generated settings overwritten by
|
||||
" NetrwOptionRestore.
|
||||
if &ft != "netrw"
|
||||
" call Decho("filetype detect (ft=".&ft.")",'~'.expand("<slnum>"))
|
||||
" call Decho("before: filetype detect (ft=".&ft.")",'~'.expand("<slnum>"))
|
||||
filetype detect
|
||||
" call Decho("after : filetype detect (ft=".&ft.")",'~'.expand("<slnum>"))
|
||||
endif
|
||||
" call Decho("(s:NetrwOptionsRestore) lines=".&lines)
|
||||
" call Decho("settings buf#".bufnr("%")."<".bufname("%").">: ".((&l:ma == 0)? "no" : "")."ma ".((&l:mod == 0)? "no" : "")."mod ".((&l:bl == 0)? "no" : "")."bl ".((&l:ro == 0)? "no" : "")."ro fo=".&l:fo." a:vt=".a:vt,'~'.expand("<slnum>"))
|
||||
" call Dret("s:NetrwOptionsRestore : tab#".tabpagenr()." win#".winnr()." buf#".bufnr("%")."<".bufname("%")."> modified=".&modified." modifiable=".&modifiable." readonly=".&readonly)
|
||||
endfun
|
||||
@ -1923,7 +1958,7 @@ fun! s:NetrwRestoreSetting(keepvar,setting)
|
||||
" typically called from s:NetrwOptionsRestore
|
||||
" call s:NetrwRestoreSettings(keep-option-variable-name,'associated-option')
|
||||
" ex. call s:NetrwRestoreSetting(a:vt."netrw_selkeep","&l:sel")
|
||||
" Restores option (if different) from a keepvar
|
||||
" Restores option (but only if different) from a:keepvar
|
||||
if exists(a:keepvar)
|
||||
exe "let keepvarval= ".a:keepvar
|
||||
exe "let setting= ".a:setting
|
||||
@ -2845,14 +2880,16 @@ fun! netrw#SetTreetop(iscmd,...)
|
||||
" call Decho("inittreetop<".(exists("inittreetop")? inittreetop : "n/a").">")
|
||||
|
||||
if (a:iscmd == 0 || a:1 == "") && exists("inittreetop")
|
||||
let treedir= s:NetrwTreePath(inittreetop)
|
||||
let treedir = s:NetrwTreePath(inittreetop)
|
||||
" call Decho("treedir<".treedir.">",'~'.expand("<slnum>"))
|
||||
else
|
||||
if isdirectory(s:NetrwFile(a:1))
|
||||
" call Decho("a:1<".a:1."> is a directory",'~'.expand("<slnum>"))
|
||||
let treedir= a:1
|
||||
let treedir = a:1
|
||||
let s:netrw_treetop = treedir
|
||||
elseif exists("b:netrw_curdir") && (isdirectory(s:NetrwFile(b:netrw_curdir."/".a:1)) || a:1 =~ '^\a\{3,}://')
|
||||
let treedir= b:netrw_curdir."/".a:1
|
||||
let treedir = b:netrw_curdir."/".a:1
|
||||
let s:netrw_treetop = treedir
|
||||
" call Decho("a:1<".a:1."> is NOT a directory, using treedir<".treedir.">",'~'.expand("<slnum>"))
|
||||
else
|
||||
" normally the cursor is left in the message window.
|
||||
@ -2860,7 +2897,8 @@ fun! netrw#SetTreetop(iscmd,...)
|
||||
let netrwbuf= bufnr("%")
|
||||
call netrw#ErrorMsg(s:ERROR,"sorry, ".a:1." doesn't seem to be a directory!",95)
|
||||
exe bufwinnr(netrwbuf)."wincmd w"
|
||||
let treedir= "."
|
||||
let treedir = "."
|
||||
let s:netrw_treetop = getcwd()
|
||||
endif
|
||||
endif
|
||||
" call Decho("treedir<".treedir.">",'~'.expand("<slnum>"))
|
||||
@ -4115,6 +4153,7 @@ fun! s:NetrwFileInfo(islocal,fname)
|
||||
elseif g:netrw_sizestyle =~# 'h'
|
||||
let lsopt= "-lsadh --si"
|
||||
endif
|
||||
" call Decho("(s:NetrwFileInfo) lsopt<".lsopt.">")
|
||||
if (has("unix") || has("macunix")) && executable("/bin/ls")
|
||||
|
||||
if getline(".") == "../"
|
||||
@ -4176,9 +4215,10 @@ endfun
|
||||
" s:NetrwGetBuffer: [get a new|find an old netrw] buffer for a netrw listing {{{2
|
||||
" returns 0=cleared buffer
|
||||
" 1=re-used buffer (buffer not cleared)
|
||||
" Nov 09, 2020: tst952 shows that when user does :set hidden that NetrwGetBuffer will come up with a [No Name] buffer (hid fix)
|
||||
fun! s:NetrwGetBuffer(islocal,dirname)
|
||||
" call Dfunc("s:NetrwGetBuffer(islocal=".a:islocal." dirname<".a:dirname.">) liststyle=".g:netrw_liststyle)
|
||||
" call Decho("settings buf#".bufnr("%")."<".bufname("%").">: ".((&l:ma == 0)? "no" : "")."ma ".((&l:mod == 0)? "no" : "")."mod ".((&l:bl == 0)? "no" : "")."bl ".((&l:ro == 0)? "no" : "")."ro fo=".&l:fo,'~'.expand("<slnum>"))
|
||||
" call Decho("settings buf#".bufnr("%")."<".bufname("%").">: ".((&l:ma == 0)? "no" : "")."ma ".((&l:mod == 0)? "no" : "")."mod ".((&l:bl == 0)? "no" : "")."bl ".((&l:ro == 0)? "no" : "")."ro fo=".&l:fo." hid=".&hid,'~'.expand("<slnum>"))
|
||||
" call Decho("netrwbuf dictionary=".(exists("s:netrwbuf")? string(s:netrwbuf) : 'n/a'),'~'.expand("<slnum>"))
|
||||
" call Dredir("ls!","s:NetrwGetBuffer")
|
||||
let dirname= a:dirname
|
||||
@ -4228,17 +4268,26 @@ fun! s:NetrwGetBuffer(islocal,dirname)
|
||||
endif
|
||||
" call Decho(" bufnum#".bufnum,'~'.expand("<slnum>"))
|
||||
|
||||
" highjack the current buffer if
|
||||
" it has the desired name
|
||||
" it is empty
|
||||
" call Decho("deciding if I can highjack the current buffer#".bufnr("%"),'~'.expand("<slnum>"))
|
||||
" call Decho("..dirname<".dirname.">",'~'.expand("<slnum>"))
|
||||
" call Decho("..bufname<".bufname("%").">",'~'.expand("<slnum>"))
|
||||
" call Decho("..getline($)<".getline("$").">",'~'.expand("<slnum>"))
|
||||
if dirname == bufname("%") && line("$") == 1 && getline("%") == ""
|
||||
" hijack the current buffer
|
||||
" IF the buffer already has the desired name
|
||||
" AND it is empty
|
||||
let curbuf = bufname("%")
|
||||
if curbuf == '.'
|
||||
let curbuf = getcwd()
|
||||
endif
|
||||
" call Dredir("ls!","NetrwGetFile (renamed buffer back to remote filename<".rfile."> : expand(%)<".expand("%").">)")
|
||||
" call Decho("deciding if netrw may hijack the current buffer#".bufnr("%")."<".curbuf.">",'~'.expand("<slnum>"))
|
||||
" call Decho("..dirname<".dirname."> IF dirname == bufname",'~'.expand("<slnum>"))
|
||||
" call Decho("..curbuf<".curbuf.">",'~'.expand("<slnum>"))
|
||||
" call Decho("..line($)=".line("$")." AND this is 1",'~'.expand("<slnum>"))
|
||||
" call Decho("..getline(%)<".getline("%")."> AND this line is empty",'~'.expand("<slnum>"))
|
||||
if dirname == curbuf && line("$") == 1 && getline("%") == ""
|
||||
" call Dret("s:NetrwGetBuffer 0<cleared buffer> : highjacking buffer#".bufnr("%"))
|
||||
return 0
|
||||
else " DEBUG
|
||||
" call Decho("..did NOT hijack buffer",'~'.expand("<slnum>"))
|
||||
endif
|
||||
" Aug 14, 2021: was thinking about looking for a [No Name] buffer here and using it, but that might cause problems
|
||||
|
||||
" get enew buffer and name it -or- re-use buffer {{{3
|
||||
if bufnum < 0 " get enew buffer and name it
|
||||
@ -4563,7 +4612,7 @@ fun! s:NetrwListStyle(islocal)
|
||||
" refresh the listing
|
||||
" call Decho("refresh the listing",'~'.expand("<slnum>"))
|
||||
NetrwKeepj call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./'))
|
||||
NetrwKeepj call s:NetrwCursor()
|
||||
NetrwKeepj call s:NetrwCursor(0)
|
||||
|
||||
" repoint t:netrw_lexbufnr if appropriate
|
||||
if exists("repointlexbufnr")
|
||||
@ -4769,7 +4818,7 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
endif
|
||||
" call Decho("b:netrw_curdir<".b:netrw_curdir.">")
|
||||
|
||||
" NetrwBrowseChgDir: save options and initialize {{{3
|
||||
" NetrwBrowseChgDir; save options and initialize {{{3
|
||||
" call Decho("saving options",'~'.expand("<slnum>"))
|
||||
call s:SavePosn(s:netrw_posn)
|
||||
NetrwKeepj call s:NetrwOptionsSave("s:")
|
||||
@ -4837,6 +4886,8 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && exists("w:netrw_treedict") && newdir !~ '^\(/\|\a:\)'
|
||||
" call Decho("edit-a-file: handle tree listing: w:netrw_treedict<".(exists("w:netrw_treedict")? string(w:netrw_treedict) : 'n/a').">",'~'.expand("<slnum>"))
|
||||
" call Decho("edit-a-file: newdir<".newdir.">",'~'.expand("<slnum>"))
|
||||
" let newdir = s:NetrwTreePath(s:netrw_treetop)
|
||||
" call Decho("edit-a-file: COMBAK why doesn't this recognize file1's directory???")
|
||||
let dirname= s:NetrwTreeDir(a:islocal)
|
||||
"COMBAK : not working for a symlink -- but what about a regular file? a directory?
|
||||
" call Decho("COMBAK : not working for a symlink -- but what about a regular file? a directory?")
|
||||
@ -4950,7 +5001,8 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
exe "NetrwKeepj e ".fnameescape(dirname)
|
||||
endif
|
||||
" call Decho("edit-a-file: after e! ".dirname.": hidden=".&hidden." bufhidden<".&bufhidden."> mod=".&mod,'~'.expand("<slnum>"))
|
||||
call s:NetrwCursor()
|
||||
" COMBAK -- cuc cul related
|
||||
call s:NetrwCursor(1)
|
||||
if &hidden || &bufhidden == "hide"
|
||||
" file came from vim's hidden storage. Don't "restore" options with it.
|
||||
let dorestore= 0
|
||||
@ -4971,8 +5023,8 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
elseif type(g:Netrw_funcref) == 3
|
||||
" call Decho("edit-a-file: handling a list of g:Netrw_funcrefs",'~'.expand("<slnum>"))
|
||||
for Fncref in g:Netrw_funcref
|
||||
if type(FncRef) == 2
|
||||
NetrwKeepj call FncRef()
|
||||
if type(Fncref) == 2
|
||||
NetrwKeepj call Fncref()
|
||||
endif
|
||||
endfor
|
||||
endif
|
||||
@ -5264,6 +5316,12 @@ fun! netrw#BrowseX(fname,remote)
|
||||
endif
|
||||
" call Decho("not a local file nor a webpage request",'~'.expand("<slnum>"))
|
||||
|
||||
if exists("g:netrw_browsex_viewer") && exists("g:netrw_browsex_support_remote") && !g:netrw_browsex_support_remote
|
||||
let remote = a:remote
|
||||
else
|
||||
let remote = 0
|
||||
endif
|
||||
|
||||
let ykeep = @@
|
||||
let screenposn = winsaveview()
|
||||
" call Decho("saving posn to screenposn<".string(screenposn).">",'~'.expand("<slnum>"))
|
||||
@ -5308,9 +5366,9 @@ fun! netrw#BrowseX(fname,remote)
|
||||
endif
|
||||
" call Decho("exten<".exten.">",'~'.expand("<slnum>"))
|
||||
|
||||
if a:remote == 1
|
||||
if remote == 1
|
||||
" create a local copy
|
||||
" call Decho("remote: a:remote=".a:remote.": create a local copy of <".a:fname.">",'~'.expand("<slnum>"))
|
||||
" call Decho("remote: remote=".remote.": create a local copy of <".a:fname.">",'~'.expand("<slnum>"))
|
||||
setl bh=delete
|
||||
call netrw#NetRead(3,a:fname)
|
||||
" attempt to rename tempfile
|
||||
@ -5332,7 +5390,7 @@ fun! netrw#BrowseX(fname,remote)
|
||||
let fname= s:netrw_tmpfile
|
||||
endif
|
||||
else
|
||||
" call Decho("local: a:remote=".a:remote.": handling local copy of <".a:fname.">",'~'.expand("<slnum>"))
|
||||
" call Decho("local: remote=".remote.": handling local copy of <".a:fname.">",'~'.expand("<slnum>"))
|
||||
let fname= a:fname
|
||||
" special ~ handler for local
|
||||
if fname =~ '^\~' && expand("$HOME") != ""
|
||||
@ -5426,8 +5484,8 @@ fun! netrw#BrowseX(fname,remote)
|
||||
if a:fname =~ '^https\=://'
|
||||
" atril does not appear to understand how to handle html -- so use gvim to edit the document
|
||||
let use_ctrlo= 0
|
||||
" call Decho("(COMBAK) fname<".fname.">")
|
||||
" call Decho("(COMBAK) a:fname<".a:fname.">")
|
||||
" call Decho("fname<".fname.">")
|
||||
" call Decho("a:fname<".a:fname.">")
|
||||
call s:NetrwExe("sil! !gvim ".fname.' -c "keepj keepalt file '.fnameescape(a:fname).'"')
|
||||
|
||||
else
|
||||
@ -5475,12 +5533,12 @@ fun! netrw#BrowseX(fname,remote)
|
||||
" return to prior buffer (directory listing)
|
||||
" Feb 12, 2008: had to de-activiate removal of
|
||||
" temporary file because it wasn't getting seen.
|
||||
" if a:remote == 1 && fname != a:fname
|
||||
" if remote == 1 && fname != a:fname
|
||||
"" call Decho("deleting temporary file<".fname.">",'~'.expand("<slnum>"))
|
||||
" call s:NetrwDelete(fname)
|
||||
" endif
|
||||
|
||||
if a:remote == 1
|
||||
if remote == 1
|
||||
setl bh=delete bt=nofile
|
||||
if g:netrw_use_noswf
|
||||
setl noswf
|
||||
@ -5539,7 +5597,7 @@ fun! s:NetrwBufRename(newname)
|
||||
let b:junk= 1
|
||||
" call Decho("rename buffer: sil! keepj keepalt file ".fnameescape(a:newname),'~'.expand("<slnum>"))
|
||||
exe 'sil! keepj keepalt file '.fnameescape(a:newname)
|
||||
" call Dredir("ls!","s:NetrwBufRename (before bwipe)")
|
||||
" call Dredir("ls!","s:NetrwBufRename (before bwipe)~".expand("<slnum>"))
|
||||
let oldbufnr= bufnr(oldbufname)
|
||||
" call Decho("oldbufname<".oldbufname."> oldbufnr#".oldbufnr,'~'.expand("<slnum>"))
|
||||
" call Decho("bufnr(%)=".bufnr("%"),'~'.expand("<slnum>"))
|
||||
@ -5548,6 +5606,9 @@ fun! s:NetrwBufRename(newname)
|
||||
exe "bwipe! ".oldbufnr
|
||||
" else " Decho
|
||||
" call Decho("did *not* bwipe buf#".oldbufnr,'~'.expand("<slnum>"))
|
||||
" call Decho("..reason: if oldbufname<".oldbufname."> is empty",'~'.expand("<slnum>"))"
|
||||
" call Decho("..reason: if oldbufnr#".oldbufnr." is -1",'~'.expand("<slnum>"))"
|
||||
" call Decho("..reason: if oldbufnr#".oldbufnr." != bufnr(%)#".bufnr("%"),'~'.expand("<slnum>"))"
|
||||
endif
|
||||
" call Dredir("ls!","s:NetrwBufRename (after rename)")
|
||||
" else " Decho
|
||||
@ -6536,7 +6597,7 @@ fun! s:NetrwMaps(islocal)
|
||||
if !hasmapto('<Plug>NetrwRefresh')
|
||||
nmap <buffer> <unique> <c-l> <Plug>NetrwRefresh
|
||||
endif
|
||||
nnoremap <buffer> <silent> <Plug>NetrwRefresh <c-l>:call <SID>NetrwRefresh(1,<SID>NetrwBrowseChgDir(1,(w:netrw_liststyle == 3)? w:netrw_treetop : './'))<cr>
|
||||
nnoremap <buffer> <silent> <Plug>NetrwRefresh <c-l>:call <SID>NetrwRefresh(1,<SID>NetrwBrowseChgDir(1,(exists("w:netrw_liststyle") && exists("w:netrw_treetop") && w:netrw_liststyle == 3)? w:netrw_treetop : './'))<cr>
|
||||
if s:didstarstar || !mapcheck("<s-down>","n")
|
||||
nnoremap <buffer> <silent> <s-down> :Nexplore<cr>
|
||||
endif
|
||||
@ -6785,7 +6846,7 @@ fun! s:NetrwMarkFile(islocal,fname)
|
||||
|
||||
" sanity check
|
||||
if empty(a:fname)
|
||||
" call Dret("s:NetrwMarkFile : emtpy fname")
|
||||
" call Dret("s:NetrwMarkFile : empty fname")
|
||||
return
|
||||
endif
|
||||
let curdir = s:NetrwGetCurdir(a:islocal)
|
||||
@ -8164,6 +8225,23 @@ fun! s:NetrwOpenFile(islocal)
|
||||
call inputsave()
|
||||
let fname= input("Enter filename: ")
|
||||
call inputrestore()
|
||||
" call Decho("(s:NetrwOpenFile) fname<".fname.">",'~'.expand("<slnum>"))
|
||||
|
||||
" determine if Lexplore is in use
|
||||
if exists("t:netrw_lexbufnr")
|
||||
" check if t:netrw_lexbufnr refers to a netrw window
|
||||
" call Decho("(s:netrwOpenFile) ..t:netrw_lexbufnr=".t:netrw_lexbufnr,'~'.expand("<slnum>"))
|
||||
let lexwinnr = bufwinnr(t:netrw_lexbufnr)
|
||||
if lexwinnr != -1 && exists("g:netrw_chgwin") && g:netrw_chgwin != -1
|
||||
" call Decho("(s:netrwOpenFile) ..Lexplore in use",'~'.expand("<slnum>"))
|
||||
exe "NetrwKeepj keepalt ".g:netrw_chgwin."wincmd w"
|
||||
exe "NetrwKeepj e ".fnameescape(fname)
|
||||
let @@= ykeep
|
||||
" call Dret("s:NetrwOpenFile : creating a file with Lexplore mode")
|
||||
endif
|
||||
endif
|
||||
|
||||
" Does the filename contain a path?
|
||||
if fname !~ '[/\\]'
|
||||
if exists("b:netrw_curdir")
|
||||
if exists("g:netrw_quiet")
|
||||
@ -8502,6 +8580,7 @@ fun! s:NetrwPrevWinOpen(islocal)
|
||||
let lastwinnr = winnr("$")
|
||||
let curword = s:NetrwGetWord()
|
||||
let choice = 0
|
||||
let s:prevwinopen= 1 " lets s:NetrwTreeDir() know that NetrwPrevWinOpen called it
|
||||
let s:treedir = s:NetrwTreeDir(a:islocal)
|
||||
let curdir = s:treedir
|
||||
" call Decho("winnr($)#".lastwinnr." curword<".curword.">",'~'.expand("<slnum>"))
|
||||
@ -8829,7 +8908,7 @@ fun! s:NetrwPreview(path) range
|
||||
" 0 : 1: top -- preview window is horizontally split off and on the top
|
||||
" 0 : 0: bot -- preview window is horizontally split off and on the bottom
|
||||
"
|
||||
" Note that the file being previewed is already known to not be a directory, hence we can avoid doing a LocalBrowse() check via
|
||||
" Note that the file being previewed is already known to not be a directory, hence we can avoid doing a LocalBrowseCheck() check via
|
||||
" the BufEnter event set up in netrwPlugin.vim
|
||||
" call Decho("exe ".(g:netrw_alto? "top " : "bot ").(g:netrw_preview? "vert " : "")."pedit ".fnameescape(a:path),'~'.expand("<slnum>"))
|
||||
let eikeep = &ei
|
||||
@ -9264,14 +9343,20 @@ fun! s:NetrwTreeDir(islocal)
|
||||
" call Decho("g:netrw_keepdir =".(exists("g:netrw_keepdir")? g:netrw_keepdir : 'n/a'),'~'.expand("<slnum>"))
|
||||
" call Decho("w:netrw_liststyle=".(exists("w:netrw_liststyle")? w:netrw_liststyle : 'n/a'),'~'.expand("<slnum>"))
|
||||
" call Decho("w:netrw_treetop =".(exists("w:netrw_treetop")? w:netrw_treetop : 'n/a'),'~'.expand("<slnum>"))
|
||||
" call Decho("current line<".getline(".").">")
|
||||
|
||||
if exists("s:treedir")
|
||||
if exists("s:treedir") && exists("s:prevwinopen")
|
||||
" s:NetrwPrevWinOpen opens a "previous" window -- and thus needs to and does call s:NetrwTreeDir early
|
||||
" call Decho('s:NetrwPrevWinOpen opens a "previous" window -- and thus needs to and does call s:NetrwTreeDir early')
|
||||
let treedir= s:treedir
|
||||
unlet s:treedir
|
||||
" call Dret("s:NetrwTreeDir ".treedir)
|
||||
unlet s:prevwinopen
|
||||
" call Dret("s:NetrwTreeDir ".treedir.": early return since s:treedir existed previously")
|
||||
return treedir
|
||||
endif
|
||||
if exists("s:prevwinopen")
|
||||
unlet s:prevwinopen
|
||||
endif
|
||||
|
||||
if !exists("b:netrw_curdir") || b:netrw_curdir == ""
|
||||
let b:netrw_curdir= getcwd()
|
||||
@ -9478,20 +9563,29 @@ endfun
|
||||
" Called by s:PerformListing()
|
||||
fun! s:NetrwTreeListing(dirname)
|
||||
if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST
|
||||
" call Dfunc("NetrwTreeListing() bufname<".expand("%").">")
|
||||
" call Dfunc("s:NetrwTreeListing() bufname<".expand("%").">")
|
||||
" call Decho("curdir<".a:dirname.">",'~'.expand("<slnum>"))
|
||||
" call Decho("win#".winnr().": w:netrw_treetop ".(exists("w:netrw_treetop")? "exists" : "doesn't exist")." w:netrw_treedict ".(exists("w:netrw_treedict")? "exists" : "doesn't exit"),'~'.expand("<slnum>"))
|
||||
" call Decho("g:netrw_banner=".g:netrw_banner.": banner ".(g:netrw_banner? "enabled" : "suppressed").": (line($)=".line("$")." byte2line(1)=".byte2line(1)." bannercnt=".w:netrw_bannercnt.")",'~'.expand("<slnum>"))
|
||||
|
||||
" update the treetop
|
||||
" call Decho("update the treetop",'~'.expand("<slnum>"))
|
||||
if !exists("w:netrw_treetop")
|
||||
" call Decho("update the treetop (w:netrw_treetop doesn't exist yet)",'~'.expand("<slnum>"))
|
||||
let w:netrw_treetop= a:dirname
|
||||
let s:netrw_treetop= w:netrw_treetop
|
||||
" call Decho("w:netrw_treetop<".w:netrw_treetop."> (reusing)",'~'.expand("<slnum>"))
|
||||
elseif (w:netrw_treetop =~ ('^'.a:dirname) && s:Strlen(a:dirname) < s:Strlen(w:netrw_treetop)) || a:dirname !~ ('^'.w:netrw_treetop)
|
||||
" call Decho("update the treetop (override w:netrw_treetop with a:dirname<".a:dirname.">)",'~'.expand("<slnum>"))
|
||||
let w:netrw_treetop= a:dirname
|
||||
let s:netrw_treetop= w:netrw_treetop
|
||||
" call Decho("w:netrw_treetop<".w:netrw_treetop."> (went up)",'~'.expand("<slnum>"))
|
||||
endif
|
||||
if exists("w:netrw_treetop")
|
||||
let s:netrw_treetop= w:netrw_treetop
|
||||
else
|
||||
let w:netrw_treetop= getcwd()
|
||||
let s:netrw_treetop= w:netrw_treetop
|
||||
endif
|
||||
|
||||
if !exists("w:netrw_treedict")
|
||||
" insure that we have a treedict, albeit empty
|
||||
@ -9529,7 +9623,7 @@ fun! s:NetrwTreeListing(dirname)
|
||||
|
||||
exe "setl ".g:netrw_bufsettings
|
||||
|
||||
" call Dret("NetrwTreeListing : bufname<".expand("%").">")
|
||||
" call Dret("s:NetrwTreeListing : bufname<".expand("%").">")
|
||||
return
|
||||
endif
|
||||
endfun
|
||||
@ -9637,7 +9731,7 @@ fun! s:NetrwWideListing()
|
||||
let newcolstart = w:netrw_bannercnt + fpc
|
||||
let newcolend = newcolstart + fpc - 1
|
||||
" call Decho("bannercnt=".w:netrw_bannercnt." fpl=".w:netrw_fpl." fpc=".fpc." newcol[".newcolstart.",".newcolend."]",'~'.expand("<slnum>"))
|
||||
if has("clipboard")
|
||||
if has("clipboard") && g:netrw_clipboard
|
||||
" call Decho("(s:NetrwWideListing) save @* and @+",'~'.expand("<slnum>"))
|
||||
sil! let keepregstar = @*
|
||||
sil! let keepregplus = @+
|
||||
@ -10683,7 +10777,7 @@ endfun
|
||||
" ---------------------------------------------------------------------
|
||||
" netrw#LocalBrowseCheck: {{{2
|
||||
fun! netrw#LocalBrowseCheck(dirname)
|
||||
" This function is called by netrwPlugin.vim's s:LocalBrowse(), s:NetrwRexplore(),
|
||||
" This function is called by netrwPlugin.vim's s:LocalBrowseCheck(), s:NetrwRexplore(),
|
||||
" and by <cr> when atop a listed file/directory (via a buffer-local map)
|
||||
"
|
||||
" unfortunate interaction -- split window debugging can't be used here, must use
|
||||
@ -10834,7 +10928,7 @@ endfun
|
||||
" Hiding a buffer means that it will be re-used when examined, hence "fast".
|
||||
" (re-using a buffer may not be as accurate)
|
||||
"
|
||||
" s:netrw_events : doesn't exist, s:LocalFastBrowser() will install autocmds whena med or fast browsing
|
||||
" s:netrw_events : doesn't exist, s:LocalFastBrowser() will install autocmds with medium-speed or fast browsing
|
||||
" =1: autocmds installed, but ignore next FocusGained event to avoid initial double-refresh of listing.
|
||||
" BufEnter may be first event, then a FocusGained event. Ignore the first FocusGained event.
|
||||
" If :Explore used: it sets s:netrw_events to 2, so no FocusGained events are ignored.
|
||||
@ -10996,13 +11090,14 @@ fun! s:LocalListing()
|
||||
let sz= s:NetrwHumanReadable(sz)
|
||||
endif
|
||||
let longfile= printf("%-".(g:netrw_maxfilenamelen+1)."s",pfile)
|
||||
let pfile = longfile.fsz." ".strftime(g:netrw_timefmt,getftime(filename))
|
||||
let pfile = longfile.sz." ".strftime(g:netrw_timefmt,getftime(filename))
|
||||
" call Decho("longlist support: sz=".sz." fsz=".fsz,'~'.expand("<slnum>"))
|
||||
endif
|
||||
|
||||
if g:netrw_sort_by =~# "^t"
|
||||
" sort by time (handles time up to 1 quintillion seconds, US)
|
||||
" Decorate listing by prepending a timestamp/ . Sorting will then be done based on time.
|
||||
" call Decho("implementing g:netrw_sort_by=".g:netrw_sort_by." (time)")
|
||||
" call Decho("getftime(".filename.")=".getftime(filename),'~'.expand("<slnum>"))
|
||||
let t = getftime(filename)
|
||||
let ft = strpart("000000000000000000",1,18-strlen(t)).t
|
||||
@ -11012,6 +11107,7 @@ fun! s:LocalListing()
|
||||
|
||||
elseif g:netrw_sort_by =~ "^s"
|
||||
" sort by size (handles file sizes up to 1 quintillion bytes, US)
|
||||
" call Decho("implementing g:netrw_sort_by=".g:netrw_sort_by." (size)")
|
||||
" call Decho("getfsize(".filename.")=".getfsize(filename),'~'.expand("<slnum>"))
|
||||
let sz = getfsize(filename)
|
||||
if g:netrw_sizestyle =~# "[hH]"
|
||||
@ -11024,6 +11120,7 @@ fun! s:LocalListing()
|
||||
|
||||
else
|
||||
" sort by name
|
||||
" call Decho("implementing g:netrw_sort_by=".g:netrw_sort_by." (name)")
|
||||
" call Decho("exe NetrwKeepj put ='".pfile."'",'~'.expand("<slnum>"))
|
||||
sil! NetrwKeepj put=pfile
|
||||
endif
|
||||
@ -11746,19 +11843,32 @@ endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:NetrwCursor: responsible for setting cursorline/cursorcolumn based upon g:netrw_cursor {{{2
|
||||
fun! s:NetrwCursor()
|
||||
fun! s:NetrwCursor(editfile)
|
||||
if !exists("w:netrw_liststyle")
|
||||
let w:netrw_liststyle= g:netrw_liststyle
|
||||
endif
|
||||
" call Dfunc("s:NetrwCursor() ft<".&ft."> liststyle=".w:netrw_liststyle." g:netrw_cursor=".g:netrw_cursor." s:netrw_usercuc=".s:netrw_usercuc." s:netrw_usercul=".s:netrw_usercul)
|
||||
|
||||
" call Decho("(s:NetrwCursor) COMBAK: cuc=".&l:cuc." cul=".&l:cul)
|
||||
|
||||
if &ft != "netrw"
|
||||
" if the current window isn't a netrw directory listing window, then use user cursorline/column
|
||||
" settings. Affects when netrw is used to read/write a file using scp/ftp/etc.
|
||||
" call Decho("case ft!=netrw: use user cul,cuc",'~'.expand("<slnum>"))
|
||||
let &l:cursorline = s:netrw_usercul
|
||||
let &l:cursorcolumn = s:netrw_usercuc
|
||||
|
||||
elseif g:netrw_cursor == 8
|
||||
if w:netrw_liststyle == s:WIDELIST
|
||||
setl cursorline
|
||||
setl cursorcolumn
|
||||
else
|
||||
setl cursorline
|
||||
endif
|
||||
elseif g:netrw_cursor == 7
|
||||
setl cursorline
|
||||
elseif g:netrw_cursor == 6
|
||||
if w:netrw_liststyle == s:WIDELIST
|
||||
setl cursorline
|
||||
endif
|
||||
elseif g:netrw_cursor == 4
|
||||
" all styles: cursorline, cursorcolumn
|
||||
" call Decho("case g:netrw_cursor==4: setl cul cuc",'~'.expand("<slnum>"))
|
||||
@ -11775,26 +11885,22 @@ fun! s:NetrwCursor()
|
||||
else
|
||||
" call Decho("case g:netrw_cursor==3 and not wide: setl cul (use user's cuc)",'~'.expand("<slnum>"))
|
||||
setl cursorline
|
||||
let &l:cursorcolumn = s:netrw_usercuc
|
||||
endif
|
||||
|
||||
elseif g:netrw_cursor == 2
|
||||
" thin-long-tree: cursorline, user's cursorcolumn
|
||||
" wide : cursorline, user's cursorcolumn
|
||||
" call Decho("case g:netrw_cursor==2: setl cuc (use user's cul)",'~'.expand("<slnum>"))
|
||||
let &l:cursorcolumn = s:netrw_usercuc
|
||||
setl cursorline
|
||||
|
||||
elseif g:netrw_cursor == 1
|
||||
" thin-long-tree: user's cursorline, user's cursorcolumn
|
||||
" wide : cursorline, user's cursorcolumn
|
||||
let &l:cursorcolumn = s:netrw_usercuc
|
||||
if w:netrw_liststyle == s:WIDELIST
|
||||
" call Decho("case g:netrw_cursor==2 and wide: setl cul (use user's cuc)",'~'.expand("<slnum>"))
|
||||
setl cursorline
|
||||
else
|
||||
" call Decho("case g:netrw_cursor==2 and not wide: (use user's cul,cuc)",'~'.expand("<slnum>"))
|
||||
let &l:cursorline = s:netrw_usercul
|
||||
endif
|
||||
|
||||
else
|
||||
@ -11804,6 +11910,7 @@ fun! s:NetrwCursor()
|
||||
let &l:cursorcolumn = s:netrw_usercuc
|
||||
endif
|
||||
|
||||
" call Decho("(s:NetrwCursor) COMBAK: cuc=".&l:cuc." cul=".&l:cul)
|
||||
" call Dret("s:NetrwCursor : l:cursorline=".&l:cursorline." l:cursorcolumn=".&l:cursorcolumn)
|
||||
endfun
|
||||
|
||||
@ -11817,6 +11924,7 @@ fun! s:RestoreCursorline()
|
||||
if exists("s:netrw_usercuc")
|
||||
let &l:cursorcolumn = s:netrw_usercuc
|
||||
endif
|
||||
" call Decho("(s:RestoreCursorline) COMBAK: cuc=".&l:cuc." cul=".&l:cul)
|
||||
" call Dret("s:RestoreCursorline : restored cul=".&l:cursorline." cuc=".&l:cursorcolumn)
|
||||
endfun
|
||||
|
||||
@ -11851,12 +11959,38 @@ fun! s:NetrwDelete(path)
|
||||
return result
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:NetrwBufRemover: removes a buffer that: {{{2s
|
||||
" has buffer-id > 1
|
||||
" is unlisted
|
||||
" is unnamed
|
||||
" does not appear in any window
|
||||
fun! s:NetrwBufRemover(bufid)
|
||||
" call Dfunc("s:NetrwBufRemover(".a:bufid.")")
|
||||
" call Decho("buf#".a:bufid." ".((a:bufid > 1)? ">" : "≯")." must be >1 for removal","~".expand("<slnum>"))
|
||||
" call Decho("buf#".a:bufid." is ".(buflisted(a:bufid)? "listed" : "unlisted"),"~".expand("<slnum>"))
|
||||
" call Decho("buf#".a:bufid." has name <".bufname(a:bufid).">","~".expand("<slnum>"))
|
||||
" call Decho("buf#".a:bufid." has winid#".bufwinid(a:bufid),"~".expand("<slnum>"))
|
||||
|
||||
if a:bufid > 1 && !buflisted(a:bufid) && bufname(a:bufid) == "" && bufwinid(a:bufid) == -1
|
||||
" call Decho("(s:NetrwBufRemover) removing buffer#".a:bufid,"~".expand("<slnum>"))
|
||||
exe "bd! ".a:bufid
|
||||
endif
|
||||
|
||||
" call Dret("s:NetrwBufRemover")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:NetrwEnew: opens a new buffer, passes netrw buffer variables through {{{2
|
||||
fun! s:NetrwEnew(...)
|
||||
" call Dfunc("s:NetrwEnew() a:0=".a:0." win#".winnr()." winnr($)=".winnr("$")." bufnr($)=".bufnr("$")." expand(%)<".expand("%").">")
|
||||
" call Decho("curdir<".((a:0>0)? a:1 : "")."> buf#".bufnr("%")."<".bufname("%").">",'~'.expand("<slnum>"))
|
||||
|
||||
" Clean out the last buffer:
|
||||
" Check if the last buffer has # > 1, is unlisted, is unnamed, and does not appear in a window
|
||||
" If so, delete it.
|
||||
call s:NetrwBufRemover(bufnr("$"))
|
||||
|
||||
" grab a function-local-variable copy of buffer variables
|
||||
" call Decho("make function-local copy of netrw variables",'~'.expand("<slnum>"))
|
||||
if exists("b:netrw_bannercnt") |let netrw_bannercnt = b:netrw_bannercnt |endif
|
||||
|
@ -1,7 +1,7 @@
|
||||
" netrwSettings.vim: makes netrw settings simpler
|
||||
" Date: Nov 09, 2016
|
||||
" Date: Aug 12, 2021
|
||||
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
" Version: 16
|
||||
" Version: 17 ASTRO-ONLY
|
||||
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
@ -19,7 +19,7 @@
|
||||
if exists("g:loaded_netrwSettings") || &cp
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwSettings = "v16"
|
||||
let g:loaded_netrwSettings = "v17"
|
||||
if v:version < 700
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of netrwSettings needs vim 7.0"
|
||||
@ -31,7 +31,7 @@ endif
|
||||
" NetrwSettings: {{{1
|
||||
fun! netrwSettings#NetrwSettings()
|
||||
" this call is here largely just to insure that netrw has been loaded
|
||||
call netrw#SavePosn()
|
||||
call netrw#WinPath("")
|
||||
if !exists("g:loaded_netrw")
|
||||
echohl WarningMsg | echomsg "***sorry*** netrw needs to be loaded prior to using NetrwSettings" | echohl None
|
||||
return
|
||||
|
@ -9,7 +9,7 @@
|
||||
"
|
||||
" let g:phpcomplete_relax_static_constraint = 1/0 [default 0]
|
||||
" Enables completion for non-static methods when completing for static context (::).
|
||||
" This generates E_STRICT level warning, but php calls these methods nontheless.
|
||||
" This generates E_STRICT level warning, but php calls these methods nonetheless.
|
||||
"
|
||||
" let g:phpcomplete_complete_for_unknown_classes = 1/0 [default 0]
|
||||
" Enables completion of variables and functions in "everything under the sun" fashion
|
||||
@ -28,7 +28,7 @@
|
||||
" This option controls the number of characters the user needs to type before
|
||||
" the tags will be searched for namespaces and classes in typed out namespaces in
|
||||
" "use ..." context. Setting this to 0 is not recommended because that means the code
|
||||
" have to scan every tag, and vim's taglist() function runs extremly slow with a
|
||||
" have to scan every tag, and vim's taglist() function runs extremely slow with a
|
||||
" "match everything" pattern.
|
||||
"
|
||||
" let g:phpcomplete_parse_docblock_comments = 1/0 [default 0]
|
||||
@ -263,7 +263,7 @@ function! phpcomplete#CompleteUse(base) " {{{
|
||||
call add(no_namespace_matches, {'word': namespace_for_class.'\'.tag.name, 'kind': tag.kind, 'menu': tag.filename, 'info': tag.filename })
|
||||
endif
|
||||
endfor
|
||||
" if it seems that the tags file have namespace informations we can safely throw
|
||||
" if it seems that the tags file have namespace information we can safely throw
|
||||
" away namespaceless tag matches since we can be sure they are invalid
|
||||
if patched_ctags_detected
|
||||
no_namespace_matches = []
|
||||
@ -805,7 +805,7 @@ function! phpcomplete#CompleteClassName(base, kinds, current_namespace, imports)
|
||||
endif
|
||||
endfor
|
||||
|
||||
" resolve the typed in part with namespaces (if theres a \ in it)
|
||||
" resolve the typed in part with namespaces (if there's a \ in it)
|
||||
let [tag_match_pattern, namespace_for_class] = phpcomplete#ExpandClassName(a:base, a:current_namespace, a:imports)
|
||||
|
||||
let tags = []
|
||||
@ -921,11 +921,11 @@ function! s:getNextCharWithPos(filelines, current_pos) " {{{
|
||||
endfunction " }}}
|
||||
|
||||
function! phpcomplete#EvaluateModifiers(modifiers, required_modifiers, prohibited_modifiers) " {{{
|
||||
" if theres no modifier, and no modifier is allowed and no modifier is required
|
||||
" if there's no modifier, and no modifier is allowed and no modifier is required
|
||||
if len(a:modifiers) == 0 && len(a:required_modifiers) == 0
|
||||
return 1
|
||||
else
|
||||
" check if every requred modifier is present
|
||||
" check if every required modifier is present
|
||||
for required_modifier in a:required_modifiers
|
||||
if index(a:modifiers, required_modifier) == -1
|
||||
return 0
|
||||
@ -1253,7 +1253,7 @@ function! phpcomplete#GetCurrentInstruction(line_number, col_number, phpbegin) "
|
||||
endif
|
||||
endif
|
||||
|
||||
" save the coma position for later use if theres a "naked" , possibly separating a parameter and it is not in a parented part
|
||||
" save the coma position for later use if there's a "naked" , possibly separating a parameter and it is not in a parented part
|
||||
if first_coma_break_pos == -1 && current_char == ','
|
||||
let first_coma_break_pos = len(instruction)
|
||||
endif
|
||||
@ -1299,7 +1299,7 @@ function! phpcomplete#GetCurrentInstruction(line_number, col_number, phpbegin) "
|
||||
|
||||
" there were a "naked" coma in the instruction
|
||||
if first_coma_break_pos != -1
|
||||
if instruction !~? '^use' && instruction !~? '^class' " use ... statements and class delcarations should not be broken up by comas
|
||||
if instruction !~? '^use' && instruction !~? '^class' " use ... statements and class declarations should not be broken up by comas
|
||||
let pos = (-1 * first_coma_break_pos) + 1
|
||||
let instruction = instruction[pos :]
|
||||
endif
|
||||
@ -1311,7 +1311,7 @@ function! phpcomplete#GetCurrentInstruction(line_number, col_number, phpbegin) "
|
||||
" clear everything up until the first (
|
||||
let instruction = substitute(instruction, '^\(if\|while\|foreach\|for\)\s*(\s*', '', '')
|
||||
|
||||
" lets iterate trough the instruction until we can find the pair for the opening (
|
||||
" lets iterate through the instruction until we can find the pair for the opening (
|
||||
let i = 0
|
||||
let depth = 1
|
||||
while i < len(instruction)
|
||||
@ -1419,7 +1419,7 @@ function! phpcomplete#GetCallChainReturnType(classname_candidate, class_candidat
|
||||
let parts = split(substitute(type, '^\\', '', ''), '\')
|
||||
let class_candidate_namespace = join(parts[0:-2], '\')
|
||||
let classname_candidate = parts[-1]
|
||||
" check for renamed namepsace in imports
|
||||
" check for renamed namespace in imports
|
||||
if has_key(classstructure.imports, class_candidate_namespace)
|
||||
let class_candidate_namespace = classstructure.imports[class_candidate_namespace].name
|
||||
endif
|
||||
@ -2018,7 +2018,7 @@ function! phpcomplete#GetCachedClassContents(classlocation, class_name) " {{{
|
||||
if getftime(classstructure.file) != classstructure.mtime
|
||||
let valid = 0
|
||||
" we could break here, but the time required for checking probably worth
|
||||
" the the memory we can free by checking every file in the cached hirearchy
|
||||
" the the memory we can free by checking every file in the cached hierarchy
|
||||
call phpcomplete#ClearCachedClassContents(classstructure.file)
|
||||
endif
|
||||
endfor
|
||||
@ -2032,7 +2032,7 @@ function! phpcomplete#GetCachedClassContents(classlocation, class_name) " {{{
|
||||
call remove(s:cache_classstructures, cache_key)
|
||||
call phpcomplete#ClearCachedClassContents(full_file_path)
|
||||
|
||||
" fall trough for the read from files path
|
||||
" fall through for the read from files path
|
||||
endif
|
||||
else
|
||||
call phpcomplete#ClearCachedClassContents(full_file_path)
|
||||
@ -2141,7 +2141,7 @@ function! phpcomplete#GetClassContentsStructure(file_path, file_lines, class_nam
|
||||
let l = lnum
|
||||
let search_line = trait_line
|
||||
|
||||
" add lines from the file until theres no ';' in them
|
||||
" add lines from the file until there's no ';' in them
|
||||
while search_line !~? ';' && l > 0
|
||||
" file lines are reversed so we need to go backwards
|
||||
let l += 1
|
||||
@ -2573,7 +2573,7 @@ function! phpcomplete#GetCurrentNameSpace(file_lines) " {{{
|
||||
let search_line = line
|
||||
let use_line = line
|
||||
|
||||
" add lines from the file until theres no ';' in them
|
||||
" add lines from the file until there's no ';' in them
|
||||
while search_line !~? ';' && l > 0
|
||||
" file lines are reversed so we need to go backwards
|
||||
let l -= 1
|
||||
@ -2605,7 +2605,7 @@ function! phpcomplete#GetCurrentNameSpace(file_lines) " {{{
|
||||
" find kind flags from tags or built in methods for the objects we extracted
|
||||
" they can be either classes, interfaces or namespaces, no other thing is importable in php
|
||||
for [key, import] in items(imports)
|
||||
" if theres a \ in the name we have it's definitely not a built in thing, look for tags
|
||||
" if there's a \ in the name we have it's definitely not a built in thing, look for tags
|
||||
if import.name =~ '\\'
|
||||
let patched_ctags_detected = 0
|
||||
let [classname, namespace_for_classes] = phpcomplete#ExpandClassName(import.name, '\', {})
|
||||
@ -2662,10 +2662,10 @@ function! phpcomplete#GetCurrentNameSpace(file_lines) " {{{
|
||||
let import['kind'] = 'i'
|
||||
let import['builtin'] = 1
|
||||
else
|
||||
" or can be a tag with exactly matchign name
|
||||
" or can be a tag with exactly matching name
|
||||
let tags = phpcomplete#GetTaglist('^'.import['name'].'$')
|
||||
for tag in tags
|
||||
" search for the first matchin namespace, class, interface with no namespace
|
||||
" search for the first matching namespace, class, interface with no namespace
|
||||
if !has_key(tag, 'namespace') && (tag.kind == 'n' || tag.kind == 'c' || tag.kind == 'i' || tag.kind == 't')
|
||||
call extend(import, tag)
|
||||
let import['builtin'] = 0
|
||||
@ -2883,7 +2883,7 @@ for [ext, data] in items(php_builtin['functions'])
|
||||
call extend(g:php_builtin_functions, data)
|
||||
endfor
|
||||
|
||||
" Built in classs
|
||||
" Built in class
|
||||
let g:php_builtin_classes = {}
|
||||
for [ext, data] in items(php_builtin['classes'])
|
||||
call extend(g:php_builtin_classes, data)
|
||||
@ -2901,10 +2901,10 @@ for [ext, data] in items(php_builtin['constants'])
|
||||
call extend(g:php_constants, data)
|
||||
endfor
|
||||
|
||||
" When the classname not found or found but the tags dosen't contain that
|
||||
" class we will try to complate any method of any builtin class. To speed up
|
||||
" When the classname not found or found but the tags doesn't contain that
|
||||
" class we will try to complete any method of any builtin class. To speed up
|
||||
" that lookup we compile a 'ClassName::MethodName':'info' dictionary from the
|
||||
" builtin class informations
|
||||
" builtin class information
|
||||
let g:php_builtin_object_functions = {}
|
||||
|
||||
" When completing for 'everyting imaginable' (no class context, not a
|
||||
|
@ -173,7 +173,7 @@ class Completer(object):
|
||||
pass
|
||||
if len(arg_text) == 0:
|
||||
# The doc string sometimes contains the function signature
|
||||
# this works for alot of C modules that are part of the
|
||||
# this works for a lot of C modules that are part of the
|
||||
# standard library
|
||||
doc = func_obj.__doc__
|
||||
if doc:
|
||||
|
@ -191,7 +191,7 @@ class Completer(object):
|
||||
pass
|
||||
if len(arg_text) == 0:
|
||||
# The doc string sometimes contains the function signature
|
||||
# this works for alot of C modules that are part of the
|
||||
# this works for a lot of C modules that are part of the
|
||||
# standard library
|
||||
doc = func_obj.__doc__
|
||||
if doc:
|
||||
|
@ -3,7 +3,7 @@
|
||||
" Maintainer: Mark Guzman <segfault@hasno.info>
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Feb 25
|
||||
" Last Change: 2020 Apr 12
|
||||
" ----------------------------------------------------------------------------
|
||||
"
|
||||
" Ruby IRB/Complete author: Keiju ISHITSUKA(keiju@ishitsuka.com)
|
||||
@ -501,13 +501,8 @@ class VimRubyCompletion
|
||||
return if rails_base == nil
|
||||
$:.push rails_base unless $:.index( rails_base )
|
||||
|
||||
rails_config = rails_base + "config/"
|
||||
rails_lib = rails_base + "lib/"
|
||||
$:.push rails_config unless $:.index( rails_config )
|
||||
$:.push rails_lib unless $:.index( rails_lib )
|
||||
|
||||
bootfile = rails_config + "boot.rb"
|
||||
envfile = rails_config + "environment.rb"
|
||||
bootfile = rails_base + "config/boot.rb"
|
||||
envfile = rails_base + "config/environment.rb"
|
||||
if File.exists?( bootfile ) && File.exists?( envfile )
|
||||
begin
|
||||
require bootfile
|
||||
|
@ -17,7 +17,7 @@
|
||||
" and complete it.
|
||||
"
|
||||
" Version 16.0 (Dec 2015)
|
||||
" - NF: If reseting the cache and table, procedure or view completion
|
||||
" - NF: If resetting the cache and table, procedure or view completion
|
||||
" had been used via dbext, have dbext delete or recreate the
|
||||
" dictionary so that new objects are picked up for the
|
||||
" next completion.
|
||||
@ -554,7 +554,7 @@ function! sqlcomplete#PreCacheSyntax(...)
|
||||
let syn_group_arr = g:omni_sql_precache_syntax_groups
|
||||
endif
|
||||
" For each group specified in the list, precache all
|
||||
" the sytnax items.
|
||||
" the syntax items.
|
||||
if !empty(syn_group_arr)
|
||||
for group_name in syn_group_arr
|
||||
let syn_items = extend( syn_items, s:SQLCGetSyntaxList(group_name) )
|
||||
@ -577,7 +577,7 @@ function! sqlcomplete#ResetCacheSyntax(...)
|
||||
let syn_group_arr = g:omni_sql_precache_syntax_groups
|
||||
endif
|
||||
" For each group specified in the list, precache all
|
||||
" the sytnax items.
|
||||
" the syntax items.
|
||||
if !empty(syn_group_arr)
|
||||
for group_name in syn_group_arr
|
||||
let list_idx = index(s:syn_list, group_name, 0, &ignorecase)
|
||||
@ -617,7 +617,7 @@ function! sqlcomplete#DrillIntoTable()
|
||||
else
|
||||
" If the popup is not visible, simple perform the normal
|
||||
" key behaviour.
|
||||
" Must use exec since they key must be preceeded by "\"
|
||||
" Must use exec since the key must be preceded by "\"
|
||||
" or feedkeys will simply push each character of the string
|
||||
" rather than the "key press".
|
||||
exec 'call feedkeys("\'.g:ftplugin_sql_omni_key_right.'", "n")'
|
||||
@ -634,7 +634,7 @@ function! sqlcomplete#DrillOutOfColumns()
|
||||
else
|
||||
" If the popup is not visible, simple perform the normal
|
||||
" key behaviour.
|
||||
" Must use exec since they key must be preceeded by "\"
|
||||
" Must use exec since the key must be preceded by "\"
|
||||
" or feedkeys will simply push each character of the string
|
||||
" rather than the "key press".
|
||||
exec 'call feedkeys("\'.g:ftplugin_sql_omni_key_left.'", "n")'
|
||||
@ -843,7 +843,7 @@ function! s:SQLCGetColumns(table_name, list_type)
|
||||
let curline = line(".")
|
||||
let curcol = col(".")
|
||||
|
||||
" Do not let searchs wrap
|
||||
" Do not let searches wrap
|
||||
setlocal nowrapscan
|
||||
" If . was entered, look at the word just before the .
|
||||
" We are looking for something like this:
|
||||
@ -863,7 +863,7 @@ function! s:SQLCGetColumns(table_name, list_type)
|
||||
" Search forward until one of the following:
|
||||
" 1. Another select/update/delete statement
|
||||
" 2. A ; at the end of a line (the delimiter)
|
||||
" 3. The end of the file (incase no delimiter)
|
||||
" 3. The end of the file (in case no delimiter)
|
||||
" Yank the visually selected text into the "y register.
|
||||
exec 'silent! normal! vl/\c\(\<select\>\|\<update\>\|\<delete\>\|;\s*$\|\%$\)'."\n".'"yy'
|
||||
|
||||
|
@ -778,7 +778,7 @@ fun! tar#Vimuntar(...)
|
||||
elseif executable("gzip")
|
||||
silent exe "!gzip -d ".shellescape(tartail)
|
||||
else
|
||||
echoerr "unable to decompress<".tartail."> on this sytem"
|
||||
echoerr "unable to decompress<".tartail."> on this system"
|
||||
if simplify(curdir) != simplify(tarhome)
|
||||
" remove decompressed tarball, restore directory
|
||||
" call Decho("delete(".tartail.".tar)")
|
||||
|
@ -693,7 +693,7 @@ func! tohtml#GetUserSettings() "{{{
|
||||
let user_settings = {}
|
||||
|
||||
" Define the correct option if the old option name exists and we haven't
|
||||
" already defined the correct one. Maybe I'll put out a warnig message about
|
||||
" already defined the correct one. Maybe I'll put out a warning message about
|
||||
" this sometime and remove the old option entirely at some even later time,
|
||||
" but for now just silently accept the old option.
|
||||
if exists('g:use_xhtml') && !exists("g:html_use_xhtml")
|
||||
|
@ -199,7 +199,7 @@ function! xmlcomplete#CompleteTags(findstart, base)
|
||||
" 1. Events attributes
|
||||
if context =~ '\s'
|
||||
|
||||
" If attr contains =\s*[\"'] we catched value of attribute
|
||||
" If attr contains =\s*[\"'] we catch value of attribute
|
||||
if attr =~ "=\s*[\"']" || attr =~ "=\s*$"
|
||||
" Let do attribute specific completion
|
||||
let attrname = matchstr(attr, '.*\ze\s*=')
|
||||
|
@ -81,7 +81,7 @@ fun! zip#Browse(zipfile)
|
||||
" sanity checks
|
||||
if !exists("*fnameescape")
|
||||
if &verbose > 1
|
||||
echoerr "the zip plugin is not available (your vim doens't support fnameescape())"
|
||||
echoerr "the zip plugin is not available (your vim doesn't support fnameescape())"
|
||||
endif
|
||||
return
|
||||
endif
|
||||
|
@ -12,6 +12,6 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
" NOTE: compiler must be runned with -vb to write whole source path, not only file
|
||||
" NOTE: compiler must be run with -vb to write whole source path, not only file
|
||||
" name.
|
||||
CompilerSet errorformat=%f(%l\\,%c)\ %m
|
||||
|
16
runtime/compiler/scdoc.vim
Normal file
16
runtime/compiler/scdoc.vim
Normal file
@ -0,0 +1,16 @@
|
||||
" scdoc compiler for Vim
|
||||
" Compiler: scdoc
|
||||
" Maintainer: Greg Anders <greg@gpanders.com>
|
||||
" Last Updated: 2019-10-24
|
||||
|
||||
if exists('current_compiler')
|
||||
finish
|
||||
endif
|
||||
let current_compiler = 'scdoc'
|
||||
|
||||
if exists(':CompilerSet') != 2
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=scdoc\ <\ %\ 2>&1
|
||||
CompilerSet errorformat=Error\ at\ %l:%c:\ %m,%-G%.%#
|
17
runtime/compiler/spectral.vim
Normal file
17
runtime/compiler/spectral.vim
Normal file
@ -0,0 +1,17 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Spectral for YAML
|
||||
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
||||
" Last Change: 2021 July 21
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "spectral"
|
||||
|
||||
if exists(":CompilerSet") != 2
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=spectral\ lint\ %\ -f\ text
|
||||
CompilerSet errorformat=%f:%l:%c\ %t%.%\\{-}\ %m
|
||||
|
@ -18,7 +18,7 @@ endif
|
||||
if exists('b:tex_ignore_makefile') || exists('g:tex_ignore_makefile') ||
|
||||
\(!filereadable('Makefile') && !filereadable('makefile'))
|
||||
" If buffer-local variable 'tex_flavor' exists, it defines TeX flavor,
|
||||
" otherwize the same for global variable with same name, else it will be
|
||||
" otherwise the same for global variable with same name, else it will be
|
||||
" LaTeX
|
||||
if exists("b:tex_flavor")
|
||||
let current_compiler = b:tex_flavor
|
||||
|
16
runtime/compiler/yamllint.vim
Normal file
16
runtime/compiler/yamllint.vim
Normal file
@ -0,0 +1,16 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Yamllint for YAML
|
||||
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
||||
" Last Change: 2021 July 21
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "yamllint"
|
||||
|
||||
if exists(":CompilerSet") != 2
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=yamllint\ -f\ parsable
|
||||
|
@ -1,4 +1,4 @@
|
||||
*arabic.txt* For Vim version 8.2. Last change: 2019 May 05
|
||||
*arabic.txt* For Vim version 8.2. Last change: 2021 Jun 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Nadim Shaikli
|
||||
@ -176,6 +176,13 @@ o Enable Arabic settings [short-cut]
|
||||
and its support is preferred due to its level of offerings.
|
||||
'arabic' when 'termbidi' is enabled only sets the keymap.
|
||||
|
||||
For vertical window isolation while setting 'termbidi' an LTR
|
||||
vertical separator like "l" or "𝖨" may be used. It may also be
|
||||
hidden by changing its color to the foreground color: >
|
||||
:set fillchars=vert:l
|
||||
:hi VertSplit ctermbg=White
|
||||
< Note that this is a workaround, not a proper solution.
|
||||
|
||||
If, on the other hand, you'd like to be verbose and explicit and
|
||||
are opting not to use the 'arabic' short-cut command, here's what
|
||||
is needed (i.e. if you use ':set arabic' you can skip this section) -
|
||||
|
@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 8.2. Last change: 2021 May 29
|
||||
*autocmd.txt* For Vim version 8.2. Last change: 2021 Oct 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -54,7 +54,7 @@ effects. Be careful not to destroy your text.
|
||||
:au[tocmd] [group] {event} {pat} [++once] [++nested] {cmd}
|
||||
Add {cmd} to the list of commands that Vim will
|
||||
execute automatically on {event} for a file matching
|
||||
{pat} |autocmd-patterns|.
|
||||
{pat} |autocmd-patterns|.
|
||||
Here {event} cannot be "*". *E1155*
|
||||
Note: A quote character is seen as argument to the
|
||||
:autocmd and won't start a comment.
|
||||
@ -76,6 +76,12 @@ and in a `:def` function) then {cmd} will be executed as in Vim9
|
||||
script. Thus this depends on where the autocmd is defined, not where it is
|
||||
triggered.
|
||||
|
||||
{cmd} can be a block, like with `:command`, see |:command-repl|. Example: >
|
||||
au BufReadPost *.xml {
|
||||
setlocal matchpairs+=<:>
|
||||
/<start
|
||||
}
|
||||
|
||||
Note: The ":autocmd" command can only be followed by another command when the
|
||||
'|' appears before {cmd}. This works: >
|
||||
:augroup mine | au! BufRead | augroup END
|
||||
@ -360,6 +366,8 @@ Name triggered by ~
|
||||
|InsertCharPre| when a character was typed in Insert mode, before
|
||||
inserting it
|
||||
|
||||
|ModeChanged| after changing the mode
|
||||
|
||||
|TextChanged| after a change was made to the text in Normal mode
|
||||
|TextChangedI| after a change was made to the text in Insert mode
|
||||
when popup menu is not visible
|
||||
@ -679,8 +687,11 @@ CursorHoldI Just like CursorHold, but in Insert mode.
|
||||
CursorMoved After the cursor was moved in Normal or Visual
|
||||
mode. Also when the text of the cursor line
|
||||
has been changed, e.g., with "x", "rx" or "p".
|
||||
Not triggered when there is typeahead or when
|
||||
an operator is pending.
|
||||
Not triggered when there is typeahead, while
|
||||
executing commands in a script file, when
|
||||
an operator is pending or when moving to
|
||||
another window while remaining at the same
|
||||
cursor position.
|
||||
For an example see |match-parens|.
|
||||
Note: This can not be skipped with
|
||||
`:noautocmd`.
|
||||
@ -697,7 +708,7 @@ EncodingChanged Fires off after the 'encoding' option has been
|
||||
*FileAppendCmd*
|
||||
FileAppendCmd Before appending to a file. Should do the
|
||||
appending to the file. Use the '[ and ']
|
||||
marks for the range of lines.|Cmd-event|
|
||||
marks for the range of lines. |Cmd-event|
|
||||
*FileAppendPost*
|
||||
FileAppendPost After appending to a file.
|
||||
*FileAppendPre*
|
||||
@ -825,7 +836,7 @@ FilterReadPre Before reading a file from a filter command.
|
||||
*FilterWritePost*
|
||||
FilterWritePost After writing a file for a filter command or
|
||||
making a diff with an external diff (see
|
||||
DiffUpdated for internal diff).
|
||||
|DiffUpdated| for internal diff).
|
||||
Vim checks the pattern against the name of
|
||||
the current buffer as with FilterWritePre.
|
||||
Not triggered when 'shelltemp' is off.
|
||||
@ -916,7 +927,22 @@ MenuPopup Just before showing the popup menu (under the
|
||||
i Insert
|
||||
c Command line
|
||||
tl Terminal
|
||||
*OptionSet*
|
||||
*ModeChanged*
|
||||
ModeChanged After changing the mode. The pattern is
|
||||
matched against `'old_mode:new_mode'`, for
|
||||
example match against `i:*` to simulate
|
||||
|InsertLeave|.
|
||||
The following values of |v:event| are set:
|
||||
old_mode The mode before it changed.
|
||||
new_mode The new mode as also returned
|
||||
by |mode()|.
|
||||
When ModeChanged is triggered, old_mode will
|
||||
have the value of new_mode when the event was
|
||||
last triggered.
|
||||
Usage example to use relative line numbers
|
||||
when entering Visual mode: >
|
||||
:autocmd ModeChanged *:v set relativenumber
|
||||
< *OptionSet*
|
||||
OptionSet After setting an option. The pattern is
|
||||
matched against the long option name.
|
||||
|<amatch>| indicates what option has been set.
|
||||
@ -1169,9 +1195,9 @@ TextYankPost After text has been yanked or deleted in the
|
||||
register, as a list of lines,
|
||||
like with: >
|
||||
getreg(r, 1, 1)
|
||||
< regname Name of the |register| or
|
||||
empty string for the unnamed
|
||||
register.
|
||||
< regname Name of the register or empty
|
||||
string for the unnamed
|
||||
register, see |registers|.
|
||||
regtype Type of the register, see
|
||||
|getregtype()|.
|
||||
visual True if the operation is
|
||||
@ -1476,6 +1502,13 @@ Example: >
|
||||
This prevents having the autocommands defined twice (e.g., after sourcing the
|
||||
.vimrc file again).
|
||||
|
||||
*FileExplorer*
|
||||
There is one group that is recognized by Vim: FileExplorer. If this group
|
||||
exists Vim assumes that editing a directory is possible and will trigger a
|
||||
plugin that lists the files in that directory. This is used by the |netrw|
|
||||
plugin. This allows you to do: >
|
||||
browse edit
|
||||
|
||||
==============================================================================
|
||||
9. Executing autocommands *autocmd-execute*
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 8.2. Last change: 2021 Mar 01
|
||||
*change.txt* For Vim version 8.2. Last change: 2021 Jun 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -780,12 +780,15 @@ For compatibility with Vi these two exceptions are allowed:
|
||||
"\/{string}/" and "\?{string}?" do the same as "//{string}/r".
|
||||
"\&{string}&" does the same as "//{string}/".
|
||||
*pattern-delimiter* *E146*
|
||||
Instead of the '/' which surrounds the pattern and replacement string, you
|
||||
can use any other single-byte character, but not an alphanumeric character,
|
||||
'\', '"' or '|'. This is useful if you want to include a '/' in the search
|
||||
pattern or replacement string. Example: >
|
||||
Instead of the '/' which surrounds the pattern and replacement string, you can
|
||||
use another single-byte character. This is useful if you want to include a
|
||||
'/' in the search pattern or replacement string. Example: >
|
||||
:s+/+//+
|
||||
|
||||
You can use most characters, but not an alphanumeric character, '\', '"' or
|
||||
'|'. In Vim9 script you should not use '#' because it may be recognized as
|
||||
the start of a comment.
|
||||
|
||||
For the definition of a pattern, see |pattern|. In Visual block mode, use
|
||||
|/\%V| in the pattern to have the substitute work in the block only.
|
||||
Otherwise it works on whole lines anyway.
|
||||
@ -1181,9 +1184,6 @@ a register, a paste on a visual selected area will paste that single line on
|
||||
each of the selected lines (thus replacing the blockwise selected region by a
|
||||
block of the pasted line).
|
||||
|
||||
Use |zP|/|zp| to paste a blockwise yanked register without appending trailing
|
||||
spaces.
|
||||
|
||||
*blockwise-register*
|
||||
If you use a blockwise Visual mode command to get the text into the register,
|
||||
the block of text will be inserted before ("P") or after ("p") the cursor
|
||||
@ -1194,6 +1194,9 @@ this happen. However, if the width of the block is not a multiple of a <Tab>
|
||||
width and the text after the inserted block contains <Tab>s, that text may be
|
||||
misaligned.
|
||||
|
||||
Use |zP|/|zp| to paste a blockwise yanked register without appending trailing
|
||||
spaces.
|
||||
|
||||
Note that after a characterwise yank command, Vim leaves the cursor on the
|
||||
first yanked character that is closest to the start of the buffer. This means
|
||||
that "yl" doesn't move the cursor, but "yh" moves the cursor one character
|
||||
|
@ -536,7 +536,7 @@ ch_evalraw({handle}, {string} [, {options}]) *ch_evalraw()*
|
||||
GetChannel()->ch_evalraw(rawstring)
|
||||
|
||||
ch_getbufnr({handle}, {what}) *ch_getbufnr()*
|
||||
Get the buffer number that {handle} is using for {what}.
|
||||
Get the buffer number that {handle} is using for String {what}.
|
||||
{handle} can be a Channel or a Job that has a Channel.
|
||||
{what} can be "err" for stderr, "out" for stdout or empty for
|
||||
socket output.
|
||||
@ -586,8 +586,8 @@ ch_info({handle}) *ch_info()*
|
||||
|
||||
|
||||
ch_log({msg} [, {handle}]) *ch_log()*
|
||||
Write {msg} in the channel log file, if it was opened with
|
||||
|ch_logfile()|.
|
||||
Write String {msg} in the channel log file, if it was opened
|
||||
with |ch_logfile()|.
|
||||
When {handle} is passed the channel number is used for the
|
||||
message.
|
||||
{handle} can be a Channel or a Job that has a Channel. The
|
||||
@ -625,7 +625,7 @@ ch_open({address} [, {options}]) *ch_open()*
|
||||
Open a channel to {address}. See |channel|.
|
||||
Returns a Channel. Use |ch_status()| to check for failure.
|
||||
|
||||
{address} has the form "hostname:port", e.g.,
|
||||
{address} is a String and has the form "hostname:port", e.g.,
|
||||
"localhost:8765".
|
||||
|
||||
When using an IPv6 address, enclose it within square brackets.
|
||||
@ -852,7 +852,7 @@ available.
|
||||
job_getchannel({job}) *job_getchannel()*
|
||||
Get the channel handle that {job} is using.
|
||||
To check if the job has no channel: >
|
||||
if string(job_getchannel()) == 'channel fail'
|
||||
if string(job_getchannel(job)) == 'channel fail'
|
||||
<
|
||||
Can also be used as a |method|: >
|
||||
GetJob()->job_getchannel()
|
||||
|
@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 8.2. Last change: 2021 May 30
|
||||
*cmdline.txt* For Vim version 8.2. Last change: 2021 Aug 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -170,7 +170,12 @@ CTRL-R {register} *c_CTRL-R* *c_<C-R>*
|
||||
too.
|
||||
When the result is a Float it's automatically
|
||||
converted to a String.
|
||||
See |registers| about registers.
|
||||
Note that when you only want to move the
|
||||
cursor and not insert anything, you must make
|
||||
sure the expression evaluates to an empty
|
||||
string. E.g.: >
|
||||
<C-R><C-R>=setcmdpos(2)[-1]<CR>
|
||||
< See |registers| about registers.
|
||||
Implementation detail: When using the |expression| register
|
||||
and invoking setcmdpos(), this sets the position before
|
||||
inserting the resulting string. Use CTRL-R CTRL-R to set the
|
||||
@ -798,7 +803,7 @@ three lines: >
|
||||
3:d<CR> is translated into: .,.+2d<CR>
|
||||
<
|
||||
|
||||
Visual Mode and Range
|
||||
Visual Mode and Range
|
||||
*v_:*
|
||||
{Visual}: Starts a command-line with the Visual selected lines as a
|
||||
range. The code `:'<,'>` is used for this range, which makes
|
||||
|
@ -1,4 +1,4 @@
|
||||
*digraph.txt* For Vim version 8.2. Last change: 2020 Jul 16
|
||||
*digraph.txt* For Vim version 8.2. Last change: 2021 Jul 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -38,6 +38,9 @@ An alternative is using the 'keymap' option.
|
||||
< Avoid defining a digraph with '_' (underscore) as the
|
||||
first character, it has a special meaning in the
|
||||
future.
|
||||
NOTE: This command cannot add a digraph that starts
|
||||
with a white space. If you want to add such digraph,
|
||||
you can use |digraph_set()| instead.
|
||||
|
||||
Vim is normally compiled with the |+digraphs| feature. If the feature is
|
||||
disabled, the ":digraph" command will display an error message.
|
||||
@ -348,8 +351,8 @@ $ DO 0x24 36 DOLLAR SIGN
|
||||
þ th 0xfe 254 LATIN SMALL LETTER THORN (Icelandic)
|
||||
ÿ y: 0xff 255 LATIN SMALL LETTER Y WITH DIAERESIS
|
||||
|
||||
If your Vim is compiled with |multibyte| support and you are using a multibyte
|
||||
'encoding', Vim provides this enhanced set of additional digraphs:
|
||||
If you are using a |multibyte| 'encoding', Vim provides this enhanced set of
|
||||
additional digraphs:
|
||||
|
||||
*digraph-table-mbyte*
|
||||
char digraph hex dec official name ~
|
||||
|
@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 8.2. Last change: 2021 May 27
|
||||
*editing.txt* For Vim version 8.2. Last change: 2021 Oct 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -1225,7 +1225,9 @@ If you want to always use ":confirm", set the 'confirm' option.
|
||||
|:diffsplit|, |:diffpatch|, |:open|, |:pedit|,
|
||||
|:redir|, |:source|, |:update|, |:visual|, |:vsplit|,
|
||||
and |:qall| if 'confirm' is set.
|
||||
{only in Win32, Athena, Motif, GTK and Mac GUI}
|
||||
{only in Win32, Athena, Motif, GTK and Mac GUI, in
|
||||
console `browse edit` works if the FileExplorer
|
||||
autocommand group exists}
|
||||
When ":browse" is not possible you get an error
|
||||
message. If the |+browse| feature is missing or the
|
||||
{command} doesn't support browsing, the {command} is
|
||||
@ -1327,26 +1329,26 @@ present in 'cpoptions' and "!" is not used in the command.
|
||||
other tabs and for windows in the current tab that
|
||||
have their own window-local directory.
|
||||
|
||||
*:tch* *:tchdir*
|
||||
:tch[dir][!] Same as |:tcd|.
|
||||
|
||||
*:tcd-*
|
||||
:tc[d][!] - Change to the previous current directory, before the
|
||||
last ":tcd {path}" command.
|
||||
|
||||
*:tch* *:tchdir*
|
||||
:tch[dir][!] Same as |:tcd|.
|
||||
|
||||
*:lc* *:lcd*
|
||||
:lc[d][!] {path} Like |:cd|, but only set the current directory when
|
||||
the cursor is in the current window. The current
|
||||
directory for other windows is not changed, switching
|
||||
to another window will stop using {path}.
|
||||
|
||||
*:lch* *:lchdir*
|
||||
:lch[dir][!] Same as |:lcd|.
|
||||
|
||||
*:lcd-*
|
||||
:lcd[!] - Change to the previous current directory, before the
|
||||
last ":lcd {path}" command.
|
||||
|
||||
*:lch* *:lchdir*
|
||||
:lch[dir][!] Same as |:lcd|.
|
||||
|
||||
*:pw* *:pwd* *E187*
|
||||
:pw[d] Print the current directory name.
|
||||
Also see |getcwd()|.
|
||||
@ -1373,14 +1375,14 @@ change anything for the current directory.
|
||||
When a |:lcd| command has been used for a window, the specified directory
|
||||
becomes the current directory for that window. Windows where the |:lcd|
|
||||
command has not been used stick to the global or tab-local current directory.
|
||||
When jumping to another window the current directory will become the last
|
||||
When jumping to another window the current directory is changed to the last
|
||||
specified local current directory. If none was specified, the global or
|
||||
tab-local current directory is used.
|
||||
|
||||
When a |:tcd| command has been used for a tab page, the specified directory
|
||||
becomes the current directory for the current tab page and the current window.
|
||||
The current directory of other tab pages is not affected. When jumping to
|
||||
another tab page, the current directory will become the last specified local
|
||||
another tab page, the current directory is changed to the last specified local
|
||||
directory for that tab page. If the current tab has no local current directory
|
||||
the global current directory is used.
|
||||
|
||||
@ -1469,8 +1471,11 @@ be readable again. If you use a wrong key, it will be a mess.
|
||||
:X Prompt for an encryption key. The typing is done without showing the
|
||||
actual text, so that someone looking at the display won't see it.
|
||||
The typed key is stored in the 'key' option, which is used to encrypt
|
||||
the file when it is written. The file will remain unchanged until you
|
||||
write it. See also |-x|.
|
||||
the file when it is written.
|
||||
The file will remain unchanged until you write it. Note that commands
|
||||
such as `:xit` and `ZZ` will NOT write the file unless there are other
|
||||
changes.
|
||||
See also |-x|.
|
||||
|
||||
The value of the 'key' options is used when text is written. When the option
|
||||
is not empty, the written file will be encrypted, using the value as the
|
||||
@ -1671,6 +1676,11 @@ It is also possible that you modified the file yourself, from another edit
|
||||
session or with another command (e.g., a filter command). Then you will know
|
||||
which version of the file you want to keep.
|
||||
|
||||
The accuracy of the time check depends on the filesystem. On Unix it is
|
||||
usually sub-second. With old file sytems and on MS-Windows it is normally one
|
||||
second. Use has('nanotime') check if sub-second time stamp checks are
|
||||
available.
|
||||
|
||||
There is one situation where you get the message while there is nothing wrong:
|
||||
On a Win32 system on the day daylight saving time starts. There is something
|
||||
in the Win32 libraries that confuses Vim about the hour time difference. The
|
||||
@ -1749,6 +1759,12 @@ There are three different types of searching:
|
||||
/u/user_x/work/include
|
||||
/u/user_x/include
|
||||
|
||||
< Note: If your 'path' setting includes an non-existing directory, Vim will
|
||||
skip the non-existing directory, but continues searching in the parent of
|
||||
the non-existing directory if upwards searching is used. E.g. when
|
||||
searching "../include" and that doesn't exist, and upward searching is
|
||||
used, also searches in "..".
|
||||
|
||||
3) Combined up/downward search:
|
||||
If Vim's current path is /u/user_x/work/release and you do >
|
||||
set path=**;/u/user_x
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
*filetype.txt* For Vim version 8.2. Last change: 2021 Mar 11
|
||||
*filetype.txt* For Vim version 8.2. Last change: 2021 Sep 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -146,6 +146,7 @@ can be used to overrule the filetype used for certain extensions:
|
||||
*.inc g:filetype_inc
|
||||
*.w g:filetype_w |ft-cweb-syntax|
|
||||
*.i g:filetype_i |ft-progress-syntax|
|
||||
*.m g:filetype_m |ft-mathematica-syntax|
|
||||
*.p g:filetype_p |ft-pascal-syntax|
|
||||
*.pp g:filetype_pp |ft-pascal-syntax|
|
||||
*.sh g:bash_is_sh |ft-sh-syntax|
|
||||
@ -544,6 +545,14 @@ One command, :DiffGitCached, is provided to show a diff of the current commit
|
||||
in the preview window. It is equivalent to calling "git diff --cached" plus
|
||||
any arguments given to the command.
|
||||
|
||||
GPROF *ft-gprof-plugin*
|
||||
|
||||
The gprof filetype plugin defines a mapping <C-]> to jump from a function
|
||||
entry in the gprof flat profile or from a function entry in the call graph
|
||||
to the details of that function in the call graph.
|
||||
|
||||
The mapping can be disabled with: >
|
||||
let g:no_gprof_maps = 1
|
||||
|
||||
MAIL *ft-mail-plugin*
|
||||
|
||||
@ -632,7 +641,7 @@ For fish, add to the config file
|
||||
MARKDOWN *ft-markdown-plugin*
|
||||
|
||||
To enable folding use this: >
|
||||
let g:markdown_folding = 1
|
||||
let g:markdown_folding = 1
|
||||
<
|
||||
|
||||
PDF *ft-pdf-plugin*
|
||||
|
@ -1,4 +1,4 @@
|
||||
*fold.txt* For Vim version 8.2. Last change: 2019 Jun 02
|
||||
*fold.txt* For Vim version 8.2. Last change: 2021 Jul 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -541,6 +541,8 @@ nest, the nested fold is one character right of the fold it's contained in.
|
||||
|
||||
A closed fold is indicated with a '+'.
|
||||
|
||||
These characters can be changed with the 'fillchars' option.
|
||||
|
||||
Where the fold column is too narrow to display all nested folds, digits are
|
||||
shown to indicate the nesting level.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*ps1.txt* A Windows PowerShell syntax plugin for Vim
|
||||
*ft_ps1.txt* A Windows PowerShell syntax plugin for Vim
|
||||
|
||||
Author: Peter Provost <https://www.github.com/PProvost>
|
||||
License: Apache 2.0
|
||||
|
@ -1,4 +1,4 @@
|
||||
*vim-raku.txt* The Raku programming language filetype
|
||||
*ft_raku.txt* The Raku programming language filetype
|
||||
|
||||
*vim-raku*
|
||||
|
||||
@ -45,7 +45,7 @@ Numbers, subscripts and superscripts are available with 's' and 'S':
|
||||
1s ₁ 1S ¹ ~
|
||||
2s ₂ 9S ⁹ ~
|
||||
|
||||
But some don´t come defined by default. Those are digraph definitions you can
|
||||
But some don't come defined by default. Those are digraph definitions you can
|
||||
add in your ~/.vimrc file. >
|
||||
exec 'digraph \\ '.char2nr('∖')
|
||||
exec 'digraph \< '.char2nr('≼')
|
||||
|
@ -1,4 +1,4 @@
|
||||
*gui.txt* For Vim version 8.2. Last change: 2021 May 01
|
||||
*gui.txt* For Vim version 8.2. Last change: 2021 Jun 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -411,7 +411,8 @@ Mouse mapping with modifiers does not work for modeless selection.
|
||||
3.7 Drag and drop *drag-n-drop*
|
||||
|
||||
You can drag and drop one or more files into the Vim window, where they will
|
||||
be opened as if a |:drop| command was used.
|
||||
be opened as if a |:drop| command was used. You can check if this is
|
||||
supported with the *drop_file* feature: `has('drop_file')`.
|
||||
|
||||
If you hold down Shift while doing this, Vim changes to the first dropped
|
||||
file's directory. If you hold Ctrl Vim will always split a new window for the
|
||||
|
@ -88,6 +88,7 @@ Tuning Vim ~
|
||||
|usr_43.txt| Using filetypes
|
||||
|usr_44.txt| Your own syntax highlighted
|
||||
|usr_45.txt| Select your language
|
||||
|usr_46.txt| Write plugins using Vim9 script
|
||||
|
||||
Making Vim Run ~
|
||||
|usr_90.txt| Installing Vim
|
||||
@ -132,7 +133,7 @@ Advanced editing ~
|
||||
|windows.txt| commands for using multiple windows and buffers
|
||||
|tabpage.txt| commands for using multiple tab pages
|
||||
|spell.txt| spell checking
|
||||
|diff.txt| working with two to four versions of the same file
|
||||
|diff.txt| working with two to eight versions of the same file
|
||||
|autocmd.txt| automatically executing commands on an event
|
||||
|eval.txt| expression evaluation, conditional commands
|
||||
|channel.txt| Jobs, Channels, inter-process communication
|
||||
@ -145,6 +146,7 @@ Special issues ~
|
||||
|term.txt| using different terminals and mice
|
||||
|terminal.txt| Terminal window support
|
||||
|popup.txt| popup window support
|
||||
|vim9.txt| using Vim9 script
|
||||
|
||||
Programming language support ~
|
||||
|indent.txt| automatic indenting for C and other languages
|
||||
@ -153,6 +155,8 @@ Programming language support ~
|
||||
|filetype.txt| settings done specifically for a type of file
|
||||
|quickfix.txt| commands for a quick edit-compile-fix cycle
|
||||
|ft_ada.txt| Ada (the programming language) support
|
||||
|ft_ps1.txt| Filetype plugin for Windows PowerShell
|
||||
|ft_raku.txt| Filetype plugin for Raku
|
||||
|ft_rust.txt| Filetype plugin for Rust
|
||||
|ft_sql.txt| about the SQL filetype plugin
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*if_lua.txt* For Vim version 8.2. Last change: 2021 Apr 07
|
||||
*if_lua.txt* For Vim version 8.2. Last change: 2021 Aug 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Luis Carvalho
|
||||
@ -175,10 +175,17 @@ Vim evaluation and command execution, and others.
|
||||
:lua print(type(l), vim.type(l))
|
||||
:" list
|
||||
<
|
||||
vim.command({cmd}) Executes the vim (ex-mode) command {cmd}.
|
||||
vim.command({cmds}) Executes one or more lines of Ex-mode commands
|
||||
in {cmds}.
|
||||
Examples: >
|
||||
:lua vim.command"set tw=60"
|
||||
:lua vim.command"normal ddp"
|
||||
lua << trim END
|
||||
vim.command([[
|
||||
new Myfile.js
|
||||
call search('start')
|
||||
]])
|
||||
END
|
||||
<
|
||||
vim.eval({expr}) Evaluates expression {expr} (see |expression|),
|
||||
converts the result to Lua, and returns it.
|
||||
@ -211,6 +218,44 @@ Vim evaluation and command execution, and others.
|
||||
vim.lua_version The Lua version Vim was compiled with, in the
|
||||
form {major}.{minor}.{patch}, e.g. "5.1.4".
|
||||
|
||||
vim.version() Returns a Lua table with the Vim version.
|
||||
The table will have the following keys:
|
||||
major - major Vim version.
|
||||
minor - minor Vim version.
|
||||
patch - latest patch included.
|
||||
|
||||
*lua-vim-variables*
|
||||
The Vim editor global dictionaries |g:| |w:| |b:| |t:| |v:| can be accessed
|
||||
from Lua conveniently and idiomatically by referencing the `vim.*` Lua tables
|
||||
described below. In this way you can easily read and modify global Vim script
|
||||
variables from Lua.
|
||||
|
||||
Example: >
|
||||
|
||||
vim.g.foo = 5 -- Set the g:foo Vim script variable.
|
||||
print(vim.g.foo) -- Get and print the g:foo Vim script variable.
|
||||
vim.g.foo = nil -- Delete (:unlet) the Vim script variable.
|
||||
|
||||
vim.g *vim.g*
|
||||
Global (|g:|) editor variables.
|
||||
Key with no value returns `nil`.
|
||||
|
||||
vim.b *vim.b*
|
||||
Buffer-scoped (|b:|) variables for the current buffer.
|
||||
Invalid or unset key returns `nil`.
|
||||
|
||||
vim.w *vim.w*
|
||||
Window-scoped (|w:|) variables for the current window.
|
||||
Invalid or unset key returns `nil`.
|
||||
|
||||
vim.t *vim.t*
|
||||
Tabpage-scoped (|t:|) variables for the current tabpage.
|
||||
Invalid or unset key returns `nil`.
|
||||
|
||||
vim.v *vim.v*
|
||||
|v:| variables.
|
||||
Invalid or unset key returns `nil`.
|
||||
|
||||
==============================================================================
|
||||
3. List userdata *lua-list*
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 8.2. Last change: 2021 May 27
|
||||
*index.txt* For Vim version 8.2. Last change: 2021 Aug 31
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -168,6 +168,7 @@ commands in CTRL-X submode *i_CTRL-X_index*
|
||||
|i_CTRL-X_CTRL-Y| CTRL-X CTRL-Y scroll down
|
||||
|i_CTRL-X_CTRL-U| CTRL-X CTRL-U complete with 'completefunc'
|
||||
|i_CTRL-X_CTRL-V| CTRL-X CTRL-V complete like in : command line
|
||||
|i_CTRL-X_CTRL-Z| CTRL-X CTRL-Z stop completion, keeping the text as-is
|
||||
|i_CTRL-X_CTRL-]| CTRL-X CTRL-] complete tags
|
||||
|i_CTRL-X_s| CTRL-X s spelling suggestions
|
||||
|
||||
@ -1312,6 +1313,7 @@ tag command action ~
|
||||
|:endtry| :endt[ry] end previous :try
|
||||
|:endwhile| :endw[hile] end previous :while
|
||||
|:enew| :ene[w] edit a new, unnamed buffer
|
||||
|:eval| :ev[al] evaluate an expression and discard the result
|
||||
|:ex| :ex same as ":edit"
|
||||
|:execute| :exe[cute] execute result of expressions
|
||||
|:exit| :exi[t] same as ":xit"
|
||||
|
@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 8.2. Last change: 2020 Oct 16
|
||||
*insert.txt* For Vim version 8.2. Last change: 2021 Aug 31
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -640,6 +640,8 @@ Completion can be done for:
|
||||
12. Spelling suggestions |i_CTRL-X_s|
|
||||
13. keywords in 'complete' |i_CTRL-N| |i_CTRL-P|
|
||||
|
||||
Additionally, |i_CTRL-X_CTRL-Z| stops completion without changing the text.
|
||||
|
||||
All these, except CTRL-N and CTRL-P, are done in CTRL-X mode. This is a
|
||||
sub-mode of Insert and Replace modes. You enter CTRL-X mode by typing CTRL-X
|
||||
and one of the CTRL-X commands. You exit CTRL-X mode by typing a key that is
|
||||
@ -822,6 +824,9 @@ CTRL-X CTRL-K Search the files given with the 'dictionary' option
|
||||
CTRL-P Search backwards for next matching keyword. This
|
||||
keyword replaces the previous matching keyword.
|
||||
|
||||
|
||||
Completing words in 'thesaurus' *compl-thesaurus*
|
||||
|
||||
*i_CTRL-X_CTRL-T*
|
||||
CTRL-X CTRL-T Works as CTRL-X CTRL-K, but in a special way. It uses
|
||||
the 'thesaurus' option instead of 'dictionary'. If a
|
||||
@ -830,16 +835,6 @@ CTRL-X CTRL-T Works as CTRL-X CTRL-K, but in a special way. It uses
|
||||
matches, even though they don't complete the word.
|
||||
Thus a word can be completely replaced.
|
||||
|
||||
For an example, imagine the 'thesaurus' file has a
|
||||
line like this: >
|
||||
angry furious mad enraged
|
||||
< Placing the cursor after the letters "ang" and typing
|
||||
CTRL-X CTRL-T would complete the word "angry";
|
||||
subsequent presses would change the word to "furious",
|
||||
"mad" etc.
|
||||
Other uses include translation between two languages,
|
||||
or grouping API functions by keyword.
|
||||
|
||||
CTRL-T or
|
||||
CTRL-N Search forward for next matching keyword. This
|
||||
keyword replaces the previous matching keyword.
|
||||
@ -847,6 +842,61 @@ CTRL-X CTRL-T Works as CTRL-X CTRL-K, but in a special way. It uses
|
||||
CTRL-P Search backwards for next matching keyword. This
|
||||
keyword replaces the previous matching keyword.
|
||||
|
||||
In the file used by the 'thesaurus' option each line in the file should
|
||||
contain words with similar meaning, separated by non-keyword characters (white
|
||||
space is preferred). Maximum line length is 510 bytes.
|
||||
|
||||
For an example, imagine the 'thesaurus' file has a line like this: >
|
||||
angry furious mad enraged
|
||||
<Placing the cursor after the letters "ang" and typing CTRL-X CTRL-T would
|
||||
complete the word "angry"; subsequent presses would change the word to
|
||||
"furious", "mad" etc.
|
||||
|
||||
Other uses include translation between two languages, or grouping API
|
||||
functions by keyword.
|
||||
|
||||
An English word list was added to this github issue:
|
||||
https://github.com/vim/vim/issues/629#issuecomment-443293282
|
||||
Unpack thesaurus_pkg.zip, put the thesaurus.txt file somewhere, e.g.
|
||||
~/.vim/thesaurus/english.txt, and the 'thesaurus' option to this file name.
|
||||
|
||||
|
||||
Completing keywords with 'thesaurusfunc' *compl-thesaurusfunc*
|
||||
|
||||
If the 'thesaurusfunc' option is set, then the user specified function is
|
||||
invoked to get the list of completion matches and the 'thesaurus' option is
|
||||
not used. See |complete-functions| for an explanation of how the function is
|
||||
invoked and what it should return.
|
||||
|
||||
Here is an example that uses the "aiksaurus" command (provided by Magnus
|
||||
Groß): >
|
||||
|
||||
func Thesaur(findstart, base)
|
||||
if a:findstart
|
||||
let line = getline('.')
|
||||
let start = col('.') - 1
|
||||
while start > 0 && line[start - 1] =~ '\a'
|
||||
let start -= 1
|
||||
endwhile
|
||||
return start
|
||||
else
|
||||
let res = []
|
||||
let h = ''
|
||||
for l in split(system('aiksaurus '.shellescape(a:base)), '\n')
|
||||
if l[:3] == '=== '
|
||||
let h = substitute(l[4:], ' =*$', '', '')
|
||||
elseif l[0] =~ '\a'
|
||||
call extend(res, map(split(l, ', '), {_, val -> {'word': val, 'menu': '('.h.')'}}))
|
||||
endif
|
||||
endfor
|
||||
return res
|
||||
endif
|
||||
endfunc
|
||||
|
||||
if has('patch-8.2.3520')
|
||||
set thesaurusfunc=Thesaur
|
||||
endif
|
||||
|
||||
|
||||
Completing keywords in the current and included files *compl-keyword*
|
||||
|
||||
@ -1042,9 +1092,15 @@ CTRL-P Find previous match for words that start with the
|
||||
other contexts unless a double CTRL-X is used.
|
||||
|
||||
|
||||
Stop completion *compl-stop*
|
||||
|
||||
*i_CTRL-X_CTRL-Z*
|
||||
CTRL-X CTRL-Z Stop completion without changing the text.
|
||||
|
||||
|
||||
FUNCTIONS FOR FINDING COMPLETIONS *complete-functions*
|
||||
|
||||
This applies to 'completefunc' and 'omnifunc'.
|
||||
This applies to 'completefunc', 'thesaurusfunc' and 'omnifunc'.
|
||||
|
||||
The function is called in two different ways:
|
||||
- First the function is called to find the start of the text to be completed.
|
||||
@ -1073,7 +1129,8 @@ On the second invocation the arguments are:
|
||||
|
||||
The function must return a List with the matching words. These matches
|
||||
usually include the "a:base" text. When there are no matches return an empty
|
||||
List.
|
||||
List. Note that the cursor may have moved since the first invocation, the
|
||||
text may have been changed.
|
||||
|
||||
In order to return more information than the matching words, return a Dict
|
||||
that contains the List. The Dict can have these items:
|
||||
@ -1193,7 +1250,7 @@ match to the total list. These matches should then not appear in the returned
|
||||
list! Call |complete_check()| now and then to allow the user to press a key
|
||||
while still searching for matches. Stop searching when it returns non-zero.
|
||||
|
||||
*E839* *E840*
|
||||
*E840*
|
||||
The function is allowed to move the cursor, it is restored afterwards.
|
||||
The function is not allowed to move to another window or delete text.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*intro.txt* For Vim version 8.2. Last change: 2020 Dec 29
|
||||
*intro.txt* For Vim version 8.2. Last change: 2021 Sep 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -421,7 +421,6 @@ notation meaning equivalent decimal value(s) ~
|
||||
<Tab> tab CTRL-I 9 *tab* *Tab*
|
||||
*linefeed*
|
||||
<NL> linefeed CTRL-J 10 (used for <Nul>)
|
||||
<FF> formfeed CTRL-L 12 *formfeed*
|
||||
<CR> carriage return CTRL-M 13 *carriage-return*
|
||||
<Return> same as <CR> *<Return>*
|
||||
<Enter> same as <CR> *<Enter>*
|
||||
|
@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 8.2. Last change: 2021 May 16
|
||||
*map.txt* For Vim version 8.2. Last change: 2021 Sep 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -1368,6 +1368,10 @@ See |:verbose-cmd| for more information.
|
||||
:delc[ommand] {cmd} *:delc* *:delcommand* *E184*
|
||||
Delete the user-defined command {cmd}.
|
||||
|
||||
:delc[ommand] -buffer {cmd} *E1237*
|
||||
Delete the user-defined command {cmd} that was defined
|
||||
for the current buffer.
|
||||
|
||||
:comc[lear] *:comc* *:comclear*
|
||||
Delete all user-defined commands.
|
||||
|
||||
@ -1571,6 +1575,20 @@ feature. Use the full name for new scripts.
|
||||
|
||||
|
||||
Replacement text ~
|
||||
*:command-repl*
|
||||
The {repl} argument is normally one long string, possibly with "|" separated
|
||||
commands. A special case is when the argument is "{", then the following
|
||||
lines, up to a line starting with "}" are used and |Vim9| syntax applies.
|
||||
Example: >
|
||||
:command MyCommand {
|
||||
echo 'hello'
|
||||
g:calledMyCommand = true
|
||||
}
|
||||
< *E1231*
|
||||
There must be white space before the "{". No nesting is supported, inline
|
||||
functions cannot be used. Commands where a "|" may appear in the argument,
|
||||
such as commands with an expression argument, cannot be followed by a "|" and
|
||||
another command.
|
||||
|
||||
The replacement text {repl} for a user defined command is scanned for special
|
||||
escape sequences, using <...> notation. Escape sequences are replaced with
|
||||
|
@ -1,4 +1,4 @@
|
||||
*mbyte.txt* For Vim version 8.2. Last change: 2021 Apr 05
|
||||
*mbyte.txt* For Vim version 8.2. Last change: 2021 Oct 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||
@ -1132,7 +1132,7 @@ This file explains what characters are available in UTF-8 and CP1255 encodings,
|
||||
and what the keymaps are to get those characters:
|
||||
|
||||
glyph encoding keymap ~
|
||||
Char utf-8 cp1255 hebrew hebrewp name ~
|
||||
Char UTF-8 cp1255 hebrew hebrewp name ~
|
||||
א 0x5d0 0xe0 t a 'alef
|
||||
ב 0x5d1 0xe1 c b bet
|
||||
ג 0x5d2 0xe2 d g gimel
|
||||
@ -1185,11 +1185,11 @@ Vowel marks and special punctuation:
|
||||
ױ 0x5f1 0xd5 VY VY vav-yod
|
||||
ײ 0x5f2 0xd6 YY YY yod-yod
|
||||
|
||||
The following are only available in utf-8
|
||||
The following are only available in UTF-8
|
||||
|
||||
Cantillation marks:
|
||||
glyph
|
||||
Char utf-8 hebrew name
|
||||
Char UTF-8 hebrew name
|
||||
ב֑ 0x591 C: etnahta
|
||||
ב֒ 0x592 Cs segol
|
||||
ב֓ 0x593 CS shalshelet
|
||||
@ -1300,7 +1300,7 @@ ASCII. On MS-Windows UTF-16 is also used (previously UCS-2), which uses
|
||||
internally.
|
||||
|
||||
Vim has comprehensive UTF-8 support. It works well in:
|
||||
- xterm with utf-8 support enabled
|
||||
- xterm with UTF-8 support enabled
|
||||
- Athena, Motif and GTK GUI
|
||||
- MS-Windows GUI
|
||||
- several other platforms
|
||||
@ -1313,13 +1313,13 @@ is no longer relevant in the GTK+ 2 GUI.
|
||||
*bom-bytes*
|
||||
When reading a file a BOM (Byte Order Mark) can be used to recognize the
|
||||
Unicode encoding:
|
||||
EF BB BF utf-8
|
||||
FE FF utf-16 big endian
|
||||
FF FE utf-16 little endian
|
||||
00 00 FE FF utf-32 big endian
|
||||
FF FE 00 00 utf-32 little endian
|
||||
EF BB BF UTF-8
|
||||
FE FF UTF-16 big endian
|
||||
FF FE UTF-16 little endian
|
||||
00 00 FE FF UTF-32 big endian
|
||||
FF FE 00 00 UTF-32 little endian
|
||||
|
||||
Utf-8 is the recommended encoding. Note that it's difficult to tell utf-16
|
||||
UTF-8 is the recommended encoding. Note that it's difficult to tell utf-16
|
||||
and utf-32 apart. Utf-16 is often used on MS-Windows, utf-32 is not
|
||||
widespread as file format.
|
||||
|
||||
@ -1365,8 +1365,8 @@ Useful commands:
|
||||
|
||||
STARTING VIM
|
||||
|
||||
If your current locale is in an utf-8 encoding, Vim will automatically start
|
||||
in utf-8 mode.
|
||||
If your current locale is in an UTF-8 encoding, Vim will automatically start
|
||||
in UTF-8 mode.
|
||||
|
||||
If you are using another locale: >
|
||||
|
||||
@ -1399,10 +1399,10 @@ Motif. Use the ":hi Menu font={fontname}" command for this. |:highlight|
|
||||
TYPING UTF-8 *utf-8-typing*
|
||||
|
||||
If you are using X-Windows, you should find an input method that supports
|
||||
utf-8.
|
||||
UTF-8.
|
||||
|
||||
If your system does not provide support for typing utf-8, you can use the
|
||||
'keymap' feature. This allows writing a keymap file, which defines a utf-8
|
||||
If your system does not provide support for typing UTF-8, you can use the
|
||||
'keymap' feature. This allows writing a keymap file, which defines a UTF-8
|
||||
character as a sequence of ASCII characters. See |mbyte-keymap|.
|
||||
|
||||
Another method is to set the current locale to the language you want to use
|
||||
|
@ -1,4 +1,4 @@
|
||||
*message.txt* For Vim version 8.2. Last change: 2020 Dec 29
|
||||
*message.txt* For Vim version 8.2. Last change: 2021 Jul 31
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -774,6 +774,14 @@ a user-defined command.
|
||||
This can only happen when changing the source code, when adding a command in
|
||||
src/ex_cmds.h. The lookup table then needs to be updated, by running: >
|
||||
make cmdidxs
|
||||
<
|
||||
*E928* *E889* *E839* >
|
||||
E928: String required
|
||||
E889: Number required
|
||||
E839: Bool required
|
||||
|
||||
These happen when a value or expression is used that does not have the
|
||||
expected type.
|
||||
|
||||
==============================================================================
|
||||
3. Messages *messages*
|
||||
|
@ -1,4 +1,4 @@
|
||||
*motion.txt* For Vim version 8.2. Last change: 2021 Mar 28
|
||||
*motion.txt* For Vim version 8.2. Last change: 2021 Jun 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -59,9 +59,14 @@ or change text. The following operators are available:
|
||||
|<| < shift left
|
||||
|zf| zf define a fold
|
||||
|g@| g@ call function set with the 'operatorfunc' option
|
||||
|
||||
*motion-count-multiplied*
|
||||
If the motion includes a count and the operator also had a count before it,
|
||||
the two counts are multiplied. For example: "2d3w" deletes six words.
|
||||
*operator-doubled*
|
||||
When doubling the operator it operates on a line. When using a count, before
|
||||
or after the first character, that many lines are operated upon. Thus `3dd`
|
||||
deletes three lines. A count before and after the first character is
|
||||
multiplied, thus `2y3y` yanks six lines.
|
||||
|
||||
After applying the operator the cursor is mostly left at the start of the text
|
||||
that was operated upon. For example, "yfe" doesn't move the cursor, but "yFe"
|
||||
@ -195,9 +200,9 @@ l or *l*
|
||||
*$* *<End>* *<kEnd>*
|
||||
$ or <End> To the end of the line. When a count is given also go
|
||||
[count - 1] lines downward, or as far is possible.
|
||||
|inclusive| motion. If a count of 2 of larger is
|
||||
|inclusive| motion. If a count of 2 or larger is
|
||||
given and the cursor is on the last line, that is an
|
||||
error an the cursor doesn't move.
|
||||
error and the cursor doesn't move.
|
||||
In Visual mode the cursor goes to just after the last
|
||||
character in the line.
|
||||
When 'virtualedit' is active, "$" may move the cursor
|
||||
|
@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 8.2. Last change: 2021 May 16
|
||||
*options.txt* For Vim version 8.2. Last change: 2021 Sep 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -195,11 +195,18 @@ include the "|" in the option value, use "\|" instead. This example sets the
|
||||
This sets the 'titlestring' option to "hi" and 'iconstring' to "there": >
|
||||
:set titlestring=hi|set iconstring=there
|
||||
|
||||
Similarly, the double quote character starts a comment. To include the '"' in
|
||||
the option value, use '\"' instead. This example sets the 'titlestring'
|
||||
option to 'hi "there"': >
|
||||
Similarly, in legacy script the double quote character starts a comment. To
|
||||
include the '"' in the option value, use '\"' instead. This example sets the
|
||||
'titlestring' option to 'hi "there"': >
|
||||
:set titlestring=hi\ \"there\"
|
||||
|
||||
In |Vim9| script it's simpler, comments start with a '#' character, and only
|
||||
when preceded by white space. A backslash is needed less often: >
|
||||
vim9script
|
||||
set titlestring=hi\ "there"
|
||||
set titlestring=hi#there#
|
||||
set titlestring=hi\ \#there#
|
||||
|
||||
For Win32 backslashes in file names are mostly not removed. More precise: For
|
||||
options that expect a file name (those where environment variables are
|
||||
expanded) a backslash before a normal file name character is not removed. But
|
||||
@ -541,6 +548,15 @@ chance that a normal word like "lex:" is caught. There is one exception:
|
||||
version 3.0). Using "ex:" at the start of the line will be ignored (this
|
||||
could be short for "example:").
|
||||
|
||||
If the modeline is disabled within a modeline, subsequent modelines will be
|
||||
ignored. This is to allow turning off modeline on a per-file basis. This is
|
||||
useful when a line looks like a modeline but isn't. For example, it would be
|
||||
good to start a YAML file containing strings like "vim:" with
|
||||
# vim: nomodeline ~
|
||||
so as to avoid modeline misdetection. Following options on the same line
|
||||
after modeline deactivation, if any, are still evaluated (but you would
|
||||
normally not have any).
|
||||
|
||||
*modeline-local*
|
||||
The options are set like with ":setlocal": The new value only applies to the
|
||||
buffer and window that contain the file. Although it's possible to set global
|
||||
@ -1326,7 +1342,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
continuation (positive).
|
||||
sbr Display the 'showbreak' value before applying the
|
||||
additional indent.
|
||||
The default value for min is 20 and shift is 0.
|
||||
list:{n} Adds an additional indent for lines that match a
|
||||
numbered or bulleted list (using the
|
||||
'formatlistpat' setting).
|
||||
list:-1 Uses the length of a match with 'formatlistpat'
|
||||
for indentation.
|
||||
The default value for min is 20, shift and list is 0.
|
||||
|
||||
*'browsedir'* *'bsdir'*
|
||||
'browsedir' 'bsdir' string (default: "last")
|
||||
@ -2384,6 +2405,23 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
you write the file the encrypted bytes will be
|
||||
different. The whole undo file is encrypted, not just
|
||||
the pieces of text.
|
||||
*E1193* *E1194* *E1195* *E1196*
|
||||
*E1197* *E1198* *E1199* *E1200* *E1201*
|
||||
xchacha20 XChaCha20 Cipher with Poly1305 Message Authentication
|
||||
Code. Medium strong till strong encryption.
|
||||
Encryption is provided by the libsodium library, it
|
||||
requires Vim to be built with |+sodium|.
|
||||
It adds a seed and a message authentication code (MAC)
|
||||
to the file. This needs at least a Vim 8.2.3022 to
|
||||
read the encrypted file.
|
||||
Encryption of swap files is not supported, therefore
|
||||
no swap file will be used when xchacha20 encryption is
|
||||
enabled.
|
||||
Encryption of undo files is not yet supported,
|
||||
therefore no undo file will currently be written.
|
||||
CURRENTLY EXPERIMENTAL: Files written with this method
|
||||
might have to be read back with the same version of
|
||||
Vim if the binary format changes later.
|
||||
|
||||
You should use "blowfish2", also to re-encrypt older files.
|
||||
|
||||
@ -3572,8 +3610,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
systems without an fsync() implementation, this variable is always
|
||||
off.
|
||||
Also see 'swapsync' for controlling fsync() on swap files.
|
||||
'fsync' also applies to |writefile()|, unless a flag is used to
|
||||
overrule it.
|
||||
'fsync' also applies to |writefile()| (unless a flag is used to
|
||||
overrule it) and when writing undo files (see |undo-persistence|).
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
@ -3752,6 +3790,18 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
screen. Set it to a negative value to allow windows taller than the
|
||||
screen.
|
||||
|
||||
*'guiligatures'* *'gli'* *E1243*
|
||||
'guiligatures' 'gli' string (default "")
|
||||
global
|
||||
{only for GTK GUI}
|
||||
List of ASCII characters that, when combined together, can create more
|
||||
complex shapes. Each character must be a printable ASCII character
|
||||
with a value in the 32-127 range.
|
||||
Example: >
|
||||
:set guiligatures=!\"#$%&()*+-./:<=>?@[]^_{\|~
|
||||
< Changing this option updates screen output immediately. Set it to an
|
||||
empty string to disable ligatures.
|
||||
|
||||
*'guioptions'* *'go'*
|
||||
'guioptions' 'go' string (default "egmrLtT" (MS-Windows,
|
||||
"t" is removed in |defaults.vim|),
|
||||
@ -4901,16 +4951,25 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*lcs-space*
|
||||
space:c Character to show for a space. When omitted, spaces
|
||||
are left blank.
|
||||
*lcs-multispace*
|
||||
multispace:c...
|
||||
One or more characters to use cyclically to show for
|
||||
multiple consecutive spaces. Overrides the "space"
|
||||
setting, except for single spaces. When omitted, the
|
||||
"space" setting is used. For example,
|
||||
`:set listchars=multispace:---+` shows ten consecutive
|
||||
spaces as:
|
||||
---+---+--
|
||||
*lcs-lead*
|
||||
lead:c Character to show for leading spaces. When omitted,
|
||||
leading spaces are blank. Overrides the "space"
|
||||
setting for leading spaces. You can combine it with
|
||||
"tab:", for example: >
|
||||
leading spaces are blank. Overrides the "space" and
|
||||
"multispace" settings for leading spaces. You can
|
||||
combine it with "tab:", for example: >
|
||||
:set listchars+=tab:>-,lead:.
|
||||
< *lcs-trail*
|
||||
trail:c Character to show for trailing spaces. When omitted,
|
||||
trailing spaces are blank. Overrides the "space"
|
||||
setting for trailing spaces.
|
||||
trailing spaces are blank. Overrides the "space" and
|
||||
"multispace" settings for trailing spaces.
|
||||
*lcs-extends*
|
||||
extends:c Character to show in the last column, when 'wrap' is
|
||||
off and the line continues beyond the right of the
|
||||
@ -4931,12 +4990,20 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
be used when 'encoding' is "utf-8", otherwise only printable
|
||||
characters are allowed. All characters must be single width.
|
||||
|
||||
Each character can be specified as hex: >
|
||||
set listchars=eol:\\x24
|
||||
set listchars=eol:\\u21b5
|
||||
set listchars=eol:\\U000021b5
|
||||
< Note that a double backslash is used. The number of hex characters
|
||||
must be exactly 2 for \\x, 4 for \\u and 8 for \\U.
|
||||
|
||||
Examples: >
|
||||
:set lcs=tab:>-,trail:-
|
||||
:set lcs=tab:>-,eol:<,nbsp:%
|
||||
:set lcs=extends:>,precedes:<
|
||||
< The "NonText" highlighting will be used for "eol", "extends" and
|
||||
"precedes". "SpecialKey" for "nbsp", "space", "tab" and "trail".
|
||||
"precedes". "SpecialKey" will be used for "tab", "nbsp", "space",
|
||||
"multispace", "lead" and "trail".
|
||||
|hl-NonText| |hl-SpecialKey|
|
||||
|
||||
*'lpl'* *'nolpl'* *'loadplugins'* *'noloadplugins'*
|
||||
@ -5595,19 +5662,21 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
- abbreviations are disabled
|
||||
- 'autoindent' is reset
|
||||
- 'expandtab' is reset
|
||||
- 'formatoptions' is used like it is empty
|
||||
- 'hkmap' is reset
|
||||
- 'revins' is reset
|
||||
- 'ruler' is reset
|
||||
- 'showmatch' is reset
|
||||
- 'smartindent' is reset
|
||||
- 'smarttab' is reset
|
||||
- 'softtabstop' is set to 0
|
||||
- 'textwidth' is set to 0
|
||||
- 'wrapmargin' is set to 0
|
||||
- 'varsofttabstop' is made empty
|
||||
These options keep their value, but their effect is disabled:
|
||||
- 'cindent'
|
||||
- 'formatoptions' is used like it is empty
|
||||
- 'indentexpr'
|
||||
- 'lisp'
|
||||
- 'smartindent'
|
||||
NOTE: When you start editing another file while the 'paste' option is
|
||||
on, settings from the modelines or autocommands may change the
|
||||
settings again, causing trouble when pasting text. You might want to
|
||||
@ -6575,23 +6644,25 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|
||||
*'shellcmdflag'* *'shcf'*
|
||||
'shellcmdflag' 'shcf' string (default: "-c";
|
||||
Win32, when 'shell' does not contain "sh"
|
||||
Win32, when 'shell' contains "powershell":
|
||||
"-Command", or when it does not contain "sh"
|
||||
somewhere: "/c")
|
||||
global
|
||||
Flag passed to the shell to execute "!" and ":!" commands; e.g.,
|
||||
"bash.exe -c ls" or "cmd.exe /c dir". For MS-Windows, the default is
|
||||
set according to the value of 'shell', to reduce the need to set this
|
||||
option by the user.
|
||||
"bash.exe -c ls", "powershell.exe -Command dir", or "cmd.exe /c dir".
|
||||
For MS-Windows, the default is set according to the value of 'shell',
|
||||
to reduce the need to set this option by the user.
|
||||
On Unix it can have more than one flag. Each white space separated
|
||||
part is passed as an argument to the shell command.
|
||||
See |option-backslash| about including spaces and backslashes.
|
||||
Also see |dos-shell| for MS-Windows.
|
||||
Also see |dos-shell| and |dos-powershell| for MS-Windows.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
*'shellpipe'* *'sp'*
|
||||
'shellpipe' 'sp' string (default ">", ">%s 2>&1", "| tee", "|& tee" or
|
||||
"2>&1| tee")
|
||||
'shellpipe' 'sp' string (default ">", ">%s 2>&1", "| tee", "|& tee"
|
||||
"2>&1| tee", or
|
||||
"2>&1 | Out-File -Encoding default")
|
||||
global
|
||||
{not available when compiled without the |+quickfix|
|
||||
feature}
|
||||
@ -6601,9 +6672,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
The name of the temporary file can be represented by "%s" if necessary
|
||||
(the file name is appended automatically if no %s appears in the value
|
||||
of this option).
|
||||
For the Amiga the default is ">". For MS-Windows the default is
|
||||
">%s 2>&1". The output is directly saved in a file and not echoed to
|
||||
the screen.
|
||||
For the Amiga the default is ">". For MS-Windows using powershell the
|
||||
default is "2>&1 | Out-File -Encoding default", otherwise the default
|
||||
is ">%s 2>&1". The output is directly saved in a file and not echoed
|
||||
to the screen.
|
||||
For Unix the default is "| tee". The stdout of the compiler is saved
|
||||
in a file and echoed to the screen. If the 'shell' option is "csh" or
|
||||
"tcsh" after initializations, the default becomes "|& tee". If the
|
||||
@ -6611,6 +6683,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
"bash", "fish", "ash" or "dash" the default becomes "2>&1| tee". This
|
||||
means that stderr is also included. Before using the 'shell' option a
|
||||
path is removed, thus "/bin/sh" uses "sh".
|
||||
For Unix and MS-Windows, when the 'shell' option is "pwsh" the default
|
||||
becomes ">%s 2>&1" and the output is not echoed to the screen.
|
||||
The initialization of this option is done after reading the ".vimrc"
|
||||
and the other initializations, so that when the 'shell' option is set
|
||||
there, the 'shellpipe' option changes automatically, unless it was
|
||||
@ -6626,8 +6700,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
security reasons.
|
||||
|
||||
*'shellquote'* *'shq'*
|
||||
'shellquote' 'shq' string (default: ""; Win32, when 'shell'
|
||||
contains "sh" somewhere: "\"")
|
||||
'shellquote' 'shq' string (default: "")
|
||||
global
|
||||
Quoting character(s), put around the command passed to the shell, for
|
||||
the "!" and ":!" commands. The redirection is kept outside of the
|
||||
@ -6635,14 +6708,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
probably not useful to set both options.
|
||||
This is an empty string by default. Only known to be useful for
|
||||
third-party shells on MS-Windows-like systems, such as the MKS Korn
|
||||
Shell or bash, where it should be "\"". The default is adjusted
|
||||
according the value of 'shell', to reduce the need to set this option
|
||||
by the user. See |dos-shell|.
|
||||
Shell or bash, where it should be "\"". See |dos-shell|.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
*'shellredir'* *'srr'*
|
||||
'shellredir' 'srr' string (default ">", ">&" or ">%s 2>&1")
|
||||
'shellredir' 'srr' string (default ">", ">&", ">%s 2>&1", or
|
||||
"2>&1 | Out-File -Encoding default")
|
||||
global
|
||||
String to be used to put the output of a filter command in a temporary
|
||||
file. See also |:!|. See |option-backslash| about including spaces
|
||||
@ -6653,10 +6725,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
The default is ">". For Unix, if the 'shell' option is "csh" or
|
||||
"tcsh" during initializations, the default becomes ">&". If the
|
||||
'shell' option is "sh", "ksh", "mksh", "pdksh", "zsh", "zsh-beta",
|
||||
"bash" or "fish", the default becomes ">%s 2>&1". This means that
|
||||
stderr is also included. For Win32, the Unix checks are done and
|
||||
additionally "cmd" is checked for, which makes the default ">%s 2>&1".
|
||||
Also, the same names with ".exe" appended are checked for.
|
||||
"bash", "fish", or "pwsh", the default becomes ">%s 2>&1". This means
|
||||
that stderr is also included. For Win32, the Unix checks are done and
|
||||
additionally "cmd" is checked for, which makes the default ">%s 2>&1",
|
||||
and "powershell" is checked for which makes the default
|
||||
"2>&1 | Out-File -Encoding default" (see |dos-powershell|). Also, the
|
||||
same names with ".exe" appended are checked for.
|
||||
The initialization of this option is done after reading the ".vimrc"
|
||||
and the other initializations, so that when the 'shell' option is set
|
||||
there, the 'shellredir' option changes automatically unless it was
|
||||
@ -6671,9 +6745,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
global
|
||||
{only for MS-Windows}
|
||||
When set, a forward slash is used when expanding file names. This is
|
||||
useful when a Unix-like shell is used instead of cmd.exe. Backward
|
||||
slashes can still be typed, but they are changed to forward slashes by
|
||||
Vim.
|
||||
useful when a Unix-like shell is used instead of cmd.exe, pwsh.exe, or
|
||||
powershell.exe. Backward slashes can still be typed, but they are
|
||||
changed to forward slashes by Vim.
|
||||
Note that setting or resetting this option has no effect for some
|
||||
existing file names, thus this option needs to be set before opening
|
||||
any file for best results. This might change in the future.
|
||||
@ -6727,6 +6801,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'shellxquote'* *'sxq'*
|
||||
'shellxquote' 'sxq' string (default: "";
|
||||
for Win32, when 'shell' is cmd.exe: "("
|
||||
for Win32, when 'shell' is
|
||||
powershell.exe: "\""
|
||||
for Win32, when 'shell' contains "sh"
|
||||
somewhere: "\""
|
||||
for Unix, when using system(): "\"")
|
||||
@ -6739,11 +6815,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
then ')"' is appended.
|
||||
When the value is '(' then also see 'shellxescape'.
|
||||
This is an empty string by default on most systems, but is known to be
|
||||
useful for on Win32 version, either for cmd.exe which automatically
|
||||
strips off the first and last quote on a command, or 3rd-party shells
|
||||
such as the MKS Korn Shell or bash, where it should be "\"". The
|
||||
default is adjusted according the value of 'shell', to reduce the need
|
||||
to set this option by the user. See |dos-shell|.
|
||||
useful for on Win32 version, either for cmd.exe, powershell.exe, or
|
||||
pwsh.exe which automatically strips off the first and last quote on a
|
||||
command, or 3rd-party shells such as the MKS Korn Shell or bash, where
|
||||
it should be "\"". The default is adjusted according the value of
|
||||
'shell', to reduce the need to set this option by the user. See
|
||||
|dos-shell|.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
@ -7128,6 +7205,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
If the name "cjk" is included East Asian characters are excluded from
|
||||
spell checking. This is useful when editing text that also has Asian
|
||||
words.
|
||||
Note that the "medical" dictionary does not exist, it is just an
|
||||
example of a longer name.
|
||||
*E757*
|
||||
As a special case the name of a .spl file can be given as-is. The
|
||||
first "_xx" in the name is removed and used as the region name
|
||||
@ -7346,13 +7425,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
return value of expr contains % items they will get expanded.
|
||||
The expression can contain the } character, the end of
|
||||
expression is denoted by %}.
|
||||
The For example: >
|
||||
For example: >
|
||||
func! Stl_filename() abort
|
||||
return "%t"
|
||||
endfunc
|
||||
< `stl=%{Stl_filename()}` results in `"%t"`
|
||||
`stl=%{%Stl_filename()%}` results in `"Name of current file"`
|
||||
} - End of `{%` expression
|
||||
%} - End of `{%` expression
|
||||
( - Start of item group. Can be used for setting the width and
|
||||
alignment of a section. Must be followed by %) somewhere.
|
||||
) - End of item group. No width fields allowed.
|
||||
@ -7948,25 +8027,30 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'thesaurus' 'tsr' string (default "")
|
||||
global or local to buffer |global-local|
|
||||
List of file names, separated by commas, that are used to lookup words
|
||||
for thesaurus completion commands |i_CTRL-X_CTRL-T|.
|
||||
for thesaurus completion commands |i_CTRL-X_CTRL-T|. See
|
||||
|compl-thesaurus|.
|
||||
|
||||
Each line in the file should contain words with similar meaning,
|
||||
separated by non-keyword characters (white space is preferred).
|
||||
Maximum line length is 510 bytes.
|
||||
|
||||
An English word list was added to this github issue:
|
||||
https://github.com/vim/vim/issues/629#issuecomment-443293282
|
||||
Unpack thesaurus_pkg.zip, put the thesaurus.txt file somewhere, e.g.
|
||||
~/.vim/thesaurus/english.txt, and the 'thesaurus' option to this file
|
||||
name.
|
||||
This option is not used if 'thesaurusfunc' is set, either for the
|
||||
buffer or globally.
|
||||
|
||||
To include a comma in a file name precede it with a backslash. Spaces
|
||||
after a comma are ignored, otherwise spaces are included in the file
|
||||
name. See |option-backslash| about using backslashes.
|
||||
The use of |:set+=| and |:set-=| is preferred when adding or removing
|
||||
directories from the list. This avoids problems when a future version
|
||||
uses another default.
|
||||
Backticks cannot be used in this option for security reasons.
|
||||
name. See |option-backslash| about using backslashes. The use of
|
||||
|:set+=| and |:set-=| is preferred when adding or removing directories
|
||||
from the list. This avoids problems when a future version uses
|
||||
another default. Backticks cannot be used in this option for security
|
||||
reasons.
|
||||
|
||||
*'thesaurusfunc'* *tsrfu'*
|
||||
'thesaurusfunc' 'tsrfu' string (default: empty)
|
||||
global or local to buffer |global-local|
|
||||
{not available when compiled without the |+eval|
|
||||
feature}
|
||||
This option specifies a function to be used for thesaurus completion
|
||||
with CTRL-X CTRL-T. |i_CTRL-X_CTRL-T| See |compl-thesaurusfunc|.
|
||||
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
*'tildeop'* *'top'* *'notildeop'* *'notop'*
|
||||
'tildeop' 'top' boolean (default off)
|
||||
@ -8611,12 +8695,16 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|
||||
*'virtualedit'* *'ve'*
|
||||
'virtualedit' 've' string (default "")
|
||||
global
|
||||
global or local to window |global-local|
|
||||
A comma separated list of these words:
|
||||
block Allow virtual editing in Visual block mode.
|
||||
insert Allow virtual editing in Insert mode.
|
||||
all Allow virtual editing in all modes.
|
||||
onemore Allow the cursor to move just past the end of the line
|
||||
none When used as the local value, do not allow virtual
|
||||
editing even when the global value is set. When used
|
||||
as the global value, "none" is the same as "".
|
||||
NONE Alternative spelling of "none".
|
||||
|
||||
Virtual editing means that the cursor can be positioned where there is
|
||||
no actual character. This can be halfway into a tab or beyond the end
|
||||
@ -8633,6 +8721,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
The `g$` command will move to the end of the screen line.
|
||||
It doesn't make sense to combine "all" with "onemore", but you will
|
||||
not get a warning for it.
|
||||
When combined with other words, "none" is ignored.
|
||||
NOTE: This option is set to "" when 'compatible' is set.
|
||||
|
||||
*'visualbell'* *'vb'* *'novisualbell'* *'novb'* *beep*
|
||||
@ -8716,8 +8805,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
More info here: |cmdline-completion|.
|
||||
The character is not recognized when used inside a macro. See
|
||||
'wildcharm' for that.
|
||||
Some keys will not work, such as CTRL-C, <CR> and Enter.
|
||||
Although 'wc' is a number option, you can set it to a special key: >
|
||||
:set wc=<Esc>
|
||||
:set wc=<Tab>
|
||||
< NOTE: This option is set to the Vi default value when 'compatible' is
|
||||
set and to the Vim default value when 'compatible' is reset.
|
||||
|
||||
|
@ -17,6 +17,7 @@ versions of Vim. Also see |os_win32.txt| and |os_msdos.txt|.
|
||||
7. Interrupting |dos-CTRL-Break|
|
||||
8. Temp files |dos-temp-files|
|
||||
9. Shell option default |dos-shell|
|
||||
10. PowerShell |dos-powershell|
|
||||
|
||||
==============================================================================
|
||||
1. File locations *dos-locations*
|
||||
@ -297,8 +298,86 @@ For Win32 as:
|
||||
<shell> -c "command name >file"
|
||||
For DOS 32 bit, DJGPP does this internally somehow.
|
||||
|
||||
When starting up, Vim checks for the presence of "sh" anywhere in the 'shell'
|
||||
option. If it is present, Vim sets the 'shellcmdflag' and 'shellquote' or
|
||||
'shellxquote' options will be set as described above.
|
||||
When starting up, if Vim does not recognise a standard Windows shell it checks
|
||||
for the presence of "sh" anywhere in the 'shell' option. If it is present,
|
||||
Vim sets the 'shellcmdflag' and 'shellquote' or 'shellxquote' options will be
|
||||
set as described above.
|
||||
|
||||
==============================================================================
|
||||
10. PowerShell *dos-powershell* *dos-pwsh*
|
||||
|
||||
Vim supports PowerShell Desktop and PowerShell Core. PowerShell Desktop is
|
||||
the version of PowerShell that is installed with Windows, while PowerShell
|
||||
Core is a separate downloadable version that works cross-platform. To see
|
||||
which version you are using then enter the following in a PowerShell prompt -
|
||||
$PSVersionTable.PSEdition
|
||||
|
||||
If 'shell' includes "powershell" in the filename at startup then VIM sets
|
||||
'shellcmdflag', 'shellxquote', 'shellpipe', and 'shellredir' options to the
|
||||
following values:
|
||||
|
||||
'shellcmdflag' -Command
|
||||
'shellxquote' "
|
||||
'shellpipe' 2>&1 | Out-File -Encoding default
|
||||
'shellredir' 2>&1 | Out-File -Encoding default
|
||||
|
||||
If 'shell' includes "pwsh" in the filename at startup then VIM sets
|
||||
'shellcmdflag', 'shellxquote', 'shellpipe', and 'shellredir' options to the
|
||||
following values:
|
||||
|
||||
'shellcmdflag' -c
|
||||
'shellxquote' "
|
||||
'shellpipe' >%s 2>&1
|
||||
'shellredir' >%s 2>&1
|
||||
|
||||
If you find that PowerShell commands are taking a long time to run then try
|
||||
with "-NoProfile" at the beginning of the 'shellcmdflag'. Note this will
|
||||
prevent any PowerShell environment setup by the profile from taking place.
|
||||
|
||||
If you have problems running PowerShell scripts through the 'shell' then try
|
||||
with "-ExecutionPolicy RemoteSigned -Command" at the beginning of
|
||||
'shellcmdflag'. See online Windows documentation for more information on
|
||||
PowerShell Execution Policy settings.
|
||||
|
||||
See |option-backslash| about including spaces in 'shellcmdflag' when using
|
||||
multiple flags.
|
||||
|
||||
The 'shellpipe' and 'shellredir' option values re-encode the UTF-16le output
|
||||
from PowerShell Desktop to your currently configured console codepage. The
|
||||
output can be forced into a different encoding by changing "default" to one of
|
||||
the following:
|
||||
|
||||
unicode - UTF-16le (default output from PowerShell 5.1)
|
||||
bigendianunicode - UTF-16
|
||||
utf8 - UTF-8
|
||||
utf7 - UTF-7 (no BOM)
|
||||
utf32 - UTF-32
|
||||
ascii - 7-bit ASCII character set
|
||||
default - System's active code page (typically ANSI)
|
||||
oem - System's current OEM code page
|
||||
|
||||
Note The abovce multi-byte Unicode encodings include a leading BOM unless
|
||||
otherwise indicated.
|
||||
|
||||
By default PowerShell Core's output is UTF-8 encoded without a BOM. If you
|
||||
want to force the output of PowerShell Core into a different encoding then set
|
||||
'shellredir' and 'shellpipe' to "2>&1 | Out-File -Encoding encoding" where
|
||||
encoding is one of the following:
|
||||
|
||||
ascii - 7-bit ASCII character set
|
||||
bigendianunicode - UTF-16be
|
||||
bigendianutf32 - UTF-32be
|
||||
oem - System's current OEM code page
|
||||
unicode - UTF-16le
|
||||
utf7 - UTF-7
|
||||
utf8 - UTF-8
|
||||
utf8BOM - UTF-8, with BOM
|
||||
utf8NoBOM - UTF-8, no BOM (default output from PowerShell Core)
|
||||
utf32 - UTF-32
|
||||
|
||||
Since PowerShell Core 6.2, the Encoding parameter also supports specifying a
|
||||
numeric ID of a registered code page (-Encoding 1251) or string names of
|
||||
registered code pages (-Encoding "windows-1251"). The .NET documentation for
|
||||
Encoding.CodePage has more information
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -767,12 +767,12 @@ GNU_TOOLS.ZIP package downloadable from http://www.polarhome.com/vim/
|
||||
|
||||
Version 8.2
|
||||
- make all changes needed for clean compile build of v8.2 on VMS on all platforms
|
||||
- fix the call mkdir bug (vicente_polo@yahoo.es)
|
||||
- fix the call mkdir bug (vicente_polo@yahoo.es)
|
||||
- test on VSI OpenVMS Alpha and Itanium platforms
|
||||
- added LUA support
|
||||
- added XPM support - Motif GUI with toolbar on all platforms
|
||||
- XPM v3.4.11 libraries for IA64, AXP and VAX are added
|
||||
- start integrating the new test scripts
|
||||
- XPM v3.4.11 libraries for IA64, AXP and VAX are added
|
||||
- start integrating the new test scripts
|
||||
|
||||
Version 8.1
|
||||
- make necessary changes to build v8.1 on VMS
|
||||
|
@ -18,7 +18,8 @@ The 32 bit version also runs on 64 bit MS-Windows systems.
|
||||
4. Using the mouse |win32-mouse|
|
||||
5. Running under Windows 95 |win32-win95|
|
||||
6. Running under Windows 3.1 |win32-win3.1|
|
||||
7. Win32 mini FAQ |win32-faq|
|
||||
7. Installation package |win32-installer|
|
||||
8. Win32 mini FAQ |win32-faq|
|
||||
|
||||
Additionally, there are a number of common Win32 and DOS items:
|
||||
File locations |dos-locations|
|
||||
@ -30,6 +31,7 @@ File formats |dos-file-formats|
|
||||
Interrupting |dos-CTRL-Break|
|
||||
Temp files |dos-temp-files|
|
||||
Shell option default |dos-shell|
|
||||
PowerShell defaults |dos-powershell|
|
||||
|
||||
Win32 GUI |gui-w32|
|
||||
|
||||
@ -174,7 +176,29 @@ There was a special version of gvim that runs under Windows 3.1 and 3.11.
|
||||
Support was removed in patch 7.4.1364.
|
||||
|
||||
==============================================================================
|
||||
7. Win32 mini FAQ *win32-faq*
|
||||
7. Installation package *win32-installer*
|
||||
|
||||
A simple installer for windows is available at http://www.vim.org/download.php
|
||||
(stable version) and nightly builds are also available at
|
||||
https://github.com/vim/vim-win32-installer/releases/
|
||||
|
||||
The nightly builds include 32bit and 64bit builds, have most features enabled
|
||||
and usually also contain an extra cryptographic signed installer, so Windows
|
||||
will not complain.
|
||||
|
||||
To use the installer, simply run the exe file. The following switches are
|
||||
also supported: >
|
||||
|
||||
gvim_<version>.exe /S -> silent install without any dialogues
|
||||
gvim_<version>.exe /D=C:\vim -> Install into directory c:\vim
|
||||
-> /D must be the last argument
|
||||
gvim_<version>.exe /S /D=c:\vim -> silent install into c:\vim
|
||||
<
|
||||
The default installation directory can alternatively be given by setting the
|
||||
$VIM environment variable.
|
||||
|
||||
==============================================================================
|
||||
8. Win32 mini FAQ *win32-faq*
|
||||
|
||||
Q. How do I change the font?
|
||||
A. In the GUI version, you can use the 'guifont' option. Example: >
|
||||
|
@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 8.2. Last change: 2021 May 02
|
||||
*pattern.txt* For Vim version 8.2. Last change: 2021 Jul 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -929,13 +929,20 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
\%23l Matches in a specific line.
|
||||
\%<23l Matches above a specific line (lower line number).
|
||||
\%>23l Matches below a specific line (higher line number).
|
||||
These three can be used to match specific lines in a buffer. The "23"
|
||||
\%.l Matches at the cursor line.
|
||||
\%<.l Matches above the cursor line.
|
||||
\%>.l Matches below the cursor line.
|
||||
These six can be used to match specific lines in a buffer. The "23"
|
||||
can be any line number. The first line is 1.
|
||||
WARNING: When inserting or deleting lines Vim does not automatically
|
||||
update the matches. This means Syntax highlighting quickly becomes
|
||||
wrong.
|
||||
wrong. Also when referring to the cursor position (".") and
|
||||
the cursor moves the display isn't updated for this change. An update
|
||||
is done when using the |CTRL-L| command (the whole screen is updated).
|
||||
Example, to highlight the line where the cursor currently is: >
|
||||
:exe '/\%' . line(".") . 'l.*'
|
||||
:exe '/\%' . line(".") . 'l'
|
||||
< Alternatively use: >
|
||||
/\%.l
|
||||
< When 'hlsearch' is set and you move the cursor around and make changes
|
||||
this will clearly show when the match is updated or not.
|
||||
|
||||
@ -943,15 +950,22 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
\%23c Matches in a specific column.
|
||||
\%<23c Matches before a specific column.
|
||||
\%>23c Matches after a specific column.
|
||||
These three can be used to match specific columns in a buffer or
|
||||
string. The "23" can be any column number. The first column is 1.
|
||||
Actually, the column is the byte number (thus it's not exactly right
|
||||
for multibyte characters).
|
||||
\%.c Matches at the cursor column.
|
||||
\%<.c Matches before the cursor column.
|
||||
\%>.c Matches after the cursor column.
|
||||
These six can be used to match specific columns in a buffer or string.
|
||||
The "23" can be any column number. The first column is 1. Actually,
|
||||
the column is the byte number (thus it's not exactly right for
|
||||
multibyte characters).
|
||||
WARNING: When inserting or deleting text Vim does not automatically
|
||||
update the matches. This means Syntax highlighting quickly becomes
|
||||
wrong.
|
||||
wrong. Also when referring to the cursor position (".") and
|
||||
the cursor moves the display isn't updated for this change. An update
|
||||
is done when using the |CTRL-L| command (the whole screen is updated).
|
||||
Example, to highlight the column where the cursor currently is: >
|
||||
:exe '/\%' . col(".") . 'c'
|
||||
< Alternatively use: >
|
||||
/\%.c
|
||||
< When 'hlsearch' is set and you move the cursor around and make changes
|
||||
this will clearly show when the match is updated or not.
|
||||
Example for matching a single byte in column 44: >
|
||||
@ -962,8 +976,11 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
\%23v Matches in a specific virtual column.
|
||||
\%<23v Matches before a specific virtual column.
|
||||
\%>23v Matches after a specific virtual column.
|
||||
These three can be used to match specific virtual columns in a buffer
|
||||
or string. When not matching with a buffer in a window, the option
|
||||
\%.v Matches at the current virtual column.
|
||||
\%<.v Matches before the current virtual column.
|
||||
\%>.v Matches after the current virtual column.
|
||||
These six can be used to match specific virtual columns in a buffer or
|
||||
string. When not matching with a buffer in a window, the option
|
||||
values of the current window are used (e.g., 'tabstop').
|
||||
The "23" can be any column number. The first column is 1.
|
||||
Note that some virtual column positions will never match, because they
|
||||
@ -971,13 +988,18 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
one screen character.
|
||||
WARNING: When inserting or deleting text Vim does not automatically
|
||||
update highlighted matches. This means Syntax highlighting quickly
|
||||
becomes wrong.
|
||||
becomes wrong. Also when referring to the cursor position (".") and
|
||||
the cursor moves the display isn't updated for this change. An update
|
||||
is done when using the |CTRL-L| command (the whole screen is updated).
|
||||
Example, to highlight all the characters after virtual column 72: >
|
||||
/\%>72v.*
|
||||
< When 'hlsearch' is set and you move the cursor around and make changes
|
||||
this will clearly show when the match is updated or not.
|
||||
To match the text up to column 17: >
|
||||
/^.*\%17v
|
||||
< To match all characters after the current virtual column (where the
|
||||
cursor is): >
|
||||
/\%>.v.*
|
||||
< Column 17 is not included, because this is a |/zero-width| match. To
|
||||
include the column use: >
|
||||
/^.*\%17v.
|
||||
@ -989,7 +1011,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
/.*\%17v
|
||||
< Column 17 is highlighted by 'hlsearch' because there is another match
|
||||
where ".*" matches zero characters.
|
||||
<
|
||||
|
||||
|
||||
Character classes:
|
||||
\i identifier character (see 'isident' option) */\i*
|
||||
@ -1217,7 +1239,7 @@ x A single character, with no special meaning, matches itself
|
||||
|
||||
\%d123 Matches the character specified with a decimal number. Must be
|
||||
followed by a non-digit.
|
||||
\%o40 Matches the character specified with an octal number up to 0377.
|
||||
\%o40 Matches the character specified with an octal number up to 0o377.
|
||||
Numbers below 0o40 must be followed by a non-octal digit or a
|
||||
non-digit.
|
||||
\%x2a Matches the character specified with up to two hexadecimal characters.
|
||||
@ -1449,7 +1471,8 @@ criteria:
|
||||
- The number of characters (distance) between two consecutive matching
|
||||
characters.
|
||||
- Matches at the beginning of a word
|
||||
- Matches after a camel case character or a path separator or a hyphen.
|
||||
- Matches at a camel case character (e.g. Case in CamelCase)
|
||||
- Matches after a path separator or a hyphen.
|
||||
- The number of unmatched characters in a string.
|
||||
The matching string with the highest score is returned first.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*pi_netrw.txt* For Vim version 8.2. Last change: 2020 Sep 19
|
||||
*pi_netrw.txt* For Vim version 8.2. Last change: 2021 Aug 16
|
||||
|
||||
------------------------------------------------
|
||||
NETRW REFERENCE MANUAL by Charles E. Campbell
|
||||
@ -54,6 +54,7 @@ Copyright: Copyright (C) 2017 Charles E Campbell *netrw-copyright*
|
||||
Browsing With A Horizontally Split Window...........|netrw-o|
|
||||
Browsing With A New Tab.............................|netrw-t|
|
||||
Browsing With A Vertically Split Window.............|netrw-v|
|
||||
Change File Permission..............................|netrw-gp|
|
||||
Change Listing Style.(thin wide long tree)..........|netrw-i|
|
||||
Changing To A Bookmarked Directory..................|netrw-gb|
|
||||
Changing To A Predecessor Directory.................|netrw-u|
|
||||
@ -1095,6 +1096,7 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
||||
gf Force treatment as file |netrw-gf|
|
||||
gh Quick hide/unhide of dot-files |netrw-gh|
|
||||
gn Make top of tree the directory below the cursor |netrw-gn|
|
||||
gp Change local-only file permissions |netrw-gp|
|
||||
i Cycle between thin, long, wide, and tree listings |netrw-i|
|
||||
I Toggle the displaying of the banner |netrw-I|
|
||||
mb Bookmark current directory |netrw-mb|
|
||||
@ -1510,6 +1512,8 @@ Netrw determines which special handler by the following method:
|
||||
If g:netrw_browsex_viewer == '-', then netrwFileHandlers#Invoke() will be
|
||||
used instead (see |netrw_filehandler|).
|
||||
|
||||
If the viewer you wish to use does not support handling of a remote URL
|
||||
directory, set |g:netrw_browsex_support_remote| to 0.
|
||||
* for Windows 32 or 64, the URL and FileProtocolHandler dlls are used.
|
||||
* for Gnome (with gnome-open): gnome-open is used.
|
||||
* for KDE (with kfmclient) : kfmclient is used
|
||||
@ -2104,8 +2108,8 @@ the two directories the same, use the "cd" map (type cd). That map will
|
||||
set Vim's notion of the current directory to netrw's current browsing
|
||||
directory.
|
||||
|
||||
|netrw-cd|: This map's name was changed from "c" to cd (see |netrw-cd|).
|
||||
This change was done to allow for |netrw-cb| and |netrw-cB| maps.
|
||||
|netrw-cd| : This map's name was changed from "c" to cd (see |netrw-cd|).
|
||||
This change was done to allow for |netrw-cb| and |netrw-cB| maps.
|
||||
|
||||
Associated setting variable: |g:netrw_keepdir|
|
||||
|
||||
@ -2607,13 +2611,29 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
a script/function to handle the given
|
||||
extension. (see |netrw_filehandler|).
|
||||
|
||||
*g:netrw_browsex_support_remote*
|
||||
specify if the specified viewer supports a
|
||||
remote URL. (see |netrw-handler|).
|
||||
|
||||
*g:netrw_chgperm* Unix/Linux: "chmod PERM FILENAME"
|
||||
Windows: "cacls FILENAME /e /p PERM"
|
||||
Used to change access permission for a file.
|
||||
|
||||
*g:netrw_clipboard* =1
|
||||
By default, netrw will attempt to insure that
|
||||
the clipboard's values will remain unchanged.
|
||||
However, some users report that they have
|
||||
speed problems with this; consequently, this
|
||||
option, when set to zero, lets such users
|
||||
prevent netrw from saving and restoring the
|
||||
clipboard (the latter is done only as needed).
|
||||
That means that if the clipboard is changed
|
||||
(inadvertently) by normal netrw operation that
|
||||
it will not be restored to its prior state.
|
||||
|
||||
*g:netrw_compress* ="gzip"
|
||||
Will compress marked files with this
|
||||
command
|
||||
Will compress marked files with this
|
||||
command
|
||||
|
||||
*g:Netrw_corehandler* Allows one to specify something additional
|
||||
to do when handling <core> files via netrw's
|
||||
@ -2639,12 +2659,23 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
=2 cul u-cuc cul u-cuc
|
||||
=3 cul u-cuc cul cuc
|
||||
=4 cul cuc cul cuc
|
||||
=5 U-cul U-cuc U-cul U-cuc
|
||||
=6 U-cul U-cuc cul U-cuc
|
||||
=7 cul U-cuc cul U-cuc
|
||||
=8 cul U-cuc cul cuc
|
||||
|
||||
Where
|
||||
u-cul : user's |'cursorline'| setting used
|
||||
u-cuc : user's |'cursorcolumn'| setting used
|
||||
cul : |'cursorline'| locally set
|
||||
cuc : |'cursorcolumn'| locally set
|
||||
u-cul : user's |'cursorline'| initial setting used
|
||||
u-cuc : user's |'cursorcolumn'| initial setting used
|
||||
U-cul : user's |'cursorline'| current setting used
|
||||
U-cuc : user's |'cursorcolumn'| current setting used
|
||||
cul : |'cursorline'| will be locally set
|
||||
cuc : |'cursorcolumn'| will be locally set
|
||||
|
||||
The "initial setting" means the values of
|
||||
the |'cuc'| and |'cul'| settings in effect when
|
||||
netrw last saw |g:netrw_cursor| >= 5 or when
|
||||
netrw was initially run.
|
||||
|
||||
*g:netrw_decompress* = { ".gz" : "gunzip" ,
|
||||
".bz2" : "bunzip2" ,
|
||||
@ -2654,7 +2685,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
decompression programs.
|
||||
|
||||
*g:netrw_dirhistmax* =10: controls maximum quantity of past
|
||||
history. May be zero to supppress
|
||||
history. May be zero to suppress
|
||||
history.
|
||||
(related: |netrw-qb| |netrw-u| |netrw-U|)
|
||||
|
||||
@ -3142,6 +3173,9 @@ 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).
|
||||
|
||||
If Lexplore (|netrw-:Lexplore|) is in use, the new file will be generated
|
||||
in the |g:netrw_chgwin| window.
|
||||
|
||||
Related topics: |netrw-d|
|
||||
|
||||
|
||||
@ -3877,6 +3911,32 @@ netrw:
|
||||
==============================================================================
|
||||
12. History *netrw-history* {{{1
|
||||
|
||||
v171: Oct 09, 2020 * included code in s:NetrwOptionsSafe()
|
||||
to allow |'bh'| to be set to delete when
|
||||
rather than hide when g:netrw_fastbrowse
|
||||
was zero.
|
||||
* Installed |g:netrw_clipboard| setting
|
||||
* Installed option bypass for |'guioptions'|
|
||||
a/A settings
|
||||
* Changed popup_beval() to |popup_atcursor|()
|
||||
in netrw#ErrorMsg (lacygoill). Apparently
|
||||
popup_beval doesn't reliably close the
|
||||
popup when the mouse is moved.
|
||||
* VimEnter() now using win_execute to examine
|
||||
buffers for an attempt to open a directory.
|
||||
Avoids issues with popups/terminal from
|
||||
command line. (lacygoill)
|
||||
Jun 28, 2021 * (zeertzjq) provided a patch for use of
|
||||
xmap,xno instead of vmap,vno in
|
||||
netrwPlugin.vim. Avoids entanglement with
|
||||
select mode.
|
||||
Jul 14, 2021 * Fixed problem addressed by tst976; opening
|
||||
a file using tree mode, going up a
|
||||
directory, and opening a file there was
|
||||
opening the file in the wrong directory.
|
||||
Jul 28, 2021 * (Ingo Karkat) provided a patch fixing an
|
||||
E488 error with netrwPlugin.vim
|
||||
(occurred for vim versions < 8.02)
|
||||
v170: Mar 11, 2020 * (reported by Reiner Herrmann) netrw+tree
|
||||
would not hide with the ^\..* pattern
|
||||
correctly.
|
||||
@ -3893,7 +3953,7 @@ netrw:
|
||||
Jun 07, 2020 * (reported by Jo Totland) repeatedly invoking
|
||||
:Lexplore and quitting it left unused
|
||||
hidden buffers. Netrw will now set netrw
|
||||
buffers created by :Lexplore to |bh|=wipe.
|
||||
buffers created by :Lexplore to |'bh'|=wipe.
|
||||
v169: Dec 20, 2019 * (reported by amkarthik) that netrw's x
|
||||
(|netrw-x|) would throw an error when
|
||||
attempting to open a local directory.
|
||||
|
@ -1,4 +1,4 @@
|
||||
*popup.txt* For Vim version 8.2. Last change: 2021 Feb 21
|
||||
*popup.txt* For Vim version 8.2. Last change: 2021 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -260,6 +260,7 @@ popup_close({id} [, {result}]) *popup_close()*
|
||||
Can also be used as a |method|: >
|
||||
GetPopup()->popup_close()
|
||||
|
||||
|
||||
popup_create({what}, {options}) *popup_create()*
|
||||
Open a popup window showing {what}, which is either:
|
||||
- a buffer number
|
||||
@ -284,6 +285,7 @@ popup_create({what}, {options}) *popup_create()*
|
||||
Can also be used as a |method|: >
|
||||
GetText()->popup_create({})
|
||||
|
||||
|
||||
popup_dialog({what}, {options}) *popup_dialog()*
|
||||
Just like |popup_create()| but with these default options: >
|
||||
call popup_create({what}, #{
|
||||
@ -307,6 +309,7 @@ popup_dialog({what}, {options}) *popup_dialog()*
|
||||
Can also be used as a |method|: >
|
||||
GetText()->popup_dialog({})
|
||||
|
||||
|
||||
popup_filter_menu({id}, {key}) *popup_filter_menu()*
|
||||
Filter that can be used for a popup. These keys can be used:
|
||||
j <Down> <C-N> select item below
|
||||
@ -386,6 +389,7 @@ popup_getoptions({id}) *popup_getoptions()*
|
||||
Can also be used as a |method|: >
|
||||
GetPopup()->popup_getoptions()
|
||||
|
||||
|
||||
popup_getpos({id}) *popup_getpos()*
|
||||
Return the position and size of popup {id}. Returns a Dict
|
||||
with these entries:
|
||||
@ -414,6 +418,7 @@ popup_getpos({id}) *popup_getpos()*
|
||||
Can also be used as a |method|: >
|
||||
GetPopup()->popup_getpos()
|
||||
|
||||
|
||||
popup_hide({id}) *popup_hide()*
|
||||
If {id} is a displayed popup, hide it now. If the popup has a
|
||||
filter it will not be invoked for so long as the popup is
|
||||
@ -425,6 +430,7 @@ popup_hide({id}) *popup_hide()*
|
||||
Can also be used as a |method|: >
|
||||
GetPopup()->popup_hide()
|
||||
|
||||
|
||||
popup_list() *popup_list()*
|
||||
Return a List with the |window-ID| of all existing popups.
|
||||
|
||||
@ -468,6 +474,7 @@ popup_menu({what}, {options}) *popup_menu()*
|
||||
< Can also be used as a |method|: >
|
||||
GetChoices()->popup_menu({})
|
||||
|
||||
|
||||
popup_move({id}, {options}) *popup_move()*
|
||||
Move popup {id} to the position specified with {options}.
|
||||
{options} may contain the items from |popup_create()| that
|
||||
@ -486,6 +493,7 @@ popup_move({id}, {options}) *popup_move()*
|
||||
Can also be used as a |method|: >
|
||||
GetPopup()->popup_move(options)
|
||||
|
||||
|
||||
popup_notification({what}, {options}) *popup_notification()*
|
||||
Show the {what} for 3 seconds at the top of the Vim window.
|
||||
This works like: >
|
||||
@ -515,12 +523,6 @@ popup_notification({what}, {options}) *popup_notification()*
|
||||
Can also be used as a |method|: >
|
||||
GetText()->popup_notification({})
|
||||
|
||||
popup_show({id}) *popup_show()*
|
||||
If {id} is a hidden popup, show it now.
|
||||
For {id} see `popup_hide()`.
|
||||
If {id} is the info popup it will be positioned next to the
|
||||
current popup menu item.
|
||||
|
||||
|
||||
popup_setoptions({id}, {options}) *popup_setoptions()*
|
||||
Override options in popup {id} with entries in {options}.
|
||||
@ -557,6 +559,7 @@ popup_setoptions({id}, {options}) *popup_setoptions()*
|
||||
Can also be used as a |method|: >
|
||||
GetPopup()->popup_setoptions(options)
|
||||
|
||||
|
||||
popup_settext({id}, {text}) *popup_settext()*
|
||||
Set the text of the buffer in popup win {id}. {text} is the
|
||||
same as supplied to |popup_create()|, except that a buffer
|
||||
@ -567,6 +570,14 @@ popup_settext({id}, {text}) *popup_settext()*
|
||||
Can also be used as a |method|: >
|
||||
GetPopup()->popup_settext('hello')
|
||||
|
||||
|
||||
popup_show({id}) *popup_show()*
|
||||
If {id} is a hidden popup, show it now.
|
||||
For {id} see `popup_hide()`.
|
||||
If {id} is the info popup it will be positioned next to the
|
||||
current popup menu item.
|
||||
|
||||
|
||||
==============================================================================
|
||||
3. Usage *popup-usage*
|
||||
|
||||
@ -904,6 +915,8 @@ Some recommended key actions:
|
||||
cursor keys select another entry
|
||||
Tab accept current suggestion
|
||||
|
||||
When CTRL-C is pressed the popup is closed, the filter will not be invoked.
|
||||
|
||||
A mouse click arrives as <LeftMouse>. The coordinates can be obtained with
|
||||
|getmousepos()|.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*print.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
*print.txt* For Vim version 8.2. Last change: 2021 Oct 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -717,7 +717,7 @@ There are a couple of points to bear in mind:
|
||||
==============================================================================
|
||||
8. Formfeed Characters *printing-formfeed*
|
||||
|
||||
By default Vim does not do any special processing of |formfeed| control
|
||||
By default Vim does not do any special processing of formfeed control
|
||||
characters. Setting the 'printoptions' formfeed item will make Vim recognize
|
||||
formfeed characters and continue printing the current line at the beginning
|
||||
of the first line on a new page. The use of formfeed characters provides
|
||||
|
@ -948,6 +948,7 @@ Short explanation of each option: *option-list*
|
||||
'textmode' 'tx' obsolete, use 'fileformat'
|
||||
'textwidth' 'tw' maximum width of text that is being inserted
|
||||
'thesaurus' 'tsr' list of thesaurus files for keyword completion
|
||||
'thesaurusfunc' 'tsrfu' function to be used for thesaurus completion
|
||||
'tildeop' 'top' tilde command "~" behaves like an operator
|
||||
'timeout' 'to' time out on mappings and key codes
|
||||
'timeoutlen' 'tm' time out time in milliseconds
|
||||
|
@ -1,4 +1,4 @@
|
||||
*repeat.txt* For Vim version 8.2. Last change: 2021 May 08
|
||||
*repeat.txt* For Vim version 8.2. Last change: 2021 Sep 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -279,7 +279,9 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
||||
ftdetect scripts are loaded, only the matching
|
||||
directories are added to 'runtimepath'. This is
|
||||
useful in your .vimrc. The plugins will then be
|
||||
loaded during initialization, see |load-plugins|.
|
||||
loaded during initialization, see |load-plugins| (note
|
||||
that the loading order will be reversed, because each
|
||||
directory is inserted before others).
|
||||
Note that for ftdetect scripts to be loaded
|
||||
you will need to write `filetype plugin indent on`
|
||||
AFTER all `packadd!` commands.
|
||||
@ -372,7 +374,7 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
||||
for some commands.
|
||||
See |:vim9cmd| for executing one command with Vim9
|
||||
syntax and semantics.
|
||||
|
||||
|
||||
*:scr* *:scriptnames*
|
||||
:scr[iptnames] List all sourced script names, in the order they were
|
||||
first sourced. The number is used for the script ID
|
||||
@ -842,6 +844,16 @@ About the additional commands in debug mode:
|
||||
is reset (because it's not clear what you want to repeat).
|
||||
- When you want to use the Ex command with the same name, prepend a colon:
|
||||
":cont", ":next", ":finish" (or shorter).
|
||||
*vim9-debug*
|
||||
When debugging a compiled :def function, "step" will stop before every
|
||||
executed line, not every single instruction. Thus it works mostly like a not
|
||||
compiled function. Access to local variables is limited you can use: >
|
||||
echo varname
|
||||
But not much else.
|
||||
When executing a command that is not a specific bytecode instruction but
|
||||
executed like a normal Ex command, "step" will stop once in the compiled
|
||||
context, where local variables can be inspected, and once just before
|
||||
executing the command.
|
||||
|
||||
The backtrace shows the hierarchy of function calls, e.g.:
|
||||
>bt ~
|
||||
@ -881,8 +893,12 @@ DEFINING BREAKPOINTS
|
||||
Sets a breakpoint, that will break whenever the {expression}
|
||||
evaluates to a different value. Example: >
|
||||
:breakadd expr g:lnum
|
||||
|
||||
< Will break, whenever the global variable lnum changes.
|
||||
|
||||
Errors in evaluation are suppressed, you can use the name of a
|
||||
variable that does not exist yet. This also means you will
|
||||
not notice anything if the expression has a mistake.
|
||||
|
||||
Note if you watch a |script-variable| this will break
|
||||
when switching scripts, since the script variable is only
|
||||
valid in the script where it has been defined and if that
|
||||
|
@ -1,4 +1,4 @@
|
||||
*rileft.txt* For Vim version 8.2. Last change: 2019 May 05
|
||||
*rileft.txt* For Vim version 8.2. Last change: 2021 Jun 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Avner Lottem
|
||||
@ -75,7 +75,7 @@ o Invocations
|
||||
|
||||
o Typing backwards *ins-reverse*
|
||||
----------------
|
||||
In lieu of using full-fledged the 'rightleft' option, one can opt for
|
||||
In lieu of using the full-fledged 'rightleft' option, one can opt for
|
||||
reverse insertion. When the 'revins' (reverse insert) option is set,
|
||||
inserting happens backwards. This can be used to type right-to-left
|
||||
text. When inserting characters the cursor is not moved and the text
|
||||
|
@ -451,13 +451,13 @@ sign_getdefined([{name}]) *sign_getdefined()*
|
||||
Can also be used as a |method|: >
|
||||
GetSignList()->sign_getdefined()
|
||||
|
||||
sign_getplaced([{expr} [, {dict}]]) *sign_getplaced()*
|
||||
sign_getplaced([{buf} [, {dict}]]) *sign_getplaced()*
|
||||
Return a list of signs placed in a buffer or all the buffers.
|
||||
This is similar to the |:sign-place-list| command.
|
||||
|
||||
If the optional buffer name {expr} is specified, then only the
|
||||
If the optional buffer name {buf} is specified, then only the
|
||||
list of signs placed in that buffer is returned. For the use
|
||||
of {expr}, see |bufname()|. The optional {dict} can contain
|
||||
of {buf}, see |bufname()|. The optional {dict} can contain
|
||||
the following entries:
|
||||
group select only signs in this group
|
||||
id select sign with this identifier
|
||||
@ -515,12 +515,13 @@ sign_getplaced([{expr} [, {dict}]]) *sign_getplaced()*
|
||||
GetBufname()->sign_getplaced()
|
||||
<
|
||||
*sign_jump()*
|
||||
sign_jump({id}, {group}, {expr})
|
||||
Open the buffer {expr} or jump to the window that contains
|
||||
{expr} and position the cursor at sign {id} in group {group}.
|
||||
sign_jump({id}, {group}, {buf})
|
||||
Open the buffer {buf} or jump to the window that contains
|
||||
{buf} and position the cursor at sign {id} in group {group}.
|
||||
This is similar to the |:sign-jump| command.
|
||||
|
||||
For the use of {expr}, see |bufname()|.
|
||||
If {group} is an empty string, then the global group is used.
|
||||
For the use of {buf}, see |bufname()|.
|
||||
|
||||
Returns the line number of the sign. Returns -1 if the
|
||||
arguments are invalid.
|
||||
@ -533,9 +534,9 @@ sign_jump({id}, {group}, {expr})
|
||||
GetSignid()->sign_jump()
|
||||
<
|
||||
*sign_place()*
|
||||
sign_place({id}, {group}, {name}, {expr} [, {dict}])
|
||||
sign_place({id}, {group}, {name}, {buf} [, {dict}])
|
||||
Place the sign defined as {name} at line {lnum} in file or
|
||||
buffer {expr} and assign {id} and {group} to sign. This is
|
||||
buffer {buf} and assign {id} and {group} to sign. This is
|
||||
similar to the |:sign-place| command.
|
||||
|
||||
If the sign identifier {id} is zero, then a new identifier is
|
||||
@ -546,12 +547,12 @@ sign_place({id}, {group}, {name}, {expr} [, {dict}])
|
||||
and |sign-group| for more information.
|
||||
|
||||
{name} refers to a defined sign.
|
||||
{expr} refers to a buffer name or number. For the accepted
|
||||
{buf} refers to a buffer name or number. For the accepted
|
||||
values, see |bufname()|.
|
||||
|
||||
The optional {dict} argument supports the following entries:
|
||||
lnum line number in the file or buffer
|
||||
{expr} where the sign is to be placed.
|
||||
{buf} where the sign is to be placed.
|
||||
For the accepted values, see |line()|.
|
||||
priority priority of the sign. See
|
||||
|sign-priority| for more information.
|
||||
|
@ -1,4 +1,4 @@
|
||||
*sponsor.txt* For Vim version 8.2. Last change: 2008 Jun 21
|
||||
*sponsor.txt* For Vim version 8.2. Last change: 2021 Jul 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -11,9 +11,8 @@ Fixing bugs and adding new features takes a lot of time and effort. To show
|
||||
your appreciation for the work and motivate Bram and others to continue
|
||||
working on Vim please send a donation.
|
||||
|
||||
Since Bram is back to a paid job the money will now be used to help children
|
||||
in Uganda. See |uganda|. But at the same time donations increase Bram's
|
||||
motivation to keep working on Vim!
|
||||
Since Bram does not need the money it will be used to help children in Uganda,
|
||||
see |uganda|. Donations increase Bram's motivation to keep working on Vim!
|
||||
|
||||
For the most recent information about sponsoring look on the Vim web site:
|
||||
|
||||
@ -74,19 +73,6 @@ Other methods See |iccf-donations|.
|
||||
amount you transferred if you want to vote for features and
|
||||
show others you are a registered Vim user or sponsor.
|
||||
|
||||
Cash Small amounts can be sent with ordinary mail. Put something
|
||||
around the money, so that it's not noticeable from the
|
||||
outside. Mention your e-mail address if you want to vote for
|
||||
features and show others you are a registered Vim user or
|
||||
sponsor.
|
||||
|
||||
You can use this permanent address:
|
||||
Bram Moolenaar
|
||||
Finsterruetihof 1
|
||||
8134 Adliswil
|
||||
Switzerland
|
||||
|
||||
|
||||
|
||||
QUESTIONS AND ANSWERS *sponsor-faq* *register-faq*
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 8.2. Last change: 2021 May 30
|
||||
*syntax.txt* For Vim version 8.2. Last change: 2021 Aug 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -923,7 +923,7 @@ For Visual Basic use: >
|
||||
|
||||
BAAN *baan.vim* *baan-syntax*
|
||||
|
||||
The baan.vim gives syntax support for BaanC of release BaanIV upto SSA ERP LN
|
||||
The baan.vim gives syntax support for BaanC of release BaanIV up to SSA ERP LN
|
||||
for both 3 GL and 4 GL programming. Large number of standard defines/constants
|
||||
are supported.
|
||||
|
||||
@ -1132,11 +1132,13 @@ The ColdFusion syntax file is based on the HTML syntax file.
|
||||
|
||||
CPP *cpp.vim* *ft-cpp-syntax*
|
||||
|
||||
Most of things are same as |ft-c-syntax|.
|
||||
Most things are the same as |ft-c-syntax|.
|
||||
|
||||
Variable Highlight ~
|
||||
cpp_no_cpp11 don't highlight C++11 standard items
|
||||
cpp_no_cpp14 don't highlight C++14 standard items
|
||||
cpp_no_cpp17 don't highlight C++17 standard items
|
||||
cpp_no_cpp20 don't highlight C++20 standard items
|
||||
|
||||
|
||||
CSH *csh.vim* *ft-csh-syntax*
|
||||
@ -1420,11 +1422,17 @@ To select syntax highlighting file for Euphoria, as well as for
|
||||
auto-detecting the *.e and *.E file extensions as Euphoria file type,
|
||||
add the following line to your startup file: >
|
||||
|
||||
:let filetype_euphoria="euphoria3"
|
||||
:let g:filetype_euphoria = "euphoria3"
|
||||
|
||||
or
|
||||
< or >
|
||||
|
||||
:let filetype_euphoria="euphoria4"
|
||||
:let g:filetype_euphoria = "euphoria4"
|
||||
|
||||
Elixir and Euphoria share the *.ex file extension. If the filetype is
|
||||
specifically set as Euphoria with the g:filetype_euphoria variable, or the
|
||||
file is determined to be Euphoria based on keywords in the file, then the
|
||||
filetype will be set as Euphoria. Otherwise, the filetype will default to
|
||||
Elixir.
|
||||
|
||||
|
||||
ERLANG *erlang.vim* *ft-erlang-syntax*
|
||||
@ -1442,6 +1450,22 @@ To enable highlighting some special atoms, put this in your vimrc: >
|
||||
:let g:erlang_highlight_special_atoms = 1
|
||||
|
||||
|
||||
ELIXIR *elixir.vim* *ft-elixir-syntax*
|
||||
|
||||
Elixir is a dynamic, functional language for building scalable and maintainable
|
||||
applications.
|
||||
|
||||
The following file extensions are auto-detected as Elixir file types:
|
||||
|
||||
*.ex, *.exs, *.eex, *.leex, *.lock
|
||||
|
||||
Elixir and Euphoria share the *.ex file extension. If the filetype is
|
||||
specifically set as Euphoria with the g:filetype_euphoria variable, or the
|
||||
file is determined to be Euphoria based on keywords in the file, then the
|
||||
filetype will be set as Euphoria. Otherwise, the filetype will default to
|
||||
Elixir.
|
||||
|
||||
|
||||
FLEXWIKI *flexwiki.vim* *ft-flexwiki-syntax*
|
||||
|
||||
FlexWiki is an ASP.NET-based wiki package available at http://www.flexwiki.com
|
||||
@ -3430,8 +3454,8 @@ syntax highlighting script handles this with the following logic:
|
||||
Tex: Match Check Control~
|
||||
|
||||
Sometimes one actually wants mismatched parentheses, square braces,
|
||||
and or curly braces; for example, \text{(1,10] is a range from but
|
||||
not including 1 to and including 10}. This wish, of course, conflicts
|
||||
and or curly braces; for example, \text{(1,10]} is a range from but
|
||||
not including 1 to and including 10. This wish, of course, conflicts
|
||||
with the desire to provide delimiter mismatch detection. To
|
||||
accommodate these conflicting goals, syntax/tex.vim provides >
|
||||
g:tex_matchcheck = '[({[]'
|
||||
@ -4084,7 +4108,7 @@ match in the same position overrules an earlier one). The "transparent"
|
||||
argument makes the "myVim" match use the same highlighting as "myString". But
|
||||
it does not contain anything. If the "contains=NONE" argument would be left
|
||||
out, then "myVim" would use the contains argument from myString and allow
|
||||
"myWord" to be contained, which will be highlighted as a Constant. This
|
||||
"myWord" to be contained, which will be highlighted as a Comment. This
|
||||
happens because a contained match doesn't match inside itself in the same
|
||||
position, thus the "myVim" match doesn't overrule the "myWord" match here.
|
||||
|
||||
@ -4970,8 +4994,8 @@ ctermul={color-nr} *highlight-ctermul*
|
||||
*tmux*
|
||||
When using tmux you may want to use this in the tmux config: >
|
||||
# tmux colors
|
||||
set -g default-terminal "xterm-256color"
|
||||
set -ag terminal-overrides ",xterm-256color:Tc"
|
||||
set -s default-terminal "tmux-256color"
|
||||
set -as terminal-overrides ",*-256color:Tc"
|
||||
< More info at:
|
||||
https://github.com/tmux/tmux/wiki/FAQ#how-do-i-use-a-256-colour-terminal
|
||||
https://github.com/tmux/tmux/wiki/FAQ#how-do-i-use-rgb-colour
|
||||
@ -5179,9 +5203,8 @@ LineNrAbove Line number for when the 'relativenumber'
|
||||
LineNrBelow Line number for when the 'relativenumber'
|
||||
option is set, below the cursor line.
|
||||
*hl-CursorLineNr*
|
||||
CursorLineNr Like LineNr when 'cursorline' is set and 'cursorlineopt' is
|
||||
set to "number" or "both", or 'relativenumber' is set, for
|
||||
the cursor line.
|
||||
CursorLineNr Like LineNr when 'cursorline' is set and 'cursorlineopt'
|
||||
contains "number" or is "both", for the cursor line.
|
||||
*hl-MatchParen*
|
||||
MatchParen The character under the cursor or just before it, if it
|
||||
is a paired bracket, and its match. |pi_paren.txt|
|
||||
|
@ -1384,6 +1384,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
+scrollbind various.txt /*+scrollbind*
|
||||
+signs various.txt /*+signs*
|
||||
+smartindent various.txt /*+smartindent*
|
||||
+sodium various.txt /*+sodium*
|
||||
+sound various.txt /*+sound*
|
||||
+spell various.txt /*+spell*
|
||||
+startuptime various.txt /*+startuptime*
|
||||
@ -1959,7 +1960,9 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:& change.txt /*:&*
|
||||
:&& change.txt /*:&&*
|
||||
:' cmdline.txt /*:'*
|
||||
:++ vim9.txt /*:++*
|
||||
:, cmdline.txt /*:,*
|
||||
:-- vim9.txt /*:--*
|
||||
:. cmdline.txt /*:.*
|
||||
:/ cmdline.txt /*:\/*
|
||||
:0file editing.txt /*:0file*
|
||||
@ -2304,6 +2307,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:command-nargs map.txt /*:command-nargs*
|
||||
:command-range map.txt /*:command-range*
|
||||
:command-register map.txt /*:command-register*
|
||||
:command-repl map.txt /*:command-repl*
|
||||
:command-verbose map.txt /*:command-verbose*
|
||||
:comment cmdline.txt /*:comment*
|
||||
:comp quickfix.txt /*:comp*
|
||||
@ -2317,6 +2321,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:cope quickfix.txt /*:cope*
|
||||
:copen quickfix.txt /*:copen*
|
||||
:copy change.txt /*:copy*
|
||||
:count_quit windows.txt /*:count_quit*
|
||||
:cp quickfix.txt /*:cp*
|
||||
:cpf quickfix.txt /*:cpf*
|
||||
:cpfile quickfix.txt /*:cpfile*
|
||||
@ -3498,6 +3503,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:y change.txt /*:y*
|
||||
:yank change.txt /*:yank*
|
||||
:z various.txt /*:z*
|
||||
:z! various.txt /*:z!*
|
||||
:z# various.txt /*:z#*
|
||||
:~ change.txt /*:~*
|
||||
; motion.txt /*;*
|
||||
@ -3964,11 +3970,27 @@ E118 eval.txt /*E118*
|
||||
E1187 starting.txt /*E1187*
|
||||
E1188 cmdline.txt /*E1188*
|
||||
E119 eval.txt /*E119*
|
||||
E1193 options.txt /*E1193*
|
||||
E1194 options.txt /*E1194*
|
||||
E1195 options.txt /*E1195*
|
||||
E1196 options.txt /*E1196*
|
||||
E1197 options.txt /*E1197*
|
||||
E1198 options.txt /*E1198*
|
||||
E1199 options.txt /*E1199*
|
||||
E12 message.txt /*E12*
|
||||
E120 eval.txt /*E120*
|
||||
E1200 options.txt /*E1200*
|
||||
E1201 options.txt /*E1201*
|
||||
E1205 eval.txt /*E1205*
|
||||
E121 eval.txt /*E121*
|
||||
E1214 eval.txt /*E1214*
|
||||
E122 eval.txt /*E122*
|
||||
E123 eval.txt /*E123*
|
||||
E1231 map.txt /*E1231*
|
||||
E1232 eval.txt /*E1232*
|
||||
E1233 eval.txt /*E1233*
|
||||
E1237 map.txt /*E1237*
|
||||
E1239 eval.txt /*E1239*
|
||||
E124 eval.txt /*E124*
|
||||
E125 eval.txt /*E125*
|
||||
E126 eval.txt /*E126*
|
||||
@ -4726,7 +4748,7 @@ E835 options.txt /*E835*
|
||||
E836 if_pyth.txt /*E836*
|
||||
E837 if_pyth.txt /*E837*
|
||||
E838 netbeans.txt /*E838*
|
||||
E839 insert.txt /*E839*
|
||||
E839 message.txt /*E839*
|
||||
E84 windows.txt /*E84*
|
||||
E840 insert.txt /*E840*
|
||||
E841 map.txt /*E841*
|
||||
@ -4779,6 +4801,7 @@ E885 sign.txt /*E885*
|
||||
E886 starting.txt /*E886*
|
||||
E887 if_pyth.txt /*E887*
|
||||
E888 pattern.txt /*E888*
|
||||
E889 message.txt /*E889*
|
||||
E89 message.txt /*E89*
|
||||
E890 syntax.txt /*E890*
|
||||
E891 eval.txt /*E891*
|
||||
@ -4821,7 +4844,7 @@ E924 quickfix.txt /*E924*
|
||||
E925 quickfix.txt /*E925*
|
||||
E926 quickfix.txt /*E926*
|
||||
E927 eval.txt /*E927*
|
||||
E928 eval.txt /*E928*
|
||||
E928 message.txt /*E928*
|
||||
E929 starting.txt /*E929*
|
||||
E93 windows.txt /*E93*
|
||||
E930 eval.txt /*E930*
|
||||
@ -4920,6 +4943,7 @@ FileChangedRO autocmd.txt /*FileChangedRO*
|
||||
FileChangedShell autocmd.txt /*FileChangedShell*
|
||||
FileChangedShellPost autocmd.txt /*FileChangedShellPost*
|
||||
FileEncoding autocmd.txt /*FileEncoding*
|
||||
FileExplorer autocmd.txt /*FileExplorer*
|
||||
FileReadCmd autocmd.txt /*FileReadCmd*
|
||||
FileReadPost autocmd.txt /*FileReadPost*
|
||||
FileReadPre autocmd.txt /*FileReadPre*
|
||||
@ -4994,6 +5018,7 @@ Macintosh os_mac.txt /*Macintosh*
|
||||
Mark motion.txt /*Mark*
|
||||
MenuPopup autocmd.txt /*MenuPopup*
|
||||
MiNT os_mint.txt /*MiNT*
|
||||
ModeChanged autocmd.txt /*ModeChanged*
|
||||
Moolenaar intro.txt /*Moolenaar*
|
||||
MorphOS os_amiga.txt /*MorphOS*
|
||||
Motif gui_x11.txt /*Motif*
|
||||
@ -5151,6 +5176,10 @@ TabNew autocmd.txt /*TabNew*
|
||||
Tcl if_tcl.txt /*Tcl*
|
||||
TermChanged autocmd.txt /*TermChanged*
|
||||
TermResponse autocmd.txt /*TermResponse*
|
||||
TermdebugStartPost terminal.txt /*TermdebugStartPost*
|
||||
TermdebugStartPre terminal.txt /*TermdebugStartPre*
|
||||
TermdebugStopPost terminal.txt /*TermdebugStopPost*
|
||||
TermdebugStopPre terminal.txt /*TermdebugStopPre*
|
||||
Terminal-Job terminal.txt /*Terminal-Job*
|
||||
Terminal-Normal terminal.txt /*Terminal-Normal*
|
||||
Terminal-mode terminal.txt /*Terminal-mode*
|
||||
@ -5528,10 +5557,12 @@ beval_winnr-variable eval.txt /*beval_winnr-variable*
|
||||
binary-number eval.txt /*binary-number*
|
||||
bitwise-function usr_41.txt /*bitwise-function*
|
||||
blob eval.txt /*blob*
|
||||
blob-functions usr_41.txt /*blob-functions*
|
||||
blob-identity eval.txt /*blob-identity*
|
||||
blob-index eval.txt /*blob-index*
|
||||
blob-literal eval.txt /*blob-literal*
|
||||
blob-modification eval.txt /*blob-modification*
|
||||
blob2list() eval.txt /*blob2list()*
|
||||
blockwise-examples visual.txt /*blockwise-examples*
|
||||
blockwise-operators visual.txt /*blockwise-operators*
|
||||
blockwise-register change.txt /*blockwise-register*
|
||||
@ -5897,6 +5928,7 @@ compl-keyword insert.txt /*compl-keyword*
|
||||
compl-omni insert.txt /*compl-omni*
|
||||
compl-omni-filetypes insert.txt /*compl-omni-filetypes*
|
||||
compl-spelling insert.txt /*compl-spelling*
|
||||
compl-stop insert.txt /*compl-stop*
|
||||
compl-tag insert.txt /*compl-tag*
|
||||
compl-vim insert.txt /*compl-vim*
|
||||
compl-whole-line insert.txt /*compl-whole-line*
|
||||
@ -6149,6 +6181,10 @@ digraph-encoding digraph.txt /*digraph-encoding*
|
||||
digraph-table digraph.txt /*digraph-table*
|
||||
digraph-table-mbyte digraph.txt /*digraph-table-mbyte*
|
||||
digraph.txt digraph.txt /*digraph.txt*
|
||||
digraph_get() eval.txt /*digraph_get()*
|
||||
digraph_getlist() eval.txt /*digraph_getlist()*
|
||||
digraph_set() eval.txt /*digraph_set()*
|
||||
digraph_setlist() eval.txt /*digraph_setlist()*
|
||||
digraphs digraph.txt /*digraphs*
|
||||
digraphs-changed version6.txt /*digraphs-changed*
|
||||
digraphs-default digraph.txt /*digraphs-default*
|
||||
@ -6178,6 +6214,8 @@ dos-backslash os_dos.txt /*dos-backslash*
|
||||
dos-colors os_dos.txt /*dos-colors*
|
||||
dos-file-formats os_dos.txt /*dos-file-formats*
|
||||
dos-locations os_dos.txt /*dos-locations*
|
||||
dos-powershell os_dos.txt /*dos-powershell*
|
||||
dos-pwsh os_dos.txt /*dos-pwsh*
|
||||
dos-shell os_dos.txt /*dos-shell*
|
||||
dos-standard-mappings os_dos.txt /*dos-standard-mappings*
|
||||
dos-temp-files os_dos.txt /*dos-temp-files*
|
||||
@ -6190,6 +6228,7 @@ dp diff.txt /*dp*
|
||||
drag-n-drop gui.txt /*drag-n-drop*
|
||||
drag-n-drop-win32 gui_w32.txt /*drag-n-drop-win32*
|
||||
drag-status-line term.txt /*drag-status-line*
|
||||
drop_file gui.txt /*drop_file*
|
||||
dtd.vim syntax.txt /*dtd.vim*
|
||||
dtd2vim insert.txt /*dtd2vim*
|
||||
dying-variable eval.txt /*dying-variable*
|
||||
@ -6210,6 +6249,7 @@ efm-%> quickfix.txt /*efm-%>*
|
||||
efm-entries quickfix.txt /*efm-entries*
|
||||
efm-ignore quickfix.txt /*efm-ignore*
|
||||
eiffel.vim syntax.txt /*eiffel.vim*
|
||||
elixir.vim syntax.txt /*elixir.vim*
|
||||
emacs-keys tips.txt /*emacs-keys*
|
||||
emacs-tags tagsrch.txt /*emacs-tags*
|
||||
emacs_tags tagsrch.txt /*emacs_tags*
|
||||
@ -6290,6 +6330,7 @@ execute-menus gui.txt /*execute-menus*
|
||||
exepath() eval.txt /*exepath()*
|
||||
exim starting.txt /*exim*
|
||||
exists() eval.txt /*exists()*
|
||||
exists_compiled() eval.txt /*exists_compiled()*
|
||||
exiting starting.txt /*exiting*
|
||||
exiting-variable eval.txt /*exiting-variable*
|
||||
exp() eval.txt /*exp()*
|
||||
@ -6510,7 +6551,6 @@ format-bullet-list tips.txt /*format-bullet-list*
|
||||
format-comments change.txt /*format-comments*
|
||||
format-formatexpr change.txt /*format-formatexpr*
|
||||
formatting change.txt /*formatting*
|
||||
formfeed intro.txt /*formfeed*
|
||||
fortran.vim syntax.txt /*fortran.vim*
|
||||
friendship intro.txt /*friendship*
|
||||
frombook usr_01.txt /*frombook*
|
||||
@ -6559,6 +6599,7 @@ ft-docbkxml-syntax syntax.txt /*ft-docbkxml-syntax*
|
||||
ft-dosbatch-syntax syntax.txt /*ft-dosbatch-syntax*
|
||||
ft-dtd-syntax syntax.txt /*ft-dtd-syntax*
|
||||
ft-eiffel-syntax syntax.txt /*ft-eiffel-syntax*
|
||||
ft-elixir-syntax syntax.txt /*ft-elixir-syntax*
|
||||
ft-erlang-syntax syntax.txt /*ft-erlang-syntax*
|
||||
ft-euphoria-syntax syntax.txt /*ft-euphoria-syntax*
|
||||
ft-flexwiki-syntax syntax.txt /*ft-flexwiki-syntax*
|
||||
@ -6568,6 +6609,7 @@ ft-fortran-plugin filetype.txt /*ft-fortran-plugin*
|
||||
ft-fortran-syntax syntax.txt /*ft-fortran-syntax*
|
||||
ft-fvwm-syntax syntax.txt /*ft-fvwm-syntax*
|
||||
ft-gitcommit-plugin filetype.txt /*ft-gitcommit-plugin*
|
||||
ft-gprof-plugin filetype.txt /*ft-gprof-plugin*
|
||||
ft-groff-syntax syntax.txt /*ft-groff-syntax*
|
||||
ft-gsp-syntax syntax.txt /*ft-gsp-syntax*
|
||||
ft-haskell-syntax syntax.txt /*ft-haskell-syntax*
|
||||
@ -6674,6 +6716,8 @@ ft-yaml-syntax syntax.txt /*ft-yaml-syntax*
|
||||
ft-zimbu-plugin filetype.txt /*ft-zimbu-plugin*
|
||||
ft-zsh-syntax syntax.txt /*ft-zsh-syntax*
|
||||
ft_ada.txt ft_ada.txt /*ft_ada.txt*
|
||||
ft_ps1.txt ft_ps1.txt /*ft_ps1.txt*
|
||||
ft_raku.txt ft_raku.txt /*ft_raku.txt*
|
||||
ft_rust.txt ft_rust.txt /*ft_rust.txt*
|
||||
ft_sql.txt ft_sql.txt /*ft_sql.txt*
|
||||
ftdetect filetype.txt /*ftdetect*
|
||||
@ -6799,10 +6843,12 @@ g:netrw_altv pi_netrw.txt /*g:netrw_altv*
|
||||
g:netrw_banner pi_netrw.txt /*g:netrw_banner*
|
||||
g:netrw_bannerbackslash pi_netrw.txt /*g:netrw_bannerbackslash*
|
||||
g:netrw_browse_split pi_netrw.txt /*g:netrw_browse_split*
|
||||
g:netrw_browsex_support_remote pi_netrw.txt /*g:netrw_browsex_support_remote*
|
||||
g:netrw_browsex_viewer pi_netrw.txt /*g:netrw_browsex_viewer*
|
||||
g:netrw_bufsettings pi_netrw.txt /*g:netrw_bufsettings*
|
||||
g:netrw_chgperm pi_netrw.txt /*g:netrw_chgperm*
|
||||
g:netrw_chgwin pi_netrw.txt /*g:netrw_chgwin*
|
||||
g:netrw_clipboard pi_netrw.txt /*g:netrw_clipboard*
|
||||
g:netrw_compress pi_netrw.txt /*g:netrw_compress*
|
||||
g:netrw_ctags pi_netrw.txt /*g:netrw_ctags*
|
||||
g:netrw_cursor pi_netrw.txt /*g:netrw_cursor*
|
||||
@ -6917,6 +6963,7 @@ g:tar_nomax pi_tar.txt /*g:tar_nomax*
|
||||
g:tar_readoptions pi_tar.txt /*g:tar_readoptions*
|
||||
g:tar_secure pi_tar.txt /*g:tar_secure*
|
||||
g:tar_writeoptions pi_tar.txt /*g:tar_writeoptions*
|
||||
g:termdebugger terminal.txt /*g:termdebugger*
|
||||
g:terminal_ansi_colors terminal.txt /*g:terminal_ansi_colors*
|
||||
g:tex_comment_nospell syntax.txt /*g:tex_comment_nospell*
|
||||
g:tex_conceal syntax.txt /*g:tex_conceal*
|
||||
@ -7000,6 +7047,7 @@ getchar() eval.txt /*getchar()*
|
||||
getcharmod() eval.txt /*getcharmod()*
|
||||
getcharpos() eval.txt /*getcharpos()*
|
||||
getcharsearch() eval.txt /*getcharsearch()*
|
||||
getcharstr() eval.txt /*getcharstr()*
|
||||
getcmdline() eval.txt /*getcmdline()*
|
||||
getcmdpos() eval.txt /*getcmdpos()*
|
||||
getcmdtype() eval.txt /*getcmdtype()*
|
||||
@ -7158,6 +7206,7 @@ gui-x11-printing gui_x11.txt /*gui-x11-printing*
|
||||
gui-x11-start gui_x11.txt /*gui-x11-start*
|
||||
gui-x11-various gui_x11.txt /*gui-x11-various*
|
||||
gui.txt gui.txt /*gui.txt*
|
||||
gui_running eval.txt /*gui_running*
|
||||
gui_w32.txt gui_w32.txt /*gui_w32.txt*
|
||||
gui_x11.txt gui_x11.txt /*gui_x11.txt*
|
||||
guifontwide_gtk gui.txt /*guifontwide_gtk*
|
||||
@ -7440,6 +7489,7 @@ i_CTRL-X_CTRL-T insert.txt /*i_CTRL-X_CTRL-T*
|
||||
i_CTRL-X_CTRL-U insert.txt /*i_CTRL-X_CTRL-U*
|
||||
i_CTRL-X_CTRL-V insert.txt /*i_CTRL-X_CTRL-V*
|
||||
i_CTRL-X_CTRL-Y insert.txt /*i_CTRL-X_CTRL-Y*
|
||||
i_CTRL-X_CTRL-Z insert.txt /*i_CTRL-X_CTRL-Z*
|
||||
i_CTRL-X_CTRL-] insert.txt /*i_CTRL-X_CTRL-]*
|
||||
i_CTRL-X_index index.txt /*i_CTRL-X_index*
|
||||
i_CTRL-X_s insert.txt /*i_CTRL-X_s*
|
||||
@ -7658,6 +7708,7 @@ lcs-conceal options.txt /*lcs-conceal*
|
||||
lcs-eol options.txt /*lcs-eol*
|
||||
lcs-extends options.txt /*lcs-extends*
|
||||
lcs-lead options.txt /*lcs-lead*
|
||||
lcs-multispace options.txt /*lcs-multispace*
|
||||
lcs-nbsp options.txt /*lcs-nbsp*
|
||||
lcs-precedes options.txt /*lcs-precedes*
|
||||
lcs-space options.txt /*lcs-space*
|
||||
@ -7692,6 +7743,7 @@ list-identity eval.txt /*list-identity*
|
||||
list-index eval.txt /*list-index*
|
||||
list-modification eval.txt /*list-modification*
|
||||
list-repeat windows.txt /*list-repeat*
|
||||
list2blob() eval.txt /*list2blob()*
|
||||
list2str() eval.txt /*list2str()*
|
||||
listener_add() eval.txt /*listener_add()*
|
||||
listener_flush() eval.txt /*listener_flush()*
|
||||
@ -7744,6 +7796,7 @@ lua-funcref if_lua.txt /*lua-funcref*
|
||||
lua-list if_lua.txt /*lua-list*
|
||||
lua-luaeval if_lua.txt /*lua-luaeval*
|
||||
lua-vim if_lua.txt /*lua-vim*
|
||||
lua-vim-variables if_lua.txt /*lua-vim-variables*
|
||||
lua-window if_lua.txt /*lua-window*
|
||||
lua.vim syntax.txt /*lua.vim*
|
||||
luaeval() eval.txt /*luaeval()*
|
||||
@ -7901,6 +7954,7 @@ moo.vim syntax.txt /*moo.vim*
|
||||
more-compatible version5.txt /*more-compatible*
|
||||
more-prompt message.txt /*more-prompt*
|
||||
more-variables eval.txt /*more-variables*
|
||||
motion-count-multiplied motion.txt /*motion-count-multiplied*
|
||||
motion.txt motion.txt /*motion.txt*
|
||||
mouse-mode-table term.txt /*mouse-mode-table*
|
||||
mouse-overview term.txt /*mouse-overview*
|
||||
@ -8348,6 +8402,7 @@ omni-sql-completion ft_sql.txt /*omni-sql-completion*
|
||||
online-help helphelp.txt /*online-help*
|
||||
opening-window windows.txt /*opening-window*
|
||||
operator motion.txt /*operator*
|
||||
operator-doubled motion.txt /*operator-doubled*
|
||||
operator-pending-index index.txt /*operator-pending-index*
|
||||
operator-variable eval.txt /*operator-variable*
|
||||
option-backslash options.txt /*option-backslash*
|
||||
@ -8401,6 +8456,7 @@ page_up intro.txt /*page_up*
|
||||
pager message.txt /*pager*
|
||||
papp.vim syntax.txt /*papp.vim*
|
||||
paragraph motion.txt /*paragraph*
|
||||
partial eval.txt /*partial*
|
||||
pascal.vim syntax.txt /*pascal.vim*
|
||||
patches-8 version8.txt /*patches-8*
|
||||
patches-8.1 version8.txt /*patches-8.1*
|
||||
@ -8584,6 +8640,7 @@ prompt_setprompt() eval.txt /*prompt_setprompt()*
|
||||
promptbuffer-functions usr_41.txt /*promptbuffer-functions*
|
||||
pronounce intro.txt /*pronounce*
|
||||
prop_add() textprop.txt /*prop_add()*
|
||||
prop_add_list() textprop.txt /*prop_add_list()*
|
||||
prop_clear() textprop.txt /*prop_clear()*
|
||||
prop_find() textprop.txt /*prop_find()*
|
||||
prop_list() textprop.txt /*prop_list()*
|
||||
@ -8598,7 +8655,6 @@ ps1-compiler ft_ps1.txt /*ps1-compiler*
|
||||
ps1-folding ft_ps1.txt /*ps1-folding*
|
||||
ps1-keyword ft_ps1.txt /*ps1-keyword*
|
||||
ps1-syntax ft_ps1.txt /*ps1-syntax*
|
||||
ps1.txt ft_ps1.txt /*ps1.txt*
|
||||
psql ft_sql.txt /*psql*
|
||||
ptcap.vim syntax.txt /*ptcap.vim*
|
||||
pterm-mouse options.txt /*pterm-mouse*
|
||||
@ -9618,6 +9674,7 @@ termcap-title term.txt /*termcap-title*
|
||||
termdebug-commands terminal.txt /*termdebug-commands*
|
||||
termdebug-communication terminal.txt /*termdebug-communication*
|
||||
termdebug-customizing terminal.txt /*termdebug-customizing*
|
||||
termdebug-events terminal.txt /*termdebug-events*
|
||||
termdebug-example terminal.txt /*termdebug-example*
|
||||
termdebug-prompt terminal.txt /*termdebug-prompt*
|
||||
termdebug-starting terminal.txt /*termdebug-starting*
|
||||
@ -9673,6 +9730,8 @@ test_feedinput() testing.txt /*test_feedinput()*
|
||||
test_garbagecollect_now() testing.txt /*test_garbagecollect_now()*
|
||||
test_garbagecollect_soon() testing.txt /*test_garbagecollect_soon()*
|
||||
test_getvalue() testing.txt /*test_getvalue()*
|
||||
test_gui_drop_files() testing.txt /*test_gui_drop_files()*
|
||||
test_gui_mouse_event() testing.txt /*test_gui_mouse_event()*
|
||||
test_ignore_error() testing.txt /*test_ignore_error()*
|
||||
test_null_blob() testing.txt /*test_null_blob()*
|
||||
test_null_channel() testing.txt /*test_null_channel()*
|
||||
@ -9745,6 +9804,7 @@ timestamps editing.txt /*timestamps*
|
||||
tips tips.txt /*tips*
|
||||
tips.txt tips.txt /*tips.txt*
|
||||
tmux syntax.txt /*tmux*
|
||||
tmux-integration term.txt /*tmux-integration*
|
||||
todo todo.txt /*todo*
|
||||
todo.txt todo.txt /*todo.txt*
|
||||
toggle options.txt /*toggle*
|
||||
@ -10066,6 +10126,7 @@ v_u change.txt /*v_u*
|
||||
v_v visual.txt /*v_v*
|
||||
v_x change.txt /*v_x*
|
||||
v_y change.txt /*v_y*
|
||||
v_zy change.txt /*v_zy*
|
||||
v_~ change.txt /*v_~*
|
||||
vab motion.txt /*vab*
|
||||
val-variable eval.txt /*val-variable*
|
||||
@ -10135,28 +10196,35 @@ vim-8.2 version8.txt /*vim-8.2*
|
||||
vim-additions vi_diff.txt /*vim-additions*
|
||||
vim-announce intro.txt /*vim-announce*
|
||||
vim-arguments starting.txt /*vim-arguments*
|
||||
vim-changelog version8.txt /*vim-changelog*
|
||||
vim-default-editor gui_w32.txt /*vim-default-editor*
|
||||
vim-dev intro.txt /*vim-dev*
|
||||
vim-mac intro.txt /*vim-mac*
|
||||
vim-modes intro.txt /*vim-modes*
|
||||
vim-modes-intro intro.txt /*vim-modes-intro*
|
||||
vim-raku ft_raku.txt /*vim-raku*
|
||||
vim-raku.txt ft_raku.txt /*vim-raku.txt*
|
||||
vim-script-intro usr_41.txt /*vim-script-intro*
|
||||
vim-use intro.txt /*vim-use*
|
||||
vim-variable eval.txt /*vim-variable*
|
||||
vim.b if_lua.txt /*vim.b*
|
||||
vim.g if_lua.txt /*vim.g*
|
||||
vim.t if_lua.txt /*vim.t*
|
||||
vim.v if_lua.txt /*vim.v*
|
||||
vim.vim syntax.txt /*vim.vim*
|
||||
vim.w if_lua.txt /*vim.w*
|
||||
vim7 version7.txt /*vim7*
|
||||
vim8 version8.txt /*vim8*
|
||||
vim9 vim9.txt /*vim9*
|
||||
vim9-classes vim9.txt /*vim9-classes*
|
||||
vim9-const vim9.txt /*vim9-const*
|
||||
vim9-curly vim9.txt /*vim9-curly*
|
||||
vim9-debug repeat.txt /*vim9-debug*
|
||||
vim9-declaration vim9.txt /*vim9-declaration*
|
||||
vim9-declarations usr_46.txt /*vim9-declarations*
|
||||
vim9-differences vim9.txt /*vim9-differences*
|
||||
vim9-export vim9.txt /*vim9-export*
|
||||
vim9-final vim9.txt /*vim9-final*
|
||||
vim9-function-defined-later vim9.txt /*vim9-function-defined-later*
|
||||
vim9-gotchas vim9.txt /*vim9-gotchas*
|
||||
vim9-ignored-argument vim9.txt /*vim9-ignored-argument*
|
||||
vim9-import vim9.txt /*vim9-import*
|
||||
@ -10164,6 +10232,7 @@ vim9-lambda vim9.txt /*vim9-lambda*
|
||||
vim9-lambda-arguments vim9.txt /*vim9-lambda-arguments*
|
||||
vim9-mix vim9.txt /*vim9-mix*
|
||||
vim9-namespace vim9.txt /*vim9-namespace*
|
||||
vim9-no-dict-function vim9.txt /*vim9-no-dict-function*
|
||||
vim9-rationale vim9.txt /*vim9-rationale*
|
||||
vim9-reload vim9.txt /*vim9-reload*
|
||||
vim9-scopes vim9.txt /*vim9-scopes*
|
||||
@ -10280,6 +10349,7 @@ win32-faq os_win32.txt /*win32-faq*
|
||||
win32-gettext mlang.txt /*win32-gettext*
|
||||
win32-gui gui_w32.txt /*win32-gui*
|
||||
win32-hidden-menus gui.txt /*win32-hidden-menus*
|
||||
win32-installer os_win32.txt /*win32-installer*
|
||||
win32-mouse os_win32.txt /*win32-mouse*
|
||||
win32-open-with-menu gui_w32.txt /*win32-open-with-menu*
|
||||
win32-popup-menu gui_w32.txt /*win32-popup-menu*
|
||||
@ -10435,6 +10505,7 @@ zOS-PuTTY os_390.txt /*zOS-PuTTY*
|
||||
zOS-has-ebcdic os_390.txt /*zOS-has-ebcdic*
|
||||
zOS-limitations os_390.txt /*zOS-limitations*
|
||||
zOS-open-source os_390.txt /*zOS-open-source*
|
||||
zP change.txt /*zP*
|
||||
zR fold.txt /*zR*
|
||||
zW spell.txt /*zW*
|
||||
zX fold.txt /*zX*
|
||||
@ -10462,6 +10533,7 @@ zl scroll.txt /*zl*
|
||||
zm fold.txt /*zm*
|
||||
zn fold.txt /*zn*
|
||||
zo fold.txt /*zo*
|
||||
zp change.txt /*zp*
|
||||
zr fold.txt /*zr*
|
||||
zs scroll.txt /*zs*
|
||||
zsh.vim syntax.txt /*zsh.vim*
|
||||
@ -10473,6 +10545,7 @@ zuw spell.txt /*zuw*
|
||||
zv fold.txt /*zv*
|
||||
zw spell.txt /*zw*
|
||||
zx fold.txt /*zx*
|
||||
zy change.txt /*zy*
|
||||
zz scroll.txt /*zz*
|
||||
{ motion.txt /*{*
|
||||
{Visual} intro.txt /*{Visual}*
|
||||
|
@ -1,4 +1,4 @@
|
||||
*term.txt* For Vim version 8.2. Last change: 2021 Jan 14
|
||||
*term.txt* For Vim version 8.2. Last change: 2021 Aug 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -126,6 +126,37 @@ automatically, you can try using something like this: >
|
||||
exec "set t_PS=\e[200~"
|
||||
exec "set t_PE=\e[201~"
|
||||
endif
|
||||
<
|
||||
*tmux-integration*
|
||||
If you experience issues when running Vim inside tmux, here are a few hints.
|
||||
You can comment-out parts if something doesn't work (it may depend on the
|
||||
terminal that tmux is running in): >
|
||||
|
||||
if !has('gui_running') && &term =~ '^\%(screen\|tmux\)'
|
||||
" Better mouse support, see :help 'ttymouse'
|
||||
set ttymouse=sgr
|
||||
|
||||
" Enable true colors, see :help xterm-true-color
|
||||
let &termguicolors = v:true
|
||||
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
|
||||
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
|
||||
|
||||
" Enable bracketed paste mode, see :help xterm-bracketed-paste
|
||||
let &t_BE = "\<Esc>[?2004h"
|
||||
let &t_BD = "\<Esc>[?2004l"
|
||||
let &t_PS = "\<Esc>[200~"
|
||||
let &t_PE = "\<Esc>[201~"
|
||||
|
||||
" Enable focus event tracking, see :help xterm-focus-event
|
||||
let &t_fe = "\<Esc>[?1004h"
|
||||
let &t_fd = "\<Esc>[?1004l"
|
||||
|
||||
" Enable modified arrow keys, see :help xterm-modifier-keys
|
||||
execute "silent! set <xUp>=\<Esc>[@;*A"
|
||||
execute "silent! set <xDown>=\<Esc>[@;*B"
|
||||
execute "silent! set <xRight>=\<Esc>[@;*C"
|
||||
execute "silent! set <xLeft>=\<Esc>[@;*D"
|
||||
endif
|
||||
<
|
||||
*cs7-problem*
|
||||
Note: If the terminal settings are changed after running Vim, you might have
|
||||
@ -373,10 +404,10 @@ Added by Vim (there are no standard codes for these):
|
||||
t_Ri restore icon text from stack *t_Ri* *'t_Ri'*
|
||||
t_TE end of "raw" mode *t_TE* *'t_TE'*
|
||||
t_TI put terminal into "raw" mode *t_TI* *'t_TI'*
|
||||
t_fd disable focus-event tracking *t_fd* *'t_fd'*
|
||||
|xterm-focus-event|
|
||||
t_fe enable focus-event tracking *t_fe* *'t_fe'*
|
||||
|xterm-focus-event|
|
||||
t_fd disable focus-event tracking *t_fd* *'t_fd'*
|
||||
|xterm-focus-event|
|
||||
|
||||
Some codes have a start, middle and end part. The start and end are defined
|
||||
by the termcap option, the middle part is text.
|
||||
@ -559,6 +590,11 @@ Focus event tracking is disabled by a 't_fd' sequence when exiting "raw" mode.
|
||||
If you would like to disable this feature, add the following to your .vimrc:
|
||||
`set t_fd=`
|
||||
`set t_fe=`
|
||||
If your terminal does support this but Vim does not recognize the terminal,
|
||||
you may have to set the options yourself: >
|
||||
let &t_fe = "\<Esc>[?1004h"
|
||||
let &t_fd = "\<Esc>[?1004l"
|
||||
If this causes garbage to show when Vim starts up then it doesn't work.
|
||||
|
||||
*termcap-colors*
|
||||
Note about colors: The 't_Co' option tells Vim the number of colors available.
|
||||
|
@ -1,4 +1,4 @@
|
||||
*terminal.txt* For Vim version 8.2. Last change: 2021 Feb 13
|
||||
*terminal.txt* For Vim version 8.2. Last change: 2021 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -168,9 +168,6 @@ terminal window will start with a white or black background.
|
||||
To use a different color the Terminal highlight group can be used, for
|
||||
example: >
|
||||
hi Terminal ctermbg=lightgrey ctermfg=blue guibg=lightgrey guifg=blue
|
||||
The highlight needs to be defined before the terminal is created. Doing it
|
||||
later, or setting 'wincolor', will only have effect when the program running
|
||||
in the terminal displays text or clears the terminal.
|
||||
Instead of Terminal another group can be specified with the "term_highlight"
|
||||
option for `term_start()`.
|
||||
|
||||
@ -752,18 +749,6 @@ term_sendkeys({buf}, {keys}) *term_sendkeys()*
|
||||
GetBufnr()->term_sendkeys(keys)
|
||||
|
||||
|
||||
term_setapi({buf}, {expr}) *term_setapi()*
|
||||
Set the function name prefix to be used for the |terminal-api|
|
||||
function in terminal {buf}. For example: >
|
||||
:call term_setapi(buf, "Myapi_")
|
||||
:call term_setapi(buf, "")
|
||||
<
|
||||
The default is "Tapi_". When {expr} is an empty string then
|
||||
no |terminal-api| function can be used for {buf}.
|
||||
|
||||
When used as a method the base is used for {buf}: >
|
||||
GetBufnr()->term_setapi({expr})
|
||||
|
||||
term_setansicolors({buf}, {colors}) *term_setansicolors()*
|
||||
Set the ANSI color palette used by terminal {buf}.
|
||||
{colors} must be a List of 16 valid color names or hexadecimal
|
||||
@ -799,6 +784,20 @@ term_setansicolors({buf}, {colors}) *term_setansicolors()*
|
||||
< {only available with GUI enabled and/or the |+termguicolors|
|
||||
feature}
|
||||
|
||||
|
||||
term_setapi({buf}, {expr}) *term_setapi()*
|
||||
Set the function name prefix to be used for the |terminal-api|
|
||||
function in terminal {buf}. For example: >
|
||||
:call term_setapi(buf, "Myapi_")
|
||||
:call term_setapi(buf, "")
|
||||
<
|
||||
The default is "Tapi_". When {expr} is an empty string then
|
||||
no |terminal-api| function can be used for {buf}.
|
||||
|
||||
When used as a method the base is used for {buf}: >
|
||||
GetBufnr()->term_setapi({expr})
|
||||
|
||||
|
||||
term_setkill({buf}, {how}) *term_setkill()*
|
||||
When exiting Vim or trying to close the terminal window in
|
||||
another way, {how} defines whether the job in the terminal can
|
||||
@ -1352,6 +1351,33 @@ Other commands ~
|
||||
*:Asm* jump to the window with the disassembly, create it if there
|
||||
isn't one
|
||||
|
||||
Events ~
|
||||
*termdebug-events*
|
||||
Four autocommands can be used: >
|
||||
au User TermdebugStartPre echomsg 'debugging starting'
|
||||
au User TermdebugStartPost echomsg 'debugging started'
|
||||
au User TermdebugStopPre echomsg 'debugging stopping'
|
||||
au User TermdebugStopPost echomsg 'debugging stopped'
|
||||
<
|
||||
*TermdebugStartPre*
|
||||
TermdebugStartPre Before starting debugging.
|
||||
Not triggered if the debugger is already
|
||||
running or |g:termdebugger| cannot be
|
||||
executed.
|
||||
*TermdebugStartPost*
|
||||
TermdebugStartPost After debugging has initialized.
|
||||
If a "!" bang is passed to `:Termdebug` or
|
||||
`:TermdebugCommand` the event is triggered
|
||||
before running the provided command in gdb.
|
||||
*TermdebugStopPre*
|
||||
TermdebugStopPre Before debugging ends, when gdb is terminated,
|
||||
most likely after issuing a "quit" command in
|
||||
the gdb window.
|
||||
*TermdebugStopPost*
|
||||
TermdebugStopPost After debugging has ended, gdb-related windows
|
||||
are closed, debug buffers wiped out and
|
||||
the state before the debugging was restored.
|
||||
|
||||
|
||||
Prompt mode ~
|
||||
*termdebug-prompt*
|
||||
@ -1396,11 +1422,11 @@ communication channel.
|
||||
|
||||
Customizing ~
|
||||
|
||||
GDB command *termdebug-customizing*
|
||||
|
||||
To change the name of the gdb command, set the "termdebugger" variable before
|
||||
GDB command *termdebug-customizing*
|
||||
*g:termdebugger*
|
||||
To change the name of the gdb command, set the "g:termdebugger" variable before
|
||||
invoking `:Termdebug`: >
|
||||
let termdebugger = "mygdb"
|
||||
let g:termdebugger = "mygdb"
|
||||
< *gdb-version*
|
||||
Only debuggers fully compatible with gdb will work. Vim uses the GDB/MI
|
||||
interface. The "new-ui" command requires gdb version 7.12 or later. if you
|
||||
|
@ -1,4 +1,4 @@
|
||||
*testing.txt* For Vim version 8.2. Last change: 2021 Apr 02
|
||||
*testing.txt* For Vim version 8.2. Last change: 2021 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -46,6 +46,7 @@ test_alloc_fail({id}, {countdown}, {repeat}) *test_alloc_fail()*
|
||||
Can also be used as a |method|: >
|
||||
GetAllocId()->test_alloc_fail()
|
||||
|
||||
|
||||
test_autochdir() *test_autochdir()*
|
||||
Set a flag to enable the effect of 'autochdir' before Vim
|
||||
startup has finished.
|
||||
@ -59,6 +60,7 @@ test_feedinput({string}) *test_feedinput()*
|
||||
Can also be used as a |method|: >
|
||||
GetText()->test_feedinput()
|
||||
|
||||
|
||||
test_garbagecollect_now() *test_garbagecollect_now()*
|
||||
Like garbagecollect(), but executed right away. This must
|
||||
only be called directly to avoid any structure to exist
|
||||
@ -78,6 +80,46 @@ test_getvalue({name}) *test_getvalue()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetName()->test_getvalue()
|
||||
<
|
||||
*test_gui_drop_files()*
|
||||
test_gui_drop_files({list}, {row}, {col}, {mods})
|
||||
Drop one or more files in {list} in the window at {row}, {col}.
|
||||
This function only works when the GUI is running and the
|
||||
|drop_file| feature is present.
|
||||
|
||||
The supported values for {mods} are:
|
||||
0x4 Shift
|
||||
0x8 Alt
|
||||
0x10 Ctrl
|
||||
The files are added to the |argument-list| and the first file
|
||||
in {list} is edited in the window. See |drag-n-drop| for more
|
||||
information.
|
||||
|
||||
*test_gui_mouse_event()*
|
||||
test_gui_mouse_event({button}, {row}, {col}, {multiclick}, {modifiers})
|
||||
Inject a mouse button click event. This function only works
|
||||
when the GUI is running.
|
||||
The supported values for {button} are:
|
||||
0 right mouse button
|
||||
1 middle mouse button
|
||||
2 left mouse button
|
||||
3 mouse button release
|
||||
4 scroll wheel down
|
||||
5 scroll wheel up
|
||||
6 scroll wheel left
|
||||
7 scroll wheel right
|
||||
{row} and {col} specify the location of the mouse click. The
|
||||
first row of the Vim window is 1 and the last row is 'lines'.
|
||||
The maximum value of {col} is 'columns'.
|
||||
To inject a multiclick event, set {multiclick} to 1.
|
||||
The supported values for {modifiers} are:
|
||||
4 shift is pressed
|
||||
8 alt is pressed
|
||||
16 ctrl is pressed
|
||||
After injecting the mouse event you probably should call
|
||||
|feedkeys()| to have them processed, e.g.: >
|
||||
call feedkeys("y", 'Lx!')
|
||||
|
||||
|
||||
test_ignore_error({expr}) *test_ignore_error()*
|
||||
Ignore any error containing {expr}. A normal message is given
|
||||
@ -92,6 +134,7 @@ test_ignore_error({expr}) *test_ignore_error()*
|
||||
Can also be used as a |method|: >
|
||||
GetErrorText()->test_ignore_error()
|
||||
|
||||
|
||||
test_null_blob() *test_null_blob()*
|
||||
Return a |Blob| that is null. Only useful for testing.
|
||||
|
||||
@ -126,13 +169,6 @@ test_null_string() *test_null_string()*
|
||||
Return a |String| that is null. Only useful for testing.
|
||||
|
||||
|
||||
test_unknown() *test_unknown()*
|
||||
Return a value with unknown type. Only useful for testing.
|
||||
|
||||
test_void() *test_void()*
|
||||
Return a value with void type. Only useful for testing.
|
||||
|
||||
|
||||
test_option_not_set({name}) *test_option_not_set()*
|
||||
Reset the flag that indicates option {name} was set. Thus it
|
||||
looks like it still has the default value. Use like this: >
|
||||
@ -184,6 +220,7 @@ test_override({name}, {val}) *test_override()*
|
||||
< Can also be used as a |method|: >
|
||||
GetOverrideVal()-> test_override('starting')
|
||||
|
||||
|
||||
test_refcount({expr}) *test_refcount()*
|
||||
Return the reference count of {expr}. When {expr} is of a
|
||||
type that does not have a reference count, returns -1. Only
|
||||
@ -213,6 +250,7 @@ test_scrollbar({which}, {value}, {dragging}) *test_scrollbar()*
|
||||
Can also be used as a |method|: >
|
||||
GetValue()->test_scrollbar('right', 0)
|
||||
|
||||
|
||||
test_setmouse({row}, {col}) *test_setmouse()*
|
||||
Set the mouse position to be used for the next mouse action.
|
||||
{row} and {col} are one based.
|
||||
@ -220,6 +258,7 @@ test_setmouse({row}, {col}) *test_setmouse()*
|
||||
call test_setmouse(4, 20)
|
||||
call feedkeys("\<LeftMouse>", "xt")
|
||||
|
||||
|
||||
test_settime({expr}) *test_settime()*
|
||||
Set the time Vim uses internally. Currently only used for
|
||||
timestamps in the history, as they are used in viminfo, and
|
||||
@ -232,10 +271,19 @@ test_settime({expr}) *test_settime()*
|
||||
Can also be used as a |method|: >
|
||||
GetTime()->test_settime()
|
||||
|
||||
|
||||
test_srand_seed([seed]) *test_srand_seed()*
|
||||
When [seed] is given this sets the seed value used by
|
||||
`srand()`. When omitted the test seed is removed.
|
||||
|
||||
|
||||
test_unknown() *test_unknown()*
|
||||
Return a value with unknown type. Only useful for testing.
|
||||
|
||||
|
||||
test_void() *test_void()*
|
||||
Return a value with void type. Only useful for testing.
|
||||
|
||||
==============================================================================
|
||||
3. Assert functions *assert-functions-details*
|
||||
|
||||
@ -406,7 +454,7 @@ assert_notmatch({pattern}, {actual} [, {msg}])
|
||||
|
||||
|
||||
assert_report({msg}) *assert_report()*
|
||||
Report a test failure directly, using {msg}.
|
||||
Report a test failure directly, using String {msg}.
|
||||
Always returns one.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
|
@ -1,4 +1,4 @@
|
||||
*textprop.txt* For Vim version 8.2. Last change: 2021 May 26
|
||||
*textprop.txt* For Vim version 8.2. Last change: 2021 Aug 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -108,6 +108,9 @@ prop_type_list([{props}]) get list of property types
|
||||
Manipulating text properties:
|
||||
|
||||
prop_add({lnum}, {col}, {props}) add a text property
|
||||
prop_add_list({props}, [[{lnum}, {col}, {end-lnum}, {end-col}], ...])
|
||||
add a text property at multiple
|
||||
positions.
|
||||
prop_clear({lnum} [, {lnum-end} [, {bufnr}]])
|
||||
remove all text properties
|
||||
prop_find({props} [, {direction}]) search for a text property
|
||||
@ -157,6 +160,35 @@ prop_add({lnum}, {col}, {props})
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetLnum()->prop_add(col, props)
|
||||
<
|
||||
*prop_add_list()*
|
||||
prop_add_list({props}, [[{lnum}, {col}, {end-lnum}, {end-col}], ...])
|
||||
Similar to prop_add(), but attaches a text property at
|
||||
multiple positions in a buffer.
|
||||
|
||||
{props} is a dictionary with these fields:
|
||||
bufnr buffer to add the property to; when omitted
|
||||
the current buffer is used
|
||||
id user defined ID for the property; must be a
|
||||
number; when omitted zero is used
|
||||
type name of the text property type
|
||||
All fields except "type" are optional.
|
||||
|
||||
The second argument is a List of Lists where each list
|
||||
specifies the starting and ending position of the text. The
|
||||
first two items {lnum} and {col} specify the starting position
|
||||
of the text where the property will be attached and the last
|
||||
two items {end-lnum} and {end-col} specify the position just
|
||||
after the text.
|
||||
|
||||
Example:
|
||||
call prop_add_list(#{type: 'MyProp', id: 2},
|
||||
\ [[1, 4, 1, 7],
|
||||
\ [1, 15, 1, 20],
|
||||
\ [2, 30, 3, 30]]
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetProp()->prop_add_list([[1, 1, 1, 2], [1, 4, 1, 8]])
|
||||
|
||||
|
||||
prop_clear({lnum} [, {lnum-end} [, {props}]]) *prop_clear()*
|
||||
@ -211,6 +243,8 @@ prop_list({lnum} [, {props}]) *prop_list()*
|
||||
id property ID
|
||||
type name of the property type, omitted if
|
||||
the type was deleted
|
||||
type_bufnr buffer number for which this type was defined;
|
||||
0 if the type is global
|
||||
start when TRUE property starts in this line
|
||||
end when TRUE property ends in this line
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 8.2. Last change: 2021 May 28
|
||||
*todo.txt* For Vim version 8.2. Last change: 2021 Oct 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -38,31 +38,14 @@ browser use: https://github.com/vim/vim/issues/1234
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Geen memory leak?
|
||||
|
||||
Crash using outer var from nested lambda:
|
||||
vim9script
|
||||
def F(text: string): func(string): func(string): string
|
||||
return (arg: string): func(string): string => ((sep: string): string => {
|
||||
return text .. ' ' .. arg
|
||||
})
|
||||
enddef
|
||||
|
||||
echo F('hello')(' ')('there')
|
||||
|
||||
|
||||
Remove s:flaky_tests from runtest.vim, set g:test_is_flaky in each test.
|
||||
|
||||
Vim9 - Make everything work:
|
||||
- function returning nothing should return void instead of zero
|
||||
- compile "expr" and "call" expression of a channel in channel_exe_cmd()?
|
||||
- Need some solution for dict function. Can we implement part of classes?
|
||||
- A lambda without {} does not require a return type, using { return x } does.
|
||||
That's unexpected, since the arguments are not required to have a type.
|
||||
alt 1: not require a return type, figure it out from the common type of all
|
||||
the return statements found
|
||||
alt 2: also require argument types
|
||||
- Using "windo echo expr" does not accept a line break inside "expr" (in a
|
||||
:def function and at script level in a not executed block). #7681
|
||||
- "filter #pat# ls" should work, #pat# is not a comment
|
||||
vim9script
|
||||
edit foobar
|
||||
filter #foobar# ls
|
||||
- Check TODO items in vim9compile.c and vim9execute.c
|
||||
- use CheckLegacyAndVim9Success(lines) in many more places
|
||||
- For builtin functions using tv_get_string*() use check_for_string() to be
|
||||
more strict about the argument type (not a bool).
|
||||
@ -70,25 +53,21 @@ Vim9 - Make everything work:
|
||||
- Check many more builtin function arguments at compile time.
|
||||
map() could check that the return type of the function argument matches
|
||||
the type of the list or dict member. (#8092)
|
||||
- Allow for using an autoload function name without quotes. It is then loaded
|
||||
(and compiled) right away. #8124
|
||||
- Test more expressions in legacy and Vim9 script, using
|
||||
CheckLegacyAndVim9Success()
|
||||
Same for other functions, such as searchpair().
|
||||
- Test try/catch and throw better, also nested.
|
||||
Test that return inside try/finally jumps to finally and then returns.
|
||||
- Test that a function defined inside a :def function is local to that
|
||||
function, g: functions can be defined and script-local functions cannot be
|
||||
defined.
|
||||
- Make debugging work - at least per function. Need to recompile a function
|
||||
to step through it line-by-line? Evaluate the stack and variables on the
|
||||
stack?
|
||||
- Reserve command for future use: :type, :class, :enum
|
||||
- Unexpected error message when using "var x: any | x.key = 9", because "x" is
|
||||
given the type number. Can we use VAR_ANY?
|
||||
- Check performance with callgrind and kcachegrind.
|
||||
|
||||
Once Vim9 is stable:
|
||||
- Add the "vim9script" feature, can use has('vim9script')
|
||||
- Change the help to prefer Vim9 syntax where appropriate
|
||||
- Add all the error numbers in a good place in documentation.
|
||||
- In the generic eval docs, point out the Vim9 syntax where it differs.
|
||||
- Add the "vim9script" feature, can use has('vim9script')
|
||||
- Use Vim9 for runtime files.
|
||||
PR #7497 for autoload/ccomplete.vim
|
||||
|
||||
@ -98,15 +77,17 @@ Further Vim9 improvements, possibly after launch:
|
||||
'foldexpr', 'foldtext', 'printexpr', 'diffexpr', 'patchexpr', 'charconvert',
|
||||
'balloonexpr', 'includeexpr', 'indentexpr', 'formatexpr'.
|
||||
Give an error if compilation fails. (#7625)
|
||||
Alternatively: Detect a compiled function call and skip the expression
|
||||
evaluation.
|
||||
Use the location where the option was set for deciding whether it's to be
|
||||
evaluated in Vim9 script context.
|
||||
- implement :type, import type declaration.
|
||||
- implement enum, import enum.
|
||||
- Future work: See |vim9-classes|
|
||||
- Handle command that is only a range more efficient than calling ISN_EXEC
|
||||
- implement :type, "import type"
|
||||
- implement enum, "import enum".
|
||||
- implement class and interface: See |vim9-classes|
|
||||
- For range: make table of first ASCII character with flag to quickly check if
|
||||
it can be a Vim9 command. E.g. "+" can, but "." can't.
|
||||
- compile get_lambda_tv() in popup_add_timeout()
|
||||
- inline call to map() and filter()
|
||||
- Inline call to map() and filter(), better type checking.
|
||||
- Make accessing varargs faster: arg[expr]
|
||||
EVAL expr
|
||||
LOADVARARG (varargs idx)
|
||||
@ -241,10 +222,16 @@ Terminal emulator window:
|
||||
|
||||
Include patch #6290: recognize shell directory change.
|
||||
|
||||
MS-Windows GUI: default 'encoding' to "utf-8" ? (#8221)
|
||||
Add #ifdef MSWIN before enc_locale() in set_init_1().
|
||||
Or just always for MS-Windows? Conversion to 'termencoding' should always
|
||||
work?
|
||||
When using 'cryptmethod' xchaha20 the undo file is not encrypted.
|
||||
Need to handle extra bytes.
|
||||
|
||||
Test_communicate_ipv6(): is flaky on many systems
|
||||
Fails in line 64 of Ch_communicate, no exception is thrown.
|
||||
|
||||
Patch for Template string: #4634
|
||||
Have another look at the implementation.
|
||||
|
||||
Rename getdigraphlist -> digraph_getlist() etc.
|
||||
|
||||
Valgrind reports memory leaks in test_options.
|
||||
Valgrind reports overlapping memcpy in
|
||||
@ -256,7 +243,6 @@ Valgrind reports overlapping memcpy in
|
||||
test_normal
|
||||
test_popupwin.35 et al.
|
||||
test_search_stat
|
||||
Using uninitialized value in test_crypt (can't explain why).
|
||||
Memory leak in test_debugger
|
||||
Memory leak in test_paste, using XtOpenDisplay several times
|
||||
OLD:
|
||||
@ -265,16 +251,21 @@ Memory leak in test_alot with pyeval() (allocating partial)
|
||||
Memory leak in test_alot with expand()
|
||||
Memory leaks in test_channel? (or is it because of fork())
|
||||
|
||||
Idea: when typing ":e /some/dir/" and "dir" does not exist, highlight in red.
|
||||
|
||||
":set &shellpipe" and ":set &shellredir" should use the logic from
|
||||
initialization to figure out the default value from 'shell'. Add a test for
|
||||
this.
|
||||
|
||||
MS-Windows: did path modifier :p:8 stop working? #8600
|
||||
|
||||
test_arglist func Test_all_not_allowed_from_cmdwin() hangs on MS-Windows.
|
||||
|
||||
Mapping with partial match not executed properly in GTK. (Ingo Karkat, #7082)
|
||||
|
||||
Patch for Template string: #4634
|
||||
Have another look at the implementation.
|
||||
Problem that a previous silent ":throw" causes a following try/catch not to
|
||||
work. (ZyX, 2013 Sep 28) With examples: (Malcolm Rowe, 2015 Dec 24)
|
||||
Also see #8487 for an example.
|
||||
|
||||
Patch to implement the vimtutor with a plugin: #6414
|
||||
Was originally written by Felipe Morales.
|
||||
@ -292,6 +283,9 @@ Remove SPACE_IN_FILENAME ? It is only used for completion.
|
||||
Searching for \%'> does not find anything when using line Visual selection.
|
||||
Probably because it's using MAXCOL. #8238
|
||||
|
||||
Make "g>" and "g<" in Visual mode move the text right or left.
|
||||
Also for a block selection. #8558
|
||||
|
||||
Add optional argument to virtcol() that specifies "start", "cursor" or "end"
|
||||
to tell which value from getvvcol() should be used. (#7964)
|
||||
Value returned by virtcol() changes depending on how lines wrap. This is
|
||||
@ -300,10 +294,13 @@ inconsistent with the documentation.
|
||||
Making breakat support multibyte characters (Yasuhiro Matsumoto, #6598)
|
||||
Scroll doesn't work correctly, why?
|
||||
|
||||
glob() and globfile() do not always honor 'wildignorecase'. #8350
|
||||
globpath() does not use 'wildignorecase' at all?
|
||||
|
||||
Add 'termguiattr' option, use "gui=" attributes in the terminal? Would work
|
||||
with 'termguicolors'. #1740
|
||||
|
||||
Patch for blockwise paste reporting changes: #6660.
|
||||
Patch for blockwise paste reporting changes: #6660. Asked for a PR.
|
||||
|
||||
Patch to make fillchars global-local. (#5206)
|
||||
|
||||
@ -344,6 +341,12 @@ Should also work without any group:
|
||||
:echo matchstr('aaa bbb', '.\{-1,}\>\|.*')
|
||||
aaa bbb (should be aaa)
|
||||
|
||||
Should add a match/str/list/pos method that also returns the test and position
|
||||
of submatches. #8355
|
||||
|
||||
Syntax highlight for a region does not work with a "nextgroup" if the start
|
||||
match is empty. #8449
|
||||
|
||||
Check out PR #543 (Roland Puntaier).
|
||||
Patch for multibyte characters in langmap and applying a mapping on them.
|
||||
(Christian Brabandt, 2015 Jun 12, update July 25)
|
||||
@ -366,9 +369,6 @@ autocommands for the buffer lifecycle:
|
||||
BufIsRenamed (after buffer ID gets another name)
|
||||
The buffer list and windows are locked, no changes possible
|
||||
|
||||
Add a ModeChanged autocommand that has an argument indicating the old and new
|
||||
mode, as what's returned from mode(). Also used for switching Terminal mode.
|
||||
|
||||
Matchparen doesn't remove highlight after undo. (#7054)
|
||||
Is OK when syntax HL is active.
|
||||
|
||||
@ -380,6 +380,10 @@ work.
|
||||
Using "au!" after "filetype on" is a bit slow. Can the matching of
|
||||
autocommands be made faster? (#7056)
|
||||
|
||||
Append in Visual block mode inserts the wrong character.
|
||||
Test_visual_block_mode() already has the proper check, which is commented out.
|
||||
(#8288)
|
||||
|
||||
Add the <=> (spaceship) operator and "cond ?< expr ?= expr ?> expr"
|
||||
replace this:
|
||||
let left = GetLeftFunc()
|
||||
@ -426,6 +430,9 @@ undo result wrong: Masato Nishihata, #4798
|
||||
After recovering from a swap file the undofile should not be used, it causes
|
||||
corruption. (#6631)
|
||||
|
||||
When the computer crashes while writing the undofile, the contents may be
|
||||
lost. Write to a temp file, fsync and rename. (#8879)
|
||||
|
||||
When 'lazyredraw' is set sometimes the title is not updated.
|
||||
(Jason Franklin, 2020 Feb 3) Looks like a race condition.
|
||||
|
||||
@ -623,24 +630,27 @@ Window size changes after closing a tab. (#4741)
|
||||
|
||||
Problem with colors in terminal window. (Jason Franklin, 2019 May 12)
|
||||
|
||||
Lifepillar: Updated/cleaned up color schemes:
|
||||
https://github.com/lifepillar/vim8-colorschemes.
|
||||
|
||||
Include a few color schemes, based on popularity:
|
||||
http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=search
|
||||
Color schemes:
|
||||
NOTE: modernizing the default colorschemes _AND_ introducing new ones is now
|
||||
a project in its own right: https://github.com/vim/colorschemes. Feel free to
|
||||
reach out if you want to lend a hand.
|
||||
- Lifepillar: Updated/cleaned up color schemes:
|
||||
https://github.com/lifepillar/vim8-colorschemes.
|
||||
- Include a few color schemes, based on popularity:
|
||||
- http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=search
|
||||
http://vimawesome.com/?q=tag:color-scheme
|
||||
Use names that indicate their appearance (Christian Brabandt, 2017 Aug 3)
|
||||
- monokai - Xia Crusoe (2017 Aug 4)
|
||||
- seoul256 - Christian Brabandt (2017 Aug 3)
|
||||
- gruvbox - Christian Brabandt (2017 Aug 3) (simplified version from
|
||||
Lifepillar, 2018 Jan 22, #2573)
|
||||
- janah - Marco Hinz (2017 Aug 4)
|
||||
- apprentice - Romain Lafourcade (2017 Aug 6) remarks about help file #1964
|
||||
Suggested by Hiroki Kokubun:
|
||||
- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
|
||||
- [hybrid](https://github.com/w0ng/vim-hybrid)
|
||||
Include solarized color scheme?, it does not support termguicolors.
|
||||
- Sanitized version of pablo (Lifepillar, 2017 Nov 21)
|
||||
- Use names that indicate their appearance (Christian Brabandt, 2017 Aug 3)
|
||||
- monokai - Xia Crusoe (2017 Aug 4)
|
||||
- seoul256 - Christian Brabandt (2017 Aug 3)
|
||||
- gruvbox - Christian Brabandt (2017 Aug 3) (simplified version from
|
||||
Lifepillar, 2018 Jan 22, #2573)
|
||||
- janah - Marco Hinz (2017 Aug 4)
|
||||
- apprentice - Romain Lafourcade (2017 Aug 6) remarks about help file #1964
|
||||
- Suggested by Hiroki Kokubun:
|
||||
- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
|
||||
- [hybrid](https://github.com/w0ng/vim-hybrid)
|
||||
- Include solarized color scheme?, it does not support termguicolors.
|
||||
- Sanitized version of pablo (Lifepillar, 2017 Nov 21)
|
||||
|
||||
Bug: "vipgw" does not put cursor back where it belongs. (Jason Franklin, 2019
|
||||
Mar 5)
|
||||
@ -717,9 +727,6 @@ tab page. (Ingo Karkat, #4324)
|
||||
This modeline throws unexpected errors: (#4165)
|
||||
vim: syn=nosyntax
|
||||
|
||||
":doau SomeEvent" gives "No matching autocommands". This message doesn't give
|
||||
a hint about how to fix it. (#4300)
|
||||
|
||||
Make balloon_show() work outside of 'balloonexpr'? Users expect it to work:
|
||||
#2948. (related to #1512?)
|
||||
Also see #2352, want better control over balloon, perhaps set the position.
|
||||
@ -1039,6 +1046,9 @@ matchit hasn't been maintained for a long time. #955.
|
||||
|
||||
Problem with 'delcombine'. (agguser, 2017 Nov 10, #2313)
|
||||
|
||||
'delcombine' does not work for the command line. (Tony Mechelynck, 2009 Jul
|
||||
20)
|
||||
|
||||
MS-Windows: buffer completion doesn't work when using backslash (or slash)
|
||||
for a path separator. (xtal8, #2201)
|
||||
|
||||
@ -1428,9 +1438,6 @@ Appveyor build with self-installing executable, includes getting most
|
||||
interfaces: https://github.com/k-takata/vim/tree/chrisbra-appveyor-build
|
||||
result: https://ci.appveyor.com/project/k-takata/vim/history
|
||||
|
||||
Problem that a previous silent ":throw" causes a following try/catch not to
|
||||
work. (ZyX, 2013 Sep 28) With examples: (Malcolm Rowe, 2015 Dec 24)
|
||||
|
||||
Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
|
||||
|
||||
Patch to make tests pass with EBCDIC. (Owen Leibman, 2016 Apr 10)
|
||||
@ -2263,9 +2270,6 @@ Win32: Improved Makefile for MSVC. (Leonardo Valeri Manera, 2010 Aug 18)
|
||||
|
||||
Win32: Expanding 'path' runs into a maximum size limit. (bgold12, 2009 Nov 15)
|
||||
|
||||
Win32: Patch for enabling quick edit mode in console. (Craig Barkhouse, 2010
|
||||
Sep 1)
|
||||
|
||||
Win32: Patch for using .png files for icons. (Charles Peacech, 2012 Feb 5)
|
||||
|
||||
Putting a Visual block while 'visualedit' is "all" does not leave the cursor
|
||||
@ -2306,9 +2310,6 @@ for GTK clipboard. Avoid requirement for iconv.
|
||||
|
||||
Now that colnr_T is int instead of unsigned, more type casts can be removed.
|
||||
|
||||
'delcombine' does not work for the command line. (Tony Mechelynck, 2009 Jul
|
||||
20)
|
||||
|
||||
Don't load macmap.vim on startup, turn it into a plugin. (Ron Aaron,
|
||||
2009 Apr 7) Reminder Apr 14.
|
||||
|
||||
@ -3081,7 +3082,7 @@ Awaiting updated patches:
|
||||
7 When 'rightleft' is set, the search pattern should be displayed right
|
||||
to left as well? See patch of Dec 26. (Nadim Shaikli)
|
||||
8 Option to lock all used memory so that it doesn't get swapped to disk
|
||||
(uncrypted). Patch by Jason Holt, 2003 May 23. Uses mlock.
|
||||
(unencrypted). Patch by Jason Holt, 2003 May 23. Uses mlock.
|
||||
7 Add ! register, for shell commands. (patch from Grenie)
|
||||
8 In the gzip plugin, also recognize *.gz.orig, *.gz.bak, etc. Like it's
|
||||
done for filetype detection. Patch from Walter Briscoe, 2003 Jul 1.
|
||||
@ -4849,7 +4850,6 @@ Autocommands:
|
||||
command used dos fileformat. Same for 'fileencoding'.
|
||||
- Add events to autocommands:
|
||||
Error - When an error happens
|
||||
ModeChange - after changing mode (before waiting for a char)
|
||||
VimLeaveCheck - Before Vim decides to exit, so that it can be cancelled
|
||||
when exiting isn't a good idea.
|
||||
CursorHoldC - CursorHold while command-line editing
|
||||
|
@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 8.2. Last change: 2021 Apr 19
|
||||
*usr_41.txt* For Vim version 8.2. Last change: 2021 Sep 10
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@ -723,6 +723,10 @@ Floating point computation: *float-functions*
|
||||
isinf() check for infinity
|
||||
isnan() check for not a number
|
||||
|
||||
Blob manipulation: *blob-functions*
|
||||
blob2list() get a list of numbers from a blob
|
||||
list2blob() get a blob from a list of numbers
|
||||
|
||||
Other computation: *bitwise-function*
|
||||
and() bitwise AND
|
||||
invert() bitwise invert
|
||||
@ -994,6 +998,10 @@ Window size and position: *window-size-functions*
|
||||
winrestview() restore saved view of current window
|
||||
|
||||
Mappings and Menus: *mapping-functions*
|
||||
digraph_get() get |digraph|
|
||||
digraph_getlist() get all |digraph|s
|
||||
digraph_set() register |digraph|
|
||||
digraph_setlist() register multiple |digraph|s
|
||||
hasmapto() check if a mapping exists
|
||||
mapcheck() check if a matching mapping exists
|
||||
maparg() get rhs of a mapping
|
||||
@ -1021,6 +1029,8 @@ Testing: *test-functions*
|
||||
test_garbagecollect_now() free memory right now
|
||||
test_garbagecollect_soon() set a flag to free memory soon
|
||||
test_getvalue() get value of an internal variable
|
||||
test_gui_drop_files() drop file(s) in a window
|
||||
test_gui_mouse_event() add a GUI mouse event to the input buffer
|
||||
test_ignore_error() ignore a specific error message
|
||||
test_null_blob() return a null Blob
|
||||
test_null_channel() return a null Channel
|
||||
@ -1155,6 +1165,7 @@ Prompt Buffer: *promptbuffer-functions*
|
||||
|
||||
Text Properties: *text-property-functions*
|
||||
prop_add() attach a property at a position
|
||||
prop_add_list() attach a property at multiple positions
|
||||
prop_clear() remove all properties from a line or lines
|
||||
prop_find() search for a property
|
||||
prop_list() return a list of all properties in a line
|
||||
@ -1176,6 +1187,7 @@ Various: *various-functions*
|
||||
state() get current busy state
|
||||
visualmode() last visual mode used
|
||||
exists() check if a variable, function, etc. exists
|
||||
exists_compiled() like exists() but check at compile time
|
||||
has() check if a feature is supported in Vim
|
||||
changenr() return number of most recent change
|
||||
cscope_connection() check if a cscope connection exists
|
||||
@ -1441,6 +1453,8 @@ is a List with arguments.
|
||||
Function references are most useful in combination with a Dictionary, as is
|
||||
explained in the next section.
|
||||
|
||||
More information about defining your own functions here: |user-functions|.
|
||||
|
||||
==============================================================================
|
||||
*41.8* Lists and Dictionaries
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 8.2. Last change: 2021 Mar 23
|
||||
*various.txt* For Vim version 8.2. Last change: 2021 Sep 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -170,8 +170,13 @@ g8 Print the hex values of the bytes used in the
|
||||
If the mark is "=", a line of dashes is printed
|
||||
around the current line.
|
||||
|
||||
:[range]z#[+-^.=][count] *:z#*
|
||||
Like ":z", but number the lines.
|
||||
*:z!*
|
||||
:[range]z![+-^.=][count]
|
||||
Like ":z", but when [count] is not specified, it
|
||||
defaults to the Vim window height minus one.
|
||||
|
||||
:[range]z[!]#[+-^.=][count] *:z#*
|
||||
Like ":z" or ":z!", but number the lines.
|
||||
|
||||
*:=*
|
||||
:= [flags] Print the last line number.
|
||||
@ -418,7 +423,7 @@ N *+multi_lang* non-English language support |multi-lang|
|
||||
m *+mzscheme* Mzscheme interface |mzscheme|
|
||||
m *+mzscheme/dyn* Mzscheme interface |mzscheme-dynamic| |/dyn|
|
||||
m *+netbeans_intg* |netbeans|
|
||||
*+num64* 64-bit Number support |Number|
|
||||
*+num64* 64-bit Number support |Number|
|
||||
Always enabled since 8.2.0271, use v:numbersize to
|
||||
check the actual size of a Number.
|
||||
m *+ole* Win32 GUI only: |ole-interface|
|
||||
@ -444,6 +449,7 @@ m *+ruby/dyn* Ruby interface |ruby-dynamic| |/dyn|
|
||||
T *+scrollbind* |'scrollbind'|
|
||||
B *+signs* |:sign|
|
||||
N *+smartindent* |'smartindent'|
|
||||
B *+sodium* compiled with libsodium for better encryption support
|
||||
B *+sound* |sound_playevent()|, |sound_playfile()| functions, etc.
|
||||
N *+spell* spell checking support, see |spell|
|
||||
N *+startuptime* |--startuptime| argument
|
||||
@ -724,7 +730,7 @@ K Run a program to lookup the keyword under the
|
||||
feature}
|
||||
|
||||
*:sl!* *:sleep!*
|
||||
:[N]sl[eep]! [N] [m] Same as above, but hide the cursor.
|
||||
:[N]sl[eep]! [N][m] Same as above, but hide the cursor.
|
||||
|
||||
*:xrestore* *:xr*
|
||||
:xr[estore] [display] Reinitializes the connection to the X11 server. Useful
|
||||
|
@ -2696,7 +2696,7 @@ Multi-byte:
|
||||
double-wide character.
|
||||
- Overstrike mode for the cmdline replaced only the first byte of a multibyte
|
||||
character.
|
||||
- The cursor in Replace mode (also in the cmdline) was to small on a
|
||||
- The cursor in Replace mode (also in the cmdline) was too small on a
|
||||
double-wide character.
|
||||
- When a multibyte character contained a 0x80 byte, it didn't work (was using
|
||||
a CSI byte instead). (Muraoka Taro)
|
||||
@ -3546,7 +3546,7 @@ Added Simplified Chinese translation of the tutor. (Mendel L Chan)
|
||||
Added Russian keymap for yawerty keyboard.
|
||||
|
||||
Added an explanation of using the vimrc file in the tutor.
|
||||
Changed tutor.vim to get the right encoding for the Taiwainese tutor.
|
||||
Changed tutor.vim to get the right encoding for the Taiwanese tutor.
|
||||
|
||||
Added Russian tutor. (Andrey Kiselev)
|
||||
Added Polish tutor. (Mikolaj Machowski)
|
||||
@ -5465,7 +5465,7 @@ Files: src/fileio.c
|
||||
Patch 6.0.267
|
||||
Problem: UTF-8: Although 'isprint' says a character is printable,
|
||||
utf_char2cells() still considers it unprintable.
|
||||
Solution: Use vim_isprintc() for characters upto 0x100. (Yasuhiro Matsumoto)
|
||||
Solution: Use vim_isprintc() for characters up to 0x100. (Yasuhiro Matsumoto)
|
||||
Files: src/mbyte.c
|
||||
|
||||
Patch 6.0.268 (extra) (depends on patch 6.0.255)
|
||||
@ -12232,7 +12232,7 @@ Files: Makefile, src/gvim.exe.mnf, src/vim.rc
|
||||
|
||||
Patch 6.2.348
|
||||
Problem: Win32: "vim c:\dir\(test)" doesn't work, because the 'isfname'
|
||||
default value doesn't contain parenthesis.
|
||||
default value doesn't contain parentheses.
|
||||
Solution: Temporarily add '(' and ')' to 'isfname' when expanding file name
|
||||
arguments.
|
||||
Files: src/main.c
|
||||
|
@ -1,4 +1,4 @@
|
||||
*version7.txt* For Vim version 8.2. Last change: 2021 May 13
|
||||
*version7.txt* For Vim version 8.2. Last change: 2021 May 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -16225,7 +16225,7 @@ Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok,
|
||||
Patch 7.3.1018
|
||||
Problem: New regexp engine wastes memory.
|
||||
Solution: Allocate prog with actual number of states, not estimated maximum
|
||||
number of sates.
|
||||
number of states.
|
||||
Files: src/regexp_nfa.c
|
||||
|
||||
Patch 7.3.1019
|
||||
|
@ -1,4 +1,4 @@
|
||||
*version8.txt* For Vim version 8.2. Last change: 2021 May 13
|
||||
*version8.txt* For Vim version 8.2. Last change: 2021 Jul 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -41,6 +41,10 @@ See |vi_diff.txt| for an overview of differences between Vi and Vim 8.0.
|
||||
See |version4.txt|, |version5.txt|, |version6.txt| and |version7.txt| for
|
||||
differences between other versions.
|
||||
|
||||
*vim-changelog*
|
||||
You can find an overview of the most important changes (according to Martin
|
||||
Tournoij) on this site: https://www.arp242.net/vimlog/
|
||||
|
||||
==============================================================================
|
||||
NEW FEATURES *new-8*
|
||||
|
||||
@ -12980,7 +12984,7 @@ Files: src/evalfunc.c, src/testdir/test_cmdline.vim
|
||||
Patch 7.4.2113
|
||||
Problem: Test for undo is flaky.
|
||||
Solution: Turn it into a new style test. Use test_settime() to avoid
|
||||
flakyness.
|
||||
flakiness.
|
||||
Files: src/Makefile, src/undo.c, src/testdir/test61.in,
|
||||
src/testdir/test61.ok, src/testdir/test_undo.vim,
|
||||
src/testdir/test_undolevels.vim, src/testdir/Make_all.mak,
|
||||
@ -30906,7 +30910,7 @@ Files: src/eval.c, src/testdir/test_assert.vim
|
||||
Patch 8.1.0820
|
||||
Problem: Test for sending large data over channel sometimes fails.
|
||||
Solution: Handle that the job may have finished early. Also fix that file
|
||||
changed test doesn't work in the GUI and reduce flakyness. (Ozaki
|
||||
changed test doesn't work in the GUI and reduce flakiness. (Ozaki
|
||||
Kiichi, closes #3861)
|
||||
Files: src/testdir/test_channel.vim, src/testdir/test_filechanged.vim
|
||||
|
||||
@ -35504,7 +35508,7 @@ Files: Filelist, src/testdir/Make_all.mak, src/testdir/check.vim,
|
||||
src/testdir/test_xxd.vim
|
||||
|
||||
Patch 8.1.1545
|
||||
Problem: When the screen is to small there is no message about that.
|
||||
Problem: When the screen is too small there is no message about that.
|
||||
(Daniel Hahler)
|
||||
Solution: Do not use :cquit. (closes #4534)
|
||||
Files: src/testdir/runtest.vim
|
||||
@ -39253,7 +39257,7 @@ Files: src/option.c
|
||||
|
||||
Patch 8.1.2117
|
||||
Problem: CursorLine highlight used while 'cursorline' is off.
|
||||
Solution: Check 'cursorline' is set. (cloes #5017)
|
||||
Solution: Check 'cursorline' is set. (closes #5017)
|
||||
Files: src/drawline.c, src/testdir/test_cursorline.vim
|
||||
|
||||
Patch 8.1.2118
|
||||
@ -41104,7 +41108,7 @@ Files: src/buffer.c, src/testdir/test_popupwin.vim
|
||||
Patch 8.1.2419
|
||||
Problem: With a long file name the hit-enter prompt appears. (J. Lewis
|
||||
Muir)
|
||||
Solution: When checking for text to wrap don't do this when outputing a CR.
|
||||
Solution: When checking for text to wrap don't do this when outputting a CR.
|
||||
Files: src/message.c, src/testdir/test_display.vim,
|
||||
src/testdir/dumps/Test_long_file_name_1.dump
|
||||
|
||||
|
@ -186,7 +186,7 @@ behave mostly like Vi, even though a .vimrc file exists.
|
||||
.TP
|
||||
\-d
|
||||
Start in diff mode.
|
||||
There should be two, three or four file name arguments.
|
||||
There should between two to eight file name arguments.
|
||||
.B Vim
|
||||
will open all the files and show differences between them.
|
||||
Works like vimdiff(1).
|
||||
|
@ -135,9 +135,9 @@ OPTIONS
|
||||
Vim behave mostly like Vi, even though a .vimrc file ex‐
|
||||
ists.
|
||||
|
||||
-d Start in diff mode. There should be two, three or four
|
||||
file name arguments. Vim will open all the files and show
|
||||
differences between them. Works like vimdiff(1).
|
||||
-d Start in diff mode. There should between two to eight file
|
||||
name arguments. Vim will open all the files and show dif‐
|
||||
ferences between them. Works like vimdiff(1).
|
||||
|
||||
-d {device} Open {device} for use as a terminal. Only on the Amiga.
|
||||
Example: "-d con:20/30/600/150".
|
||||
|
@ -1,4 +1,4 @@
|
||||
*vim9.txt* For Vim version 8.2. Last change: 2021 Jun 12
|
||||
*vim9.txt* For Vim version 8.2. Last change: 2021 Sep 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -103,9 +103,12 @@ script and `:def` functions; details are below:
|
||||
writefile(['done'], 'file.txt')
|
||||
- You cannot use `:xit`, `:t`, `:k`, `:append`, `:change`, `:insert`, `:open`,
|
||||
and `:s` or `:d` with only flags.
|
||||
or curly-braces names.
|
||||
- You cannot use curly-braces names.
|
||||
- A range before a command must be prefixed with a colon: >
|
||||
:%s/this/that
|
||||
- Executing a register with "@r" does not work, you can prepend a colon or use
|
||||
`:exe`: >
|
||||
:exe @a
|
||||
- Unless mentioned specifically, the highest |scriptversion| is used.
|
||||
|
||||
|
||||
@ -154,7 +157,7 @@ Compilation is done when any of these is encountered:
|
||||
function was defined
|
||||
- `:disassemble` is used for the function.
|
||||
- a function that is compiled calls the function or uses it as a function
|
||||
reference
|
||||
reference (so that the argument and return types can be checked)
|
||||
*E1091*
|
||||
If compilation fails it is not tried again on the next call, instead this
|
||||
error is given: "E1091: Function is not compiled: {name}".
|
||||
@ -168,7 +171,7 @@ created yet. In this case you can call `execute()` to invoke it at runtime. >
|
||||
"closure". A `:def` function always aborts on an error (unless `:silent!` was
|
||||
used for the command or inside a `:try` block), does not get a range passed
|
||||
cannot be a "dict" function, and can always be a closure.
|
||||
|
||||
*vim9-no-dict-function*
|
||||
Later classes will be added, which replaces the "dict function" mechanism.
|
||||
For now you will need to pass the dictionary explicitly: >
|
||||
def DictFunc(d: dict<any>, arg: string)
|
||||
@ -177,6 +180,15 @@ For now you will need to pass the dictionary explicitly: >
|
||||
var d = {item: 'value', func: DictFunc}
|
||||
d.func(d, 'item')
|
||||
|
||||
You can call a legacy dict function though: >
|
||||
func Legacy() dict
|
||||
echo self.value
|
||||
endfunc
|
||||
def CallLegacy()
|
||||
var d = {func: Legacy, value: 'text'}
|
||||
d.func()
|
||||
enddef
|
||||
|
||||
The argument types and return type need to be specified. The "any" type can
|
||||
be used, type checking will then be done at runtime, like with legacy
|
||||
functions.
|
||||
@ -194,7 +206,7 @@ When a function argument is optional (it has a default value) passing `v:none`
|
||||
as the argument results in using the default value. This is useful when you
|
||||
want to specify a value for an argument that comes after an argument that
|
||||
should use its default value. Example: >
|
||||
def MyFunc(one = 'one', last = 'last)
|
||||
def MyFunc(one = 'one', last = 'last')
|
||||
...
|
||||
enddef
|
||||
MyFunc(v:none, 'LAST') # first argument uses default value 'one'
|
||||
@ -321,6 +333,25 @@ used: >
|
||||
}
|
||||
echo temp # Error!
|
||||
|
||||
This is especially useful in a user command: >
|
||||
|
||||
command -range Rename {
|
||||
var save = @a
|
||||
@a = 'some expression'
|
||||
echo 'do something with ' .. @a
|
||||
@a = save
|
||||
}
|
||||
|
||||
And with autocommands: >
|
||||
|
||||
au BufWritePre *.go {
|
||||
var save = winsaveview()
|
||||
silent! exe ':%! some formatting command'
|
||||
winrestview(save)
|
||||
}
|
||||
|
||||
Although using a :def function probably works better.
|
||||
|
||||
Declaring a variable with a type but without an initializer will initialize to
|
||||
zero, false or empty.
|
||||
|
||||
@ -332,6 +363,9 @@ with `:unlet`.
|
||||
`:lockvar` does not work on local variables. Use `:const` and `:final`
|
||||
instead.
|
||||
|
||||
The `exists()` and `exists_compiled()` functions do not work on local variables
|
||||
or arguments.
|
||||
|
||||
Variables, functions and function arguments cannot shadow previously defined
|
||||
or imported variables and functions in the same script file.
|
||||
Variables may shadow Ex commands, rename the variable if needed.
|
||||
@ -351,6 +385,32 @@ called without "g:". >
|
||||
echo GlobalFunc()
|
||||
The "g:" prefix is not needed for auto-load functions.
|
||||
|
||||
*vim9-function-defined-later*
|
||||
Although global functions can be called without the "g:" prefix, they must
|
||||
exist when compiled. By adding the "g:" prefix the function can be defined
|
||||
later. Example: >
|
||||
def CallPluginFunc()
|
||||
if exists('g:loaded_plugin')
|
||||
g:PluginFunc()
|
||||
endif
|
||||
enddef
|
||||
|
||||
If you would do it like this you get an error at compile time that
|
||||
"PluginFunc" does not exist, even when "g:loaded_plugin" does not exist: >
|
||||
def CallPluginFunc()
|
||||
if exists('g:loaded_plugin')
|
||||
PluginFunc() # Error - function not found
|
||||
endif
|
||||
enddef
|
||||
|
||||
You can use exists_compiled() to avoid the error, but then the function would
|
||||
not be called, even when "g:loaded_plugin" is defined later: >
|
||||
def CallPluginFunc()
|
||||
if exists_compiled('g:loaded_plugin')
|
||||
PluginFunc() # Function may never be called
|
||||
endif
|
||||
enddef
|
||||
|
||||
Since `&opt = value` is now assigning a value to option "opt", ":&" cannot be
|
||||
used to repeat a `:substitute` command.
|
||||
*vim9-unpack-ignore*
|
||||
@ -426,6 +486,12 @@ line starts with `substitute(` this will use the function. Prepend a colon to
|
||||
use the command instead: >
|
||||
:substitute(pattern (replacement (
|
||||
|
||||
If the expression starts with "!" this is interpreted as a shell command, not
|
||||
negation of a condition. Thus this is a shell command: >
|
||||
!shellCommand->something
|
||||
Put the expression in parentheses to use the "!" for negation: >
|
||||
(!expression)->Method()
|
||||
|
||||
Note that while variables need to be defined before they can be used,
|
||||
functions can be called before being defined. This is required to allow
|
||||
for cyclic dependencies between functions. It is slightly less efficient,
|
||||
@ -442,7 +508,8 @@ The function must already have been defined. >
|
||||
var Funcref = MyFunction
|
||||
|
||||
When using `function()` the resulting type is "func", a function with any
|
||||
number of arguments and any return type. The function can be defined later.
|
||||
number of arguments and any return type (including void). The function can be
|
||||
defined later.
|
||||
|
||||
|
||||
Lambda using => instead of -> ~
|
||||
@ -457,7 +524,8 @@ which is similar to JavaScript: >
|
||||
var Lambda = (arg) => expression
|
||||
|
||||
No line break is allowed in the arguments of a lambda up to and including the
|
||||
"=>". This is OK: >
|
||||
"=>" (so that Vim can tell the difference between an expression in parentheses
|
||||
and lambda arguments). This is OK: >
|
||||
filter(list, (k, v) =>
|
||||
v > 0)
|
||||
This does not work: >
|
||||
@ -563,7 +631,7 @@ at the start of the line indicates line continuation: >
|
||||
| echo 'match'
|
||||
| endif
|
||||
|
||||
Note that this means that in heredoc the first line cannot be a bar: >
|
||||
Note that this means that in heredoc the first line cannot start with a bar: >
|
||||
var lines =<< trim END
|
||||
| this doesn't work
|
||||
END
|
||||
@ -571,20 +639,25 @@ Either use an empty line at the start or do not use heredoc. Or temporarily
|
||||
add the "C" flag to 'cpoptions': >
|
||||
set cpo+=C
|
||||
var lines =<< trim END
|
||||
| this doesn't work
|
||||
| this works
|
||||
END
|
||||
set cpo-=C
|
||||
If the heredoc is inside a function 'cpoptions' must be set before :def and
|
||||
restored after the :enddef.
|
||||
|
||||
In places where line continuation with a backslash is still needed, such as
|
||||
splitting up a long Ex command, comments can start with #\ instead of "\: >
|
||||
syn region Text
|
||||
splitting up a long Ex command, comments can start with '#\ ': >
|
||||
syn region Text
|
||||
\ start='foo'
|
||||
#\ comment
|
||||
\ end='bar'
|
||||
|
||||
< *E1050*
|
||||
Like with legacy script '"\ ' is used. This is also needed when line
|
||||
continuation is used without a backslash and a line starts with a bar: >
|
||||
au CursorHold * echom 'BEFORE bar'
|
||||
#\ some comment
|
||||
| echom 'AFTER bar'
|
||||
<
|
||||
*E1050*
|
||||
To make it possible for the operator at the start of the line to be
|
||||
recognized, it is required to put a colon before a range. This example will
|
||||
add "start" and print: >
|
||||
@ -680,6 +753,9 @@ White space is not allowed:
|
||||
arg # OK
|
||||
)
|
||||
|
||||
White space is not allowed in a `:set` command between the option name and a
|
||||
following "&", "!", "<", "=", "+=", "-=" or "^=".
|
||||
|
||||
|
||||
No curly braces expansion ~
|
||||
|
||||
@ -866,9 +942,22 @@ Ex command ranges need to be prefixed with a colon. >
|
||||
|
||||
Some Ex commands can be confused with assignments in Vim9 script: >
|
||||
g:name = value # assignment
|
||||
g:pattern:cmd # invalid command - ERROR
|
||||
:g:pattern:cmd # :global command
|
||||
|
||||
To avoid confusion between a `:global` or `:substitute` command and an
|
||||
expression or assignment, a few separators cannot be used when these commands
|
||||
are abbreviated to a single character: ':', '-' and '.'. >
|
||||
g:pattern:cmd # invalid command - ERROR
|
||||
s:pattern:repl # invalid command - ERROR
|
||||
g-pattern-cmd # invalid command - ERROR
|
||||
s-pattern-repl # invalid command - ERROR
|
||||
g.pattern.cmd # invalid command - ERROR
|
||||
s.pattern.repl # invalid command - ERROR
|
||||
|
||||
Also, there cannot be a space between the command and the separator: >
|
||||
g /pattern/cmd # invalid command - ERROR
|
||||
s /pattern/repl # invalid command - ERROR
|
||||
|
||||
Functions defined with `:def` compile the whole function. Legacy functions
|
||||
can bail out, and the following lines are not parsed: >
|
||||
func Maybe()
|
||||
@ -902,7 +991,8 @@ evaluates to false: >
|
||||
use-feature
|
||||
endif
|
||||
enddef
|
||||
< *vim9-user-command*
|
||||
The `exists_compiled()` function can also be used for this.
|
||||
*vim9-user-command*
|
||||
Another side effect of compiling a function is that the presence of a user
|
||||
command is checked at compile time. If the user command is defined later an
|
||||
error will result. This works: >
|
||||
@ -936,6 +1026,16 @@ The 'gdefault' option value is not used.
|
||||
You may also find this wiki useful. It was written by an early adopter of
|
||||
Vim9 script: https://github.com/lacygoill/wiki/blob/master/vim/vim9.md
|
||||
|
||||
*:++* *:--*
|
||||
The ++ and -- commands have been added. They are very similar to adding or
|
||||
subtracting one: >
|
||||
++var
|
||||
var += 1
|
||||
--var
|
||||
var -= 1
|
||||
|
||||
Using ++var or --var in an expression is not supported yet.
|
||||
|
||||
==============================================================================
|
||||
|
||||
3. New style functions *fast-functions*
|
||||
@ -998,9 +1098,14 @@ prefix if they do not exist at the time of compiling.
|
||||
Note that for command line completion of {func} you
|
||||
can prepend "s:" to find script-local functions.
|
||||
|
||||
:disa[ssemble]! {func} Like `:disassemble` but with the instructions used for
|
||||
:disa[ssemble] profile {func}
|
||||
Like `:disassemble` but with the instructions used for
|
||||
profiling.
|
||||
|
||||
:disa[ssemble] debug {func}
|
||||
Like `:disassemble` but with the instructions used for
|
||||
debugging.
|
||||
|
||||
Limitations ~
|
||||
|
||||
Local variables will not be visible to string evaluation. For example: >
|
||||
@ -1013,7 +1118,7 @@ The map argument is a string expression, which is evaluated without the
|
||||
function scope. Instead, use a lambda: >
|
||||
def MapList(): list<string>
|
||||
var list = ['aa', 'bb', 'cc', 'dd']
|
||||
return range(1, 2)->map(( _, v) => list[v])
|
||||
return range(1, 2)->map((_, v) => list[v])
|
||||
enddef
|
||||
|
||||
The same is true for commands that are not compiled, such as `:global`.
|
||||
@ -1023,26 +1128,36 @@ For these the backtick expansion can be used. Example: >
|
||||
g/pattern/s/^/`=newText`/
|
||||
enddef
|
||||
|
||||
Or a script variable can be used: >
|
||||
var newText = 'blah'
|
||||
def Replace()
|
||||
g/pattern/s/^/\=newText/
|
||||
enddef
|
||||
|
||||
Closures defined in a loop will share the same context. For example: >
|
||||
var flist: list<func>
|
||||
for i in range(10)
|
||||
for i in range(5)
|
||||
var inloop = i
|
||||
flist[i] = () => inloop
|
||||
endfor
|
||||
echo range(5)->map((i, _) => flist[i]())
|
||||
# Result: [4, 4, 4, 4, 4]
|
||||
|
||||
The "inloop" variable will exist only once, all closures put in the list refer
|
||||
to the same instance, which in the end will have the value 9. This is
|
||||
efficient. If you do want a separate context for each closure call a function
|
||||
to define it: >
|
||||
def GetFunc(i: number): func
|
||||
var inloop = i
|
||||
return () => inloop
|
||||
to the same instance, which in the end will have the value 4. This is
|
||||
efficient, also when looping many times. If you do want a separate context
|
||||
for each closure call a function to define it: >
|
||||
def GetClosure(i: number): func
|
||||
var infunc = i
|
||||
return () => infunc
|
||||
enddef
|
||||
|
||||
var flist: list<func>
|
||||
for i in range(10)
|
||||
flist[i] = GetFunc(i)
|
||||
for i in range(5)
|
||||
flist[i] = GetClosure(i)
|
||||
endfor
|
||||
echo range(5)->map((i, _) => flist[i]())
|
||||
# Result: [0, 1, 2, 3, 4]
|
||||
|
||||
==============================================================================
|
||||
|
||||
@ -1068,10 +1183,8 @@ The following builtin types are supported:
|
||||
Not supported yet:
|
||||
tuple<a: {type}, b: {type}, ...>
|
||||
|
||||
These types can be used in declarations, but no value will have this type:
|
||||
{type}|{type} {not implemented yet}
|
||||
void
|
||||
any
|
||||
These types can be used in declarations, but no simple value will actually
|
||||
have the "void" type.
|
||||
|
||||
There is no array type, use list<{type}> instead. For a list constant an
|
||||
efficient implementation is used that avoids allocating lot of small pieces of
|
||||
@ -1080,8 +1193,16 @@ memory.
|
||||
A partial and function can be declared in more or less specific ways:
|
||||
func any kind of function reference, no type
|
||||
checking for arguments or return value
|
||||
func: void any number and type of arguments, no return
|
||||
value
|
||||
func: {type} any number and type of arguments with specific
|
||||
return type
|
||||
|
||||
func() function with no argument, does not return a
|
||||
value
|
||||
func(): void same
|
||||
func(): {type} function with no argument and return type
|
||||
|
||||
func({type}) function with argument type, does not return
|
||||
a value
|
||||
func({type}): {type} function with argument type and return type
|
||||
@ -1170,6 +1291,18 @@ dictionary. If there is a mix of types, the "any" type is used. >
|
||||
['a', 'b', 'c'] list<string>
|
||||
[1, 'x', 3] list<any>
|
||||
|
||||
The common type of function references, if they do not all have the same
|
||||
number of arguments, uses "(...)" to indicate the number of arguments is not
|
||||
specified. For example: >
|
||||
def Foo(x: bool)
|
||||
enddef
|
||||
def Bar(x: bool, y: bool)
|
||||
enddef
|
||||
var funclist = [Foo, Bar]
|
||||
echo funclist->typename()
|
||||
Results in:
|
||||
list<func(...)>
|
||||
|
||||
For script-local variables in Vim9 script the type is checked, also when the
|
||||
variable was declared in a legacy function.
|
||||
|
||||
@ -1186,16 +1319,24 @@ In Vim9 script this has been made stricter. In most places it works just as
|
||||
before, if the value used matches the expected type. There will sometimes be
|
||||
an error, thus breaking backwards compatibility. For example:
|
||||
- Using a number other than 0 or 1 where a boolean is expected. *E1023*
|
||||
- Using a string value when setting a number options.
|
||||
- Using a string value when setting a number option.
|
||||
- Using a number where a string is expected. *E1024*
|
||||
|
||||
One consequence is that the item type of a list or dict given to map() must
|
||||
One consequence is that the item type of a list or dict given to |map()| must
|
||||
not change. This will give an error in Vim9 script: >
|
||||
map([1, 2, 3], (i, v) => 'item ' .. i)
|
||||
echo map([1, 2, 3], (i, v) => 'item ' .. i)
|
||||
E1012: Type mismatch; expected number but got string
|
||||
Instead use |mapnew()|. If the item type was determined to be "any" it can
|
||||
change to a more specific type. E.g. when a list of mixed types gets changed
|
||||
to a list of numbers.
|
||||
Instead use |mapnew()|: >
|
||||
echo mapnew([1, 2, 3], (i, v) => 'item ' .. i)
|
||||
['item 0', 'item 1', 'item 2']
|
||||
|
||||
If the item type was determined to be "any" it can change to a more specific
|
||||
type. E.g. when a list of mixed types gets changed to a list of strings: >
|
||||
var mylist = [1, 2.0, '3']
|
||||
# typename(mylist) == "list<any>"
|
||||
map(mylist, (i, v) => 'item ' .. i)
|
||||
# typename(mylist) == "list<string>", no error
|
||||
|
||||
Same for |extend()|, use |extendnew()| instead, and for |flatten()|, use
|
||||
|flattennew()| instead.
|
||||
|
||||
@ -1297,15 +1438,17 @@ In case the name is ambiguous, another name can be specified: >
|
||||
To import all exported items under a specific identifier: >
|
||||
import * as That from 'thatscript.vim'
|
||||
|
||||
{not implemented yet: using "This as That"}
|
||||
|
||||
Then you can use "That.EXPORTED_CONST", "That.someValue", etc. You are free
|
||||
to choose the name "That", but it is highly recommended to use the name of the
|
||||
script file to avoid confusion.
|
||||
script file to avoid confusion. Also avoid command names, because the name
|
||||
will shadow them.
|
||||
|
||||
`:import` can also be used in legacy Vim script. The imported items still
|
||||
become script-local, even when the "s:" prefix is not given.
|
||||
|
||||
`:import` can not be used in a function. Imported items are intended to exist
|
||||
at the script level and only imported once.
|
||||
|
||||
The script name after `import` can be:
|
||||
- A relative path, starting "." or "..". This finds a file relative to the
|
||||
location of the script file itself. This is useful to split up a large
|
||||
@ -1315,6 +1458,7 @@ The script name after `import` can be:
|
||||
- A path not being relative or absolute. This will be found in the
|
||||
"import" subdirectories of 'runtimepath' entries. The name will usually be
|
||||
longer and unique, to avoid loading the wrong file.
|
||||
Note that "after/import" is not used.
|
||||
|
||||
Once a vim9 script file has been imported, the result is cached and used the
|
||||
next time the same script is imported. It will not be read again.
|
||||
@ -1405,7 +1549,7 @@ Some examples: >
|
||||
var name: string
|
||||
|
||||
def constructor(name: string)
|
||||
this.name = name;
|
||||
this.name = name
|
||||
enddef
|
||||
|
||||
def display(): void
|
||||
|
@ -1,17 +1,17 @@
|
||||
.TH VIMDIFF 1 "2001 March 30"
|
||||
.SH NAME
|
||||
vimdiff \- edit two, three or four versions of a file with Vim and show differences
|
||||
vimdiff \- edit between two and eight versions of a file with Vim and show differences
|
||||
.SH SYNOPSIS
|
||||
.br
|
||||
.B vimdiff
|
||||
[options] file1 file2 [file3 [file4]]
|
||||
[options] file1 file2 [file3 [file4 [file5 [file6 [file7 [file8]]]]]]
|
||||
.PP
|
||||
.B gvimdiff
|
||||
.SH DESCRIPTION
|
||||
.B Vimdiff
|
||||
starts
|
||||
.B Vim
|
||||
on two (or three or four) files.
|
||||
on two up to eight files.
|
||||
Each file gets its own window.
|
||||
The differences between the files are highlighted.
|
||||
This is a nice way to inspect changes and to move changes from one version
|
||||
|
@ -1,27 +1,28 @@
|
||||
VIMDIFF(1) VIMDIFF(1)
|
||||
VIMDIFF(1) General Commands Manual VIMDIFF(1)
|
||||
|
||||
|
||||
|
||||
NAME
|
||||
vimdiff - edit two, three or four versions of a file with Vim and show
|
||||
differences
|
||||
vimdiff - edit between two and eight versions of a file with Vim and
|
||||
show differences
|
||||
|
||||
SYNOPSIS
|
||||
vimdiff [options] file1 file2 [file3 [file4]]
|
||||
vimdiff [options] file1 file2 [file3 [file4 [file5 [file6 [file7
|
||||
[file8]]]]]]
|
||||
|
||||
gvimdiff
|
||||
|
||||
DESCRIPTION
|
||||
Vimdiff starts Vim on two (or three or four) files. Each file gets its
|
||||
own window. The differences between the files are highlighted. This
|
||||
is a nice way to inspect changes and to move changes from one version
|
||||
to another version of the same file.
|
||||
Vimdiff starts Vim on two up to eight files. Each file gets its own
|
||||
window. The differences between the files are highlighted. This is a
|
||||
nice way to inspect changes and to move changes from one version to an‐
|
||||
other version of the same file.
|
||||
|
||||
See vim(1) for details about Vim itself.
|
||||
|
||||
When started as gvimdiff the GUI will be started, if available.
|
||||
|
||||
In each window the 'diff' option will be set, which causes the differ-
|
||||
In each window the 'diff' option will be set, which causes the differ‐
|
||||
ences to be highlighted.
|
||||
The 'wrap' and 'scrollbind' options are set to make the text look good.
|
||||
The 'foldmethod' option is set to "diff", which puts ranges of lines
|
||||
|
@ -1,4 +1,4 @@
|
||||
*windows.txt* For Vim version 8.2. Last change: 2021 Apr 10
|
||||
*windows.txt* For Vim version 8.2. Last change: 2021 Sep 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -296,7 +296,7 @@ Closing a window
|
||||
----------------
|
||||
|
||||
:q[uit]
|
||||
:{count}q[uit]
|
||||
:{count}q[uit] *:count_quit*
|
||||
CTRL-W q *CTRL-W_q*
|
||||
CTRL-W CTRL-Q *CTRL-W_CTRL-Q*
|
||||
Without {count}: Quit the current window. If {count} is
|
||||
@ -390,7 +390,8 @@ CTRL-W CTRL-C *CTRL-W_CTRL-C*
|
||||
CTRL-W o *CTRL-W_o* *E445*
|
||||
CTRL-W CTRL-O *CTRL-W_CTRL-O* *:on* *:only*
|
||||
Make the current window the only one on the screen. All other
|
||||
windows are closed. For {count} see |:quit| command.
|
||||
windows are closed. For {count} see the `:quit` command
|
||||
above |:count_quit|.
|
||||
|
||||
When the 'hidden' option is set, all buffers in closed windows
|
||||
become hidden.
|
||||
|
@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2021 Apr 17
|
||||
" Last Change: 2021 Oct 03
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@ -393,7 +393,7 @@ au BufNewFile,BufRead *.cfm,*.cfi,*.cfc setf cf
|
||||
" Configure scripts
|
||||
au BufNewFile,BufRead configure.in,configure.ac setf config
|
||||
|
||||
" CUDA Cumpute Unified Device Architecture
|
||||
" CUDA Compute Unified Device Architecture
|
||||
au BufNewFile,BufRead *.cu,*.cuh setf cuda
|
||||
|
||||
" Dockerfile; Podman uses the same syntax with name Containerfile
|
||||
@ -408,8 +408,15 @@ au BufNewFile,BufRead *enlightenment/*.cfg setf c
|
||||
" Eterm
|
||||
au BufNewFile,BufRead *Eterm/*.cfg setf eterm
|
||||
|
||||
" Elixir or Euphoria
|
||||
au BufNewFile,BufRead *.ex call dist#ft#ExCheck()
|
||||
|
||||
" Elixir
|
||||
au BufRead,BufNewFile mix.lock,*.exs setf elixir
|
||||
au BufRead,BufNewFile *.eex,*.leex setf eelixir
|
||||
|
||||
" Euphoria 3 or 4
|
||||
au BufNewFile,BufRead *.eu,*.ew,*.ex,*.exu,*.exw call dist#ft#EuphoriaCheck()
|
||||
au BufNewFile,BufRead *.eu,*.ew,*.exu,*.exw call dist#ft#EuphoriaCheck()
|
||||
if has("fname_case")
|
||||
au BufNewFile,BufRead *.EU,*.EW,*.EX,*.EXU,*.EXW call dist#ft#EuphoriaCheck()
|
||||
endif
|
||||
@ -481,7 +488,7 @@ au BufNewFile,BufRead *.desktop,*.directory setf desktop
|
||||
au BufNewFile,BufRead dict.conf,.dictrc setf dictconf
|
||||
|
||||
" Dictd config
|
||||
au BufNewFile,BufRead dictd.conf setf dictdconf
|
||||
au BufNewFile,BufRead dictd*.conf setf dictdconf
|
||||
|
||||
" Diff files
|
||||
au BufNewFile,BufRead *.diff,*.rej setf diff
|
||||
@ -530,8 +537,13 @@ au BufNewFile,BufRead *.drac,*.drc,*lvs,*lpe setf dracula
|
||||
" Datascript
|
||||
au BufNewFile,BufRead *.ds setf datascript
|
||||
|
||||
" dsl
|
||||
au BufNewFile,BufRead *.dsl setf dsl
|
||||
" dsl: DSSSL or Structurizr
|
||||
au BufNewFile,BufRead *.dsl
|
||||
\ if getline(1) =~ '^\s*<\!' |
|
||||
\ setf dsl |
|
||||
\ else |
|
||||
\ setf structurizr |
|
||||
\ endif
|
||||
|
||||
" DTD (Document Type Definition for XML)
|
||||
au BufNewFile,BufRead *.dtd setf dtd
|
||||
@ -643,6 +655,9 @@ au BufNewFile,BufRead *.mo,*.gdmo setf gdmo
|
||||
" Gedcom
|
||||
au BufNewFile,BufRead *.ged,lltxxxxx.txt setf gedcom
|
||||
|
||||
" Gemtext
|
||||
au BufNewFile,BufRead *.gmi,*.gemini setf gemtext
|
||||
|
||||
" Gift (Moodle)
|
||||
autocmd BufRead,BufNewFile *.gift setf gift
|
||||
|
||||
@ -692,6 +707,7 @@ au BufNewFile,BufRead *.gpi setf gnuplot
|
||||
|
||||
" Go (Google)
|
||||
au BufNewFile,BufRead *.go setf go
|
||||
au BufNewFile,BufRead Gopkg.lock setf toml
|
||||
|
||||
" GrADS scripts
|
||||
au BufNewFile,BufRead *.gs setf grads
|
||||
@ -855,6 +871,21 @@ au BufNewFile,BufRead *.jov,*.j73,*.jovial setf jovial
|
||||
" JSON
|
||||
au BufNewFile,BufRead *.json,*.jsonp,*.webmanifest setf json
|
||||
|
||||
" JSON Patch (RFC 6902)
|
||||
au BufNewFile,BufRead *.json-patch setf json
|
||||
|
||||
" Jupyter Notebook is also json
|
||||
au BufNewFile,BufRead *.ipynb setf json
|
||||
|
||||
" Other files that look like json
|
||||
au BufNewFile,BufRead .babelrc,.eslintrc,.prettierrc,.firebaserc setf json
|
||||
|
||||
" JSONC
|
||||
au BufNewFile,BufRead *.jsonc setf jsonc
|
||||
|
||||
" Julia
|
||||
au BufNewFile,BufRead *.jl setf julia
|
||||
|
||||
" Kixtart
|
||||
au BufNewFile,BufRead *.kix setf kix
|
||||
|
||||
@ -1002,7 +1033,7 @@ au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,*.md setf markdown
|
||||
" Mason
|
||||
au BufNewFile,BufRead *.mason,*.mhtml,*.comp setf mason
|
||||
|
||||
" Mathematica, Matlab, Murphi or Objective C
|
||||
" Mathematica, Matlab, Murphi, Objective C or Octave
|
||||
au BufNewFile,BufRead *.m call dist#ft#FTm()
|
||||
|
||||
" Mathematica notebook
|
||||
@ -1065,6 +1096,9 @@ au BufNewFile,BufRead *.moo setf moo
|
||||
" Modconf
|
||||
au BufNewFile,BufRead */etc/modules.conf,*/etc/modules,*/etc/conf.modules setf modconf
|
||||
|
||||
" MPD is based on XML
|
||||
au BufNewFile,BufRead *.mpd setf xml
|
||||
|
||||
" Mplayer config
|
||||
au BufNewFile,BufRead mplayer.conf,*/.mplayer/config setf mplayerconf
|
||||
|
||||
@ -1083,6 +1117,9 @@ au BufNewFile,BufRead *.mysql setf mysql
|
||||
" Mutt setup files (must be before catch *.rc)
|
||||
au BufNewFile,BufRead */etc/Muttrc.d/* call s:StarSetf('muttrc')
|
||||
|
||||
" Tcl Shell RC file
|
||||
au BufNewFile,BufRead tclsh.rc setf tcl
|
||||
|
||||
" M$ Resource files
|
||||
au BufNewFile,BufRead *.rc,*.rch setf rc
|
||||
|
||||
@ -1113,6 +1150,9 @@ au BufNewFile,BufRead Neomuttrc setf neomuttrc
|
||||
" Netrc
|
||||
au BufNewFile,BufRead .netrc setf netrc
|
||||
|
||||
" Nginx
|
||||
au BufNewFile,BufRead *.nginx,nginx*.conf,*nginx.conf,*/etc/nginx/*,*/usr/local/nginx/conf/*,*/nginx/*.conf setf nginx
|
||||
|
||||
" Ninja file
|
||||
au BufNewFile,BufRead *.ninja setf ninja
|
||||
|
||||
@ -1148,6 +1188,9 @@ au BufNewFile,BufRead *.ml,*.mli,*.mll,*.mly,.ocamlinit,*.mlt,*.mlp,*.mlip,*.mli
|
||||
" Occam
|
||||
au BufNewFile,BufRead *.occ setf occam
|
||||
|
||||
" Octave
|
||||
au BufNewFile,BufRead octave.conf,.octaverc,octaverc setf octave
|
||||
|
||||
" Omnimark
|
||||
au BufNewFile,BufRead *.xom,*.xin setf omnimark
|
||||
|
||||
@ -1248,7 +1291,7 @@ au BufNewFile,BufRead *.rcp setf pilrc
|
||||
au BufNewFile,BufRead .pinerc,pinerc,.pinercex,pinercex setf pine
|
||||
|
||||
" Pipenv Pipfiles
|
||||
au BufNewFile,BufRead Pipfile setf config
|
||||
au BufNewFile,BufRead Pipfile setf toml
|
||||
au BufNewFile,BufRead Pipfile.lock setf json
|
||||
|
||||
" PL/1, PL/I
|
||||
@ -1356,6 +1399,9 @@ au BufNewFile,BufRead *.pk setf poke
|
||||
" Protocols
|
||||
au BufNewFile,BufRead */etc/protocols setf protocols
|
||||
|
||||
" Pyret
|
||||
au BufNewFile,BufRead *.arr setf pyret
|
||||
|
||||
" Pyrex
|
||||
au BufNewFile,BufRead *.pyx,*.pxd setf pyrex
|
||||
|
||||
@ -1367,7 +1413,7 @@ au BufNewFile,BufRead *.ptl,*.pyi,SConstruct setf python
|
||||
" Radiance
|
||||
au BufNewFile,BufRead *.rad,*.mat setf radiance
|
||||
|
||||
" Raku (formelly Perl6)
|
||||
" Raku (formerly Perl6)
|
||||
au BufNewFile,BufRead *.pm6,*.p6,*.t6,*.pod6,*.raku,*.rakumod,*.rakudoc,*.rakutest setf raku
|
||||
|
||||
" Ratpoison config/command files
|
||||
@ -1479,6 +1525,7 @@ au BufNewFile,BufRead [rR]antfile,*.rant,[rR]akefile,*.rake setf ruby
|
||||
|
||||
" Rust
|
||||
au BufNewFile,BufRead *.rs setf rust
|
||||
au BufNewFile,BufRead Cargo.lock,*/.cargo/config,*/.cargo/credentials setf toml
|
||||
|
||||
" S-lang (or shader language, or SmallLisp)
|
||||
au BufNewFile,BufRead *.sl setf slang
|
||||
@ -1504,6 +1551,9 @@ au BufNewFile,BufRead *.sbt setf sbt
|
||||
" Scilab
|
||||
au BufNewFile,BufRead *.sci,*.sce setf scilab
|
||||
|
||||
" scdoc
|
||||
au BufNewFile,BufRead *.scd setf scdoc
|
||||
|
||||
" SCSS
|
||||
au BufNewFile,BufRead *.scss setf scss
|
||||
|
||||
@ -1593,7 +1643,7 @@ au BufNewFile,BufRead .zshrc,.zshenv,.zlogin,.zlogout,.zcompdump setf zsh
|
||||
au BufNewFile,BufRead *.zsh setf zsh
|
||||
|
||||
" Scheme
|
||||
au BufNewFile,BufRead *.scm,*.ss,*.rkt setf scheme
|
||||
au BufNewFile,BufRead *.scm,*.ss,*.rkt,*.rktd,*.rktl setf scheme
|
||||
|
||||
" Screen RC
|
||||
au BufNewFile,BufRead .screenrc,screenrc setf screen
|
||||
@ -1766,7 +1816,7 @@ au BufRead,BufNewFile {pending,completed,undo}.data setf taskdata
|
||||
au BufRead,BufNewFile *.task setf taskedit
|
||||
|
||||
" Tcl (JACL too)
|
||||
au BufNewFile,BufRead *.tcl,*.tk,*.itcl,*.itk,*.jacl setf tcl
|
||||
au BufNewFile,BufRead *.tcl,*.tm,*.tk,*.itcl,*.itk,*.jacl,.tclshrc,.wishrc setf tcl
|
||||
|
||||
" TealInfo
|
||||
au BufNewFile,BufRead *.tli setf tli
|
||||
@ -1960,14 +2010,15 @@ au BufNewFile,BufRead *.ws[fc] setf wsh
|
||||
" XHTML
|
||||
au BufNewFile,BufRead *.xhtml,*.xht setf xhtml
|
||||
|
||||
" X Pixmap (dynamically sets colors, use BufEnter to make it work better)
|
||||
au BufEnter *.xpm
|
||||
" X Pixmap (dynamically sets colors, this used to trigger on BufEnter to make
|
||||
" it work better, but that breaks setting 'filetype' manually)
|
||||
au BufNewFile,BufRead *.xpm
|
||||
\ if getline(1) =~ "XPM2" |
|
||||
\ setf xpm2 |
|
||||
\ else |
|
||||
\ setf xpm |
|
||||
\ endif
|
||||
au BufEnter *.xpm2 setf xpm2
|
||||
au BufNewFile,BufRead *.xpm2 setf xpm2
|
||||
|
||||
" XFree86 config
|
||||
au BufNewFile,BufRead XF86Config
|
||||
@ -2102,7 +2153,7 @@ au BufNewFile,BufRead proftpd.conf* call s:StarSetf('apachestyle')
|
||||
|
||||
" More Apache config files
|
||||
au BufNewFile,BufRead access.conf*,apache.conf*,apache2.conf*,httpd.conf*,srm.conf* call s:StarSetf('apache')
|
||||
au BufNewFile,BufRead */etc/apache2/*.conf*,*/etc/apache2/conf.*/*,*/etc/apache2/mods-*/*,*/etc/apache2/sites-*/*,*/etc/httpd/conf.d/*.conf* call s:StarSetf('apache')
|
||||
au BufNewFile,BufRead */etc/apache2/*.conf*,*/etc/apache2/conf.*/*,*/etc/apache2/mods-*/*,*/etc/apache2/sites-*/*,*/etc/httpd/conf.*/*,*/etc/httpd/mods-*/*,*/etc/httpd/sites-*/*,*/etc/httpd/conf.d/*.conf* call s:StarSetf('apache')
|
||||
|
||||
" Asterisk config file
|
||||
au BufNewFile,BufRead *asterisk/*.conf* call s:StarSetf('asterisk')
|
||||
@ -2256,6 +2307,9 @@ au BufNewFile,BufRead .tcshrc* call dist#ft#SetFileTypeShell("tcsh")
|
||||
" csh scripts ending in a star
|
||||
au BufNewFile,BufRead .login*,.cshrc* call dist#ft#CSH()
|
||||
|
||||
" tmux configuration with arbitrary extension
|
||||
au BufNewFile,BufRead {.,}tmux*.conf* setf tmux
|
||||
|
||||
" VHDL
|
||||
au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl')
|
||||
|
||||
|
@ -1,9 +1,10 @@
|
||||
" Vim ftplugin file
|
||||
" Language: 8th
|
||||
" Version: any
|
||||
" Last Change: 2015/11/08
|
||||
" Last Change: 2021 Sep 20
|
||||
" Last Change: 2021/09/20
|
||||
" Maintainer: Ron Aaron <ron@aaron-tech.com>
|
||||
" URL: https://8th-dev.com/
|
||||
" URL: https://8th-dev.com/
|
||||
" Filetypes: *.8th
|
||||
" NOTE: 8th allows any non-whitespace in a name, so you need to do:
|
||||
" setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255
|
||||
@ -14,12 +15,13 @@ if exists("b:did_8thplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
" Don't load another 8th plugin for this buffer
|
||||
let b:did_8thplugin = 1
|
||||
|
||||
setlocal ts=2 sts=2 sw=2 et
|
||||
setlocal com=s1:/*,mb:*,ex:*/,:\|,:\\
|
||||
setlocal com=s1:/*,mb:*,ex:*/,b:--,be:\\
|
||||
setlocal fo=tcrqol
|
||||
setlocal matchpairs+=\::;
|
||||
setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255
|
||||
setlocal suffixesadd=.8th
|
||||
let b:undo_ftplugin = "setlocal ts< sts< sw< et< com< fo< mps< isk< sua<"
|
||||
|
@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: C
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2020 Feb 01
|
||||
" Last Change: 2021 Sep 21
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@ -40,8 +40,11 @@ endif
|
||||
|
||||
" When the matchit plugin is loaded, this makes the % command skip parens and
|
||||
" braces in comments properly.
|
||||
let b:match_words = '^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^\s*#\s*else\>:^\s*#\s*endif\>'
|
||||
let b:match_skip = 's:comment\|string\|character\|special'
|
||||
if !exists("b:match_words")
|
||||
let b:match_words = '^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^\s*#\s*else\>:^\s*#\s*endif\>'
|
||||
let b:match_skip = 's:comment\|string\|character\|special'
|
||||
let b:undo_ftplugin ..= " | unlet! b:match_skip b:match_words"
|
||||
endif
|
||||
|
||||
" Win32 can filter files in the browse dialog
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
@ -62,6 +65,7 @@ if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
\ "C++ Source Files (*.cpp *.c++)\t*.cpp;*.c++\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
let b:undo_ftplugin ..= " | unlet! b:browsefilter"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
|
@ -2,6 +2,7 @@
|
||||
" Last Change: 2018-03-05
|
||||
" Author: Evan Hanson <evhan@foldling.org>
|
||||
" Maintainer: Evan Hanson <evhan@foldling.org>
|
||||
" Repository: https://git.foldling.org/vim-scheme.git
|
||||
" URL: https://foldling.org/vim/ftplugin/chicken.vim
|
||||
" Notes: These are supplemental settings, to be loaded after the core
|
||||
" Scheme ftplugin file (ftplugin/scheme.vim). Enable it by setting
|
||||
|
@ -2,7 +2,7 @@
|
||||
" Language: ConTeXt typesetting engine
|
||||
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
" Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2016 Oct 30
|
||||
" Latest Revision: 2021 Oct 15
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@ -17,7 +17,6 @@ if !exists('current_compiler')
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< def< inc< sua< fo< ofu<"
|
||||
\ . "| unlet! b:match_ignorecase b:match_words b:match_skip"
|
||||
|
||||
setlocal comments=b:%D,b:%C,b:%M,:% commentstring=%\ %s formatoptions+=tjcroql2
|
||||
if get(b:, 'context_metapost', get(g:, 'context_metapost', 1))
|
||||
@ -35,11 +34,12 @@ let &l:include = '^\s*\\\%(input\|component\|product\|project\|environment\)'
|
||||
|
||||
setlocal suffixesadd=.tex
|
||||
|
||||
if exists("loaded_matchit")
|
||||
if exists("loaded_matchit") && !exists("b:match_words")
|
||||
let b:match_ignorecase = 0
|
||||
let b:match_skip = 'r:\\\@<!\%(\\\\\)*%'
|
||||
let b:match_words = '(:),\[:],{:},\\(:\\),\\\[:\\],' .
|
||||
\ '\\start\(\a\+\):\\stop\1'
|
||||
let b:undo_ftplugin .= " | unlet! b:match_ignorecase b:match_words b:match_skip"
|
||||
endif
|
||||
|
||||
let s:context_regex = {
|
||||
@ -57,19 +57,28 @@ function! s:move_around(count, what, flags, visual)
|
||||
call map(range(2, a:count), 'search(s:context_regex[a:what], a:flags)')
|
||||
endfunction
|
||||
|
||||
" Move around macros.
|
||||
nnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:false) <CR>
|
||||
vnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:true) <CR>
|
||||
nnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:false) <CR>
|
||||
vnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:true) <CR>
|
||||
nnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:false) <CR>
|
||||
vnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:true) <CR>
|
||||
nnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:false) <CR>
|
||||
vnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:true) <CR>
|
||||
nnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:false) <CR>
|
||||
vnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:true) <CR>
|
||||
nnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:false) <CR>
|
||||
vnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:true) <CR>
|
||||
if !exists("no_plugin_maps") && !exists("no_context_maps")
|
||||
" Move around macros.
|
||||
nnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:false) <CR>
|
||||
vnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:true) <CR>
|
||||
nnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:false) <CR>
|
||||
vnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:true) <CR>
|
||||
nnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:false) <CR>
|
||||
vnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:true) <CR>
|
||||
nnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:false) <CR>
|
||||
vnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:true) <CR>
|
||||
nnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:false) <CR>
|
||||
vnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:true) <CR>
|
||||
nnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:false) <CR>
|
||||
vnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:true) <CR>
|
||||
|
||||
let b:undo_ftplugin .= " | sil! exe 'nunmap <buffer> [[' | sil! exe 'vunmap <buffer> [['" .
|
||||
\ " | sil! exe 'nunmap <buffer> ]]' | sil! exe 'vunmap <buffer> ]]'" .
|
||||
\ " | sil! exe 'nunmap <buffer> []' | sil! exe 'vunmap <buffer> []'" .
|
||||
\ " | sil! exe 'nunmap <buffer> ][' | sil! exe 'vunmap <buffer> ]['" .
|
||||
\ " | sil! exe 'nunmap <buffer> [{' | sil! exe 'vunmap <buffer> [{'" .
|
||||
\ " | sil! exe 'nunmap <buffer> ]}' | sil! exe 'vunmap <buffer> ]}'"
|
||||
end
|
||||
|
||||
" Other useful mappings
|
||||
if get(g:, 'context_mappings', 1)
|
||||
@ -81,16 +90,22 @@ if get(g:, 'context_mappings', 1)
|
||||
call cursor(search(s:tp_regex, 'W') - 1, 1)
|
||||
endf
|
||||
|
||||
" Reflow paragraphs with commands like gqtp ("gq TeX paragraph")
|
||||
onoremap <silent><buffer> tp :<c-u>call <sid>tp()<cr>
|
||||
" Select TeX paragraph
|
||||
vnoremap <silent><buffer> tp <esc>:<c-u>call <sid>tp()<cr>
|
||||
if !exists("no_plugin_maps") && !exists("no_context_maps")
|
||||
" Reflow paragraphs with commands like gqtp ("gq TeX paragraph")
|
||||
onoremap <silent><buffer> tp :<c-u>call <sid>tp()<cr>
|
||||
" Select TeX paragraph
|
||||
vnoremap <silent><buffer> tp <esc>:<c-u>call <sid>tp()<cr>
|
||||
|
||||
" $...$ text object
|
||||
onoremap <silent><buffer> i$ :<c-u>normal! T$vt$<cr>
|
||||
onoremap <silent><buffer> a$ :<c-u>normal! F$vf$<cr>
|
||||
vnoremap <buffer> i$ T$ot$
|
||||
vnoremap <buffer> a$ F$of$
|
||||
" $...$ text object
|
||||
onoremap <silent><buffer> i$ :<c-u>normal! T$vt$<cr>
|
||||
onoremap <silent><buffer> a$ :<c-u>normal! F$vf$<cr>
|
||||
vnoremap <buffer> i$ T$ot$
|
||||
vnoremap <buffer> a$ F$of$
|
||||
|
||||
let b:undo_ftplugin .= " | sil! exe 'ounmap <buffer> tp' | sil! exe 'vunmap <buffer> tp'" .
|
||||
\ " | sil! exe 'ounmap <buffer> i$' | sil! exe 'vunmap <buffer> i$'" .
|
||||
\ " | sil! exe 'ounmap <buffer> a$' | sil! exe 'vunmap <buffer> a$'"
|
||||
endif
|
||||
endif
|
||||
|
||||
" Commands for asynchronous typesetting
|
||||
|
@ -1,21 +1,23 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: csh
|
||||
" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
|
||||
" Last Changed: 20 Jan 2009
|
||||
" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
|
||||
" Language: csh
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Previous Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
|
||||
" Contributor: Johannes Zellner <johannes@zellner.org>
|
||||
" Last Change: 2021 Oct 15
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
" Make sure the continuation lines below do not cause problems in
|
||||
" compatibility mode.
|
||||
let s:save_cpo = &cpo
|
||||
set cpo-=C
|
||||
|
||||
setlocal comments=:#
|
||||
setlocal commentstring=#%s
|
||||
setlocal formatoptions-=t
|
||||
setlocal formatoptions+=crql
|
||||
|
||||
let b:undo_ftplugin = "setlocal com< cms< fo<"
|
||||
|
||||
" Csh: thanks to Johannes Zellner
|
||||
" - Both foreach and end must appear alone on separate lines.
|
||||
" - The words else and endif must appear at the beginning of input lines;
|
||||
@ -23,26 +25,27 @@ setlocal formatoptions+=crql
|
||||
" - Each case label and the default label must appear at the start of a
|
||||
" line.
|
||||
" - while and end must appear alone on their input lines.
|
||||
if exists("loaded_matchit")
|
||||
let b:match_words =
|
||||
\ '^\s*\<if\>.*(.*).*\<then\>:'.
|
||||
\ '^\s*\<else\>\s\+\<if\>.*(.*).*\<then\>:^\s*\<else\>:'.
|
||||
\ '^\s*\<endif\>,'.
|
||||
\ '\%(^\s*\<foreach\>\s\+\S\+\|^s*\<while\>\).*(.*):'.
|
||||
\ '\<break\>:\<continue\>:^\s*\<end\>,'.
|
||||
\ '^\s*\<switch\>.*(.*):^\s*\<case\>\s\+:^\s*\<default\>:^\s*\<endsw\>'
|
||||
if exists("loaded_matchit") && !exists("b:match_words")
|
||||
let s:line_start = '\%(^\s*\)\@<='
|
||||
let b:match_words =
|
||||
\ s:line_start .. 'if\s*(.*)\s*then\>:' ..
|
||||
\ s:line_start .. 'else\s\+if\s*(.*)\s*then\>:' .. s:line_start .. 'else\>:' ..
|
||||
\ s:line_start .. 'endif\>,' ..
|
||||
\ s:line_start .. '\%(\<foreach\s\+\h\w*\|while\)\s*(:' ..
|
||||
\ '\<break\>:\<continue\>:' ..
|
||||
\ s:line_start .. 'end\>,' ..
|
||||
\ s:line_start .. 'switch\s*(:' ..
|
||||
\ s:line_start .. 'case\s\+:' .. s:line_start .. 'default\>:\<breaksw\>:' ..
|
||||
\ s:line_start .. 'endsw\>'
|
||||
unlet s:line_start
|
||||
let b:undo_ftplugin ..= " | unlet b:match_words"
|
||||
endif
|
||||
|
||||
" Change the :browse e filter to primarily show csh-related files.
|
||||
if has("gui_win32")
|
||||
let b:browsefilter="csh Scripts (*.csh)\t*.csh\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter="csh Scripts (*.csh)\t*.csh\n" ..
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin ..= " | unlet b:browsefilter"
|
||||
endif
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "setlocal commentstring< formatoptions<" .
|
||||
\ " | unlet! b:match_words b:browsefilter"
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
@ -1,5 +1,5 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Configuration File (ini file) for MSDOS/MS Windows
|
||||
" Language: Configuration File (ini file) for MS-DOS/MS Windows
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Jan 06
|
||||
" Last Change: 2020 Jun 28
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@ -118,7 +118,7 @@ endif
|
||||
" TODO: comments=
|
||||
setlocal commentstring=<%#%s%>
|
||||
|
||||
let b:undo_ftplugin = "setl cms< "
|
||||
let b:undo_ftplugin = "setl cms< " .
|
||||
\ " | unlet! b:browsefilter b:match_words | " . s:undo_ftplugin
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user