mirror of
https://github.com/vim/vim
synced 2025-08-26 18:00:44 +00:00
Compare commits
414 Commits
Author | SHA1 | Date | |
---|---|---|---|
af19ec0bfa | |||
37f088eead | |||
267db7c3e3 | |||
89469d157a | |||
500c444283 | |||
c67c89c758 | |||
c96b7f5d2a | |||
9c8d12c811 | |||
b55ae8ce42 | |||
cf650b7c9b | |||
5390c05a3c | |||
1a173409ae | |||
023930d62e | |||
184a622ada | |||
45e4eead2a | |||
c3f1881aed | |||
733a69b29f | |||
4f501171f7 | |||
3b8c7083b2 | |||
4c5678ff0c | |||
a87749e3ea | |||
7c02ad9f89 | |||
dffa6ea85c | |||
064fd67e6a | |||
4e6072b8d3 | |||
6f2a227565 | |||
3719989431 | |||
28a896f54d | |||
c13e998d4a | |||
84497cd06f | |||
f86490ed4f | |||
e76062c078 | |||
74a694dbe2 | |||
269aa2b29a | |||
38854b565a | |||
3da8597fc0 | |||
502e91756e | |||
8b336a6614 | |||
19cf525c20 | |||
64fabf3802 | |||
9f14557d6a | |||
cc0907165d | |||
c255b78965 | |||
837ca8f43b | |||
f3f198b634 | |||
01105b37a1 | |||
c96311b5be | |||
ef2c325f5e | |||
c1cf4c9107 | |||
cc762a48d4 | |||
ad85af5b38 | |||
637862fc3c | |||
6ac16f0c0f | |||
d330e8422d | |||
f60bdc3417 | |||
1273dfb015 | |||
ebed1b0bea | |||
47f1fdc28c | |||
0b228cddc7 | |||
e2da59851a | |||
82946e1439 | |||
24482fbfd5 | |||
24fe33a83a | |||
b59ae59a58 | |||
43300f6034 | |||
ecfd511e8d | |||
36446bbb62 | |||
63a2e360cc | |||
0b6d6a186e | |||
1d822afaf6 | |||
96cbbe29de | |||
bc222152d8 | |||
df3c0eb41e | |||
c3e06e4bfa | |||
a787c24e00 | |||
364438d1e8 | |||
9af2ea80a8 | |||
b775e72439 | |||
9c5b7cb4cf | |||
0319306f20 | |||
35fc61cb5b | |||
ce30ccc06a | |||
2996773276 | |||
228e422855 | |||
0a60f79fd0 | |||
c896adbcde | |||
e6392b1021 | |||
c934bfa1b7 | |||
9fda81515b | |||
361895d2a1 | |||
d63a85592c | |||
ff95ce0930 | |||
02edfaa610 | |||
88456cd3c4 | |||
d13166e788 | |||
236dffab43 | |||
696d0a8625 | |||
0c34d56264 | |||
81ba26e9de | |||
4654d63dec | |||
75ac25b496 | |||
12babe45a3 | |||
1d8765daba | |||
780154bf7a | |||
ee28c707e4 | |||
01ee52bab6 | |||
f32fb93e43 | |||
fc1b2d0961 | |||
1573e73f1c | |||
8303035d67 | |||
f10952e8c0 | |||
a44c7811ff | |||
44c2209352 | |||
b53a190e9f | |||
cdeb65729d | |||
698a00f55d | |||
c3d27ada14 | |||
24dc19cdb2 | |||
161b6ac04f | |||
dcbdd82d05 | |||
b298fe6cba | |||
cf2594fbf3 | |||
68353e5270 | |||
398a26f7fc | |||
920d311480 | |||
bf533e4e88 | |||
623e94e138 | |||
3b014befa0 | |||
2f7bfe66a1 | |||
28c56d5013 | |||
1140b51e83 | |||
d6e91385f0 | |||
f7570f2107 | |||
b3052aa1b5 | |||
6600447c7b | |||
4c8d2f02b3 | |||
0aad88f073 | |||
9954dc39ea | |||
a20be06f97 | |||
fd3084b6e2 | |||
f00112d558 | |||
37f1030fd6 | |||
d55bfcaa9b | |||
09a93e3e66 | |||
7265851b2b | |||
98aebcc2c6 | |||
90e66ec1e1 | |||
1d139a012e | |||
38804d6457 | |||
157241e879 | |||
76db9e0763 | |||
0fd7be7f95 | |||
80613d64e6 | |||
f220643c26 | |||
4e7590ec00 | |||
7b224fdf4a | |||
1756f4b218 | |||
0e364c9fca | |||
7af3ee2b83 | |||
adbc08fd69 | |||
69a8bb8dc1 | |||
a25f718431 | |||
cd9c8d400c | |||
91c75d18d9 | |||
845bbb72ed | |||
f8ea10677d | |||
25b8420c2b | |||
5a5f17f9b3 | |||
6c3d3e6904 | |||
5375205761 | |||
3d19c81a11 | |||
c57b5bcd22 | |||
1410d1841b | |||
3af982196b | |||
8e0ccb6bc2 | |||
873f41a018 | |||
7a7db047dc | |||
8ab9ca93ee | |||
86e6717ace | |||
03d6e6f42b | |||
1577537f10 | |||
6ebe4f970b | |||
3f68a4136e | |||
72c8e3c070 | |||
f0b567e32a | |||
ad353244f2 | |||
fb0cf2357e | |||
9c50eeb401 | |||
436e5d395f | |||
4bc85f23ed | |||
7fa02bcb3b | |||
2435adf8eb | |||
5b2a3d77d3 | |||
63c84731c1 | |||
6c8bc37a10 | |||
d5337efece | |||
49660f5139 | |||
d0fab10ed2 | |||
cdef1cefa2 | |||
43625762a9 | |||
4c36678ffd | |||
7609c88eed | |||
d505c8220d | |||
d0fbb41eaa | |||
3c708c4390 | |||
df63f05c3a | |||
060b838488 | |||
11df3aeee5 | |||
9f62ea01a0 | |||
605d02a9b7 | |||
bf72e0c67f | |||
a353282c13 | |||
53c5c9f50c | |||
8f3c3c6cd0 | |||
61c4b04799 | |||
9298a996fc | |||
208567e9d7 | |||
9652249a2d | |||
b99e6e6c5f | |||
8107a2a8af | |||
4bf67ec52e | |||
e6a16e9950 | |||
a1a46da87d | |||
4ac8e7948c | |||
4913d420e8 | |||
3f0092c141 | |||
9d8620b519 | |||
2a46f81ec7 | |||
6a12d26f34 | |||
d094e580b0 | |||
501e77766c | |||
3c053a1a5a | |||
bd053f894b | |||
d8cd6f7427 | |||
db4c94788a | |||
5b148ef262 | |||
c4860bdd28 | |||
0e9bdad545 | |||
36343ae0fb | |||
c8b6735573 | |||
a2e4e0fc3b | |||
4b082c4bd0 | |||
49846fb1a3 | |||
297164cb79 | |||
fa7bb1d937 | |||
13cdde3952 | |||
eb4de62931 | |||
4ccaedfcd7 | |||
d988ef3a55 | |||
a79b35b578 | |||
b77bdce120 | |||
7e120ffccb | |||
c9121f798f | |||
0abd6cf62d | |||
975a665d48 | |||
b9c09c118e | |||
ba43e76fcd | |||
856c5d2bc7 | |||
4b6172e108 | |||
6c4d4a6444 | |||
66b8d2a89e | |||
3558afe9e9 | |||
d93009eb35 | |||
4997f2a605 | |||
17822c507c | |||
91ccbad5de | |||
d26c5805bc | |||
f8412c9d7c | |||
e42033e735 | |||
2fbabd238a | |||
84d14ccdb5 | |||
d987642626 | |||
af40f9af33 | |||
9ce7915d06 | |||
ae906c8b1b | |||
a4962cd7ba | |||
7c6cd44375 | |||
159b2d5bfc | |||
7e017461e2 | |||
a275f2cdcc | |||
a9a364872e | |||
877151b3d8 | |||
9466fb8001 | |||
0c502d2e70 | |||
56564964e6 | |||
ccf2837a05 | |||
d3283fba25 | |||
cd105417a5 | |||
801cd35e7e | |||
1206c163db | |||
c601d988b6 | |||
79f234499b | |||
084f2620ec | |||
4282633ba6 | |||
f167c7b424 | |||
15b314ffbb | |||
118c235112 | |||
28f7e701b7 | |||
13845c48d8 | |||
b7af5a0445 | |||
330d64d32c | |||
30c0c467d6 | |||
8cf3459878 | |||
25f3a146a0 | |||
bf499c0e6f | |||
251c1e2ed8 | |||
16dab41537 | |||
fbdce18500 | |||
0089ce293f | |||
4314e4f7da | |||
5a049846e4 | |||
b7f52f5659 | |||
2b7b4f7670 | |||
a0789478f6 | |||
fcb86b0a99 | |||
33b55b562b | |||
5ab300195b | |||
8d8b9758ce | |||
07eaa1ede4 | |||
2eae3d24d7 | |||
bdc09a18fc | |||
cf3d0eaf47 | |||
0937b9fb24 | |||
3725116f6e | |||
35b251d2c2 | |||
97f0eb169b | |||
06618f94f1 | |||
d459020c62 | |||
851907a7ab | |||
4d31b48a11 | |||
46b54747c5 | |||
9bab7a0243 | |||
1a58e1d97c | |||
c9f5f73206 | |||
db77cb3c08 | |||
3ff71cda98 | |||
346823d3e5 | |||
7beaf6a720 | |||
0816f473ab | |||
f3ef026c98 | |||
d195598714 | |||
7500866182 | |||
18b3500b8c | |||
2cd0f27b75 | |||
caf05f504e | |||
351523f893 | |||
7904fa420e | |||
4ba5f1dab6 | |||
2f7e1b8b40 | |||
ec32c781a2 | |||
01c34e7d10 | |||
b6aab8f44b | |||
f269eabc6c | |||
eb47d6d20a | |||
0466d398a5 | |||
406b5d89e1 | |||
0a016671b9 | |||
13ece2ae1d | |||
6b2d4ff714 | |||
8df9748edb | |||
b1fd26d208 | |||
b34c4b7863 | |||
693729ae58 | |||
bbbda8fd81 | |||
f6196f4244 | |||
ff85d4a107 | |||
393f8d61f5 | |||
eda29c971c | |||
b393275ae9 | |||
3292a22940 | |||
a4e0b9785e | |||
b850c39676 | |||
87b4e5c5db | |||
145d1fd910 | |||
cfb4d4f312 | |||
a5d1a67bee | |||
d0121c63cf | |||
6586a01514 | |||
b152b6a40f | |||
7dd5a78b88 | |||
ac38ec7c7f | |||
fa1039760e | |||
9f573a8df0 | |||
fc06cda837 | |||
50faf02f43 | |||
572a4433c8 | |||
82418263fa | |||
1936c76536 | |||
371951d0c3 | |||
52df40eb04 | |||
ef976323e7 | |||
caa1d19da1 | |||
47da934844 | |||
70e672580b | |||
859ea4bc76 | |||
66000ff9af | |||
9fbdbb814f | |||
26f09ea54b | |||
f802767df7 | |||
524c853e5e | |||
439a2ba174 | |||
49c311c9b1 | |||
7c1cbb6cd4 | |||
7fc6c0e4da | |||
368aa69088 | |||
d324742292 | |||
cde0319385 | |||
8279af514c | |||
3bdef10dc1 | |||
7381c0ce3f | |||
1190139ed0 | |||
2cb4a89797 | |||
311df6bb0f | |||
838b746cce |
@ -7,7 +7,6 @@ environment:
|
||||
- FEATURE: HUGE
|
||||
# disabled
|
||||
# - FEATURE: TINY
|
||||
# - FEATURE: SMALL
|
||||
# - FEATURE: NORMAL
|
||||
# - FEATURE: BIG
|
||||
|
||||
|
10
.cirrus.yml
10
.cirrus.yml
@ -30,15 +30,17 @@ macos_task:
|
||||
name: macOS m1
|
||||
macos_instance:
|
||||
image: ghcr.io/cirruslabs/macos-ventura-xcode:latest
|
||||
env:
|
||||
# only run with clang, gcc is not real, it is a link to clang
|
||||
CC: clang
|
||||
timeout_in: 20m
|
||||
install_script:
|
||||
- uname -a
|
||||
- brew update
|
||||
- brew install gettext libtool
|
||||
build_script:
|
||||
- NPROC=$(getconf _NPROCESSORS_ONLN)
|
||||
- ./configure --with-features=${FEATURES} --disable-channel
|
||||
- make -j${NPROC} CC=clang
|
||||
- ./configure --with-features=${FEATURES}
|
||||
- make -j${NPROC}
|
||||
test_script:
|
||||
- src/vim --version
|
||||
- make CC=clang test
|
||||
- make test
|
||||
|
24
.github/CODEOWNERS
vendored
24
.github/CODEOWNERS
vendored
@ -57,6 +57,7 @@ runtime/compiler/gawk.vim @dkearns
|
||||
runtime/compiler/gjs.vim @dkearns
|
||||
runtime/compiler/go.vim @dbarnett
|
||||
runtime/compiler/haml.vim @tpope
|
||||
runtime/compiler/hare.vim @rsaihe
|
||||
runtime/compiler/icon.vim @dkearns
|
||||
runtime/compiler/javac.vim @dkearns
|
||||
runtime/compiler/jest.vim @dkearns
|
||||
@ -103,10 +104,12 @@ runtime/doc/pi_vimball.txt @cecamp
|
||||
runtime/doc/pi_zip.txt @cecamp
|
||||
runtime/doc/ps1.txt @heaths
|
||||
runtime/ftplugin/abaqus.vim @costerwi
|
||||
runtime/ftplugin/apache.vim @dubgeiser
|
||||
runtime/ftplugin/awk.vim @dkearns
|
||||
runtime/ftplugin/basic.vim @dkearns
|
||||
runtime/ftplugin/bst.vim @tpope
|
||||
runtime/ftplugin/cfg.vim @chrisbra
|
||||
runtime/ftplugin/chatito.vim @ObserverOfTime
|
||||
runtime/ftplugin/clojure.vim @axvr
|
||||
runtime/ftplugin/cs.vim @nickspoons
|
||||
runtime/ftplugin/csh.vim @dkearns
|
||||
@ -116,9 +119,9 @@ runtime/ftplugin/desktop.vim @e-kwsm
|
||||
runtime/ftplugin/dosbatch.vim @mrdubya
|
||||
runtime/ftplugin/eiffel.vim @dkearns
|
||||
runtime/ftplugin/elixir.vim @mhanberg
|
||||
runtime/ftplugin/expect.vim @dkearns
|
||||
runtime/ftplugin/erlang.vim @hcs42
|
||||
runtime/ftplugin/eruby.vim @tpope @dkearns
|
||||
runtime/ftplugin/expect.vim @dkearns
|
||||
runtime/ftplugin/fennel.vim @gpanders
|
||||
runtime/ftplugin/fetchmail.vim @dkearns
|
||||
runtime/ftplugin/fpcmake.vim @dkearns
|
||||
@ -134,9 +137,11 @@ runtime/ftplugin/gitconfig.vim @tpope
|
||||
runtime/ftplugin/gitignore.vim @ObserverOfTime
|
||||
runtime/ftplugin/gitrebase.vim @tpope
|
||||
runtime/ftplugin/gitsendemail.vim @tpope
|
||||
runtime/ftplugin/gyp.vim @ObserverOfTime
|
||||
runtime/ftplugin/go.vim @dbarnett
|
||||
runtime/ftplugin/gprof.vim @dpelle
|
||||
runtime/ftplugin/haml.vim @tpope
|
||||
runtime/ftplugin/hare.vim @rsaihe
|
||||
runtime/ftplugin/hgcommit.vim @k-takata
|
||||
runtime/ftplugin/html.vim @dkearns
|
||||
runtime/ftplugin/i3config.vim @hiqua
|
||||
@ -162,11 +167,13 @@ runtime/ftplugin/nginx.vim @chr4
|
||||
runtime/ftplugin/nroff.vim @a-vrma
|
||||
runtime/ftplugin/nsis.vim @k-takata
|
||||
runtime/ftplugin/octave.vim @dkearns
|
||||
runtime/ftplugin/openvpn.vim @ObserverOfTime
|
||||
runtime/ftplugin/pascal.vim @dkearns
|
||||
runtime/ftplugin/pbtxt.vim @lakshayg
|
||||
runtime/ftplugin/pdf.vim @tpope
|
||||
runtime/ftplugin/perl.vim @petdance @dkearns
|
||||
runtime/ftplugin/pod.vim @petdance @dkearns
|
||||
runtime/ftplugin/poefilter.vim @ObserverOfTime
|
||||
runtime/ftplugin/postscr.vim @mrdubya
|
||||
runtime/ftplugin/ps1.vim @heaths
|
||||
runtime/ftplugin/ps1xml.vim @heaths
|
||||
@ -188,6 +195,7 @@ runtime/ftplugin/sdoc.vim @gpanders
|
||||
runtime/ftplugin/sh.vim @dkearns
|
||||
runtime/ftplugin/solution.vim @dkearns
|
||||
runtime/ftplugin/spec.vim @ignatenkobrain
|
||||
runtime/ftplugin/ssa.vim @ObserverOfTime
|
||||
runtime/ftplugin/swayconfig.vim @jamespeapen
|
||||
runtime/ftplugin/systemverilog.vim @Kocha
|
||||
runtime/ftplugin/tap.vim @petdance
|
||||
@ -208,6 +216,7 @@ runtime/ftplugin/zsh.vim @chrisbra
|
||||
runtime/indent/basic.vim @dkearns
|
||||
runtime/indent/bst.vim @tpope
|
||||
runtime/indent/cdl.vim @dkearns
|
||||
runtime/indent/chatito.vim @ObserverOfTime
|
||||
runtime/indent/clojure.vim @axvr
|
||||
runtime/indent/config.vim @dkearns
|
||||
runtime/indent/cs.vim @nickspoons
|
||||
@ -229,7 +238,9 @@ runtime/indent/gdscript.vim @habamax
|
||||
runtime/indent/gitconfig.vim @tpope
|
||||
runtime/indent/gitolite.vim @sitaramc
|
||||
runtime/indent/go.vim @dbarnett
|
||||
runtime/indent/gyp.vim @ObserverOfTime
|
||||
runtime/indent/haml.vim @tpope
|
||||
runtime/indent/hare.vim @rsaihe
|
||||
runtime/indent/idlang.vim @dkearns
|
||||
runtime/indent/j.vim @glts
|
||||
runtime/indent/java.vim @xuhdev
|
||||
@ -285,6 +296,7 @@ runtime/plugin/netrwPlugin.vim @cecamp
|
||||
runtime/plugin/tarPlugin.vim @cecamp
|
||||
runtime/plugin/vimballPlugin.vim @cecamp
|
||||
runtime/plugin/zipPlugin.vim @cecamp
|
||||
runtime/plugin/manpager.vim @Konfekt
|
||||
runtime/syntax/abaqus.vim @costerwi
|
||||
runtime/syntax/aidl.vim @dpelle
|
||||
runtime/syntax/amiga.vim @cecamp
|
||||
@ -303,6 +315,7 @@ runtime/syntax/cabal.vim @coot
|
||||
runtime/syntax/cabalconfig.vim @coot
|
||||
runtime/syntax/cabalproject.vim @coot
|
||||
runtime/syntax/cf.vim @ernstvanderlinden
|
||||
runtime/syntax/chatito.vim @ObserverOfTime
|
||||
runtime/syntax/clojure.vim @axvr
|
||||
runtime/syntax/cs.vim @nickspoons
|
||||
runtime/syntax/csh.vim @cecamp
|
||||
@ -345,9 +358,12 @@ runtime/syntax/go.vim @bhcleek
|
||||
runtime/syntax/godoc.vim @dbarnett
|
||||
runtime/syntax/gprof.vim @dpelle
|
||||
runtime/syntax/groff.vim @jmarshall
|
||||
runtime/syntax/gyp.vim @ObserverOfTime
|
||||
runtime/syntax/haml.vim @tpope
|
||||
runtime/syntax/hare.vim @rsaihe
|
||||
runtime/syntax/haskell.vim @coot
|
||||
runtime/syntax/hgcommit.vim @k-takata
|
||||
runtime/syntax/hollywood.vim @sodero
|
||||
runtime/syntax/html.vim @dkearns
|
||||
runtime/syntax/i3config.vim @hiqua
|
||||
runtime/syntax/icon.vim @dkearns
|
||||
@ -380,6 +396,7 @@ runtime/syntax/nginx.vim @chr4
|
||||
runtime/syntax/ninja.vim @nico
|
||||
runtime/syntax/nroff.vim @jmarshall
|
||||
runtime/syntax/nsis.vim @k-takata
|
||||
runtime/syntax/openvpn.vim @ObserverOfTime
|
||||
runtime/syntax/pascal.vim @dkearns
|
||||
runtime/syntax/pbtxt.vim @lakshayg
|
||||
runtime/syntax/pdf.vim @tpope
|
||||
@ -387,6 +404,7 @@ runtime/syntax/perl.vim @petdance
|
||||
runtime/syntax/php.vim @TysonAndre
|
||||
runtime/syntax/plsql.vim @lee-lindley
|
||||
runtime/syntax/pod.vim @petdance
|
||||
runtime/syntax/poefilter.vim @ObserverOfTime
|
||||
runtime/syntax/postscr.vim @mrdubya
|
||||
runtime/syntax/privoxy.vim @dkearns
|
||||
runtime/syntax/prolog.vim @XVilka
|
||||
@ -414,12 +432,14 @@ runtime/syntax/sass.vim @tpope
|
||||
runtime/syntax/scala.vim @derekwyatt
|
||||
runtime/syntax/scss.vim @tpope
|
||||
runtime/syntax/sdoc.vim @gpanders
|
||||
runtime/syntax/sed.vim @dkearns
|
||||
runtime/syntax/sh.vim @cecamp
|
||||
runtime/syntax/sm.vim @cecamp
|
||||
runtime/syntax/spec.vim @ignatenkobrain
|
||||
runtime/syntax/srt.vim @ObserverOfTime
|
||||
runtime/syntax/sqloracle.vim @chrisbra
|
||||
runtime/syntax/squirrel.vim @zenmatic
|
||||
runtime/syntax/srt.vim @ObserverOfTime
|
||||
runtime/syntax/ssa.vim @ObserverOfTime
|
||||
runtime/syntax/sshconfig.vim @Jakuje
|
||||
runtime/syntax/sshdconfig.vim @Jakuje
|
||||
runtime/syntax/sudoers.vim @e-kwsm
|
||||
|
46
.github/workflows/ci.yml
vendored
46
.github/workflows/ci.yml
vendored
@ -12,6 +12,9 @@ concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read # to fetch code (actions/checkout)
|
||||
|
||||
jobs:
|
||||
linux:
|
||||
runs-on: ubuntu-20.04
|
||||
@ -30,7 +33,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
features: [tiny, small, normal, huge]
|
||||
features: [tiny, normal, huge]
|
||||
compiler: [clang, gcc]
|
||||
extra: [none]
|
||||
include:
|
||||
@ -122,7 +125,7 @@ jobs:
|
||||
echo "TMPDIR=${{ runner.temp }}"
|
||||
|
||||
case "${{ matrix.features }}" in
|
||||
tiny|small)
|
||||
tiny)
|
||||
echo "TEST=testtiny"
|
||||
if ${{ contains(matrix.extra, 'nogui') }}; then
|
||||
echo "CONFOPT=--disable-gui"
|
||||
@ -171,22 +174,23 @@ jobs:
|
||||
sudo usermod -a -G audio "${USER}"
|
||||
sudo bash ci/setup-xvfb.sh
|
||||
|
||||
- name: Cache snd-dummy
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ env.SND_DUMMY_DIR }}
|
||||
key: linux-${{ env.LINUX_VERSION }}-snd-dummy
|
||||
# FIXME: Temporarily disabled because of build errors
|
||||
#- name: Cache snd-dummy
|
||||
# uses: actions/cache@v3
|
||||
# with:
|
||||
# path: ${{ env.SND_DUMMY_DIR }}
|
||||
# key: linux-${{ env.LINUX_VERSION }}-snd-dummy
|
||||
|
||||
- name: Set up snd-dummy
|
||||
run: |
|
||||
if [[ ! -e ${SND_DUMMY_DIR}/snd-dummy.ko ]]; then
|
||||
bash ci/build-snd-dummy.sh
|
||||
fi
|
||||
cd "${SND_DUMMY_DIR}"
|
||||
sudo insmod soundcore.ko
|
||||
sudo insmod snd.ko
|
||||
sudo insmod snd-pcm.ko
|
||||
sudo insmod snd-dummy.ko
|
||||
#- name: Set up snd-dummy
|
||||
# run: |
|
||||
# if [[ ! -e ${SND_DUMMY_DIR}/snd-dummy.ko ]]; then
|
||||
# bash ci/build-snd-dummy.sh
|
||||
# fi
|
||||
# cd "${SND_DUMMY_DIR}"
|
||||
# sudo insmod soundcore.ko
|
||||
# sudo insmod snd.ko
|
||||
# sudo insmod snd-pcm.ko
|
||||
# sudo insmod snd-dummy.ko
|
||||
|
||||
- name: Check autoconf
|
||||
if: contains(matrix.extra, 'unittests')
|
||||
@ -301,6 +305,7 @@ jobs:
|
||||
run: |
|
||||
brew install lua
|
||||
echo "LUA_PREFIX=/usr/local" >> $GITHUB_ENV
|
||||
brew uninstall perl
|
||||
|
||||
- name: Set up environment
|
||||
run: |
|
||||
@ -397,6 +402,9 @@ jobs:
|
||||
id: init
|
||||
shell: bash
|
||||
run: |
|
||||
# Show Windows version
|
||||
cmd /c ver
|
||||
|
||||
git config --global core.autocrlf input
|
||||
|
||||
if [ "${{ matrix.arch }}" = "x64" ]; then
|
||||
@ -418,9 +426,9 @@ jobs:
|
||||
echo "VCVARSALL=$(vswhere -products \* -latest -property installationPath)\\VC\\Auxiliary\\Build\\vcvarsall.bat" >> $GITHUB_ENV
|
||||
if [ "${{ matrix.features }}" != "TINY" ]; then
|
||||
if [ "${{ matrix.arch }}" = "x86" ]; then
|
||||
choco install python2 --forcex86
|
||||
choco install python2 --no-progress --forcex86
|
||||
else
|
||||
choco install python2
|
||||
choco install python2 --no-progress
|
||||
fi
|
||||
fi
|
||||
python3_dir=$(cat "/proc/$cygreg/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON3_VER_DOT}$pyreg/InstallPath/@")
|
||||
|
7
.github/workflows/codeql-analysis.yml
vendored
7
.github/workflows/codeql-analysis.yml
vendored
@ -21,8 +21,15 @@ concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read # to fetch code (actions/checkout)
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
permissions:
|
||||
contents: read # to fetch code (actions/checkout)
|
||||
security-events: write # (github/codeql-action/autobuild)
|
||||
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
|
14
.github/workflows/coverity.yml
vendored
14
.github/workflows/coverity.yml
vendored
@ -4,6 +4,9 @@ on:
|
||||
- cron: '42 0 * * *' # Run once per day, to avoid Coverity's submission limits
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read # to fetch code (actions/checkout)
|
||||
|
||||
jobs:
|
||||
scan:
|
||||
runs-on: ubuntu-20.04
|
||||
@ -12,20 +15,22 @@ jobs:
|
||||
CC: gcc
|
||||
CFLAGS: -Wno-deprecated-declarations
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
|
||||
|
||||
steps:
|
||||
- name: Checkout repository from github
|
||||
if: env.TOKEN
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Download Coverity
|
||||
if: env.TOKEN
|
||||
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
|
||||
if: env.TOKEN
|
||||
run: |
|
||||
sudo apt update && sudo apt install -y \
|
||||
autoconf \
|
||||
@ -44,6 +49,7 @@ jobs:
|
||||
libsodium-dev
|
||||
|
||||
- name: Set up environment
|
||||
if: env.TOKEN
|
||||
run: |
|
||||
echo "$(pwd)/cov-scan/bin" >> $GITHUB_PATH
|
||||
(
|
||||
@ -52,6 +58,7 @@ jobs:
|
||||
) >> $GITHUB_ENV
|
||||
|
||||
- name: Configure
|
||||
if: env.TOKEN
|
||||
run: |
|
||||
./configure --with-features=huge ${CONFOPT} --enable-fail-if-missing
|
||||
# Append various warning flags to CFLAGS.
|
||||
@ -59,10 +66,12 @@ jobs:
|
||||
sed -i -f ci/config.mk.${CC}.sed src/auto/config.mk
|
||||
|
||||
- name: Build/scan vim
|
||||
if: env.TOKEN
|
||||
run: |
|
||||
cov-build --dir cov-int make -j${NPROC}
|
||||
|
||||
- name: Submit results
|
||||
if: env.TOKEN
|
||||
run: |
|
||||
tar zcf cov-scan.tgz cov-int
|
||||
curl --form token=$TOKEN \
|
||||
@ -72,5 +81,4 @@ jobs:
|
||||
--form description="Automatic GHA scan" \
|
||||
'https://scan.coverity.com/builds?project=vim'
|
||||
env:
|
||||
TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
|
||||
EMAIL: ${{ secrets.COVERITY_SCAN_EMAIL }}
|
||||
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -44,6 +44,8 @@ gvimext.lib
|
||||
gvim.lib
|
||||
runtime/doc/uganda.nsis.txt
|
||||
nsis/icons/*
|
||||
/vim90/
|
||||
.vscode/
|
||||
|
||||
# NetBeans
|
||||
nbproject/*
|
||||
@ -83,6 +85,7 @@ src/testdir/messages
|
||||
src/testdir/viminfo
|
||||
src/testdir/opt_test.vim
|
||||
src/testdir/failed
|
||||
src/testdir/starttime
|
||||
runtime/indent/testdir/*.out
|
||||
runtime/indent/testdir/*.fail
|
||||
src/memfile_test
|
||||
|
35
Filelist
35
Filelist
@ -12,6 +12,7 @@ SRC_ALL = \
|
||||
.github/workflows/ci.yml \
|
||||
.github/workflows/codeql-analysis.yml \
|
||||
.github/workflows/coverity.yml \
|
||||
.github/dependabot.yml \
|
||||
.gitignore \
|
||||
.hgignore \
|
||||
.lgtm.yml \
|
||||
@ -87,10 +88,11 @@ SRC_ALL = \
|
||||
src/job.c \
|
||||
src/json.c \
|
||||
src/json_test.c \
|
||||
src/keymap.h \
|
||||
src/kword_test.c \
|
||||
src/list.c \
|
||||
src/locale.c \
|
||||
src/keymap.h \
|
||||
src/logfile.c \
|
||||
src/macros.h \
|
||||
src/main.c \
|
||||
src/map.c \
|
||||
@ -177,6 +179,8 @@ SRC_ALL = \
|
||||
src/testdir/Make_all.mak \
|
||||
src/testdir/*.in \
|
||||
src/testdir/*.py \
|
||||
src/testdir/keycode_check.vim \
|
||||
src/testdir/keycode_check.json \
|
||||
src/testdir/lsan-suppress.txt \
|
||||
src/testdir/sautest/autoload/*.vim \
|
||||
src/testdir/testluaplugin/lua/testluaplugin/*.lua \
|
||||
@ -209,6 +213,7 @@ SRC_ALL = \
|
||||
src/testdir/python_before/*.py \
|
||||
src/testdir/pyxfile/*.py \
|
||||
src/testdir/dumps/*.dump \
|
||||
src/testdir/dumps/*.vim \
|
||||
src/testdir/samples/*.txt \
|
||||
src/testdir/samples/test000 \
|
||||
src/testdir/color_ramp.vim \
|
||||
@ -270,6 +275,7 @@ SRC_ALL = \
|
||||
src/proto/json.pro \
|
||||
src/proto/list.pro \
|
||||
src/proto/locale.pro \
|
||||
src/proto/logfile.pro \
|
||||
src/proto/main.pro \
|
||||
src/proto/map.pro \
|
||||
src/proto/mark.pro \
|
||||
@ -393,6 +399,7 @@ SRC_ALL = \
|
||||
src/libvterm/t/66screen_extent.test \
|
||||
src/libvterm/t/67screen_dbl_wh.test \
|
||||
src/libvterm/t/68screen_termprops.test \
|
||||
src/libvterm/t/69screen_reflow.test \
|
||||
src/libvterm/t/90vttest_01-movement-1.test \
|
||||
src/libvterm/t/90vttest_01-movement-2.test \
|
||||
src/libvterm/t/90vttest_01-movement-3.test \
|
||||
@ -555,7 +562,6 @@ SRC_DOS = \
|
||||
src/if_ole.cpp \
|
||||
src/if_ole.h \
|
||||
src/if_ole.idl \
|
||||
src/if_perl_msvc/stdbool.h \
|
||||
src/iscygpty.c \
|
||||
src/iscygpty.h \
|
||||
src/iid_ole.c \
|
||||
@ -590,30 +596,9 @@ SRC_DOS = \
|
||||
nsis/README.txt \
|
||||
nsis/lang/*.nsi \
|
||||
uninstall.txt \
|
||||
src/VisVim/Commands.cpp \
|
||||
src/VisVim/Commands.h \
|
||||
src/VisVim/DSAddIn.cpp \
|
||||
src/VisVim/DSAddIn.h \
|
||||
src/VisVim/OleAut.cpp \
|
||||
src/VisVim/OleAut.h \
|
||||
src/VisVim/README_VisVim.txt \
|
||||
src/VisVim/Reg.cpp \
|
||||
src/VisVim/Register.bat \
|
||||
src/VisVim/Resource.h \
|
||||
src/VisVim/StdAfx.cpp \
|
||||
src/VisVim/StdAfx.h \
|
||||
src/VisVim/UnRegist.bat \
|
||||
src/VisVim/VisVim.cpp \
|
||||
src/VisVim/VisVim.def \
|
||||
src/VisVim/VisVim.mak \
|
||||
src/VisVim/VisVim.h \
|
||||
src/VisVim/VisVim.odl \
|
||||
src/VisVim/VisVim.rc \
|
||||
src/VisVim/VsReadMe.txt \
|
||||
|
||||
# source files for DOS without CR/LF translation (also in the extra archive)
|
||||
SRC_DOS_BIN = \
|
||||
src/VisVim/Res/*.bmp \
|
||||
src/tearoff.bmp \
|
||||
src/tools.bmp \
|
||||
src/vim*.ico \
|
||||
@ -624,10 +609,8 @@ SRC_DOS_BIN = \
|
||||
src/xpm/include/*.h \
|
||||
src/xpm/x64/lib-vc14/libXpm.lib \
|
||||
src/xpm/x64/lib/libXpm.a \
|
||||
src/xpm/x64/lib/libXpm.lib \
|
||||
src/xpm/x86/lib-vc14/libXpm.lib \
|
||||
src/xpm/x86/lib/libXpm.a \
|
||||
src/xpm/x86/lib/libXpm.lib \
|
||||
runtime/bitmaps/vim.ico \
|
||||
nsis/icons.zip \
|
||||
|
||||
@ -664,6 +647,7 @@ SRC_MAC = \
|
||||
src/os_mac_conv.c \
|
||||
src/os_macosx.m \
|
||||
src/proto/os_mac_conv.pro \
|
||||
src/proto/os_macosx.pro \
|
||||
|
||||
# source files for VMS (in the extra archive)
|
||||
SRC_VMS = \
|
||||
@ -947,7 +931,6 @@ EXTRA = \
|
||||
$(RT_EXTRA) \
|
||||
$(SRC_EXTRA) \
|
||||
README_extra.txt \
|
||||
src/VisVim/VisVim.dll \
|
||||
runtime/vimlogo.xpm \
|
||||
|
||||
# files in READMEdir that are included from the top dir
|
||||
|
4
Makefile
4
Makefile
@ -198,8 +198,6 @@ MINOR = 0
|
||||
# - copy these files (get them from a binary archive or build them):
|
||||
# gvimext.dll in src/GvimExt
|
||||
# gvimext64.dll in src/GvimExt
|
||||
# VisVim.dll in src/VisVim
|
||||
# Note: VisVim needs to be build with MSVC 5, newer versions don't work.
|
||||
# gvimext64.dll can be obtained from:
|
||||
# https://github.com/vim/vim-win32-installer/releases
|
||||
# It is part of gvim_9.0.*_x64.zip as vim/vim90/GvimExt/gvimext64.dll.
|
||||
@ -554,8 +552,6 @@ dosbin_ole: dist no_title.vim dist/$(COMMENT_OLE)
|
||||
cp uninstallw32.exe dist/vim/$(VIMRTDIR)/uninstall.exe
|
||||
cp gvimext.dll dist/vim/$(VIMRTDIR)/gvimext.dll
|
||||
cp README_ole.txt dist/vim/$(VIMRTDIR)
|
||||
cp src/VisVim/VisVim.dll dist/vim/$(VIMRTDIR)/VisVim.dll
|
||||
cp src/VisVim/README_VisVim.txt dist/vim/$(VIMRTDIR)
|
||||
cd dist && zip -9 -rD -z gvim$(VERSION)ole.zip vim <$(COMMENT_OLE)
|
||||
cp gvim_ole.pdb dist/gvim$(VERSION)ole.pdb
|
||||
|
||||
|
@ -29,9 +29,6 @@ src/Make_mvc.mak MS Visual C++ makefile for the Win32 GUI.
|
||||
|
||||
src/if_ole.* OLE automation interface, for MS Windows 95 and NT.
|
||||
|
||||
src/VisVim/* Integration of Win32 GUI with MS Visual Developer
|
||||
Studio.
|
||||
|
||||
src/GvimExt/* DLL for the "Edit with Vim" context menu entry
|
||||
|
||||
nsis/* NSIS script to build the self-installing MS-Windows exe
|
||||
|
@ -1,6 +1,6 @@
|
||||
README_ole.txt for version 9.0 of Vim: Vi IMproved.
|
||||
|
||||
This archive contains gvim.exe with OLE interface and VisVim.
|
||||
This archive contains gvim.exe with OLE interface.
|
||||
This version of gvim.exe can also load a number of interface dynamically (you
|
||||
can optionally install the .dll files for each interface).
|
||||
It is only for MS-Windows 95/98/ME/NT/2000/XP.
|
||||
@ -15,6 +15,3 @@ Win32 with OLE - "MS-Windows 32 bit GUI version with OLE support"
|
||||
|
||||
For further information, type this inside Vim:
|
||||
:help if_ole
|
||||
|
||||
Furthermore, this archive contains VISVIM.DLL. It can be used to integrate
|
||||
the OLE gvim with Microsoft Visual Developer Studio. See VisVim/README.txt.
|
||||
|
@ -6,7 +6,6 @@ These files are in the runtime archive (vim90rt.zip).
|
||||
|
||||
|
||||
The DOS source archive contains the files needed to compile Vim on MS-Windows.
|
||||
It is packed for MS-Windows systems, with CR-LF. It also includes the VisVim
|
||||
sources.
|
||||
It is packed for MS-Windows systems, with CR-LF.
|
||||
|
||||
See "src/INSTALLpc.txt" for instructions on how to compile Vim on the PC.
|
||||
|
@ -27,23 +27,20 @@ To build the installable .exe:
|
||||
64-bit: src/GvimExt/gvimext64.dll
|
||||
32-bit: src/GvimExt/gvimext.dll
|
||||
|
||||
4. Go to the VisVim directory and build VisVim.dll (or get it from a binary
|
||||
archive).
|
||||
|
||||
5. Get a "diff.exe" program. If you skip this the built-in diff will always
|
||||
4. Get a "diff.exe" program. If you skip this the built-in diff will always
|
||||
be used (which is fine for most users). If you do have your own
|
||||
"diff.exe" put it in the "../.." directory (above the "vim82" directory,
|
||||
it's the same for all Vim versions).
|
||||
You can find one in previous Vim versions or in this archive:
|
||||
http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
|
||||
|
||||
6 Also put winpty32.dll and winpty-agent.exe in "../.." (above the "vim82"
|
||||
5 Also put winpty32.dll and winpty-agent.exe in "../.." (above the "vim82"
|
||||
directory). This is required for the terminal window.
|
||||
|
||||
7. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have
|
||||
6. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have
|
||||
to do this on Unix. Make sure the file is in DOS file format!
|
||||
|
||||
8. Get gettext and iconv DLLs from the following site:
|
||||
7. Get gettext and iconv DLLs from the following site:
|
||||
https://github.com/mlocati/gettext-iconv-windows/releases
|
||||
Both 64- and 32-bit versions are needed.
|
||||
Download the files gettextX.X.X.X-iconvX.XX-shared-{32,64}.zip, extract
|
||||
|
@ -36,9 +36,6 @@ Unicode true
|
||||
# Comment the next line if you do not want to add Native Language Support
|
||||
!define HAVE_NLS
|
||||
|
||||
# Uncomment the next line if you want to include VisVim extension:
|
||||
#!define HAVE_VIS_VIM
|
||||
|
||||
# Comment the following line to create an English-only installer:
|
||||
!define HAVE_MULTI_LANG
|
||||
|
||||
@ -55,9 +52,6 @@ Unicode true
|
||||
# ----------- No configurable settings below this line -----------
|
||||
|
||||
!include "Library.nsh" # For DLL install
|
||||
!ifdef HAVE_VIS_VIM
|
||||
!include "UpgradeDLL.nsh" # for VisVim.dll
|
||||
!endif
|
||||
!include "LogicLib.nsh"
|
||||
!include "MUI2.nsh"
|
||||
!include "nsDialogs.nsh"
|
||||
@ -536,17 +530,6 @@ SectionGroup $(str_group_plugin) id_group_plugin
|
||||
SectionEnd
|
||||
SectionGroupEnd
|
||||
|
||||
##########################################################
|
||||
!ifdef HAVE_VIS_VIM
|
||||
Section "$(str_section_vis_vim)" id_section_visvim
|
||||
SectionIn 3
|
||||
|
||||
SetOutPath $0
|
||||
!insertmacro UpgradeDLL "${VIMSRC}\VisVim\VisVim.dll" "$0\VisVim.dll" "$0"
|
||||
File ${VIMSRC}\VisVim\README_VisVim.txt
|
||||
SectionEnd
|
||||
!endif
|
||||
|
||||
##########################################################
|
||||
!ifdef HAVE_NLS
|
||||
Section "$(str_section_nls)" id_section_nls
|
||||
@ -634,12 +617,6 @@ Section -post
|
||||
SectionGetSize ${id_section_editwith} $4
|
||||
IntOp $3 $3 + $4
|
||||
${EndIf}
|
||||
!ifdef HAVE_VIS_VIM
|
||||
${If} ${SectionIsSelected} ${id_section_visvim}
|
||||
SectionGetSize ${id_section_visvim} $4
|
||||
IntOp $3 $3 + $4
|
||||
${EndIf}
|
||||
!endif
|
||||
!ifdef HAVE_NLS
|
||||
${If} ${SectionIsSelected} ${id_section_nls}
|
||||
SectionGetSize ${id_section_nls} $4
|
||||
@ -670,9 +647,6 @@ Section -post
|
||||
!insertmacro SaveSectionSelection ${id_section_vimrc} "select_vimrc"
|
||||
!insertmacro SaveSectionSelection ${id_section_pluginhome} "select_pluginhome"
|
||||
!insertmacro SaveSectionSelection ${id_section_pluginvim} "select_pluginvim"
|
||||
!ifdef HAVE_VIS_VIM
|
||||
!insertmacro SaveSectionSelection ${id_section_visvim} "select_visvim"
|
||||
!endif
|
||||
!ifdef HAVE_NLS
|
||||
!insertmacro SaveSectionSelection ${id_section_nls} "select_nls"
|
||||
!endif
|
||||
@ -744,9 +718,6 @@ Function .onInit
|
||||
!insertmacro LoadSectionSelection ${id_section_vimrc} "select_vimrc"
|
||||
!insertmacro LoadSectionSelection ${id_section_pluginhome} "select_pluginhome"
|
||||
!insertmacro LoadSectionSelection ${id_section_pluginvim} "select_pluginvim"
|
||||
!ifdef HAVE_VIS_VIM
|
||||
!insertmacro LoadSectionSelection ${id_section_visvim} "select_visvim"
|
||||
!endif
|
||||
!ifdef HAVE_NLS
|
||||
!insertmacro LoadSectionSelection ${id_section_nls} "select_nls"
|
||||
!endif
|
||||
@ -921,9 +892,6 @@ FunctionEnd
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${id_group_plugin} $(str_desc_plugin)
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${id_section_pluginhome} $(str_desc_plugin_home)
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${id_section_pluginvim} $(str_desc_plugin_vim)
|
||||
!ifdef HAVE_VIS_VIM
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${id_section_visvim} $(str_desc_vis_vim)
|
||||
!endif
|
||||
!ifdef HAVE_NLS
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${id_section_nls} $(str_desc_nls)
|
||||
!endif
|
||||
@ -947,13 +915,6 @@ Section "un.$(str_unsection_register)" id_unsection_register
|
||||
# created. Thus the "vim61" directory is included in it.
|
||||
StrCpy $0 "$INSTDIR"
|
||||
|
||||
!ifdef HAVE_VIS_VIM
|
||||
# If VisVim was installed, unregister the DLL.
|
||||
${If} ${FileExists} "$0\VisVim.dll"
|
||||
ExecWait "regsvr32.exe /u /s $0\VisVim.dll"
|
||||
${EndIf}
|
||||
!endif
|
||||
|
||||
# delete the context menu entry and batch files
|
||||
DetailPrint "$(str_msg_unregistering)"
|
||||
nsExec::Exec "$0\uninstall.exe -nsis"
|
||||
@ -1046,9 +1007,6 @@ Section "un.$(str_unsection_exe)" id_unsection_exe
|
||||
RMDir /r $0\syntax
|
||||
RMDir /r $0\tools
|
||||
RMDir /r $0\tutor
|
||||
!ifdef HAVE_VIS_VIM
|
||||
RMDir /r $0\VisVim
|
||||
!endif
|
||||
RMDir /r $0\lang
|
||||
RMDir /r $0\keymap
|
||||
Delete $0\*.exe
|
||||
|
@ -79,9 +79,6 @@ LangString str_desc_plugin_home ${LANG_DANISH} "Opret plugin-mapper i HO
|
||||
LangString str_section_plugin_vim ${LANG_DANISH} "Delte"
|
||||
LangString str_desc_plugin_vim ${LANG_DANISH} "Opret plugin-mapper i Vim-installationsmappe, det bruges af alle på systemet."
|
||||
|
||||
LangString str_section_vis_vim ${LANG_DANISH} "VisVim-udvidelser"
|
||||
LangString str_desc_vis_vim ${LANG_DANISH} "VisVim-udvidelser til integrering i Microsoft Visual Studio."
|
||||
|
||||
LangString str_section_nls ${LANG_DANISH} "Understøttelse af modersmål"
|
||||
LangString str_desc_nls ${LANG_DANISH} "Installer filer til understøttelse af modersmål."
|
||||
|
||||
|
@ -123,11 +123,6 @@ LangString str_desc_plugin_vim ${LANG_DUTCH} \
|
||||
"Creëer plugin mappen in Vim installatie map, deze worden gebruikt \
|
||||
voor iedereen op het systeem."
|
||||
|
||||
LangString str_section_vis_vim ${LANG_DUTCH} \
|
||||
"VisVim extensie"
|
||||
LangString str_desc_vis_vim ${LANG_DUTCH} \
|
||||
"VisVim extensie voor Microsoft Visual Studio integratie."
|
||||
|
||||
LangString str_section_nls ${LANG_DUTCH} \
|
||||
"Ondersteuning voor andere talen"
|
||||
LangString str_desc_nls ${LANG_DUTCH} \
|
||||
|
@ -121,11 +121,6 @@ LangString str_desc_plugin_vim ${LANG_ENGLISH} \
|
||||
"Create plugin directories in Vim install directory, it is used for \
|
||||
everybody on the system."
|
||||
|
||||
LangString str_section_vis_vim ${LANG_ENGLISH} \
|
||||
"VisVim Extension"
|
||||
LangString str_desc_vis_vim ${LANG_ENGLISH} \
|
||||
"VisVim Extension for Microsoft Visual Studio integration."
|
||||
|
||||
LangString str_section_nls ${LANG_ENGLISH} \
|
||||
"Native Language Support"
|
||||
LangString str_desc_nls ${LANG_ENGLISH} \
|
||||
|
@ -122,11 +122,6 @@ LangString str_desc_plugin_vim ${LANG_GERMAN} \
|
||||
"Plugin-Verzeichnisse im Vim-Installationsverzeichnis erstellen. Diese werden \
|
||||
für alle Benutzer dieses Systems genutzt."
|
||||
|
||||
LangString str_section_vis_vim ${LANG_GERMAN} \
|
||||
"VisVim-Erweiterung"
|
||||
LangString str_desc_vis_vim ${LANG_GERMAN} \
|
||||
"VisVim-Erweiterung zur Integration in Microsoft Visual Studio."
|
||||
|
||||
LangString str_section_nls ${LANG_GERMAN} \
|
||||
"Unterstützung für andere Sprachen"
|
||||
LangString str_desc_nls ${LANG_GERMAN} \
|
||||
|
@ -123,11 +123,6 @@ LangString str_desc_plugin_vim ${LANG_ITALIAN} \
|
||||
"Crea directory per plugin nella directory di installazione di Vim \
|
||||
per uso da parte di tutti gli utenti di questo sistema."
|
||||
|
||||
LangString str_section_vis_vim ${LANG_ITALIAN} \
|
||||
"Estensione VisVim"
|
||||
LangString str_desc_vis_vim ${LANG_ITALIAN} \
|
||||
"Estensione VisVim per integrazione con Microsoft Visual Studio."
|
||||
|
||||
LangString str_section_nls ${LANG_ITALIAN} \
|
||||
"Supporto Multilingue (NLS)"
|
||||
LangString str_desc_nls ${LANG_ITALIAN} \
|
||||
|
@ -128,11 +128,6 @@ LangString str_section_plugin_vim ${LANG_JAPANESE} \
|
||||
LangString str_desc_plugin_vim ${LANG_JAPANESE} \
|
||||
"プラグインディレクトリを Vim のインストールディレクトリに作成します。システムの全員で共有されます。"
|
||||
|
||||
LangString str_section_vis_vim ${LANG_JAPANESE} \
|
||||
"VisVim 拡張"
|
||||
LangString str_desc_vis_vim ${LANG_JAPANESE} \
|
||||
"Microsoft Visual Studio 統合用の VisVim 拡張。"
|
||||
|
||||
LangString str_section_nls ${LANG_JAPANESE} \
|
||||
"多言語サポート"
|
||||
LangString str_desc_nls ${LANG_JAPANESE} \
|
||||
|
@ -125,11 +125,6 @@ LangString str_desc_plugin_vim ${LANG_RUSSIAN} \
|
||||
Модули в этом каталоге будут доступны для любого пользователя \
|
||||
зарегистрировавшегося в системе"
|
||||
|
||||
LangString str_section_vis_vim ${LANG_RUSSIAN} \
|
||||
"Подключаемый модуль VisVim"
|
||||
LangString str_desc_vis_vim ${LANG_RUSSIAN} \
|
||||
"Подключаемый модуль VisVim используется для интеграции с Microsoft Visual Studio"
|
||||
|
||||
LangString str_section_nls ${LANG_RUSSIAN} \
|
||||
"Поддержка региональных языков"
|
||||
LangString str_desc_nls ${LANG_RUSSIAN} \
|
||||
|
@ -121,11 +121,6 @@ LangString str_desc_plugin_vim ${LANG_SERBIAN} \
|
||||
"Креира директоријуме додатака у Vim инсталационом директоријуму, користе их сви \
|
||||
на систему."
|
||||
|
||||
LangString str_section_vis_vim ${LANG_SERBIAN} \
|
||||
"VisVim проширење"
|
||||
LangString str_desc_vis_vim ${LANG_SERBIAN} \
|
||||
"VisVim проширење за Microsoft Visual Studio интеграцију."
|
||||
|
||||
LangString str_section_nls ${LANG_SERBIAN} \
|
||||
"Подршка за домаћи језик"
|
||||
LangString str_desc_nls ${LANG_SERBIAN} \
|
||||
|
@ -120,11 +120,6 @@ LangString str_desc_plugin_vim ${LANG_SIMPCHINESE} \
|
||||
"在 Vim 安装目录下创建(空的)插件目录结构,系统上所有用户都能使用安装在\
|
||||
该目录下的扩展插件。"
|
||||
|
||||
LangString str_section_vis_vim ${LANG_SIMPCHINESE} \
|
||||
"VisVim 插件"
|
||||
LangString str_desc_vis_vim ${LANG_SIMPCHINESE} \
|
||||
"安装与 Visual Studio 集成的 VisVim 插件。"
|
||||
|
||||
LangString str_section_nls ${LANG_SIMPCHINESE} \
|
||||
"安装多语言支持"
|
||||
LangString str_desc_nls ${LANG_SIMPCHINESE} \
|
||||
|
@ -121,11 +121,6 @@ LangString str_desc_plugin_vim ${LANG_TRADCHINESE} \
|
||||
"在 Vim 安裝資料夾下建立(空的)插件資料夾結構,電腦上所有用戶都能使用安裝\
|
||||
在該資料夾里的擴展插件。"
|
||||
|
||||
LangString str_section_vis_vim ${LANG_TRADCHINESE} \
|
||||
"安裝 VisVim 插件"
|
||||
LangString str_desc_vis_vim ${LANG_TRADCHINESE} \
|
||||
"VisVim 是用于與微軟 Microsoft Visual Studio 軟體進行整合的插件。"
|
||||
|
||||
LangString str_section_nls ${LANG_TRADCHINESE} \
|
||||
"安裝本地語言支持"
|
||||
LangString str_desc_nls ${LANG_TRADCHINESE} \
|
||||
|
@ -90,11 +90,6 @@ LangString str_desc_plugin_vim ${LANG_TURKISH} \
|
||||
"Eklenti dizinlerini Vim yükleme dizininde oluşturur. Bu eklentilerden \
|
||||
bilgisayarın tüm kullanıcıları yararlanabilir."
|
||||
|
||||
LangString str_section_vis_vim ${LANG_TURKISH} \
|
||||
"VisVim eklentisi"
|
||||
LangString str_desc_vis_vim ${LANG_TURKISH} \
|
||||
"Microsoft Visual Studio entegrasyonu için VisVim eklentisi"
|
||||
|
||||
LangString str_section_nls ${LANG_TURKISH} \
|
||||
"Ek dil desteği"
|
||||
LangString str_desc_nls ${LANG_TURKISH} \
|
||||
|
@ -3,13 +3,18 @@ vim9script
|
||||
# Language: ConTeXt typesetting engine
|
||||
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
|
||||
# Former Maintainers: Nikolai Weibull <now@bitwi.se>
|
||||
# Latest Revision: 2022 Aug 12
|
||||
# Latest Revision: 2022 Sep 19
|
||||
|
||||
# Typesetting {{{
|
||||
import autoload './typeset.vim'
|
||||
|
||||
export def ConTeXtCmd(path: string): list<string>
|
||||
return ['mtxrun', '--script', 'context', '--nonstopmode', '--autogenerate', path]
|
||||
var cmd = ['mtxrun', '--script', 'context', '--nonstopmode', '--autogenerate']
|
||||
if !empty(get(g:, 'context_extra_options', ''))
|
||||
cmd += g:context_extra_options
|
||||
endif
|
||||
cmd->add(path)
|
||||
return cmd
|
||||
enddef
|
||||
|
||||
export def Typeset(bufname: string, env = {}, Cmd = ConTeXtCmd): bool
|
||||
|
18
runtime/autoload/dist/ft.vim
vendored
18
runtime/autoload/dist/ft.vim
vendored
@ -145,7 +145,7 @@ export def FTcls()
|
||||
return
|
||||
endif
|
||||
|
||||
if getline(1) =~ '^%'
|
||||
if getline(1) =~ '^\v%(\%|\\)'
|
||||
setf tex
|
||||
elseif getline(1)[0] == '#' && getline(1) =~ 'rexx'
|
||||
setf rexx
|
||||
@ -712,7 +712,8 @@ export def SetFileTypeSH(name: string)
|
||||
if exists("b:is_sh")
|
||||
unlet b:is_sh
|
||||
endif
|
||||
elseif name =~ '\<sh\>'
|
||||
elseif name =~ '\<sh\>' || name =~ '\<dash\>'
|
||||
# Ubuntu links "sh" to "dash", thus it is expected to work the same way
|
||||
b:is_sh = 1
|
||||
if exists("b:is_kornshell")
|
||||
unlet b:is_kornshell
|
||||
@ -1087,5 +1088,18 @@ export def FTdat()
|
||||
endif
|
||||
enddef
|
||||
|
||||
export def FTlsl()
|
||||
if exists("g:filetype_lsl")
|
||||
exe "setf " .. g:filetype_lsl
|
||||
endif
|
||||
|
||||
var line = getline(nextnonblank(1))
|
||||
if line =~ '^\s*%' || line =~# ':\s*trait\s*$'
|
||||
setf larch
|
||||
else
|
||||
setf lsl
|
||||
endif
|
||||
enddef
|
||||
|
||||
# Uncomment this line to check for compilation errors early
|
||||
# defcompile
|
||||
|
4
runtime/autoload/dist/script.vim
vendored
4
runtime/autoload/dist/script.vim
vendored
@ -53,8 +53,8 @@ def DetectFromHashBang(firstline: string)
|
||||
name = 'wish'
|
||||
endif
|
||||
|
||||
# Bourne-like shell scripts: bash bash2 ksh ksh93 sh
|
||||
if name =~ '^\(bash\d*\|\|ksh\d*\|sh\)\>'
|
||||
# Bourne-like shell scripts: bash bash2 dash ksh ksh93 sh
|
||||
if name =~ '^\(bash\d*\|dash\|ksh\d*\|sh\)\>'
|
||||
call dist#ft#SetFileTypeSH(line1)
|
||||
|
||||
# csh scripts
|
||||
|
1205
runtime/autoload/dist/vimindent.vim
vendored
Normal file
1205
runtime/autoload/dist/vimindent.vim
vendored
Normal file
File diff suppressed because it is too large
Load Diff
@ -1791,8 +1791,10 @@ fun! s:NetrwOptionsRestore(vt)
|
||||
" 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("..doing filetype detect anyway")
|
||||
filetype detect
|
||||
if !isdirectory(expand('%'))
|
||||
" call Decho("..doing filetype detect anyway")
|
||||
filetype detect
|
||||
endif
|
||||
" 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")
|
||||
@ -1904,9 +1906,11 @@ fun! s:NetrwOptionsRestore(vt)
|
||||
" were having their filetype detect-generated settings overwritten by
|
||||
" NetrwOptionRestore.
|
||||
if &ft != "netrw"
|
||||
" call Decho("before: filetype detect (ft=".&ft.")",'~'.expand("<slnum>"))
|
||||
filetype detect
|
||||
" call Decho("after : filetype detect (ft=".&ft.")",'~'.expand("<slnum>"))
|
||||
if !isdirectory(expand('%'))
|
||||
" call Decho("before: filetype detect (ft=".&ft.")",'~'.expand("<slnum>"))
|
||||
filetype detect
|
||||
" call Decho("after : filetype detect (ft=".&ft.")",'~'.expand("<slnum>"))
|
||||
endif
|
||||
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>"))
|
||||
|
@ -712,6 +712,9 @@ func! tohtml#GetUserSettings() "{{{
|
||||
call tohtml#GetOption(user_settings, 'no_foldcolumn', user_settings.ignore_folding)
|
||||
call tohtml#GetOption(user_settings, 'hover_unfold', 0 )
|
||||
call tohtml#GetOption(user_settings, 'no_pre', 0 )
|
||||
call tohtml#GetOption(user_settings, 'no_doc', 0 )
|
||||
call tohtml#GetOption(user_settings, 'no_links', 0 )
|
||||
call tohtml#GetOption(user_settings, 'no_modeline', 0 )
|
||||
call tohtml#GetOption(user_settings, 'no_invalid', 0 )
|
||||
call tohtml#GetOption(user_settings, 'whole_filler', 0 )
|
||||
call tohtml#GetOption(user_settings, 'use_xhtml', 0 )
|
||||
@ -752,7 +755,7 @@ func! tohtml#GetUserSettings() "{{{
|
||||
|
||||
" pre_wrap doesn't do anything if not using pre or not using CSS
|
||||
if user_settings.no_pre || !user_settings.use_css
|
||||
let user_settings.pre_wrap=0
|
||||
let user_settings.pre_wrap = 0
|
||||
endif
|
||||
"}}}
|
||||
|
||||
|
31
runtime/compiler/hare.vim
Normal file
31
runtime/compiler/hare.vim
Normal file
@ -0,0 +1,31 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Hare Compiler
|
||||
" Maintainer: Amelia Clarke <me@rsaihe.dev>
|
||||
" Last Change: 2022-09-21
|
||||
|
||||
if exists("g:current_compiler")
|
||||
finish
|
||||
endif
|
||||
let g:current_compiler = "hare"
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
if exists(':CompilerSet') != 2
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
if filereadable("Makefile") || filereadable("makefile")
|
||||
CompilerSet makeprg=make
|
||||
else
|
||||
CompilerSet makeprg=hare\ build
|
||||
endif
|
||||
|
||||
CompilerSet errorformat=
|
||||
\Error\ %f:%l:%c:\ %m,
|
||||
\Syntax\ error:\ %.%#\ at\ %f:%l:%c\\,\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
" vim: tabstop=2 shiftwidth=2 expandtab
|
@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 9.0. Last change: 2022 May 24
|
||||
*autocmd.txt* For Vim version 9.0. Last change: 2022 Nov 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -409,6 +409,7 @@ Name triggered by ~
|
||||
when popup menu is not visible
|
||||
|TextChangedP| after a change was made to the text in Insert mode
|
||||
when popup menu visible
|
||||
|TextChangedT| after a change was made to the text in Terminal mode
|
||||
|TextYankPost| after text has been yanked or deleted
|
||||
|
||||
|SafeState| nothing pending, going to wait for the user to type a
|
||||
@ -1057,8 +1058,8 @@ QuickFixCmdPre Before a quickfix command is run (|:make|,
|
||||
QuickFixCmdPost Like QuickFixCmdPre, but after a quickfix
|
||||
command is run, before jumping to the first
|
||||
location. For |:cfile| and |:lfile| commands
|
||||
it is run after error file is read and before
|
||||
moving to the first error.
|
||||
it is run after the error file is read and
|
||||
before moving to the first error.
|
||||
See |QuickFixCmdPost-example|.
|
||||
*QuitPre*
|
||||
QuitPre When using `:quit`, `:wq` or `:qall`, before
|
||||
@ -1237,6 +1238,10 @@ TextChangedP After a change was made to the text in the
|
||||
current buffer in Insert mode, only when the
|
||||
popup menu is visible. Otherwise the same as
|
||||
TextChanged.
|
||||
*TextChangedT*
|
||||
TextChangedT After a change was made to the text in the
|
||||
current buffer in Terminal mode.
|
||||
Otherwise the same as TextChanged.
|
||||
*TextYankPost*
|
||||
TextYankPost After text has been yanked or deleted in the
|
||||
current buffer. The following values of
|
||||
@ -1337,8 +1342,9 @@ VimSuspend When the Vim instance is suspended. Only when
|
||||
CTRL-Z was typed inside Vim, or when the SIGTSTP
|
||||
signal was sent to Vim, but not for SIGSTOP.
|
||||
*WinClosed*
|
||||
WinClosed After closing a window. The pattern is
|
||||
matched against the |window-ID|. Both
|
||||
WinClosed When closing a window, just before it is
|
||||
removed from the window layout. The pattern
|
||||
is matched against the |window-ID|. Both
|
||||
<amatch> and <afile> are set to the
|
||||
|window-ID|. Non-recursive (event cannot
|
||||
trigger itself).
|
||||
@ -1366,17 +1372,42 @@ WinNew When a new window was created. Not done for
|
||||
Before a WinEnter event.
|
||||
|
||||
*WinScrolled*
|
||||
WinScrolled After scrolling the content of a window or
|
||||
resizing a window.
|
||||
The pattern is matched against the
|
||||
|window-ID|. Both <amatch> and <afile> are
|
||||
set to the |window-ID|.
|
||||
Non-recursive (the event cannot trigger
|
||||
itself). However, if the command causes the
|
||||
window to scroll or change size another
|
||||
WinScrolled After any window in the current tab page
|
||||
scrolled the text (horizontally or vertically)
|
||||
or changed width or height. See
|
||||
|win-scrolled-resized|.
|
||||
|
||||
The pattern is matched against the |window-ID|
|
||||
of the first window that scrolled or resized.
|
||||
Both <amatch> and <afile> are set to the
|
||||
|window-ID|.
|
||||
|
||||
|v:event| is set with information about size
|
||||
and scroll changes. |WinScrolled-event|
|
||||
|
||||
Only starts triggering after startup finished
|
||||
and the first screen redraw was done.
|
||||
Does not trigger when defining the first
|
||||
WinScrolled or WinResized event, but may
|
||||
trigger when adding more.
|
||||
|
||||
Non-recursive: the event will not trigger
|
||||
while executing commands for the WinScrolled
|
||||
event. However, if the command causes a
|
||||
window to scroll or change size, then another
|
||||
WinScrolled event will be triggered later.
|
||||
Does not trigger when the command is added,
|
||||
only after the first scroll or resize.
|
||||
|
||||
|
||||
*WinResized*
|
||||
WinResized After a window in the current tab page changed
|
||||
width or height.
|
||||
See |win-scrolled-resized|.
|
||||
|
||||
|v:event| is set with information about size
|
||||
changes. |WinResized-event|
|
||||
|
||||
Same behavior as |WinScrolled| for the
|
||||
pattern, triggering and recursiveness.
|
||||
|
||||
==============================================================================
|
||||
6. Patterns *autocmd-patterns* *{aupat}*
|
||||
|
@ -1,4 +1,4 @@
|
||||
*builtin.txt* For Vim version 9.0. Last change: 2022 Sep 17
|
||||
*builtin.txt* For Vim version 9.0. Last change: 2022 Nov 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -6,9 +6,10 @@
|
||||
|
||||
Builtin functions *builtin-functions*
|
||||
|
||||
Note: Expression evaluation can be disabled at compile time. If this has been
|
||||
done, the builtin functions are not available. See |+eval| and
|
||||
|no-eval-feature|.
|
||||
Note: Expression evaluation can be disabled at compile time, the builtin
|
||||
functions are not available then. See |+eval| and |no-eval-feature|.
|
||||
|
||||
For functions grouped by what they are used for see |function-list|.
|
||||
|
||||
1. Overview |builtin-function-list|
|
||||
2. Details |builtin-function-details|
|
||||
@ -115,13 +116,13 @@ ch_status({handle} [, {options}])
|
||||
changenr() Number current change number
|
||||
char2nr({expr} [, {utf8}]) Number ASCII/UTF-8 value of first char in {expr}
|
||||
charclass({string}) Number character class of {string}
|
||||
charcol({expr}) Number column number of cursor or mark
|
||||
charcol({expr} [, {winid}]) Number column number of cursor or mark
|
||||
charidx({string}, {idx} [, {countcc}])
|
||||
Number char index of byte {idx} in {string}
|
||||
chdir({dir}) String change current working directory
|
||||
cindent({lnum}) Number C indent for line {lnum}
|
||||
clearmatches([{win}]) none clear all matches
|
||||
col({expr}) Number column byte index of cursor or mark
|
||||
col({expr} [, {winid}]) Number column byte index of cursor or mark
|
||||
complete({startcol}, {matches}) none set Insert mode completion
|
||||
complete_add({expr}) Number add completion match
|
||||
complete_check() Number check for key typed during completion
|
||||
@ -207,6 +208,7 @@ get({func}, {what}) any get property of funcref/partial {func}
|
||||
getbufinfo([{buf}]) List information about buffers
|
||||
getbufline({buf}, {lnum} [, {end}])
|
||||
List lines {lnum} to {end} of buffer {buf}
|
||||
getbufoneline({buf}, {lnum}) String line {lnum} of buffer {buf}
|
||||
getbufvar({buf}, {varname} [, {def}])
|
||||
any variable {varname} in buffer {buf}
|
||||
getchangelist([{buf}]) List list of change list items
|
||||
@ -245,6 +247,7 @@ getloclist({nr}, {what}) Dict get specific location list properties
|
||||
getmarklist([{buf}]) List list of global/local marks
|
||||
getmatches([{win}]) List list of current matches
|
||||
getmousepos() Dict last known mouse position
|
||||
getmouseshape() String current mouse shape name
|
||||
getpid() Number process ID of Vim
|
||||
getpos({expr}) List position of cursor, mark, etc.
|
||||
getqflist() List list of quickfix items
|
||||
@ -395,6 +398,7 @@ popup_create({what}, {options}) Number create a popup window
|
||||
popup_dialog({what}, {options}) Number create a popup window used as a dialog
|
||||
popup_filter_menu({id}, {key}) Number filter for a menu popup window
|
||||
popup_filter_yesno({id}, {key}) Number filter for a dialog popup window
|
||||
popup_findecho() Number get window ID of popup for `:echowin`
|
||||
popup_findinfo() Number get window ID of info popup window
|
||||
popup_findpreview() Number get window ID of preview popup window
|
||||
popup_getoptions({id}) Dict get options of popup window {id}
|
||||
@ -443,7 +447,8 @@ pyxeval({expr}) any evaluate |python_x| expression
|
||||
rand([{expr}]) Number get pseudo-random number
|
||||
range({expr} [, {max} [, {stride}]])
|
||||
List items from {expr} to {max}
|
||||
readblob({fname}) Blob read a |Blob| from {fname}
|
||||
readblob({fname} [, {offset} [, {size}]])
|
||||
Blob read a |Blob| from {fname}
|
||||
readdir({dir} [, {expr} [, {dict}]])
|
||||
List file names in {dir} selected by {expr}
|
||||
readdirex({dir} [, {expr} [, {dict}]])
|
||||
@ -803,8 +808,10 @@ append({lnum}, {text}) *append()*
|
||||
{lnum} can be zero to insert a line before the first one.
|
||||
{lnum} is used like with |getline()|.
|
||||
Returns 1 for failure ({lnum} out of range or out of memory),
|
||||
0 for success. In |Vim9| script an invalid argument or
|
||||
negative number results in an error. Example: >
|
||||
0 for success. When {text} is an empty list zero is returned,
|
||||
no matter the value of {lnum}.
|
||||
In |Vim9| script an invalid argument or negative number
|
||||
results in an error. Example: >
|
||||
:let failed = append(line('$'), "# THE END")
|
||||
:let failed = append(0, ["Chapter 1", "the beginning"])
|
||||
|
||||
@ -832,7 +839,9 @@ appendbufline({buf}, {lnum}, {text}) *appendbufline()*
|
||||
If {buf} is not a valid buffer or {lnum} is not valid, an
|
||||
error message is given. Example: >
|
||||
:let failed = appendbufline(13, 0, "# THE START")
|
||||
<
|
||||
< However, when {text} is an empty list then no error is given
|
||||
for an invalid {lnum}, since {lnum} isn't actually used.
|
||||
|
||||
Can also be used as a |method| after a List, the base is
|
||||
passed as the second argument: >
|
||||
mylist->appendbufline(buf, lnum)
|
||||
@ -978,7 +987,7 @@ autocmd_add({acmds}) *autocmd_add()*
|
||||
let acmd.bufnr = 5
|
||||
let acmd.cmd = 'call BufEnterFunc()'
|
||||
call autocmd_add([acmd])
|
||||
|
||||
<
|
||||
Can also be used as a |method|: >
|
||||
GetAutocmdList()->autocmd_add()
|
||||
<
|
||||
@ -1314,7 +1323,8 @@ bufwinid({buf}) *bufwinid()*
|
||||
|
||||
echo "A window containing buffer 1 is " .. (bufwinid(1))
|
||||
<
|
||||
Only deals with the current tab page.
|
||||
Only deals with the current tab page. See |win_findbuf()| for
|
||||
finding more.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
FindBuffer()->bufwinid()
|
||||
@ -1466,7 +1476,7 @@ charclass({string}) *charclass()*
|
||||
Returns 0 if {string} is not a |String|.
|
||||
|
||||
|
||||
charcol({expr}) *charcol()*
|
||||
charcol({expr} [, {winid}]) *charcol()*
|
||||
Same as |col()| but returns the character index of the column
|
||||
position given with {expr} instead of the byte position.
|
||||
|
||||
@ -1549,8 +1559,8 @@ clearmatches([{win}]) *clearmatches()*
|
||||
Can also be used as a |method|: >
|
||||
GetWin()->clearmatches()
|
||||
<
|
||||
*col()*
|
||||
col({expr}) The result is a Number, which is the byte index of the column
|
||||
col({expr} [, {winid}) *col()*
|
||||
The result is a Number, which is the byte index of the column
|
||||
position given with {expr}. The accepted positions are:
|
||||
. the cursor position
|
||||
$ the end of the cursor line (the result is the
|
||||
@ -1565,6 +1575,8 @@ col({expr}) The result is a Number, which is the byte index of the column
|
||||
and column number. Most useful when the column is "$", to get
|
||||
the last column of a specific line. When "lnum" or "col" is
|
||||
out of range then col() returns zero.
|
||||
With the optional {winid} argument the values are obtained for
|
||||
that window instead of the current window.
|
||||
To get the line number use |line()|. To get both use
|
||||
|getpos()|.
|
||||
For the screen column position use |virtcol()|. For the
|
||||
@ -1575,16 +1587,15 @@ col({expr}) The result is a Number, which is the byte index of the column
|
||||
col("$") length of cursor line plus one
|
||||
col("'t") column of mark t
|
||||
col("'" .. markname) column of mark markname
|
||||
< The first column is 1. Returns 0 if {expr} is invalid.
|
||||
< The first column is 1. Returns 0 if {expr} is invalid or when
|
||||
the window with ID {winid} is not found.
|
||||
For an uppercase mark the column may actually be in another
|
||||
buffer.
|
||||
For the cursor position, when 'virtualedit' is active, the
|
||||
column is one higher if the cursor is after the end of the
|
||||
line. This can be used to obtain the column in Insert mode: >
|
||||
:imap <F2> <C-O>:let save_ve = &ve<CR>
|
||||
\<C-O>:set ve=all<CR>
|
||||
\<C-O>:echo col(".") .. "\n" <Bar>
|
||||
\let &ve = save_ve<CR>
|
||||
line. Also, when using a <Cmd> mapping the cursor isn't
|
||||
moved, this can be used to obtain the column in Insert mode: >
|
||||
:imap <F2> <Cmd>echowin col(".")<CR>
|
||||
|
||||
< Can also be used as a |method|: >
|
||||
GetPos()->col()
|
||||
@ -1880,10 +1891,10 @@ cursor({list})
|
||||
|setcursorcharpos()|.
|
||||
|
||||
Does not change the jumplist.
|
||||
{lnum} is used like with |getline()|.
|
||||
{lnum} is used like with |getline()|, except that if {lnum} is
|
||||
zero, the cursor will stay in the current line.
|
||||
If {lnum} is greater than the number of lines in the buffer,
|
||||
the cursor will be positioned at the last line in the buffer.
|
||||
If {lnum} is zero, the cursor will stay in the current line.
|
||||
If {col} is greater than the number of bytes in the line,
|
||||
the cursor will be positioned at the last character in the
|
||||
line.
|
||||
@ -2768,7 +2779,7 @@ flattennew({list} [, {maxdepth}]) *flattennew()*
|
||||
float2nr({expr}) *float2nr()*
|
||||
Convert {expr} to a Number by omitting the part after the
|
||||
decimal point.
|
||||
{expr} must evaluate to a |Float| or a Number.
|
||||
{expr} must evaluate to a |Float| or a |Number|.
|
||||
Returns 0 if {expr} is not a |Float| or a |Number|.
|
||||
When the value of {expr} is out of range for a |Number| the
|
||||
result is truncated to 0x7fffffff or -0x7fffffff (or when
|
||||
@ -3194,7 +3205,8 @@ getbufinfo([{dict}])
|
||||
getbufline({buf}, {lnum} [, {end}])
|
||||
Return a |List| with the lines starting from {lnum} to {end}
|
||||
(inclusive) in the buffer {buf}. If {end} is omitted, a
|
||||
|List| with only the line {lnum} is returned.
|
||||
|List| with only the line {lnum} is returned. See
|
||||
`getbufoneline()` for only getting the line.
|
||||
|
||||
For the use of {buf}, see |bufname()| above.
|
||||
|
||||
@ -3217,6 +3229,11 @@ getbufline({buf}, {lnum} [, {end}])
|
||||
|
||||
< Can also be used as a |method|: >
|
||||
GetBufnr()->getbufline(lnum)
|
||||
<
|
||||
*getbufoneline()*
|
||||
getbufoneline({buf}, {lnum})
|
||||
Just like `getbufline()` but only get one line and return it
|
||||
as a string.
|
||||
|
||||
getbufvar({buf}, {varname} [, {def}]) *getbufvar()*
|
||||
The result is the value of option or local buffer variable
|
||||
@ -3761,7 +3778,8 @@ getline({lnum} [, {end}])
|
||||
< Can also be used as a |method|: >
|
||||
ComputeLnum()->getline()
|
||||
|
||||
< To get lines from another buffer see |getbufline()|
|
||||
< To get lines from another buffer see |getbufline()| and
|
||||
|getbufoneline()|
|
||||
|
||||
getloclist({nr} [, {what}]) *getloclist()*
|
||||
Returns a |List| with all the entries in the location list for
|
||||
@ -3870,6 +3888,12 @@ getmousepos() *getmousepos()*
|
||||
When using |getchar()| the Vim variables |v:mouse_lnum|,
|
||||
|v:mouse_col| and |v:mouse_winid| also provide these values.
|
||||
|
||||
getmouseshape() *getmouseshape()*
|
||||
Returns the name of the currently showing mouse pointer.
|
||||
When the |+mouseshape| feature is not supported or the shape
|
||||
is unknown an empty string is returned.
|
||||
This function is mainly intended for testing.
|
||||
|
||||
*getpid()*
|
||||
getpid() Return a Number which is the process ID of the Vim process.
|
||||
On Unix and MS-Windows this is a unique number, until Vim
|
||||
@ -5402,7 +5426,8 @@ listener_add({callback} [, {buf}]) *listener_add()*
|
||||
the change; one if unknown or the whole line
|
||||
was affected; this is a byte index, first
|
||||
character has a value of one.
|
||||
When lines are inserted the values are:
|
||||
When lines are inserted (not when a line is split, e.g. by
|
||||
typing CR in Insert mode) the values are:
|
||||
lnum line above which the new line is added
|
||||
end equal to "lnum"
|
||||
added number of lines inserted
|
||||
@ -5547,6 +5572,10 @@ map({expr1}, {expr2}) *map()*
|
||||
If {expr2} is a |Funcref| it is called with two arguments:
|
||||
1. The key or the index of the current item.
|
||||
2. the value of the current item.
|
||||
With a legacy script lambda you don't get an error if it only
|
||||
accepts one argument, but with a Vim9 lambda you get "E1106:
|
||||
One argument too many", the number of arguments must match.
|
||||
|
||||
The function must return the new value of the item. Example
|
||||
that changes each value by "key-value": >
|
||||
func KeyValue(key, val)
|
||||
@ -5864,7 +5893,7 @@ matchadd({group}, {pattern} [, {priority} [, {id} [, {dict}]]])
|
||||
respectively. 3 is reserved for use by the |matchparen|
|
||||
plugin.
|
||||
If the {id} argument is not specified or -1, |matchadd()|
|
||||
automatically chooses a free ID.
|
||||
automatically chooses a free ID, which is at least 1000.
|
||||
|
||||
The optional {dict} argument allows for further custom
|
||||
values. Currently this is used to specify a match specific
|
||||
@ -5918,8 +5947,6 @@ matchaddpos({group}, {pos} [, {priority} [, {id} [, {dict}]]])
|
||||
- A list with three numbers, e.g., [23, 11, 3]. As above, but
|
||||
the third number gives the length of the highlight in bytes.
|
||||
|
||||
The maximum number of positions in {pos} is 8.
|
||||
|
||||
Returns -1 on error.
|
||||
|
||||
Example: >
|
||||
@ -6846,10 +6873,28 @@ range({expr} [, {max} [, {stride}]]) *range()*
|
||||
GetExpr()->range()
|
||||
<
|
||||
|
||||
readblob({fname}) *readblob()*
|
||||
readblob({fname} [, {offset} [, {size}]]) *readblob()*
|
||||
Read file {fname} in binary mode and return a |Blob|.
|
||||
When the file can't be opened an error message is given and
|
||||
If {offset} is specified, read the file from the specified
|
||||
offset. If it is a negative value, it is used as an offset
|
||||
from the end of the file. E.g., to read the last 12 bytes: >
|
||||
readblob('file.bin', -12)
|
||||
< If {size} is specified, only the specified size will be read.
|
||||
E.g. to read the first 100 bytes of a file: >
|
||||
readblob('file.bin', 0, 100)
|
||||
< If {size} is -1 or omitted, the whole data starting from
|
||||
{offset} will be read.
|
||||
This can be also used to read the data from a character device
|
||||
on Unix when {size} is explicitly set. Only if the device
|
||||
supports seeking {offset} can be used. Otherwise it should be
|
||||
zero. E.g. to read 10 bytes from a serial console: >
|
||||
readblob('/dev/ttyS0', 0, 10)
|
||||
< When the file can't be opened an error message is given and
|
||||
the result is an empty |Blob|.
|
||||
When the offset is beyond the end of the file the result is an
|
||||
empty blob.
|
||||
When trying to read more bytes than are available the result
|
||||
is truncated.
|
||||
Also see |readfile()| and |writefile()|.
|
||||
|
||||
|
||||
@ -7037,13 +7082,19 @@ reg_recording() *reg_recording()*
|
||||
Returns the single letter name of the register being recorded.
|
||||
Returns an empty string when not recording. See |q|.
|
||||
|
||||
reltime([{start} [, {end}]]) *reltime()*
|
||||
reltime()
|
||||
reltime({start})
|
||||
reltime({start}, {end}) *reltime()*
|
||||
Return an item that represents a time value. The item is a
|
||||
list with items that depend on the system. In Vim 9 script
|
||||
list<any> can be used.
|
||||
The item can be passed to |reltimestr()| to convert it to a
|
||||
string or |reltimefloat()| to convert to a Float.
|
||||
|
||||
string or |reltimefloat()| to convert to a Float. For
|
||||
example, to see the time spent in function Work(): >
|
||||
var startTime = reltime()
|
||||
Work()
|
||||
echo startTime->reltime()->reltimestr()
|
||||
<
|
||||
Without an argument reltime() returns the current time (the
|
||||
representation is system-dependent, it can not be used as the
|
||||
wall-clock time, see |localtime()| for that).
|
||||
@ -7164,8 +7215,8 @@ remote_peek({serverid} [, {retvar}]) *remote_peek()*
|
||||
This function is not available in the |sandbox|.
|
||||
{only available when compiled with the |+clientserver| feature}
|
||||
Examples: >
|
||||
:let repl = ""
|
||||
:echo "PEEK: " .. remote_peek(id, "repl") .. ": " .. repl
|
||||
:let repl = ""
|
||||
:echo "PEEK: " .. remote_peek(id, "repl") .. ": " .. repl
|
||||
|
||||
< Can also be used as a |method|: >
|
||||
ServerId()->remote_peek()
|
||||
@ -7225,7 +7276,8 @@ remote_startserver({name})
|
||||
|
||||
< {only available when compiled with the |+clientserver| feature}
|
||||
|
||||
remove({list}, {idx} [, {end}]) *remove()*
|
||||
remove({list}, {idx})
|
||||
remove({list}, {idx}, {end}) *remove()*
|
||||
Without {end}: Remove the item at {idx} from |List| {list} and
|
||||
return the item.
|
||||
With {end}: Remove items from {idx} to {end} (inclusive) and
|
||||
@ -7243,7 +7295,8 @@ remove({list}, {idx} [, {end}]) *remove()*
|
||||
Can also be used as a |method|: >
|
||||
mylist->remove(idx)
|
||||
|
||||
remove({blob}, {idx} [, {end}])
|
||||
remove({blob}, {idx})
|
||||
remove({blob}, {idx}, {end})
|
||||
Without {end}: Remove the byte at {idx} from |Blob| {blob} and
|
||||
return the byte.
|
||||
With {end}: Remove bytes from {idx} to {end} (inclusive) and
|
||||
@ -7847,9 +7900,10 @@ setbufline({buf}, {lnum}, {text}) *setbufline()*
|
||||
To insert lines use |appendbufline()|.
|
||||
Any text properties in {lnum} are cleared.
|
||||
|
||||
{text} can be a string to set one line, or a list of strings
|
||||
to set multiple lines. If the list extends below the last
|
||||
line then those lines are added.
|
||||
{text} can be a string to set one line, or a List of strings
|
||||
to set multiple lines. If the List extends below the last
|
||||
line then those lines are added. If the List is empty then
|
||||
nothing is changed and zero is returned.
|
||||
|
||||
For the use of {buf}, see |bufname()| above.
|
||||
|
||||
@ -7888,29 +7942,38 @@ setbufvar({buf}, {varname}, {val}) *setbufvar()*
|
||||
|
||||
setcellwidths({list}) *setcellwidths()*
|
||||
Specify overrides for cell widths of character ranges. This
|
||||
tells Vim how wide characters are, counted in screen cells.
|
||||
This overrides 'ambiwidth'. Example: >
|
||||
setcellwidths([[0xad, 0xad, 1],
|
||||
\ [0x2194, 0x2199, 2]])
|
||||
tells Vim how wide characters are when displayed in the
|
||||
terminal, counted in screen cells. The values override
|
||||
'ambiwidth'. Example: >
|
||||
call setcellwidths([
|
||||
\ [0x111, 0x111, 1],
|
||||
\ [0x2194, 0x2199, 2],
|
||||
\ ])
|
||||
|
||||
< *E1109* *E1110* *E1111* *E1112* *E1113* *E1114*
|
||||
The {list} argument is a list of lists with each three
|
||||
numbers. These three numbers are [low, high, width]. "low"
|
||||
and "high" can be the same, in which case this refers to one
|
||||
character. Otherwise it is the range of characters from "low"
|
||||
to "high" (inclusive). "width" is either 1 or 2, indicating
|
||||
the character width in screen cells.
|
||||
An error is given if the argument is invalid, also when a
|
||||
range overlaps with another.
|
||||
< The {list} argument is a List of Lists with each three
|
||||
numbers: [{low}, {high}, {width}]. *E1109* *E1110*
|
||||
{low} and {high} can be the same, in which case this refers to
|
||||
one character. Otherwise it is the range of characters from
|
||||
{low} to {high} (inclusive). *E1111* *E1114*
|
||||
Only characters with value 0x100 and higher can be used.
|
||||
|
||||
{width} must be either 1 or 2, indicating the character width
|
||||
in screen cells. *E1112*
|
||||
An error is given if the argument is invalid, also when a
|
||||
range overlaps with another. *E1113*
|
||||
|
||||
If the new value causes 'fillchars' or 'listchars' to become
|
||||
invalid it is rejected and an error is given.
|
||||
|
||||
To clear the overrides pass an empty list: >
|
||||
To clear the overrides pass an empty {list}: >
|
||||
setcellwidths([]);
|
||||
|
||||
< You can use the script $VIMRUNTIME/tools/emoji_list.vim to see
|
||||
the effect for known emoji characters.
|
||||
the effect for known emoji characters. Move the cursor
|
||||
through the text to check if the cell widths of your terminal
|
||||
match with what Vim knows about each emoji. If it doesn't
|
||||
look right you need to adjust the {list} argument.
|
||||
|
||||
|
||||
setcharpos({expr}, {list}) *setcharpos()*
|
||||
Same as |setpos()| but uses the specified column number as the
|
||||
@ -8034,7 +8097,8 @@ setline({lnum}, {text}) *setline()*
|
||||
When {lnum} is just below the last line the {text} will be
|
||||
added below the last line.
|
||||
{text} can be any type or a List of any type, each item is
|
||||
converted to a String.
|
||||
converted to a String. When {text} is an empty List then
|
||||
nothing is changed and FALSE is returned.
|
||||
|
||||
If this succeeds, FALSE is returned. If this fails (most likely
|
||||
because {lnum} is invalid) TRUE is returned.
|
||||
@ -8623,6 +8687,9 @@ sound_playevent({name} [, {callback}])
|
||||
< On MS-Windows, {name} can be SystemAsterisk, SystemDefault,
|
||||
SystemExclamation, SystemExit, SystemHand, SystemQuestion,
|
||||
SystemStart, SystemWelcome, etc.
|
||||
On macOS, {name} refers to files located in
|
||||
/System/Library/Sounds (e.g. "Tink"). It will also work for
|
||||
custom installed sounds in folders like ~/Library/Sounds.
|
||||
|
||||
When {callback} is specified it is invoked when the sound is
|
||||
finished. The first argument is the sound ID, the second
|
||||
@ -9639,6 +9706,7 @@ terminalprops() *terminalprops()*
|
||||
cursor_blink_mode whether sending |t_RC| works **
|
||||
underline_rgb whether |t_8u| works **
|
||||
mouse mouse type supported
|
||||
kitty whether Kitty terminal was detected
|
||||
|
||||
** value 'u' for unknown, 'y' for yes, 'n' for no
|
||||
|
||||
@ -10168,6 +10236,7 @@ win_move_separator({nr}, {offset}) *win_move_separator()*
|
||||
FALSE otherwise.
|
||||
This will fail for the rightmost window and a full-width
|
||||
window, since it has no separator on the right.
|
||||
Only works for the current tab page. *E1308*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetWinnr()->win_move_separator(offset)
|
||||
@ -10182,6 +10251,7 @@ win_move_statusline({nr}, {offset}) *win_move_statusline()*
|
||||
movement may be smaller than specified (e.g., as a consequence
|
||||
of maintaining 'winminheight'). Returns TRUE if the window can
|
||||
be found and FALSE otherwise.
|
||||
Only works for the current tab page.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetWinnr()->win_move_statusline(offset)
|
||||
|
@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 9.0. Last change: 2022 Sep 13
|
||||
*change.txt* For Vim version 9.0. Last change: 2022 Nov 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
@ -465,7 +465,7 @@ a close callback to the channel.
|
||||
|
||||
To read all normal output from a RAW channel that is available: >
|
||||
let output = ch_readraw(channel)
|
||||
To read all error output from a RAW channel that is available:: >
|
||||
To read all error output from a RAW channel that is available: >
|
||||
let output = ch_readraw(channel, {"part": "err"})
|
||||
Note that if the channel is in NL mode, ch_readraw() will only return one line
|
||||
for each call.
|
||||
@ -618,6 +618,9 @@ ch_info({handle}) *ch_info()*
|
||||
ch_log({msg} [, {handle}]) *ch_log()*
|
||||
Write String {msg} in the channel log file, if it was opened
|
||||
with |ch_logfile()|.
|
||||
The text "ch_log():" is prepended to the message to make clear
|
||||
it came from this function call and make it easier to find in
|
||||
the log file.
|
||||
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
|
||||
|
@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 9.0. Last change: 2022 Jun 16
|
||||
*cmdline.txt* For Vim version 9.0. Last change: 2022 Nov 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -736,7 +736,9 @@ Line numbers may be specified with: *:range* *{address}*
|
||||
'T position of mark T (uppercase); when the mark is in
|
||||
another file it cannot be used in a range
|
||||
/{pattern}[/] the next line where {pattern} matches *:/*
|
||||
also see |:range-pattern| below
|
||||
?{pattern}[?] the previous line where {pattern} matches *:?*
|
||||
also see |:range-pattern| below
|
||||
\/ the next line where the previously used search
|
||||
pattern matches
|
||||
\? the previous line where the previously used search
|
||||
@ -744,11 +746,49 @@ Line numbers may be specified with: *:range* *{address}*
|
||||
\& the next line where the previously used substitute
|
||||
pattern matches
|
||||
|
||||
*:range-offset*
|
||||
Each may be followed (several times) by '+' or '-' and an optional number.
|
||||
This number is added or subtracted from the preceding line number. If the
|
||||
number is omitted, 1 is used. If there is nothing before the '+' or '-' then
|
||||
the current line is used.
|
||||
*:range-closed-fold*
|
||||
When a line number after the comma is in a closed fold it is adjusted to the
|
||||
last line of the fold, thus the whole fold is included.
|
||||
|
||||
When a number is added this is done after the adjustment to the last line of
|
||||
the fold. This means these lines are additionally included in the range. For
|
||||
example: >
|
||||
:3,4+2print
|
||||
On this text:
|
||||
1 one ~
|
||||
2 two ~
|
||||
3 three ~
|
||||
4 four FOLDED ~
|
||||
5 five FOLDED ~
|
||||
6 six ~
|
||||
7 seven ~
|
||||
8 eight ~
|
||||
Where lines four and five are a closed fold, ends up printing lines 3 to 7.
|
||||
The 7 comes from the "4" in the range, which is adjusted to the end of the
|
||||
closed fold, which is 5, and then the offset 2 is added.
|
||||
|
||||
An example for subtracting (which isn't very useful): >
|
||||
:2,4-1print
|
||||
On this text:
|
||||
1 one ~
|
||||
2 two ~
|
||||
3 three FOLDED~
|
||||
4 four FOLDED ~
|
||||
5 five FOLDED ~
|
||||
6 six FOLDED ~
|
||||
7 seven ~
|
||||
8 eight ~
|
||||
Where lines three to six are a closed fold, ends up printing lines 2 to 6.
|
||||
The 6 comes from the "4" in the range, which is adjusted to the end of the
|
||||
closed fold, which is 6, and then 1 is subtracted, then this is still in the
|
||||
closed fold and the last line of that fold is used, which is 6.
|
||||
|
||||
*:range-pattern*
|
||||
The "/" and "?" after {pattern} are required to separate the pattern from
|
||||
anything that follows.
|
||||
|
||||
@ -804,9 +844,9 @@ always be swapped then.
|
||||
|
||||
Count and Range *N:*
|
||||
|
||||
When giving a count before entering ":", this is translated into:
|
||||
When giving a count before entering ":", this is translated into: >
|
||||
:.,.+(count - 1)
|
||||
In words: The 'count' lines at and after the cursor. Example: To delete
|
||||
In words: The "count" lines at and after the cursor. Example: To delete
|
||||
three lines: >
|
||||
3:d<CR> is translated into: .,.+2d<CR>
|
||||
<
|
||||
@ -1124,7 +1164,6 @@ Also see |`=|.
|
||||
In the command-line window the command line can be edited just like editing
|
||||
text in any window. It is a special kind of window, because you cannot leave
|
||||
it in a normal way.
|
||||
{not available when compiled without the |+cmdwin| feature}
|
||||
|
||||
|
||||
OPEN *c_CTRL-F* *q:* *q/* *q?*
|
||||
|
@ -1,4 +1,4 @@
|
||||
*develop.txt* For Vim version 9.0. Last change: 2020 Aug 15
|
||||
*develop.txt* For Vim version 9.0. Last change: 2022 Sep 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
@ -1,4 +1,4 @@
|
||||
*diff.txt* For Vim version 9.0. Last change: 2022 Jan 22
|
||||
*diff.txt* For Vim version 9.0. Last change: 2022 Oct 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -376,6 +376,9 @@ Additionally, 'diffexpr' should take care of "icase" and "iwhite" in the
|
||||
'diffopt' option. 'diffexpr' cannot change the value of 'lines' and
|
||||
'columns'.
|
||||
|
||||
The advantage of using a function call without arguments is that it is faster,
|
||||
see |expr-option-function|.
|
||||
|
||||
Example (this does almost the same as 'diffexpr' being empty): >
|
||||
|
||||
set diffexpr=MyDiff()
|
||||
@ -441,6 +444,9 @@ will have the same effect. These variables are set to the file names used:
|
||||
v:fname_diff patch file
|
||||
v:fname_out resulting patched file
|
||||
|
||||
The advantage of using a function call without arguments is that it is faster,
|
||||
see |expr-option-function|.
|
||||
|
||||
Example (this does the same as 'patchexpr' being empty): >
|
||||
|
||||
set patchexpr=MyPatch()
|
||||
|
@ -1,4 +1,4 @@
|
||||
*digraph.txt* For Vim version 9.0. Last change: 2021 Jul 19
|
||||
*digraph.txt* For Vim version 9.0. Last change: 2022 Nov 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -162,7 +162,7 @@ These are the RFC1345 digraphs for the one-byte characters. See the output of
|
||||
":digraphs" for the others.
|
||||
|
||||
EURO
|
||||
|
||||
*euro* *euro-digraph*
|
||||
Exception: RFC1345 doesn't specify the euro sign. In Vim the digraph =e was
|
||||
added for this. Note the difference between latin1, where the digraph Cu is
|
||||
used for the currency sign, and latin9 (iso-8859-15), where the digraph =e is
|
||||
|
@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 9.0. Last change: 2022 Apr 16
|
||||
*editing.txt* For Vim version 9.0. Last change: 2022 Nov 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -578,6 +578,43 @@ single <NL> characters are unexpectedly replaced with <CR><NL>.
|
||||
You can encrypt files that are written by setting the 'key' option. This
|
||||
provides some security against others reading your files. |encryption|
|
||||
|
||||
END OF LINE AND END OF FILE *eol-and-eof*
|
||||
|
||||
Vim has several options to control the file format:
|
||||
'fileformat' the <EOL> style: Unix, DOS, Mac
|
||||
'endofline' whether the last line ends with a <EOL>
|
||||
'endoffile' whether the file ends with a CTRL-Z
|
||||
'fixendofline' whether to fix eol and eof
|
||||
|
||||
The first three values are normally detected automatically when reading the
|
||||
file and are used when writing the text to a file. While editing the buffer
|
||||
it looks like every line has a line ending and the CTRL-Z isn't there (an
|
||||
exception is when 'binary' is set, it works differently then).
|
||||
|
||||
The 'fixendofline' option can be used to choose what to write. You can also
|
||||
change the option values to write the file differently than how it was read.
|
||||
|
||||
Here are some examples how to use them.
|
||||
|
||||
If you want files in Unix format (every line NL terminated): >
|
||||
setl ff=unix fixeol
|
||||
You should probably do this on any Unix-like system. Also modern MS-Windows
|
||||
systems tend to work well with this. It is recommended to always use this
|
||||
format for Vim scripts.
|
||||
|
||||
If you want to use an old MS-DOS file in a modern environment, fixing line
|
||||
endings and dropping CTRL-Z, but keeping the <CR><NL> style <EOL>: >
|
||||
setl ff=dos fixeol
|
||||
This is useful for many MS-Windows programs, they regularly expect the
|
||||
<CR><NL> line endings.
|
||||
|
||||
If you want to drop the final <EOL> and add a final CTRL-Z (e.g. for an old
|
||||
system like CP/M): >
|
||||
setl ff=dos nofixeol noeol eof
|
||||
|
||||
If you want to preserve the fileformat exactly as-is, including any final
|
||||
<EOL> and final CTRL-Z: >
|
||||
setl nofixeol
|
||||
|
||||
==============================================================================
|
||||
3. The argument list *argument-list* *arglist*
|
||||
|
@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 9.0. Last change: 2022 Sep 17
|
||||
*eval.txt* For Vim version 9.0. Last change: 2022 Nov 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -1548,7 +1548,7 @@ to be doubled. These two commands are equivalent: >
|
||||
if a =~ '\s*'
|
||||
|
||||
|
||||
interpolated-string *$quote* *interp-string*
|
||||
interpolated-string *$quote* *interpolated-string*
|
||||
--------------------
|
||||
$"string" interpolated string constant *expr-$quote*
|
||||
$'string' interpolated literal string constant *expr-$'*
|
||||
@ -1965,7 +1965,7 @@ v:collate The current locale setting for collation order of the runtime
|
||||
command.
|
||||
See |multi-lang|.
|
||||
|
||||
*v:colornames*
|
||||
*v:colornames*
|
||||
v:colornames A dictionary that maps color names to hex color strings. These
|
||||
color names can be used with the |highlight-guifg|,
|
||||
|highlight-guibg|, and |highlight-guisp| parameters. Updating
|
||||
@ -2859,7 +2859,7 @@ text...
|
||||
does not need to be doubled.
|
||||
If "eval" is specified, then any Vim expression in the
|
||||
form {expr} is evaluated and the result replaces the
|
||||
expression, like with |interp-string|.
|
||||
expression, like with |interpolated-string|.
|
||||
Example where $HOME is expanded: >
|
||||
let lines =<< trim eval END
|
||||
some text
|
||||
@ -3073,6 +3073,10 @@ text...
|
||||
Unlock the internal variable {name}. Does the
|
||||
opposite of |:lockvar|.
|
||||
|
||||
If {name} does not exist:
|
||||
- In |Vim9| script an error is given.
|
||||
- In legacy script this is silently ignored.
|
||||
|
||||
:if {expr1} *:if* *:end* *:endif* *:en* *E171* *E579* *E580*
|
||||
:en[dif] Execute the commands until the next matching `:else`
|
||||
or `:endif` if {expr1} evaluates to non-zero.
|
||||
@ -3392,7 +3396,7 @@ text...
|
||||
when the screen is redrawn.
|
||||
|
||||
*:echow* *:echowin* *:echowindow*
|
||||
:echow[indow] {expr1} ..
|
||||
:[N]echow[indow] {expr1} ..
|
||||
Like |:echomsg| but when the messages popup window is
|
||||
available the message is displayed there. This means
|
||||
it will show for three seconds and avoid a
|
||||
@ -3400,6 +3404,9 @@ text...
|
||||
that, press Esc in Normal mode (when it would
|
||||
otherwise beep). If it disappears too soon you can
|
||||
use `:messages` to see the text.
|
||||
When [N] is given then the window will show up for
|
||||
this number of seconds. The last `:echowindow` with a
|
||||
count matters, it is used once only.
|
||||
The message window is available when Vim was compiled
|
||||
with the +timer and the +popupwin features.
|
||||
|
||||
@ -3595,7 +3602,7 @@ this pending exception or command is discarded.
|
||||
For examples see |throw-catch| and |try-finally|.
|
||||
|
||||
|
||||
NESTING OF TRY CONDITIONALS *try-nesting*
|
||||
NESTING OF TRY CONDITIONALS *try-nesting*
|
||||
|
||||
Try conditionals can be nested arbitrarily. That is, a complete try
|
||||
conditional can be put into the try block, a catch clause, or the finally
|
||||
|
@ -150,6 +150,7 @@ variables can be used to overrule the filetype used for certain extensions:
|
||||
*.fs g:filetype_fs |ft-forth-syntax|
|
||||
*.i g:filetype_i |ft-progress-syntax|
|
||||
*.inc g:filetype_inc
|
||||
*.lsl g:filetype_lsl
|
||||
*.m g:filetype_m |ft-mathematica-syntax|
|
||||
*.mod g:filetype_mod
|
||||
*.p g:filetype_p |ft-pascal-syntax|
|
||||
@ -570,7 +571,7 @@ used.
|
||||
For example, to set the dialect to a default of "fblite" but still allow for
|
||||
any #lang directive overrides, use the following command: >
|
||||
|
||||
let g:freebasic_lang = "fblite"
|
||||
let g:freebasic_lang = "fblite"
|
||||
|
||||
|
||||
GIT COMMIT *ft-gitcommit-plugin*
|
||||
|
@ -1,4 +1,4 @@
|
||||
*fold.txt* For Vim version 9.0. Last change: 2022 Jan 22
|
||||
*fold.txt* For Vim version 9.0. Last change: 2022 Oct 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -74,8 +74,6 @@ method. The value of the 'foldexpr' option is evaluated to get the foldlevel
|
||||
of a line. Examples:
|
||||
This will create a fold for all consecutive lines that start with a tab: >
|
||||
:set foldexpr=getline(v:lnum)[0]==\"\\t\"
|
||||
This will call a function to compute the fold level: >
|
||||
:set foldexpr=MyFoldLevel(v:lnum)
|
||||
This will make a fold out of paragraphs separated by blank lines: >
|
||||
:set foldexpr=getline(v:lnum)=~'^\\s*$'&&getline(v:lnum+1)=~'\\S'?'<1':1
|
||||
This does the same: >
|
||||
@ -84,6 +82,10 @@ This does the same: >
|
||||
Note that backslashes must be used to escape characters that ":set" handles
|
||||
differently (space, backslash, double quote, etc., see |option-backslash|).
|
||||
|
||||
The most efficient is to call a compiled function without arguments: >
|
||||
:set foldexpr=MyFoldLevel()
|
||||
The function must use v:lnum. See |expr-option-function|.
|
||||
|
||||
These are the conditions with which the expression is evaluated:
|
||||
- The current buffer and window are set for the line.
|
||||
- The variable "v:lnum" is set to the line number.
|
||||
@ -501,7 +503,7 @@ is evaluated to obtain the text displayed for a closed fold. Example: >
|
||||
|
||||
This shows the first line of the fold, with "/*", "*/" and "{{{" removed.
|
||||
Note the use of backslashes to avoid some characters to be interpreted by the
|
||||
":set" command. It's simpler to define a function and call that: >
|
||||
":set" command. It is much simpler to define a function and call it: >
|
||||
|
||||
:set foldtext=MyFoldText()
|
||||
:function MyFoldText()
|
||||
@ -510,6 +512,9 @@ Note the use of backslashes to avoid some characters to be interpreted by the
|
||||
: return v:folddashes .. sub
|
||||
:endfunction
|
||||
|
||||
The advantage of using a function call without arguments is that it is faster,
|
||||
see |expr-option-function|.
|
||||
|
||||
Evaluating 'foldtext' is done in the |sandbox|. The current window is set to
|
||||
the window that displays the line. The context is set to the script where the
|
||||
option was last set.
|
||||
|
@ -1,4 +1,4 @@
|
||||
*ft_context.txt* For Vim version 9.0. Last change: 2022 Aug 12
|
||||
*ft_context.txt* For Vim version 9.0. Last change: 2022 Sep 27
|
||||
|
||||
This is the documentation for the ConTeXt filetype plugin.
|
||||
|
||||
@ -23,13 +23,12 @@ ConTeXt, similarly to LaTeX, is a macro-based typesetting system built on TeX:
|
||||
<
|
||||
The ConTeXt plugin provides syntax highlighting, completion and support for
|
||||
typesetting ConTeXt documents. The recommended way to typeset a document is to
|
||||
use |:ConTeXt|. This will invoke the `mtxrun` script that is found in $PATH.
|
||||
use |:ConTeXt|. This will invoke the `mtxrun` script that is found in `$PATH`.
|
||||
|
||||
For more fine grained control over the command and its environment, you may
|
||||
invoke `context.Typeset()` directly (or `context#Typeset()` from legacy Vim
|
||||
script). For instance, if you have installed a version of ConTeXt in
|
||||
`~/context`, you may define a function to use it (you may put the following
|
||||
code in `~/.vim/after/ftplugin/context.vim`) similar to the following:
|
||||
For more fine grained control over the command and its environment,
|
||||
`context.Typeset()` can be used directly (or `context#Typeset()` from legacy
|
||||
Vim script). For instance, if a version of ConTeXt is installed in
|
||||
`~/context`, you may define a function to use it similar to the following:
|
||||
>
|
||||
import autoload 'context.vim'
|
||||
|
||||
@ -38,14 +37,15 @@ code in `~/.vim/after/ftplugin/context.vim`) similar to the following:
|
||||
printf("%s/context/tex/texmf-<os>-<arch>/bin:%s", $HOME, $PATH)}
|
||||
context.Typeset("%", env)
|
||||
enddef
|
||||
<
|
||||
and perhaps use it with a mapping:
|
||||
|
||||
This code may go in `~/.vim/after/ftplugin/context.vim`. A mapping can then be
|
||||
defined to invoke the custom command:
|
||||
>
|
||||
nnoremap <silent><buffer><leader>t <scriptcmd>MyConTeXt()<cr>
|
||||
<
|
||||
`context.Typeset()` accepts a third optional argument to specify a custom
|
||||
typesetting command. Such argument must be a function that takes a path and
|
||||
returns the command as a List. For example:
|
||||
typesetting command. That must be a function that takes a path and returns the
|
||||
command as a List. For example:
|
||||
>
|
||||
def ConTeXtCustomCommand(path: string): list<string>
|
||||
return ['mtxrun', '--script', 'context', '--nonstopmode, path]
|
||||
@ -79,7 +79,7 @@ The last command will create the following syntax files:
|
||||
- `context-data-context.vim`;
|
||||
- `context-data-interfaces.vim`;
|
||||
- `context-data-metafun.vim`;
|
||||
- `context-data-tex.vim`.
|
||||
- `context-data-tex.vim`.
|
||||
|
||||
The same command can be used to update those syntax files.
|
||||
|
||||
@ -103,14 +103,20 @@ Stop all the ConTeXt jobs currently running in the background.
|
||||
Settings ~
|
||||
*'b:context_ignore_makefile'*
|
||||
*'g:context_ignore_makefile'*
|
||||
`make` can be used to (synchronously) typeset a document. If a Makefile exists
|
||||
`:make` can be used to (synchronously) typeset a document. If a Makefile exists
|
||||
and this option is not set, standard `make` is used. If this option is set,
|
||||
`mtxrun` is invoked instead, even if a Makefile exists.
|
||||
>
|
||||
g:context_ignore_makefile = 0
|
||||
<
|
||||
NOTE: before using `make`, set the working directory of the buffer to the
|
||||
NOTE: before using `:make`, set the working directory of the buffer to the
|
||||
directory of the file to be typeset.
|
||||
|
||||
*'g:context_extra_options'*
|
||||
A list of additional options to pass to `mtxrun`.
|
||||
>
|
||||
g:context_extra_options = []
|
||||
<
|
||||
*'b:context_include'*
|
||||
*'g:context_include'*
|
||||
Dictionary of filetype/GROUP pairs for which syntax highlighting should be
|
||||
|
@ -1,70 +1,70 @@
|
||||
*ft_rust.txt* For Vim version 9.0. Last change: 2017 Nov 02
|
||||
*ft_rust.txt* For Vim version 9.0. Last change: 2022 Oct 17
|
||||
|
||||
This is documentation for the Rust filetype plugin.
|
||||
|
||||
==============================================================================
|
||||
CONTENTS *rust*
|
||||
CONTENTS *rust*
|
||||
|
||||
1. Introduction |rust-intro|
|
||||
2. Settings |rust-settings|
|
||||
3. Commands |rust-commands|
|
||||
4. Mappings |rust-mappings|
|
||||
1. Introduction |rust-intro|
|
||||
2. Settings |rust-settings|
|
||||
3. Commands |rust-commands|
|
||||
4. Mappings |rust-mappings|
|
||||
|
||||
==============================================================================
|
||||
INTRODUCTION *rust-intro*
|
||||
INTRODUCTION *rust-intro*
|
||||
|
||||
This plugin provides syntax and supporting functionality for the Rust
|
||||
filetype.
|
||||
|
||||
==============================================================================
|
||||
SETTINGS *rust-settings*
|
||||
SETTINGS *rust-settings*
|
||||
|
||||
This plugin has a few variables you can define in your vimrc that change the
|
||||
behavior of the plugin.
|
||||
|
||||
*g:rustc_path*
|
||||
*g:rustc_path*
|
||||
g:rustc_path~
|
||||
Set this option to the path to rustc for use in the |:RustRun| and
|
||||
|:RustExpand| commands. If unset, "rustc" will be located in $PATH: >
|
||||
let g:rustc_path = $HOME .. "/bin/rustc"
|
||||
<
|
||||
|
||||
*g:rustc_makeprg_no_percent*
|
||||
*g:rustc_makeprg_no_percent*
|
||||
g:rustc_makeprg_no_percent~
|
||||
Set this option to 1 to have 'makeprg' default to "rustc" instead of
|
||||
"rustc %": >
|
||||
let g:rustc_makeprg_no_percent = 1
|
||||
<
|
||||
|
||||
*g:rust_conceal*
|
||||
*g:rust_conceal*
|
||||
g:rust_conceal~
|
||||
Set this option to turn on the basic |conceal| support: >
|
||||
let g:rust_conceal = 1
|
||||
<
|
||||
|
||||
*g:rust_conceal_mod_path*
|
||||
*g:rust_conceal_mod_path*
|
||||
g:rust_conceal_mod_path~
|
||||
Set this option to turn on |conceal| for the path connecting token
|
||||
"::": >
|
||||
let g:rust_conceal_mod_path = 1
|
||||
<
|
||||
|
||||
*g:rust_conceal_pub*
|
||||
*g:rust_conceal_pub*
|
||||
g:rust_conceal_pub~
|
||||
Set this option to turn on |conceal| for the "pub" token: >
|
||||
let g:rust_conceal_pub = 1
|
||||
<
|
||||
|
||||
*g:rust_recommended_style*
|
||||
*g:rust_recommended_style*
|
||||
g:rust_recommended_style~
|
||||
Set this option to enable vim indentation and textwidth settings to
|
||||
conform to style conventions of the rust standard library (i.e. use 4
|
||||
spaces for indents and sets 'textwidth' to 99). This option is enabled
|
||||
Set this option to enable vim indentation and textwidth settings to
|
||||
conform to style conventions of the rust standard library (i.e. use 4
|
||||
spaces for indents and sets 'textwidth' to 99). This option is enabled
|
||||
by default. To disable it: >
|
||||
let g:rust_recommended_style = 0
|
||||
<
|
||||
|
||||
*g:rust_fold*
|
||||
*g:rust_fold*
|
||||
g:rust_fold~
|
||||
Set this option to turn on |folding|: >
|
||||
let g:rust_fold = 1
|
||||
@ -76,39 +76,39 @@ g:rust_fold~
|
||||
2 Braced blocks are folded. 'foldlevel' is left at the
|
||||
global value (all folds are closed by default).
|
||||
|
||||
*g:rust_bang_comment_leader*
|
||||
*g:rust_bang_comment_leader*
|
||||
g:rust_bang_comment_leader~
|
||||
Set this option to 1 to preserve the leader on multi-line doc comments
|
||||
using the /*! syntax: >
|
||||
let g:rust_bang_comment_leader = 1
|
||||
<
|
||||
|
||||
*g:ftplugin_rust_source_path*
|
||||
*g:ftplugin_rust_source_path*
|
||||
g:ftplugin_rust_source_path~
|
||||
Set this option to a path that should be prepended to 'path' for Rust
|
||||
source files: >
|
||||
let g:ftplugin_rust_source_path = $HOME .. '/dev/rust'
|
||||
<
|
||||
|
||||
*g:rustfmt_command*
|
||||
*g:rustfmt_command*
|
||||
g:rustfmt_command~
|
||||
Set this option to the name of the 'rustfmt' executable in your $PATH. If
|
||||
not specified it defaults to 'rustfmt' : >
|
||||
let g:rustfmt_command = 'rustfmt'
|
||||
<
|
||||
*g:rustfmt_autosave*
|
||||
*g:rustfmt_autosave*
|
||||
g:rustfmt_autosave~
|
||||
Set this option to 1 to run |:RustFmt| automatically when saving a
|
||||
buffer. If not specified it defaults to 0 : >
|
||||
let g:rustfmt_autosave = 0
|
||||
<
|
||||
*g:rustfmt_fail_silently*
|
||||
*g:rustfmt_fail_silently*
|
||||
g:rustfmt_fail_silently~
|
||||
Set this option to 1 to prevent 'rustfmt' from populating the
|
||||
|location-list| with errors. If not specified it defaults to 0: >
|
||||
let g:rustfmt_fail_silently = 0
|
||||
<
|
||||
*g:rustfmt_options*
|
||||
*g:rustfmt_options*
|
||||
g:rustfmt_options~
|
||||
Set this option to a string of options to pass to 'rustfmt'. The
|
||||
write-mode is already set to 'overwrite'. If not specified it
|
||||
@ -116,13 +116,13 @@ g:rustfmt_options~
|
||||
let g:rustfmt_options = ''
|
||||
<
|
||||
|
||||
*g:rust_playpen_url*
|
||||
*g:rust_playpen_url*
|
||||
g:rust_playpen_url~
|
||||
Set this option to override the URL for the playpen to use: >
|
||||
let g:rust_playpen_url = 'https://play.rust-lang.org/'
|
||||
<
|
||||
|
||||
*g:rust_shortener_url*
|
||||
*g:rust_shortener_url*
|
||||
g:rust_shortener_url~
|
||||
Set this option to override the URL for the URL shortener: >
|
||||
let g:rust_shortener_url = 'https://is.gd/'
|
||||
@ -130,9 +130,9 @@ g:rust_shortener_url~
|
||||
|
||||
|
||||
==============================================================================
|
||||
COMMANDS *rust-commands*
|
||||
COMMANDS *rust-commands*
|
||||
|
||||
:RustRun [args] *:RustRun*
|
||||
:RustRun [args] *:RustRun*
|
||||
:RustRun! [rustc-args] [--] [args]
|
||||
Compiles and runs the current file. If it has unsaved changes,
|
||||
it will be saved first using |:update|. If the current file is
|
||||
@ -150,7 +150,7 @@ COMMANDS *rust-commands*
|
||||
If |g:rustc_path| is defined, it is used as the path to rustc.
|
||||
Otherwise it is assumed rustc can be found in $PATH.
|
||||
|
||||
:RustExpand [args] *:RustExpand*
|
||||
:RustExpand [args] *:RustExpand*
|
||||
:RustExpand! [TYPE] [args]
|
||||
Expands the current file using --pretty and displays the
|
||||
results in a new split. If the current file has unsaved
|
||||
@ -169,7 +169,7 @@ COMMANDS *rust-commands*
|
||||
If |g:rustc_path| is defined, it is used as the path to rustc.
|
||||
Otherwise it is assumed rustc can be found in $PATH.
|
||||
|
||||
:RustEmitIr [args] *:RustEmitIr*
|
||||
:RustEmitIr [args] *:RustEmitIr*
|
||||
Compiles the current file to LLVM IR and displays the results
|
||||
in a new split. If the current file has unsaved changes, it
|
||||
will be saved first using |:update|. If the current file is an
|
||||
@ -180,7 +180,7 @@ COMMANDS *rust-commands*
|
||||
If |g:rustc_path| is defined, it is used as the path to rustc.
|
||||
Otherwise it is assumed rustc can be found in $PATH.
|
||||
|
||||
:RustEmitAsm [args] *:RustEmitAsm*
|
||||
:RustEmitAsm [args] *:RustEmitAsm*
|
||||
Compiles the current file to assembly and displays the results
|
||||
in a new split. If the current file has unsaved changes, it
|
||||
will be saved first using |:update|. If the current file is an
|
||||
@ -191,7 +191,7 @@ COMMANDS *rust-commands*
|
||||
If |g:rustc_path| is defined, it is used as the path to rustc.
|
||||
Otherwise it is assumed rustc can be found in $PATH.
|
||||
|
||||
:RustPlay *:RustPlay*
|
||||
:RustPlay *:RustPlay*
|
||||
This command will only work if you have web-api.vim installed
|
||||
(available at https://github.com/mattn/webapi-vim). It sends the
|
||||
current selection, or if nothing is selected, the entirety of the
|
||||
@ -204,7 +204,7 @@ COMMANDS *rust-commands*
|
||||
|g:rust_shortener_url| is the base URL for the shortener, by
|
||||
default "https://is.gd/"
|
||||
|
||||
:RustFmt *:RustFmt*
|
||||
:RustFmt *:RustFmt*
|
||||
Runs |g:rustfmt_command| on the current buffer. If
|
||||
|g:rustfmt_options| is set then those will be passed to the
|
||||
executable.
|
||||
@ -214,12 +214,12 @@ COMMANDS *rust-commands*
|
||||
|g:rustfmt_command|. If |g:rustfmt_fail_silently| is set to 1
|
||||
then it will not populate the |location-list|.
|
||||
|
||||
:RustFmtRange *:RustFmtRange*
|
||||
:RustFmtRange *:RustFmtRange*
|
||||
Runs |g:rustfmt_command| with selected range. See
|
||||
|:RustFmt| for any other information.
|
||||
|
||||
==============================================================================
|
||||
MAPPINGS *rust-mappings*
|
||||
MAPPINGS *rust-mappings*
|
||||
|
||||
This plugin defines mappings for |[[| and |]]| to support hanging indents.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*gui.txt* For Vim version 9.0. Last change: 2022 Apr 03
|
||||
*gui.txt* For Vim version 9.0. Last change: 2022 Nov 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -889,6 +889,11 @@ s The menu was defined with "<silent>" to avoid showing what it is
|
||||
Note that hitting <Tab> while entering a menu name after a menu command may
|
||||
be used to complete the name of the menu item.
|
||||
|
||||
It is not allowed to change menus while listing them. *E1310*
|
||||
This doesn't normally happen, only when, for example, you would have a timer
|
||||
callback define a menu and the user lists menus in a way it shows
|
||||
|more-prompt|.
|
||||
|
||||
|
||||
5.4 Executing Menus *execute-menus*
|
||||
|
||||
|
@ -161,6 +161,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_context.txt| Filetype plugin for ConTeXt
|
||||
|ft_mp.txt| Filetype plugin for METAFONT and MetaPost
|
||||
|ft_ps1.txt| Filetype plugin for Windows PowerShell
|
||||
|ft_raku.txt| Filetype plugin for Raku
|
||||
|ft_rust.txt| Filetype plugin for Rust
|
||||
|
@ -1,4 +1,4 @@
|
||||
*if_ole.txt* For Vim version 9.0. Last change: 2019 Dec 07
|
||||
*if_ole.txt* For Vim version 9.0. Last change: 2022 Oct 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Moore
|
||||
@ -156,18 +156,14 @@ To avoid the message box that pops up to report the result, prepend "-silent":
|
||||
gvim -silent -unregister
|
||||
|
||||
==============================================================================
|
||||
5. MS Visual Studio integration *MSVisualStudio* *VisVim*
|
||||
5. MS Visual Studio integration *MSVisualStudio*
|
||||
|
||||
The OLE version can be used to run Vim as the editor in Microsoft Visual
|
||||
Studio. This is called "VisVim". It is included in the archive that contains
|
||||
the OLE version. The documentation can be found in the runtime directory, the
|
||||
README_VisVim.txt file.
|
||||
The old "VisVim" integration was removed from Vim in patch 9.0.0698.
|
||||
|
||||
|
||||
Using Vim with Visual Studio .Net~
|
||||
|
||||
With .Net you no longer really need VisVim, since .Net studio has support for
|
||||
external editors. Follow these directions:
|
||||
.Net studio has support for external editors. Follow these directions:
|
||||
|
||||
In .Net Studio choose from the menu Tools->External Tools...
|
||||
Add
|
||||
|
@ -1,4 +1,4 @@
|
||||
*indent.txt* For Vim version 9.0. Last change: 2022 May 21
|
||||
*indent.txt* For Vim version 9.0. Last change: 2022 Oct 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -982,9 +982,12 @@ indentation: >
|
||||
|
||||
PYTHON *ft-python-indent*
|
||||
|
||||
The amount of indent can be set for the following situations. The examples
|
||||
given are the defaults. Note that the dictionary values are set to an
|
||||
expression, so that you can change the value of 'shiftwidth' later.
|
||||
The amount of indent can be set with the `g:python_indent` |Dictionary|, which
|
||||
needs to be created before adding the items: >
|
||||
let g:python_indent = {}
|
||||
The examples given are the defaults. Note that the dictionary values are set
|
||||
to an expression, so that you can change the value of 'shiftwidth' later
|
||||
without having to update these values.
|
||||
|
||||
Indent after an open paren: >
|
||||
let g:python_indent.open_paren = 'shiftwidth() * 2'
|
||||
@ -1227,13 +1230,31 @@ comments will be indented according to the correctly indented code.
|
||||
|
||||
|
||||
VIM *ft-vim-indent*
|
||||
*g:vim_indent*
|
||||
Vim scripts indentation can be configured with the `g:vim_indent` dictionary
|
||||
variable. It supports 3 keys, `line_continuation`, `more_in_bracket_block`,
|
||||
and `searchpair_timeout`.
|
||||
`line_continuation` expects a number which will be added to the indent level of
|
||||
a continuation line starting with a backslash, and defaults to
|
||||
`shiftwidth() * 3`. It also accepts a string, which is evaluated at runtime.
|
||||
`more_in_bracket_block` expects a boolean value; when on, an extra
|
||||
`shiftwidth()` is added inside blocks surrounded with brackets. It defaults to
|
||||
`v:false`.
|
||||
`searchpair_timeout` expects a number which will be passed to `searchpair()` as
|
||||
a timeout. Increasing the value might give more accurate results, but also
|
||||
causes the indentation to take more time. It defaults to 100 (milliseconds).
|
||||
|
||||
Example of configuration:
|
||||
|
||||
let g:vim_indent = #{
|
||||
\ line_continuation: shiftwidth() * 3,
|
||||
\ more_in_bracket_block: v:false,
|
||||
\ searchpair_timeout: 100,
|
||||
\ }
|
||||
|
||||
*g:vim_indent_cont*
|
||||
For indenting Vim scripts there is one variable that specifies the amount of
|
||||
indent for a continuation line, a line that starts with a backslash: >
|
||||
|
||||
:let g:vim_indent_cont = shiftwidth() * 3
|
||||
|
||||
Three times shiftwidth is the default value.
|
||||
This variable is equivalent to `g:vim_indent.line_continuation`.
|
||||
It's supported for backward compatibility.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 9.0. Last change: 2022 Jun 11
|
||||
*index.txt* For Vim version 9.0. Last change: 2022 Oct 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -1150,7 +1150,7 @@ tag command action ~
|
||||
|:!!| :!! repeat last ":!" command
|
||||
|:#| :# same as ":number"
|
||||
|:&| :& repeat last ":substitute"
|
||||
|:star| :* execute contents of a register
|
||||
|:star| :* use the last Visual area, like :'<,'>
|
||||
|:<| :< shift lines one 'shiftwidth' left
|
||||
|:=| := print the last line number
|
||||
|:>| :> shift lines one 'shiftwidth' right
|
||||
@ -1277,6 +1277,7 @@ tag command action ~
|
||||
|:debuggreedy| :debugg[reedy] read debug mode commands from normal input
|
||||
|:def| :def define a Vim9 user function
|
||||
|:defcompile| :defc[ompile] compile Vim9 user functions in current script
|
||||
|:defer| :defer call function when current function is done
|
||||
|:delcommand| :delc[ommand] delete user-defined command
|
||||
|:delfunction| :delf[unction] delete a user function
|
||||
|:delmarks| :delm[arks] delete marks
|
||||
@ -1308,6 +1309,7 @@ tag command action ~
|
||||
|:echohl| :echoh[l] set highlighting for echo commands
|
||||
|:echomsg| :echom[sg] same as :echo, put message in history
|
||||
|:echon| :echon same as :echo, but without <EOL>
|
||||
|:echowindow| :echow[indow] same as :echomsg, but use a popup window
|
||||
|:else| :el[se] part of an :if command
|
||||
|:elseif| :elsei[f] part of an :if command
|
||||
|:emenu| :em[enu] execute a menu by name
|
||||
@ -1356,6 +1358,7 @@ tag command action ~
|
||||
|:highlight| :hi[ghlight] specify highlighting methods
|
||||
|:hide| :hid[e] hide current buffer for a command
|
||||
|:history| :his[tory] print a history list
|
||||
|:horizontal| :hor[izontal] following window command work horizontally
|
||||
|:insert| :i[nsert] insert text
|
||||
|:iabbrev| :ia[bbrev] like ":abbrev" but for Insert mode
|
||||
|:iabclear| :iabc[lear] like ":abclear" but for Insert mode
|
||||
|
@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 9.0. Last change: 2022 Apr 06
|
||||
*insert.txt* For Vim version 9.0. Last change: 2022 Sep 30
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -667,7 +667,7 @@ When the popup menu is displayed there are a few more special keys, see
|
||||
|popupmenu-keys|.
|
||||
|
||||
Note: The keys that are valid in CTRL-X mode are not mapped. This allows for
|
||||
":map ^F ^X^F" to work (where ^F is CTRL-F and ^X is CTRL-X). The key that
|
||||
`:map <C-F> <C-X><C-F>` to work (assuming "<" is not in 'cpo'). The key that
|
||||
ends CTRL-X mode (any key that is not a valid CTRL-X mode command) is mapped.
|
||||
Also, when doing completion with 'complete' mappings apply as usual.
|
||||
|
||||
@ -677,11 +677,12 @@ buffer text cannot be changed. Mappings that somehow invoke ":normal i.."
|
||||
will generate an E565 error.
|
||||
|
||||
The following mappings are suggested to make typing the completion commands
|
||||
a bit easier (although they will hide other commands): >
|
||||
:inoremap ^] ^X^]
|
||||
:inoremap ^F ^X^F
|
||||
:inoremap ^D ^X^D
|
||||
:inoremap ^L ^X^L
|
||||
a bit easier (although they will hide other commands; this requires "<" is not
|
||||
in 'cpo'): >
|
||||
:inoremap <C-]> <C-X><C-]>
|
||||
:inoremap <C-F> <C-X><C-F>
|
||||
:inoremap <C-D> <C-X><C-D>
|
||||
:inoremap <C-L> <C-X><C-L>
|
||||
|
||||
As a special case, typing CTRL-R to perform register insertion (see
|
||||
|i_CTRL-R|) will not exit CTRL-X mode. This is primarily to allow the use of
|
||||
@ -891,7 +892,7 @@ Groß): >
|
||||
endfor
|
||||
return res
|
||||
endfunc
|
||||
|
||||
|
||||
if exists('+thesaurusfunc')
|
||||
set thesaurusfunc=Thesaur
|
||||
endif
|
||||
|
@ -1,4 +1,4 @@
|
||||
*intro.txt* For Vim version 9.0. Last change: 2022 Sep 12
|
||||
*intro.txt* For Vim version 9.0. Last change: 2022 Nov 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -122,10 +122,10 @@ http://www.vim.org/maillist.php
|
||||
Bug reports: *bugs* *bug-reports* *bugreport.vim*
|
||||
|
||||
There are three ways to report bugs:
|
||||
1. Open an issue on GitHub: https://github.com/vim/vim/issues
|
||||
The text will be forwarded to the vim-dev maillist.
|
||||
2. For issues with runtime files, look in the header for an email address or
|
||||
1. For issues with runtime files, look in the header for an email address or
|
||||
any other way to report it to the maintainer.
|
||||
2. Open an issue on GitHub: https://github.com/vim/vim/issues
|
||||
The text will be forwarded to the vim-dev maillist.
|
||||
3. Send bug reports to: Vim Developers <vim-dev@vim.org>
|
||||
This is a maillist, you need to become a member first and many people will
|
||||
see the message. If you don't want that, e.g. because it is a security
|
||||
|
@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 9.0. Last change: 2022 Sep 12
|
||||
*map.txt* For Vim version 9.0. Last change: 2022 Nov 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -10,18 +10,19 @@ This subject is introduced in sections |05.4|, |24.7| and |40.1| of the user
|
||||
manual.
|
||||
|
||||
1. Key mapping |key-mapping|
|
||||
1.1 MAP COMMANDS |:map-commands|
|
||||
1.2 Special arguments |:map-arguments|
|
||||
1.3 Mapping and modes |:map-modes|
|
||||
1.4 Listing mappings |map-listing|
|
||||
1.5 Mapping special keys |:map-special-keys|
|
||||
1.6 Special characters |:map-special-chars|
|
||||
1.7 What keys to map |map-which-keys|
|
||||
1.8 Examples |map-examples|
|
||||
1.9 Using mappings |map-typing|
|
||||
1.10 Mapping alt-keys |:map-alt-keys|
|
||||
1.11 Mapping in modifyOtherKeys mode |modifyOtherKeys|
|
||||
1.12 Mapping an operator |:map-operator|
|
||||
1.1 MAP COMMANDS |:map-commands|
|
||||
1.2 Special arguments |:map-arguments|
|
||||
1.3 Mapping and modes |:map-modes|
|
||||
1.4 Listing mappings |map-listing|
|
||||
1.5 Mapping special keys |:map-special-keys|
|
||||
1.6 Special characters |:map-special-chars|
|
||||
1.7 What keys to map |map-which-keys|
|
||||
1.8 Examples |map-examples|
|
||||
1.9 Using mappings |map-typing|
|
||||
1.10 Mapping alt-keys |:map-alt-keys|
|
||||
1.11 Mapping in modifyOtherKeys mode |modifyOtherKeys|
|
||||
1.12 Mapping with Kitty keyboard protocol |kitty-keyboard-protocol|
|
||||
1.13 Mapping an operator |:map-operator|
|
||||
2. Abbreviations |abbreviations|
|
||||
3. Local mappings and functions |script-local|
|
||||
4. User-defined commands |user-commands|
|
||||
@ -234,6 +235,9 @@ The search string will not be echoed when using this mapping. Messages from
|
||||
the executed command are still given though. To shut them up too, add a
|
||||
":silent" in the executed command: >
|
||||
:map <silent> ,h :exe ":silent normal /Header\r"<CR>
|
||||
Note that the effect of a command might also be silenced, e.g., when the
|
||||
mapping selects another entry for command line completion it won't be
|
||||
displayed.
|
||||
Prompts will still be given, e.g., for inputdialog().
|
||||
Using "<silent>" for an abbreviation is possible, but will cause redrawing of
|
||||
the command line to fail.
|
||||
@ -581,6 +585,9 @@ is the start of the last selected Visual area in the current buffer |'<|.
|
||||
The |:filter| command can be used to select what mappings to list. The
|
||||
pattern is matched against the {lhs} and {rhs} in the raw form.
|
||||
|
||||
While mappings are being listed, it is not possible to add or clear mappings,
|
||||
e.g. from a timer callback. *E1309*
|
||||
|
||||
*:map-verbose*
|
||||
When 'verbose' is non-zero, listing a key map will also display where it was
|
||||
last defined. Example: >
|
||||
@ -964,13 +971,18 @@ using other applications but not when inside Vim.
|
||||
Xterm and a few other terminals can be put in a mode where keys with modifiers
|
||||
are sent with a special escape code. Vim recognizes these codes and can then
|
||||
make a difference between CTRL-H and Backspace, even when Backspace sends the
|
||||
character 8. And many more special keys.
|
||||
character 8. And many more special keys, such as Tab and CTRL-I, which cannot
|
||||
be mapped separately otherwise.
|
||||
|
||||
For xterm modifyOtherKeys is enabled in the builtin termcap entry. If this is
|
||||
not used you can enable modifyOtherKeys with these lines in your vimrc: >
|
||||
let &t_TI = "\<Esc>[>4;2m"
|
||||
let &t_TE = "\<Esc>[>4;m"
|
||||
|
||||
This sets modifyOtherKeys to level 2. Note that modifyOtherKeys level 1 does
|
||||
not work. Some terminals do not support level 2 and then send key codes that
|
||||
Vim will not be able to correctly recognize.
|
||||
|
||||
In case the modifyOtherKeys mode causes problems you can disable it: >
|
||||
let &t_TI = ""
|
||||
let &t_TE = ""
|
||||
@ -989,16 +1001,61 @@ mapping, see |map-bar|.
|
||||
WARNING: if you map <C-[> you may very well break any key codes that start
|
||||
with Esc. Make sure it comes AFTER other mappings.
|
||||
|
||||
Starting with xterm version 377 Vim can detect the modifyOtherKeys state by
|
||||
requesting it. For this the 't_RK' termcap entry is used. When the response
|
||||
is found then Vim will know whether modifyOtherKeys level 2 is enabled, and
|
||||
handle mappings accordingly.
|
||||
|
||||
Before version 377 Vim automatically detects if the modifyOtherKeys mode was
|
||||
enabled when it spots an escape sequence that must have been created by it.
|
||||
To see if Vim detected such an escape sequence use `:verbose map`, the first
|
||||
line will then show "Seen modifyOtherKeys: true" (possibly translated).
|
||||
|
||||
This automatic detection depends on receiving an escape code starting with
|
||||
"<1b>[27;". This is the normal way xterm sends these key codes. However, if
|
||||
the *formatOtherKeys* resource is set another form is used that is not
|
||||
recognized, therefore you must not set formatOtherKeys.
|
||||
|
||||
A known side effect is that in Insert mode the raw escape sequence is inserted
|
||||
after the CTRL-V key. This can be used to check whether modifyOtherKeys is
|
||||
enabled: In Insert mode type CTRL-SHIFT-V CTRL-V, if you get one byte then
|
||||
modifyOtherKeys is off, if you get <1b>27;5;118~ then it is on.
|
||||
modifyOtherKeys is off, if you get <1b>[27;5;118~ then it is on.
|
||||
|
||||
Note that xterm up to version 376 has a bug that makes Shift-Esc send a
|
||||
regular Esc code, the Shift modifier is dropped.
|
||||
|
||||
When the 'esckeys' option is off, then modifyOtherKeys will be disabled in
|
||||
Insert mode to avoid every key with a modifier causing Insert mode to end.
|
||||
|
||||
|
||||
1.12 MAPPING AN OPERATOR *:map-operator*
|
||||
1.12 MAPPING WITH KITTY KEYBOARD PROTOCOL *kitty-keyboard-protocol*
|
||||
|
||||
If the value of 'term' contains "kitty" then Vim will send out an escape
|
||||
sequence to enable the Kitty keyboard protocol. This can be changed with the
|
||||
'keyprotocol' option.
|
||||
|
||||
Like modifyOtherKeys, this will make it possible to distinguish between more
|
||||
keys with modifiers. Also, this protocol sends an escape sequence for the Esc
|
||||
key, so that Vim does not need to use a timeout to know whether receiving an
|
||||
Esc character means the Esc key was pressed or it's the start of an escape
|
||||
sequence.
|
||||
|
||||
Vim automatically detects if the Kitty keyboard protocol was enabled when it
|
||||
spots the response to the status request (this should be part of the |t_TI|
|
||||
termcap entry). To see if Vim detected such an escape sequence use: >
|
||||
:verbose map
|
||||
The first line will then show "Kitty keyboard protocol: {value}" (possibly
|
||||
translated). The meaning of {value}:
|
||||
Unknown no status received yet
|
||||
Off protocol is not used
|
||||
On protocol is used
|
||||
Disabled protocol was used but expected to have been disabled
|
||||
by 't_TE'
|
||||
Cleared protocol expected to have beeen disabled by 't_TE',
|
||||
previous state is unknown
|
||||
|
||||
|
||||
1.13 MAPPING AN OPERATOR *:map-operator*
|
||||
|
||||
An operator is used before a {motion} command. To define your own operator
|
||||
you must create a mapping that first sets the 'operatorfunc' option and then
|
||||
@ -1468,6 +1525,8 @@ See |:verbose-cmd| for more information.
|
||||
|
||||
:delc[ommand] {cmd} *:delc* *:delcommand* *E184*
|
||||
Delete the user-defined command {cmd}.
|
||||
This is not allowed while listing commands, e.g. from
|
||||
a timer. *E1311*
|
||||
|
||||
:delc[ommand] -buffer {cmd} *E1237*
|
||||
Delete the user-defined command {cmd} that was defined
|
||||
@ -1478,7 +1537,7 @@ See |:verbose-cmd| for more information.
|
||||
|
||||
|
||||
Command attributes ~
|
||||
*command-attributes*
|
||||
*command-attributes*
|
||||
User-defined commands are treated by Vim just like any other Ex commands. They
|
||||
can have arguments, or have a range specified. Arguments are subject to
|
||||
completion as filenames, buffers, etc. Exactly how this works depends upon the
|
||||
@ -1761,7 +1820,8 @@ The valid escape sequences are
|
||||
If the first two characters of an escape sequence are "q-" (for example,
|
||||
<q-args>) then the value is quoted in such a way as to make it a valid value
|
||||
for use in an expression. This uses the argument as one single value.
|
||||
When there is no argument <q-args> is an empty string.
|
||||
When there is no argument <q-args> is an empty string. See the
|
||||
|q-args-example| below.
|
||||
*<f-args>*
|
||||
To allow commands to pass their arguments on to a user-defined function, there
|
||||
is a special form <f-args> ("function args"). This splits the command
|
||||
@ -1771,7 +1831,7 @@ See the Mycmd example below. If no arguments are given <f-args> is removed.
|
||||
To embed whitespace into an argument of <f-args>, prepend a backslash.
|
||||
<f-args> replaces every pair of backslashes (\\) with one backslash. A
|
||||
backslash followed by a character other than white space or a backslash
|
||||
remains unmodified. Overview:
|
||||
remains unmodified. Also see |f-args-example| below. Overview:
|
||||
|
||||
command <f-args> ~
|
||||
XX ab 'ab'
|
||||
@ -1785,7 +1845,8 @@ remains unmodified. Overview:
|
||||
XX a\\\\b 'a\\b'
|
||||
XX a\\\\ b 'a\\', 'b'
|
||||
|
||||
Examples >
|
||||
|
||||
Examples for user commands: >
|
||||
|
||||
" Delete everything after here to the end
|
||||
:com Ddel +,$d
|
||||
@ -1801,7 +1862,8 @@ Examples >
|
||||
" Count the number of lines in the range
|
||||
:com! -range -nargs=0 Lines echo <line2> - <line1> + 1 "lines"
|
||||
|
||||
" Call a user function (example of <f-args>)
|
||||
< *f-args-example*
|
||||
Call a user function (example of <f-args>) >
|
||||
:com -nargs=* Mycmd call Myfunc(<f-args>)
|
||||
|
||||
When executed as: >
|
||||
@ -1809,7 +1871,8 @@ When executed as: >
|
||||
This will invoke: >
|
||||
:call Myfunc("arg1","arg2")
|
||||
|
||||
:" A more substantial example
|
||||
< *q-args-example*
|
||||
A more substantial example: >
|
||||
:function Allargs(command)
|
||||
: let i = 0
|
||||
: while i < argc()
|
||||
|
@ -1,4 +1,4 @@
|
||||
*message.txt* For Vim version 9.0. Last change: 2022 Jan 26
|
||||
*message.txt* For Vim version 9.0. Last change: 2022 Oct 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -635,6 +635,7 @@ probably means that some other program changed the file. You will have to
|
||||
find out what happened, and decide which version of the file you want to keep.
|
||||
Set the 'autoread' option if you want to do this automatically.
|
||||
This message is not given when 'buftype' is not empty.
|
||||
Also see the |FileChangedShell| autocommand.
|
||||
|
||||
There is one situation where you get this message even though there is nothing
|
||||
wrong: If you save a file in Windows on the day the daylight saving time
|
||||
|
@ -1,4 +1,4 @@
|
||||
*motion.txt* For Vim version 9.0. Last change: 2022 Apr 18
|
||||
*motion.txt* For Vim version 9.0. Last change: 2022 Sep 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -1145,7 +1145,7 @@ g; Go to [count] older position in change list.
|
||||
(not a motion command)
|
||||
|
||||
*g,* *E663*
|
||||
g, Go to [count] newer cursor position in change list.
|
||||
g, Go to [count] newer position in change list.
|
||||
Just like |g;| but in the opposite direction.
|
||||
(not a motion command)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 9.0. Last change: 2022 Sep 09
|
||||
*options.txt* For Vim version 9.0. Last change: 2022 Nov 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -1626,6 +1626,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Note that v:charconvert_from and v:charconvert_to may be different
|
||||
from 'encoding'. Vim internally uses UTF-8 instead of UCS-2 or UCS-4.
|
||||
|
||||
The advantage of using a function call without arguments is that it is
|
||||
faster, see |expr-option-function|.
|
||||
|
||||
Encryption is not done by Vim when using 'charconvert'. If you want
|
||||
to encrypt the file after conversion, 'charconvert' should take care
|
||||
of this.
|
||||
@ -1702,7 +1705,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
after that. Therefore do not append an item with += but use ^= to
|
||||
prepend, e.g.: >
|
||||
set clipboard^=unnamed
|
||||
< These names are recognized:
|
||||
< When using the GUI see |'go-A'|.
|
||||
These names are recognized:
|
||||
|
||||
*clipboard-unnamed*
|
||||
unnamed When included, Vim will use the clipboard register '*'
|
||||
@ -2938,7 +2942,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'display' 'dy' string (default "", set to "truncate" in
|
||||
|defaults.vim|)
|
||||
global
|
||||
Change the way text is displayed. This is comma-separated list of
|
||||
Change the way text is displayed. This is a comma-separated list of
|
||||
flags:
|
||||
lastline When included, as much as possible of the last line
|
||||
in a window will be displayed. "@@@" is put in the
|
||||
@ -2952,6 +2956,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
When neither "lastline" nor "truncate" is included, a last line that
|
||||
doesn't fit is replaced with "@" lines.
|
||||
|
||||
The "@" character can be changed by setting the "lastline" item in
|
||||
'fillchars'. The character is highlighted with |hl-NonText|.
|
||||
|
||||
*'eadirection'* *'ead'*
|
||||
'eadirection' 'ead' string (default "both")
|
||||
global
|
||||
@ -3041,6 +3048,16 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
When 'encoding' is set to a Unicode encoding, and 'fileencodings' was
|
||||
not set yet, the default for 'fileencodings' is changed.
|
||||
|
||||
*'endoffile'* *'eof'* *'noendoffile'* *'noeof'*
|
||||
'endoffile' 'eof' boolean (default off)
|
||||
local to buffer
|
||||
Indicates that a CTRL-Z character was found at the end of the file
|
||||
when reading it. Normally only happens when 'fileformat' is "dos".
|
||||
When writing a file and this option is off and the 'binary' option
|
||||
is on, or 'fixeol' option is off, no CTRL-Z will be written at the
|
||||
end of the file.
|
||||
See |eol-and-eof| for example settings.
|
||||
|
||||
*'endofline'* *'eol'* *'noendofline'* *'noeol'*
|
||||
'endofline' 'eol' boolean (default on)
|
||||
local to buffer
|
||||
@ -3055,6 +3072,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
to remember the presence of a <EOL> for the last line in the file, so
|
||||
that when you write the file the situation from the original file can
|
||||
be kept. But you can change it if you want to.
|
||||
See |eol-and-eof| for example settings.
|
||||
|
||||
*'equalalways'* *'ea'* *'noequalalways'* *'noea'*
|
||||
'equalalways' 'ea' boolean (default on)
|
||||
@ -3416,6 +3434,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
foldsep '|' open fold middle character
|
||||
diff '-' deleted lines of the 'diff' option
|
||||
eob '~' empty lines below the end of a buffer
|
||||
lastline '@' 'display' contains lastline/truncate
|
||||
|
||||
Any one that is omitted will fall back to the default. For "stl" and
|
||||
"stlnc" the space will be used when there is highlighting, '^' or '='
|
||||
@ -3438,16 +3457,18 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
fold Folded |hl-Folded|
|
||||
diff DiffDelete |hl-DiffDelete|
|
||||
eob EndOfBuffer |hl-EndOfBuffer|
|
||||
lastline NonText |hl-NonText|
|
||||
|
||||
*'fixendofline'* *'fixeol'* *'nofixendofline'* *'nofixeol'*
|
||||
'fixendofline' 'fixeol' boolean (default on)
|
||||
local to buffer
|
||||
When writing a file and this option is on, <EOL> at the end of file
|
||||
will be restored if missing. Turn this option off if you want to
|
||||
will be restored if missing. Turn this option off if you want to
|
||||
preserve the situation from the original file.
|
||||
When the 'binary' option is set the value of this option doesn't
|
||||
matter.
|
||||
See the 'endofline' option.
|
||||
See |eol-and-eof| for example settings.
|
||||
|
||||
*'fkmap'* *'fk'* *'nofkmap'* *'nofk'*
|
||||
'fkmap' 'fk' boolean (default off)
|
||||
@ -3663,6 +3684,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
< This will invoke the mylang#Format() function in the
|
||||
autoload/mylang.vim file in 'runtimepath'. |autoload|
|
||||
|
||||
The advantage of using a function call without arguments is that it is
|
||||
faster, see |expr-option-function|.
|
||||
|
||||
The expression is also evaluated when 'textwidth' is set and adding
|
||||
text beyond that limit. This happens under the same conditions as
|
||||
when internal formatting is used. Make sure the cursor is kept in the
|
||||
@ -3978,6 +4002,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
"A" - yes
|
||||
"aA" yes yes
|
||||
|
||||
When using a terminal see the 'clipboard' option.
|
||||
|
||||
*'go-c'*
|
||||
'c' Use console dialogs instead of popup dialogs for simple
|
||||
choices.
|
||||
@ -4522,20 +4548,27 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|+find_in_path| or |+eval| features}
|
||||
Expression to be used to transform the string found with the 'include'
|
||||
option to a file name. Mostly useful to change "." to "/" for Java: >
|
||||
:set includeexpr=substitute(v:fname,'\\.','/','g')
|
||||
:setlocal includeexpr=substitute(v:fname,'\\.','/','g')
|
||||
< The "v:fname" variable will be set to the file name that was detected.
|
||||
|
||||
Note the double backslash: the `:set` command first halves them, then
|
||||
one remains it the value, where "\." matches a dot literally. For
|
||||
simple character replacements `tr()` avoids the need for escaping: >
|
||||
:setlocal includeexpr=tr(v:fname,'.','/')
|
||||
<
|
||||
Also used for the |gf| command if an unmodified file name can't be
|
||||
found. Allows doing "gf" on the name after an 'include' statement.
|
||||
Also used for |<cfile>|.
|
||||
|
||||
If the expression starts with s: or |<SID>|, then it is replaced with
|
||||
the script ID (|local-function|). Example: >
|
||||
set includeexpr=s:MyIncludeExpr(v:fname)
|
||||
set includeexpr=<SID>SomeIncludeExpr(v:fname)
|
||||
setlocal includeexpr=s:MyIncludeExpr()
|
||||
setlocal includeexpr=<SID>SomeIncludeExpr()
|
||||
< Otherwise, the expression is evaluated in the context of the script
|
||||
where the option was set, thus script-local items are available.
|
||||
|
||||
It is more efficient if the value is just a function call without
|
||||
arguments, see |expr-option-function|.
|
||||
|
||||
The expression will be evaluated in the |sandbox| when set from a
|
||||
modeline, see |sandbox-option|.
|
||||
This option cannot be set in a modeline when 'modelineexpr' is off.
|
||||
@ -4604,7 +4637,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
in Insert mode as specified with the 'indentkeys' option.
|
||||
When this option is not empty, it overrules the 'cindent' and
|
||||
'smartindent' indenting. When 'lisp' is set, this option is
|
||||
overridden by the Lisp indentation algorithm.
|
||||
is only used when 'lispoptions' contains "expr:1".
|
||||
When 'paste' is set this option is not used for indenting.
|
||||
The expression is evaluated with |v:lnum| set to the line number for
|
||||
which the indent is to be computed. The cursor is also in this line
|
||||
@ -4617,6 +4650,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
< Otherwise, the expression is evaluated in the context of the script
|
||||
where the option was set, thus script-local items are available.
|
||||
|
||||
The advantage of using a function call without arguments is that it is
|
||||
faster, see |expr-option-function|.
|
||||
|
||||
The expression must return the number of spaces worth of indent. It
|
||||
can return "-1" to keep the current indent (this means 'autoindent' is
|
||||
used for the indent).
|
||||
@ -4856,6 +4892,51 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
<PageUp> and <PageDown>.
|
||||
The 'keymodel' option is set by the |:behave| command.
|
||||
|
||||
*'keyprotocol'* *'kpc'*
|
||||
'keyprotocol' 'kpc' string (default: see below)
|
||||
global
|
||||
Specifies what keyboard protocol to use depending on the value of
|
||||
'term'. The supported keyboard protocols names are:
|
||||
none whatever the terminal uses
|
||||
mok2 modifyOtherKeys level 2, as supported by xterm
|
||||
kitty Kitty keyboard protocol, as supported by Kitty
|
||||
|
||||
The option value is a list of comma separated items. Each item has
|
||||
a pattern that is matched against the 'term' option, a colon and the
|
||||
protocol name to be used. To illustrate this, the default value would
|
||||
be set with: >
|
||||
set keyprotocol=kitty:kitty,foot:kitty,wezterm:kitty,xterm:mok2
|
||||
|
||||
< This means that when 'term' contains "kitty, "foot" or "wezterm"
|
||||
somewhere then the "kitty" protocol is used. When 'term' contains
|
||||
"xterm" somewhere, then the "mok2" protocol is used.
|
||||
|
||||
The first match is used, thus if you want to have "kitty" use the
|
||||
kitty protocol, but "badkitty" not, then you should match "badkitty"
|
||||
first and use the "none" value: >
|
||||
set keyprotocol=badkitty:none,kitty:kitty
|
||||
<
|
||||
The option is used after 'term' has been changed. First the termcap
|
||||
entries are set, possibly using the builtin list, see |builtin-terms|.
|
||||
Then this option is inspected and if there is a match and a protocol
|
||||
is specified the following happens:
|
||||
none Nothing, the regular t_TE and t_TI values remain
|
||||
|
||||
mok2 The t_TE value is changed to:
|
||||
CSI >4;m disables modifyOtherKeys
|
||||
The t_TI value is changed to:
|
||||
CSI >4;2m enables modifyOtherKeys
|
||||
CSI ?4m request the modifyOtherKeys state
|
||||
|
||||
kitty The t_TE value is changed to:
|
||||
CSI >4;m disables modifyOtherKeys
|
||||
CSI =0;1u disables the kitty keyboard protocol
|
||||
The t_TI value is changed to:
|
||||
CSI =1;1u enables the kitty keyboard protocol
|
||||
CSI ?u request kitty keyboard protocol state
|
||||
CSI >c request the termresponse
|
||||
|
||||
|
||||
*'keywordprg'* *'kp'*
|
||||
'keywordprg' 'kp' string (default "man" or "man -s", DOS: ":help",
|
||||
VMS: "help")
|
||||
@ -5043,6 +5124,17 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
calling an external program if 'equalprg' is empty.
|
||||
This option is not used when 'paste' is set.
|
||||
|
||||
*'lispoptions'* *'lop'*
|
||||
'lispoptions' 'lop' string (default "")
|
||||
local to buffer
|
||||
Comma-separated list of items that influence the Lisp indenting when
|
||||
enabled with the |'lisp'| option. Currently only one item is
|
||||
supported:
|
||||
expr:1 use 'indentexpr' for Lisp indenting when it is set
|
||||
expr:0 do not use 'indentexpr' for Lisp indenting (default)
|
||||
Note that when using 'indentexpr' the `=` operator indents all the
|
||||
lines, otherwise the first line is not indented (Vi-compatible).
|
||||
|
||||
*'lispwords'* *'lw'*
|
||||
'lispwords' 'lw' string (default is very long)
|
||||
global or local to buffer |global-local|
|
||||
@ -6456,8 +6548,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'ruler'* *'ru'* *'noruler'* *'noru'*
|
||||
'ruler' 'ru' boolean (default off, set in |defaults.vim|)
|
||||
global
|
||||
{not available when compiled without the
|
||||
|+cmdline_info| feature}
|
||||
Show the line and column number of the cursor position, separated by a
|
||||
comma. When there is room, the relative position of the displayed
|
||||
text in the file is shown on the far right:
|
||||
@ -7059,6 +7149,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
c don't give |ins-completion-menu| messages. For example,
|
||||
"-- XXX completion (YYY)", "match 1 of 2", "The only match",
|
||||
"Pattern not found", "Back at original", etc.
|
||||
C don't give messages while scanning for ins-completion items,
|
||||
for instance "scanning tags"
|
||||
q use "recording" instead of "recording @a"
|
||||
F don't give the file info when editing a file, like `:silent`
|
||||
was used for the command; note that this also affects messages
|
||||
@ -7115,8 +7207,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'showcmd' 'sc' boolean (Vim default: on, off for Unix,
|
||||
Vi default: off, set in |defaults.vim|)
|
||||
global
|
||||
{not available when compiled without the
|
||||
|+cmdline_info| feature}
|
||||
Show (partial) command in the last line of the screen. Set this
|
||||
option off if your terminal is slow.
|
||||
In Visual mode the size of the selected area is shown:
|
||||
@ -7287,6 +7377,16 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
reset.
|
||||
NOTE: This option is reset when 'compatible' is set.
|
||||
|
||||
*'smoothscroll'* *'sms'* *'nosmoothscroll'* *'nosms'*
|
||||
'smoothscroll' 'sms' boolean (default off)
|
||||
local to window
|
||||
Scrolling works with screen lines. When 'wrap' is set and the first
|
||||
line in the window wraps part of it may not be visible, as if it is
|
||||
above the window. "<<<" is displayed at the start of the first line,
|
||||
highlighted with |hl-NonText|.
|
||||
NOTE: only partly implemented, currently works with CTRL-E, CTRL-Y
|
||||
and scrolling with the mouse.
|
||||
|
||||
*'softtabstop'* *'sts'*
|
||||
'softtabstop' 'sts' number (default 0)
|
||||
local to buffer
|
||||
@ -7467,9 +7567,11 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
The file is used for all languages.
|
||||
|
||||
expr:{expr} Evaluate expression {expr}. Use a function to avoid
|
||||
trouble with spaces. |v:val| holds the badly spelled
|
||||
word. The expression must evaluate to a List of
|
||||
Lists, each with a suggestion and a score.
|
||||
trouble with spaces. Best is to call a function
|
||||
without arguments, see |expr-option-function|.
|
||||
|v:val| holds the badly spelled word. The expression
|
||||
must evaluate to a List of Lists, each with a
|
||||
suggestion and a score.
|
||||
Example:
|
||||
[['the', 33], ['that', 44]] ~
|
||||
Set 'verbose' and use |z=| to see the scores that the
|
||||
@ -7493,24 +7595,28 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
When on, splitting a window will put the new window below the current
|
||||
one. |:split|
|
||||
|
||||
*'splitkeep'* *'spk'*
|
||||
'splitkeep' 'spk' string (default "cursor")
|
||||
global
|
||||
The value of this option determines the scroll behavior when opening,
|
||||
closing or resizing horizontal splits.
|
||||
|
||||
Possible values are:
|
||||
cursor Keep the same relative cursor position.
|
||||
screen Keep the text on the same screen line.
|
||||
topline Keep the topline the same.
|
||||
|
||||
For the "screen" and "topline" values, the cursor position will be
|
||||
changed when necessary. In this case, the jumplist will be populated
|
||||
with the previous cursor position. For "screen", the text cannot always
|
||||
be kept on the same screen line when 'wrap' is enabled.
|
||||
|
||||
*'splitright'* *'spr'* *'nosplitright'* *'nospr'*
|
||||
'splitright' 'spr' boolean (default off)
|
||||
global
|
||||
When on, splitting a window will put the new window right of the
|
||||
current one. |:vsplit|
|
||||
|
||||
*'splitscroll'* *'spsc'* *'nosplitscroll'* *'nospsc'*
|
||||
'splitscroll' 'spsc' boolean (default on)
|
||||
global
|
||||
The value of this option determines the scroll behavior when opening,
|
||||
closing or resizing horizontal splits. When "on", splitting a window
|
||||
horizontally will keep the same relative cursor position in the old and
|
||||
new window, as well windows that are resized. When "off", scrolling
|
||||
will be avoided to stabilize the window content. Instead, the cursor
|
||||
position will be changed when necessary. In this case, the jumplist
|
||||
will be populated with the previous cursor position. Scrolling cannot
|
||||
be guaranteed to be avoided when 'wrap' is enabled.
|
||||
|
||||
*'startofline'* *'sol'* *'nostartofline'* *'nosol'*
|
||||
'startofline' 'sol' boolean (default on)
|
||||
global
|
||||
@ -8464,10 +8570,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
xterm entries...).
|
||||
|
||||
*'ttyfast'* *'tf'* *'nottyfast'* *'notf'*
|
||||
'ttyfast' 'tf' boolean (default off, on when 'term' is xterm, hpterm,
|
||||
sun-cmd, screen, rxvt, dtterm or
|
||||
iris-ansi; also on when running Vim in
|
||||
a DOS console)
|
||||
'ttyfast' 'tf' boolean (default on)
|
||||
global
|
||||
Indicates a fast terminal connection. More characters will be sent to
|
||||
the screen for redrawing, instead of using insert/delete line
|
||||
@ -8477,6 +8580,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
line for lines that wrap. This helps when using copy/paste with the
|
||||
mouse in an xterm and other terminals.
|
||||
|
||||
The default used to be set only for some terminal names, but these
|
||||
days nearly all terminals are fast, therefore the default is now "on".
|
||||
If you have a slow connection you may want to set this option off,
|
||||
e.g. depending on the host name: >
|
||||
if hostname() =~ 'faraway'
|
||||
set nottyfast
|
||||
endif
|
||||
<
|
||||
*'ttymouse'* *'ttym'*
|
||||
'ttymouse' 'ttym' string (default depends on 'term')
|
||||
global
|
||||
|
@ -47,7 +47,7 @@ features you can enable/disable.
|
||||
|
||||
Haiku uses "ncurses6" as its terminal library, therefore you need to have
|
||||
"ncurses6_devel" package installed from HaikuDepot in order to configure
|
||||
the Haiku build. Just append "--with-tlib=ncurses6" to ./configure command
|
||||
the Haiku build. Just append "--with-tlib=ncurses" to ./configure command.
|
||||
|
||||
Now you should use "make" to compile Vim, then "make install" to install it.
|
||||
For seamless integration into Haiku, the GUI-less vim binary should be
|
||||
@ -56,12 +56,14 @@ additionally installed over the GUI version. Typical build commands are:
|
||||
./configure --prefix=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY` \
|
||||
--datarootdir=`finddir B_SYSTEM_NONPACKAGED_DATA_DIRECTORY` \
|
||||
--mandir=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY`/documentation/man \
|
||||
--with-tlib=ncurses
|
||||
make clean
|
||||
make install
|
||||
|
||||
./configure --prefix=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY` \
|
||||
--datarootdir=`finddir B_SYSTEM_NONPACKAGED_DATA_DIRECTORY` \
|
||||
--mandir=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY`/documentation/man \
|
||||
--with-tlib=ncurses \
|
||||
--disable-gui
|
||||
make clean
|
||||
make install
|
||||
@ -93,7 +95,7 @@ The default value for $VIM is set at compile time and can be determined with:
|
||||
|
||||
:version
|
||||
|
||||
The normal value is /boot/system/data/vim for Haikuports version,
|
||||
The normal value is /boot/system/data/vim for Haikuports version,
|
||||
/boot/system/non-packaged/data/vim for manual builds. If you don't like it
|
||||
you can set the VIM environment variable to override this, or set 'helpfile'
|
||||
in your .vimrc: >
|
||||
@ -221,11 +223,11 @@ Thank you, all!
|
||||
|
||||
|
||||
14. Bugs & to-do *haiku-bugs*
|
||||
|
||||
|
||||
The port is under development now and far away from the perfect state. For bug
|
||||
reports, patches and wishes, please use the Vim mailing list or Vim Github
|
||||
repository.
|
||||
|
||||
|
||||
Mailing list: https://www.vim.org/maillist.php
|
||||
Vim Github repository: https://github.com/vim/vim
|
||||
|
||||
|
@ -28,10 +28,11 @@ system() is used, which is a bit slower. The output of ":version" includes
|
||||
can be changed at compile time.
|
||||
(For forking of the GUI version see |gui-fork|.)
|
||||
|
||||
Because terminal updating under Unix is often slow (e.g. serial line
|
||||
terminal, shell window in suntools), the 'showcmd' and 'ruler' options
|
||||
are off by default. If you have a fast terminal, try setting them on. You
|
||||
might also want to set 'ttyfast'.
|
||||
For historic reasons terminal updating under Unix is expected to be slow (e.g.
|
||||
serial line terminal, shell window in suntools), the 'showcmd' and 'ruler'
|
||||
options are off by default. If you have a fast terminal, try setting them
|
||||
on: >
|
||||
set showcmd ruler
|
||||
|
||||
When using Vim in an xterm the mouse clicks can be used by Vim by setting
|
||||
'mouse' to "a". If there is access to an X-server gui style copy/paste will
|
||||
|
@ -1,4 +1,4 @@
|
||||
*os_vms.txt* For Vim version 9.0. Last change: 2021 Jan 04
|
||||
*os_vms.txt* For Vim version 9.0. Last change: 2022 Sep 30
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL
|
||||
@ -331,10 +331,10 @@ features, it is worth to choose non GUI executables.
|
||||
8.1 Backspace/delete
|
||||
|
||||
There are backspace/delete key inconsistencies with VMS.
|
||||
:fixdel doesn't do the trick, but the solution is: >
|
||||
:fixdel doesn't do the trick, but the solution is (without "<" in 'cpo'): >
|
||||
|
||||
:inoremap ^? ^H " for terminal mode
|
||||
:inoremap <Del> ^H " for gui mode
|
||||
:inoremap <C-?> <C-H> " for terminal mode
|
||||
:inoremap <Del> <C-H> " for gui mode
|
||||
|
||||
Read more in ch: 8.6 (Terminal problems).
|
||||
(Bruce Hunsaker <BNHunsaker@chq.byu.edu> Vim 5.3)
|
||||
@ -458,18 +458,11 @@ Ins, Del buttons etc., except Backspace in GUI mode. To solve it, add to
|
||||
|
||||
Vim will also recognize that they are fast terminals.
|
||||
|
||||
If you have some annoying line jumping on the screen between windows add to
|
||||
your .vimrc file: >
|
||||
|
||||
set ttyfast " set fast terminal
|
||||
|
||||
Note: if you're using Vim on remote host or through a very slow connection, it's
|
||||
recommended to avoid the fast terminal option with: >
|
||||
If you're using Vim on remote host or through a very slow connection, you
|
||||
might want to reset fast terminal option with: >
|
||||
|
||||
set nottyfast " set terminal to slow mode
|
||||
|
||||
(Zoltan Arpadffy, Vim 5.6)
|
||||
|
||||
|
||||
8.7 Hex-editing and other external tools
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 9.0. Last change: 2022 Mar 04
|
||||
*pattern.txt* For Vim version 9.0. Last change: 2022 Sep 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -134,6 +134,11 @@ gD Goto global Declaration. When the cursor is on a
|
||||
CTRL-C Interrupt current (search) command. Use CTRL-Break on
|
||||
MS-Windows |dos-CTRL-Break|.
|
||||
In Normal mode, any pending command is aborted.
|
||||
When Vim was started with output redirected and there
|
||||
are no changed buffers CTRL-C exits Vim. That is to
|
||||
help users who use "vim file | grep word" and don't
|
||||
know how to get out (blindly typing :qa<CR> would
|
||||
work).
|
||||
|
||||
*:noh* *:nohlsearch*
|
||||
:noh[lsearch] Stop the highlighting for the 'hlsearch' option. It
|
||||
|
@ -1,4 +1,4 @@
|
||||
*pi_tar.txt* For Vim version 9.0. Last change: 2020 Jan 07
|
||||
*pi_tar.txt* For Vim version 9.0. Last change: 2022 Oct 17
|
||||
|
||||
+====================+
|
||||
| Tar File Interface |
|
||||
@ -80,25 +80,25 @@ Copyright 2005-2017: *tar-copyright*
|
||||
|
||||
These options are variables that one may change, typically in one's
|
||||
<.vimrc> file.
|
||||
Default
|
||||
Variable Value Explanation
|
||||
*g:tar_browseoptions* "Ptf" used to get a list of contents
|
||||
*g:tar_readoptions* "OPxf" used to extract a file from a tarball
|
||||
*g:tar_cmd* "tar" the name of the tar program
|
||||
*g:tar_nomax* 0 if true, file window will not be maximized
|
||||
*g:tar_secure* undef if exists:
|
||||
Default
|
||||
Variable Value Explanation
|
||||
*g:tar_browseoptions* "Ptf" used to get a list of contents
|
||||
*g:tar_readoptions* "OPxf" used to extract a file from a tarball
|
||||
*g:tar_cmd* "tar" the name of the tar program
|
||||
*g:tar_nomax* 0 if true, file window will not be maximized
|
||||
*g:tar_secure* undef if exists:
|
||||
"--"s will be used to prevent unwanted
|
||||
option expansion in tar commands.
|
||||
Please be sure that your tar command
|
||||
accepts "--"; Posix compliant tar
|
||||
utilities do accept them.
|
||||
if not exists:
|
||||
The tar plugin will reject any tar
|
||||
The tar plugin will reject any tar
|
||||
files or member files that begin with
|
||||
"-"
|
||||
Not all tar's support the "--" which is why
|
||||
it isn't default.
|
||||
*g:tar_writeoptions* "uf" used to update/replace a file
|
||||
*g:tar_writeoptions* "uf" used to update/replace a file
|
||||
|
||||
|
||||
==============================================================================
|
||||
|
@ -1,4 +1,4 @@
|
||||
*pi_zip.txt* For Vim version 9.0. Last change: 2021 Nov 08
|
||||
*pi_zip.txt* For Vim version 9.0. Last change: 2022 Oct 17
|
||||
|
||||
+====================+
|
||||
| Zip File Interface |
|
||||
@ -39,7 +39,7 @@ Copyright: Copyright (C) 2005-2015 Charles E Campbell *zip-copyright*
|
||||
|
||||
OPTIONS~
|
||||
|
||||
*g:zip_nomax*
|
||||
*g:zip_nomax*
|
||||
|
||||
If this variable exists and is true, the file window will not be
|
||||
automatically maximized when opened.
|
||||
@ -54,21 +54,21 @@ Copyright: Copyright (C) 2005-2015 Charles E Campbell *zip-copyright*
|
||||
under Windows ("). If you'd rather have no quotes, simply set
|
||||
g:zip_shq to the empty string (let g:zip_shq= "") in your <.vimrc>.
|
||||
|
||||
*g:zip_unzipcmd*
|
||||
*g:zip_unzipcmd*
|
||||
Use this option to specify the program which does the duty of "unzip".
|
||||
It's used during browsing. By default: >
|
||||
let g:zip_unzipcmd= "unzip"
|
||||
let g:zip_unzipcmd= "unzip"
|
||||
<
|
||||
*g:zip_zipcmd*
|
||||
Use this option to specify the program which does the duty of "zip".
|
||||
It's used during the writing (updating) of a file already in a zip
|
||||
file; by default: >
|
||||
let g:zip_zipcmd= "zip"
|
||||
let g:zip_zipcmd= "zip"
|
||||
<
|
||||
*g:zip_extractcmd*
|
||||
This option specifies the program (and any options needed) used to
|
||||
extract a file from a zip archive. By default, >
|
||||
let g:zip_extractcmd= g:zip_unzipcmd
|
||||
let g:zip_extractcmd= g:zip_unzipcmd
|
||||
<
|
||||
PREVENTING LOADING~
|
||||
|
||||
@ -103,14 +103,14 @@ Copyright: Copyright (C) 2005-2015 Charles E Campbell *zip-copyright*
|
||||
==============================================================================
|
||||
4. History *zip-history* {{{1
|
||||
v32 Oct 22, 2021 * to avoid an issue with a vim 8.2 patch, zipfile: has
|
||||
been changed to zipfile:// . This often shows up
|
||||
been changed to zipfile:// . This often shows up
|
||||
as zipfile:/// with zipped files that are root-based.
|
||||
v29 Apr 02, 2017 * (Klartext) reported that an encrypted zip file could
|
||||
opened but the swapfile held unencrypted contents.
|
||||
opened but the swapfile held unencrypted contents.
|
||||
The solution is to edit the contents of a zip file
|
||||
using the |:noswapfile| modifier.
|
||||
v28 Oct 08, 2014 * changed the sanity checks for executables to reflect
|
||||
the command actually to be attempted in zip#Read()
|
||||
the command actually to be attempted in zip#Read()
|
||||
and zip#Write()
|
||||
* added the extraction of a file capability
|
||||
Nov 30, 2015 * added *.epub to the |g:zipPlugin_ext| list
|
||||
|
@ -1,4 +1,4 @@
|
||||
*popup.txt* For Vim version 9.0. Last change: 2022 Jun 16
|
||||
*popup.txt* For Vim version 9.0. Last change: 2022 Oct 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -347,6 +347,12 @@ popup_filter_yesno({id}, {key}) *popup_filter_yesno()*
|
||||
See the example here: |popup_dialog-example|
|
||||
|
||||
|
||||
popup_findecho() *popup_findecho()*
|
||||
Get the |window-ID| for the popup that shows messages for the
|
||||
`:echowindow` command. Return zero if there is none.
|
||||
Mainly useful to hide the popup.
|
||||
|
||||
|
||||
popup_findinfo() *popup_findinfo()*
|
||||
Get the |window-ID| for the popup info window, as it used by
|
||||
the popup menu. See |complete-popup|. The info popup is
|
||||
@ -360,7 +366,6 @@ popup_findpreview() *popup_findpreview()*
|
||||
Get the |window-ID| for the popup preview window.
|
||||
Return zero if there is none.
|
||||
|
||||
|
||||
popup_getoptions({id}) *popup_getoptions()*
|
||||
Return the {options} for popup {id} in a Dict.
|
||||
A zero value means the option was not set. For "zindex" the
|
||||
|
@ -1,4 +1,4 @@
|
||||
*print.txt* For Vim version 9.0. Last change: 2022 Jan 23
|
||||
*print.txt* For Vim version 9.0. Last change: 2022 Oct 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -158,13 +158,16 @@ currently specified printdevice: >
|
||||
If you change this option, using a function is an easy way to avoid having to
|
||||
escape all the spaces. Example: >
|
||||
|
||||
:set printexpr=PrintFile(v:fname_in)
|
||||
:function PrintFile(fname)
|
||||
: call system("ghostview " .. a:fname)
|
||||
: call delete(a:fname)
|
||||
:set printexpr=PrintFile()
|
||||
:function PrintFile()
|
||||
: call system("ghostview " .. v:fname_in)
|
||||
: call delete(v:fname_in)
|
||||
: return v:shell_error
|
||||
:endfunc
|
||||
|
||||
It is more efficient if the option is set to just a function call,
|
||||
see |expr-option-function|.
|
||||
|
||||
Be aware that some print programs return control before they have read the
|
||||
file. If you delete the file too soon it will not be printed. These programs
|
||||
usually offer an option to have them remove the file when printing is done.
|
||||
|
@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 9.0. Last change: 2022 Feb 22
|
||||
*quickfix.txt* For Vim version 9.0. Last change: 2022 Sep 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -478,7 +478,7 @@ You can parse a list of lines using 'errorformat' without creating or
|
||||
modifying a quickfix list using the |getqflist()| function. Examples: >
|
||||
echo getqflist({'lines' : ["F1:10:Line10", "F2:20:Line20"]})
|
||||
echo getqflist({'lines' : systemlist('grep -Hn quickfix *')})
|
||||
This returns a dictionary where the 'items' key contains the list of quickfix
|
||||
This returns a dictionary where the "items" key contains the list of quickfix
|
||||
entries parsed from lines. The following shows how to use a custom
|
||||
'errorformat' to parse the lines without modifying the 'errorformat' option: >
|
||||
echo getqflist({'efm' : '%f#%l#%m', 'lines' : ['F1#10#Line']})
|
||||
@ -597,7 +597,7 @@ can go back to the unfiltered list using the |:colder|/|:lolder| command.
|
||||
quickfix command or function, the |b:changedtick|
|
||||
variable is incremented. You can get the number of
|
||||
this buffer using the getqflist() and getloclist()
|
||||
functions by passing the 'qfbufnr' item. For a
|
||||
functions by passing the "qfbufnr" item. For a
|
||||
location list, this buffer is wiped out when the
|
||||
location list is removed.
|
||||
|
||||
@ -2011,7 +2011,7 @@ The function should return a single line of text to display in the quickfix
|
||||
window for each entry from start_idx to end_idx. The function can obtain
|
||||
information about the entries using the |getqflist()| function and specifying
|
||||
the quickfix list identifier "id". For a location list, getloclist() function
|
||||
can be used with the 'winid' argument. If an empty list is returned, then the
|
||||
can be used with the "winid" argument. If an empty list is returned, then the
|
||||
default format is used to display all the entries. If an item in the returned
|
||||
list is an empty string, then the default format is used to display the
|
||||
corresponding entry.
|
||||
|
@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 9.0. Last change: 2022 Sep 14
|
||||
*quickref.txt* For Vim version 9.0. Last change: 2022 Nov 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -689,6 +689,7 @@ Short explanation of each option: *option-list*
|
||||
'edcompatible' 'ed' toggle flags of ":substitute" command
|
||||
'emoji' 'emo' emoji characters are considered full width
|
||||
'encoding' 'enc' encoding used internally
|
||||
'endoffile' 'eof' write CTRL-Z at end of the file
|
||||
'endofline' 'eol' write <EOL> for last line in file
|
||||
'equalalways' 'ea' windows are automatically made the same size
|
||||
'equalprg' 'ep' external program to use for "=" command
|
||||
@ -774,6 +775,7 @@ Short explanation of each option: *option-list*
|
||||
'key' encryption key
|
||||
'keymap' 'kmp' name of a keyboard mapping
|
||||
'keymodel' 'km' enable starting/stopping selection with keys
|
||||
'keyprotocol' 'kpc' what keyboard protocol to use for what terminal
|
||||
'keywordprg' 'kp' program to use for the "K" command
|
||||
'langmap' 'lmap' alphabetic characters for other language mode
|
||||
'langmenu' 'lm' language to be used for the menus
|
||||
@ -785,6 +787,7 @@ Short explanation of each option: *option-list*
|
||||
'lines' number of lines in the display
|
||||
'linespace' 'lsp' number of pixel lines to use between characters
|
||||
'lisp' automatic indenting for Lisp
|
||||
'lispoptions' 'lop' changes how Lisp indenting is done
|
||||
'lispwords' 'lw' words that change how lisp indenting works
|
||||
'list' show <Tab> and <EOL>
|
||||
'listchars' 'lcs' characters for displaying in list mode
|
||||
@ -910,6 +913,7 @@ Short explanation of each option: *option-list*
|
||||
'smartcase' 'scs' no ignore case when pattern has uppercase
|
||||
'smartindent' 'si' smart autoindenting for C programs
|
||||
'smarttab' 'sta' use 'shiftwidth' when inserting <Tab>
|
||||
'smoothscroll' 'sms' scroll by screen lines when 'wrap' is set
|
||||
'softtabstop' 'sts' number of spaces that <Tab> uses while editing
|
||||
'spell' enable spell checking
|
||||
'spellcapcheck' 'spc' pattern to locate end of a sentence
|
||||
@ -918,8 +922,8 @@ Short explanation of each option: *option-list*
|
||||
'spelloptions' 'spo' options for spell checking
|
||||
'spellsuggest' 'sps' method(s) used to suggest spelling corrections
|
||||
'splitbelow' 'sb' new window from split is below the current one
|
||||
'splitkeep' 'spk' determines scroll behavior for split windows
|
||||
'splitright' 'spr' new window is put right of the current one
|
||||
'splitscroll' 'spsc' determines scroll behavior for split windows
|
||||
'startofline' 'sol' commands move cursor to first non-blank in line
|
||||
'statusline' 'stl' custom format for the status line
|
||||
'suffixes' 'su' suffixes that are ignored with multiple match
|
||||
|
@ -1,4 +1,4 @@
|
||||
*repeat.txt* For Vim version 9.0. Last change: 2022 Jun 18
|
||||
*repeat.txt* For Vim version 9.0. Last change: 2022 Sep 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -92,7 +92,8 @@ pattern and do not match another pattern: >
|
||||
This first finds all lines containing "found", but only executes {cmd} when
|
||||
there is no match for "notfound".
|
||||
|
||||
To execute a non-Ex command, you can use the `:normal` command: >
|
||||
Any Ex command can be used, see |ex-cmd-index|. To execute a Normal mode
|
||||
command, you can use the `:normal` command: >
|
||||
:g/pat/normal {commands}
|
||||
Make sure that {commands} ends with a whole command, otherwise Vim will wait
|
||||
for you to type the rest of the command for each match. The screen will not
|
||||
@ -200,7 +201,8 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
||||
*:source-range*
|
||||
:[range]so[urce] [++clear]
|
||||
Read Ex commands from the [range] of lines in the
|
||||
current buffer.
|
||||
current buffer. When [range] is omitted read all
|
||||
lines.
|
||||
|
||||
When sourcing commands from the current buffer, the
|
||||
same script-ID |<SID>| is used even if the buffer is
|
||||
@ -626,6 +628,11 @@ When Vim starts up, after processing your .vimrc, it scans all directories in
|
||||
directories are added to 'runtimepath'. Then all the plugins are loaded.
|
||||
See |packload-two-steps| for how these two steps can be useful.
|
||||
|
||||
To allow for calling into package functionality while parsing your .vimrc,
|
||||
|:colorscheme| and |autoload| will both automatically search under 'packpath'
|
||||
as well in addition to 'runtimepath'. See the documentation for each for
|
||||
details.
|
||||
|
||||
In the example Vim will find "pack/foo/start/foobar/plugin/foo.vim" and adds
|
||||
"~/.vim/pack/foo/start/foobar" to 'runtimepath'.
|
||||
|
||||
@ -904,6 +911,11 @@ 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.
|
||||
|
||||
In a :def function variables that haven't been declared yet cannot be
|
||||
inspected. Variables that have been declared can be inspected, also when the
|
||||
block they were declared in has finished. In commands this would not be
|
||||
possible, thus is slightly misleading (but can be useful).
|
||||
|
||||
The backtrace shows the hierarchy of function calls, e.g.:
|
||||
>bt ~
|
||||
3 function One[3] ~
|
||||
|
@ -1,4 +1,4 @@
|
||||
*rileft.txt* For Vim version 9.0. Last change: 2022 Apr 03
|
||||
*rileft.txt* For Vim version 9.0. Last change: 2022 Oct 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Avner Lottem
|
||||
@ -35,6 +35,11 @@ encoded for every character (or group of characters) are not supported either
|
||||
as this kind of support is out of the scope of a simple addition to an
|
||||
existing editor (and it's not sanctioned by Unicode either).
|
||||
|
||||
As many people working on the code do not use the right-to-left mode, this
|
||||
feature may not work in some situations. If you can describe what is wrong
|
||||
and how it would work when fixed, please create an issue on github, see
|
||||
|bug-reports|.
|
||||
|
||||
|
||||
Highlights
|
||||
----------
|
||||
|
@ -1,4 +1,4 @@
|
||||
*scroll.txt* For Vim version 9.0. Last change: 2022 May 07
|
||||
*scroll.txt* For Vim version 9.0. Last change: 2022 Oct 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -280,6 +280,17 @@ You can also use Alt and Ctrl modifiers.
|
||||
|
||||
This only works when Vim gets the scroll wheel events, of course. You can
|
||||
check if this works with the "xev" program.
|
||||
*mouse-scrolling-off*
|
||||
If you do not want the mouse to cause scrolling (e.g. because resting your
|
||||
palm on the touchpad causes scroll events), you can disable that with: >
|
||||
:map <ScrollWheelDown> <Nop>
|
||||
:map! <ScrollWheelDown> <Nop>
|
||||
:map <ScrollWheelUp> <Nop>
|
||||
:map! <ScrollWheelUp> <Nop>
|
||||
:map <ScrollWheelLeft> <Nop>
|
||||
:map! <ScrollWheelLeft> <Nop>
|
||||
:map <ScrollWheelRight> <Nop>
|
||||
:map! <ScrollWheelRight> <Nop>
|
||||
|
||||
When using XFree86, the /etc/XF86Config file should have the correct entry for
|
||||
your mouse. For FreeBSD, this entry works for a Logitech scrollmouse: >
|
||||
|
@ -1008,8 +1008,8 @@ Note: even when using "num" or "long" the number of flags available to
|
||||
compounding and prefixes is limited to about 250.
|
||||
|
||||
|
||||
AFFIXES
|
||||
*spell-PFX* *spell-SFX*
|
||||
AFFIXES *spell-PFX* *spell-SFX*
|
||||
|
||||
The usual PFX (prefix) and SFX (suffix) lines are supported (see the Myspell
|
||||
documentation or the Aspell manual:
|
||||
http://aspell.net/man-html/Affix-Compression.html).
|
||||
|
@ -348,7 +348,7 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
||||
Start logging and write entries to {filename}.
|
||||
This works like calling `ch_logfile({filename}, 'ao')` very
|
||||
early during startup.
|
||||
{only available with the |+channel| feature}
|
||||
{only available with the |+eval| feature}
|
||||
|
||||
*-D*
|
||||
-D Debugging. Go to debugging mode when executing the first
|
||||
|
@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 9.0. Last change: 2022 Jun 10
|
||||
*syntax.txt* For Vim version 9.0. Last change: 2022 Nov 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -500,7 +500,7 @@ Force to omit the line numbers: >
|
||||
Go back to the default to use 'number' by deleting the variable: >
|
||||
:unlet g:html_number_lines
|
||||
<
|
||||
*g:html_line_ids*
|
||||
*g:html_line_ids*
|
||||
Default: 1 if |g:html_number_lines| is set, 0 otherwise.
|
||||
When 1, adds an HTML id attribute to each line number, or to an empty <span>
|
||||
inserted for that purpose if no line numbers are shown. This ID attribute
|
||||
@ -692,6 +692,22 @@ the rendered page generated by 2html.vim.
|
||||
>
|
||||
:let g:html_no_pre = 1
|
||||
<
|
||||
*g:html_no_doc*
|
||||
Default: 0.
|
||||
When 1 it doesn't generate a full HTML document with a DOCTYPE, <head>,
|
||||
<body>, etc. If |g:html_use_css| is enabled (the default) you'll have to
|
||||
define the CSS manually. The |g:html_dynamic_folds| and |g:html_line_ids|
|
||||
settings (off by default) also insert some JavaScript.
|
||||
|
||||
|
||||
*g:html_no_links*
|
||||
Default: 0.
|
||||
Don't generate <a> tags for text that looks like an URL.
|
||||
|
||||
*g:html_no_modeline*
|
||||
Default: 0.
|
||||
Don't generate a modeline disabling folding.
|
||||
|
||||
*g:html_expand_tabs*
|
||||
Default: 0 if 'tabstop' is 8, 'expandtab' is 0, 'vartabstop' is not in use,
|
||||
and no fold column or line numbers occur in the generated HTML;
|
||||
@ -1872,6 +1888,16 @@ following two lines to the syntax coloring file for that language
|
||||
Now you just need to make sure that you add all regions that contain
|
||||
the preprocessor language to the cluster htmlPreproc.
|
||||
|
||||
*html-folding*
|
||||
The HTML syntax file provides syntax |folding| (see |:syn-fold|) between start
|
||||
and end tags. This can be turned on by >
|
||||
|
||||
:let g:html_syntax_folding = 1
|
||||
:set foldmethod=syntax
|
||||
|
||||
Note: Syntax folding might slow down syntax highlighting significantly,
|
||||
especially for large files.
|
||||
|
||||
|
||||
HTML/OS (by Aestiva) *htmlos.vim* *ft-htmlos-syntax*
|
||||
|
||||
@ -2400,7 +2426,7 @@ you set the variable: >
|
||||
|
||||
:let papp_include_html=1
|
||||
|
||||
in your startup file it will try to syntax-hilight html code inside phtml
|
||||
in your startup file it will try to syntax-highlight html code inside phtml
|
||||
sections, but this is relatively slow and much too colourful to be able to
|
||||
edit sensibly. ;)
|
||||
|
||||
@ -2932,7 +2958,7 @@ Default folding is rather detailed, i.e., small syntax units like "if", "do",
|
||||
|
||||
You can set "ruby_foldable_groups" to restrict which groups are foldable: >
|
||||
|
||||
:let ruby_foldable_groups = 'if case %'
|
||||
:let ruby_foldable_groups = 'if case %'
|
||||
<
|
||||
The value is a space-separated list of keywords:
|
||||
|
||||
@ -2940,22 +2966,22 @@ The value is a space-separated list of keywords:
|
||||
-------- ------------------------------------- ~
|
||||
ALL Most block syntax (default)
|
||||
NONE Nothing
|
||||
if "if" or "unless" block
|
||||
if "if" or "unless" block
|
||||
def "def" block
|
||||
class "class" block
|
||||
module "module" block
|
||||
do "do" block
|
||||
do "do" block
|
||||
begin "begin" block
|
||||
case "case" block
|
||||
for "for", "while", "until" loops
|
||||
{ Curly bracket block or hash literal
|
||||
[ Array literal
|
||||
% Literal with "%" notation, e.g.: %w(STRING), %!STRING!
|
||||
/ Regexp
|
||||
{ Curly bracket block or hash literal
|
||||
[ Array literal
|
||||
% Literal with "%" notation, e.g.: %w(STRING), %!STRING!
|
||||
/ Regexp
|
||||
string String and shell command output (surrounded by ', ", `)
|
||||
: Symbol
|
||||
# Multiline comment
|
||||
<< Here documents
|
||||
: Symbol
|
||||
# Multiline comment
|
||||
<< Here documents
|
||||
__END__ Source code after "__END__" directive
|
||||
|
||||
*ruby_no_expensive*
|
||||
@ -3021,16 +3047,25 @@ satisfied with it for my own projects.
|
||||
SED *sed.vim* *ft-sed-syntax*
|
||||
|
||||
To make tabs stand out from regular blanks (accomplished by using Todo
|
||||
highlighting on the tabs), define "highlight_sedtabs" by putting >
|
||||
|
||||
:let highlight_sedtabs = 1
|
||||
highlighting on the tabs), define "g:sed_highlight_tabs" by putting >
|
||||
|
||||
:let g:sed_highlight_tabs = 1
|
||||
<
|
||||
in the vimrc file. (This special highlighting only applies for tabs
|
||||
inside search patterns, replacement texts, addresses or text included
|
||||
by an Append/Change/Insert command.) If you enable this option, it is
|
||||
also a good idea to set the tab width to one character; by doing that,
|
||||
you can easily count the number of tabs in a string.
|
||||
|
||||
GNU sed allows comments after text on the same line. BSD sed only allows
|
||||
comments where "#" is the first character of the line. To enforce BSD-style
|
||||
comments, i.e. mark end-of-line comments as errors, use: >
|
||||
|
||||
:let g:sed_dialect = "bsd"
|
||||
<
|
||||
Note that there are other differences between GNU sed and BSD sed which are
|
||||
not (yet) affected by this setting.
|
||||
|
||||
Bugs:
|
||||
|
||||
The transform command (y) is treated exactly like the substitute
|
||||
@ -3153,7 +3188,7 @@ The default is to use the twice sh_minlines. Set it to a smaller number to
|
||||
speed up displaying. The disadvantage is that highlight errors may appear.
|
||||
|
||||
syntax/sh.vim tries to flag certain problems as errors; usually things like
|
||||
extra ']'s, 'done's, 'fi's, etc. If you find the error handling problematic
|
||||
unmatched "]", "done", "fi", etc. If you find the error handling problematic
|
||||
for your purposes, you may suppress such error highlighting by putting
|
||||
the following line in your .vimrc: >
|
||||
|
||||
@ -3793,7 +3828,7 @@ SYNTAX ISKEYWORD SETTING *:syn-iskeyword*
|
||||
|
||||
clear: Syntax specific iskeyword setting is disabled and the
|
||||
buffer-local 'iskeyword' setting is used.
|
||||
{option} Set the syntax 'iskeyword' option to a new value.
|
||||
{option} Set the syntax 'iskeyword' option to a new value.
|
||||
|
||||
Example: >
|
||||
:syntax iskeyword @,48-57,192-255,$,_
|
||||
@ -4866,7 +4901,7 @@ is mostly used, because it looks better.
|
||||
In the next section you can find information about indivisual highlight groups
|
||||
and how to specify colors for them. Most likely you want to just select a set
|
||||
of colors by using the `:colorscheme` command, for example: >
|
||||
|
||||
|
||||
colorscheme pablo
|
||||
<
|
||||
*:colo* *:colorscheme* *E185*
|
||||
@ -4918,7 +4953,7 @@ Change a couple more colors: >
|
||||
augroup my_colorschemes
|
||||
au!
|
||||
au Colorscheme pablo hi Normal ctermbg=NONE
|
||||
\ | higlight Special ctermfg=63
|
||||
\ | highlight Special ctermfg=63
|
||||
\ | highlight Identifier ctermfg=44
|
||||
augroup END
|
||||
|
||||
@ -5271,7 +5306,7 @@ guisp={color-name} *highlight-guisp*
|
||||
"gg" is the Green value
|
||||
"bb" is the Blue value
|
||||
All values are hexadecimal, range from "00" to "ff". Examples: >
|
||||
:highlight Comment guifg=#11f0c3 guibg=#ff00ff
|
||||
:highlight Comment guifg=#11f0c3 guibg=#ff00ff
|
||||
<
|
||||
If you are authoring a color scheme and use the same hexadecimal value
|
||||
repeatedly, you can define a name for it in |v:colornames|. For
|
||||
@ -5361,25 +5396,26 @@ LineNrBelow Line number for when the 'relativenumber'
|
||||
*hl-CursorLineNr*
|
||||
CursorLineNr Like LineNr when 'cursorline' is set and 'cursorlineopt'
|
||||
contains "number" or is "both", for the cursor line.
|
||||
*hl-CursorLineSign*
|
||||
CursorLineSign Like SignColumn when 'cursorline' is set for the cursor line.
|
||||
*hl-CursorLineFold*
|
||||
CursorLineFold Like FoldColumn when 'cursorline' is set for the cursor line.
|
||||
*hl-CursorLineSign*
|
||||
CursorLineSign Like SignColumn when 'cursorline' is set for the cursor line.
|
||||
*hl-MatchParen*
|
||||
MatchParen Character under the cursor or just before it, if it
|
||||
is a paired bracket, and its match. |pi_paren.txt|
|
||||
*hl-MessageWindow*
|
||||
MessageWindow Messages popup window used when 'cmdheight' is zero. If not
|
||||
defined |hl-WarningMsg| is used.
|
||||
MessageWindow Messages popup window used by `:echowindow`. If not defined
|
||||
|hl-WarningMsg| is used.
|
||||
*hl-ModeMsg*
|
||||
ModeMsg 'showmode' message (e.g., "-- INSERT --").
|
||||
*hl-MoreMsg*
|
||||
MoreMsg |more-prompt|
|
||||
*hl-NonText*
|
||||
NonText '@' at the end of the window, characters from 'showbreak'
|
||||
and other characters that do not really exist in the text
|
||||
(e.g., ">" displayed when a double-wide character doesn't
|
||||
fit at the end of the line).
|
||||
NonText '@' at the end of the window, "<<<" at the start of the window
|
||||
for 'smoothscroll', characters from 'showbreak' and other
|
||||
characters that do not really exist in the text, such as the
|
||||
">" displayed when a double-wide character doesn't fit at the
|
||||
end of the line.
|
||||
*hl-Normal*
|
||||
Normal Normal text.
|
||||
*hl-Pmenu*
|
||||
|
@ -231,7 +231,9 @@ $quote eval.txt /*$quote*
|
||||
'emoji' options.txt /*'emoji'*
|
||||
'enc' options.txt /*'enc'*
|
||||
'encoding' options.txt /*'encoding'*
|
||||
'endoffile' options.txt /*'endoffile'*
|
||||
'endofline' options.txt /*'endofline'*
|
||||
'eof' options.txt /*'eof'*
|
||||
'eol' options.txt /*'eol'*
|
||||
'ep' options.txt /*'ep'*
|
||||
'equalalways' options.txt /*'equalalways'*
|
||||
@ -302,6 +304,7 @@ $quote eval.txt /*$quote*
|
||||
'fs' options.txt /*'fs'*
|
||||
'fsync' options.txt /*'fsync'*
|
||||
'ft' options.txt /*'ft'*
|
||||
'g:context_extra_options' ft_context.txt /*'g:context_extra_options'*
|
||||
'g:context_ignore_makefile' ft_context.txt /*'g:context_ignore_makefile'*
|
||||
'g:context_include' ft_context.txt /*'g:context_include'*
|
||||
'g:mf_other_macros' ft_mp.txt /*'g:mf_other_macros'*
|
||||
@ -434,10 +437,12 @@ $quote eval.txt /*$quote*
|
||||
'key' options.txt /*'key'*
|
||||
'keymap' options.txt /*'keymap'*
|
||||
'keymodel' options.txt /*'keymodel'*
|
||||
'keyprotocol' options.txt /*'keyprotocol'*
|
||||
'keywordprg' options.txt /*'keywordprg'*
|
||||
'km' options.txt /*'km'*
|
||||
'kmp' options.txt /*'kmp'*
|
||||
'kp' options.txt /*'kp'*
|
||||
'kpc' options.txt /*'kpc'*
|
||||
'langmap' options.txt /*'langmap'*
|
||||
'langmenu' options.txt /*'langmenu'*
|
||||
'langnoremap' options.txt /*'langnoremap'*
|
||||
@ -450,6 +455,7 @@ $quote eval.txt /*$quote*
|
||||
'lines' options.txt /*'lines'*
|
||||
'linespace' options.txt /*'linespace'*
|
||||
'lisp' options.txt /*'lisp'*
|
||||
'lispoptions' options.txt /*'lispoptions'*
|
||||
'lispwords' options.txt /*'lispwords'*
|
||||
'list' options.txt /*'list'*
|
||||
'listchars' options.txt /*'listchars'*
|
||||
@ -457,6 +463,7 @@ $quote eval.txt /*$quote*
|
||||
'lmap' options.txt /*'lmap'*
|
||||
'lnr' options.txt /*'lnr'*
|
||||
'loadplugins' options.txt /*'loadplugins'*
|
||||
'lop' options.txt /*'lop'*
|
||||
'lpl' options.txt /*'lpl'*
|
||||
'lrm' options.txt /*'lrm'*
|
||||
'ls' options.txt /*'ls'*
|
||||
@ -595,7 +602,9 @@ $quote eval.txt /*$quote*
|
||||
'noek' options.txt /*'noek'*
|
||||
'noemo' options.txt /*'noemo'*
|
||||
'noemoji' options.txt /*'noemoji'*
|
||||
'noendoffile' options.txt /*'noendoffile'*
|
||||
'noendofline' options.txt /*'noendofline'*
|
||||
'noeof' options.txt /*'noeof'*
|
||||
'noeol' options.txt /*'noeol'*
|
||||
'noequalalways' options.txt /*'noequalalways'*
|
||||
'noerrorbells' options.txt /*'noerrorbells'*
|
||||
@ -713,14 +722,14 @@ $quote eval.txt /*$quote*
|
||||
'nosmartindent' options.txt /*'nosmartindent'*
|
||||
'nosmarttab' options.txt /*'nosmarttab'*
|
||||
'nosmd' options.txt /*'nosmd'*
|
||||
'nosmoothscroll' options.txt /*'nosmoothscroll'*
|
||||
'nosms' options.txt /*'nosms'*
|
||||
'nosn' options.txt /*'nosn'*
|
||||
'nosol' options.txt /*'nosol'*
|
||||
'nospell' options.txt /*'nospell'*
|
||||
'nosplitbelow' options.txt /*'nosplitbelow'*
|
||||
'nosplitright' options.txt /*'nosplitright'*
|
||||
'nosplitscroll' options.txt /*'nosplitscroll'*
|
||||
'nospr' options.txt /*'nospr'*
|
||||
'nospsc' options.txt /*'nospsc'*
|
||||
'nosr' options.txt /*'nosr'*
|
||||
'nossl' options.txt /*'nossl'*
|
||||
'nosta' options.txt /*'nosta'*
|
||||
@ -937,6 +946,8 @@ $quote eval.txt /*$quote*
|
||||
'smarttab' options.txt /*'smarttab'*
|
||||
'smc' options.txt /*'smc'*
|
||||
'smd' options.txt /*'smd'*
|
||||
'smoothscroll' options.txt /*'smoothscroll'*
|
||||
'sms' options.txt /*'sms'*
|
||||
'sn' options.txt /*'sn'*
|
||||
'so' options.txt /*'so'*
|
||||
'softtabstop' options.txt /*'softtabstop'*
|
||||
@ -951,14 +962,14 @@ $quote eval.txt /*$quote*
|
||||
'spelloptions' options.txt /*'spelloptions'*
|
||||
'spellsuggest' options.txt /*'spellsuggest'*
|
||||
'spf' options.txt /*'spf'*
|
||||
'spk' options.txt /*'spk'*
|
||||
'spl' options.txt /*'spl'*
|
||||
'splitbelow' options.txt /*'splitbelow'*
|
||||
'splitkeep' options.txt /*'splitkeep'*
|
||||
'splitright' options.txt /*'splitright'*
|
||||
'splitscroll' options.txt /*'splitscroll'*
|
||||
'spo' options.txt /*'spo'*
|
||||
'spr' options.txt /*'spr'*
|
||||
'sps' options.txt /*'sps'*
|
||||
'spsc' options.txt /*'spsc'*
|
||||
'sr' options.txt /*'sr'*
|
||||
'srr' options.txt /*'srr'*
|
||||
'ss' options.txt /*'ss'*
|
||||
@ -3033,6 +3044,9 @@ $quote eval.txt /*$quote*
|
||||
:r! insert.txt /*:r!*
|
||||
:range cmdline.txt /*:range*
|
||||
:range! change.txt /*:range!*
|
||||
:range-closed-fold cmdline.txt /*:range-closed-fold*
|
||||
:range-offset cmdline.txt /*:range-offset*
|
||||
:range-pattern cmdline.txt /*:range-pattern*
|
||||
:re insert.txt /*:re*
|
||||
:read insert.txt /*:read*
|
||||
:read! insert.txt /*:read!*
|
||||
@ -4343,7 +4357,14 @@ E1302 eval.txt /*E1302*
|
||||
E1303 map.txt /*E1303*
|
||||
E1304 vim9.txt /*E1304*
|
||||
E1305 textprop.txt /*E1305*
|
||||
E1306 vim9.txt /*E1306*
|
||||
E1307 vim9.txt /*E1307*
|
||||
E1308 builtin.txt /*E1308*
|
||||
E1309 map.txt /*E1309*
|
||||
E131 userfunc.txt /*E131*
|
||||
E1310 gui.txt /*E1310*
|
||||
E1311 map.txt /*E1311*
|
||||
E1312 windows.txt /*E1312*
|
||||
E132 userfunc.txt /*E132*
|
||||
E133 userfunc.txt /*E133*
|
||||
E134 change.txt /*E134*
|
||||
@ -5543,6 +5564,7 @@ TerminalWinOpen autocmd.txt /*TerminalWinOpen*
|
||||
TextChanged autocmd.txt /*TextChanged*
|
||||
TextChangedI autocmd.txt /*TextChangedI*
|
||||
TextChangedP autocmd.txt /*TextChangedP*
|
||||
TextChangedT autocmd.txt /*TextChangedT*
|
||||
TextYankPost autocmd.txt /*TextYankPost*
|
||||
Transact-SQL ft_sql.txt /*Transact-SQL*
|
||||
U undo.txt /*U*
|
||||
@ -5570,7 +5592,6 @@ VimResume autocmd.txt /*VimResume*
|
||||
VimSuspend autocmd.txt /*VimSuspend*
|
||||
Vimball-copyright pi_vimball.txt /*Vimball-copyright*
|
||||
Virtual-Replace-mode insert.txt /*Virtual-Replace-mode*
|
||||
VisVim if_ole.txt /*VisVim*
|
||||
Visual visual.txt /*Visual*
|
||||
Visual-mode visual.txt /*Visual-mode*
|
||||
W motion.txt /*W*
|
||||
@ -5596,7 +5617,10 @@ WinClosed autocmd.txt /*WinClosed*
|
||||
WinEnter autocmd.txt /*WinEnter*
|
||||
WinLeave autocmd.txt /*WinLeave*
|
||||
WinNew autocmd.txt /*WinNew*
|
||||
WinResized autocmd.txt /*WinResized*
|
||||
WinResized-event windows.txt /*WinResized-event*
|
||||
WinScrolled autocmd.txt /*WinScrolled*
|
||||
WinScrolled-event windows.txt /*WinScrolled-event*
|
||||
X change.txt /*X*
|
||||
X11 options.txt /*X11*
|
||||
X11-icon gui_x11.txt /*X11-icon*
|
||||
@ -6644,6 +6668,7 @@ end intro.txt /*end*
|
||||
end-of-file pattern.txt /*end-of-file*
|
||||
enlightened-terminal syntax.txt /*enlightened-terminal*
|
||||
environ() builtin.txt /*environ()*
|
||||
eol-and-eof editing.txt /*eol-and-eof*
|
||||
erlang.vim syntax.txt /*erlang.vim*
|
||||
err_buf channel.txt /*err_buf*
|
||||
err_cb channel.txt /*err_cb*
|
||||
@ -6673,6 +6698,8 @@ escape() builtin.txt /*escape()*
|
||||
escape-bar version4.txt /*escape-bar*
|
||||
euphoria3.vim syntax.txt /*euphoria3.vim*
|
||||
euphoria4.vim syntax.txt /*euphoria4.vim*
|
||||
euro digraph.txt /*euro*
|
||||
euro-digraph digraph.txt /*euro-digraph*
|
||||
eval eval.txt /*eval*
|
||||
eval() builtin.txt /*eval()*
|
||||
eval-examples eval.txt /*eval-examples*
|
||||
@ -6775,6 +6802,7 @@ expr-lambda eval.txt /*expr-lambda*
|
||||
expr-nesting eval.txt /*expr-nesting*
|
||||
expr-number eval.txt /*expr-number*
|
||||
expr-option eval.txt /*expr-option*
|
||||
expr-option-function vim9.txt /*expr-option-function*
|
||||
expr-quote eval.txt /*expr-quote*
|
||||
expr-register eval.txt /*expr-register*
|
||||
expr-star eval.txt /*expr-star*
|
||||
@ -6802,6 +6830,7 @@ extendnew() builtin.txt /*extendnew()*
|
||||
extension-removal cmdline.txt /*extension-removal*
|
||||
extensions-improvements todo.txt /*extensions-improvements*
|
||||
f motion.txt /*f*
|
||||
f-args-example map.txt /*f-args-example*
|
||||
false vim9.txt /*false*
|
||||
false-variable eval.txt /*false-variable*
|
||||
falsy eval.txt /*falsy*
|
||||
@ -7241,8 +7270,11 @@ g:html_id_expr syntax.txt /*g:html_id_expr*
|
||||
g:html_ignore_conceal syntax.txt /*g:html_ignore_conceal*
|
||||
g:html_ignore_folding syntax.txt /*g:html_ignore_folding*
|
||||
g:html_line_ids syntax.txt /*g:html_line_ids*
|
||||
g:html_no_doc syntax.txt /*g:html_no_doc*
|
||||
g:html_no_foldcolumn syntax.txt /*g:html_no_foldcolumn*
|
||||
g:html_no_invalid syntax.txt /*g:html_no_invalid*
|
||||
g:html_no_links syntax.txt /*g:html_no_links*
|
||||
g:html_no_modeline syntax.txt /*g:html_no_modeline*
|
||||
g:html_no_pre syntax.txt /*g:html_no_pre*
|
||||
g:html_no_progress syntax.txt /*g:html_no_progress*
|
||||
g:html_number_lines syntax.txt /*g:html_number_lines*
|
||||
@ -7399,6 +7431,7 @@ g:tex_subscripts syntax.txt /*g:tex_subscripts*
|
||||
g:tex_superscripts syntax.txt /*g:tex_superscripts*
|
||||
g:tex_verbspell syntax.txt /*g:tex_verbspell*
|
||||
g:var eval.txt /*g:var*
|
||||
g:vim_indent indent.txt /*g:vim_indent*
|
||||
g:vim_indent_cont indent.txt /*g:vim_indent_cont*
|
||||
g:vimball_home pi_vimball.txt /*g:vimball_home*
|
||||
g:vimball_mkdir pi_vimball.txt /*g:vimball_mkdir*
|
||||
@ -7462,6 +7495,7 @@ get() builtin.txt /*get()*
|
||||
get-ms-debuggers debug.txt /*get-ms-debuggers*
|
||||
getbufinfo() builtin.txt /*getbufinfo()*
|
||||
getbufline() builtin.txt /*getbufline()*
|
||||
getbufoneline() builtin.txt /*getbufoneline()*
|
||||
getbufvar() builtin.txt /*getbufvar()*
|
||||
getchangelist() builtin.txt /*getchangelist()*
|
||||
getchar() builtin.txt /*getchar()*
|
||||
@ -7493,6 +7527,7 @@ getloclist() builtin.txt /*getloclist()*
|
||||
getmarklist() builtin.txt /*getmarklist()*
|
||||
getmatches() builtin.txt /*getmatches()*
|
||||
getmousepos() builtin.txt /*getmousepos()*
|
||||
getmouseshape() builtin.txt /*getmouseshape()*
|
||||
getpid() builtin.txt /*getpid()*
|
||||
getpos() builtin.txt /*getpos()*
|
||||
getqflist() builtin.txt /*getqflist()*
|
||||
@ -7813,6 +7848,7 @@ howto.txt howto.txt /*howto.txt*
|
||||
hpterm term.txt /*hpterm*
|
||||
hpterm-color syntax.txt /*hpterm-color*
|
||||
html-flavor insert.txt /*html-flavor*
|
||||
html-folding syntax.txt /*html-folding*
|
||||
html-indent indent.txt /*html-indent*
|
||||
html-indenting indent.txt /*html-indenting*
|
||||
html.vim syntax.txt /*html.vim*
|
||||
@ -8039,7 +8075,7 @@ interfaces-5.2 version5.txt /*interfaces-5.2*
|
||||
internal-variables eval.txt /*internal-variables*
|
||||
internal-wordlist spell.txt /*internal-wordlist*
|
||||
internet intro.txt /*internet*
|
||||
interp-string eval.txt /*interp-string*
|
||||
interpolated-string eval.txt /*interpolated-string*
|
||||
interrupt() builtin.txt /*interrupt()*
|
||||
intro intro.txt /*intro*
|
||||
intro.txt intro.txt /*intro.txt*
|
||||
@ -8131,6 +8167,7 @@ keypad-plus intro.txt /*keypad-plus*
|
||||
keypad-point intro.txt /*keypad-point*
|
||||
keys() builtin.txt /*keys()*
|
||||
keytrans() builtin.txt /*keytrans()*
|
||||
kitty-keyboard-protocol map.txt /*kitty-keyboard-protocol*
|
||||
known-bugs todo.txt /*known-bugs*
|
||||
l motion.txt /*l*
|
||||
l: eval.txt /*l:*
|
||||
@ -8408,6 +8445,7 @@ 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*
|
||||
mouse-scrolling-off scroll.txt /*mouse-scrolling-off*
|
||||
mouse-swap-buttons term.txt /*mouse-swap-buttons*
|
||||
mouse-using term.txt /*mouse-using*
|
||||
mouse_col-variable eval.txt /*mouse_col-variable*
|
||||
@ -9027,6 +9065,7 @@ popup_dialog() popup.txt /*popup_dialog()*
|
||||
popup_dialog-example popup.txt /*popup_dialog-example*
|
||||
popup_filter_menu() popup.txt /*popup_filter_menu()*
|
||||
popup_filter_yesno() popup.txt /*popup_filter_yesno()*
|
||||
popup_findecho() popup.txt /*popup_findecho()*
|
||||
popup_findinfo() popup.txt /*popup_findinfo()*
|
||||
popup_findpreview() popup.txt /*popup_findpreview()*
|
||||
popup_getoptions() popup.txt /*popup_getoptions()*
|
||||
@ -9173,6 +9212,7 @@ pythonx if_pyth.txt /*pythonx*
|
||||
pythonx-directory if_pyth.txt /*pythonx-directory*
|
||||
pyxeval() builtin.txt /*pyxeval()*
|
||||
q repeat.txt /*q*
|
||||
q-args-example map.txt /*q-args-example*
|
||||
q/ cmdline.txt /*q\/*
|
||||
q: cmdline.txt /*q:*
|
||||
q? cmdline.txt /*q?*
|
||||
@ -10157,6 +10197,7 @@ termdebug_popup terminal.txt /*termdebug_popup*
|
||||
termdebug_shortcuts terminal.txt /*termdebug_shortcuts*
|
||||
termdebug_use_prompt terminal.txt /*termdebug_use_prompt*
|
||||
termdebug_wide terminal.txt /*termdebug_wide*
|
||||
termdebug_winbar terminal.txt /*termdebug_winbar*
|
||||
terminal terminal.txt /*terminal*
|
||||
terminal-api terminal.txt /*terminal-api*
|
||||
terminal-autoshelldir terminal.txt /*terminal-autoshelldir*
|
||||
@ -10829,6 +10870,7 @@ whitespace pattern.txt /*whitespace*
|
||||
wildcard editing.txt /*wildcard*
|
||||
wildcards editing.txt /*wildcards*
|
||||
wildmenumode() builtin.txt /*wildmenumode()*
|
||||
win-scrolled-resized windows.txt /*win-scrolled-resized*
|
||||
win16 os_win32.txt /*win16*
|
||||
win32 os_win32.txt /*win32*
|
||||
win32-!start gui_w32.txt /*win32-!start*
|
||||
|
@ -1,4 +1,4 @@
|
||||
*term.txt* For Vim version 9.0. Last change: 2022 Apr 23
|
||||
*term.txt* For Vim version 9.0. Last change: 2022 Oct 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -90,6 +90,11 @@ Note: When 't_ti' is not empty, Vim assumes that it causes switching to the
|
||||
alternate screen. This may slightly change what happens when executing a
|
||||
shell command or exiting Vim. To avoid this use 't_TI' and 't_TE'.
|
||||
|
||||
Vim will try to detect what keyboard protocol the terminal is using with the
|
||||
't_RK' termcap entry. This is sent after 't_TI', but only when there is no
|
||||
work to do (no typeahead and no pending commands). That is to avoid the
|
||||
response to end up in a shell command or arrive after Vim exits.
|
||||
|
||||
*xterm-bracketed-paste*
|
||||
When the 't_BE' option is set then 't_BE' will be sent to the
|
||||
terminal when entering "raw" mode and 't_BD' when leaving "raw" mode. The
|
||||
@ -388,6 +393,8 @@ Added by Vim (there are no standard codes for these):
|
||||
xterm and other terminal emulators) The
|
||||
response is stored in |v:termresponse| |xterm-8bit|
|
||||
|'ttymouse'| |xterm-codes|
|
||||
t_RK request terminal keyboard protocol state; *t_RK* *'t_RK'*
|
||||
sent after |t_TI|
|
||||
t_u7 request cursor position (for xterm) *t_u7* *'t_u7'*
|
||||
see |'ambiwidth'|
|
||||
The response is stored in |v:termu7resp|
|
||||
@ -569,7 +576,7 @@ anymore.
|
||||
Vim supports using true colors in the terminal (taken from |highlight-guifg|
|
||||
and |highlight-guibg|), given that the terminal supports this. To make this
|
||||
work the 'termguicolors' option needs to be set.
|
||||
See https://gist.github.com/XVilka/8346728 for a list of terminals that
|
||||
See https://github.com/termstandard/colors for a list of terminals that
|
||||
support true colors.
|
||||
|
||||
Sometimes setting 'termguicolors' is not enough and one has to set the |t_8f|
|
||||
@ -768,8 +775,9 @@ See the "Options" chapter |options|.
|
||||
|
||||
If your terminal does not support a scrolling region, but it does support
|
||||
insert/delete line commands, scrolling with multiple windows may make the
|
||||
lines jump up and down. If you don't want this set the 'ttyfast' option.
|
||||
This will redraw the window instead of scroll it.
|
||||
lines jump up and down. This would happen if the 'ttyfast' option has been
|
||||
reset. Check that with: >
|
||||
verbose set ttyfast?
|
||||
|
||||
If your terminal scrolls very slowly, but redrawing is not slow, set the
|
||||
'ttyscroll' option to a small number, e.g., 3. This will make Vim redraw the
|
||||
@ -1005,6 +1013,8 @@ and then drag) will result in whole words to be selected. This continues
|
||||
until the button is released, at which point the selection is per character
|
||||
again.
|
||||
|
||||
For scrolling with the mouse see |scroll-mouse-wheel|.
|
||||
|
||||
*gpm-mouse*
|
||||
The GPM mouse is only supported when the |+mouse_gpm| feature was enabled at
|
||||
compile time. The GPM mouse driver (Linux console) does not support quadruple
|
||||
|
@ -1,4 +1,4 @@
|
||||
*terminal.txt* For Vim version 9.0. Last change: 2022 Jun 09
|
||||
*terminal.txt* For Vim version 9.0. Last change: 2022 Nov 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -288,9 +288,8 @@ way to kill or interrupt the job. For example: >
|
||||
|
||||
So long as the job is running the window behaves like it contains a modified
|
||||
buffer. Trying to close the window with `CTRL-W :quit` fails. When using
|
||||
`CTRL-W :quit!` the job is ended. The text in the window is lost. The buffer
|
||||
still exists, but getting it in a window with `:buffer` will show an empty
|
||||
buffer.
|
||||
`CTRL-W :quit!` the job is ended. The text in the window is lost, the buffer
|
||||
is deleted. With `CTRL-W :bunload!` the buffer remains but will be empty.
|
||||
|
||||
Trying to close the window with `CTRL-W :close` also fails. Using
|
||||
`CTRL-W :close!` will close the window and make the buffer hidden.
|
||||
@ -470,7 +469,6 @@ ConPTY problems have been fixed "winpty" will be preferred.
|
||||
Environment variables are used to pass information to the running job:
|
||||
VIM_SERVERNAME v:servername
|
||||
|
||||
|
||||
==============================================================================
|
||||
2. Terminal functions *terminal-function-details*
|
||||
|
||||
@ -1130,7 +1128,6 @@ reference: >
|
||||
|
||||
Creating a screen dump ~
|
||||
*terminal-screendump*
|
||||
|
||||
To create the screen dump, run Vim (or any other program) in a terminal and
|
||||
make it show the desired state. Then use the |term_dumpwrite()| function to
|
||||
create a screen dump file. For example: >
|
||||
@ -1154,7 +1151,6 @@ If there are differences then v:errors will contain the error message.
|
||||
|
||||
Comparing screen dumps ~
|
||||
*terminal-diffscreendump*
|
||||
|
||||
|assert_equalfile()| does not make it easy to see what is different.
|
||||
To spot the problem use |term_dumpdiff()|: >
|
||||
call term_dumpdiff("mysyntax.dump", "test.dump")
|
||||
@ -1351,6 +1347,7 @@ If 'mouse' is set the plugin adds a window toolbar with these entries:
|
||||
Eval `:Evaluate`
|
||||
This way you can use the mouse to perform the most common commands. You need
|
||||
to have the 'mouse' option set to enable mouse clicks.
|
||||
See |termdebug_winbar| for configuring this toolbar.
|
||||
*:Winbar*
|
||||
You can add the window toolbar in other windows you open with: >
|
||||
:Winbar
|
||||
@ -1416,6 +1413,20 @@ TermdebugStopPost After debugging has ended, gdb-related windows
|
||||
the state before the debugging was restored.
|
||||
|
||||
|
||||
Customizing ~
|
||||
*termdebug-customizing* *g:termdebug_config*
|
||||
In the past several global variables were used for configuration. These are
|
||||
deprecated and using the g:termdebug_config dictionary is preferred. When
|
||||
g:termdebug_config exists the other global variables will NOT be used.
|
||||
The recommended way is to start with an empty dictionary: >
|
||||
let g:termdebug_config = {}
|
||||
|
||||
Then you can add entries to the dictionary as mentioned below. The
|
||||
deprecated global variable names are mentioned for completeness. If you are
|
||||
switching over to using g:termdebug_config you can find the old variable name
|
||||
and take over the value, then delete the deprecated variable.
|
||||
|
||||
|
||||
Prompt mode ~
|
||||
*termdebug-prompt*
|
||||
When the |+terminal| feature is not supported and on MS-Windows, gdb will run
|
||||
@ -1431,13 +1442,13 @@ in a buffer with 'buftype' set to "prompt". This works slightly differently:
|
||||
*termdebug_use_prompt*
|
||||
Prompt mode can be used even when the |+terminal| feature is present with: >
|
||||
let g:termdebug_config['use_prompt'] = 1
|
||||
Or if there is no g:termdebug_config: >
|
||||
If there is no g:termdebug_config you can use: >
|
||||
let g:termdebug_use_prompt = 1
|
||||
<
|
||||
*termdebug_map_K*
|
||||
The K key is normally mapped to :Evaluate. If you do not want this use: >
|
||||
let g:termdebug_config['map_K'] = 0
|
||||
Or if there is no g:termdebug_config: >
|
||||
If there is no g:termdebug_config you can use: >
|
||||
let g:termdebug_map_K = 0
|
||||
<
|
||||
*termdebug_disasm_window*
|
||||
@ -1445,7 +1456,7 @@ If you want the Asm window shown by default, set the flag to 1.
|
||||
the "disasm_window_height" entry can be used to set the window height: >
|
||||
let g:termdebug_config['disasm_window'] = 1
|
||||
let g:termdebug_config['disasm_window_height'] = 15
|
||||
or, if there is no g:termdebug_config: >
|
||||
If there is no g:termdebug_config you can use: >
|
||||
let g:termdebug_disasm_window = 15
|
||||
Any value greater than 1 will set the Asm window height to that value.
|
||||
|
||||
@ -1463,25 +1474,18 @@ interrupt the running program. But after using the MI command
|
||||
communication channel.
|
||||
|
||||
|
||||
Customizing ~
|
||||
*termdebug-customizing* *g:termdebug_config*
|
||||
In the past several global variables were used for configuration. These are
|
||||
deprecated, using the g:termdebug_config dictionary is preferred. When
|
||||
g:termdebug_config exists the other global variables will not be used.
|
||||
|
||||
|
||||
GDB command ~
|
||||
*g:termdebugger*
|
||||
To change the name of the gdb command, set "debugger" entry in
|
||||
g:termdebug_config or the "g:termdebugger" variable before invoking
|
||||
`:Termdebug`: >
|
||||
let g:termdebug_config['command'] = "mygdb"
|
||||
Or if there is no g:termdebug_config: >
|
||||
If there is no g:termdebug_config you can use: >
|
||||
let g:termdebugger = "mygdb"
|
||||
|
||||
If the command needs an argument use a List: >
|
||||
let g:termdebug_config['command'] = ['rr', 'replay', '--']
|
||||
Or if there is no g:termdebug_config: >
|
||||
If there is no g:termdebug_config you can use: >
|
||||
let g:termdebugger = ['rr', 'replay', '--']
|
||||
|
||||
Several arguments will be added to make gdb work well for the debugger.
|
||||
@ -1502,7 +1506,7 @@ Then your gdb is too old.
|
||||
|
||||
|
||||
Colors ~
|
||||
*hl-debugPC* *hl-debugBreakpoint*
|
||||
*hl-debugPC* *hl-debugBreakpoint*
|
||||
The color of the signs can be adjusted with these highlight groups:
|
||||
- debugPC the current position
|
||||
- debugBreakpoint a breakpoint
|
||||
@ -1518,7 +1522,6 @@ When 'background' is "dark":
|
||||
|
||||
Shortcuts ~
|
||||
*termdebug_shortcuts*
|
||||
|
||||
You can define your own shortcuts (mappings) to control gdb, that can work in
|
||||
any window, using the TermDebugSendCommand() function. Example: >
|
||||
map ,w :call TermDebugSendCommand('where')<CR>
|
||||
@ -1527,7 +1530,6 @@ The argument is the gdb command.
|
||||
|
||||
Popup menu ~
|
||||
*termdebug_popup*
|
||||
|
||||
By default the Termdebug plugin sets 'mousemodel' to "popup_setpos" and adds
|
||||
these entries to the popup menu:
|
||||
Set breakpoint `:Break`
|
||||
@ -1535,17 +1537,23 @@ these entries to the popup menu:
|
||||
Evaluate `:Evaluate`
|
||||
If you don't want this then disable it with: >
|
||||
let g:termdebug_config['popup'] = 0
|
||||
or if there is no g:termdebug_config: >
|
||||
If there is no g:termdebug_config you can use: >
|
||||
let g:termdebug_popup = 0
|
||||
|
||||
|
||||
Window toolbar ~
|
||||
*termdebug_winbar*
|
||||
By default the Termdebug plugin creates a window toolbar if the mouse is
|
||||
enabled (see |:Winbar|). If you don't want this then disable it with: >
|
||||
let g:termdebug_config['winbar'] = 0
|
||||
|
||||
|
||||
Vim window width ~
|
||||
*termdebug_wide*
|
||||
|
||||
To change the width of the Vim window when debugging starts and use a vertical
|
||||
split: >
|
||||
let g:termdebug_config['wide'] = 163
|
||||
Or if there is no g:termdebug_config: >
|
||||
If there is no g:termdebug_config you can use: >
|
||||
let g:termdebug_wide = 163
|
||||
|
||||
This will set 'columns' to 163 when `:Termdebug` is used. The value is
|
||||
|
@ -1,4 +1,4 @@
|
||||
*textprop.txt* For Vim version 9.0. Last change: 2022 Sep 17
|
||||
*textprop.txt* For Vim version 9.0. Last change: 2022 Nov 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -143,10 +143,12 @@ prop_add({lnum}, {col}, {props})
|
||||
automatically to a negative number; otherwise
|
||||
zero is used
|
||||
*E1305*
|
||||
text text to be displayed before {col}, or after the
|
||||
line if {col} is zero; prepend and/or append
|
||||
spaces for padding with highlighting; cannot
|
||||
be used with "length", "end_lnum" and "end_col"
|
||||
text text to be displayed before {col}, or
|
||||
above/below the line if {col} is zero; prepend
|
||||
and/or append spaces for padding with
|
||||
highlighting; cannot be used with "length",
|
||||
"end_lnum" and "end_col"
|
||||
See |virtual-text| for more information.
|
||||
*E1294*
|
||||
text_align when "text" is present and {col} is zero;
|
||||
specifies where to display the text:
|
||||
@ -171,6 +173,9 @@ prop_add({lnum}, {col}, {props})
|
||||
wrap wrap the text to the next line
|
||||
truncate truncate the text to make it fit
|
||||
When omitted "truncate" is used.
|
||||
Note that this applies to the individual text
|
||||
property, the 'wrap' option sets the overall
|
||||
behavior
|
||||
All fields except "type" are optional.
|
||||
|
||||
It is an error when both "length" and "end_lnum" or "end_col"
|
||||
@ -191,12 +196,23 @@ prop_add({lnum}, {col}, {props})
|
||||
If not found an error is given.
|
||||
*virtual-text*
|
||||
When "text" is used and the column is non-zero then this text
|
||||
will be displayed at the start location of the text property
|
||||
after the text. The text of the buffer line will be shifted
|
||||
to make room. This is called "virtual text".
|
||||
When the column is zero the virtual text will appear after the
|
||||
buffer text. The "text_align" and "text_wrap" arguments
|
||||
determine how it is displayed.
|
||||
will be displayed at the specified start location of the text
|
||||
property. The text of the buffer line will be shifted to make
|
||||
room. This is called "virtual text".
|
||||
When the column is zero the virtual text will appear above,
|
||||
after or below the buffer text. The "text_align" and
|
||||
"text_wrap" arguments determine how it is displayed.
|
||||
To separate the virtual text from the buffer text prepend
|
||||
and/or append spaces to the "text" field or use the
|
||||
"text_padding_left" value.
|
||||
|
||||
Make sure to use a highlight that makes clear to the user that
|
||||
this is virtual text, otherwise it will be very confusing that
|
||||
the text cannot be edited. When using "above" you need to
|
||||
make clear this text belongs to the text line below it, when
|
||||
using "below" you need to make sure it belongs to the text
|
||||
line above it.
|
||||
|
||||
The text will be displayed but it is not part of the actual
|
||||
buffer line, the cursor cannot be placed on it. A mouse click
|
||||
in the text will move the cursor to the first character after
|
||||
@ -208,17 +224,12 @@ prop_add({lnum}, {col}, {props})
|
||||
property with "text" has been added for a buffer then using a
|
||||
negative "id" for any other property will give an error:
|
||||
*E1293*
|
||||
Make sure to use a highlight that makes clear to the user that
|
||||
this is virtual text, otherwise it will be very confusing that
|
||||
the text cannot be edited.
|
||||
To separate the virtual text from the buffer text prepend
|
||||
and/or append spaces to the "text" field.
|
||||
|
||||
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}], ...])
|
||||
prop_add_list({props}, [{item}, ...])
|
||||
Similar to prop_add(), but attaches a text property at
|
||||
multiple positions in a buffer.
|
||||
|
||||
@ -230,12 +241,18 @@ prop_add_list({props}, [[{lnum}, {col}, {end-lnum}, {end-col}], ...])
|
||||
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.
|
||||
The second argument is a List of items, where each {item} is a
|
||||
list that specifies the starting and ending position of the
|
||||
text: [{lnum}, {col}, {end-lnum}, {end-col}]
|
||||
or: [{lnum}, {col}, {end-lnum}, {end-col}, {id}]
|
||||
|
||||
The first two items {lnum} and {col} specify the starting
|
||||
position of the text where the property will be attached.
|
||||
The next two items {end-lnum} and {end-col} specify the
|
||||
position just after the text.
|
||||
An optional fifth item {id} can be used to give a different ID
|
||||
to a property. When omitted the ID from {props} is used,
|
||||
falling back to zero if none are present.
|
||||
|
||||
It is not possible to add a text property with a "text" field
|
||||
here.
|
||||
|
@ -539,7 +539,7 @@ the current window, try this custom `:HelpCurwin` command:
|
||||
>
|
||||
command -bar -nargs=? -complete=help HelpCurwin execute s:HelpCurwin(<q-args>)
|
||||
let s:did_open_help = v:false
|
||||
|
||||
|
||||
function s:HelpCurwin(subject) abort
|
||||
let mods = 'silent noautocmd keepalt'
|
||||
if !s:did_open_help
|
||||
|
@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 9.0. Last change: 2022 Sep 18
|
||||
*todo.txt* For Vim version 9.0. Last change: 2022 Nov 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -38,83 +38,72 @@ browser use: https://github.com/vim/vim/issues/1234
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Closure created in for loop can use loop variable? #11094
|
||||
Nested loops do not work correctly yet.
|
||||
Would need to save vars for each block separately.
|
||||
Keyboard protocol (also see below):
|
||||
- Use the kitty_protocol_state value, similar to seenModifyOtherKeys
|
||||
- When kitty_protocol_state is set then reset seenModifyOtherKeys.
|
||||
Do not set seenModifyOtherKeys for kitty-protocol sequences in
|
||||
handle_key_with_modifier().
|
||||
|
||||
Virtual text:
|
||||
- Virtual text below: padding is highlighted when 'number' is set #11138
|
||||
- Virtual text above: do not highlight until end of line? #11138
|
||||
- 'number' should be below "above" virtual text? Might be difficult to
|
||||
implement.
|
||||
- Add highlight for the gap before/after virtual text above/below?
|
||||
- option to hide virtual text?
|
||||
virtual text issues:
|
||||
- #11520 `below` cannot be placed below empty lines
|
||||
James Alvarado looks into it
|
||||
- virtual text `below` highlighted incorrectly when `cursorline` enabled
|
||||
(Issue #11588)
|
||||
|
||||
Fail with valgrind: test_edit
|
||||
Found errors in Test_edit_insertmode_ex_edit():
|
||||
Run 1, 01:19:51 - 01:20:01:
|
||||
command line..script /home/mool/vim/vim90/src/testdir/runtest.vim[469]..function RunTheTest[44]..Test_edit_insertmode_ex_edit[13]..WaitForAssert[2]..<SNR>6_WaitForCommon[11]..<lambda>4 line 1: Pattern '^-- INSERT --\\s*$' does not match ''
|
||||
'smoothscroll':
|
||||
- CTRL-E and gj in long line with 'scrolloff' 5 not working well yet.
|
||||
- computing 'scrolloff' position row use w_skipcol
|
||||
- Check this list: https://github.com/vim/vim/pulls?q=is%3Apr+is%3Aopen+smoothscroll+author%3Aychin
|
||||
- Long line spanning multiple pages: After a few CTRL-E then gj causes a
|
||||
scroll. (Ernie Rael, 18 Nov) Also pressing space or "l"
|
||||
|
||||
From test_global
|
||||
Found errors in Test_interrupt_global():
|
||||
Run 1, 02:16:22 - 02:16:27:
|
||||
command line..script /home/mool/vim/vim90/src/testdir/runtest.vim[469]..function RunTheTest[44]..Test_interrupt_global[13]..WaitForAssert[2]..<SNR>7_WaitForCommon[11]..<lambda>20 line 1: Pattern 'Interrupted' does not match 'Type :qa! and press...l changes and exit Vim 1,1 All'
|
||||
command line..script /home/mool/vim/vim90/src/testdir/runtest.vim[469]..function RunTheTest[44]..Test_interrupt_global[20]..WaitForAssert[2]..<SNR>7_WaitForCommon[11]..<lambda>21 line 1: Pattern 'Interrupted' does not match 'Entering Ex mode. Type "visual" to go to Normal mode.'
|
||||
|
||||
test_terminal3:
|
||||
Conditional jump or move depends on uninitialised value(s)
|
||||
==2819005== at 0x2E9134: jump_to_mouse (mouse.c:2015)
|
||||
==2819005== by 0x2E69E6: do_mouse (mouse.c:702)
|
||||
==2819005== by 0x2E95C2: nv_mouse (mouse.c:2166)
|
||||
Upcoming larger works:
|
||||
- Make spell checking work with recent .dic/.aff files, e.g. French. #4916
|
||||
Make Vim understand the format somehow? Search for "spell" below.
|
||||
Make sure suggestions are speedy, also with composed words (German).
|
||||
- Discuss alternatives for using other grammars (treesitter, TextMate).
|
||||
- Possibly conversion to Vim syntax rules.
|
||||
- Other mechanism than group and cluster to nest syntax items, to be used
|
||||
for grammars.
|
||||
- Possibly keeping the parsed syntax tree and incremental updates.
|
||||
- Make clear how it relates to LSP.
|
||||
- example plugin: https://github.com/uga-rosa/dps-vsctm.vim
|
||||
- Better support for detecting terminal emulator behavior (esp. special key
|
||||
handling) and taking away the need for users to tweak their config.
|
||||
> In the table of names pointing to the list of entries, with an additional
|
||||
one. So that "xterm-kitty" can first load "xterm" and then add "kitty"
|
||||
entries.
|
||||
> Add an "expectKittyEsc" flag (Esc is always sent as a sequence, not one
|
||||
character) and always wait after an Esc for more to come, don't leave
|
||||
Insert mode.
|
||||
-> Request code for Esc after outputting t_KI, use "k!" value.
|
||||
Use response to set "expectKittyEsc".
|
||||
-> Add ESC[>1uESC[?u to t_KI, parse flag response.
|
||||
-> May also send t_RV and delay starting a shell command until the
|
||||
response has been seen, to make sure the other responses don't get read
|
||||
by a shell command.
|
||||
> Can we use the req_more_codes_from_term() mechanism with more terminals?
|
||||
Should we repeat it after executing a shell command?
|
||||
Can also add this to the 'keyprotocol' option: "mok2+tcap"
|
||||
|
||||
option_set(): "get a bit too much"
|
||||
- refactor to separate function
|
||||
- check for empty result
|
||||
|
||||
Use :defer command:
|
||||
- Use "D" flag of writefile() and mkdir() in tests.
|
||||
(testdir/test_c*.vim done)
|
||||
|
||||
When using :echomessage do use msg_row and msg_col, but save and restore.
|
||||
How to test any failure? If nothing fails perhaps it's OK alrady.
|
||||
|
||||
New Vim indent script: #11079 Not done yet.
|
||||
|
||||
Further Vim9 improvements, possibly after launch:
|
||||
- Use Vim9 for more runtime files.
|
||||
- Check performance with callgrind and kcachegrind.
|
||||
getline()/substitute()/setline() in #5632
|
||||
- Better implementation for partial and tests for that.
|
||||
- when using "const" mark the variable type as const with TTFLAG_CONST, so
|
||||
that an error is given at compile time when trying to change it. E.g. for a
|
||||
const list and trying to call add().
|
||||
- Compile options that are an expression, e.g. "expr:" in 'spellsuggest',
|
||||
'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
|
||||
- implement :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.
|
||||
- implement :class and :interface: See |vim9-classes| #11544
|
||||
- Inline call to map() and filter(), better type checking.
|
||||
- Make accessing varargs faster: arg[expr]
|
||||
EVAL expr
|
||||
LOADVARARG (varargs idx)
|
||||
- When evaluating constants for script variables, some functions could work:
|
||||
has(featureName), len(someString)
|
||||
- Implement as part of an expression: ++expr, --expr, expr++, expr--.
|
||||
|
||||
Popup windows:
|
||||
- Preview popup not properly updated when it overlaps with completion menu.
|
||||
(Yegappan Lakshmanan, 2021 May 22)
|
||||
- Scrollbar thumb sometimes not visible #10492
|
||||
- Add a function to redraw a specific popup window. Esp. to be used when
|
||||
editing the command line, when screen updating doesn't happen. (Shougo)
|
||||
#10210 Example that shows the need on the issue.
|
||||
Probably need to update all popup windows (they may overlap)
|
||||
If the display is scrolled need to redraw everything later.
|
||||
- Add a flag to make a popup window focusable?
|
||||
CTRL-W P cycle over any preview window or focusable popup, end up back in
|
||||
current window.
|
||||
@ -141,8 +130,6 @@ Popup windows:
|
||||
- put popup menu also in popup_mask?
|
||||
- Match does not have right BG color if line length equals popup width.
|
||||
(#5658)
|
||||
- Any other commands to disable in a popup window?
|
||||
Use ERROR_IF_POPUP_WINDOW for these.
|
||||
- Figure out the size and position better if wrapping inserts indent
|
||||
|
||||
'incsearch' with :s:
|
||||
@ -218,8 +205,13 @@ Terminal emulator window:
|
||||
- When 'encoding' is not utf-8, or the job is using another encoding, setup
|
||||
conversions.
|
||||
|
||||
Crash when a variable is removed while listing variables (Issue #11435)
|
||||
|
||||
Autoconf: must use autoconf 2.69, later version generates lots of warnings
|
||||
- try using autoconf 2.71 and fix all "obsolete" warnings
|
||||
- try using autoconf 2.71 and fix all "obsolete" warnings #11322
|
||||
|
||||
Problem with Visual highlight when 'linebreak' and 'showbreak' are set.
|
||||
#11272
|
||||
|
||||
Can deref_func_name() and deref_function_name() be merged?
|
||||
|
||||
@ -228,34 +220,71 @@ reduced?
|
||||
|
||||
Add BufDeletePost. #11041
|
||||
|
||||
Add a string to the 'display' option ("smoothscroll" ?) to make CTRL-E and
|
||||
CTRL-Y scroll one screen line, also if this means the first line doesn't start
|
||||
with the first character (like what happens with a last line that doesn't
|
||||
fit). Display "<<<" at the start of the first visible line (like "@@@" is
|
||||
displayed in the last line). (Arseny Nasokin, #5154)
|
||||
Neovim PR: https://github.com/neovim/neovim/pull/11014
|
||||
Add winid arg to col() and charcol() #11466 (request #11461)
|
||||
|
||||
Make the default for 'ttyfast' on, checking $TERM names doesn't make much
|
||||
sense right now, most terminals are fast. #11549
|
||||
|
||||
Can we make 'noendofline' and 'endoffile' visible? Should show by default,
|
||||
since it's an unusual situation.
|
||||
- Show 'noendofline' when it would be used for writing ('fileformat' "dos")
|
||||
with an upside down exclamation mark? NonText highlighting.
|
||||
- Show 'endoffile' when it would be used for writing ('fileformat' "dos") with
|
||||
"CTRL-Z", NonText highlighting.
|
||||
- Add 'fillchars' items to change this, default behavior like:
|
||||
noeol:¡
|
||||
eof:CTRL-Z
|
||||
|
||||
Test property disappears when using CR twice in a row. OK when some text was
|
||||
entered. (#11151)
|
||||
|
||||
Add 'keywordprg' to various ftplugin files:
|
||||
https://github.com/vim/vim/pull/5566
|
||||
|
||||
Add some kind of ":whathappend" command and functions to make visible what the
|
||||
last few typed keys and executed commands are. To be used when the user
|
||||
wonders what went wrong.
|
||||
- typed keys - Normal mode command - like what is recorded in a register and
|
||||
displayed by 'showcmd'.
|
||||
- executed command lines
|
||||
- with more verbosity: what scripts/functions/autocommands were executed
|
||||
|
||||
NFA regexp does not handle composing characters well: #10286
|
||||
[ɔ̃] matches both ɔ and ɔ̃
|
||||
\(ɔ\|ɔ̃\) matches ɔ and not ɔ̃
|
||||
|
||||
Is there a way to make 'autowriteall' make a clean exit when the xterm is
|
||||
closed? (Dennis Nazic says files are preserved, okt 28). Perhaps handle TERM
|
||||
like HUP?
|
||||
|
||||
Improvement in terminal configuration mess: Request the terminfo entry from
|
||||
the terminal itself. The $TERM value then is only relevant for whether this
|
||||
feature is supported or not. Replaces the xterm mechanism to request each
|
||||
entry separately. #6609
|
||||
Multiplexers (screen, tmux) can request it to the underlying terminal, and
|
||||
pass it on with modifications.
|
||||
How to get all the text quickly (also over ssh)? Can we use a side channel?
|
||||
|
||||
Horizontal mouse scroll only works when compiled with GUI? #11374
|
||||
|
||||
Using "A" and "o" in manually created fold (in empty buffer) does not behave
|
||||
consistenly (James McCoy, #10698)
|
||||
|
||||
In a timer callback, when using ":echo" and then input() the message is
|
||||
overwritten. Could use ":echowin" and call redraw_cmd() in get_user_input().
|
||||
#11299
|
||||
|
||||
Syntax include problem: #11277. Related to Patch 8.2.2761
|
||||
|
||||
Add str2blob() and blob2str() ? #4049
|
||||
|
||||
To avoid flicker: add an option that when a screen clear is requested, instead
|
||||
of clearing it draws everything and uses "clear to end of line" for every line.
|
||||
Resetting 't_ut' already causes this?
|
||||
|
||||
When scheme can't be found by configure there is no clear "not found" message:
|
||||
configure:5769: checking MzScheme install prefix
|
||||
configure:5781: result:
|
||||
configure:5781: result:
|
||||
|
||||
Can "CSI nr X" be used instead of outputting spaces? Is it faster? #8002
|
||||
|
||||
@ -282,11 +311,10 @@ MS-Windows: did path modifier :p:8 stop working? #8600
|
||||
Version of getchar() that does not move the cursor - #10603 Use a separate
|
||||
argument for the new flag.
|
||||
|
||||
Add "lastline" entry to 'fillchars' to specify a character instead of '@'.
|
||||
#10963
|
||||
|
||||
test_arglist func Test_all_not_allowed_from_cmdwin() hangs on MS-Windows.
|
||||
|
||||
Can we add highlighting to ":echowindow"?
|
||||
|
||||
Information for a specific terminal (e.g. gnome, tmux, konsole, alacritty) is
|
||||
spread out. Make a section with copy/paste examples of script and pointers to
|
||||
more information.
|
||||
@ -312,7 +340,9 @@ Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
|
||||
Also, z= in German on a long word can take a very long time, but CTRL-C to
|
||||
interrupt does not work. Where to add ui_breakcheck()?
|
||||
New English spell files also have very slow suggestions.
|
||||
French spell files don't work correctly. #4916
|
||||
|
||||
When 'spelloptions' is "camel" then zG doesn't work on some words.
|
||||
(Gary Johnson, 17 Oct 2022)
|
||||
|
||||
Make "g>" and "g<" in Visual mode move the text right or left.
|
||||
Also for a block selection. #8558
|
||||
@ -346,6 +376,9 @@ when redirecting to a local variable (function or script) storing the value
|
||||
won't work. At least give an error. Is there a way to make it work?
|
||||
#10616
|
||||
|
||||
Completion for ":runtime" should show valid values, not what's in the current
|
||||
directory. (#11447)
|
||||
|
||||
Add an option to start_timer() to return from the input loop with K_IGNORE.
|
||||
This is useful e.g. when a popup was created that disables mappings, we need
|
||||
to return from vgetc() to make this happen. #7011
|
||||
@ -387,6 +420,7 @@ Is this the right solution? Need to cleanup langmap behavior:
|
||||
So that replaying the register doesn't use keymap/langmap and still does the
|
||||
same thing.
|
||||
Also see #737: langmap not applied to replaying recording.
|
||||
Perhaps also related: #5147
|
||||
|
||||
Matchparen doesn't remove highlight after undo. (#7054)
|
||||
Is OK when syntax HL is active.
|
||||
@ -427,6 +461,8 @@ and/or "sandbox" are set.
|
||||
|
||||
Problem with auto-formatting - inserting space and putting cursor before added
|
||||
character. (#6154)
|
||||
Auto-formatting comments joins a following non-comment line when the comment
|
||||
ends in a space. (Adam Levy, 18 Oct 2022)
|
||||
|
||||
When 'lazyredraw' is set sometimes the title is not updated.
|
||||
(Jason Franklin, 2020 Feb 3) Looks like a race condition.
|
||||
@ -497,8 +533,6 @@ find them. (Max Kukartsev, #6218)
|
||||
|
||||
Enable 'termbidi' if $VTE_VERSION >= 5703 ?
|
||||
|
||||
Sound: support on Mac? Or does libcanberra work there?
|
||||
|
||||
Python 3.8 doesn't work. (Antonios Hadjigeorgalis, #5509)
|
||||
|
||||
"--cleanFOO" does not result in an error. (#5537)
|
||||
@ -648,6 +682,11 @@ negative. (see #4326)
|
||||
tab page. (Ingo Karkat, #4324)
|
||||
:call settabwinvar(1, 1, '&cmdheight', 2) also doesn't work well.
|
||||
|
||||
When opening a file, allow for specifying the initial column position:
|
||||
vim +12:5 file.txt line 12 column 5
|
||||
:edit +12:5 file.txt
|
||||
Should probably use the column as the character index.
|
||||
|
||||
This modeline throws unexpected errors: (#4165)
|
||||
vim: syn=nosyntax
|
||||
|
||||
@ -704,9 +743,6 @@ when possible. (Dylan Lloyd, #3973)
|
||||
Make ":interactive !cmd" stop termcap mode, also when used in an autocommand.
|
||||
(#3692)
|
||||
|
||||
matchaddpos() gets slow with many matches. Proposal by Rick Howe, 2018 Jul
|
||||
19.
|
||||
|
||||
Add something like 'fillchars' local to window, but allow for specifying a
|
||||
highlight name. Esp. for the statusline.
|
||||
And "extends" and "precedes" are also useful without 'list' set. Also in
|
||||
@ -3124,9 +3160,6 @@ Macintosh:
|
||||
line is too short. Add a word in 'scrollopt' to allow moving the cursor
|
||||
to longer line that is visible. A similar thing is done for the GUI when
|
||||
using the horizontal scrollbar.
|
||||
7 VisVim can only open one file. Hard to solve: each opened file is passed
|
||||
with a separate invocation, would need to use timestamps to know the
|
||||
invocations belong together.
|
||||
8 When giving a ":bwipeout" command a file-changed dialog may popup for this
|
||||
buffer, which is pointless. (Mike Williams)
|
||||
8 On MS-Windows ":make" doesn't show output while it is working. Use the
|
||||
@ -4525,8 +4558,11 @@ Autocommands:
|
||||
BufChangePre, BufChangePost and RevertBuf. (Shah)
|
||||
ViewChanged - triggered when the text scrolls and when the window size
|
||||
changes.
|
||||
WinResized - After a window has been resized
|
||||
WinClose - Just before closing a window
|
||||
QuickfixList - when any entry in the current list changes or another
|
||||
list is selected
|
||||
QuickfixPosition - when selecting another entry in the current quickfix
|
||||
list
|
||||
|
||||
- Write the file now and then ('autosave'):
|
||||
*'autosave'* *'as'* *'noautosave'* *'noas'*
|
||||
'autosave' 'as' number (default 0)
|
||||
|
@ -1,4 +1,4 @@
|
||||
*userfunc.txt* For Vim version 9.0. Last change: 2022 Sep 09
|
||||
*userfunc.txt* For Vim version 9.0. Last change: 2022 Nov 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -8,8 +8,8 @@ Defining and using functions.
|
||||
|
||||
This is introduced in section |41.7| of the user manual.
|
||||
|
||||
1. Defining a fuction |define-function|
|
||||
2. Calling a fuction |:call|
|
||||
1. Defining a function |define-function|
|
||||
2. Calling a function |:call|
|
||||
3. Cleaning up in a function |:defer|
|
||||
4. Automatically loading functions |autoload-functions|
|
||||
|
||||
@ -405,7 +405,7 @@ function to abort. `:defer` can be used to avoid that: >
|
||||
call Handle('Outfile')
|
||||
endfunc
|
||||
|
||||
Note that deleting "Outfile" is scheduled before calling system(), since it
|
||||
Note that deleting "Outfile" is scheduled before calling `system()`, since it
|
||||
can be created even when `system()` fails.
|
||||
|
||||
The deferred functions are called in reverse order, the last one added is
|
||||
@ -482,6 +482,10 @@ then define the function like this: >
|
||||
echo "Done!"
|
||||
endfunction
|
||||
|
||||
If the file doesn't exist, Vim will also search in 'packpath' (under "start")
|
||||
to allow calling packages' functions from your .vimrc when the packages have
|
||||
not been added to 'runtimepath' yet (see |packages|).
|
||||
|
||||
The file name and the name used before the # in the function must match
|
||||
exactly, and the defined function must have the name exactly as it will be
|
||||
called. In Vim9 script the "g:" prefix must be used: >
|
||||
|
@ -1,4 +1,4 @@
|
||||
*usr_03.txt* For Vim version 9.0. Last change: 2020 Sep 03
|
||||
*usr_03.txt* For Vim version 9.0. Last change: 2022 Oct 30
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@ -223,7 +223,7 @@ you can see? This figure shows the three commands you can use:
|
||||
+---------------------------+
|
||||
|
||||
Hints: "H" stands for Home, "M" for Middle and "L" for Last. Alternatively,
|
||||
"H" for high, "M" for Middle and "L" for low.
|
||||
"H" for High, "M" for Middle and "L" for Low.
|
||||
|
||||
==============================================================================
|
||||
*03.6* Telling where you are
|
||||
|
@ -1,4 +1,4 @@
|
||||
*usr_12.txt* For Vim version 9.0. Last change: 2021 Apr 19
|
||||
*usr_12.txt* For Vim version 9.0. Last change: 2022 Nov 19
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 9.0. Last change: 2022 Jun 23
|
||||
*usr_41.txt* For Vim version 9.0. Last change: 2022 Nov 22
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@ -139,7 +139,7 @@ FOUR KINDS OF NUMBERS
|
||||
Numbers can be decimal, hexadecimal, octal and binary.
|
||||
|
||||
A hexadecimal number starts with "0x" or "0X". For example "0x1f" is decimal
|
||||
31 and 0x1234 is decimal 4660.
|
||||
31 and "0x1234" is decimal 4660.
|
||||
|
||||
An octal number starts with "0o", "0O". "0o17" is decimal 15.
|
||||
|
||||
@ -442,7 +442,7 @@ If you don't like the concatenation you can use the $"string" form, which
|
||||
accepts an expression in curly braces: >
|
||||
echo $"Name: {name}"
|
||||
|
||||
See |interp-string| for more information.
|
||||
See |interpolated-string| for more information.
|
||||
|
||||
Borrowed from the C language is the conditional expression: >
|
||||
|
||||
@ -687,7 +687,7 @@ search() function uses its first argument as a search pattern and the second
|
||||
one as flags. The "W" flag means the search doesn't wrap around the end of
|
||||
the file.
|
||||
|
||||
Using the `call` command is optional in |Vim9| script. It is required in
|
||||
Using the `call` command is optional in |Vim9| script. It is required in
|
||||
legacy script and on the command line: >
|
||||
|
||||
call search("Date: ", "W")
|
||||
@ -803,7 +803,7 @@ List manipulation: *list-functions*
|
||||
call() call a function with List as arguments
|
||||
index() index of a value in a List or Blob
|
||||
indexof() index in a List or Blob where an expression
|
||||
evaluates to true
|
||||
evaluates to true
|
||||
max() maximum value in a List
|
||||
min() minimum value in a List
|
||||
count() count number of times a value appears in a List
|
||||
@ -935,6 +935,7 @@ Working with text in the current buffer: *text-functions*
|
||||
|
||||
Working with text in another buffer:
|
||||
getbufline() get a list of lines from the specified buffer
|
||||
getbufoneline() get a one line from the specified buffer
|
||||
setbufline() replace a line in the specified buffer
|
||||
appendbufline() append a list of lines in the specified buffer
|
||||
deletebufline() delete lines from a specified buffer
|
||||
@ -1110,6 +1111,7 @@ Interactive: *interactive-functions*
|
||||
getcharstr() get a character from the user as a string
|
||||
getcharmod() get modifiers for the last typed character
|
||||
getmousepos() get last known mouse position
|
||||
getmouseshape() get name of the current mouse shape
|
||||
echoraw() output characters as-is
|
||||
feedkeys() put characters in the typeahead queue
|
||||
input() get a line from the user
|
||||
@ -1289,6 +1291,7 @@ Popup window: *popup-window-functions*
|
||||
popup_filter_yesno() block until 'y' or 'n' is pressed
|
||||
popup_getoptions() get current options for a popup
|
||||
popup_getpos() get actual position and size of a popup
|
||||
popup_findecho() get window ID for popup used for `:echowindow`
|
||||
popup_findinfo() get window ID for popup info window
|
||||
popup_findpreview() get window ID for popup preview window
|
||||
popup_list() get list of all popup window IDs
|
||||
|
@ -159,6 +159,7 @@ relative path: >
|
||||
|
||||
This will search for the script "monthlib.vim" in the autoload directories of
|
||||
'runtimepath'. With Unix one of the directories often is "~/.vim/autoload".
|
||||
It will also search under 'packpath', under "start".
|
||||
|
||||
The main advantage of this is that this script can be easily shared with other
|
||||
scripts. You do need to make sure that the script name is unique, since Vim
|
||||
|
@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 9.0. Last change: 2022 Sep 17
|
||||
*various.txt* For Vim version 9.0. Last change: 2022 Nov 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -29,6 +29,8 @@ CTRL-L Clear and redraw the screen. The redraw may happen
|
||||
Useful to update the status line(s) when 'statusline'
|
||||
includes an item that doesn't cause automatic
|
||||
updating.
|
||||
If the command line is being edited the redraw is
|
||||
postponed until later.
|
||||
|
||||
*:redrawt* *:redrawtabline*
|
||||
:redrawt[abline] Redraw the tabline. Useful to update the tabline when
|
||||
@ -296,7 +298,8 @@ g8 Print the hex values of the bytes used in the
|
||||
:silent !{cmd}
|
||||
< The screen is not redrawn then, thus you have to use
|
||||
CTRL-L or ":redraw!" if the command did display
|
||||
something.
|
||||
something. However, this depends on what the |t_ti|
|
||||
and |t_te| termcap entries are set to.
|
||||
Also see |shell-window|.
|
||||
|
||||
*:!!*
|
||||
@ -330,8 +333,8 @@ g8 Print the hex values of the bytes used in the
|
||||
*+feature-list*
|
||||
*+acl* |ACL| support included
|
||||
*+ARP* Amiga only: ARP support included
|
||||
B *+arabic* |Arabic| language support
|
||||
B *+autochdir* support 'autochdir' option
|
||||
H *+arabic* |Arabic| language support
|
||||
N *+autochdir* support 'autochdir' option
|
||||
T *+autocmd* |:autocmd|, automatic commands. Always enabled since
|
||||
8.0.1564
|
||||
H *+autoservername* Automatically enable |clientserver|
|
||||
@ -347,18 +350,19 @@ T *++builtin_terms* maximal terminals builtin |builtin-terms| Always
|
||||
N *+byte_offset* support for 'o' flag in 'statusline' option, "go"
|
||||
and ":goto" commands.
|
||||
m *+channel* inter process communication |channel|
|
||||
6 *+cindent* |'cindent'|, C indenting
|
||||
T *+cindent* |'cindent'|, C indenting; Always enabled
|
||||
N *+clientserver* Unix and Win32: Remote invocation |clientserver|
|
||||
*+clipboard* |clipboard| support compiled-in
|
||||
*+clipboard_working* |clipboard| support compiled-in and working
|
||||
T *+cmdline_compl* command line completion |cmdline-completion|
|
||||
T *+cmdline_hist* command line history |cmdline-history|
|
||||
N *+cmdline_info* |'showcmd'| and |'ruler'|
|
||||
S *+cmdwin* |cmdline-window| support
|
||||
T *+cmdline_info* |'showcmd'| and |'ruler'|; Always enabled since
|
||||
9.0.0747
|
||||
T *+cmdwin* |cmdline-window| support; Always enabled since 9.0.0657
|
||||
T *+comments* |'comments'| support
|
||||
B *+conceal* "conceal" support, see |conceal| |:syn-conceal| etc.
|
||||
N *+conceal* "conceal" support, see |conceal| |:syn-conceal| etc.
|
||||
N *+cryptv* encryption support |encryption|
|
||||
B *+cscope* |cscope| support
|
||||
H *+cscope* |cscope| support
|
||||
T *+cursorbind* |'cursorbind'| support
|
||||
m *+cursorshape* |termcap-cursor-shape| support
|
||||
m *+debug* Compiled for debugging.
|
||||
@ -369,7 +373,7 @@ N *+diff* |vimdiff| and 'diff'
|
||||
N *+digraphs* |digraphs| *E196*
|
||||
*+directx* Win32 GUI only: DirectX and |'renderoptions'|
|
||||
*+dnd* Support for DnD into the "~ register |quote_~|.
|
||||
B *+emacs_tags* |emacs-tags| files
|
||||
H *+emacs_tags* |emacs-tags| files
|
||||
N *+eval* expression evaluation |eval.txt|
|
||||
T *+ex_extra* always on now, used to be for Vim's extra Ex commands
|
||||
N *+extra_search* |'hlsearch'| and |'incsearch'| options.
|
||||
@ -395,12 +399,12 @@ T *+insert_expand* |insert_expand| Insert mode completion
|
||||
m *+ipv6* Support for IPv6 networking |channel|
|
||||
m *+job* starting and stopping jobs |job|
|
||||
T *+jumplist* |jumplist|; Always enabled since 8.2.3795
|
||||
B *+keymap* |'keymap'|
|
||||
H *+keymap* |'keymap'|
|
||||
N *+lambda* |lambda| and |closure|
|
||||
B *+langmap* |'langmap'|
|
||||
H *+langmap* |'langmap'|
|
||||
N *+libcall* |libcall()|
|
||||
N *+linebreak* |'linebreak'|, |'breakat'| and |'showbreak'|
|
||||
t *+lispindent* |'lisp'|
|
||||
T *+lispindent* |'lisp'|
|
||||
T *+listcmds* Vim commands for the list of buffers |buffer-hidden|
|
||||
and argument list |:argdelete|
|
||||
T *+localmap* Support for mappings local to a buffer |:map-local|
|
||||
@ -411,16 +415,16 @@ N *+mksession* |:mksession|
|
||||
T *+modify_fname* |filename-modifiers|
|
||||
T *+mouse* Mouse handling |mouse-using|
|
||||
N *+mouseshape* |'mouseshape'|
|
||||
B *+mouse_dec* Unix only: Dec terminal mouse handling |dec-mouse|
|
||||
N *+mouse_dec* Unix only: Dec terminal mouse handling |dec-mouse|
|
||||
N *+mouse_gpm* Unix only: Linux console mouse handling |gpm-mouse|
|
||||
m *+mouse_gpm/dyn* Same as |+mouse_gpm| with optional library dependency
|
||||
|/dyn|
|
||||
N *+mouse_jsbterm* JSB mouse handling |jsbterm-mouse|
|
||||
B *+mouse_netterm* Unix only: netterm mouse handling |netterm-mouse|
|
||||
N *+mouse_netterm* Unix only: netterm mouse handling |netterm-mouse|
|
||||
N *+mouse_pterm* QNX only: pterm mouse handling |qnx-terminal|
|
||||
N *+mouse_sysmouse* Unix only: *BSD console mouse handling |sysmouse|
|
||||
B *+mouse_sgr* Unix only: sgr mouse handling |sgr-mouse|
|
||||
B *+mouse_urxvt* Unix only: urxvt mouse handling |urxvt-mouse|
|
||||
N *+mouse_sgr* Unix only: sgr mouse handling |sgr-mouse|
|
||||
N *+mouse_urxvt* Unix only: urxvt mouse handling |urxvt-mouse|
|
||||
N *+mouse_xterm* Unix only: xterm mouse handling |xterm-mouse|
|
||||
T *+multi_byte* Unicode support, 16 and 32 bit characters |multibyte|
|
||||
*+multi_byte_ime* Win32 input method for multibyte chars |multibyte-ime|
|
||||
@ -449,14 +453,14 @@ m *+python3/dyn* Python 3 interface |python-dynamic| |/dyn|
|
||||
N *+quickfix* |:make| and |quickfix| commands
|
||||
N *+reltime* |reltime()| function, 'hlsearch'/'incsearch' timeout,
|
||||
'redrawtime' option
|
||||
B *+rightleft* Right to left typing |'rightleft'|
|
||||
H *+rightleft* Right to left typing |'rightleft'|
|
||||
m *+ruby* Ruby interface |ruby|
|
||||
m *+ruby/dyn* Ruby interface |ruby-dynamic| |/dyn|
|
||||
T *+scrollbind* |'scrollbind'|
|
||||
B *+signs* |:sign|
|
||||
t *+smartindent* |'smartindent'|
|
||||
B *+sodium* compiled with libsodium for better encryption support
|
||||
B *+sound* |sound_playevent()|, |sound_playfile()| functions, etc.
|
||||
N *+signs* |:sign|
|
||||
T *+smartindent* |'smartindent'|
|
||||
H *+sodium* compiled with libsodium for better encryption support
|
||||
H *+sound* |sound_playevent()|, |sound_playfile()| functions, etc.
|
||||
N *+spell* spell checking support, see |spell|
|
||||
N *+startuptime* |--startuptime| argument
|
||||
N *+statusline* Options 'statusline', 'rulerformat' and special
|
||||
@ -472,7 +476,7 @@ m *+tcl/dyn* Tcl interface |tcl-dynamic| |/dyn|
|
||||
m *+terminal* Support for terminal window |terminal|
|
||||
*+terminfo* uses |terminfo| instead of termcap
|
||||
N *+termresponse* support for |t_RV| and |v:termresponse|
|
||||
B *+termguicolors* 24-bit color in xterm-compatible terminals support
|
||||
N *+termguicolors* 24-bit color in xterm-compatible terminals support
|
||||
T *+textobjects* |text-objects| selection. Always enabled since 9.0.0222.
|
||||
N *+textprop* |text-properties|
|
||||
*+tgetent* non-Unix only: able to use external termcap
|
||||
@ -481,7 +485,7 @@ T *+title* Setting the window 'title' and 'icon'; Always enabled
|
||||
N *+toolbar* |gui-toolbar|
|
||||
T *+user_commands* User-defined commands. |user-commands|
|
||||
Always enabled since 8.1.1210.
|
||||
B *+vartabs* Variable-width tabstops. |'vartabstop'|
|
||||
H *+vartabs* Variable-width tabstops. |'vartabstop'|
|
||||
T *+vertsplit* Vertically split windows |:vsplit|; Always enabled
|
||||
since 8.0.1118.
|
||||
T *+vim9script* |Vim9| script
|
||||
|
@ -1,4 +1,4 @@
|
||||
*version5.txt* For Vim version 9.0. Last change: 2022 Apr 06
|
||||
*version5.txt* For Vim version 9.0. Last change: 2022 Nov 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -118,7 +118,7 @@ Added |added-5.8|
|
||||
Fixed |fixed-5.8|
|
||||
|
||||
==============================================================================
|
||||
INCOMPATIBLE *incompatible-5*
|
||||
INCOMPATIBLE *incompatible-5*
|
||||
|
||||
Default value for 'compatible' changed *cp-default*
|
||||
--------------------------------------
|
||||
@ -360,7 +360,7 @@ CTRL-_ key for this |i_CTRL-_|. >
|
||||
:imap <C-B> <C-O>:set revins!<CR>
|
||||
|
||||
==============================================================================
|
||||
NEW FEATURES *new-5*
|
||||
NEW FEATURES *new-5*
|
||||
|
||||
Syntax highlighting *new-highlighting*
|
||||
-------------------
|
||||
@ -635,7 +635,7 @@ Included support for the Farsi language (Shiran). Only when enabled at
|
||||
compile time. See |farsi|.
|
||||
|
||||
==============================================================================
|
||||
IMPROVEMENTS *improvements-5*
|
||||
IMPROVEMENTS *improvements-5*
|
||||
|
||||
Performance:
|
||||
- When 'showcmd' was set, mappings would execute much more slowly because the
|
||||
@ -929,7 +929,7 @@ Some versions of Motif require "-lXpm". Added check for this in configure.
|
||||
Don't add "-L/usr/lib" to the link line, causes problems on a few systems.
|
||||
|
||||
==============================================================================
|
||||
COMPILE TIME CHANGES *compile-changes-5*
|
||||
COMPILE TIME CHANGES *compile-changes-5*
|
||||
|
||||
When compiling, allow a choice for minimal, normal or maximal features in an
|
||||
easy way, by changing a single line in src/feature.h.
|
||||
@ -975,7 +975,7 @@ Don't use HPUX digraphs by default, but only when HPUX_DIGRAPHS is defined.
|
||||
|digraphs-default|
|
||||
|
||||
==============================================================================
|
||||
BUG FIXES *bug-fixes-5*
|
||||
BUG FIXES *bug-fixes-5*
|
||||
|
||||
Note: Some of these fixes may only apply to test versions which were
|
||||
created after version 4.6, but before 5.0.
|
||||
|
@ -1,4 +1,4 @@
|
||||
*version9.txt* For Vim version 9.0. Last change: 2022 Jun 28
|
||||
*version9.txt* For Vim version 9.0. Last change: 2022 Nov 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -254,12 +254,12 @@ summary.
|
||||
Many memory leaks, invalid memory accesses and crashes have been fixed.
|
||||
See the list of patches below: |bug-fixes-9|.
|
||||
|
||||
Support for Vim expression evaluation in a string. |interp-string|
|
||||
Support for Vim expression evaluation in a string. |interpolated-string|
|
||||
Support for evaluating Vim expressions in a heredoc. |:let-heredoc|
|
||||
|
||||
Support for fuzzy matching:
|
||||
- a string in a List of strings. |fuzzy-matching|
|
||||
- completion support for command line completion using 'wildoptions'
|
||||
- completion support for command line completion using 'wildoptions'.
|
||||
- for |:vimgrep|.
|
||||
|
||||
Added support for the |Haiku| OS.
|
||||
@ -398,22 +398,22 @@ Update xdiff to version 2.33. Update libvterm to revision 789.
|
||||
|
||||
Support 'trim' for Python/Lua/Perl/Tcl/Ruby/MzScheme interface heredoc.
|
||||
|
||||
Add the |t_AU| and |t_8u| termap codes for underline and undercurl. Add the
|
||||
Add the |t_AU| and |t_8u| termcap codes for underline and undercurl. Add the
|
||||
t_fd and t_fe termcap codes for detecting focus events.
|
||||
|
||||
Support for indenting C pragmas like normal code. (|cino-P|)
|
||||
|
||||
Add support for defining the syntax fold level (|:syn-foldlevel|)
|
||||
Add support for defining the syntax fold level. (|:syn-foldlevel|)
|
||||
|
||||
Add support for using \<*xxx> in a string to prepend a modifier to a
|
||||
character. (|expr-quote|).
|
||||
character. (|expr-quote|)
|
||||
|
||||
Add support trimming characters at the beginning or end of a string using
|
||||
|trim()|.
|
||||
|
||||
Make ":verbose pwd" show the scope of the directory. |:pwd-verbose|
|
||||
|
||||
Add the "0o" notation for specifying octal numbers |scriptversion-4|
|
||||
Add the "0o" notation for specifying octal numbers. |scriptversion-4|
|
||||
|
||||
Support for changing to the previous tab-local and window-local directories
|
||||
using the "tcd -" and "lcd -" commands. (|:tcd-| and |:lcd-|)
|
||||
@ -428,7 +428,7 @@ Add support for executing (|:@|) a register containing line continuation.
|
||||
Lua support:
|
||||
- Call Vim functions from Lua (vim.call() and vim.fn()).
|
||||
- Convert a Lua function and a closure to a Vim funcref so that it can be
|
||||
accessed in a Vimscript (|lua-funcref|).
|
||||
accessed in a Vim script (|lua-funcref|).
|
||||
- Not backwards compatible: Make Lua arrays one based.
|
||||
- Add support for using table.insert() and table.remove() functions with Vim
|
||||
lists.
|
||||
@ -27366,7 +27366,7 @@ Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim
|
||||
Patch 8.2.4460
|
||||
Problem: Vim9: wrong error for defining dict function.
|
||||
Solution: Explicitly check for trying to define a dict function.
|
||||
(closes 9827)
|
||||
(closes #9827)
|
||||
Files: src/errors.h, src/userfunc.c, src/vim9compile.c,
|
||||
src/testdir/test_vim9_func.vim
|
||||
|
||||
@ -28478,7 +28478,7 @@ Files: src/change.c, src/drawscreen.c, src/structs.h
|
||||
|
||||
Patch 8.2.4645
|
||||
Problem: 'shortmess' changed when session does not store options.
|
||||
Solution: Save and restore 'shortmess' if needed. (James Charti,
|
||||
Solution: Save and restore 'shortmess' if needed. (James Cherti,
|
||||
closes #10037)
|
||||
Files: src/session.c, src/testdir/test_mksession.vim
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*vim9.txt* For Vim version 9.0. Last change: 2022 Sep 15
|
||||
*vim9.txt* For Vim version 9.0. Last change: 2022 Nov 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -502,7 +502,7 @@ How constants work varies between languages. Some consider a variable that
|
||||
can't be assigned another value a constant. JavaScript is an example. Others
|
||||
also make the value immutable, thus when a constant uses a list, the list
|
||||
cannot be changed. In Vim9 we can use both.
|
||||
*E1021*
|
||||
*E1021* *E1307*
|
||||
`:const` is used for making both the variable and the value a constant. Use
|
||||
this for composite structures that you want to make sure will not be modified.
|
||||
Example: >
|
||||
@ -962,6 +962,10 @@ In compiled Vim9 script you get:
|
||||
3
|
||||
Generally, you should not change the list that is iterated over. Make a copy
|
||||
first if needed.
|
||||
When looping over a list of lists, the nested lists can be changed. The loop
|
||||
variable is "final", it cannot be changed but what its value can be changed.
|
||||
*E1306*
|
||||
The depth of loops, :for and :while loops added together, cannot exceed 10.
|
||||
|
||||
|
||||
Conditions and expressions ~
|
||||
@ -1035,7 +1039,7 @@ In Vim9 script one can use the following predefined values: >
|
||||
`true` is the same as `v:true`, `false` the same as `v:false`, `null` the same
|
||||
as `v:null`.
|
||||
|
||||
While `null` has the type "special", the other "null_" types have the type
|
||||
While `null` has the type "special", the other "null_" values have the type
|
||||
indicated by their name. Quite often a null value is handled the same as an
|
||||
empty value, but not always. The values can be useful to clear a script-local
|
||||
variable, since they cannot be deleted with `:unlet`. E.g.: >
|
||||
@ -1408,6 +1412,21 @@ to a Vim9 function:
|
||||
'three'
|
||||
]
|
||||
|
||||
|
||||
Calling a function in an expr option ~
|
||||
*expr-option-function*
|
||||
The value of a few options, such as 'foldexpr', is an expression that is
|
||||
evaluated to get a value. The evaluation can have quite a bit of overhead.
|
||||
One way to minimize the overhead, and also to keep the option value very
|
||||
simple, is to define a compiled function and set the option to call it
|
||||
without arguments. Example: >
|
||||
vim9script
|
||||
def MyFoldFunc(): any
|
||||
... compute fold level for line v:lnum
|
||||
return level
|
||||
enddef
|
||||
set foldexpr=s:MyFoldFunc()
|
||||
|
||||
==============================================================================
|
||||
|
||||
4. Types *vim9-types*
|
||||
@ -1931,13 +1950,22 @@ For now we'll just make sure classes can be added later.
|
||||
Thoughts:
|
||||
- `class` / `endclass`, the whole class must be in one file
|
||||
- Class names are always CamelCase (to avoid a name clash with builtin types)
|
||||
- A single constructor called "constructor"
|
||||
- Single inheritance with `class ThisClass extends BaseClass`
|
||||
- `abstract class` (class with incomplete implementation)
|
||||
- `interface` / `endinterface` (abstract class without any implementation)
|
||||
- `class SomeClass implements SomeInterface`
|
||||
- A single constructor called "constructor" (similar to TypeScript)
|
||||
- Single inheritance: `class ThisClass extends BaseClass`
|
||||
- `interface` / `endinterface` (looks like a class without any implementation)
|
||||
- Explicit declaration that the class supports an interface, so that type
|
||||
checking works properly:
|
||||
`class SomeClass implements SomeInterface, OtherInterface`
|
||||
- `abstract class` (class with incomplete implementation) - not really needed?
|
||||
- Class (static) methods and Object methods: syntax to be defined.
|
||||
- Class (static) members and Object members: syntax to be defined.
|
||||
- Access control: private / protected / shared / public ? Keep it simple.
|
||||
- Access object members with `this.member` ?
|
||||
- Generics for class: `class <Tkey, Tentry>`
|
||||
- Generics for function: `def <Tkey> GetLast(key: Tkey)`
|
||||
- Method overloading (two methods with the same name but different argument
|
||||
types): Most likely not
|
||||
- Mixins: not sure if that is useful, leave out for simplicity.
|
||||
|
||||
Again, much of this is from TypeScript with a slightly different syntax.
|
||||
|
||||
@ -1965,10 +1993,10 @@ Some commands have already been reserved:
|
||||
|
||||
Some examples: >
|
||||
|
||||
abstract class Person
|
||||
abstract class Person
|
||||
static const prefix = 'xxx'
|
||||
var name: string
|
||||
|
||||
|
||||
def constructor(name: string)
|
||||
this.name = name
|
||||
enddef
|
||||
|
@ -116,7 +116,7 @@ gn Search forward for the last used search pattern, like
|
||||
E.g., "dgn" deletes the text of the next match.
|
||||
If Visual mode is active, extends the selection
|
||||
until the end of the next match.
|
||||
'wrapscan' applies
|
||||
'wrapscan' applies.
|
||||
Note: Unlike `n` the search direction does not depend
|
||||
on the previous search command.
|
||||
|
||||
@ -510,11 +510,11 @@ mode Vim automatically switches to Visual mode, so that the same behavior as
|
||||
in Visual mode is effective. If you don't want this use |:xmap| or |:smap|.
|
||||
|
||||
One particular edge case: >
|
||||
:vnoremap <C-K> <Esc>
|
||||
:vnoremap <C-K> <Esc>
|
||||
This ends Visual mode when in Visual mode, but in Select mode it does not
|
||||
work, because Select mode is restored after executing the mapped keys. You
|
||||
need to use: >
|
||||
:snoremap <C-K> <Esc>
|
||||
:snoremap <C-K> <Esc>
|
||||
<
|
||||
Users will expect printable characters to replace the selected area.
|
||||
Therefore avoid mapping printable characters in Select mode. Or use
|
||||
|
@ -1,4 +1,4 @@
|
||||
*windows.txt* For Vim version 9.0. Last change: 2022 May 11
|
||||
*windows.txt* For Vim version 9.0. Last change: 2022 Nov 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -561,9 +561,9 @@ CTRL-W = Make all windows (almost) equally high and wide, but use
|
||||
Windows with 'winfixheight' set keep their height and windows
|
||||
with 'winfixwidth' set keep their width.
|
||||
To equalize only vertically (make window equally high) use
|
||||
`vertical wincmd =`
|
||||
`vertical wincmd =`.
|
||||
To equalize only horizontally (make window equally wide) use
|
||||
`horizontal wincmd =`
|
||||
`horizontal wincmd =`.
|
||||
|
||||
:res[ize] -N *:res* *:resize* *CTRL-W_-*
|
||||
CTRL-W - Decrease current window height by N (default 1).
|
||||
@ -631,6 +631,54 @@ it).
|
||||
The minimal height and width of a window is set with 'winminheight' and
|
||||
'winminwidth'. These are hard values, a window will never become smaller.
|
||||
|
||||
|
||||
WinScrolled and WinResized autocommands ~
|
||||
*win-scrolled-resized*
|
||||
If you want to get notified of changes in window sizes, the |WinResized|
|
||||
autocommand event can be used.
|
||||
If you want to get notified of text in windows scrolling vertically or
|
||||
horizontally, the |WinScrolled| autocommand event can be used. This will also
|
||||
trigger in window size changes.
|
||||
*WinResized-event*
|
||||
The |WinResized| event is triggered after updating the display, several
|
||||
windows may have changed size then. A list of the IDs of windows that changed
|
||||
since last time is provided in the v:event.windows variable, for example:
|
||||
[1003, 1006]
|
||||
*WinScrolled-event*
|
||||
The |WinScrolled| event is triggered after |WinResized|, and also if a window
|
||||
was scrolled. That can be vertically (the text at the top of the window
|
||||
changed) or horizontally (when 'wrap' is off or when the first displayed part
|
||||
of the first line changes). Note that |WinScrolled| will trigger many more
|
||||
times than |WinResized|, it may slow down editing a bit.
|
||||
|
||||
The information provided by |WinScrolled| is a dictionary for each window that
|
||||
has changes, using the window ID as the key, and a total count of the changes
|
||||
with the key "all". Example value for |v:event| (|Vim9| syntax):
|
||||
{
|
||||
all: {width: 0, height: 2, leftcol: 0, topline: 1, skipcol: 0},
|
||||
1003: {width: 0, height: -1, leftcol: 0, topline: 0, skipcol: 0},
|
||||
1006: {width: 0, height: 1, leftcol: 0, topline: 1, skipcol: 0},
|
||||
}
|
||||
|
||||
Note that the "all" entry has the absolute values of the individual windows
|
||||
accumulated.
|
||||
|
||||
If you need more information about what changed, or you want to "debounce" the
|
||||
events (not handle every event to avoid doing too much work), you may want to
|
||||
use the `winlayout()` and `getwininfo()` functions.
|
||||
|
||||
|WinScrolled| and |WinResized| do not trigger when the first autocommand is
|
||||
added, only after the first scroll or resize. They may trigger when switching
|
||||
to another tab page.
|
||||
|
||||
The commands executed are expected to not cause window size or scroll changes.
|
||||
If this happens anyway, the event will trigger again very soon. In other
|
||||
words: Just before triggering the event, the current sizes and scroll
|
||||
positions are stored and used to decide whether there was a change.
|
||||
*E1312*
|
||||
It is not allowed to change the window layout here (split, close or move
|
||||
windows).
|
||||
|
||||
==============================================================================
|
||||
7. Argument and buffer list commands *buffer-list*
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2022 Sep 11
|
||||
" Last Change: 2022 Nov 23
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@ -369,6 +369,12 @@ au BufNewFile,BufRead *.ch call dist#ft#FTchange()
|
||||
" ChordPro
|
||||
au BufNewFile,BufRead *.chopro,*.crd,*.cho,*.crdpro,*.chordpro setf chordpro
|
||||
|
||||
" Clang-format
|
||||
au BufNewFile,BufRead .clang-format setf yaml
|
||||
|
||||
" Clang-tidy
|
||||
au BufNewFile,BufRead .clang-tidy setf yaml
|
||||
|
||||
" Clean
|
||||
au BufNewFile,BufRead *.dcl,*.icl setf clean
|
||||
|
||||
@ -413,6 +419,12 @@ au BufNewFile,BufRead configure.in,configure.ac setf config
|
||||
" Cooklang
|
||||
au BufNewFile,BufRead *.cook setf cook
|
||||
|
||||
" Clinical Quality Language (CQL)
|
||||
" .cql is also mentioned as the 'XDCC Catcher queue list' file extension.
|
||||
" If support for XDCC Catcher is needed in the future, the contents of the file
|
||||
" needs to be inspected.
|
||||
au BufNewFile,BufRead *.cql setf cqlang
|
||||
|
||||
" CSV Files
|
||||
au BufNewFile,BufRead *.csv setf csv
|
||||
|
||||
@ -770,8 +782,8 @@ au BufNewFile,BufRead gitolite.conf setf gitolite
|
||||
au BufNewFile,BufRead {,.}gitolite.rc,example.gitolite.rc setf perl
|
||||
|
||||
" Glimmer-flavored TypeScript and JavaScript
|
||||
au BufNewFile,BufRead *.gts setf typescript.glimmer
|
||||
au BufNewFile,BufRead *.gjs setf javascript.glimmer
|
||||
au BufNewFile,BufRead *.gts setf typescript.glimmer
|
||||
au BufNewFile,BufRead *.gjs setf javascript.glimmer
|
||||
|
||||
" Gnuplot scripts
|
||||
au BufNewFile,BufRead *.gpi,.gnuplot setf gnuplot
|
||||
@ -802,6 +814,9 @@ au BufNewFile,BufRead */etc/group,*/etc/group-,*/etc/group.edit,*/etc/gshadow,*/
|
||||
" GTK RC
|
||||
au BufNewFile,BufRead .gtkrc,gtkrc setf gtkrc
|
||||
|
||||
" GYP
|
||||
au BufNewFile,BufRead *.gyp,*.gypi setf gyp
|
||||
|
||||
" Hack
|
||||
au BufRead,BufNewFile *.hack,*.hackpartial setf hack
|
||||
|
||||
@ -966,6 +981,8 @@ au BufNewFile,BufRead *.jsp setf jsp
|
||||
|
||||
" Java Properties resource file (note: doesn't catch font.properties.pl)
|
||||
au BufNewFile,BufRead *.properties,*.properties_??,*.properties_??_?? setf jproperties
|
||||
" Eclipse preference files use Java Properties syntax
|
||||
au BufNewFile,BufRead org.eclipse.*.prefs setf jproperties
|
||||
|
||||
" Jess
|
||||
au BufNewFile,BufRead *.clp setf jess
|
||||
@ -995,7 +1012,7 @@ au BufNewFile,BufRead .babelrc,.eslintrc,.prettierrc,.firebaserc setf json
|
||||
au BufNewFile,BufRead *.jsonc setf jsonc
|
||||
|
||||
" Jsonnet
|
||||
au BufNewFile,BufRead *.jsonnet,*.libjsonnet setf jsonnet
|
||||
au BufNewFile,BufRead *.jsonnet,*.libsonnet setf jsonnet
|
||||
|
||||
" Julia
|
||||
au BufNewFile,BufRead *.jl setf julia
|
||||
@ -1026,6 +1043,12 @@ au BufNewFile,BufRead Kconfig,Kconfig.debug setf kconfig
|
||||
" Lace (ISE)
|
||||
au BufNewFile,BufRead *.ace,*.ACE setf lace
|
||||
|
||||
" Larch Shared Language
|
||||
au BufNewFile,BufRead .lsl call dist#ft#FTlsl()
|
||||
|
||||
" Latexmkrc
|
||||
au BufNewFile,BufRead .latexmkrc,latexmkrc setf perl
|
||||
|
||||
" Latte
|
||||
au BufNewFile,BufRead *.latte,*.lte setf latte
|
||||
|
||||
@ -1106,11 +1129,14 @@ au BufNewFile,BufRead *.lou,*.lout setf lout
|
||||
" Lua
|
||||
au BufNewFile,BufRead *.lua setf lua
|
||||
|
||||
" Luacheck
|
||||
au BufNewFile,BufRead .luacheckrc setf lua
|
||||
|
||||
" Luarocks
|
||||
au BufNewFile,BufRead *.rockspec setf lua
|
||||
|
||||
" Linden Scripting Language (Second Life)
|
||||
au BufNewFile,BufRead *.lsl setf lsl
|
||||
au BufNewFile,BufRead *.lsl call dist#ft#FTlsl()
|
||||
|
||||
" Lynx style file (or LotusScript!)
|
||||
au BufNewFile,BufRead *.lss setf lss
|
||||
@ -1173,6 +1199,9 @@ au BufNewFile,BufRead hg-editor-*.txt setf hgcommit
|
||||
" Mercurial config (looks like generic config file)
|
||||
au BufNewFile,BufRead *.hgrc,*hgrc setf cfg
|
||||
|
||||
" Mermaid
|
||||
au BufNewFile,BufRead *.mmd,*.mmdc,*.mermaid setf mermaid
|
||||
|
||||
" Meson Build system config
|
||||
au BufNewFile,BufRead meson.build,meson_options.txt setf meson
|
||||
au BufNewFile,BufRead *.wrap setf dosini
|
||||
@ -1208,6 +1237,9 @@ au BufNewFile,BufRead *.m2,*.DEF,*.mi setf modula2
|
||||
" Modula-3 (.m3, .i3, .mg, .ig)
|
||||
au BufNewFile,BufRead *.[mi][3g] setf modula3
|
||||
|
||||
" Larch/Modula-3
|
||||
au BufNewFile,BufRead *.lm3 setf modula3
|
||||
|
||||
" Monk
|
||||
au BufNewFile,BufRead *.isc,*.monk,*.ssc,*.tsc setf monk
|
||||
|
||||
@ -1313,6 +1345,9 @@ au BufNewFile,BufRead *.nse setf lua
|
||||
" NSIS
|
||||
au BufNewFile,BufRead *.nsi,*.nsh setf nsis
|
||||
|
||||
" Oblivion Language and Oblivion Script Extender
|
||||
au BufNewFile,BufRead *.obl,*.obse,*.oblivion,*.obscript setf obse
|
||||
|
||||
" OCaml
|
||||
au BufNewFile,BufRead *.ml,*.mli,*.mll,*.mly,.ocamlinit,*.mlt,*.mlp,*.mlip,*.mli.cppo,*.ml.cppo setf ocaml
|
||||
|
||||
@ -1351,6 +1386,7 @@ au BufNewFile,BufRead pf.conf setf pf
|
||||
|
||||
" ini style config files, using # comments
|
||||
au BufNewFile,BufRead */etc/pacman.conf,mpv.conf setf confini
|
||||
au BufNewFile,BufRead */.aws/config,*/.aws/credentials setf confini
|
||||
|
||||
" Pacman hooks
|
||||
au BufNewFile,BufRead *.hook
|
||||
@ -1382,6 +1418,9 @@ au BufNewFile,BufRead *.dpr,*.lpr setf pascal
|
||||
" Free Pascal makefile definition file
|
||||
au BufNewFile,BufRead *.fpc setf fpcmake
|
||||
|
||||
" Path of Exile item filter
|
||||
au BufNewFile,BufRead *.filter setf poefilter
|
||||
|
||||
" PDF
|
||||
au BufNewFile,BufRead *.pdf setf pdf
|
||||
|
||||
@ -1613,6 +1652,9 @@ else
|
||||
au BufNewFile,BufRead *.rmd,*.smd setf rmd
|
||||
endif
|
||||
|
||||
" R profile file
|
||||
au BufNewFile,BufRead .Rprofile,Rprofile,Rprofile.site setf r
|
||||
|
||||
" RSS looks like XML
|
||||
au BufNewFile,BufRead *.rss setf xml
|
||||
|
||||
@ -1738,6 +1780,9 @@ au BufNewFile,BufRead *.sed setf sed
|
||||
" SubRip
|
||||
au BufNewFile,BufRead *.srt setf srt
|
||||
|
||||
" SubStation Alpha
|
||||
au BufNewFile,BufRead *.ass,*.ssa setf ssa
|
||||
|
||||
" svelte
|
||||
au BufNewFile,BufRead *.svelte setf svelte
|
||||
|
||||
@ -1933,6 +1978,10 @@ au BufNewFile,BufRead */etc/ssh/ssh_config.d/*.conf setf sshconfig
|
||||
au BufNewFile,BufRead sshd_config setf sshdconfig
|
||||
au BufNewFile,BufRead */etc/ssh/sshd_config.d/*.conf setf sshdconfig
|
||||
|
||||
" OpenVPN configuration
|
||||
au BufNewFile,BufRead *.ovpn setf openvpn
|
||||
au BufNewFile,BufRead */openvpn/*/*.conf setf openvpn
|
||||
|
||||
" Stata
|
||||
au BufNewFile,BufRead *.ado,*.do,*.imata,*.mata setf stata
|
||||
" Also *.class, but not when it's a Java bytecode file
|
||||
@ -2080,7 +2129,7 @@ au BufNewFile,BufRead *.tsv setf tsv
|
||||
" TWIG files
|
||||
au BufNewFile,BufReadPost *.twig setf twig
|
||||
|
||||
" Typescript or Qt translation file (which is XML)
|
||||
" TypeScript or Qt translation file (which is XML)
|
||||
au BufNewFile,BufReadPost *.ts
|
||||
\ if getline(1) =~ '<?xml' |
|
||||
\ setf xml |
|
||||
@ -2088,6 +2137,9 @@ au BufNewFile,BufReadPost *.ts
|
||||
\ setf typescript |
|
||||
\ endif
|
||||
|
||||
" TypeScript module and common
|
||||
au BufNewFile,BufRead *.mts,*.cts setf typescript
|
||||
|
||||
" TypeScript with React
|
||||
au BufNewFile,BufRead *.tsx setf typescriptreact
|
||||
|
||||
@ -2143,6 +2195,11 @@ au BufNewFile,BufRead *.va,*.vams setf verilogams
|
||||
" SystemVerilog
|
||||
au BufNewFile,BufRead *.sv,*.svh setf systemverilog
|
||||
|
||||
" VHS tape
|
||||
" .tape is also used by TapeCalc, which we do not support ATM. If TapeCalc
|
||||
" support is needed the contents of the file needs to be inspected.
|
||||
au BufNewFile,BufRead *.tape setf vhs
|
||||
|
||||
" VHDL
|
||||
au BufNewFile,BufRead *.hdl,*.vhd,*.vhdl,*.vbe,*.vst,*.vho setf vhdl
|
||||
|
||||
@ -2279,7 +2336,7 @@ au BufNewFile,BufRead *.fsproj,*.fsproj.user setf xml
|
||||
au BufNewFile,BufRead *.vbproj,*.vbproj.user setf xml
|
||||
|
||||
" Qt Linguist translation source and Qt User Interface Files are XML
|
||||
" However, for .ts Typescript is more common.
|
||||
" However, for .ts TypeScript is more common.
|
||||
au BufNewFile,BufRead *.ui setf xml
|
||||
|
||||
" TPM's are RDF-based descriptions of TeX packages (Nikolai Weibull)
|
||||
@ -2294,6 +2351,9 @@ au BufNewFile,BufRead fglrxrc setf xml
|
||||
" Web Services Description Language (WSDL)
|
||||
au BufNewFile,BufRead *.wsdl setf xml
|
||||
|
||||
" Workflow Description Language (WDL)
|
||||
au BufNewFile,BufRead *.wdl setf wdl
|
||||
|
||||
" XLIFF (XML Localisation Interchange File Format) is also XML
|
||||
au BufNewFile,BufRead *.xlf setf xml
|
||||
au BufNewFile,BufRead *.xliff setf xml
|
||||
|
@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Abaqus finite element input file (www.abaqus.com)
|
||||
" Maintainer: Carl Osterwisch <costerwi@gmail.com>
|
||||
" Last Change: 2022 Aug 03
|
||||
" Last Change: 2022 Oct 08
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
@ -66,25 +66,44 @@ if exists("loaded_matchit") && !exists("b:match_words")
|
||||
endif
|
||||
|
||||
if !exists("no_plugin_maps") && !exists("no_abaqus_maps")
|
||||
" Define keys used to move [count] keywords backward or forward.
|
||||
noremap <silent><buffer> [[ ?^\*\a<CR>:nohlsearch<CR>
|
||||
noremap <silent><buffer> ]] /^\*\a<CR>:nohlsearch<CR>
|
||||
" Map [[ and ]] keys to move [count] keywords backward or forward
|
||||
nnoremap <silent><buffer> ]] :call <SID>Abaqus_NextKeyword(1)<CR>
|
||||
nnoremap <silent><buffer> [[ :call <SID>Abaqus_NextKeyword(-1)<CR>
|
||||
function! <SID>Abaqus_NextKeyword(direction)
|
||||
.mark '
|
||||
if a:direction < 0
|
||||
let flags = 'b'
|
||||
else
|
||||
let flags = ''
|
||||
endif
|
||||
let l:count = abs(a:direction) * v:count1
|
||||
while l:count > 0 && search("^\\*\\a", flags)
|
||||
let l:count -= 1
|
||||
endwhile
|
||||
endfunction
|
||||
|
||||
" Define key to toggle commenting of the current line or range
|
||||
" Map \\ to toggle commenting of the current line or range
|
||||
noremap <silent><buffer> <LocalLeader><LocalLeader>
|
||||
\ :call <SID>Abaqus_ToggleComment()<CR>j
|
||||
function! <SID>Abaqus_ToggleComment() range
|
||||
if strpart(getline(a:firstline), 0, 2) == "**"
|
||||
" Un-comment all lines in range
|
||||
silent execute a:firstline . ',' . a:lastline . 's/^\*\*//'
|
||||
else
|
||||
" Comment all lines in range
|
||||
silent execute a:firstline . ',' . a:lastline . 's/^/**/'
|
||||
endif
|
||||
if strpart(getline(a:firstline), 0, 2) == "**"
|
||||
" Un-comment all lines in range
|
||||
silent execute a:firstline . ',' . a:lastline . 's/^\*\*//'
|
||||
else
|
||||
" Comment all lines in range
|
||||
silent execute a:firstline . ',' . a:lastline . 's/^/**/'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Map \s to swap first two comma separated fields
|
||||
noremap <silent><buffer> <LocalLeader>s :call <SID>Abaqus_Swap()<CR>
|
||||
function! <SID>Abaqus_Swap() range
|
||||
silent execute a:firstline . ',' . a:lastline . 's/\([^*,]*\),\([^,]*\)/\2,\1/'
|
||||
endfunction
|
||||
|
||||
let b:undo_ftplugin .= "|unmap <buffer> [[|unmap <buffer> ]]"
|
||||
\ . "|unmap <buffer> <LocalLeader><LocalLeader>"
|
||||
\ . "|unmap <buffer> <LocalLeader>s"
|
||||
endif
|
||||
|
||||
" Undo must be done in nocompatible mode for <LocalLeader>.
|
||||
|
16
runtime/ftplugin/apache.vim
Normal file
16
runtime/ftplugin/apache.vim
Normal file
@ -0,0 +1,16 @@
|
||||
" Vim filetype plugin
|
||||
" Language: apache configuration file
|
||||
" Maintainer: Per Juchtmans <dubgeiser+vimNOSPAM@gmail.com>
|
||||
" Last Change: 2022 Oct 22
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal comments=:#
|
||||
setlocal commentstring=#\ %s
|
||||
|
||||
let b:undo_ftplugin = "setlocal comments< commentstring<"
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8 noet:
|
15
runtime/ftplugin/chatito.vim
Normal file
15
runtime/ftplugin/chatito.vim
Normal file
@ -0,0 +1,15 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Chatito
|
||||
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||||
" Last Change: 2022 Sep 19
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal comments=:#,:// commentstring=#\ %s
|
||||
" indent of 4 spaces is mandated by the spec
|
||||
setlocal expandtab softtabstop=4 shiftwidth=4
|
||||
|
||||
let b:undo_ftplugin = 'setl com< cms< et< sts< sw<'
|
@ -1,7 +1,7 @@
|
||||
" Elixir filetype plugin
|
||||
" Language: Elixir
|
||||
" Maintainer: Mitchell Hanberg <vimNOSPAM@mitchellhanberg.com>
|
||||
" Last Change: 2022 August 10
|
||||
" Last Change: 2022 Sep 20
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@ -23,7 +23,11 @@ if exists('loaded_matchit') && !exists('b:match_words')
|
||||
\ ',{:},\[:\],(:)'
|
||||
endif
|
||||
|
||||
setlocal shiftwidth=2 softtabstop=2 expandtab iskeyword+=!,?
|
||||
setlocal comments=:#
|
||||
setlocal commentstring=#\ %s
|
||||
|
||||
let b:undo_ftplugin = 'setlocal sw< sts< et< isk< com< cms<'
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
@ -5,7 +5,7 @@
|
||||
" Contributors: Ricardo Catalinas Jiménez <jimenezrick@gmail.com>
|
||||
" Eduardo Lopez (http://github.com/tapichu)
|
||||
" Arvid Bjurklint (http://github.com/slarwise)
|
||||
" Last Update: 2021-Jan-08
|
||||
" Last Update: 2021-Nov-22
|
||||
" License: Vim license
|
||||
" URL: https://github.com/vim-erlang/vim-erlang-runtime
|
||||
|
||||
@ -30,6 +30,28 @@ setlocal commentstring=%%s
|
||||
|
||||
setlocal formatoptions+=ro
|
||||
|
||||
if get(g:, 'erlang_extend_path', 1)
|
||||
" typical erlang.mk paths
|
||||
let &l:path = join([
|
||||
\ 'deps/*/include',
|
||||
\ 'deps/*/src',
|
||||
\ 'deps/*/test',
|
||||
\ 'deps/*/apps/*/include',
|
||||
\ 'deps/*/apps/*/src',
|
||||
\ &g:path], ',')
|
||||
" typical rebar3 paths
|
||||
let &l:path = join([
|
||||
\ 'apps/*/include',
|
||||
\ 'apps/*/src',
|
||||
\ '_build/default/lib/*/src',
|
||||
\ '_build/default/*/include',
|
||||
\ &l:path], ',')
|
||||
" typical erlang paths
|
||||
let &l:path = join(['include', 'src', 'test', &l:path], ',')
|
||||
|
||||
set wildignore+=*/.erlang.mk/*,*.beam
|
||||
endif
|
||||
|
||||
setlocal suffixesadd=.erl,.hrl
|
||||
|
||||
let &l:include = '^\s*-\%(include\|include_lib\)\s*("\zs\f*\ze")'
|
||||
|
14
runtime/ftplugin/gyp.vim
Normal file
14
runtime/ftplugin/gyp.vim
Normal file
@ -0,0 +1,14 @@
|
||||
" Vim filetype plugin
|
||||
" Language: GYP
|
||||
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||||
" Last Change: 2022 Sep 27
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal formatoptions-=t
|
||||
setlocal commentstring=#\ %s comments=b:#,fb:-
|
||||
|
||||
let b:undo_ftplugin = 'setlocal fo< cms< com<'
|
27
runtime/ftplugin/hare.vim
Normal file
27
runtime/ftplugin/hare.vim
Normal file
@ -0,0 +1,27 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Hare
|
||||
" Maintainer: Amelia Clarke <me@rsaihe.dev>
|
||||
" Previous Maintainer: Drew DeVault <sir@cmpwn.com>
|
||||
" Last Updated: 2022-09-21
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal noexpandtab
|
||||
setlocal tabstop=8
|
||||
setlocal shiftwidth=0
|
||||
setlocal softtabstop=0
|
||||
setlocal textwidth=80
|
||||
setlocal commentstring=//\ %s
|
||||
|
||||
" Set 'formatoptions' to break comment lines but not other lines,
|
||||
" and insert the comment leader when hitting <CR> or using "o".
|
||||
setlocal fo-=t fo+=croql
|
||||
|
||||
compiler hare
|
||||
" vim: tabstop=2 shiftwidth=2 expandtab
|
16
runtime/ftplugin/heex.vim
Normal file
16
runtime/ftplugin/heex.vim
Normal file
@ -0,0 +1,16 @@
|
||||
" Elixir filetype plugin
|
||||
" Language: HEEx
|
||||
" Maintainer: Mitchell Hanberg <vimNOSPAM@mitchellhanberg.com>
|
||||
" Last Change: 2022 Sep 21
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal shiftwidth=2 softtabstop=2 expandtab
|
||||
|
||||
setlocal comments=:<%!--
|
||||
setlocal commentstring=<%!--\ %s\ --%>
|
||||
|
||||
let b:undo_ftplugin = 'set sw< sts< et< com< cms<'
|
@ -3,7 +3,8 @@
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Previous Maintainer: Max Ischenko <mfi@ukr.net>
|
||||
" Contributor: Dorai Sitaram <ds26@gte.com>
|
||||
" Last Change: 2022 Sep 05
|
||||
" C.D. MacEachern <craig.daniel.maceachern@gmail.com>
|
||||
" Last Change: 2022 Nov 19
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@ -19,9 +20,11 @@ setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
let &l:define = '\<function\|\<local\%(\s\+function\)\='
|
||||
|
||||
" TODO: handle init.lua
|
||||
setlocal includeexpr=tr(v:fname,'.','/')
|
||||
setlocal suffixesadd=.lua
|
||||
|
||||
let b:undo_ftplugin = "setlocal cms< com< def< fo< sua<"
|
||||
let b:undo_ftplugin = "setlocal cms< com< def< fo< inex< sua<"
|
||||
|
||||
if exists("loaded_matchit") && !exists("b:match_words")
|
||||
let b:match_ignorecase = 0
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user