Merge remote-tracking branch 'vim/master'

This commit is contained in:
Yee Cheng Chin
2025-10-10 15:00:56 -07:00
615 changed files with 20880 additions and 12737 deletions

19
.github/MAINTAINERS vendored
View File

@@ -136,6 +136,7 @@ runtime/ftplugin/chatito.vim @ObserverOfTime
runtime/ftplugin/chicken.vim @evhan runtime/ftplugin/chicken.vim @evhan
runtime/ftplugin/clojure.vim @axvr runtime/ftplugin/clojure.vim @axvr
runtime/ftplugin/cmakecache.vim @ribru17 runtime/ftplugin/cmakecache.vim @ribru17
runtime/ftplugin/codeowners.vim @jparise
runtime/ftplugin/cook.vim @ribru17 runtime/ftplugin/cook.vim @ribru17
runtime/ftplugin/cs.vim @nickspoons runtime/ftplugin/cs.vim @nickspoons
runtime/ftplugin/csh.vim @dkearns runtime/ftplugin/csh.vim @dkearns
@@ -187,8 +188,8 @@ runtime/ftplugin/gyp.vim @ObserverOfTime
runtime/ftplugin/haml.vim @tpope runtime/ftplugin/haml.vim @tpope
runtime/ftplugin/hare.vim @selenebun runtime/ftplugin/hare.vim @selenebun
runtime/ftplugin/haredoc.vim @selenebun runtime/ftplugin/haredoc.vim @selenebun
runtime/ftplugin/heex.vim @cvincent
runtime/ftplugin/hcl.vim @gpanders runtime/ftplugin/hcl.vim @gpanders
runtime/ftplugin/heex.vim @cvincent
runtime/ftplugin/hgcommit.vim @k-takata runtime/ftplugin/hgcommit.vim @k-takata
runtime/ftplugin/hlsplaylist.vim @avidseeker runtime/ftplugin/hlsplaylist.vim @avidseeker
runtime/ftplugin/hog.vim @wtfbbqhax runtime/ftplugin/hog.vim @wtfbbqhax
@@ -205,16 +206,18 @@ runtime/ftplugin/javacc.vim @ribru17
runtime/ftplugin/javascript.vim @dkearns runtime/ftplugin/javascript.vim @dkearns
runtime/ftplugin/javascriptreact.vim @dkearns runtime/ftplugin/javascriptreact.vim @dkearns
runtime/ftplugin/jjdescription.vim @gpanders runtime/ftplugin/jjdescription.vim @gpanders
runtime/ftplugin/jq.vim @vito-c
runtime/ftplugin/json.vim @dbarnett runtime/ftplugin/json.vim @dbarnett
runtime/ftplugin/json5.vim @dkearns runtime/ftplugin/json5.vim @dkearns
runtime/ftplugin/jsonc.vim @izhakjakov runtime/ftplugin/jsonc.vim @izhakjakov
runtime/ftplugin/julia.vim @carlobaldassi runtime/ftplugin/julia.vim @carlobaldassi
runtime/ftplugin/just.vim @pbnj runtime/ftplugin/just.vim @pbnj
runtime/ftplugin/jq.vim @vito-c
runtime/ftplugin/kconfig.vim @chrisbra runtime/ftplugin/kconfig.vim @chrisbra
runtime/ftplugin/kdl.vim @imsnif @jiangyinzuo runtime/ftplugin/kdl.vim @imsnif @jiangyinzuo
runtime/ftplugin/kerml.vim @daumantas-kavolis-sensmetry
runtime/ftplugin/kivy.vim @ribru17 runtime/ftplugin/kivy.vim @ribru17
runtime/ftplugin/kotlin.vim @udalov runtime/ftplugin/kotlin.vim @udalov
runtime/ftplugin/lc.vim @ribru17
runtime/ftplugin/ldapconf.vim @ribru17 runtime/ftplugin/ldapconf.vim @ribru17
runtime/ftplugin/leo.vim @ribru17 runtime/ftplugin/leo.vim @ribru17
runtime/ftplugin/less.vim @genoma runtime/ftplugin/less.vim @genoma
@@ -222,7 +225,6 @@ runtime/ftplugin/lex.vim @ribru17
runtime/ftplugin/lf.vim @andis-sprinkis runtime/ftplugin/lf.vim @andis-sprinkis
runtime/ftplugin/liquid.vim @tpope runtime/ftplugin/liquid.vim @tpope
runtime/ftplugin/lua.vim @dkearns runtime/ftplugin/lua.vim @dkearns
runtime/ftplugin/lc.vim @ribru17
runtime/ftplugin/lynx.vim @dkearns runtime/ftplugin/lynx.vim @dkearns
runtime/ftplugin/m17ndb.vim @dseomn runtime/ftplugin/m17ndb.vim @dseomn
runtime/ftplugin/m3build.vim @dkearns runtime/ftplugin/m3build.vim @dkearns
@@ -295,6 +297,7 @@ runtime/ftplugin/sshdconfig.vim @jiangyinzuo
runtime/ftplugin/svelte.vim @igorlfs runtime/ftplugin/svelte.vim @igorlfs
runtime/ftplugin/sway.vim @ribru17 runtime/ftplugin/sway.vim @ribru17
runtime/ftplugin/swayconfig.vim @jamespeapen runtime/ftplugin/swayconfig.vim @jamespeapen
runtime/ftplugin/sysml.vim @daumantas-kavolis-sensmetry
runtime/ftplugin/systemverilog.vim @Kocha runtime/ftplugin/systemverilog.vim @Kocha
runtime/ftplugin/swig.vim @jmarrec runtime/ftplugin/swig.vim @jmarrec
runtime/ftplugin/tap.vim @petdance runtime/ftplugin/tap.vim @petdance
@@ -456,6 +459,7 @@ runtime/syntax/chatito.vim @ObserverOfTime
runtime/syntax/chicken.vim @evhan runtime/syntax/chicken.vim @evhan
runtime/syntax/chuck.vim @andreacfromtheapp runtime/syntax/chuck.vim @andreacfromtheapp
runtime/syntax/clojure.vim @axvr runtime/syntax/clojure.vim @axvr
runtime/syntax/codeowners.vim @jparise
runtime/syntax/cs.vim @nickspoons runtime/syntax/cs.vim @nickspoons
runtime/syntax/csv.vim @habamax runtime/syntax/csv.vim @habamax
runtime/syntax/cucumber.vim @tpope runtime/syntax/cucumber.vim @tpope
@@ -536,6 +540,7 @@ runtime/syntax/just.vim @pbnj
runtime/syntax/jq.vim @vito-c runtime/syntax/jq.vim @vito-c
runtime/syntax/karel.vim @kirillmorozov runtime/syntax/karel.vim @kirillmorozov
runtime/syntax/kconfig.vim @chrisbra runtime/syntax/kconfig.vim @chrisbra
runtime/syntax/kitty.vim @OXY2DEV
runtime/syntax/kivy.vim @prophittcorey runtime/syntax/kivy.vim @prophittcorey
runtime/syntax/kotlin.vim @udalov runtime/syntax/kotlin.vim @udalov
runtime/syntax/kdl.vim @imsnif @jiangyinzuo runtime/syntax/kdl.vim @imsnif @jiangyinzuo
@@ -543,9 +548,10 @@ runtime/syntax/krl.vim @KnoP-01
runtime/syntax/less.vim @genoma runtime/syntax/less.vim @genoma
runtime/syntax/lf.vim @andis-sprinkis runtime/syntax/lf.vim @andis-sprinkis
runtime/syntax/liquid.vim @tpope runtime/syntax/liquid.vim @tpope
runtime/syntax/log.vim @mao-yining
runtime/syntax/lua.vim @marcuscf runtime/syntax/lua.vim @marcuscf
runtime/syntax/lyrics.vim @ObserverOfTime
runtime/syntax/lynx.vim @dkearns runtime/syntax/lynx.vim @dkearns
runtime/syntax/lyrics.vim @ObserverOfTime
runtime/syntax/m17ndb.vim @dseomn runtime/syntax/m17ndb.vim @dseomn
runtime/syntax/m3build.vim @dkearns runtime/syntax/m3build.vim @dkearns
runtime/syntax/m3quake.vim @dkearns runtime/syntax/m3quake.vim @dkearns
@@ -581,6 +587,7 @@ runtime/syntax/pbtxt.vim @lakshayg
runtime/syntax/pdf.vim @tpope runtime/syntax/pdf.vim @tpope
runtime/syntax/perl.vim @petdance runtime/syntax/perl.vim @petdance
runtime/syntax/php.vim @TysonAndre runtime/syntax/php.vim @TysonAndre
runtime/syntax/pkl.vim @jclsn
runtime/syntax/plsql.vim @lee-lindley runtime/syntax/plsql.vim @lee-lindley
runtime/syntax/pod.vim @petdance runtime/syntax/pod.vim @petdance
runtime/syntax/poefilter.vim @ObserverOfTime runtime/syntax/poefilter.vim @ObserverOfTime
@@ -666,7 +673,6 @@ runtime/syntax/zsh.vim @chrisbra
runtime/tutor/tutor1.eo @dpelle runtime/tutor/tutor1.eo @dpelle
runtime/tutor/tutor1.fr @dpelle runtime/tutor/tutor1.fr @dpelle
runtime/tutor/tutor1.ru @RestorerZ runtime/tutor/tutor1.ru @RestorerZ
runtime/tutor/tutor2.fr @dlejay
src/iscygpty.* @k-takata src/iscygpty.* @k-takata
src/libvterm/ @leonerd src/libvterm/ @leonerd
src/po/ca.po @nfdisco src/po/ca.po @nfdisco
@@ -683,4 +689,7 @@ src/po/ru.po @RestorerZ
src/po/sr.po @eevan78 src/po/sr.po @eevan78
src/po/tr.po @bitigchi src/po/tr.po @bitigchi
src/po/uk.po @sakhnik src/po/uk.po @sakhnik
src/proto/gen_prototypes.py @h-east
src/xxd/ @jnweiger src/xxd/ @jnweiger
# vim:ft=codeowners

2
.github/labeler.yml vendored
View File

@@ -45,9 +45,7 @@ if_perl:
- changed-files: - changed-files:
- any-glob-to-any-file: - any-glob-to-any-file:
- 'src/if_perl.xs' - 'src/if_perl.xs'
- 'src/if_perlsfio.c'
- 'src/proto/if_perl.pro' - 'src/proto/if_perl.pro'
- 'src/proto/if_perlsfio.pro'
- 'runtime/doc/if_perl.txt' - 'runtime/doc/if_perl.txt'
if_python: if_python:

1
.gitignore vendored
View File

@@ -11,6 +11,7 @@ src/objects
src/po/big5corr src/po/big5corr
src/po/sjiscorr src/po/sjiscorr
src/types.vim src/types.vim
src/tmp_make
# We do need src/auto/configure. # We do need src/auto/configure.
src/auto/config.cache src/auto/config.cache

View File

@@ -251,6 +251,7 @@ SRC_ALL = \
src/testdir/viewdumps.vim \ src/testdir/viewdumps.vim \
src/proto.h \ src/proto.h \
src/protodef.h \ src/protodef.h \
src/proto/gen_prototypes.py \
src/proto/alloc.pro \ src/proto/alloc.pro \
src/proto/arabic.pro \ src/proto/arabic.pro \
src/proto/arglist.pro \ src/proto/arglist.pro \
@@ -537,6 +538,7 @@ SRC_UNIX = \
src/vimtutor \ src/vimtutor \
src/gvimtutor \ src/gvimtutor \
src/wayland.c \ src/wayland.c \
src/wayland.h \
src/which.sh \ src/which.sh \
src/gen-wayland-protocols.sh \ src/gen-wayland-protocols.sh \
src/xxd/Makefile \ src/xxd/Makefile \
@@ -549,7 +551,6 @@ SRC_DOS_UNIX = \
src/if_mzsch.c \ src/if_mzsch.c \
src/if_mzsch.h \ src/if_mzsch.h \
src/if_perl.xs \ src/if_perl.xs \
src/if_perlsfio.c \
src/if_python.c \ src/if_python.c \
src/if_python3.c \ src/if_python3.c \
src/if_py_both.h \ src/if_py_both.h \
@@ -560,7 +561,6 @@ SRC_DOS_UNIX = \
src/proto/if_lua.pro \ src/proto/if_lua.pro \
src/proto/if_mzsch.pro \ src/proto/if_mzsch.pro \
src/proto/if_perl.pro \ src/proto/if_perl.pro \
src/proto/if_perlsfio.pro \
src/proto/if_python.pro \ src/proto/if_python.pro \
src/proto/if_python3.pro \ src/proto/if_python3.pro \
src/proto/if_ruby.pro \ src/proto/if_ruby.pro \
@@ -638,8 +638,8 @@ SRC_DOS = \
src/tee/tee.c \ src/tee/tee.c \
src/xxd/Make_ming.mak \ src/xxd/Make_ming.mak \
src/xxd/Make_mvc.mak \ src/xxd/Make_mvc.mak \
nsis/auxiliary.nsh \
nsis/gvim.nsi \ nsis/gvim.nsi \
nsis/gvim_version.nsh \
nsis/Makefile \ nsis/Makefile \
nsis/Make_mvc.mak \ nsis/Make_mvc.mak \
nsis/README.txt \ nsis/README.txt \

View File

@@ -105,7 +105,7 @@ MINOR = 1
# - Update Vim version number. For a test version in: src/version.h, # - Update Vim version number. For a test version in: src/version.h,
# READMEdir/Contents, MAJOR/MINOR above, VIMMAJOR and VIMMINOR in # READMEdir/Contents, MAJOR/MINOR above, VIMMAJOR and VIMMINOR in
# src/Makefile, README.txt, README.md, src/README.md, READMEdir/README*.txt, # src/Makefile, README.txt, README.md, src/README.md, READMEdir/README*.txt,
# runtime/doc/*.txt and make nsis/gvim_version.nsh. # runtime/doc/*.txt.
# For a minor/major version: src/GvimExt/GvimExt.reg, src/vim.manifest. # For a minor/major version: src/GvimExt/GvimExt.reg, src/vim.manifest.
# - Compile Vim with GTK, Perl, Python, Python3, TCL, Ruby, Lua, Cscope and # - Compile Vim with GTK, Perl, Python, Python3, TCL, Ruby, Lua, Cscope and
# "huge" features. Add MZscheme if you can make it work. # "huge" features. Add MZscheme if you can make it work.
@@ -410,7 +410,7 @@ amisrc: dist prepare
mv dist/vim$(VERSION)src.tar.gz dist/vim$(VERSION)src.tgz mv dist/vim$(VERSION)src.tar.gz dist/vim$(VERSION)src.tgz
# MS-DOS sources # MS-DOS sources
dossrc: dist dist/$(COMMENT_SRC) license nsis/gvim_version.nsh dossrc: dist dist/$(COMMENT_SRC) license
-rm -rf dist/vim$(VERSION)src.zip -rm -rf dist/vim$(VERSION)src.zip
-rm -rf dist/vim -rm -rf dist/vim
mkdir dist/vim mkdir dist/vim
@@ -423,7 +423,6 @@ dossrc: dist dist/$(COMMENT_SRC) license nsis/gvim_version.nsh
$(SRC_DOS_UNIX) \ $(SRC_DOS_UNIX) \
lang/LICENSE.*.txt \ lang/LICENSE.*.txt \
lang/README.*.txt \ lang/README.*.txt \
nsis/gvim_version.nsh \
| (cd dist/vim/$(VIMRTDIR); tar xf -) | (cd dist/vim/$(VIMRTDIR); tar xf -)
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR) mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
rmdir dist/vim/$(VIMRTDIR)/runtime rmdir dist/vim/$(VIMRTDIR)/runtime
@@ -432,9 +431,6 @@ dossrc: dist dist/$(COMMENT_SRC) license nsis/gvim_version.nsh
license: license:
cd nsis && $(MAKE) -f Makefile $@ cd nsis && $(MAKE) -f Makefile $@
nsis/gvim_version.nsh: Makefile
cd nsis && $(MAKE) -f Makefile $(@F)
dosrt: dist dist/$(COMMENT_RT) dosrt_files dosrt: dist dist/$(COMMENT_RT) dosrt_files
-rm -rf dist/vim$(VERSION)rt.zip -rm -rf dist/vim$(VERSION)rt.zip
cd dist && zip -9 -rD -z vim$(VERSION)rt.zip vim <$(COMMENT_RT) cd dist && zip -9 -rD -z vim$(VERSION)rt.zip vim <$(COMMENT_RT)

View File

@@ -33,6 +33,7 @@ Pmenu
PmenuSbar PmenuSbar
PmenuSel PmenuSel
PmenuThumb PmenuThumb
PmenuShadow
Question Question
Scrollbar Scrollbar
Search Search
@@ -51,6 +52,8 @@ TabLineFill
TabLineSel TabLineSel
Terminal Terminal
Title Title
TitleBar
TitleBarNC
TOhtmlProgress TOhtmlProgress
TOhtml-progress-color TOhtml-progress-color
ToolbarButton ToolbarButton

View File

@@ -1,60 +1,12 @@
# #
# Makefile for MS Windows for create self-installing exe of Vim. # Makefile for MS Windows for create self-installing exe of Vim.
# 202404-05, Restorer, restorer@mail2k.ru # 2025-10-03, Restorer, restorer@mail2k.ru
# #
# included common tools # included common tools
!INCLUDE ..\src\auto\nmake\tools.mak !INCLUDE ..\src\auto\nmake\tools.mak
# Read MAJOR and MINOR from version.h.
!IFNDEF MAJOR
! IF ![for /F "tokens=3" %G in \
('findstr /RC:"VIM_VERSION_MAJOR[ ^]*[0-9^]" ..\src\version.h') \
do @(echo:MAJOR=%G>> .\_major.tmp)]
! INCLUDE .\_major.tmp
! IF [$(RM) .\_major.tmp]
! ENDIF
! ELSE
MAJOR = 9
! ENDIF
!ENDIF
!IFNDEF MINOR
! IF ![for /F "tokens=3" %G in \
('findstr /RC:"VIM_VERSION_MINOR[ ^]*[0-9^]" ..\src\version.h') \
do @(echo:MINOR=%G>> .\_minor.tmp)]
! INCLUDE .\_minor.tmp
! IF [$(RM) .\_minor.tmp]
! ENDIF
! ELSE
MINOR = 1
! ENDIF
!ENDIF
# Read PATCHLEVEL from version.c
!IFNDEF PATCHLEVEL
! IF ![for /F %G in \
('findstr /NBLC:"static int included_patches" ..\src\version.c \
^| (set /p "_t=" ^& set /a _t+=2 ^)') do \
@$(CMD) $(CMDFLAGS) "for /F "skip=%G delims=, " %H in \
(..\src\version.c) do (echo:PATCHLEVEL=%H> .\_patchlvl.tmp & exit /b)"]
! INCLUDE .\_patchlvl.tmp
! IF [$(RM) .\_patchlvl.tmp]
! ENDIF
! ELSE
PATCHLEVEL = 0
! ENDIF
!ENDIF
!IF $(PATCHLEVEL) < 10
PATCHLEVEL = 000$(PATCHLEVEL)
!ELSEIF $(PATCHLEVEL) < 100
PATCHLEVEL = 00$(PATCHLEVEL)
!ELSEIF $(PATCHLEVEL) < 1000
PATCHLEVEL = 0$(PATCHLEVEL)
!ENDIF
.SUFFIXES : .SUFFIXES :
!IFDEF PROGRAMW6432 !IFDEF PROGRAMW6432
@@ -119,23 +71,13 @@ all : makeinst
makeinst : prepare makeinst : prepare
^"$(MKNSIS)" $(MKNSISFLAGS) gvim.nsi $(XX) ^"$(MKNSIS)" $(MKNSISFLAGS) gvim.nsi $(XX)
prepare : unzipicons gvim_version.nsh license rename prepare : unzipicons license rename
unzipicons : icons.zip unzipicons : icons.zip
@ if exist %|fF\nul $(RD) %|fF @ if exist %|fF\nul $(RD) %|fF
@ $(PS) $(PSFLAGS) \ @ $(PS) $(PSFLAGS) \
Add-Type -AssemblyName 'System.IO.Compression.FileSystem'; \ Add-Type -AssemblyName 'System.IO.Compression.FileSystem'; \
[System.IO.Compression.ZipFile]::ExtractToDirectory(\"$**\", \ [System.IO.Compression.ZipFile]::ExtractToDirectory('$**', '.')
\".\")
gvim_version.nsh : Make_mvc.mak
@ 1> $@ echo:^# Generated from Makefile: define the version numbers
@ 1>> $@ echo:^!ifndef __GVIM_VER__NSH__
@ 1>> $@ echo:^!define __GVIM_VER__NSH__
@ 1>> $@ echo:^!define VER_MAJOR $(MAJOR)
@ 1>> $@ echo:^!define VER_MINOR $(MINOR)
@ 1>> $@ echo:^!define PATCHLEVEL $(PATCHLEVEL)
@ 1>> $@ echo:^!endif
license : ..\lang\LICENSE.*.txt ..\LICENSE license : ..\lang\LICENSE.*.txt ..\LICENSE
!@ $(PS) $(PSFLAGS) \ !@ $(PS) $(PSFLAGS) \
@@ -146,7 +88,6 @@ rename :
@ ..\tools\rename.bat "$(SRC)" "$(DST)" 1> nul @ ..\tools\rename.bat "$(SRC)" "$(DST)" 1> nul
clean : clean :
@ if exist .\gvim_version.nsh $(RM) .\gvim_version.nsh
@ if exist ..\lang\LICENSE*.nsis.txt $(RM) ..\lang\LICENSE*.nsis.txt @ if exist ..\lang\LICENSE*.nsis.txt $(RM) ..\lang\LICENSE*.nsis.txt
@ if exist .\icons\nul $(RD) .\icons @ if exist .\icons\nul $(RD) .\icons
@ if exist .\gvim??.exe $(RM) .\gvim??.exe @ if exist .\gvim??.exe $(RM) .\gvim??.exe

View File

@@ -1,6 +1,6 @@
# #
# Makefile for UNIX-like for create self-installing exe of Vim. # Makefile for UNIX-like for create self-installing exe of Vim.
# 15/12/2024, Restorer restorer@mail2k.ru # 2025-10-03, Restorer, restorer@mail2k.ru
# #
@@ -51,13 +51,6 @@ ifdef X
XX := -X"$(X:;=" -X")" XX := -X"$(X:;=" -X")"
endif endif
MAJOR != grep -E 'VIM_VERSION_MAJOR\s{2,}' ../src/version.h | \
awk '{ printf "%d",$$3 }'
MINOR != grep -E 'VIM_VERSION_MINOR\s{2,}' ../src/version.h | \
awk '{ printf "%d",$$3 }'
PATCH != awk '/number below this line/,/,/' ../src/version.c | \
awk 'NR == 3 { printf "%04d",$$1 }' | sed -e 's/[ ,]//g'
MKNSISFLAGS := -INPUTCHARSET UTF8 $(MKNSISFLAGS) MKNSISFLAGS := -INPUTCHARSET UTF8 $(MKNSISFLAGS)
all: makeinst all: makeinst
@@ -65,21 +58,12 @@ all: makeinst
makeinst: prepare makeinst: prepare
makensis $(MKNSISFLAGS) gvim.nsi $(XX) makensis $(MKNSISFLAGS) gvim.nsi $(XX)
prepare: unzipicons gvim_version.nsh license rename prepare: unzipicons license rename
unzipicons: icons.zip unzipicons: icons.zip
if test -d `basename $? .zip` ; then rm -rf `basename $? .zip` ; fi if test -d `basename $? .zip` ; then rm -rf `basename $? .zip` ; fi
unzip $? unzip $?
gvim_version.nsh: Makefile
echo "# Generated from Makefile: define the version numbers" > $@
echo "!ifndef __GVIM_VER__NSH__" >> $@
echo "!define __GVIM_VER__NSH__" >> $@
echo "!define VER_MAJOR $(MAJOR)" >> $@
echo "!define VER_MINOR $(MINOR)" >> $@
echo "!define PATCHLEVEL $(PATCH)" >> $@
echo "!endif" >> $@
license: ../lang/LICENSE.*.txt ../LICENSE license: ../lang/LICENSE.*.txt ../LICENSE
for lic in $? ; do \ for lic in $? ; do \
bn=`basename $$lic .txt` ; \ bn=`basename $$lic .txt` ; \
@@ -91,7 +75,6 @@ rename:
../tools/rename.bat "$(SRC)" "$(DST)" ../tools/rename.bat "$(SRC)" "$(DST)"
clean: clean:
if test -f gvim_version.nsh ; then rm -f gvim_version.nsh ; fi
rm -f ../lang/LICENSE*.nsis.txt rm -f ../lang/LICENSE*.nsis.txt
if test -d icons ; then rm -rf icons ; fi if test -d icons ; then rm -rf icons ; fi
if test -f gvim??.exe ; then rm -f gvim??.exe ; fi if test -f gvim??.exe ; then rm -f gvim??.exe ; fi

View File

@@ -108,3 +108,5 @@ Variables and their values available for building the installer (not mandatory):
Example "X=OutFile MyVim.exe;XPMode on" Example "X=OutFile MyVim.exe;XPMode on"
"MKNSIS=<dir>" — the directory where the "makensis.exe" program is "MKNSIS=<dir>" — the directory where the "makensis.exe" program is
located. located.
Note: for icons used in the installer, see the README.txt in the icons.zip

148
nsis/auxiliary.nsh Normal file
View File

@@ -0,0 +1,148 @@
# -*- coding: utf-8 -*-
# NSIS helper file for creating a self-installing exe for Vim.
# Contains service macros and functions.
# Last Change: 2025-09-03
#
!ifndef __AUXILIARY__NSH__
!define __AUXILIARY__NSH__
# See https://nsis.sourceforge.io/LogicLib
;FileExists is already part of LogicLib, but returns true for directories
;as well as files
!macro _FileExists2 _a _b _t _f
!insertmacro _LOGICLIB_TEMP
StrCpy $_LOGICLIB_TEMP "0"
;if path is not blank, continue to next check
StrCmp `${_b}` `` +4 0
;if path exists, continue to next check (IfFileExists returns true if this
;is a directory)
IfFileExists `${_b}` `0` +3
;if path is not a directory, continue to confirm exists
IfFileExists `${_b}\*.*` +2 0
StrCpy $_LOGICLIB_TEMP "1" ;file exists
;now we have a definitive value - the file exists or it does not
StrCmp $_LOGICLIB_TEMP "1" `${_t}` `${_f}`
!macroend
!undef FileExists
!define FileExists `"" FileExists2`
!macro _DirExists _a _b _t _f
!insertmacro _LOGICLIB_TEMP
StrCpy $_LOGICLIB_TEMP "0"
;if path is not blank, continue to next check
StrCmp `${_b}` `` +3 0
;if directory exists, continue to confirm exists
IfFileExists `${_b}\*.*` 0 +2
StrCpy $_LOGICLIB_TEMP "1"
StrCmp $_LOGICLIB_TEMP "1" `${_t}` `${_f}`
!macroend
!define DirExists `"" DirExists`
# Get parent directory
# Share this function both on installer and uninstaller
!macro GetParent un
Function ${un}GetParent
Exch $0 ; old $0 is on top of stack
Push $1
Push $2
StrCpy $1 -1
${Do}
StrCpy $2 $0 1 $1
${If} $2 == ""
${OrIf} $2 == "\"
${ExitDo}
${EndIf}
IntOp $1 $1 - 1
${Loop}
StrCpy $0 $0 $1
Pop $2
Pop $1
Exch $0 ; put $0 on top of stack, restore $0 to original value
FunctionEnd
!macroend
!insertmacro GetParent ""
!insertmacro GetParent "un."
# Get home directory
!macro GetHomeDir un
Function ${un}GetHomeDir
Push $0
Push $1
ReadEnvStr $0 "HOME"
${If} $0 == ""
ReadEnvStr $0 "HOMEDRIVE"
ReadEnvStr $1 "HOMEPATH"
StrCpy $0 "$0$1"
${If} $0 == ""
ReadEnvStr $0 "USERPROFILE"
${EndIf}
${EndIf}
Pop $1
Exch $0 ; put $0 on top of stack, restore $0 to original value
FunctionEnd
!macroend
!insertmacro GetHomeDir ""
!insertmacro GetHomeDir "un."
# Saving the status of sections of the current installation in the registry
!macro SaveSectionSelection section_id reg_value
${If} ${SectionIsSelected} ${section_id}
WriteRegDWORD HKLM "${UNINST_REG_KEY_VIM}" ${reg_value} 1
${Else}
WriteRegDWORD HKLM "${UNINST_REG_KEY_VIM}" ${reg_value} 0
${EndIf}
!macroend
# Reading the status of sections from the registry of the previous installation
!macro LoadSectionSelection section_id reg_value
ClearErrors
ReadRegDWORD $3 HKLM "${UNINST_REG_KEY_VIM}" ${reg_value}
${IfNot} ${Errors}
${If} $3 = 1
!insertmacro SelectSection ${section_id}
${Else}
!insertmacro UnselectSection ${section_id}
${EndIf}
${EndIf}
!macroend
# Reading the settings for _vimrc from the registry of a previous installation
!macro LoadDefaultVimrc out_var reg_value default_value
ClearErrors
ReadRegStr ${out_var} HKLM "${UNINST_REG_KEY_VIM}" ${reg_value}
${If} ${Errors}
${OrIf} ${out_var} == ""
StrCpy ${out_var} ${default_value}
${EndIf}
!macroend
# Get user locale
!if ${HAVE_NLS}
Var lng_usr ; variable containing the locale of the current user
!include "StrFunc.nsh"
${StrRep}
Function GetUserLocale
ClearErrors
System::Call \
'kernel32::GetUserDefaultLocaleName(t.r19, *i${NSIS_MAX_STRLEN})'
StrCmp $R9 "zh-cn" coincide 0
StrCmp $R9 "zh-tw" coincide 0
StrCmp $R9 "pt-br" 0 part
coincide:
System::Call 'User32::CharLower(t r19 r19)*i${NSIS_MAX_STRLEN}'
${StrRep} $lng_usr "$R9" "-" "_"
Goto done
part:
StrCpy $lng_usr $R9 2
done:
FunctionEnd
!endif
!endif # __AUXILIARY__NSH__
# vi:set ts=8 sw=2 sts=2 tw=79 wm=0 ft=nsis:

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +0,0 @@
# Generated from Makefile: define the version numbers
!ifndef __GVIM_VER__NSH__
!define __GVIM_VER__NSH__
!define VER_MAJOR 9
!define VER_MINOR 1
!define PATCHLEVEL 0
!endif

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,7 @@ vim9script
# Language: Vim script # Language: Vim script
# Maintainer: github user lacygoill # Maintainer: github user lacygoill
# Last Change: 2025 Jul 25 # Last Change: 2025 Oct 09
# #
# Includes changes from The Vim Project: # Includes changes from The Vim Project:
@@ -341,7 +341,8 @@ const PLUS_MINUS_COMMAND: string = '^\s*[+-]\s*$'
patterns =<< trim eval END patterns =<< trim eval END
{'\'}<argd\%[elete]\s\+\*\s*$ {'\'}<argd\%[elete]\s\+\*\s*$
\<[lt]\=cd!\=\s\+-\s*$ \<[lt]\=cd!\=\s\+-\s*$
\<norm\%[al]!\=\s*\S\+$ \<norm\%[al]!\=\s\+.*$
\<reg\%[isters]\%(\s\+\S\+\)\+$
\%(\<sil\%[ent]!\=\s\+\)\=\<[nvxsoilct]\=\%(nore\|un\)\=map!\=\s \%(\<sil\%[ent]!\=\s\+\)\=\<[nvxsoilct]\=\%(nore\|un\)\=map!\=\s
\<set\%(\%[global]\|\%[local]\)\>.*,$ \<set\%(\%[global]\|\%[local]\)\>.*,$
{PLUS_MINUS_COMMAND} {PLUS_MINUS_COMMAND}
@@ -400,6 +401,7 @@ const LINE_CONTINUATION_AT_SOL: string = '^\s*\%('
.. '\|' .. '[#"]\\ ' .. '\|' .. '[#"]\\ '
.. '\|' .. OPERATOR .. '\|' .. OPERATOR
.. '\|' .. '->\s*\h' .. '\|' .. '->\s*\h'
.. '\|' .. '->\s*(' # lambda call: ->((v) => v ? "ON" : "OFF")()
.. '\|' .. '\.\h' # dict member .. '\|' .. '\.\h' # dict member
.. '\|' .. '|' .. '\|' .. '|'
# TODO: `}` at the start of a line is not necessarily a line continuation. # TODO: `}` at the start of a line is not necessarily a line continuation.

View File

@@ -4,7 +4,7 @@ vim9script
# Contributers: @lacygoill # Contributers: @lacygoill
# Shane-XB-Qian # Shane-XB-Qian
# Andrew Radev # Andrew Radev
# Last Change: 2025 Sep 02 # Last Change: 2025 Sep 21
# #
# Vim Script to handle jumping to the targets of several types of Vim commands # Vim Script to handle jumping to the targets of several types of Vim commands
# (:import, :packadd, :runtime, :colorscheme), and to autoloaded functions of # (:import, :packadd, :runtime, :colorscheme), and to autoloaded functions of
@@ -16,17 +16,17 @@ vim9script
export def Find(editcmd: string) #{{{2 export def Find(editcmd: string) #{{{2
var curline: string = getline('.') var curline: string = getline('.')
if curline =~ '^\s*\%(:\s*\)\=packadd!\=\s' if curline =~ '^\s*\%(:\s*\)\=\%(sil\%[ent]!\=\s\+\)\=packadd!\=\s'
HandlePackaddLine(editcmd, curline) HandlePackaddLine(editcmd, curline)
return return
endif endif
if curline =~ '^\s*\%(:\s*\)\=ru\%[ntime]!\=' if curline =~ '^\s*\%(:\s*\)\=\%(sil\%[ent]!\=\s\+\)\=ru\%[ntime]!\='
HandleRuntimeLine(editcmd, curline, expand('<cfile>')) HandleRuntimeLine(editcmd, curline, expand('<cfile>'))
return return
endif endif
if curline =~ '^\s*\%(:\s*\)\=colo\%[rscheme]\s' if curline =~ '^\s*\%(:\s*\)\=\%(sil\%[ent]!\=\s\+\)\=colo\%[rscheme]\s'
HandleColoLine(editcmd, curline) HandleColoLine(editcmd, curline)
return return
endif endif

View File

@@ -1,4 +1,4 @@
" zip.vim: Handles browsing zipfiles " zip.vim: Handles browsing zipfiles
" AUTOLOAD PORTION " AUTOLOAD PORTION
" Date: 2024 Aug 21 " Date: 2024 Aug 21
" Version: 34 " Version: 34
@@ -16,6 +16,7 @@
" 2024 Aug 21 by Vim Project: simplify condition to detect MS-Windows " 2024 Aug 21 by Vim Project: simplify condition to detect MS-Windows
" 2025 Mar 11 by Vim Project: handle filenames with leading '-' correctly " 2025 Mar 11 by Vim Project: handle filenames with leading '-' correctly
" 2025 Jul 12 by Vim Project: drop ../ on write to prevent path traversal attacks " 2025 Jul 12 by Vim Project: drop ../ on write to prevent path traversal attacks
" 2025 Sep 22 by Vim Project: support PowerShell Core
" License: Vim License (see vim's :help license) " License: Vim License (see vim's :help license)
" Copyright: Copyright (C) 2005-2019 Charles E. Campbell {{{1 " Copyright: Copyright (C) 2005-2019 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code, " Permission is hereby granted to use and distribute this code,
@@ -78,15 +79,124 @@ if v:version < 901
finish finish
endif endif
" sanity checks " sanity checks
if !executable(g:zip_unzipcmd) if !executable(g:zip_unzipcmd) && &shell !~ 'pwsh'
call s:Mess('Error', "***error*** (zip#Browse) unzip not available on your system") call s:Mess('Error', "***error*** (zip#Browse) unzip not available on your system")
finish finish
endif endif
if !dist#vim#IsSafeExecutable('zip', g:zip_unzipcmd) if !dist#vim#IsSafeExecutable('zip', g:zip_unzipcmd) && &shell !~ 'pwsh'
call s:Mess('Error', "Warning: NOT executing " .. g:zip_unzipcmd .. " from current directory!") call s:Mess('Error', "Warning: NOT executing " .. g:zip_unzipcmd .. " from current directory!")
finish finish
endif endif
" ----------------
" PowerShell: {{{1
" ----------------
function! s:TryExecGnuFallBackToPs(executable, gnu_func_call, ...)
" Check that a gnu executable is available, run the gnu_func_call if so. If
" the gnu executable is not available or if gnu_func_call fails, try
" ps_func_call if &shell =~ 'pwsh'. If all attempts fail, print errors.
" a:executable - one of (g:zip_zipcmd, g:zip_unzipcmd, g:zip_extractcmd)
" a:gnu_func_call - (string) a gnu function call to execute
" a:1 - (optional string) a PowerShell function call to execute.
let failures = []
if executable(substitute(a:executable,'\s\+.*$','',''))
try
exe a:gnu_func_call
return
catch
call add(failures, 'Failed to execute '.a:gnu_func_call)
endtry
else
call add(failures, a:executable.' not available on your system')
endif
if &shell =~ 'pwsh' && a:0 == 1
try
exe a:1
return
catch
call add(failures, 'Fallback to PowerShell attempted but failed')
endtry
endif
for msg in failures
call s:Mess('Error', msg)
endfor
endfunction
function! s:ZipBrowsePS(zipfile)
" Browse the contents of a zip file using PowerShell's
" Equivalent `unzip -Z1 -- zipfile`
let cmds = [
\ '$zip = [System.IO.Compression.ZipFile]::OpenRead(' . s:Escape(a:zipfile, 1) . ');',
\ '$zip.Entries | ForEach-Object { $_.FullName };',
\ '$zip.Dispose()'
\ ]
return 'pwsh -NoProfile -Command ' . s:Escape(join(cmds, ' '), 1)
endfunction
function! s:ZipReadPS(zipfile, fname, tempfile)
" Read a filename within a zipped file to a temporary file.
" Equivalent to `unzip -p -- zipfile fname > tempfile`
if a:fname =~ '/'
call s:Mess('WarningMsg', "***warning*** PowerShell can display, but cannot update, files in archive subfolders")
endif
let cmds = [
\ '$zip = [System.IO.Compression.ZipFile]::OpenRead(' . s:Escape(a:zipfile, 1) . ');',
\ '$fileEntry = $zip.Entries | Where-Object { $_.FullName -eq ' . s:Escape(a:fname, 1) . ' };',
\ '$stream = $fileEntry.Open();',
\ '$fileStream = [System.IO.File]::Create(' . s:Escape(a:tempfile, 1) . ');',
\ '$stream.CopyTo($fileStream);',
\ '$fileStream.Close();',
\ '$stream.Close();',
\ '$zip.Dispose()'
\ ]
return 'pwsh -NoProfile -Command ' . s:Escape(join(cmds, ' '), 1)
endfunction
function! s:ZipUpdatePS(zipfile, fname)
" Update a filename within a zipped file
" Equivalent to `zip -u zipfile fname`
if a:fname =~ '/'
call s:Mess('Error', "***error*** PowerShell cannot update files in archive subfolders")
return ':'
endif
return 'Compress-Archive -Path ' . a:fname . ' -Update -DestinationPath ' . a:zipfile
endfunction
function! s:ZipExtractFilePS(zipfile, fname)
" Extract a single file from an archive
" Equivalent to `unzip -o zipfile fname`
if a:fname =~ '/'
call s:Mess('Error', "***error*** PowerShell cannot extract files in archive subfolders")
return ':'
endif
let cmds = [
\ '$zip = [System.IO.Compression.ZipFile]::OpenRead(' . s:Escape(a:zipfile, 1) . ');',
\ '$fileEntry = $zip.Entries | Where-Object { $_.FullName -eq ' . a:fname . ' };',
\ '$stream = $fileEntry.Open();',
\ '$fileStream = [System.IO.File]::Create(' . a:fname . ');',
\ '$stream.CopyTo($fileStream);',
\ '$fileStream.Close();',
\ '$stream.Close();',
\ '$zip.Dispose()'
\ ]
return 'pwsh -NoProfile -Command ' . s:Escape(join(cmds, ' '), 1)
endfunction
function! s:ZipDeleteFilePS(zipfile, fname)
" Delete a single file from an archive
" Equivalent to `zip -d zipfile fname`
let cmds = [
\ 'Add-Type -AssemblyName System.IO.Compression.FileSystem;',
\ '$zip = [System.IO.Compression.ZipFile]::Open(' . s:Escape(a:zipfile, 1) . ', ''Update'');',
\ '$entry = $zip.Entries | Where-Object { $_.Name -eq ' . s:Escape(a:fname, 1) . ' };',
\ 'if ($entry) { $entry.Delete(); $zip.Dispose() }',
\ 'else { $zip.Dispose() }'
\ ]
return 'pwsh -NoProfile -Command ' . s:Escape(join(cmds, ' '), 1)
endfunction
" ---------------- " ----------------
" Functions: {{{1 " Functions: {{{1
" ---------------- " ----------------
@@ -105,7 +215,7 @@ fun! zip#Browse(zipfile)
defer s:RestoreOpts(dict) defer s:RestoreOpts(dict)
" sanity checks " sanity checks
if !executable(g:zip_unzipcmd) if !executable(g:zip_unzipcmd) && &shell !~ 'pwsh'
call s:Mess('Error', "***error*** (zip#Browse) unzip not available on your system") call s:Mess('Error', "***error*** (zip#Browse) unzip not available on your system")
return return
endif endif
@@ -140,7 +250,10 @@ fun! zip#Browse(zipfile)
\ '" Select a file with cursor and press ENTER']) \ '" Select a file with cursor and press ENTER'])
keepj $ keepj $
exe $"keepj sil r! {g:zip_unzipcmd} -Z1 -- {s:Escape(a:zipfile, 1)}" let gnu_cmd = "keepj sil r! " . g:zip_unzipcmd . " -Z1 -- " . s:Escape(a:zipfile, 1)
let ps_cmd = 'keepj sil r! ' . s:ZipBrowsePS(a:zipfile)
call s:TryExecGnuFallBackToPs(g:zip_unzipcmd, gnu_cmd, ps_cmd)
if v:shell_error != 0 if v:shell_error != 0
call s:Mess('WarningMsg', "***warning*** (zip#Browse) ".fnameescape(a:zipfile)." is not a zip file") call s:Mess('WarningMsg', "***warning*** (zip#Browse) ".fnameescape(a:zipfile)." is not a zip file")
keepj sil! %d keepj sil! %d
@@ -210,7 +323,7 @@ fun! zip#Read(fname,mode)
endif endif
let fname = fname->substitute('[', '[[]', 'g')->escape('?*\\') let fname = fname->substitute('[', '[[]', 'g')->escape('?*\\')
" sanity check " sanity check
if !executable(substitute(g:zip_unzipcmd,'\s\+.*$','','')) if !executable(substitute(g:zip_unzipcmd,'\s\+.*$','','')) && &shell !~ 'pwsh'
call s:Mess('Error', "***error*** (zip#Read) sorry, your system doesn't appear to have the ".g:zip_unzipcmd." program") call s:Mess('Error', "***error*** (zip#Read) sorry, your system doesn't appear to have the ".g:zip_unzipcmd." program")
return return
endif endif
@@ -220,7 +333,11 @@ fun! zip#Read(fname,mode)
" but allows zipfile://... entries in quickfix lists " but allows zipfile://... entries in quickfix lists
let temp = tempname() let temp = tempname()
let fn = expand('%:p') let fn = expand('%:p')
exe "sil !".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fname,1).' > '.temp
let gnu_cmd = 'sil !' . g:zip_unzipcmd . ' -p -- ' . s:Escape(zipfile, 1) . ' ' . s:Escape(fname, 1) . ' > ' . s:Escape(temp, 1)
let ps_cmd = 'sil !' . s:ZipReadPS(zipfile, fname, temp)
call s:TryExecGnuFallBackToPs(g:zip_unzipcmd, gnu_cmd, ps_cmd)
sil exe 'keepalt file '.temp sil exe 'keepalt file '.temp
sil keepj e! sil keepj e!
sil exe 'keepalt file '.fnameescape(fn) sil exe 'keepalt file '.fnameescape(fn)
@@ -241,7 +358,7 @@ fun! zip#Write(fname)
defer s:RestoreOpts(dict) defer s:RestoreOpts(dict)
" sanity checks " sanity checks
if !executable(substitute(g:zip_zipcmd,'\s\+.*$','','')) if !executable(substitute(g:zip_zipcmd,'\s\+.*$','','')) && &shell !~ 'pwsh'
call s:Mess('Error', "***error*** (zip#Write) sorry, your system doesn't appear to have the ".g:zip_zipcmd." program") call s:Mess('Error', "***error*** (zip#Write) sorry, your system doesn't appear to have the ".g:zip_zipcmd." program")
return return
endif endif
@@ -273,7 +390,10 @@ fun! zip#Write(fname)
let fname = substitute(a:fname,'^.\{-}zipfile://.\{-}::\([^\\].*\)$','\1','') let fname = substitute(a:fname,'^.\{-}zipfile://.\{-}::\([^\\].*\)$','\1','')
endif endif
if fname =~ '^[.]\{1,2}/' if fname =~ '^[.]\{1,2}/'
call system(g:zip_zipcmd." -d ".s:Escape(fnamemodify(zipfile,":p"),0)." ".s:Escape(fname,0)) let gnu_cmd = g:zip_zipcmd . ' -d ' . s:Escape(fnamemodify(zipfile,":p"),0) . ' ' . s:Escape(fname,0)
let gnu_cmd = 'call system(''' . substitute(gnu_cmd, "'", "''", 'g') . ''')'
let ps_cmd = $"call system({s:Escape(s:ZipDeleteFilePS(zipfile, fname), 1)})"
call s:TryExecGnuFallBackToPs(g:zip_zipcmd, gnu_cmd, ps_cmd)
let fname = fname->substitute('^\([.]\{1,2}/\)\+', '', 'g') let fname = fname->substitute('^\([.]\{1,2}/\)\+', '', 'g')
let need_rename = 1 let need_rename = 1
endif endif
@@ -299,7 +419,20 @@ fun! zip#Write(fname)
let fname = substitute(fname, '[', '[[]', 'g') let fname = substitute(fname, '[', '[[]', 'g')
endif endif
call system(g:zip_zipcmd." -u ".s:Escape(fnamemodify(zipfile,":p"),0)." ".s:Escape(fname,0)) let gnu_cmd = g:zip_zipcmd . ' -u '. s:Escape(fnamemodify(zipfile,":p"),0) . ' ' . s:Escape(fname,0)
let gnu_cmd = 'call system(''' . substitute(gnu_cmd, "'", "''", 'g') . ''')'
let ps_cmd = s:ZipUpdatePS(s:Escape(fnamemodify(zipfile, ':p'), 0), s:Escape(fname, 0))
let ps_cmd = 'call system(''' . substitute(ps_cmd, "'", "''", 'g') . ''')'
call s:TryExecGnuFallBackToPs(g:zip_zipcmd, gnu_cmd, ps_cmd)
if &shell =~ 'pwsh'
" Vim flashes 'creation in progress ...' from what I believe is the
" ProgressAction stream of PowerShell. Unfortunately, this cannot be
" suppressed (as of 250824) due to an open PowerShell issue.
" https://github.com/PowerShell/PowerShell/issues/21074
" This necessitates a redraw of the buffer.
redraw!
endif
if v:shell_error != 0 if v:shell_error != 0
call s:Mess('Error', "***error*** (zip#Write) sorry, unable to update ".zipfile." with ".fname) call s:Mess('Error', "***error*** (zip#Write) sorry, unable to update ".zipfile." with ".fname)
@@ -370,10 +503,14 @@ fun! zip#Extract()
endif endif
" extract the file mentioned under the cursor " extract the file mentioned under the cursor
call system($"{g:zip_extractcmd} -o {shellescape(b:zipfile)} {target}") let gnu_cmd = g:zip_extractcmd . ' -o '. shellescape(b:zipfile) . ' ' . target
let gnu_cmd = 'call system(''' . substitute(gnu_cmd, "'", "''", 'g') . ''')'
let ps_cmd = $"call system({s:Escape(s:ZipExtractFilePS(b:zipfile, target), 1)})"
call s:TryExecGnuFallBackToPs(g:zip_extractcmd, gnu_cmd, ps_cmd)
if v:shell_error != 0 if v:shell_error != 0
call s:Mess('Error', "***error*** ".g:zip_extractcmd." ".b:zipfile." ".fname.": failed!") call s:Mess('Error', "***error*** ".g:zip_extractcmd." ".b:zipfile." ".fname.": failed!")
elseif !filereadable(fname) elseif !filereadable(fname) && &shell !~ 'pwsh'
call s:Mess('Error', "***error*** attempted to extract ".fname." but it doesn't appear to be present!") call s:Mess('Error', "***error*** attempted to extract ".fname." but it doesn't appear to be present!")
else else
echomsg "***note*** successfully extracted ".fname echomsg "***note*** successfully extracted ".fname

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 98 KiB

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au> " Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
" URL: https://github.com/vim/colorschemes " URL: https://github.com/vim/colorschemes
" License: Same as Vim " License: Same as Vim
" Last Change: 2025 Aug 03 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
set background=dark set background=dark
@@ -115,6 +115,8 @@ hi Statement guifg=#ffffff guibg=NONE guisp=NONE gui=NONE ctermfg=231 ctermbg=NO
hi StatusLine guifg=#000087 guibg=#5fffff guisp=NONE gui=NONE ctermfg=18 ctermbg=87 cterm=NONE term=bold,reverse hi StatusLine guifg=#000087 guibg=#5fffff guisp=NONE gui=NONE ctermfg=18 ctermbg=87 cterm=NONE term=bold,reverse
hi StatusLineNC guifg=#000087 guibg=#008787 guisp=NONE gui=NONE ctermfg=18 ctermbg=30 cterm=NONE term=bold,underline hi StatusLineNC guifg=#000087 guibg=#008787 guisp=NONE gui=NONE ctermfg=18 ctermbg=30 cterm=NONE term=bold,underline
hi Title guifg=#d787d7 guibg=NONE guisp=NONE gui=NONE ctermfg=176 ctermbg=NONE cterm=NONE term=NONE hi Title guifg=#d787d7 guibg=NONE guisp=NONE gui=NONE ctermfg=176 ctermbg=NONE cterm=NONE term=NONE
hi TitleBar guifg=#ffd700 guibg=#1f4f87 guisp=NONE gui=NONE ctermfg=220 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#878787 guibg=#0f3f77 guisp=NONE gui=NONE ctermfg=102 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse term=bold,reverse hi Todo guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse term=bold,reverse
hi ToolbarButton guifg=#ffffff guibg=#005faf guisp=NONE gui=NONE ctermfg=231 ctermbg=25 cterm=NONE term=bold,reverse hi ToolbarButton guifg=#ffffff guibg=#005faf guisp=NONE gui=NONE ctermfg=231 ctermbg=25 cterm=NONE term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -184,6 +186,8 @@ if s:t_Co >= 16
hi StatusLine ctermfg=darkblue ctermbg=cyan cterm=NONE hi StatusLine ctermfg=darkblue ctermbg=cyan cterm=NONE
hi StatusLineNC ctermfg=darkblue ctermbg=darkcyan cterm=NONE hi StatusLineNC ctermfg=darkblue ctermbg=darkcyan cterm=NONE
hi Title ctermfg=magenta ctermbg=NONE cterm=NONE hi Title ctermfg=magenta ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=yellow ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgray ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
hi ToolbarButton ctermfg=white ctermbg=blue cterm=NONE hi ToolbarButton ctermfg=white ctermbg=blue cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -250,6 +254,8 @@ if s:t_Co >= 8
hi StatusLine ctermfg=cyan ctermbg=blue cterm=bold,reverse hi StatusLine ctermfg=cyan ctermbg=blue cterm=bold,reverse
hi StatusLineNC ctermfg=blue ctermbg=cyan cterm=NONE hi StatusLineNC ctermfg=blue ctermbg=cyan cterm=NONE
hi Title ctermfg=magenta ctermbg=NONE cterm=NONE hi Title ctermfg=magenta ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=yellow ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgray ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
hi ToolbarButton ctermfg=blue ctermbg=gray cterm=bold,reverse hi ToolbarButton ctermfg=blue ctermbg=gray cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -3,9 +3,9 @@
" Author: Original author Bohdan Vlasyuk <bohdan@vstu.edu.ua> " Author: Original author Bohdan Vlasyuk <bohdan@vstu.edu.ua>
" URL: https://github.com/vim/colorschemes " URL: https://github.com/vim/colorschemes
" License: Same as Vim " License: Same as Vim
" Last Change: 2025 Aug 03 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
set background=dark set background=dark
@@ -44,6 +44,7 @@ hi! link Number Constant
hi! link Operator Statement hi! link Operator Statement
hi! link PopupNotification Todo hi! link PopupNotification Todo
hi! link PreCondit PreProc hi! link PreCondit PreProc
hi! link PreInsert NonText
hi! link Removed WarningMsg hi! link Removed WarningMsg
hi! link Repeat Statement hi! link Repeat Statement
hi! link SpecialChar Special hi! link SpecialChar Special
@@ -116,6 +117,8 @@ hi StatusLineNC guifg=#000000 guibg=#808080 guisp=NONE gui=NONE ctermfg=16 cterm
hi TabLine guifg=#000000 guibg=#808080 guisp=NONE gui=NONE ctermfg=16 ctermbg=102 cterm=NONE term=bold,underline hi TabLine guifg=#000000 guibg=#808080 guisp=NONE gui=NONE ctermfg=16 ctermbg=102 cterm=NONE term=bold,underline
hi TabLineSel guifg=#000040 guibg=#c0c0c0 guisp=NONE gui=NONE ctermfg=17 ctermbg=252 cterm=NONE term=bold,reverse hi TabLineSel guifg=#000040 guibg=#c0c0c0 guisp=NONE gui=NONE ctermfg=17 ctermbg=252 cterm=NONE term=bold,reverse
hi Title guifg=#ff00ff guibg=NONE guisp=NONE gui=NONE ctermfg=201 ctermbg=NONE cterm=NONE term=NONE hi Title guifg=#ff00ff guibg=NONE guisp=NONE gui=NONE ctermfg=201 ctermbg=NONE cterm=NONE term=NONE
hi TitleBar guifg=#c0c0c0 guibg=#3c3c66 guisp=NONE gui=NONE ctermfg=252 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#808080 guibg=#2c2c56 guisp=NONE gui=NONE ctermfg=102 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse term=bold,reverse hi Todo guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse term=bold,reverse
hi ToolbarButton guifg=#ffffff guibg=#0030ff guisp=NONE gui=NONE ctermfg=231 ctermbg=27 cterm=NONE term=bold,reverse hi ToolbarButton guifg=#ffffff guibg=#0030ff guisp=NONE gui=NONE ctermfg=231 ctermbg=27 cterm=NONE term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -182,6 +185,8 @@ if s:t_Co >= 16
hi TabLine ctermfg=black ctermbg=darkgrey cterm=NONE hi TabLine ctermfg=black ctermbg=darkgrey cterm=NONE
hi TabLineSel ctermfg=white ctermbg=black cterm=NONE hi TabLineSel ctermfg=white ctermbg=black cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=grey ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
hi ToolbarButton ctermfg=white ctermbg=blue cterm=NONE hi ToolbarButton ctermfg=white ctermbg=blue cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -246,6 +251,8 @@ if s:t_Co >= 8
hi TabLine ctermfg=grey ctermbg=black cterm=reverse hi TabLine ctermfg=grey ctermbg=black cterm=reverse
hi TabLineSel ctermfg=darkblue ctermbg=grey cterm=bold,reverse hi TabLineSel ctermfg=darkblue ctermbg=grey cterm=bold,reverse
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=grey ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
hi ToolbarButton ctermfg=darkblue ctermbg=grey cterm=bold,reverse hi ToolbarButton ctermfg=darkblue ctermbg=grey cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer David Schweikert <david@schweikert.ch> " Maintainer: Original maintainer David Schweikert <david@schweikert.ch>
" URL: https://github.com/vim/colorschemes " URL: https://github.com/vim/colorschemes
" License: Same as Vim " License: Same as Vim
" Last Change: 2025 Aug 03 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
set background=light set background=light
@@ -84,6 +84,8 @@ hi TabLine guifg=#000000 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=16 ctermbg=25
hi TabLineFill guifg=NONE guibg=#bcbcbc guisp=NONE gui=NONE ctermfg=NONE ctermbg=250 cterm=NONE term=NONE hi TabLineFill guifg=NONE guibg=#bcbcbc guisp=NONE gui=NONE ctermfg=NONE ctermbg=250 cterm=NONE term=NONE
hi TabLineSel guifg=#000000 guibg=#ffffff guisp=NONE gui=bold ctermfg=16 ctermbg=231 cterm=bold term=bold,reverse hi TabLineSel guifg=#000000 guibg=#ffffff guisp=NONE gui=bold ctermfg=16 ctermbg=231 cterm=bold term=bold,reverse
hi Title guifg=#cd00cd guibg=NONE guisp=NONE gui=bold ctermfg=164 ctermbg=NONE cterm=bold term=NONE hi Title guifg=#cd00cd guibg=NONE guisp=NONE gui=bold ctermfg=164 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#000000 guibg=#ececec guisp=NONE gui=NONE ctermfg=16 ctermbg=255 cterm=NONE term=NONE
hi TitleBarNC guifg=#878787 guibg=#f5f5f5 guisp=NONE gui=NONE ctermfg=102 ctermbg=255 cterm=NONE term=NONE
hi Todo guifg=#000000 guibg=#ffff00 guisp=NONE gui=NONE ctermfg=16 ctermbg=226 cterm=NONE term=bold,reverse hi Todo guifg=#000000 guibg=#ffff00 guisp=NONE gui=NONE ctermfg=16 ctermbg=226 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=#ffffff guibg=#bcbcbc guisp=NONE gui=bold ctermfg=231 ctermbg=250 cterm=bold term=bold,reverse hi ToolbarButton guifg=#ffffff guibg=#bcbcbc guisp=NONE gui=bold ctermfg=231 ctermbg=250 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=NONE ctermbg=254 cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=NONE ctermbg=254 cterm=NONE term=reverse
@@ -155,6 +157,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=NONE ctermbg=darkgrey cterm=NONE hi TabLineFill ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi TabLineSel ctermfg=black ctermbg=white cterm=bold hi TabLineSel ctermfg=black ctermbg=white cterm=bold
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=white cterm=NONE
hi Todo ctermfg=black ctermbg=yellow cterm=NONE hi Todo ctermfg=black ctermbg=yellow cterm=NONE
hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=bold hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=grey cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=grey cterm=NONE
@@ -224,6 +228,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=NONE ctermbg=black cterm=NONE hi TabLineFill ctermfg=NONE ctermbg=black cterm=NONE
hi TabLineSel ctermfg=black ctermbg=gray cterm=NONE hi TabLineSel ctermfg=black ctermbg=gray cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=white cterm=NONE
hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=gray cterm=bold,reverse hi ToolbarButton ctermfg=black ctermbg=gray cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer Hans Fugal <hans@fugal.net> " Maintainer: Original maintainer Hans Fugal <hans@fugal.net>
" URL: https://github.com/vim/colorschemes " URL: https://github.com/vim/colorschemes
" License: Same as Vim " License: Same as Vim
" Last Change: 2025 Aug 03 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
set background=dark set background=dark
@@ -84,6 +84,8 @@ hi TabLine guifg=#333333 guibg=#c2bfa5 guisp=NONE gui=NONE ctermfg=236 ctermbg=1
hi TabLineFill guifg=NONE guibg=#c2bfa5 guisp=NONE gui=NONE ctermfg=NONE ctermbg=144 cterm=NONE term=NONE hi TabLineFill guifg=NONE guibg=#c2bfa5 guisp=NONE gui=NONE ctermfg=NONE ctermbg=144 cterm=NONE term=NONE
hi TabLineSel guifg=#333333 guibg=#f0e68c guisp=NONE gui=NONE ctermfg=236 ctermbg=186 cterm=NONE term=bold,reverse hi TabLineSel guifg=#333333 guibg=#f0e68c guisp=NONE gui=NONE ctermfg=236 ctermbg=186 cterm=NONE term=bold,reverse
hi Title guifg=#cd5c5c guibg=NONE guisp=NONE gui=bold ctermfg=167 ctermbg=NONE cterm=bold term=NONE hi Title guifg=#cd5c5c guibg=NONE guisp=NONE gui=bold ctermfg=167 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#ffffff guibg=#4c4c4c guisp=NONE gui=NONE ctermfg=231 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#8a7f7f guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=244 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#ff0000 guibg=#eeee00 guisp=NONE gui=NONE ctermfg=196 ctermbg=226 cterm=NONE term=bold,reverse hi Todo guifg=#ff0000 guibg=#eeee00 guisp=NONE gui=NONE ctermfg=196 ctermbg=226 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=#333333 guibg=#ffde9b guisp=NONE gui=bold ctermfg=236 ctermbg=222 cterm=bold term=bold,reverse hi ToolbarButton guifg=#333333 guibg=#ffde9b guisp=NONE gui=bold ctermfg=236 ctermbg=222 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=#666666 guisp=NONE gui=NONE ctermfg=NONE ctermbg=241 cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=#666666 guisp=NONE gui=NONE ctermfg=NONE ctermbg=241 cterm=NONE term=reverse
@@ -158,6 +160,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=NONE ctermbg=white cterm=NONE hi TabLineFill ctermfg=NONE ctermbg=white cterm=NONE
hi TabLineSel ctermfg=white ctermbg=black cterm=NONE hi TabLineSel ctermfg=white ctermbg=black cterm=NONE
hi Title ctermfg=darkred ctermbg=NONE cterm=bold hi Title ctermfg=darkred ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=red ctermbg=darkmagenta cterm=NONE hi Todo ctermfg=red ctermbg=darkmagenta cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=darkyellow cterm=NONE hi ToolbarButton ctermfg=black ctermbg=darkyellow cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -225,6 +229,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLineSel ctermfg=grey ctermbg=black cterm=NONE hi TabLineSel ctermfg=grey ctermbg=black cterm=NONE
hi Title ctermfg=darkred ctermbg=NONE cterm=bold hi Title ctermfg=darkred ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=darkred ctermbg=darkmagenta cterm=NONE hi Todo ctermfg=darkred ctermbg=darkmagenta cterm=NONE
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -3,9 +3,9 @@
" Maintainer: original maintainer Ron Aaron <ron@ronware.org> " Maintainer: original maintainer Ron Aaron <ron@ronware.org>
" URL: https://www.github.com/vim/colorschemes " URL: https://www.github.com/vim/colorschemes
" License: Same as Vim " License: Same as Vim
" Last Change: 2025 Aug 03 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
set background=dark set background=dark
@@ -107,6 +107,8 @@ hi TabLineFill guifg=NONE guibg=#000000 guisp=NONE gui=reverse ctermfg=NONE cter
hi TabLineSel guifg=#00ffff guibg=#000000 guisp=NONE gui=bold ctermfg=51 ctermbg=16 cterm=bold term=bold,reverse hi TabLineSel guifg=#00ffff guibg=#000000 guisp=NONE gui=bold ctermfg=51 ctermbg=16 cterm=bold term=bold,reverse
hi Terminal guifg=#00ffff guibg=#000000 guisp=NONE gui=NONE ctermfg=51 ctermbg=16 cterm=NONE term=NONE hi Terminal guifg=#00ffff guibg=#000000 guisp=NONE gui=NONE ctermfg=51 ctermbg=16 cterm=NONE term=NONE
hi Title guifg=#ff00ff guibg=NONE guisp=NONE gui=bold ctermfg=201 ctermbg=NONE cterm=bold term=NONE hi Title guifg=#ff00ff guibg=NONE guisp=NONE gui=bold ctermfg=201 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#00ffff guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=51 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#7f7f7f guibg=#2c2c2c guisp=NONE gui=NONE ctermfg=102 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#0000ff guibg=#ffff00 guisp=NONE gui=NONE ctermfg=21 ctermbg=226 cterm=NONE term=bold,reverse hi Todo guifg=#0000ff guibg=#ffff00 guisp=NONE gui=NONE ctermfg=21 ctermbg=226 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=#000000 guibg=#e5e5e5 guisp=NONE gui=bold ctermfg=16 ctermbg=254 cterm=bold term=bold,reverse hi ToolbarButton guifg=#000000 guibg=#e5e5e5 guisp=NONE gui=bold ctermfg=16 ctermbg=254 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -179,6 +181,8 @@ if s:t_Co >= 16
hi TabLineSel ctermfg=cyan ctermbg=black cterm=bold hi TabLineSel ctermfg=cyan ctermbg=black cterm=bold
hi Terminal ctermfg=cyan ctermbg=black cterm=NONE hi Terminal ctermfg=cyan ctermbg=black cterm=NONE
hi Title ctermfg=magenta ctermbg=NONE cterm=bold hi Title ctermfg=magenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=cyan ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=blue ctermbg=yellow cterm=NONE hi Todo ctermfg=blue ctermbg=yellow cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=grey cterm=bold hi ToolbarButton ctermfg=black ctermbg=grey cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -251,6 +255,8 @@ if s:t_Co >= 8
hi TabLineSel ctermfg=darkcyan ctermbg=NONE cterm=NONE hi TabLineSel ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Terminal ctermfg=darkcyan ctermbg=NONE cterm=NONE hi Terminal ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=cyan ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=darkblue ctermbg=darkyellow cterm=NONE hi Todo ctermfg=darkblue ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=grey cterm=NONE hi ToolbarButton ctermfg=black ctermbg=grey cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au> " Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
" URL: https://github.com/vim/colorschemes " URL: https://github.com/vim/colorschemes
" License: Same as Vim " License: Same as Vim
" Last Change: 2025 Aug 03 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
set background=dark set background=dark
@@ -118,6 +118,8 @@ hi StatusLineNC guifg=#333333 guibg=#d3d3d3 guisp=NONE gui=NONE ctermfg=236 cter
hi TabLine guifg=#333333 guibg=#d3d3d3 guisp=NONE gui=NONE ctermfg=236 ctermbg=252 cterm=NONE term=bold,underline hi TabLine guifg=#333333 guibg=#d3d3d3 guisp=NONE gui=NONE ctermfg=236 ctermbg=252 cterm=NONE term=bold,underline
hi TabLineSel guifg=#333333 guibg=#ffffff guisp=NONE gui=bold ctermfg=236 ctermbg=231 cterm=bold term=bold,reverse hi TabLineSel guifg=#333333 guibg=#ffffff guisp=NONE gui=bold ctermfg=236 ctermbg=231 cterm=bold term=bold,reverse
hi Title guifg=#ff80ff guibg=NONE guisp=NONE gui=NONE ctermfg=201 ctermbg=NONE cterm=NONE term=NONE hi Title guifg=#ff80ff guibg=NONE guisp=NONE gui=NONE ctermfg=201 ctermbg=NONE cterm=NONE term=NONE
hi TitleBar guifg=#ffffff guibg=#4c4c4c guisp=NONE gui=NONE ctermfg=231 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#bebebe guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=250 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#ffff00 guibg=#0000ff guisp=NONE gui=reverse ctermfg=226 ctermbg=21 cterm=reverse term=bold,reverse hi Todo guifg=#ffff00 guibg=#0000ff guisp=NONE gui=reverse ctermfg=226 ctermbg=21 cterm=reverse term=bold,reverse
hi ToolbarButton guifg=NONE guibg=#999999 guisp=NONE gui=bold ctermfg=NONE ctermbg=246 cterm=bold term=bold,reverse hi ToolbarButton guifg=NONE guibg=#999999 guisp=NONE gui=bold ctermfg=NONE ctermbg=246 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -184,6 +186,8 @@ if s:t_Co >= 16
hi TabLine ctermfg=black ctermbg=gray cterm=NONE hi TabLine ctermfg=black ctermbg=gray cterm=NONE
hi TabLineSel ctermfg=black ctermbg=white cterm=NONE hi TabLineSel ctermfg=black ctermbg=white cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=black cterm=NONE
hi Todo ctermfg=darkyellow ctermbg=blue cterm=reverse hi Todo ctermfg=darkyellow ctermbg=blue cterm=reverse
hi ToolbarButton ctermfg=NONE ctermbg=darkgray cterm=bold hi ToolbarButton ctermfg=NONE ctermbg=darkgray cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -248,6 +252,8 @@ if s:t_Co >= 8
hi TabLine ctermfg=gray ctermbg=black cterm=reverse hi TabLine ctermfg=gray ctermbg=black cterm=reverse
hi TabLineSel ctermfg=gray ctermbg=black cterm=bold,reverse hi TabLineSel ctermfg=gray ctermbg=black cterm=bold,reverse
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=black cterm=NONE
hi Todo ctermfg=darkyellow ctermbg=blue cterm=reverse hi Todo ctermfg=darkyellow ctermbg=blue cterm=reverse
hi ToolbarButton ctermfg=gray ctermbg=black cterm=bold,reverse hi ToolbarButton ctermfg=gray ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -3,9 +3,9 @@
" Author: Maxim Kim <habamax@gmail.com> " Author: Maxim Kim <habamax@gmail.com>
" URL: https://github.com/vim/colorschemes " URL: https://github.com/vim/colorschemes
" License: Same as Vim " License: Same as Vim
" Last Change: 2025 Aug 18 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
set background=dark set background=dark
@@ -15,7 +15,7 @@ let g:colors_name = 'habamax'
let s:t_Co = has('gui_running') ? 16777216 : str2nr(&t_Co) let s:t_Co = has('gui_running') ? 16777216 : str2nr(&t_Co)
let s:tgc = has('termguicolors') && &termguicolors let s:tgc = has('termguicolors') && &termguicolors
let g:terminal_ansi_colors = ['#1c1c1c', '#af5f5f', '#5faf5f', '#af875f', '#5f87af', '#af87af', '#5f8787', '#9e9e9e', '#767676', '#d75f87', '#87d787', '#d7af87', '#5fafd7', '#d787d7', '#87afaf', '#bcbcbc'] let g:terminal_ansi_colors = ['#1c1c1c', '#af5f5f', '#5faf5f', '#af875f', '#5f87af', '#af87af', '#5f8787', '#9e9e9e', '#767676', '#d75f87', '#87d787', '#d7af87', '#5fafd7', '#d787d7', '#87afaf', '#c7c7c7']
hi! link CurSearch IncSearch hi! link CurSearch IncSearch
hi! link CursorLineFold FoldColumn hi! link CursorLineFold FoldColumn
@@ -28,6 +28,7 @@ hi! link MessageWindow Pmenu
hi! link Number Constant hi! link Number Constant
hi! link PopupNotification Todo hi! link PopupNotification Todo
hi! link PopupSelected PmenuSel hi! link PopupSelected PmenuSel
hi! link PreInsert NonText
hi! link Quote String hi! link Quote String
hi! link StatusLineTerm StatusLine hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC hi! link StatusLineTermNC StatusLineNC
@@ -69,7 +70,7 @@ hi! link vimSep Normal
hi! link vimVar Normal hi! link vimVar Normal
hi! link yamlBlockMappingKey Statement hi! link yamlBlockMappingKey Statement
hi Normal guifg=#bcbcbc guibg=#1c1c1c guisp=NONE gui=NONE ctermfg=250 ctermbg=234 cterm=NONE term=NONE hi Normal guifg=#c7c7c7 guibg=#1c1c1c guisp=NONE gui=NONE ctermfg=251 ctermbg=234 cterm=NONE term=NONE
hi Added guifg=#5fd75f guibg=NONE guisp=NONE gui=NONE ctermfg=77 ctermbg=NONE cterm=NONE term=NONE hi Added guifg=#5fd75f guibg=NONE guisp=NONE gui=NONE ctermfg=77 ctermbg=NONE cterm=NONE term=NONE
hi Changed guifg=#ffaf5f guibg=NONE guisp=NONE gui=NONE ctermfg=215 ctermbg=NONE cterm=NONE term=NONE hi Changed guifg=#ffaf5f guibg=NONE guisp=NONE gui=NONE ctermfg=215 ctermbg=NONE cterm=NONE term=NONE
hi Character guifg=#87d787 guibg=NONE guisp=NONE gui=NONE ctermfg=114 ctermbg=NONE cterm=NONE term=NONE hi Character guifg=#87d787 guibg=NONE guisp=NONE gui=NONE ctermfg=114 ctermbg=NONE cterm=NONE term=NONE
@@ -88,7 +89,7 @@ hi DiffDelete guifg=#767676 guibg=#2f1f1a guisp=NONE gui=NONE ctermfg=243 ctermb
hi DiffText guifg=NONE guibg=#0f4f4f guisp=NONE gui=NONE ctermfg=247 ctermbg=23 cterm=NONE term=reverse hi DiffText guifg=NONE guibg=#0f4f4f guisp=NONE gui=NONE ctermfg=247 ctermbg=23 cterm=NONE term=reverse
hi Directory guifg=#87afaf guibg=NONE guisp=NONE gui=bold ctermfg=109 ctermbg=NONE cterm=bold term=NONE hi Directory guifg=#87afaf guibg=NONE guisp=NONE gui=bold ctermfg=109 ctermbg=NONE cterm=bold term=NONE
hi EndOfBuffer guifg=#585858 guibg=NONE guisp=NONE gui=NONE ctermfg=240 ctermbg=NONE cterm=NONE term=NONE hi EndOfBuffer guifg=#585858 guibg=NONE guisp=NONE gui=NONE ctermfg=240 ctermbg=NONE cterm=NONE term=NONE
hi Error guifg=#af5f5f guibg=#1c1c1c guisp=NONE gui=reverse ctermfg=131 ctermbg=234 cterm=reverse term=bold,reverse hi Error guifg=NONE guibg=#a03f2f guisp=NONE gui=NONE ctermfg=131 ctermbg=234 cterm=reverse term=bold,reverse
hi ErrorMsg guifg=#af5f5f guibg=#1c1c1c guisp=NONE gui=reverse ctermfg=131 ctermbg=234 cterm=reverse term=bold,reverse hi ErrorMsg guifg=#af5f5f guibg=#1c1c1c guisp=NONE gui=reverse ctermfg=131 ctermbg=234 cterm=reverse term=bold,reverse
hi FoldColumn guifg=#585858 guibg=NONE guisp=NONE gui=NONE ctermfg=240 ctermbg=NONE cterm=NONE term=NONE hi FoldColumn guifg=#585858 guibg=NONE guisp=NONE gui=NONE ctermfg=240 ctermbg=NONE cterm=NONE term=NONE
hi Folded guifg=#9e9e9e guibg=#262626 guisp=NONE gui=NONE ctermfg=247 ctermbg=235 cterm=NONE term=NONE hi Folded guifg=#9e9e9e guibg=#262626 guisp=NONE gui=NONE ctermfg=247 ctermbg=235 cterm=NONE term=NONE
@@ -112,16 +113,16 @@ hi PmenuSel guifg=NONE guibg=#585858 guisp=NONE gui=NONE ctermfg=NONE ctermbg=24
hi PmenuThumb guifg=NONE guibg=#767676 guisp=NONE gui=NONE ctermfg=NONE ctermbg=243 cterm=NONE term=NONE hi PmenuThumb guifg=NONE guibg=#767676 guisp=NONE gui=NONE ctermfg=NONE ctermbg=243 cterm=NONE term=NONE
hi PreProc guifg=#af875f guibg=NONE guisp=NONE gui=NONE ctermfg=137 ctermbg=NONE cterm=NONE term=NONE hi PreProc guifg=#af875f guibg=NONE guisp=NONE gui=NONE ctermfg=137 ctermbg=NONE cterm=NONE term=NONE
hi Question guifg=#d7af87 guibg=NONE guisp=NONE gui=NONE ctermfg=180 ctermbg=NONE cterm=NONE term=standout hi Question guifg=#d7af87 guibg=NONE guisp=NONE gui=NONE ctermfg=180 ctermbg=NONE cterm=NONE term=standout
hi QuickFixLine guifg=#1c1c1c guibg=#5f87af guisp=NONE gui=NONE ctermfg=234 ctermbg=67 cterm=NONE term=NONE hi QuickFixLine guifg=NONE guibg=#4f2f4f guisp=NONE gui=NONE ctermfg=251 ctermbg=53 cterm=NONE term=NONE
hi Removed guifg=#d75f5f guibg=NONE guisp=NONE gui=NONE ctermfg=167 ctermbg=NONE cterm=NONE term=NONE hi Removed guifg=#d75f5f guibg=NONE guisp=NONE gui=NONE ctermfg=167 ctermbg=NONE cterm=NONE term=NONE
hi Search guifg=NONE guibg=#374a44 guisp=NONE gui=NONE ctermfg=114 ctermbg=234 cterm=reverse term=reverse hi Search guifg=NONE guibg=#374a44 guisp=NONE gui=NONE ctermfg=114 ctermbg=234 cterm=reverse term=reverse
hi SignColumn guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi SignColumn guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
hi Special guifg=#5f8787 guibg=NONE guisp=NONE gui=NONE ctermfg=66 ctermbg=NONE cterm=NONE term=NONE hi Special guifg=#5f8787 guibg=NONE guisp=NONE gui=NONE ctermfg=66 ctermbg=NONE cterm=NONE term=NONE
hi SpecialKey guifg=#585858 guibg=NONE guisp=NONE gui=NONE ctermfg=240 ctermbg=NONE cterm=NONE term=bold hi SpecialKey guifg=#585858 guibg=NONE guisp=NONE gui=NONE ctermfg=240 ctermbg=NONE cterm=NONE term=bold
hi SpellBad guifg=NONE guibg=NONE guisp=#d75f5f gui=undercurl ctermfg=167 ctermbg=NONE cterm=underline term=underline ctermul=167 hi SpellBad guifg=NONE guibg=NONE guisp=#d75f5f gui=undercurl ctermfg=167 ctermbg=NONE cterm=underline term=underline
hi SpellCap guifg=NONE guibg=NONE guisp=#ffaf5f gui=undercurl ctermfg=215 ctermbg=NONE cterm=underline term=underline ctermul=215 hi SpellCap guifg=NONE guibg=NONE guisp=#ffaf5f gui=undercurl ctermfg=215 ctermbg=NONE cterm=underline term=underline
hi SpellLocal guifg=NONE guibg=NONE guisp=#5fd75f gui=undercurl ctermfg=77 ctermbg=NONE cterm=underline term=underline ctermul=77 hi SpellLocal guifg=NONE guibg=NONE guisp=#5fd75f gui=undercurl ctermfg=77 ctermbg=NONE cterm=underline term=underline
hi SpellRare guifg=NONE guibg=NONE guisp=#d787d7 gui=undercurl ctermfg=176 ctermbg=NONE cterm=underline term=underline ctermul=176 hi SpellRare guifg=NONE guibg=NONE guisp=#d787d7 gui=undercurl ctermfg=176 ctermbg=NONE cterm=underline term=underline
hi Statement guifg=#af87af guibg=NONE guisp=NONE gui=NONE ctermfg=139 ctermbg=NONE cterm=NONE term=NONE hi Statement guifg=#af87af guibg=NONE guisp=NONE gui=NONE ctermfg=139 ctermbg=NONE cterm=NONE term=NONE
hi StatusLine guifg=#1c1c1c guibg=#9e9e9e guisp=NONE gui=NONE ctermfg=234 ctermbg=247 cterm=NONE term=bold,reverse hi StatusLine guifg=#1c1c1c guibg=#9e9e9e guisp=NONE gui=NONE ctermfg=234 ctermbg=247 cterm=NONE term=bold,reverse
hi StatusLineNC guifg=#1c1c1c guibg=#767676 guisp=NONE gui=NONE ctermfg=234 ctermbg=243 cterm=NONE term=bold,underline hi StatusLineNC guifg=#1c1c1c guibg=#767676 guisp=NONE gui=NONE ctermfg=234 ctermbg=243 cterm=NONE term=bold,underline
@@ -130,6 +131,8 @@ hi TabLine guifg=#1c1c1c guibg=#767676 guisp=NONE gui=NONE ctermfg=234 ctermbg=2
hi TabLineFill guifg=#1c1c1c guibg=#767676 guisp=NONE gui=NONE ctermfg=234 ctermbg=243 cterm=NONE term=NONE hi TabLineFill guifg=#1c1c1c guibg=#767676 guisp=NONE gui=NONE ctermfg=234 ctermbg=243 cterm=NONE term=NONE
hi TabLineSel guifg=#1c1c1c guibg=#9e9e9e guisp=NONE gui=bold ctermfg=234 ctermbg=247 cterm=bold term=bold,reverse hi TabLineSel guifg=#1c1c1c guibg=#9e9e9e guisp=NONE gui=bold ctermfg=234 ctermbg=247 cterm=bold term=bold,reverse
hi Title guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=NONE hi Title guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#dadada guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=253 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#767676 guibg=#2c2c2c guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#dadada guibg=NONE guisp=NONE gui=bold ctermfg=253 ctermbg=NONE cterm=bold term=bold,reverse hi Todo guifg=#dadada guibg=NONE guisp=NONE gui=bold ctermfg=253 ctermbg=NONE cterm=bold term=bold,reverse
hi ToolbarButton guifg=#767676 guibg=#1c1c1c guisp=NONE gui=bold,reverse ctermfg=243 ctermbg=234 cterm=bold,reverse term=bold,reverse hi ToolbarButton guifg=#767676 guibg=#1c1c1c guisp=NONE gui=bold,reverse ctermfg=243 ctermbg=234 cterm=bold,reverse term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -146,8 +149,14 @@ hi lCursor guifg=#1c1c1c guibg=#5fff00 guisp=NONE gui=NONE ctermfg=234 ctermbg=8
if s:tgc || s:t_Co >= 256 if s:tgc || s:t_Co >= 256
if s:tgc if s:tgc
hi Error cterm=NONE
hi IncSearch cterm=NONE hi IncSearch cterm=NONE
hi QuickFixLine cterm=NONE
hi Search cterm=NONE hi Search cterm=NONE
hi SpellBad guifg=#d75f5f guibg=NONE ctermfg=167 ctermbg=NONE cterm=underline
hi SpellCap guifg=#ffaf5f guibg=NONE ctermfg=215 ctermbg=NONE cterm=underline
hi SpellLocal guifg=#5fd75f guibg=NONE ctermfg=77 ctermbg=NONE cterm=underline
hi SpellRare guifg=#d787d7 guibg=NONE ctermfg=176 ctermbg=NONE cterm=underline
hi Visual cterm=NONE hi Visual cterm=NONE
endif endif
finish finish
@@ -197,16 +206,16 @@ if s:t_Co >= 16
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse
hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Question ctermfg=yellow ctermbg=NONE cterm=NONE hi Question ctermfg=yellow ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=black ctermbg=darkblue cterm=NONE hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
hi Removed ctermfg=darkred ctermbg=NONE cterm=NONE hi Removed ctermfg=darkred ctermbg=NONE cterm=NONE
hi Search ctermfg=green ctermbg=black cterm=reverse hi Search ctermfg=green ctermbg=black cterm=reverse
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=NONE hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline ctermul=darkred hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
hi SpellCap ctermfg=darkyellow ctermbg=NONE cterm=underline ctermul=darkyellow hi SpellCap ctermfg=darkyellow ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=darkgreen ctermbg=NONE cterm=underline ctermul=darkgreen hi SpellLocal ctermfg=darkgreen ctermbg=NONE cterm=underline
hi SpellRare ctermfg=magenta ctermbg=NONE cterm=underline ctermul=magenta hi SpellRare ctermfg=magenta ctermbg=NONE cterm=underline
hi Statement ctermfg=darkmagenta ctermbg=NONE cterm=NONE hi Statement ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=black ctermbg=gray cterm=NONE hi StatusLine ctermfg=black ctermbg=gray cterm=NONE
hi StatusLineNC ctermfg=black ctermbg=darkgray cterm=NONE hi StatusLineNC ctermfg=black ctermbg=darkgray cterm=NONE
@@ -215,6 +224,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=black ctermbg=darkgray cterm=NONE hi TabLineFill ctermfg=black ctermbg=darkgray cterm=NONE
hi TabLineSel ctermfg=black ctermbg=gray cterm=bold hi TabLineSel ctermfg=black ctermbg=gray cterm=bold
hi Title ctermfg=NONE ctermbg=NONE cterm=bold hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgray ctermbg=black cterm=NONE
hi Todo ctermfg=white ctermbg=NONE cterm=bold hi Todo ctermfg=white ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=darkgray ctermbg=black cterm=bold,reverse hi ToolbarButton ctermfg=darkgray ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -275,7 +286,7 @@ if s:t_Co >= 8
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse
hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Question ctermfg=darkyellow ctermbg=NONE cterm=NONE hi Question ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=black ctermbg=darkblue cterm=NONE hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
hi Removed ctermfg=darkred ctermbg=NONE cterm=NONE hi Removed ctermfg=darkred ctermbg=NONE cterm=NONE
hi Search ctermfg=black ctermbg=darkgreen cterm=NONE hi Search ctermfg=black ctermbg=darkgreen cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -293,6 +304,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=gray ctermbg=gray cterm=NONE hi TabLineFill ctermfg=gray ctermbg=gray cterm=NONE
hi TabLineSel ctermfg=black ctermbg=gray cterm=bold hi TabLineSel ctermfg=black ctermbg=gray cterm=bold
hi Title ctermfg=NONE ctermbg=NONE cterm=bold hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgray ctermbg=black cterm=NONE
hi Todo ctermfg=white ctermbg=NONE cterm=bold hi Todo ctermfg=white ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=gray ctermbg=black cterm=reverse hi ToolbarButton ctermfg=gray ctermbg=black cterm=reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer Shian Lee. " Maintainer: Original maintainer Shian Lee.
" URL: https://github.com/vim/colorschemes " URL: https://github.com/vim/colorschemes
" License: Same as Vim " License: Same as Vim
" Last Change: 2025 Aug 03 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
set background=dark set background=dark
@@ -86,6 +86,8 @@ hi TabLine guifg=#dadada guibg=#444444 guisp=NONE gui=NONE ctermfg=253 ctermbg=2
hi TabLineFill guifg=NONE guibg=#6c6c6c guisp=NONE gui=NONE ctermfg=NONE ctermbg=242 cterm=NONE term=NONE hi TabLineFill guifg=NONE guibg=#6c6c6c guisp=NONE gui=NONE ctermfg=NONE ctermbg=242 cterm=NONE term=NONE
hi TabLineSel guifg=#ffffff guibg=#000000 guisp=NONE gui=bold ctermfg=231 ctermbg=16 cterm=bold term=bold,reverse hi TabLineSel guifg=#ffffff guibg=#000000 guisp=NONE gui=bold ctermfg=231 ctermbg=16 cterm=bold term=bold,reverse
hi Title guifg=#ff00ff guibg=NONE guisp=NONE gui=bold ctermfg=201 ctermbg=NONE cterm=bold term=NONE hi Title guifg=#ff00ff guibg=NONE guisp=NONE gui=bold ctermfg=201 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#dadada guibg=#4c4c4c guisp=NONE gui=NONE ctermfg=253 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#6c6c6c guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=242 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#005fff guibg=#ffff00 guisp=NONE gui=NONE ctermfg=27 ctermbg=226 cterm=NONE term=bold,reverse hi Todo guifg=#005fff guibg=#ffff00 guisp=NONE gui=NONE ctermfg=27 ctermbg=226 cterm=NONE term=bold,reverse
hi ToolbarLine guifg=NONE guibg=#303030 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=#303030 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=reverse
hi Type guifg=#00ff00 guibg=NONE guisp=NONE gui=bold ctermfg=46 ctermbg=NONE cterm=bold term=NONE hi Type guifg=#00ff00 guibg=NONE guisp=NONE gui=bold ctermfg=46 ctermbg=NONE cterm=bold term=NONE
@@ -157,6 +159,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLineSel ctermfg=white ctermbg=black cterm=bold hi TabLineSel ctermfg=white ctermbg=black cterm=bold
hi Title ctermfg=magenta ctermbg=NONE cterm=bold hi Title ctermfg=magenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=grey ctermbg=black cterm=NONE
hi Todo ctermfg=blue ctermbg=yellow cterm=NONE hi Todo ctermfg=blue ctermbg=yellow cterm=NONE
hi ToolbarLine ctermfg=white ctermbg=darkgrey cterm=NONE hi ToolbarLine ctermfg=white ctermbg=darkgrey cterm=NONE
hi Type ctermfg=green ctermbg=NONE cterm=bold hi Type ctermfg=green ctermbg=NONE cterm=bold
@@ -226,6 +230,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLineSel ctermfg=grey ctermbg=black cterm=NONE hi TabLineSel ctermfg=grey ctermbg=black cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=grey ctermbg=black cterm=NONE
hi Todo ctermfg=darkblue ctermbg=darkyellow cterm=NONE hi Todo ctermfg=darkblue ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE

View File

@@ -3,9 +3,9 @@
" Maintainer: original maintainer Ron Aaron <ron@ronware.org> " Maintainer: original maintainer Ron Aaron <ron@ronware.org>
" URL: https://www.github.com/vim/colorschemes " URL: https://www.github.com/vim/colorschemes
" License: Same as Vim " License: Same as Vim
" Last Change: 2025 Aug 03 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
set background=dark set background=dark
@@ -107,6 +107,8 @@ hi TabLine guifg=#0000ff guibg=#ffffff guisp=NONE gui=bold ctermfg=21 ctermbg=23
hi TabLineFill guifg=#0000ff guibg=#ffffff guisp=NONE gui=bold ctermfg=21 ctermbg=231 cterm=bold term=NONE hi TabLineFill guifg=#0000ff guibg=#ffffff guisp=NONE gui=bold ctermfg=21 ctermbg=231 cterm=bold term=NONE
hi TabLineSel guifg=#ffffff guibg=#0000ff guisp=NONE gui=bold ctermfg=231 ctermbg=21 cterm=bold term=bold,reverse hi TabLineSel guifg=#ffffff guibg=#0000ff guisp=NONE gui=bold ctermfg=231 ctermbg=21 cterm=bold term=bold,reverse
hi Title guifg=#ff00ff guibg=NONE guisp=NONE gui=bold ctermfg=201 ctermbg=NONE cterm=bold term=NONE hi Title guifg=#ff00ff guibg=NONE guisp=NONE gui=bold ctermfg=201 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#ffffff guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=231 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#e5e5e5 guibg=#2c2c2c guisp=NONE gui=NONE ctermfg=254 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#0000ff guibg=#ffff00 guisp=NONE gui=NONE ctermfg=21 ctermbg=226 cterm=NONE term=bold,reverse hi Todo guifg=#0000ff guibg=#ffff00 guisp=NONE gui=NONE ctermfg=21 ctermbg=226 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=#000000 guibg=#e5e5e5 guisp=NONE gui=bold ctermfg=16 ctermbg=254 cterm=bold term=bold,reverse hi ToolbarButton guifg=#000000 guibg=#e5e5e5 guisp=NONE gui=bold ctermfg=16 ctermbg=254 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -174,6 +176,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=darkblue ctermbg=white cterm=bold hi TabLineFill ctermfg=darkblue ctermbg=white cterm=bold
hi TabLineSel ctermfg=white ctermbg=darkblue cterm=bold hi TabLineSel ctermfg=white ctermbg=darkblue cterm=bold
hi Title ctermfg=magenta ctermbg=NONE cterm=bold hi Title ctermfg=magenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=grey ctermbg=black cterm=NONE
hi Todo ctermfg=darkblue ctermbg=yellow cterm=NONE hi Todo ctermfg=darkblue ctermbg=yellow cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=grey cterm=bold hi ToolbarButton ctermfg=black ctermbg=grey cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -239,6 +243,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=darkblue ctermbg=grey cterm=bold hi TabLineFill ctermfg=darkblue ctermbg=grey cterm=bold
hi TabLineSel ctermfg=grey ctermbg=darkblue cterm=bold hi TabLineSel ctermfg=grey ctermbg=darkblue cterm=bold
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=grey ctermbg=black cterm=NONE
hi Todo ctermfg=darkblue ctermbg=darkyellow cterm=NONE hi Todo ctermfg=darkblue ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -2,9 +2,9 @@
" Description: White(perchè il sole)/Black(la luna perchè?) background colorscheme. " Description: White(perchè il sole)/Black(la luna perchè?) background colorscheme.
" Author: Maxim Kim <habamax@gmail.com> " Author: Maxim Kim <habamax@gmail.com>
" URL: https://www.github.com/vim/colorschemes " URL: https://www.github.com/vim/colorschemes
" Last Change: 2025 Aug 15 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
hi clear hi clear
let g:colors_name = 'lunaperche' let g:colors_name = 'lunaperche'
@@ -22,6 +22,7 @@ hi! link LineNrBelow LineNr
hi! link MessageWindow PMenu hi! link MessageWindow PMenu
hi! link Number Constant hi! link Number Constant
hi! link PopupNotification Todo hi! link PopupNotification Todo
hi! link PreInsert NonText
hi! link StatusLineTerm Statusline hi! link StatusLineTerm Statusline
hi! link StatusLineTermNC StatuslineNC hi! link StatusLineTermNC StatuslineNC
hi! link TabPanel Normal hi! link TabPanel Normal
@@ -132,6 +133,7 @@ if &background == 'dark'
hi MoreMsg guifg=#5fd75f guibg=NONE guisp=NONE gui=NONE ctermfg=77 ctermbg=NONE cterm=NONE term=NONE hi MoreMsg guifg=#5fd75f guibg=NONE guisp=NONE gui=NONE ctermfg=77 ctermbg=NONE cterm=NONE term=NONE
hi NonText guifg=#585858 guibg=NONE guisp=NONE gui=NONE ctermfg=240 ctermbg=NONE cterm=NONE term=NONE hi NonText guifg=#585858 guibg=NONE guisp=NONE gui=NONE ctermfg=240 ctermbg=NONE cterm=NONE term=NONE
hi Pmenu guifg=NONE guibg=#303030 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=reverse hi Pmenu guifg=NONE guibg=#303030 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=reverse
hi PmenuBorder guifg=#767676 guibg=#303030 guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE
hi PmenuExtra guifg=#767676 guibg=#303030 guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE hi PmenuExtra guifg=#767676 guibg=#303030 guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE
hi PmenuExtraSel guifg=#767676 guibg=#4e4e4e guisp=NONE gui=NONE ctermfg=243 ctermbg=239 cterm=NONE term=NONE hi PmenuExtraSel guifg=#767676 guibg=#4e4e4e guisp=NONE gui=NONE ctermfg=243 ctermbg=239 cterm=NONE term=NONE
hi PmenuKind guifg=#ff5f5f guibg=#303030 guisp=NONE gui=NONE ctermfg=203 ctermbg=236 cterm=NONE term=NONE hi PmenuKind guifg=#ff5f5f guibg=#303030 guisp=NONE gui=NONE ctermfg=203 ctermbg=236 cterm=NONE term=NONE
@@ -143,7 +145,7 @@ if &background == 'dark'
hi PmenuThumb guifg=NONE guibg=#c6c6c6 guisp=NONE gui=NONE ctermfg=NONE ctermbg=251 cterm=NONE term=NONE hi PmenuThumb guifg=NONE guibg=#c6c6c6 guisp=NONE gui=NONE ctermfg=NONE ctermbg=251 cterm=NONE term=NONE
hi PreProc guifg=#5fd7d7 guibg=NONE guisp=NONE gui=NONE ctermfg=116 ctermbg=NONE cterm=NONE term=NONE hi PreProc guifg=#5fd7d7 guibg=NONE guisp=NONE gui=NONE ctermfg=116 ctermbg=NONE cterm=NONE term=NONE
hi Question guifg=#ff87ff guibg=NONE guisp=NONE gui=NONE ctermfg=213 ctermbg=NONE cterm=NONE term=standout hi Question guifg=#ff87ff guibg=NONE guisp=NONE gui=NONE ctermfg=213 ctermbg=NONE cterm=NONE term=standout
hi QuickFixLine guifg=#000000 guibg=#5fafff guisp=NONE gui=NONE ctermfg=16 ctermbg=75 cterm=NONE term=NONE hi QuickFixLine guifg=NONE guibg=#4f2f4f guisp=NONE gui=NONE ctermfg=251 ctermbg=53 cterm=NONE term=NONE
hi Removed guifg=#ff5f5f guibg=NONE guisp=NONE gui=NONE ctermfg=203 ctermbg=NONE cterm=NONE term=NONE hi Removed guifg=#ff5f5f guibg=NONE guisp=NONE gui=NONE ctermfg=203 ctermbg=NONE cterm=NONE term=NONE
hi Search guifg=NONE guibg=#3a4a3a guisp=NONE gui=NONE ctermfg=16 ctermbg=222 cterm=NONE term=reverse hi Search guifg=NONE guibg=#3a4a3a guisp=NONE gui=NONE ctermfg=16 ctermbg=222 cterm=NONE term=reverse
hi SignColumn guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi SignColumn guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -161,6 +163,8 @@ if &background == 'dark'
hi TabLineFill guifg=#000000 guibg=#767676 guisp=NONE gui=NONE ctermfg=16 ctermbg=243 cterm=NONE term=NONE hi TabLineFill guifg=#000000 guibg=#767676 guisp=NONE gui=NONE ctermfg=16 ctermbg=243 cterm=NONE term=NONE
hi TabLineSel guifg=#000000 guibg=#c6c6c6 guisp=NONE gui=bold ctermfg=16 ctermbg=251 cterm=bold term=bold,reverse hi TabLineSel guifg=#000000 guibg=#c6c6c6 guisp=NONE gui=bold ctermfg=16 ctermbg=251 cterm=bold term=bold,reverse
hi Title guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=NONE hi Title guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#ffffff guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=231 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#767676 guibg=#2c2c2c guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=bold,reverse hi Todo guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=bold,reverse
hi ToolbarButton guifg=#000000 guibg=#ffffff guisp=NONE gui=NONE ctermfg=16 ctermbg=231 cterm=NONE term=bold,reverse hi ToolbarButton guifg=#000000 guibg=#ffffff guisp=NONE gui=NONE ctermfg=16 ctermbg=231 cterm=NONE term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -186,6 +190,7 @@ if &background == 'dark'
if s:tgc || s:t_Co >= 256 if s:tgc || s:t_Co >= 256
if s:tgc if s:tgc
hi IncSearch cterm=NONE hi IncSearch cterm=NONE
hi QuickFixLine cterm=NONE
hi Search cterm=NONE hi Search cterm=NONE
hi Visual cterm=NONE hi Visual cterm=NONE
endif endif
@@ -222,6 +227,7 @@ if &background == 'dark'
hi MoreMsg ctermfg=green ctermbg=NONE cterm=NONE hi MoreMsg ctermfg=green ctermbg=NONE cterm=NONE
hi NonText ctermfg=grey ctermbg=NONE cterm=NONE hi NonText ctermfg=grey ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=black ctermbg=grey cterm=NONE hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
hi PmenuBorder ctermfg=NONE ctermbg=grey cterm=NONE
hi PmenuExtra ctermfg=black ctermbg=grey cterm=NONE hi PmenuExtra ctermfg=black ctermbg=grey cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkcyan cterm=NONE hi PmenuExtraSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuKind ctermfg=darkred ctermbg=grey cterm=NONE hi PmenuKind ctermfg=darkred ctermbg=grey cterm=NONE
@@ -233,7 +239,7 @@ if &background == 'dark'
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse
hi PreProc ctermfg=cyan ctermbg=NONE cterm=NONE hi PreProc ctermfg=cyan ctermbg=NONE cterm=NONE
hi Question ctermfg=magenta ctermbg=NONE cterm=NONE hi Question ctermfg=magenta ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=black ctermbg=blue cterm=NONE hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
hi Removed ctermfg=red ctermbg=NONE cterm=NONE hi Removed ctermfg=red ctermbg=NONE cterm=NONE
hi Search ctermfg=black ctermbg=yellow cterm=NONE hi Search ctermfg=black ctermbg=yellow cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -251,6 +257,8 @@ if &background == 'dark'
hi TabLineFill ctermfg=black ctermbg=darkgrey cterm=NONE hi TabLineFill ctermfg=black ctermbg=darkgrey cterm=NONE
hi TabLineSel ctermfg=black ctermbg=grey cterm=bold hi TabLineSel ctermfg=black ctermbg=grey cterm=bold
hi Title ctermfg=NONE ctermbg=NONE cterm=bold hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold hi Todo ctermfg=NONE ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=black ctermbg=white cterm=NONE hi ToolbarButton ctermfg=black ctermbg=white cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -285,7 +293,7 @@ if &background == 'dark'
hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
hi CursorColumn ctermfg=black ctermbg=darkyellow cterm=NONE hi CursorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLineNr ctermfg=black ctermbg=NONE cterm=bold hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=bold
hi DiffAdd ctermfg=black ctermbg=darkgreen cterm=NONE hi DiffAdd ctermfg=black ctermbg=darkgreen cterm=NONE
hi DiffChange ctermfg=black ctermbg=darkyellow cterm=NONE hi DiffChange ctermfg=black ctermbg=darkyellow cterm=NONE
hi DiffDelete ctermfg=black ctermbg=darkred cterm=NONE hi DiffDelete ctermfg=black ctermbg=darkred cterm=NONE
@@ -305,6 +313,7 @@ if &background == 'dark'
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi NonText ctermfg=grey ctermbg=NONE cterm=NONE hi NonText ctermfg=grey ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuBorder ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
@@ -316,7 +325,7 @@ if &background == 'dark'
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse
hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Question ctermfg=darkmagenta ctermbg=NONE cterm=NONE hi Question ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=grey ctermbg=darkblue cterm=bold hi QuickFixLine ctermfg=black ctermbg=darkmagenta cterm=NONE
hi Removed ctermfg=red ctermbg=NONE cterm=NONE hi Removed ctermfg=red ctermbg=NONE cterm=NONE
hi Search ctermfg=NONE ctermbg=NONE cterm=reverse hi Search ctermfg=NONE ctermbg=NONE cterm=reverse
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -334,6 +343,8 @@ if &background == 'dark'
hi TabLineFill ctermfg=grey ctermbg=grey cterm=NONE hi TabLineFill ctermfg=grey ctermbg=grey cterm=NONE
hi TabLineSel ctermfg=grey ctermbg=black cterm=bold,reverse hi TabLineSel ctermfg=grey ctermbg=black cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=bold hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold hi Todo ctermfg=NONE ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -407,6 +418,7 @@ if &background == 'light'
hi MoreMsg guifg=#008700 guibg=NONE guisp=NONE gui=bold ctermfg=28 ctermbg=NONE cterm=bold term=NONE hi MoreMsg guifg=#008700 guibg=NONE guisp=NONE gui=bold ctermfg=28 ctermbg=NONE cterm=bold term=NONE
hi NonText guifg=#9e9e9e guibg=NONE guisp=NONE gui=NONE ctermfg=247 ctermbg=NONE cterm=NONE term=NONE hi NonText guifg=#9e9e9e guibg=NONE guisp=NONE gui=NONE ctermfg=247 ctermbg=NONE cterm=NONE term=NONE
hi Pmenu guifg=NONE guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=NONE ctermbg=254 cterm=NONE term=reverse hi Pmenu guifg=NONE guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=NONE ctermbg=254 cterm=NONE term=reverse
hi PmenuBorder guifg=#767676 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=243 ctermbg=254 cterm=NONE term=NONE
hi PmenuExtra guifg=#767676 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=243 ctermbg=254 cterm=NONE term=NONE hi PmenuExtra guifg=#767676 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=243 ctermbg=254 cterm=NONE term=NONE
hi PmenuExtraSel guifg=#767676 guibg=#c6c6c6 guisp=NONE gui=NONE ctermfg=243 ctermbg=251 cterm=NONE term=NONE hi PmenuExtraSel guifg=#767676 guibg=#c6c6c6 guisp=NONE gui=NONE ctermfg=243 ctermbg=251 cterm=NONE term=NONE
hi PmenuKind guifg=#af0000 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=124 ctermbg=254 cterm=NONE term=NONE hi PmenuKind guifg=#af0000 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=124 ctermbg=254 cterm=NONE term=NONE
@@ -418,7 +430,7 @@ if &background == 'light'
hi PmenuThumb guifg=NONE guibg=#767676 guisp=NONE gui=NONE ctermfg=NONE ctermbg=243 cterm=NONE term=NONE hi PmenuThumb guifg=NONE guibg=#767676 guisp=NONE gui=NONE ctermfg=NONE ctermbg=243 cterm=NONE term=NONE
hi PreProc guifg=#005f5f guibg=NONE guisp=NONE gui=NONE ctermfg=23 ctermbg=NONE cterm=NONE term=NONE hi PreProc guifg=#005f5f guibg=NONE guisp=NONE gui=NONE ctermfg=23 ctermbg=NONE cterm=NONE term=NONE
hi Question guifg=#af00af guibg=NONE guisp=NONE gui=bold ctermfg=127 ctermbg=NONE cterm=bold term=standout hi Question guifg=#af00af guibg=NONE guisp=NONE gui=bold ctermfg=127 ctermbg=NONE cterm=bold term=standout
hi QuickFixLine guifg=#ffffff guibg=#0087d7 guisp=NONE gui=NONE ctermfg=231 ctermbg=32 cterm=NONE term=NONE hi QuickFixLine guifg=NONE guibg=#e7cfe7 guisp=NONE gui=NONE ctermfg=16 ctermbg=182 cterm=NONE term=NONE
hi Removed guifg=#d70000 guibg=NONE guisp=NONE gui=NONE ctermfg=160 ctermbg=NONE cterm=NONE term=NONE hi Removed guifg=#d70000 guibg=NONE guisp=NONE gui=NONE ctermfg=160 ctermbg=NONE cterm=NONE term=NONE
hi Search guifg=NONE guibg=#e7f3e7 guisp=NONE gui=NONE ctermfg=16 ctermbg=222 cterm=NONE term=reverse hi Search guifg=NONE guibg=#e7f3e7 guisp=NONE gui=NONE ctermfg=16 ctermbg=222 cterm=NONE term=reverse
hi SignColumn guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi SignColumn guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -436,6 +448,8 @@ if &background == 'light'
hi TabLineFill guifg=#bcbcbc guibg=#bcbcbc guisp=NONE gui=NONE ctermfg=250 ctermbg=250 cterm=NONE term=NONE hi TabLineFill guifg=#bcbcbc guibg=#bcbcbc guisp=NONE gui=NONE ctermfg=250 ctermbg=250 cterm=NONE term=NONE
hi TabLineSel guifg=#000000 guibg=#ffffff guisp=NONE gui=bold,reverse ctermfg=16 ctermbg=231 cterm=bold,reverse term=bold,reverse hi TabLineSel guifg=#000000 guibg=#ffffff guisp=NONE gui=bold,reverse ctermfg=16 ctermbg=231 cterm=bold,reverse term=bold,reverse
hi Title guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=NONE hi Title guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#000000 guibg=#ececec guisp=NONE gui=NONE ctermfg=16 ctermbg=255 cterm=NONE term=NONE
hi TitleBarNC guifg=#767676 guibg=#f5f5f5 guisp=NONE gui=NONE ctermfg=243 ctermbg=255 cterm=NONE term=NONE
hi Todo guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=bold,reverse hi Todo guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=bold,reverse
hi ToolbarButton guifg=#ffffff guibg=#000000 guisp=NONE gui=NONE ctermfg=231 ctermbg=16 cterm=NONE term=bold,reverse hi ToolbarButton guifg=#ffffff guibg=#000000 guisp=NONE gui=NONE ctermfg=231 ctermbg=16 cterm=NONE term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -464,6 +478,7 @@ if &background == 'light'
if s:tgc || s:t_Co >= 256 if s:tgc || s:t_Co >= 256
if s:tgc if s:tgc
hi IncSearch cterm=NONE hi IncSearch cterm=NONE
hi QuickFixLine cterm=NONE
hi Search cterm=NONE hi Search cterm=NONE
hi Visual cterm=NONE hi Visual cterm=NONE
endif endif
@@ -500,6 +515,7 @@ if &background == 'light'
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=bold hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=bold
hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=black ctermbg=grey cterm=NONE hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
hi PmenuBorder ctermfg=NONE ctermbg=grey cterm=NONE
hi PmenuExtra ctermfg=black ctermbg=grey cterm=NONE hi PmenuExtra ctermfg=black ctermbg=grey cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkcyan cterm=NONE hi PmenuExtraSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuKind ctermfg=darkred ctermbg=grey cterm=NONE hi PmenuKind ctermfg=darkred ctermbg=grey cterm=NONE
@@ -511,7 +527,7 @@ if &background == 'light'
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse
hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Question ctermfg=darkmagenta ctermbg=NONE cterm=bold hi Question ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi QuickFixLine ctermfg=white ctermbg=blue cterm=NONE hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
hi Removed ctermfg=red ctermbg=NONE cterm=NONE hi Removed ctermfg=red ctermbg=NONE cterm=NONE
hi Search ctermfg=black ctermbg=yellow cterm=NONE hi Search ctermfg=black ctermbg=yellow cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -529,6 +545,8 @@ if &background == 'light'
hi TabLineFill ctermfg=lightgrey ctermbg=lightgrey cterm=NONE hi TabLineFill ctermfg=lightgrey ctermbg=lightgrey cterm=NONE
hi TabLineSel ctermfg=black ctermbg=white cterm=bold,reverse hi TabLineSel ctermfg=black ctermbg=white cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=bold hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=white cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold hi Todo ctermfg=NONE ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=white ctermbg=black cterm=NONE hi ToolbarButton ctermfg=white ctermbg=black cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -586,6 +604,7 @@ if &background == 'light'
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi NonText ctermfg=black ctermbg=NONE cterm=NONE hi NonText ctermfg=black ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuBorder ctermfg=darkgrey ctermbg=grey cterm=NONE
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
@@ -597,7 +616,7 @@ if &background == 'light'
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=reverse
hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Question ctermfg=darkmagenta ctermbg=NONE cterm=NONE hi Question ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=grey ctermbg=darkblue cterm=bold hi QuickFixLine ctermfg=grey ctermbg=darkmagenta cterm=bold
hi Removed ctermfg=red ctermbg=NONE cterm=NONE hi Removed ctermfg=red ctermbg=NONE cterm=NONE
hi Search ctermfg=black ctermbg=darkyellow cterm=reverse hi Search ctermfg=black ctermbg=darkyellow cterm=reverse
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -615,6 +634,8 @@ if &background == 'light'
hi TabLineFill ctermfg=black ctermbg=black cterm=NONE hi TabLineFill ctermfg=black ctermbg=black cterm=NONE
hi TabLineSel ctermfg=black ctermbg=grey cterm=bold,reverse hi TabLineSel ctermfg=black ctermbg=grey cterm=bold,reverse
hi Title ctermfg=black ctermbg=NONE cterm=bold hi Title ctermfg=black ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=white cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold hi Todo ctermfg=NONE ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer Bram Moolenaar <Bram@vim.org> " Maintainer: Original maintainer Bram Moolenaar <Bram@vim.org>
" URL: https://github.com/vim/colorschemes " URL: https://github.com/vim/colorschemes
" License: Same as Vim " License: Same as Vim
" Last Change: 2025 Aug 03 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
set background=light set background=light
@@ -85,6 +85,8 @@ hi TabLine guifg=#000000 guibg=#bcbcbc guisp=NONE gui=underline ctermfg=16 cterm
hi TabLineFill guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse term=NONE hi TabLineFill guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse term=NONE
hi TabLineSel guifg=#000000 guibg=#e4e4e4 guisp=NONE gui=bold ctermfg=16 ctermbg=254 cterm=bold term=bold,reverse hi TabLineSel guifg=#000000 guibg=#e4e4e4 guisp=NONE gui=bold ctermfg=16 ctermbg=254 cterm=bold term=bold,reverse
hi Title guifg=#a52a2a guibg=NONE guisp=NONE gui=bold ctermfg=124 ctermbg=NONE cterm=bold term=NONE hi Title guifg=#a52a2a guibg=NONE guisp=NONE gui=bold ctermfg=124 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#000000 guibg=#cccccc guisp=NONE gui=NONE ctermfg=16 ctermbg=250 cterm=NONE term=NONE
hi TitleBarNC guifg=#5f5f5f guibg=#bcbcbc guisp=NONE gui=NONE ctermfg=59 ctermbg=252 cterm=NONE term=NONE
hi Todo guifg=#000000 guibg=#ffff00 guisp=NONE gui=NONE ctermfg=16 ctermbg=226 cterm=NONE term=bold,reverse hi Todo guifg=#000000 guibg=#ffff00 guisp=NONE gui=NONE ctermfg=16 ctermbg=226 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=NONE guibg=#bcbcbc guisp=NONE gui=bold ctermfg=NONE ctermbg=250 cterm=bold term=bold,reverse hi ToolbarButton guifg=NONE guibg=#bcbcbc guisp=NONE gui=bold ctermfg=NONE ctermbg=250 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -153,6 +155,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=black ctermbg=grey cterm=bold hi TabLineSel ctermfg=black ctermbg=grey cterm=bold
hi Title ctermfg=darkred ctermbg=NONE cterm=bold hi Title ctermfg=darkred ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgray ctermbg=white cterm=NONE
hi Todo ctermfg=black ctermbg=yellow cterm=NONE hi Todo ctermfg=black ctermbg=yellow cterm=NONE
hi ToolbarButton ctermfg=NONE ctermbg=white cterm=bold hi ToolbarButton ctermfg=NONE ctermbg=white cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -219,6 +223,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=black ctermbg=gray cterm=NONE hi TabLineSel ctermfg=black ctermbg=gray cterm=NONE
hi Title ctermfg=darkred ctermbg=NONE cterm=bold hi Title ctermfg=darkred ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgray ctermbg=white cterm=NONE
hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=gray cterm=bold,reverse hi ToolbarButton ctermfg=black ctermbg=gray cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>. " Maintainer: Original maintainer Ron Aaron <ron@ronware.org>.
" URL: https://github.com/vim/colorschemes " URL: https://github.com/vim/colorschemes
" License: Same as Vim " License: Same as Vim
" Last Change: 2025 Aug 03 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
set background=dark set background=dark
@@ -86,6 +86,8 @@ hi TabLine guifg=#87ff87 guibg=#444444 guisp=NONE gui=NONE ctermfg=120 ctermbg=2
hi TabLineFill guifg=NONE guibg=#303030 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=NONE hi TabLineFill guifg=NONE guibg=#303030 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=NONE
hi TabLineSel guifg=#ffffff guibg=#000000 guisp=NONE gui=NONE ctermfg=231 ctermbg=16 cterm=NONE term=bold,reverse hi TabLineSel guifg=#ffffff guibg=#000000 guisp=NONE gui=NONE ctermfg=231 ctermbg=16 cterm=NONE term=bold,reverse
hi Title guifg=#ff00ff guibg=NONE guisp=NONE gui=bold ctermfg=201 ctermbg=NONE cterm=bold term=NONE hi Title guifg=#ff00ff guibg=NONE guisp=NONE gui=bold ctermfg=201 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#87ff87 guibg=#4c4c4c guisp=NONE gui=NONE ctermfg=120 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#bcbcbc guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=250 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#0000ff guibg=#ffff00 guisp=NONE gui=NONE ctermfg=21 ctermbg=226 cterm=NONE term=bold,reverse hi Todo guifg=#0000ff guibg=#ffff00 guisp=NONE gui=NONE ctermfg=21 ctermbg=226 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=#ffffff guibg=#444444 guisp=NONE gui=bold ctermfg=231 ctermbg=238 cterm=bold term=bold,reverse hi ToolbarButton guifg=#ffffff guibg=#444444 guisp=NONE gui=bold ctermfg=231 ctermbg=238 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=#303030 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=#303030 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=reverse
@@ -154,6 +156,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLineSel ctermfg=white ctermbg=black cterm=NONE hi TabLineSel ctermfg=white ctermbg=black cterm=NONE
hi Title ctermfg=magenta ctermbg=NONE cterm=bold hi Title ctermfg=magenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=green ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=grey ctermbg=black cterm=NONE
hi Todo ctermfg=blue ctermbg=yellow cterm=NONE hi Todo ctermfg=blue ctermbg=yellow cterm=NONE
hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=bold hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
@@ -220,6 +224,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLineSel ctermfg=grey ctermbg=black cterm=NONE hi TabLineSel ctermfg=grey ctermbg=black cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=green ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=grey ctermbg=black cterm=NONE
hi Todo ctermfg=darkblue ctermbg=darkyellow cterm=NONE hi Todo ctermfg=darkblue ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE

View File

@@ -3,9 +3,9 @@
" Maintainer: Original maintainerRon Aaron <ron@ronware.org> " Maintainer: Original maintainerRon Aaron <ron@ronware.org>
" URL: https://github.com/vim/colorschemes " URL: https://github.com/vim/colorschemes
" License: Same as Vim " License: Same as Vim
" Last Change: 2025 Aug 03 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
set background=dark set background=dark
@@ -85,6 +85,8 @@ hi TabLine guifg=#ffffff guibg=#7f7f7f guisp=NONE gui=NONE ctermfg=231 ctermbg=1
hi TabLineFill guifg=NONE guibg=#000000 guisp=NONE gui=reverse ctermfg=NONE ctermbg=16 cterm=reverse term=NONE hi TabLineFill guifg=NONE guibg=#000000 guisp=NONE gui=reverse ctermfg=NONE ctermbg=16 cterm=reverse term=NONE
hi TabLineSel guifg=#ffffff guibg=#000000 guisp=NONE gui=bold ctermfg=231 ctermbg=16 cterm=bold term=bold,reverse hi TabLineSel guifg=#ffffff guibg=#000000 guisp=NONE gui=bold ctermfg=231 ctermbg=16 cterm=bold term=bold,reverse
hi Title guifg=#ff00ff guibg=NONE guisp=NONE gui=bold ctermfg=225 ctermbg=NONE cterm=bold term=NONE hi Title guifg=#ff00ff guibg=NONE guisp=NONE gui=bold ctermfg=225 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#ffffff guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=231 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#e5e5e5 guibg=#2c2c2c guisp=NONE gui=NONE ctermfg=254 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#000000 guibg=#c0c000 guisp=NONE gui=NONE ctermfg=16 ctermbg=142 cterm=NONE term=bold,reverse hi Todo guifg=#000000 guibg=#c0c000 guisp=NONE gui=NONE ctermfg=16 ctermbg=142 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=#000000 guibg=#e5e5e5 guisp=NONE gui=bold ctermfg=16 ctermbg=254 cterm=bold term=bold,reverse hi ToolbarButton guifg=#000000 guibg=#e5e5e5 guisp=NONE gui=bold ctermfg=16 ctermbg=254 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=#000000 guisp=NONE gui=NONE ctermfg=NONE ctermbg=16 cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=#000000 guisp=NONE gui=NONE ctermfg=NONE ctermbg=16 cterm=NONE term=reverse
@@ -154,6 +156,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=NONE ctermbg=black cterm=reverse hi TabLineFill ctermfg=NONE ctermbg=black cterm=reverse
hi TabLineSel ctermfg=white ctermbg=black cterm=bold hi TabLineSel ctermfg=white ctermbg=black cterm=bold
hi Title ctermfg=magenta ctermbg=NONE cterm=bold hi Title ctermfg=magenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=grey ctermbg=black cterm=NONE
hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=grey cterm=bold hi ToolbarButton ctermfg=black ctermbg=grey cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
@@ -223,6 +227,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLineSel ctermfg=grey ctermbg=black cterm=NONE hi TabLineSel ctermfg=grey ctermbg=black cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=grey ctermbg=black cterm=NONE
hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer David Ne\v{c}as (Yeti) <yeti@physics.muni.cz> " Maintainer: Original maintainer David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
" URL: https://github.com/vim/colorschemes " URL: https://github.com/vim/colorschemes
" License: Same as Vim " License: Same as Vim
" Last Change: 2025 Aug 03 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
set background=light set background=light
@@ -85,6 +85,8 @@ hi TabLine guifg=#ffdab9 guibg=#737373 guisp=NONE gui=underline ctermfg=223 cter
hi TabLineFill guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse term=NONE hi TabLineFill guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse term=NONE
hi TabLineSel guifg=#000000 guibg=#ffdab9 guisp=NONE gui=bold ctermfg=16 ctermbg=223 cterm=bold term=bold,reverse hi TabLineSel guifg=#000000 guibg=#ffdab9 guisp=NONE gui=bold ctermfg=16 ctermbg=223 cterm=bold term=bold,reverse
hi Title guifg=#cd00cd guibg=NONE guisp=NONE gui=bold ctermfg=164 ctermbg=NONE cterm=bold term=NONE hi Title guifg=#cd00cd guibg=NONE guisp=NONE gui=bold ctermfg=164 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#000000 guibg=#dfba99 guisp=NONE gui=NONE ctermfg=16 ctermbg=255 cterm=NONE term=NONE
hi TitleBarNC guifg=#5f5f5f guibg=#efcaa9 guisp=NONE gui=NONE ctermfg=59 ctermbg=254 cterm=NONE term=NONE
hi Todo guifg=#6a5acd guibg=#ffff00 guisp=NONE gui=NONE ctermfg=62 ctermbg=226 cterm=NONE term=bold,reverse hi Todo guifg=#6a5acd guibg=#ffff00 guisp=NONE gui=NONE ctermfg=62 ctermbg=226 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=#ffdab9 guibg=#737373 guisp=NONE gui=bold ctermfg=223 ctermbg=243 cterm=bold term=bold,reverse hi ToolbarButton guifg=#ffdab9 guibg=#737373 guisp=NONE gui=bold ctermfg=223 ctermbg=243 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -155,6 +157,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=black ctermbg=white cterm=bold hi TabLineSel ctermfg=black ctermbg=white cterm=bold
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgray ctermbg=white cterm=NONE
hi Todo ctermfg=darkblue ctermbg=yellow cterm=NONE hi Todo ctermfg=darkblue ctermbg=yellow cterm=NONE
hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=bold hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -223,6 +227,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=black ctermbg=white cterm=NONE hi TabLineSel ctermfg=black ctermbg=white cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgray ctermbg=white cterm=NONE
hi Todo ctermfg=darkblue ctermbg=darkyellow cterm=NONE hi Todo ctermfg=darkblue ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=gray cterm=bold,reverse hi ToolbarButton ctermfg=black ctermbg=gray cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Maxence Weynans <neutaaaaan@gmail.com> " Maintainer: Maxence Weynans <neutaaaaan@gmail.com>
" URL: https://github.com/vim/colorschemes " URL: https://github.com/vim/colorschemes
" License: Vim License (see `:help license`)` " License: Vim License (see `:help license`)`
" Last Change: 2025 Jun 18 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
hi clear hi clear
let g:colors_name = 'quiet' let g:colors_name = 'quiet'
@@ -110,6 +110,8 @@ if &background == 'dark'
hi TabLineFill guifg=#dadada guibg=NONE guisp=NONE gui=NONE ctermfg=253 ctermbg=NONE cterm=NONE term=NONE hi TabLineFill guifg=#dadada guibg=NONE guisp=NONE gui=NONE ctermfg=253 ctermbg=NONE cterm=NONE term=NONE
hi TabLineSel guifg=#000000 guibg=#dadada guisp=NONE gui=bold ctermfg=16 ctermbg=253 cterm=bold term=bold,reverse hi TabLineSel guifg=#000000 guibg=#dadada guisp=NONE gui=bold ctermfg=16 ctermbg=253 cterm=bold term=bold,reverse
hi Title guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=NONE hi Title guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=NONE
hi TitleBar guifg=#dadada guibg=#4c4c4c guisp=NONE gui=NONE ctermfg=253 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#707070 guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=242 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#00ffaf guibg=NONE guisp=NONE gui=bold,reverse ctermfg=49 ctermbg=NONE cterm=bold,reverse term=bold,reverse hi Todo guifg=#00ffaf guibg=NONE guisp=NONE gui=bold,reverse ctermfg=49 ctermbg=NONE cterm=bold,reverse term=bold,reverse
hi ToolbarButton guifg=#dadada guibg=#000000 guisp=NONE gui=bold ctermfg=253 ctermbg=16 cterm=bold term=bold,reverse hi ToolbarButton guifg=#dadada guibg=#000000 guisp=NONE gui=bold ctermfg=253 ctermbg=16 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=#000000 guisp=NONE gui=NONE ctermfg=NONE ctermbg=16 cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=#000000 guisp=NONE gui=NONE ctermfg=NONE ctermbg=16 cterm=NONE term=reverse
@@ -183,6 +185,8 @@ if &background == 'dark'
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=grey ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold,reverse hi Todo ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse
@@ -254,6 +258,8 @@ if &background == 'dark'
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=grey ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold,reverse hi Todo ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse
@@ -342,6 +348,8 @@ if &background == 'light'
hi TabLineFill guifg=#000000 guibg=#d7d7d7 guisp=NONE gui=NONE ctermfg=16 ctermbg=188 cterm=NONE term=NONE hi TabLineFill guifg=#000000 guibg=#d7d7d7 guisp=NONE gui=NONE ctermfg=16 ctermbg=188 cterm=NONE term=NONE
hi TabLineSel guifg=#eeeeee guibg=#000000 guisp=NONE gui=bold ctermfg=255 ctermbg=16 cterm=bold term=bold,reverse hi TabLineSel guifg=#eeeeee guibg=#000000 guisp=NONE gui=bold ctermfg=255 ctermbg=16 cterm=bold term=bold,reverse
hi Title guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=NONE hi Title guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=NONE
hi TitleBar guifg=#000000 guibg=#ececec guisp=NONE gui=NONE ctermfg=16 ctermbg=255 cterm=NONE term=NONE
hi TitleBarNC guifg=#626262 guibg=#e7e7e7 guisp=NONE gui=NONE ctermfg=241 ctermbg=255 cterm=NONE term=NONE
hi Todo guifg=#00ffaf guibg=#000000 guisp=NONE gui=bold,reverse ctermfg=49 ctermbg=16 cterm=bold,reverse term=bold,reverse hi Todo guifg=#00ffaf guibg=#000000 guisp=NONE gui=bold,reverse ctermfg=49 ctermbg=16 cterm=bold,reverse term=bold,reverse
hi ToolbarButton guifg=#000000 guibg=#d7d7d7 guisp=NONE gui=bold ctermfg=16 ctermbg=188 cterm=bold term=bold,reverse hi ToolbarButton guifg=#000000 guibg=#d7d7d7 guisp=NONE gui=bold ctermfg=16 ctermbg=188 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=#d7d7d7 guisp=NONE gui=NONE ctermfg=NONE ctermbg=188 cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=#d7d7d7 guisp=NONE gui=NONE ctermfg=NONE ctermbg=188 cterm=NONE term=reverse
@@ -415,6 +423,8 @@ if &background == 'light'
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=white cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold,reverse hi Todo ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse
@@ -486,6 +496,8 @@ if &background == 'light'
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=white cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold,reverse hi Todo ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse

View File

@@ -2,9 +2,9 @@
" Description: Retro groove color scheme similar to gruvbox originally designed by morhetz <morhetz@gmail.com> " Description: Retro groove color scheme similar to gruvbox originally designed by morhetz <morhetz@gmail.com>
" Author: Maxim Kim <habamax@gmail.com>, ported from gruvbox8 of Lifepillar <lifepillar@lifepillar.me> " Author: Maxim Kim <habamax@gmail.com>, ported from gruvbox8 of Lifepillar <lifepillar@lifepillar.me>
" URL: https://www.github.com/vim/colorschemes " URL: https://www.github.com/vim/colorschemes
" Last Change: 2025 Aug 15 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
hi clear hi clear
let g:colors_name = 'retrobox' let g:colors_name = 'retrobox'
@@ -20,6 +20,7 @@ hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr hi! link LineNrBelow LineNr
hi! link MessageWindow PMenu hi! link MessageWindow PMenu
hi! link PopupNotification Todo hi! link PopupNotification Todo
hi! link PreInsert LineNr
hi! link StatusLineTerm StatusLine hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC hi! link StatusLineTermNC StatusLineNC
hi! link Tag Special hi! link Tag Special
@@ -73,6 +74,7 @@ if &background == 'dark'
hi Number guifg=#d3869b guibg=NONE guisp=NONE gui=NONE ctermfg=175 ctermbg=NONE cterm=NONE term=NONE hi Number guifg=#d3869b guibg=NONE guisp=NONE gui=NONE ctermfg=175 ctermbg=NONE cterm=NONE term=NONE
hi Operator guifg=#8ec07c guibg=NONE guisp=NONE gui=NONE ctermfg=107 ctermbg=NONE cterm=NONE term=NONE hi Operator guifg=#8ec07c guibg=NONE guisp=NONE gui=NONE ctermfg=107 ctermbg=NONE cterm=NONE term=NONE
hi Pmenu guifg=NONE guibg=#3c3836 guisp=NONE gui=NONE ctermfg=NONE ctermbg=237 cterm=NONE term=reverse hi Pmenu guifg=NONE guibg=#3c3836 guisp=NONE gui=NONE ctermfg=NONE ctermbg=237 cterm=NONE term=reverse
hi PmenuBorder guifg=#a89984 guibg=#3c3836 guisp=NONE gui=NONE ctermfg=102 ctermbg=237 cterm=NONE term=NONE
hi PmenuExtra guifg=#a89984 guibg=#3c3836 guisp=NONE gui=NONE ctermfg=102 ctermbg=237 cterm=NONE term=NONE hi PmenuExtra guifg=#a89984 guibg=#3c3836 guisp=NONE gui=NONE ctermfg=102 ctermbg=237 cterm=NONE term=NONE
hi PmenuExtraSel guifg=#a89984 guibg=#504945 guisp=NONE gui=NONE ctermfg=102 ctermbg=239 cterm=NONE term=NONE hi PmenuExtraSel guifg=#a89984 guibg=#504945 guisp=NONE gui=NONE ctermfg=102 ctermbg=239 cterm=NONE term=NONE
hi PmenuKind guifg=#fb5944 guibg=#3c3836 guisp=NONE gui=NONE ctermfg=203 ctermbg=237 cterm=NONE term=NONE hi PmenuKind guifg=#fb5944 guibg=#3c3836 guisp=NONE gui=NONE ctermfg=203 ctermbg=237 cterm=NONE term=NONE
@@ -85,7 +87,7 @@ if &background == 'dark'
hi PreCondit guifg=#8ec07c guibg=NONE guisp=NONE gui=NONE ctermfg=107 ctermbg=NONE cterm=NONE term=NONE hi PreCondit guifg=#8ec07c guibg=NONE guisp=NONE gui=NONE ctermfg=107 ctermbg=NONE cterm=NONE term=NONE
hi PreProc guifg=#8ec07c guibg=NONE guisp=NONE gui=NONE ctermfg=107 ctermbg=NONE cterm=NONE term=NONE hi PreProc guifg=#8ec07c guibg=NONE guisp=NONE gui=NONE ctermfg=107 ctermbg=NONE cterm=NONE term=NONE
hi Question guifg=#fe8019 guibg=NONE guisp=NONE gui=bold ctermfg=208 ctermbg=NONE cterm=bold term=standout hi Question guifg=#fe8019 guibg=NONE guisp=NONE gui=bold ctermfg=208 ctermbg=NONE cterm=bold term=standout
hi QuickFixLine guifg=#8ec07c guibg=#1c1c1c guisp=NONE gui=reverse ctermfg=107 ctermbg=234 cterm=reverse term=NONE hi QuickFixLine guifg=NONE guibg=#4f2f4f guisp=NONE gui=NONE ctermfg=230 ctermbg=53 cterm=NONE term=NONE
hi Repeat guifg=#fb5944 guibg=NONE guisp=NONE gui=NONE ctermfg=203 ctermbg=NONE cterm=NONE term=NONE hi Repeat guifg=#fb5944 guibg=NONE guisp=NONE gui=NONE ctermfg=203 ctermbg=NONE cterm=NONE term=NONE
hi Search guifg=NONE guibg=#3a4a3a guisp=NONE gui=NONE ctermfg=100 ctermbg=234 cterm=reverse term=reverse hi Search guifg=NONE guibg=#3a4a3a guisp=NONE gui=NONE ctermfg=100 ctermbg=234 cterm=reverse term=reverse
hi SignColumn guifg=#928374 guibg=#1c1c1c guisp=NONE gui=NONE ctermfg=102 ctermbg=234 cterm=NONE term=reverse hi SignColumn guifg=#928374 guibg=#1c1c1c guisp=NONE gui=NONE ctermfg=102 ctermbg=234 cterm=NONE term=reverse
@@ -107,6 +109,8 @@ if &background == 'dark'
hi TabLineFill guifg=#ebdbb2 guibg=#3c3836 guisp=NONE gui=NONE ctermfg=187 ctermbg=237 cterm=NONE term=NONE hi TabLineFill guifg=#ebdbb2 guibg=#3c3836 guisp=NONE gui=NONE ctermfg=187 ctermbg=237 cterm=NONE term=NONE
hi TabLineSel guifg=#fbf1c7 guibg=#1c1c1c guisp=NONE gui=bold ctermfg=230 ctermbg=234 cterm=bold term=bold,reverse hi TabLineSel guifg=#fbf1c7 guibg=#1c1c1c guisp=NONE gui=bold ctermfg=230 ctermbg=234 cterm=bold term=bold,reverse
hi Title guifg=#b8bb26 guibg=NONE guisp=NONE gui=bold ctermfg=142 ctermbg=NONE cterm=bold term=NONE hi Title guifg=#b8bb26 guibg=NONE guisp=NONE gui=bold ctermfg=142 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#ebdbb2 guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=187 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#a89984 guibg=#2c2c2c guisp=NONE gui=NONE ctermfg=102 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=fg guibg=#1c1c1c guisp=NONE gui=bold ctermfg=fg ctermbg=234 cterm=bold term=bold,reverse hi Todo guifg=fg guibg=#1c1c1c guisp=NONE gui=bold ctermfg=fg ctermbg=234 cterm=bold term=bold,reverse
hi ToolbarButton guifg=#fbf1c7 guibg=#303030 guisp=NONE gui=bold ctermfg=230 ctermbg=236 cterm=bold term=bold,reverse hi ToolbarButton guifg=#fbf1c7 guibg=#303030 guisp=NONE gui=bold ctermfg=230 ctermbg=236 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -121,6 +125,7 @@ if &background == 'dark'
if s:tgc || s:t_Co >= 256 if s:tgc || s:t_Co >= 256
if s:tgc if s:tgc
hi IncSearch cterm=NONE hi IncSearch cterm=NONE
hi QuickFixLine cterm=NONE
hi Search cterm=NONE hi Search cterm=NONE
hi Visual cterm=NONE hi Visual cterm=NONE
endif endif
@@ -171,6 +176,7 @@ if &background == 'dark'
hi Number ctermfg=Magenta ctermbg=NONE cterm=NONE hi Number ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Operator ctermfg=Cyan ctermbg=NONE cterm=NONE hi Operator ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=Black ctermbg=White cterm=NONE hi Pmenu ctermfg=Black ctermbg=White cterm=NONE
hi PmenuBorder ctermfg=Black ctermbg=White cterm=NONE
hi PmenuExtra ctermfg=DarkGray ctermbg=White cterm=NONE hi PmenuExtra ctermfg=DarkGray ctermbg=White cterm=NONE
hi PmenuExtraSel ctermfg=DarkGray ctermbg=Black cterm=NONE hi PmenuExtraSel ctermfg=DarkGray ctermbg=Black cterm=NONE
hi PmenuKind ctermfg=DarkRed ctermbg=White cterm=NONE hi PmenuKind ctermfg=DarkRed ctermbg=White cterm=NONE
@@ -183,7 +189,7 @@ if &background == 'dark'
hi PreCondit ctermfg=Cyan ctermbg=NONE cterm=NONE hi PreCondit ctermfg=Cyan ctermbg=NONE cterm=NONE
hi PreProc ctermfg=Cyan ctermbg=NONE cterm=NONE hi PreProc ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Question ctermfg=Magenta ctermbg=NONE cterm=bold hi Question ctermfg=Magenta ctermbg=NONE cterm=bold
hi QuickFixLine ctermfg=Cyan ctermbg=Black cterm=reverse hi QuickFixLine ctermfg=Black ctermbg=magenta cterm=NONE
hi Repeat ctermfg=Red ctermbg=NONE cterm=NONE hi Repeat ctermfg=Red ctermbg=NONE cterm=NONE
hi Search ctermfg=DarkGreen ctermbg=Black cterm=reverse hi Search ctermfg=DarkGreen ctermbg=Black cterm=reverse
hi SignColumn ctermfg=DarkGray ctermbg=NONE cterm=NONE hi SignColumn ctermfg=DarkGray ctermbg=NONE cterm=NONE
@@ -205,6 +211,8 @@ if &background == 'dark'
hi TabLineFill ctermfg=Black ctermbg=DarkGray cterm=NONE hi TabLineFill ctermfg=Black ctermbg=DarkGray cterm=NONE
hi TabLineSel ctermfg=White ctermbg=Black cterm=bold hi TabLineSel ctermfg=White ctermbg=Black cterm=bold
hi Title ctermfg=Green ctermbg=NONE cterm=bold hi Title ctermfg=Green ctermbg=NONE cterm=bold
hi TitleBar ctermfg=White ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=black cterm=NONE
hi Todo ctermfg=fg ctermbg=Black cterm=bold hi Todo ctermfg=fg ctermbg=Black cterm=bold
hi ToolbarButton ctermfg=White ctermbg=DarkGray cterm=bold hi ToolbarButton ctermfg=White ctermbg=DarkGray cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -262,6 +270,7 @@ if &background == 'dark'
hi Number ctermfg=Magenta ctermbg=NONE cterm=NONE hi Number ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Operator ctermfg=Cyan ctermbg=NONE cterm=NONE hi Operator ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuBorder ctermfg=gray ctermbg=DarkGray cterm=NONE
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
@@ -274,7 +283,7 @@ if &background == 'dark'
hi PreCondit ctermfg=Cyan ctermbg=NONE cterm=NONE hi PreCondit ctermfg=Cyan ctermbg=NONE cterm=NONE
hi PreProc ctermfg=Cyan ctermbg=NONE cterm=NONE hi PreProc ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Question ctermfg=Magenta ctermbg=NONE cterm=bold hi Question ctermfg=Magenta ctermbg=NONE cterm=bold
hi QuickFixLine ctermfg=Cyan ctermbg=Black cterm=reverse hi QuickFixLine ctermfg=White ctermbg=magenta cterm=NONE
hi Repeat ctermfg=Red ctermbg=NONE cterm=NONE hi Repeat ctermfg=Red ctermbg=NONE cterm=NONE
hi Search ctermfg=DarkGreen ctermbg=Black cterm=reverse hi Search ctermfg=DarkGreen ctermbg=Black cterm=reverse
hi SignColumn ctermfg=gray ctermbg=NONE cterm=NONE hi SignColumn ctermfg=gray ctermbg=NONE cterm=NONE
@@ -296,6 +305,8 @@ if &background == 'dark'
hi TabLineFill ctermfg=Black ctermbg=gray cterm=NONE hi TabLineFill ctermfg=Black ctermbg=gray cterm=NONE
hi TabLineSel ctermfg=gray ctermbg=Black cterm=NONE hi TabLineSel ctermfg=gray ctermbg=Black cterm=NONE
hi Title ctermfg=NONE ctermbg=NONE cterm=bold hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi TitleBar ctermfg=White ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=black cterm=NONE
hi Todo ctermfg=fg ctermbg=Black cterm=bold hi Todo ctermfg=fg ctermbg=Black cterm=bold
hi ToolbarButton ctermfg=Black ctermbg=gray cterm=bold hi ToolbarButton ctermfg=Black ctermbg=gray cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -370,6 +381,7 @@ if &background == 'light'
hi Number guifg=#8f3f71 guibg=NONE guisp=NONE gui=NONE ctermfg=126 ctermbg=NONE cterm=NONE term=NONE hi Number guifg=#8f3f71 guibg=NONE guisp=NONE gui=NONE ctermfg=126 ctermbg=NONE cterm=NONE term=NONE
hi Operator guifg=#427b58 guibg=NONE guisp=NONE gui=NONE ctermfg=29 ctermbg=NONE cterm=NONE term=NONE hi Operator guifg=#427b58 guibg=NONE guisp=NONE gui=NONE ctermfg=29 ctermbg=NONE cterm=NONE term=NONE
hi Pmenu guifg=NONE guibg=#e5d4b1 guisp=NONE gui=NONE ctermfg=237 ctermbg=187 cterm=NONE term=reverse hi Pmenu guifg=NONE guibg=#e5d4b1 guisp=NONE gui=NONE ctermfg=237 ctermbg=187 cterm=NONE term=reverse
hi PmenuBorder guifg=#7c6f64 guibg=#e5d4b1 guisp=NONE gui=NONE ctermfg=237 ctermbg=187 cterm=NONE term=NONE
hi PmenuExtra guifg=#7c6f64 guibg=#e5d4b1 guisp=NONE gui=NONE ctermfg=243 ctermbg=187 cterm=NONE term=NONE hi PmenuExtra guifg=#7c6f64 guibg=#e5d4b1 guisp=NONE gui=NONE ctermfg=243 ctermbg=187 cterm=NONE term=NONE
hi PmenuExtraSel guifg=#3c3836 guibg=#bdae93 guisp=NONE gui=NONE ctermfg=237 ctermbg=144 cterm=NONE term=NONE hi PmenuExtraSel guifg=#3c3836 guibg=#bdae93 guisp=NONE gui=NONE ctermfg=237 ctermbg=144 cterm=NONE term=NONE
hi PmenuKind guifg=#9d0006 guibg=#e5d4b1 guisp=NONE gui=NONE ctermfg=124 ctermbg=187 cterm=NONE term=NONE hi PmenuKind guifg=#9d0006 guibg=#e5d4b1 guisp=NONE gui=NONE ctermfg=124 ctermbg=187 cterm=NONE term=NONE
@@ -382,7 +394,7 @@ if &background == 'light'
hi PreCondit guifg=#427b58 guibg=NONE guisp=NONE gui=NONE ctermfg=29 ctermbg=NONE cterm=NONE term=NONE hi PreCondit guifg=#427b58 guibg=NONE guisp=NONE gui=NONE ctermfg=29 ctermbg=NONE cterm=NONE term=NONE
hi PreProc guifg=#427b58 guibg=NONE guisp=NONE gui=NONE ctermfg=29 ctermbg=NONE cterm=NONE term=NONE hi PreProc guifg=#427b58 guibg=NONE guisp=NONE gui=NONE ctermfg=29 ctermbg=NONE cterm=NONE term=NONE
hi Question guifg=#ff5f00 guibg=NONE guisp=NONE gui=bold ctermfg=202 ctermbg=NONE cterm=bold term=standout hi Question guifg=#ff5f00 guibg=NONE guisp=NONE gui=bold ctermfg=202 ctermbg=NONE cterm=bold term=standout
hi QuickFixLine guifg=#427b58 guibg=#fbf1c7 guisp=NONE gui=reverse ctermfg=29 ctermbg=230 cterm=reverse term=NONE hi QuickFixLine guifg=NONE guibg=#e7cfd7 guisp=NONE gui=NONE ctermfg=235 ctermbg=182 cterm=NONE term=NONE
hi Repeat guifg=#9d0006 guibg=NONE guisp=NONE gui=NONE ctermfg=124 ctermbg=NONE cterm=NONE term=NONE hi Repeat guifg=#9d0006 guibg=NONE guisp=NONE gui=NONE ctermfg=124 ctermbg=NONE cterm=NONE term=NONE
hi Search guifg=NONE guibg=#dbebb2 guisp=NONE gui=NONE ctermfg=100 ctermbg=230 cterm=reverse term=reverse hi Search guifg=NONE guibg=#dbebb2 guisp=NONE gui=NONE ctermfg=100 ctermbg=230 cterm=reverse term=reverse
hi SignColumn guifg=#3c3836 guibg=#fbf1c7 guisp=NONE gui=NONE ctermfg=237 ctermbg=230 cterm=NONE term=reverse hi SignColumn guifg=#3c3836 guibg=#fbf1c7 guisp=NONE gui=NONE ctermfg=237 ctermbg=230 cterm=NONE term=reverse
@@ -404,6 +416,8 @@ if &background == 'light'
hi TabLineFill guifg=#3c3836 guibg=#ebdbb2 guisp=NONE gui=NONE ctermfg=237 ctermbg=187 cterm=NONE term=NONE hi TabLineFill guifg=#3c3836 guibg=#ebdbb2 guisp=NONE gui=NONE ctermfg=237 ctermbg=187 cterm=NONE term=NONE
hi TabLineSel guifg=#282828 guibg=#fbf1c7 guisp=NONE gui=bold ctermfg=235 ctermbg=230 cterm=bold term=bold,reverse hi TabLineSel guifg=#282828 guibg=#fbf1c7 guisp=NONE gui=bold ctermfg=235 ctermbg=230 cterm=bold term=bold,reverse
hi Title guifg=#79740e guibg=NONE guisp=NONE gui=bold ctermfg=64 ctermbg=NONE cterm=bold term=NONE hi Title guifg=#79740e guibg=NONE guisp=NONE gui=bold ctermfg=64 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#3c3836 guibg=#dbcba2 guisp=NONE gui=NONE ctermfg=237 ctermbg=255 cterm=NONE term=NONE
hi TitleBarNC guifg=#7c6f64 guibg=#e9d9b0 guisp=NONE gui=NONE ctermfg=243 ctermbg=255 cterm=NONE term=NONE
hi Todo guifg=fg guibg=#fbf1c7 guisp=NONE gui=bold ctermfg=fg ctermbg=230 cterm=bold term=bold,reverse hi Todo guifg=fg guibg=#fbf1c7 guisp=NONE gui=bold ctermfg=fg ctermbg=230 cterm=bold term=bold,reverse
hi ToolbarButton guifg=#282828 guibg=#bdae93 guisp=NONE gui=bold ctermfg=235 ctermbg=144 cterm=bold term=bold,reverse hi ToolbarButton guifg=#282828 guibg=#bdae93 guisp=NONE gui=bold ctermfg=235 ctermbg=144 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -418,6 +432,7 @@ if &background == 'light'
if s:tgc || s:t_Co >= 256 if s:tgc || s:t_Co >= 256
if s:tgc if s:tgc
hi IncSearch cterm=NONE hi IncSearch cterm=NONE
hi QuickFixLine cterm=NONE
hi Search cterm=NONE hi Search cterm=NONE
hi Visual cterm=NONE hi Visual cterm=NONE
endif endif
@@ -468,6 +483,7 @@ if &background == 'light'
hi Number ctermfg=Magenta ctermbg=NONE cterm=NONE hi Number ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Operator ctermfg=Cyan ctermbg=NONE cterm=NONE hi Operator ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=Black ctermbg=Grey cterm=NONE hi Pmenu ctermfg=Black ctermbg=Grey cterm=NONE
hi PmenuBorder ctermfg=Black ctermbg=Grey cterm=NONE
hi PmenuExtra ctermfg=DarkGray ctermbg=Grey cterm=NONE hi PmenuExtra ctermfg=DarkGray ctermbg=Grey cterm=NONE
hi PmenuExtraSel ctermfg=DarkGray ctermbg=NONE cterm=NONE hi PmenuExtraSel ctermfg=DarkGray ctermbg=NONE cterm=NONE
hi PmenuKind ctermfg=DarkRed ctermbg=Grey cterm=NONE hi PmenuKind ctermfg=DarkRed ctermbg=Grey cterm=NONE
@@ -480,7 +496,7 @@ if &background == 'light'
hi PreCondit ctermfg=Cyan ctermbg=NONE cterm=NONE hi PreCondit ctermfg=Cyan ctermbg=NONE cterm=NONE
hi PreProc ctermfg=Cyan ctermbg=NONE cterm=NONE hi PreProc ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Question ctermfg=Magenta ctermbg=NONE cterm=bold hi Question ctermfg=Magenta ctermbg=NONE cterm=bold
hi QuickFixLine ctermfg=Cyan ctermbg=White cterm=reverse hi QuickFixLine ctermfg=DarkGray ctermbg=magenta cterm=NONE
hi Repeat ctermfg=Red ctermbg=NONE cterm=NONE hi Repeat ctermfg=Red ctermbg=NONE cterm=NONE
hi Search ctermfg=DarkGreen ctermbg=White cterm=reverse hi Search ctermfg=DarkGreen ctermbg=White cterm=reverse
hi SignColumn ctermfg=Grey ctermbg=NONE cterm=NONE hi SignColumn ctermfg=Grey ctermbg=NONE cterm=NONE
@@ -502,6 +518,8 @@ if &background == 'light'
hi TabLineFill ctermfg=White ctermbg=Grey cterm=NONE hi TabLineFill ctermfg=White ctermbg=Grey cterm=NONE
hi TabLineSel ctermfg=DarkGray ctermbg=White cterm=bold hi TabLineSel ctermfg=DarkGray ctermbg=White cterm=bold
hi Title ctermfg=NONE ctermbg=NONE cterm=bold hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi TitleBar ctermfg=Black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=Black ctermbg=white cterm=NONE
hi Todo ctermfg=fg ctermbg=White cterm=bold hi Todo ctermfg=fg ctermbg=White cterm=bold
hi ToolbarButton ctermfg=Black ctermbg=Grey cterm=bold hi ToolbarButton ctermfg=Black ctermbg=Grey cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -559,6 +577,7 @@ if &background == 'light'
hi Number ctermfg=Magenta ctermbg=NONE cterm=NONE hi Number ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Operator ctermfg=Cyan ctermbg=NONE cterm=NONE hi Operator ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuBorder ctermfg=Black ctermbg=Grey cterm=NONE
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
@@ -571,7 +590,7 @@ if &background == 'light'
hi PreCondit ctermfg=Cyan ctermbg=NONE cterm=NONE hi PreCondit ctermfg=Cyan ctermbg=NONE cterm=NONE
hi PreProc ctermfg=Cyan ctermbg=NONE cterm=NONE hi PreProc ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Question ctermfg=Magenta ctermbg=NONE cterm=bold hi Question ctermfg=Magenta ctermbg=NONE cterm=bold
hi QuickFixLine ctermfg=Cyan ctermbg=White cterm=reverse hi QuickFixLine ctermfg=DarkGray ctermbg=magenta cterm=NONE
hi Repeat ctermfg=Red ctermbg=NONE cterm=NONE hi Repeat ctermfg=Red ctermbg=NONE cterm=NONE
hi Search ctermfg=DarkGreen ctermbg=White cterm=reverse hi Search ctermfg=DarkGreen ctermbg=White cterm=reverse
hi SignColumn ctermfg=Black ctermbg=NONE cterm=NONE hi SignColumn ctermfg=Black ctermbg=NONE cterm=NONE
@@ -593,6 +612,8 @@ if &background == 'light'
hi TabLineFill ctermfg=White ctermbg=Black cterm=NONE hi TabLineFill ctermfg=White ctermbg=Black cterm=NONE
hi TabLineSel ctermfg=Black ctermbg=White cterm=NONE hi TabLineSel ctermfg=Black ctermbg=White cterm=NONE
hi Title ctermfg=Green ctermbg=NONE cterm=bold hi Title ctermfg=Green ctermbg=NONE cterm=bold
hi TitleBar ctermfg=Black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=Black ctermbg=white cterm=NONE
hi Todo ctermfg=fg ctermbg=White cterm=bold hi Todo ctermfg=fg ctermbg=White cterm=bold
hi ToolbarButton ctermfg=White ctermbg=Black cterm=bold hi ToolbarButton ctermfg=White ctermbg=Black cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -3,9 +3,9 @@
" Maintainer: original maintainer Ron Aaron <ron@ronware.org> " Maintainer: original maintainer Ron Aaron <ron@ronware.org>
" URL: https://www.github.com/vim/colorschemes " URL: https://www.github.com/vim/colorschemes
" License: Same as Vim " License: Same as Vim
" Last Change: 2025 Aug 03 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
set background=dark set background=dark
@@ -108,6 +108,8 @@ hi TabLineFill guifg=#a9a9a9 guibg=#7f7f7f guisp=NONE gui=NONE ctermfg=145 cterm
hi TabLineSel guifg=#00ffff guibg=#000000 guisp=NONE gui=bold ctermfg=51 ctermbg=16 cterm=NONE term=bold,reverse hi TabLineSel guifg=#00ffff guibg=#000000 guisp=NONE gui=bold ctermfg=51 ctermbg=16 cterm=NONE term=bold,reverse
hi Terminal guifg=#00ffff guibg=#000000 guisp=NONE gui=NONE ctermfg=51 ctermbg=16 cterm=NONE term=NONE hi Terminal guifg=#00ffff guibg=#000000 guisp=NONE gui=NONE ctermfg=51 ctermbg=16 cterm=NONE term=NONE
hi Title guifg=#a9a9a9 guibg=NONE guisp=NONE gui=NONE ctermfg=145 ctermbg=NONE cterm=NONE term=NONE hi Title guifg=#a9a9a9 guibg=NONE guisp=NONE gui=NONE ctermfg=145 ctermbg=NONE cterm=NONE term=NONE
hi TitleBar guifg=#00ffff guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=51 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#7f7f7f guibg=#2c2c2c guisp=NONE gui=NONE ctermfg=102 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#000000 guibg=#ffa500 guisp=NONE gui=NONE ctermfg=16 ctermbg=214 cterm=NONE term=bold,reverse hi Todo guifg=#000000 guibg=#ffa500 guisp=NONE gui=NONE ctermfg=16 ctermbg=214 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=#000000 guibg=#e5e5e5 guisp=NONE gui=bold ctermfg=16 ctermbg=254 cterm=NONE term=bold,reverse hi ToolbarButton guifg=#000000 guibg=#e5e5e5 guisp=NONE gui=bold ctermfg=16 ctermbg=254 cterm=NONE term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -179,6 +181,8 @@ if s:t_Co >= 16
hi TabLineSel ctermfg=cyan ctermbg=black cterm=NONE hi TabLineSel ctermfg=cyan ctermbg=black cterm=NONE
hi Terminal ctermfg=cyan ctermbg=black cterm=NONE hi Terminal ctermfg=cyan ctermbg=black cterm=NONE
hi Title ctermfg=grey ctermbg=NONE cterm=NONE hi Title ctermfg=grey ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=cyan ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=grey cterm=NONE hi ToolbarButton ctermfg=black ctermbg=grey cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -248,6 +252,8 @@ if s:t_Co >= 8
hi TabLineSel ctermfg=darkcyan ctermbg=black cterm=bold hi TabLineSel ctermfg=darkcyan ctermbg=black cterm=bold
hi Terminal ctermfg=darkcyan ctermbg=black cterm=NONE hi Terminal ctermfg=darkcyan ctermbg=black cterm=NONE
hi Title ctermfg=grey ctermbg=NONE cterm=bold hi Title ctermfg=grey ctermbg=NONE cterm=bold
hi TitleBar ctermfg=cyan ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=black ctermbg=darkyellow cterm=bold hi Todo ctermfg=black ctermbg=darkyellow cterm=bold
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer is Yasuhiro Matsumoto <mattn@mail.goo.ne.jp> " Maintainer: Original maintainer is Yasuhiro Matsumoto <mattn@mail.goo.ne.jp>
" URL: https://github.com/vim/colorschemes " URL: https://github.com/vim/colorschemes
" License: Same as Vim " License: Same as Vim
" Last Change: 2025 Aug 03 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
set background=light set background=light
@@ -89,6 +89,8 @@ hi TabLine guifg=#000000 guibg=#dadada guisp=NONE gui=underline ctermfg=16 cterm
hi TabLineFill guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse term=NONE hi TabLineFill guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse term=NONE
hi TabLineSel guifg=#000000 guibg=#ffffff guisp=NONE gui=bold ctermfg=16 ctermbg=231 cterm=bold term=bold,reverse hi TabLineSel guifg=#000000 guibg=#ffffff guisp=NONE gui=bold ctermfg=16 ctermbg=231 cterm=bold term=bold,reverse
hi Title guifg=#006400 guibg=NONE guisp=NONE gui=bold ctermfg=22 ctermbg=NONE cterm=bold term=NONE hi Title guifg=#006400 guibg=NONE guisp=NONE gui=bold ctermfg=22 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#000000 guibg=#ececec guisp=NONE gui=NONE ctermfg=16 ctermbg=255 cterm=NONE term=NONE
hi TitleBarNC guifg=#767676 guibg=#f5f5f5 guisp=NONE gui=NONE ctermfg=243 ctermbg=255 cterm=NONE term=NONE
hi Todo guifg=#000000 guibg=#ffff00 guisp=NONE gui=NONE ctermfg=16 ctermbg=226 cterm=NONE term=bold,reverse hi Todo guifg=#000000 guibg=#ffff00 guisp=NONE gui=NONE ctermfg=16 ctermbg=226 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=NONE guibg=#a8a8a8 guisp=NONE gui=bold ctermfg=NONE ctermbg=248 cterm=bold term=bold,reverse hi ToolbarButton guifg=NONE guibg=#a8a8a8 guisp=NONE gui=bold ctermfg=NONE ctermbg=248 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -161,6 +163,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=black ctermbg=white cterm=bold hi TabLineSel ctermfg=black ctermbg=white cterm=bold
hi Title ctermfg=darkgreen ctermbg=NONE cterm=bold hi Title ctermfg=darkgreen ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=white cterm=NONE
hi Todo ctermfg=black ctermbg=yellow cterm=NONE hi Todo ctermfg=black ctermbg=yellow cterm=NONE
hi ToolbarButton ctermfg=NONE ctermbg=darkgrey cterm=bold hi ToolbarButton ctermfg=NONE ctermbg=darkgrey cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -231,6 +235,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=grey ctermbg=black cterm=reverse hi TabLineSel ctermfg=grey ctermbg=black cterm=reverse
hi Title ctermfg=darkgreen ctermbg=NONE cterm=bold hi Title ctermfg=darkgreen ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=white cterm=NONE
hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=grey cterm=bold,reverse hi ToolbarButton ctermfg=black ctermbg=grey cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer Ralph Amissah <ralph@amissah.com> " Maintainer: Original maintainer Ralph Amissah <ralph@amissah.com>
" URL: https://github.com/vim/colorschemes " URL: https://github.com/vim/colorschemes
" License: Same as Vim " License: Same as Vim
" Last Change: 2025 Aug 03 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
set background=dark set background=dark
@@ -86,6 +86,8 @@ hi TabLine guifg=#666666 guibg=#333333 guisp=NONE gui=NONE ctermfg=241 ctermbg=2
hi TabLineFill guifg=#ff8787 guibg=#333333 guisp=NONE gui=NONE ctermfg=210 ctermbg=236 cterm=NONE term=NONE hi TabLineFill guifg=#ff8787 guibg=#333333 guisp=NONE gui=NONE ctermfg=210 ctermbg=236 cterm=NONE term=NONE
hi TabLineSel guifg=#000000 guibg=#afaf87 guisp=NONE gui=NONE ctermfg=16 ctermbg=144 cterm=NONE term=bold,reverse hi TabLineSel guifg=#000000 guibg=#afaf87 guisp=NONE gui=NONE ctermfg=16 ctermbg=144 cterm=NONE term=bold,reverse
hi Title guifg=#ffd700 guibg=NONE guisp=NONE gui=bold ctermfg=220 ctermbg=NONE cterm=bold term=NONE hi Title guifg=#ffd700 guibg=NONE guisp=NONE gui=bold ctermfg=220 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#ffffff guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=231 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#666666 guibg=#2c2c2c guisp=NONE gui=NONE ctermfg=241 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#ff0000 guibg=#ffff00 guisp=NONE gui=NONE ctermfg=196 ctermbg=226 cterm=NONE term=bold,reverse hi Todo guifg=#ff0000 guibg=#ffff00 guisp=NONE gui=NONE ctermfg=196 ctermbg=226 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=#262626 guibg=#d7d787 guisp=NONE gui=NONE ctermfg=235 ctermbg=186 cterm=NONE term=bold,reverse hi ToolbarButton guifg=#262626 guibg=#d7d787 guisp=NONE gui=NONE ctermfg=235 ctermbg=186 cterm=NONE term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -164,6 +166,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=cyan ctermbg=darkgrey cterm=NONE hi TabLineFill ctermfg=cyan ctermbg=darkgrey cterm=NONE
hi TabLineSel ctermfg=black ctermbg=darkyellow cterm=NONE hi TabLineSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi Title ctermfg=darkyellow ctermbg=NONE cterm=bold hi Title ctermfg=darkyellow ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=grey ctermbg=black cterm=NONE
hi Todo ctermfg=black ctermbg=yellow cterm=NONE hi Todo ctermfg=black ctermbg=yellow cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=darkyellow cterm=NONE hi ToolbarButton ctermfg=black ctermbg=darkyellow cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -235,6 +239,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=grey ctermbg=black cterm=reverse hi TabLineFill ctermfg=grey ctermbg=black cterm=reverse
hi TabLineSel ctermfg=black ctermbg=darkyellow cterm=NONE hi TabLineSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi Title ctermfg=darkyellow ctermbg=NONE cterm=bold hi Title ctermfg=darkyellow ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=grey ctermbg=black cterm=NONE
hi Todo ctermfg=black ctermbg=yellow cterm=NONE hi Todo ctermfg=black ctermbg=yellow cterm=NONE
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Maxence Weynans <neutaaaaan@gmail.com> " Maintainer: Maxence Weynans <neutaaaaan@gmail.com>
" URL: https://github.com/vim/colorschemes " URL: https://github.com/vim/colorschemes
" License: Vim License (see `:help license`)` " License: Vim License (see `:help license`)`
" Last Change: 2025 Jun 18 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
set background=dark set background=dark
@@ -110,6 +110,8 @@ hi TabLine guifg=#8787af guibg=#000000 guisp=NONE gui=reverse ctermfg=103 ctermb
hi TabLineFill guifg=#dadada guibg=NONE guisp=NONE gui=NONE ctermfg=253 ctermbg=NONE cterm=NONE term=NONE hi TabLineFill guifg=#dadada guibg=NONE guisp=NONE gui=NONE ctermfg=253 ctermbg=NONE cterm=NONE term=NONE
hi TabLineSel guifg=#000000 guibg=#d7d7ff guisp=NONE gui=bold ctermfg=16 ctermbg=189 cterm=bold term=bold,reverse hi TabLineSel guifg=#000000 guibg=#d7d7ff guisp=NONE gui=bold ctermfg=16 ctermbg=189 cterm=bold term=bold,reverse
hi Title guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=NONE hi Title guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=NONE
hi TitleBar guifg=#dadada guibg=#363851 guisp=NONE gui=NONE ctermfg=253 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#707070 guibg=#262841 guisp=NONE gui=NONE ctermfg=242 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#5fd7af guibg=NONE guisp=NONE gui=bold,reverse ctermfg=79 ctermbg=NONE cterm=bold,reverse term=bold,reverse hi Todo guifg=#5fd7af guibg=NONE guisp=NONE gui=bold,reverse ctermfg=79 ctermbg=NONE cterm=bold,reverse term=bold,reverse
hi ToolbarButton guifg=#dadada guibg=#000000 guisp=NONE gui=bold ctermfg=253 ctermbg=16 cterm=bold term=bold,reverse hi ToolbarButton guifg=#dadada guibg=#000000 guisp=NONE gui=bold ctermfg=253 ctermbg=16 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=#000000 guisp=NONE gui=NONE ctermfg=NONE ctermbg=16 cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=#000000 guisp=NONE gui=NONE ctermfg=NONE ctermbg=16 cterm=NONE term=reverse
@@ -187,6 +189,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=grey ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=darkgreen ctermbg=black cterm=bold,reverse hi Todo ctermfg=darkgreen ctermbg=black cterm=bold,reverse
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse
@@ -262,6 +266,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=grey ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=darkgreen ctermbg=black cterm=bold,reverse hi Todo ctermfg=darkgreen ctermbg=black cterm=bold,reverse
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer Thorsten Maerz <info@netztorte.de> " Maintainer: Original maintainer Thorsten Maerz <info@netztorte.de>
" URL: https://github.com/vim/colorschemes " URL: https://github.com/vim/colorschemes
" License: Same as Vim " License: Same as Vim
" Last Change: 2025 Aug 03 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
set background=dark set background=dark
@@ -86,6 +86,8 @@ hi TabLine guifg=#ffffff guibg=#7f7f7f guisp=NONE gui=NONE ctermfg=231 ctermbg=1
hi TabLineFill guifg=NONE guibg=#000000 guisp=NONE gui=reverse ctermfg=NONE ctermbg=16 cterm=reverse term=NONE hi TabLineFill guifg=NONE guibg=#000000 guisp=NONE gui=reverse ctermfg=NONE ctermbg=16 cterm=reverse term=NONE
hi TabLineSel guifg=#cccccc guibg=#000000 guisp=NONE gui=bold ctermfg=251 ctermbg=16 cterm=bold term=bold,reverse hi TabLineSel guifg=#cccccc guibg=#000000 guisp=NONE gui=bold ctermfg=251 ctermbg=16 cterm=bold term=bold,reverse
hi Title guifg=#ff00ff guibg=NONE guisp=NONE gui=bold ctermfg=201 ctermbg=NONE cterm=bold term=NONE hi Title guifg=#ff00ff guibg=NONE guisp=NONE gui=bold ctermfg=201 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#cccccc guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=251 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#7f7f7f guibg=#2c2c2c guisp=NONE gui=NONE ctermfg=102 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#ffff00 guibg=#000000 guisp=NONE gui=reverse ctermfg=226 ctermbg=16 cterm=reverse term=bold,reverse hi Todo guifg=#ffff00 guibg=#000000 guisp=NONE gui=reverse ctermfg=226 ctermbg=16 cterm=reverse term=bold,reverse
hi ToolbarButton guifg=#000000 guibg=#e5e5e5 guisp=NONE gui=bold ctermfg=16 ctermbg=254 cterm=bold term=bold,reverse hi ToolbarButton guifg=#000000 guibg=#e5e5e5 guisp=NONE gui=bold ctermfg=16 ctermbg=254 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=#000000 guisp=NONE gui=NONE ctermfg=NONE ctermbg=16 cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=#000000 guisp=NONE gui=NONE ctermfg=NONE ctermbg=16 cterm=NONE term=reverse
@@ -155,6 +157,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=NONE ctermbg=black cterm=reverse hi TabLineFill ctermfg=NONE ctermbg=black cterm=reverse
hi TabLineSel ctermfg=white ctermbg=black cterm=bold hi TabLineSel ctermfg=white ctermbg=black cterm=bold
hi Title ctermfg=magenta ctermbg=NONE cterm=bold hi Title ctermfg=magenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=yellow ctermbg=black cterm=reverse hi Todo ctermfg=yellow ctermbg=black cterm=reverse
hi ToolbarButton ctermfg=black ctermbg=grey cterm=bold hi ToolbarButton ctermfg=black ctermbg=grey cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
@@ -222,6 +226,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=NONE ctermbg=black cterm=reverse hi TabLineFill ctermfg=NONE ctermbg=black cterm=reverse
hi TabLineSel ctermfg=white ctermbg=black cterm=bold hi TabLineSel ctermfg=white ctermbg=black cterm=bold
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=darkyellow ctermbg=black cterm=reverse hi Todo ctermfg=darkyellow ctermbg=black cterm=reverse
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -2,9 +2,9 @@
" Description: Color scheme similar to Monokai originally created by Wimer Hazenberg for TextMate " Description: Color scheme similar to Monokai originally created by Wimer Hazenberg for TextMate
" Author: k-37 <60838818+k-37@users.noreply.github.com> " Author: k-37 <60838818+k-37@users.noreply.github.com>
" URL: https://github.com/vim/colorschemes " URL: https://github.com/vim/colorschemes
" Last Change: 2025 Jun 18 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
set background=dark set background=dark
@@ -101,6 +101,8 @@ hi TabLine guifg=#282923 guibg=#74705d guisp=NONE gui=NONE ctermfg=235 ctermbg=2
hi TabLineFill guifg=#282923 guibg=#74705d guisp=NONE gui=NONE ctermfg=235 ctermbg=244 cterm=NONE term=NONE hi TabLineFill guifg=#282923 guibg=#74705d guisp=NONE gui=NONE ctermfg=235 ctermbg=244 cterm=NONE term=NONE
hi TabLineSel guifg=#282923 guibg=#bababa guisp=NONE gui=bold ctermfg=235 ctermbg=250 cterm=bold term=bold,reverse hi TabLineSel guifg=#282923 guibg=#bababa guisp=NONE gui=bold ctermfg=235 ctermbg=250 cterm=bold term=bold,reverse
hi Title guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=NONE hi Title guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#dadada guibg=#484943 guisp=NONE gui=NONE ctermfg=253 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#bababa guibg=#383933 guisp=NONE gui=NONE ctermfg=250 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#dadada guibg=NONE guisp=NONE gui=bold ctermfg=253 ctermbg=NONE cterm=bold term=bold,reverse hi Todo guifg=#dadada guibg=NONE guisp=NONE gui=bold ctermfg=253 ctermbg=NONE cterm=bold term=bold,reverse
hi ToolbarButton guifg=#74705d guibg=#f8f8f2 guisp=NONE gui=bold,reverse ctermfg=244 ctermbg=255 cterm=bold,reverse term=bold,reverse hi ToolbarButton guifg=#74705d guibg=#f8f8f2 guisp=NONE gui=bold,reverse ctermfg=244 ctermbg=255 cterm=bold,reverse term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -197,6 +199,8 @@ if s:t_Co >= 16
hi TabLineFill ctermfg=black ctermbg=darkgray cterm=NONE hi TabLineFill ctermfg=black ctermbg=darkgray cterm=NONE
hi TabLineSel ctermfg=black ctermbg=gray cterm=bold hi TabLineSel ctermfg=black ctermbg=gray cterm=bold
hi Title ctermfg=NONE ctermbg=NONE cterm=bold hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=black cterm=NONE
hi Todo ctermfg=white ctermbg=NONE cterm=bold hi Todo ctermfg=white ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=darkgray ctermbg=white cterm=bold,reverse hi ToolbarButton ctermfg=darkgray ctermbg=white cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -286,6 +290,8 @@ if s:t_Co >= 8
hi TabLineFill ctermfg=gray ctermbg=gray cterm=NONE hi TabLineFill ctermfg=gray ctermbg=gray cterm=NONE
hi TabLineSel ctermfg=black ctermbg=gray cterm=bold hi TabLineSel ctermfg=black ctermbg=gray cterm=bold
hi Title ctermfg=NONE ctermbg=NONE cterm=bold hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=black cterm=NONE
hi Todo ctermfg=gray ctermbg=NONE cterm=bold hi Todo ctermfg=gray ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=gray ctermbg=black cterm=reverse hi ToolbarButton ctermfg=gray ctermbg=black cterm=reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -3,9 +3,9 @@
" Author: Maxim Kim <habamax@gmail.com> " Author: Maxim Kim <habamax@gmail.com>
" URL: https://github.com/vim/colorschemes " URL: https://github.com/vim/colorschemes
" License: Same as Vim " License: Same as Vim
" Last Change: 2025 Aug 15 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
hi clear hi clear
let g:colors_name = 'wildcharm' let g:colors_name = 'wildcharm'
@@ -23,6 +23,7 @@ hi! link LineNrBelow LineNr
hi! link MessageWindow PMenu hi! link MessageWindow PMenu
hi! link Number Constant hi! link Number Constant
hi! link PopupNotification Todo hi! link PopupNotification Todo
hi! link PreInsert NonText
hi! link StatusLineTerm Statusline hi! link StatusLineTerm Statusline
hi! link StatusLineTermNC StatuslineNC hi! link StatusLineTermNC StatuslineNC
hi! link TabPanel Normal hi! link TabPanel Normal
@@ -61,6 +62,7 @@ if &background == 'dark'
hi MoreMsg guifg=#00d75f guibg=NONE guisp=NONE gui=NONE ctermfg=41 ctermbg=NONE cterm=NONE term=NONE hi MoreMsg guifg=#00d75f guibg=NONE guisp=NONE gui=NONE ctermfg=41 ctermbg=NONE cterm=NONE term=NONE
hi NonText guifg=#585858 guibg=NONE guisp=NONE gui=NONE ctermfg=240 ctermbg=NONE cterm=NONE term=NONE hi NonText guifg=#585858 guibg=NONE guisp=NONE gui=NONE ctermfg=240 ctermbg=NONE cterm=NONE term=NONE
hi Pmenu guifg=NONE guibg=#303030 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=reverse hi Pmenu guifg=NONE guibg=#303030 guisp=NONE gui=NONE ctermfg=NONE ctermbg=236 cterm=NONE term=reverse
hi PmenuBorder guifg=#767676 guibg=#303030 guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE
hi PmenuExtra guifg=#767676 guibg=#303030 guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE hi PmenuExtra guifg=#767676 guibg=#303030 guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE
hi PmenuExtraSel guifg=#767676 guibg=#585858 guisp=NONE gui=NONE ctermfg=243 ctermbg=240 cterm=NONE term=NONE hi PmenuExtraSel guifg=#767676 guibg=#585858 guisp=NONE gui=NONE ctermfg=243 ctermbg=240 cterm=NONE term=NONE
hi PmenuKind guifg=#ff5f87 guibg=#303030 guisp=NONE gui=NONE ctermfg=204 ctermbg=236 cterm=NONE term=NONE hi PmenuKind guifg=#ff5f87 guibg=#303030 guisp=NONE gui=NONE ctermfg=204 ctermbg=236 cterm=NONE term=NONE
@@ -72,7 +74,7 @@ if &background == 'dark'
hi PmenuThumb guifg=NONE guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=NONE ctermbg=252 cterm=NONE term=NONE hi PmenuThumb guifg=NONE guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=NONE ctermbg=252 cterm=NONE term=NONE
hi PreProc guifg=#00d7d7 guibg=NONE guisp=NONE gui=NONE ctermfg=44 ctermbg=NONE cterm=NONE term=NONE hi PreProc guifg=#00d7d7 guibg=NONE guisp=NONE gui=NONE ctermfg=44 ctermbg=NONE cterm=NONE term=NONE
hi Question guifg=#ff87ff guibg=NONE guisp=NONE gui=NONE ctermfg=213 ctermbg=NONE cterm=NONE term=standout hi Question guifg=#ff87ff guibg=NONE guisp=NONE gui=NONE ctermfg=213 ctermbg=NONE cterm=NONE term=standout
hi QuickFixLine guifg=#000000 guibg=#ff87ff guisp=NONE gui=NONE ctermfg=16 ctermbg=213 cterm=NONE term=NONE hi QuickFixLine guifg=NONE guibg=#4f2f4f guisp=NONE gui=NONE ctermfg=252 ctermbg=53 cterm=NONE term=NONE
hi Removed guifg=#d7005f guibg=NONE guisp=NONE gui=NONE ctermfg=161 ctermbg=NONE cterm=NONE term=NONE hi Removed guifg=#d7005f guibg=NONE guisp=NONE gui=NONE ctermfg=161 ctermbg=NONE cterm=NONE term=NONE
hi Search guifg=NONE guibg=#3a4a3a guisp=NONE gui=NONE ctermfg=41 ctermbg=16 cterm=reverse term=reverse hi Search guifg=NONE guibg=#3a4a3a guisp=NONE gui=NONE ctermfg=41 ctermbg=16 cterm=reverse term=reverse
hi SignColumn guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi SignColumn guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -90,7 +92,9 @@ if &background == 'dark'
hi TabLineFill guifg=#000000 guibg=#767676 guisp=NONE gui=NONE ctermfg=16 ctermbg=243 cterm=NONE term=NONE hi TabLineFill guifg=#000000 guibg=#767676 guisp=NONE gui=NONE ctermfg=16 ctermbg=243 cterm=NONE term=NONE
hi TabLineSel guifg=#000000 guibg=#9e9e9e guisp=NONE gui=bold ctermfg=16 ctermbg=247 cterm=bold term=bold,reverse hi TabLineSel guifg=#000000 guibg=#9e9e9e guisp=NONE gui=bold ctermfg=16 ctermbg=247 cterm=bold term=bold,reverse
hi Title guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=NONE hi Title guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=NONE
hi Todo guifg=#875fff guibg=#000000 guisp=NONE gui=reverse ctermfg=99 ctermbg=16 cterm=reverse term=bold,reverse hi TitleBar guifg=#ffffff guibg=#3c3c3c guisp=NONE gui=NONE ctermfg=231 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#767676 guibg=#2c2c2c guisp=NONE gui=NONE ctermfg=243 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=#ffffff guibg=NONE guisp=NONE gui=bold ctermfg=231 ctermbg=NONE cterm=bold term=bold,reverse
hi ToolbarButton guifg=#000000 guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=16 ctermbg=252 cterm=NONE term=bold,reverse hi ToolbarButton guifg=#000000 guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=16 ctermbg=252 cterm=NONE term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
hi Type guifg=#ffaf00 guibg=NONE guisp=NONE gui=NONE ctermfg=214 ctermbg=NONE cterm=NONE term=NONE hi Type guifg=#ffaf00 guibg=NONE guisp=NONE gui=NONE ctermfg=214 ctermbg=NONE cterm=NONE term=NONE
@@ -111,6 +115,7 @@ if &background == 'dark'
if s:tgc || s:t_Co >= 256 if s:tgc || s:t_Co >= 256
if s:tgc if s:tgc
hi IncSearch cterm=NONE hi IncSearch cterm=NONE
hi QuickFixLine cterm=NONE
hi Search cterm=NONE hi Search cterm=NONE
hi Visual cterm=NONE hi Visual cterm=NONE
endif endif
@@ -147,6 +152,7 @@ if &background == 'dark'
hi MoreMsg ctermfg=green ctermbg=NONE cterm=NONE hi MoreMsg ctermfg=green ctermbg=NONE cterm=NONE
hi NonText ctermfg=grey ctermbg=NONE cterm=NONE hi NonText ctermfg=grey ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=black ctermbg=grey cterm=NONE hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
hi PmenuBorder ctermfg=NONE ctermbg=grey cterm=NONE
hi PmenuExtra ctermfg=darkgrey ctermbg=grey cterm=NONE hi PmenuExtra ctermfg=darkgrey ctermbg=grey cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuKind ctermfg=darkred ctermbg=grey cterm=NONE hi PmenuKind ctermfg=darkred ctermbg=grey cterm=NONE
@@ -176,7 +182,9 @@ if &background == 'dark'
hi TabLineFill ctermfg=black ctermbg=darkgrey cterm=NONE hi TabLineFill ctermfg=black ctermbg=darkgrey cterm=NONE
hi TabLineSel ctermfg=black ctermbg=grey cterm=bold hi TabLineSel ctermfg=black ctermbg=grey cterm=bold
hi Title ctermfg=NONE ctermbg=NONE cterm=bold hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Todo ctermfg=darkred ctermbg=black cterm=reverse hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=black ctermbg=grey cterm=NONE hi ToolbarButton ctermfg=black ctermbg=grey cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi Type ctermfg=yellow ctermbg=NONE cterm=NONE hi Type ctermfg=yellow ctermbg=NONE cterm=NONE
@@ -221,6 +229,7 @@ if &background == 'dark'
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi NonText ctermfg=black ctermbg=NONE cterm=NONE hi NonText ctermfg=black ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuBorder ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
@@ -250,7 +259,9 @@ if &background == 'dark'
hi TabLineFill ctermfg=grey ctermbg=grey cterm=NONE hi TabLineFill ctermfg=grey ctermbg=grey cterm=NONE
hi TabLineSel ctermfg=grey ctermbg=black cterm=bold,reverse hi TabLineSel ctermfg=grey ctermbg=black cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=bold hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Todo ctermfg=darkred ctermbg=black cterm=reverse hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE
@@ -302,7 +313,7 @@ if &background == 'light'
hi DiffText guifg=NONE guibg=#bfe7e7 guisp=NONE gui=NONE ctermfg=16 ctermbg=152 cterm=NONE term=reverse hi DiffText guifg=NONE guibg=#bfe7e7 guisp=NONE gui=NONE ctermfg=16 ctermbg=152 cterm=NONE term=reverse
hi Directory guifg=#005faf guibg=NONE guisp=NONE gui=bold ctermfg=25 ctermbg=NONE cterm=bold term=NONE hi Directory guifg=#005faf guibg=NONE guisp=NONE gui=bold ctermfg=25 ctermbg=NONE cterm=bold term=NONE
hi EndOfBuffer guifg=#a8a8a8 guibg=NONE guisp=NONE gui=NONE ctermfg=248 ctermbg=NONE cterm=NONE term=NONE hi EndOfBuffer guifg=#a8a8a8 guibg=NONE guisp=NONE gui=NONE ctermfg=248 ctermbg=NONE cterm=NONE term=NONE
hi Error guifg=#d70000 guibg=#ffffff guisp=NONE gui=reverse ctermfg=160 ctermbg=231 cterm=reverse term=bold,reverse hi Error guifg=#af0000 guibg=#ffffff guisp=NONE gui=reverse ctermfg=124 ctermbg=231 cterm=reverse term=bold,reverse
hi ErrorMsg guifg=#d70000 guibg=#ffffff guisp=NONE gui=reverse ctermfg=160 ctermbg=231 cterm=reverse term=bold,reverse hi ErrorMsg guifg=#d70000 guibg=#ffffff guisp=NONE gui=reverse ctermfg=160 ctermbg=231 cterm=reverse term=bold,reverse
hi FoldColumn guifg=#a8a8a8 guibg=NONE guisp=NONE gui=NONE ctermfg=248 ctermbg=NONE cterm=NONE term=NONE hi FoldColumn guifg=#a8a8a8 guibg=NONE guisp=NONE gui=NONE ctermfg=248 ctermbg=NONE cterm=NONE term=NONE
hi Folded guifg=#808080 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=240 ctermbg=254 cterm=NONE term=NONE hi Folded guifg=#808080 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=240 ctermbg=254 cterm=NONE term=NONE
@@ -315,6 +326,7 @@ if &background == 'light'
hi MoreMsg guifg=#008700 guibg=NONE guisp=NONE gui=NONE ctermfg=28 ctermbg=NONE cterm=NONE term=NONE hi MoreMsg guifg=#008700 guibg=NONE guisp=NONE gui=NONE ctermfg=28 ctermbg=NONE cterm=NONE term=NONE
hi NonText guifg=#a8a8a8 guibg=NONE guisp=NONE gui=NONE ctermfg=248 ctermbg=NONE cterm=NONE term=NONE hi NonText guifg=#a8a8a8 guibg=NONE guisp=NONE gui=NONE ctermfg=248 ctermbg=NONE cterm=NONE term=NONE
hi Pmenu guifg=NONE guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=NONE ctermbg=254 cterm=NONE term=reverse hi Pmenu guifg=NONE guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=NONE ctermbg=254 cterm=NONE term=reverse
hi PmenuBorder guifg=#808080 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=240 ctermbg=254 cterm=NONE term=NONE
hi PmenuExtra guifg=#808080 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=240 ctermbg=254 cterm=NONE term=NONE hi PmenuExtra guifg=#808080 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=240 ctermbg=254 cterm=NONE term=NONE
hi PmenuExtraSel guifg=#808080 guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=240 ctermbg=252 cterm=NONE term=NONE hi PmenuExtraSel guifg=#808080 guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=240 ctermbg=252 cterm=NONE term=NONE
hi PmenuKind guifg=#d70000 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=160 ctermbg=254 cterm=NONE term=NONE hi PmenuKind guifg=#d70000 guibg=#e4e4e4 guisp=NONE gui=NONE ctermfg=160 ctermbg=254 cterm=NONE term=NONE
@@ -326,7 +338,7 @@ if &background == 'light'
hi PmenuThumb guifg=NONE guibg=#808080 guisp=NONE gui=NONE ctermfg=NONE ctermbg=240 cterm=NONE term=NONE hi PmenuThumb guifg=NONE guibg=#808080 guisp=NONE gui=NONE ctermfg=NONE ctermbg=240 cterm=NONE term=NONE
hi PreProc guifg=#008787 guibg=NONE guisp=NONE gui=NONE ctermfg=30 ctermbg=NONE cterm=NONE term=NONE hi PreProc guifg=#008787 guibg=NONE guisp=NONE gui=NONE ctermfg=30 ctermbg=NONE cterm=NONE term=NONE
hi Question guifg=#870087 guibg=NONE guisp=NONE gui=NONE ctermfg=90 ctermbg=NONE cterm=NONE term=standout hi Question guifg=#870087 guibg=NONE guisp=NONE gui=NONE ctermfg=90 ctermbg=NONE cterm=NONE term=standout
hi QuickFixLine guifg=#ffffff guibg=#870087 guisp=NONE gui=NONE ctermfg=231 ctermbg=90 cterm=NONE term=NONE hi QuickFixLine guifg=NONE guibg=#e7cfe7 guisp=NONE gui=NONE ctermfg=16 ctermbg=182 cterm=NONE term=NONE
hi Removed guifg=#d70000 guibg=NONE guisp=NONE gui=NONE ctermfg=160 ctermbg=NONE cterm=NONE term=NONE hi Removed guifg=#d70000 guibg=NONE guisp=NONE gui=NONE ctermfg=160 ctermbg=NONE cterm=NONE term=NONE
hi Search guifg=NONE guibg=#e7f3e7 guisp=NONE gui=NONE ctermfg=28 ctermbg=231 cterm=reverse term=reverse hi Search guifg=NONE guibg=#e7f3e7 guisp=NONE gui=NONE ctermfg=28 ctermbg=231 cterm=reverse term=reverse
hi SignColumn guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi SignColumn guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -344,7 +356,9 @@ if &background == 'light'
hi TabLineFill guifg=#d0d0d0 guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=252 ctermbg=252 cterm=NONE term=NONE hi TabLineFill guifg=#d0d0d0 guibg=#d0d0d0 guisp=NONE gui=NONE ctermfg=252 ctermbg=252 cterm=NONE term=NONE
hi TabLineSel guifg=#5f5f5f guibg=#ffffff guisp=NONE gui=bold,reverse ctermfg=59 ctermbg=231 cterm=bold,reverse term=bold,reverse hi TabLineSel guifg=#5f5f5f guibg=#ffffff guisp=NONE gui=bold,reverse ctermfg=59 ctermbg=231 cterm=bold,reverse term=bold,reverse
hi Title guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=NONE hi Title guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=NONE
hi Todo guifg=#5f00d7 guibg=#ffffff guisp=NONE gui=reverse ctermfg=56 ctermbg=231 cterm=reverse term=bold,reverse hi TitleBar guifg=#000000 guibg=#ececec guisp=NONE gui=NONE ctermfg=16 ctermbg=255 cterm=NONE term=NONE
hi TitleBarNC guifg=#808080 guibg=#f5f5f5 guisp=NONE gui=NONE ctermfg=240 ctermbg=255 cterm=NONE term=NONE
hi Todo guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold term=bold,reverse
hi ToolbarButton guifg=#ffffff guibg=#5f5f5f guisp=NONE gui=NONE ctermfg=231 ctermbg=59 cterm=NONE term=bold,reverse hi ToolbarButton guifg=#ffffff guibg=#5f5f5f guisp=NONE gui=NONE ctermfg=231 ctermbg=59 cterm=NONE term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
hi Type guifg=#af5f00 guibg=NONE guisp=NONE gui=NONE ctermfg=130 ctermbg=NONE cterm=NONE term=NONE hi Type guifg=#af5f00 guibg=NONE guisp=NONE gui=NONE ctermfg=130 ctermbg=NONE cterm=NONE term=NONE
@@ -365,6 +379,7 @@ if &background == 'light'
if s:tgc || s:t_Co >= 256 if s:tgc || s:t_Co >= 256
if s:tgc if s:tgc
hi IncSearch cterm=NONE hi IncSearch cterm=NONE
hi QuickFixLine cterm=NONE
hi Search cterm=NONE hi Search cterm=NONE
hi Visual cterm=NONE hi Visual cterm=NONE
endif endif
@@ -388,7 +403,7 @@ if &background == 'light'
hi DiffText ctermfg=black ctermbg=cyan cterm=NONE hi DiffText ctermfg=black ctermbg=cyan cterm=NONE
hi Directory ctermfg=darkblue ctermbg=NONE cterm=bold hi Directory ctermfg=darkblue ctermbg=NONE cterm=bold
hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Error ctermfg=red ctermbg=white cterm=reverse hi Error ctermfg=darkred ctermbg=white cterm=reverse
hi ErrorMsg ctermfg=red ctermbg=white cterm=reverse hi ErrorMsg ctermfg=red ctermbg=white cterm=reverse
hi FoldColumn ctermfg=darkgrey ctermbg=NONE cterm=NONE hi FoldColumn ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Folded ctermfg=black ctermbg=NONE cterm=bold hi Folded ctermfg=black ctermbg=NONE cterm=bold
@@ -401,6 +416,7 @@ if &background == 'light'
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=black ctermbg=grey cterm=NONE hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
hi PmenuBorder ctermfg=black ctermbg=grey cterm=NONE
hi PmenuExtra ctermfg=darkgrey ctermbg=grey cterm=NONE hi PmenuExtra ctermfg=darkgrey ctermbg=grey cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuKind ctermfg=darkred ctermbg=grey cterm=NONE hi PmenuKind ctermfg=darkred ctermbg=grey cterm=NONE
@@ -412,7 +428,7 @@ if &background == 'light'
hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE
hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Question ctermfg=darkmagenta ctermbg=NONE cterm=NONE hi Question ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=white ctermbg=darkmagenta cterm=NONE hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
hi Removed ctermfg=darkred ctermbg=NONE cterm=NONE hi Removed ctermfg=darkred ctermbg=NONE cterm=NONE
hi Search ctermfg=darkgreen ctermbg=white cterm=reverse hi Search ctermfg=darkgreen ctermbg=white cterm=reverse
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -430,7 +446,9 @@ if &background == 'light'
hi TabLineFill ctermfg=lightgrey ctermbg=lightgrey cterm=NONE hi TabLineFill ctermfg=lightgrey ctermbg=lightgrey cterm=NONE
hi TabLineSel ctermfg=darkgrey ctermbg=white cterm=bold,reverse hi TabLineSel ctermfg=darkgrey ctermbg=white cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=bold hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Todo ctermfg=blue ctermbg=white cterm=reverse hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=white cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=NONE hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE
@@ -475,6 +493,7 @@ if &background == 'light'
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi NonText ctermfg=black ctermbg=NONE cterm=NONE hi NonText ctermfg=black ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuBorder ctermfg=darkgrey ctermbg=grey cterm=NONE
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
@@ -504,7 +523,9 @@ if &background == 'light'
hi TabLineFill ctermfg=black ctermbg=black cterm=NONE hi TabLineFill ctermfg=black ctermbg=black cterm=NONE
hi TabLineSel ctermfg=black ctermbg=grey cterm=bold,reverse hi TabLineSel ctermfg=black ctermbg=grey cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=bold hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Todo ctermfg=blue ctermbg=black cterm=reverse hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=darkgrey ctermbg=white cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=bold
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE

View File

@@ -3,9 +3,9 @@
" Author: Romain Lafourcade <romainlafourcade@gmail.com> " Author: Romain Lafourcade <romainlafourcade@gmail.com>
" URL: https://github.com/vim/colorschemes " URL: https://github.com/vim/colorschemes
" License: Same as Vim " License: Same as Vim
" Last Change: 2025 Jun 18 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
set background=dark set background=dark
@@ -108,6 +108,8 @@ hi Statement guifg=#ffafff guibg=NONE guisp=NONE gui=NONE ctermfg=219 ctermbg=NO
hi StatusLine guifg=#0e0024 guibg=#ffffff guisp=NONE gui=NONE ctermfg=16 ctermbg=231 cterm=NONE term=bold,reverse hi StatusLine guifg=#0e0024 guibg=#ffffff guisp=NONE gui=NONE ctermfg=16 ctermbg=231 cterm=NONE term=bold,reverse
hi StatusLineNC guifg=#0e0024 guibg=#afaab6 guisp=NONE gui=NONE ctermfg=16 ctermbg=146 cterm=NONE term=bold,underline hi StatusLineNC guifg=#0e0024 guibg=#afaab6 guisp=NONE gui=NONE ctermfg=16 ctermbg=146 cterm=NONE term=bold,underline
hi Title guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=NONE hi Title guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=NONE
hi TitleBar guifg=#ffffff guibg=#2e2044 guisp=NONE gui=NONE ctermfg=231 ctermbg=237 cterm=NONE term=NONE
hi TitleBarNC guifg=#afaab6 guibg=#1e1034 guisp=NONE gui=NONE ctermfg=146 ctermbg=236 cterm=NONE term=NONE
hi Todo guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse term=bold,reverse hi Todo guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse term=bold,reverse
hi ToolbarButton guifg=#ffffff guibg=#5e556d guisp=NONE gui=NONE ctermfg=231 ctermbg=60 cterm=NONE term=bold,reverse hi ToolbarButton guifg=#ffffff guibg=#5e556d guisp=NONE gui=NONE ctermfg=231 ctermbg=60 cterm=NONE term=bold,reverse
hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE term=reverse
@@ -178,6 +180,8 @@ if s:t_Co >= 16
hi StatusLine ctermfg=white ctermbg=black cterm=reverse hi StatusLine ctermfg=white ctermbg=black cterm=reverse
hi StatusLineNC ctermfg=darkgray ctermbg=gray cterm=reverse hi StatusLineNC ctermfg=darkgray ctermbg=gray cterm=reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
hi ToolbarButton ctermfg=white ctermbg=darkgray cterm=NONE hi ToolbarButton ctermfg=white ctermbg=darkgray cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -246,6 +250,8 @@ if s:t_Co >= 8
hi StatusLine ctermfg=white ctermbg=black cterm=reverse hi StatusLine ctermfg=white ctermbg=black cterm=reverse
hi StatusLineNC ctermfg=darkgray ctermbg=gray cterm=bold,reverse hi StatusLineNC ctermfg=darkgray ctermbg=gray cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi TitleBar ctermfg=white ctermbg=black cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=black cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
hi ToolbarButton ctermfg=white ctermbg=darkgray cterm=NONE hi ToolbarButton ctermfg=white ctermbg=darkgray cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -4,9 +4,9 @@
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org> " Maintainer: Original maintainer Ron Aaron <ron@ronware.org>
" URL: https://github.com/vim/colorschemes " URL: https://github.com/vim/colorschemes
" License: Same as Vim " License: Same as Vim
" Last Change: 2025 Aug 03 " Last Change: 2025 Oct 08
" Generated by Colortemplate v3.0.0-beta9 " Generated by Colortemplate v3.0.0-beta10
set background=light set background=light
@@ -86,6 +86,8 @@ hi TabLineFill guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg
hi TabLineSel guifg=#000000 guibg=#ffffff guisp=NONE gui=bold ctermfg=16 ctermbg=231 cterm=bold term=bold,reverse hi TabLineSel guifg=#000000 guibg=#ffffff guisp=NONE gui=bold ctermfg=16 ctermbg=231 cterm=bold term=bold,reverse
hi Tag guifg=#006400 guibg=NONE guisp=NONE gui=NONE ctermfg=22 ctermbg=NONE cterm=NONE term=NONE hi Tag guifg=#006400 guibg=NONE guisp=NONE gui=NONE ctermfg=22 ctermbg=NONE cterm=NONE term=NONE
hi Title guifg=#a020f0 guibg=NONE guisp=NONE gui=bold ctermfg=129 ctermbg=NONE cterm=bold term=NONE hi Title guifg=#a020f0 guibg=NONE guisp=NONE gui=bold ctermfg=129 ctermbg=NONE cterm=bold term=NONE
hi TitleBar guifg=#000000 guibg=#ececec guisp=NONE gui=NONE ctermfg=16 ctermbg=255 cterm=NONE term=NONE
hi TitleBarNC guifg=#878787 guibg=#f5f5f5 guisp=NONE gui=NONE ctermfg=102 ctermbg=255 cterm=NONE term=NONE
hi Todo guifg=#000000 guibg=#ffff00 guisp=NONE gui=NONE ctermfg=16 ctermbg=226 cterm=NONE term=bold,reverse hi Todo guifg=#000000 guibg=#ffff00 guisp=NONE gui=NONE ctermfg=16 ctermbg=226 cterm=NONE term=bold,reverse
hi ToolbarButton guifg=NONE guibg=#a9a9a9 guisp=NONE gui=bold ctermfg=NONE ctermbg=248 cterm=bold term=bold,reverse hi ToolbarButton guifg=NONE guibg=#a9a9a9 guisp=NONE gui=bold ctermfg=NONE ctermbg=248 cterm=bold term=bold,reverse
hi ToolbarLine guifg=NONE guibg=#d3d3d3 guisp=NONE gui=NONE ctermfg=NONE ctermbg=252 cterm=NONE term=reverse hi ToolbarLine guifg=NONE guibg=#d3d3d3 guisp=NONE gui=NONE ctermfg=NONE ctermbg=252 cterm=NONE term=reverse
@@ -157,6 +159,8 @@ if s:t_Co >= 16
hi TabLineSel ctermfg=black ctermbg=white cterm=bold hi TabLineSel ctermfg=black ctermbg=white cterm=bold
hi Tag ctermfg=darkgreen ctermbg=NONE cterm=NONE hi Tag ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=white cterm=NONE
hi Todo ctermfg=black ctermbg=yellow cterm=NONE hi Todo ctermfg=black ctermbg=yellow cterm=NONE
hi ToolbarButton ctermfg=NONE ctermbg=grey cterm=bold hi ToolbarButton ctermfg=NONE ctermbg=grey cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
@@ -226,6 +230,8 @@ if s:t_Co >= 8
hi TabLineSel ctermfg=gray ctermbg=black cterm=bold,reverse hi TabLineSel ctermfg=gray ctermbg=black cterm=bold,reverse
hi Tag ctermfg=darkgreen ctermbg=NONE cterm=NONE hi Tag ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
hi TitleBar ctermfg=black ctermbg=white cterm=NONE
hi TitleBarNC ctermfg=gray ctermbg=white cterm=NONE
hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=gray cterm=bold,reverse hi ToolbarButton ctermfg=black ctermbg=gray cterm=bold,reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE

View File

@@ -1,7 +1,7 @@
" The default vimrc file. " The default vimrc file.
" "
" Maintainer: The Vim Project <https://github.com/vim/vim> " Maintainer: The Vim Project <https://github.com/vim/vim>
" Last Change: 2025 Jul 13 " Last Change: 2025 Sep 10
" Former Maintainer: Bram Moolenaar <Bram@vim.org> " Former Maintainer: Bram Moolenaar <Bram@vim.org>
" "
" This is loaded if no vimrc file was found. " This is loaded if no vimrc file was found.
@@ -33,8 +33,6 @@ silent! while 0
set nocompatible set nocompatible
silent! endwhile silent! endwhile
set ruler " show the cursor position all the time
set ttimeout " time out for key codes set ttimeout " time out for key codes
set ttimeoutlen=100 " wait up to 100ms after Esc for special key set ttimeoutlen=100 " wait up to 100ms after Esc for special key

View File

@@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 9.1. Last change: 2025 Sep 02 *autocmd.txt* For Vim version 9.1. Last change: 2025 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1321,8 +1321,10 @@ TermResponseAll After the response to |t_RV|, |t_RC|, |t_RS|,
correspondingly, can be used. <amatch> will correspondingly, can be used. <amatch> will
be set to any of: be set to any of:
"ambiguouswidth" (|t_u7|), "ambiguouswidth" (|t_u7|),
"background" (|t_RB|),
"cursorblink" (|t_RC|), "cursorblink" (|t_RC|),
"cursorshape" (|t_RS|), "cursorshape" (|t_RS|),
"foreground" (|t_RF|),
"da1", "da1",
"osc", "osc",
"version" (|t_RV|) "version" (|t_RV|)
@@ -1330,15 +1332,6 @@ TermResponseAll After the response to |t_RV|, |t_RC|, |t_RS|,
executing another event, especially if file I/O, executing another event, especially if file I/O,
a shell command or anything else that takes time a shell command or anything else that takes time
is involved. is involved.
Note: Traditionally, TermResponseAll was also
used for "foreground" and "background"
patterns. These are now handled as part of
the "osc" value. For backwards compatibility,
the $VIMRUNTIME/plugin/colorresp.vim plugin
will handle "osc" events and emit
TermResponseAll autocommand events when it
encounters "foreground" and "background"
values.
*TextChanged* *TextChanged*
TextChanged After a change was made to the text in the TextChanged After a change was made to the text in the
current buffer in Normal mode. That is after current buffer in Normal mode. That is after
@@ -1637,7 +1630,8 @@ The pattern is interpreted like mostly used in file names:
Note that for all systems the '/' character is used for path separator (even Note that for all systems the '/' character is used for path separator (even
for MS-Windows). This was done because the backslash is difficult to use in a for MS-Windows). This was done because the backslash is difficult to use in a
pattern and to make the autocommands portable across different systems. pattern and to make the autocommands portable across different systems. To
only match a '/' on all platforms (e.g. in a non-file pattern), use "\/".
It is possible to use |pattern| items, but they may not work as expected, It is possible to use |pattern| items, but they may not work as expected,
because of the translation done for the above. because of the translation done for the above.

View File

@@ -1,4 +1,4 @@
*builtin.txt* For Vim version 9.1. Last change: 2025 Sep 08 *builtin.txt* For Vim version 9.1. Last change: 2025 Oct 01
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -369,7 +369,7 @@ lispindent({lnum}) Number Lisp indent for line {lnum}
list2blob({list}) Blob turn {list} of numbers into a Blob list2blob({list}) Blob turn {list} of numbers into a Blob
list2str({list} [, {utf8}]) String turn {list} of numbers into a String list2str({list} [, {utf8}]) String turn {list} of numbers into a String
list2tuple({list}) Tuple turn {list} of items into a tuple list2tuple({list}) Tuple turn {list} of items into a tuple
listener_add({callback} [, {buf}]) listener_add({callback} [, {buf} [, {unbuffered}]])
Number add a callback to listen to changes Number add a callback to listen to changes
listener_flush([{buf}]) none invoke listener callbacks listener_flush([{buf}]) none invoke listener callbacks
listener_remove({id}) none remove a listener callback listener_remove({id}) none remove a listener callback
@@ -451,8 +451,9 @@ popup_setbuf({id}, {buf}) Bool set the buffer for the popup window {id}
popup_setoptions({id}, {options}) popup_setoptions({id}, {options})
none set options for popup window {id} none set options for popup window {id}
popup_settext({id}, {text}) none set the text of popup window {id} popup_settext({id}, {text}) none set the text of popup window {id}
popup_show({id}) none unhide popup window {id} popup_show({id}) Number unhide popup window {id}
pow({x}, {y}) Float {x} to the power of {y} pow({x}, {y}) Float {x} to the power of {y}
preinserted() Number whether text is inserted after cursor
prevnonblank({lnum}) Number line nr of non-blank line <= {lnum} prevnonblank({lnum}) Number line nr of non-blank line <= {lnum}
printf({fmt}, {expr1}...) String format text printf({fmt}, {expr1}...) String format text
prompt_getprompt({buf}) String get prompt text prompt_getprompt({buf}) String get prompt text
@@ -575,7 +576,7 @@ settabwinvar({tabnr}, {winnr}, {varname}, {val})
settagstack({nr}, {dict} [, {action}]) settagstack({nr}, {dict} [, {action}])
Number modify tag stack using {dict} Number modify tag stack using {dict}
setwinvar({nr}, {varname}, {val}) none set {varname} in window {nr} to {val} setwinvar({nr}, {varname}, {val}) none set {varname} in window {nr} to {val}
sha256({string}) String SHA256 checksum of {string} sha256({expr}) String SHA256 checksum of String or Blob
shellescape({string} [, {special}]) shellescape({string} [, {special}])
String escape {string} for use as shell String escape {string} for use as shell
command argument command argument
@@ -1915,10 +1916,11 @@ col({expr} [, {winid}]) *col()*
complete({startcol}, {matches}) *complete()* *E785* complete({startcol}, {matches}) *complete()* *E785*
Set the matches for Insert mode completion. Set the matches for Insert mode completion. Can only be
Can only be used in Insert mode. You need to use a mapping used in Insert mode. Typically invoked from a mapping with
with CTRL-R = (see |i_CTRL-R|). It does not work after CTRL-O CTRL-R = (see |i_CTRL-R|), but may also be called from a
or with an expression mapping. |<Cmd>| or |<ScriptCmd>| mapping. It does not work after
CTRL-O or with an expression mapping.
{startcol} is the byte offset in the line where the completed {startcol} is the byte offset in the line where the completed
text start. The text up to the cursor is the original text text start. The text up to the cursor is the original text
that will be replaced by the matches. Use col('.') for an that will be replaced by the matches. Use col('.') for an
@@ -1932,15 +1934,31 @@ complete({startcol}, {matches}) *complete()* *E785*
The match can be selected with CTRL-N and CTRL-P as usual with The match can be selected with CTRL-N and CTRL-P as usual with
Insert mode completion. The popup menu will appear if Insert mode completion. The popup menu will appear if
specified, see |ins-completion-menu|. specified, see |ins-completion-menu|.
Example: >
inoremap <F5> <C-R>=ListMonths()<CR>
func ListMonths() Example (using legacy Vim script): >
call complete(col('.'), ['January', 'February', 'March',
\ 'April', 'May', 'June', 'July', 'August', 'September', inoremap <F5> <C-R>=ListMonths()<CR>
\ 'October', 'November', 'December'])
return '' func ListMonths()
endfunc call complete(col('.'), ['January', 'February', 'March',
\ 'April', 'May', 'June', 'July', 'August',
\ 'September', 'October', 'November', 'December'])
return ''
endfunc
<
Example (using Vim9 script): >
vim9script
def ListMonths(): string
const months = [ 'January', 'February', 'March', 'April',
'May', 'June', 'July', 'September', 'October',
'November', 'December']
complete(col('.'), months)
return ''
enddef
inoremap <F5> <ScriptCmd>ListMonths()<CR>
< This isn't very useful, but it shows how it works. Note that < This isn't very useful, but it shows how it works. Note that
an empty string is returned to avoid a zero being inserted. an empty string is returned to avoid a zero being inserted.
@@ -2993,6 +3011,9 @@ expand({string} [, {nosuf} [, {list}]]) *expand()*
:r root (one extension removed) :r root (one extension removed)
:e extension only :e extension only
More modifiers are supported, for the full list see
|filename-modifiers|.
Example: > Example: >
:let &tags = expand("%:p:h") .. "/tags" :let &tags = expand("%:p:h") .. "/tags"
< Note that when expanding a string that starts with '%', '#' or < Note that when expanding a string that starts with '%', '#' or
@@ -5325,14 +5346,17 @@ gettext({text} [, {package}]) *gettext()*
getwininfo([{winid}]) *getwininfo()* getwininfo([{winid}]) *getwininfo()*
Returns information about windows as a |List| with Dictionaries. Returns information about windows as a |List| with
Dictionaries.
If {winid} is given Information about the window with that ID If {winid} is given, information about the window with that ID
is returned, as a |List| with one item. If the window does not is returned, as a |List| with one item. When that window is a
exist the result is an empty list. |popup| window, information about that popup window is
returned. If the window does not exist the result is an empty
list.
Without {winid} information about all the windows in all the Without {winid} information about all the windows in all the
tab pages is returned. tab pages (excluding |popup|s) is returned.
Each List item is a |Dictionary| with the following entries: Each List item is a |Dictionary| with the following entries:
botline last complete displayed buffer line botline last complete displayed buffer line
@@ -6702,7 +6726,7 @@ list2tuple({list}) *list2tuple()*
Return type: tuple<{type}> (depending on the given |List|) Return type: tuple<{type}> (depending on the given |List|)
listener_add({callback} [, {buf}]) *listener_add()* listener_add({callback} [, {buf} [, {unbuffered}]]) *listener_add()*
Add a callback function that will be invoked when changes have Add a callback function that will be invoked when changes have
been made to buffer {buf}. been made to buffer {buf}.
{buf} refers to a buffer name or number. For the accepted {buf} refers to a buffer name or number. For the accepted
@@ -6710,6 +6734,11 @@ listener_add({callback} [, {buf}]) *listener_add()*
buffer is used. buffer is used.
Returns a unique ID that can be passed to |listener_remove()|. Returns a unique ID that can be passed to |listener_remove()|.
If the {buf} already has registered callbacks then the
equivalent of >
listener_flush({buf})
< is performed before the new callback is added.
The {callback} is invoked with five arguments: The {callback} is invoked with five arguments:
bufnr the buffer that was changed bufnr the buffer that was changed
start first changed line number start first changed line number
@@ -6752,20 +6781,37 @@ listener_add({callback} [, {buf}]) *listener_add()*
added 0 added 0
col first column with a change or 1 col first column with a change or 1
The entries are in the order the changes were made, thus the When {unbuffered} is |FALSE| or not provided the {callback} is
most recent change is at the end. The line numbers are valid invoked:
when the callback is invoked, but later changes may make them
invalid, thus keeping a copy for later might not work.
The {callback} is invoked just before the screen is updated, 1. Just before the screen is updated.
when |listener_flush()| is called or when a change is being 2. When |listener_flush()| is called.
made that changes the line count in a way it causes a line 3. When a change is being made that changes the line count in
number in the list of changes to become invalid. a way that causes a line number in the list of changes to
become invalid.
The entries are in the order the changes were made, thus the
most recent change is at the end.
Because of the third trigger reason for triggering a callback
listed above, the line numbers passed to the callback are not
guaranteed to be valid. If this is a problem then make
{unbuffered} |TRUE|.
When {unbuffered} is |TRUE| the {callback} is invoked for every
single change. The changes list only holds a single dictionary
and the "start", "end" and "added" values in the dictionary are
the same as the corresponding callback arguments. The line
numbers are valid when the callback is invoked, but later
changes may make them invalid, thus keeping a copy for later
might not work.
The {callback} is invoked with the text locked, see The {callback} is invoked with the text locked, see
|textlock|. If you do need to make changes to the buffer, use |textlock|. If you do need to make changes to the buffer, use
a timer to do this later |timer_start()|. a timer to do this later |timer_start()|.
You may not call listener_add() during the {callback}. *E1569*
The {callback} is not invoked when the buffer is first loaded. The {callback} is not invoked when the buffer is first loaded.
Use the |BufReadPost| autocmd event to handle the initial text Use the |BufReadPost| autocmd event to handle the initial text
of a buffer. of a buffer.
@@ -7995,6 +8041,15 @@ pow({x}, {y}) *pow()*
Return type: |Number| Return type: |Number|
preinserted() *preinserted()*
Returns non-zero if text has been inserted after the cursor
because "preinsert" is present in 'completeopt', or because
"longest" is present in 'completeopt' while 'autocomplete'
is active. Otherwise returns zero.
Return type: |Number|
prevnonblank({lnum}) *prevnonblank()* prevnonblank({lnum}) *prevnonblank()*
Return the line number of the first line at or above {lnum} Return the line number of the first line at or above {lnum}
that is not blank. Example: > that is not blank. Example: >
@@ -10323,12 +10378,14 @@ setwinvar({winnr}, {varname}, {val}) *setwinvar()*
Return type: |Number| Return type: |Number|
sha256({string}) *sha256()* sha256({expr}) *sha256()*
Returns a String with 64 hex characters, which is the SHA256 Returns a String with 64 hex characters, which is the SHA256
checksum of {string}. checksum of {expr}.
{expr} is a String or a Blob.
Can also be used as a |method|: > Can also be used as a |method|: >
GetText()->sha256() GetText()->sha256()
GetBlob()->sha256()
< <
Return type: |String| Return type: |String|
@@ -12315,9 +12372,9 @@ values({dict}) *values()*
virtcol({expr} [, {list} [, {winid}]]) *virtcol()* virtcol({expr} [, {list} [, {winid}]]) *virtcol()*
The result is a Number, which is the screen column of the file The result is a Number, which is the screen column of the file
position given with {expr}. That is, the last screen position position given with {expr}. That is, the total number of
occupied by the character at that position, when the screen screen cells occupied by the part of the line until the end of
would be of unlimited width. When there is a <Tab> at the the character at that position. When there is a <Tab> at the
position, the returned Number will be the column at the end of position, the returned Number will be the column at the end of
the <Tab>. For example, for a <Tab> in column 1, with 'ts' the <Tab>. For example, for a <Tab> in column 1, with 'ts'
set to 8, it returns 8. |conceal| is ignored. set to 8, it returns 8. |conceal| is ignored.
@@ -12646,7 +12703,7 @@ winbufnr({nr}) The result is a Number, which is the number of the buffer
window is returned. window is returned.
When window {nr} doesn't exist, -1 is returned. When window {nr} doesn't exist, -1 is returned.
Example: > Example: >
:echo "The file in the current window is " . bufname(winbufnr(0)) :echo "The file in the current window is " .. bufname(winbufnr(0))
< <
Can also be used as a |method|: > Can also be used as a |method|: >
FindWindow()->winbufnr()->bufname() FindWindow()->winbufnr()->bufname()
@@ -13179,7 +13236,9 @@ vreplace Compiled with |gR| and |gr| commands. (always true)
vtp Compiled for vcon support |+vtp| (check vcon to find vtp Compiled for vcon support |+vtp| (check vcon to find
out if it works in the current console). out if it works in the current console).
wayland Compiled with Wayland protocol support. wayland Compiled with Wayland protocol support.
wayland_clipboard Compiled with support for Wayland selections/clipboard wayland_clipboard Compiled with support for Wayland clipboard.
wayland_focus_steal Compiled with support for Wayland clipboard focus
stealing.
wildignore Compiled with 'wildignore' option. wildignore Compiled with 'wildignore' option.
wildmenu Compiled with 'wildmenu' option. wildmenu Compiled with 'wildmenu' option.
win16 old version for MS-Windows 3.1 (always false) win16 old version for MS-Windows 3.1 (always false)

View File

@@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 9.1. Last change: 2025 Sep 08 *cmdline.txt* For Vim version 9.1. Last change: 2025 Sep 24
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -745,16 +745,17 @@ Some Ex commands accept a line range in front of them. This is noted as
The basics are explained in section |10.3| of the user manual. The basics are explained in section |10.3| of the user manual.
In |Vim9| script a range needs to be prefixed with a colon to avoid ambiguity In |Vim9| script, a range needs to be prefixed with a colon to avoid ambiguity
with continuation lines. For example, "+" can be used for a range but is also with continuation lines. For example, "+" can be used for a range but is also
a continuation of an expression: > a continuation of an expression: >
var result = start var result = start
+ print + print
If the "+" is a range then it must be prefixed with a colon: > <If the "+" is a range, as it is here, in Vim9 script it must be prefixed
var result = start with a colon (otherwise you will get error |E1050|): >
vim9script
:+ print :+ print
< <
*:,* *:;* *:,* *:;*
When separated with ';' the cursor position will be set to that line When separated with ';' the cursor position will be set to that line
before interpreting the next line specifier. This doesn't happen for ','. before interpreting the next line specifier. This doesn't happen for ','.
Examples: > Examples: >
@@ -764,36 +765,86 @@ Examples: >
< from line 5 till match with "that line" after line 5. < from line 5 till match with "that line" after line 5.
The default line specifier for most commands is the cursor position, but the The default line specifier for most commands is the cursor position, but the
commands ":write" and ":global" have the whole file (1,$) as default. commands ":write" and ":global" have the whole buffer (1,$) as default.
If more line specifiers are given than required for the command, the first
one(s) will be ignored.
If more line specifiers are given than required for the command, when comma
separated, the leftmost one(s) will be ignored, e.g., the -2,+ in this: >
:-2,+,-2,. print
<When semicolon separated, the leftmost specifier to the penultimate one are
summed, e.g., -4 + 3 - 1 = -2, in this: >
:-4;+3;-1;+2 print
<
Line numbers may be specified with: *:range* *{address}* Line numbers may be specified with: *:range* *{address}*
{number} an absolute line number *E1247* {number} an absolute line number *E1247*
. the current line *:.* . the current line *:.*
$ the last line in the file *:$* $ the last line of the buffer *:$*
% equal to 1,$ (the entire file) *:%* % equal to 1,$ (the entire buffer) *:%*
't position of mark t (lowercase) *:'* * equal to '<,'> (the lines of the last
'T position of mark T (uppercase); when the mark is in selected Visual area; see |:star| below)
another file it cannot be used in a range 'x the line of the position of mark x *:'x*
/{pattern}[/] the next line where {pattern} matches *:/* (where x is any {a-z} mark)
'X the line of the position of mark X *:'X*
(where X is any {A-Z0-9} mark, though
when X is in another buffer it cannot
be used in a range)
'[ the first line of the most recent *:'[*
change or yank
'] the last line of the most recent *:']*
change or yank
'< the first line of the most recently *:'<*
selected Visual area
'> the last line of the most recently *:'>*
selected Visual area
'' the line of the position before the *:''*
latest jump, or where the last "m'"/"m`"
command was given (though '' is 1 if it
isn't in the current buffer)
'" the line of the cursor position when *:'quote*
last exiting the buffer
'^ the line of the cursor position the *:'^*
last time Insert mode was stopped
'. the line of the cursor position when the *:'.*
buffer was last changed
'( the line of the first character of the *:'(*
current sentence
') the line of the first character after *:')*
the end of the current sentence
'{ the first empty line before the *:'{*
paragraph containing the cursor
'} the first empty line after the *:'}*
paragraph containing the cursor
/{pattern}[/] the next line where {pattern} matches *:/*
also see |:range-pattern| below also see |:range-pattern| below
?{pattern}[?] the previous line where {pattern} matches *:?* ?{pattern}[?] the previous line where {pattern} matches *:?*
also see |:range-pattern| below also see |:range-pattern| below
\/ the next line where the previously used search \/ the next line where the most recent
pattern matches search pattern matches
\? the previous line where the previously used search \? the previous line where the most recent
pattern matches search pattern matches
\& the next line where the previously used substitute \& the next line where the most recent
pattern matches substitute pattern matches
Note: "next line" and "previous line" do not include matches appearing
in the current line.
*:range-offset* *:range-offset*
Each may be followed (several times) by '+' or '-' and an optional number. Each line specifier may be followed by one or more '+' or '-' and an optional
This number is added or subtracted from the preceding line number. If the number. That value is added or subtracted from the preceding line number.
number is omitted, 1 is used. If there is nothing before the '+' or '-' then So, for example, 'x+2 is two lines after the line containing mark x. If the
the current line is used. number is omitted, +1 is used for each '+' and -1 for each '-' so, e.g., 'x++
*:range-closed-fold* and 'x+2 are synonymous. If there is nothing before the '+' or '-', for the
first line number in [range] the current line is used as the relative
starting point. So, -,. means, "the line before the current line to the
current line". The value of the second line number in [range] depends on
whether a comma or semicolon separates the line numbers (see |:,| and |:;|).
Examples: If the cursor is within the line below this one, any of these
commands will print the tag line ":range-offset" and the line, "Each...": >
:-11;+1 print
:-----------,-10 print
:?Each line?-;+ print
:'{+,'{+2 print
:'{+1;')-1 print
< *:range-closed-fold*
When a line number after the comma is in a closed fold it is adjusted to the 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. last line of the fold, thus the whole fold is included.
@@ -1110,7 +1161,7 @@ These modifiers can be given, in this order:
:S Escape special characters for use with a shell command (see :S Escape special characters for use with a shell command (see
|shellescape()|). Must be the last one. Examples: > |shellescape()|). Must be the last one. Examples: >
:!dir <cfile>:S :!dir <cfile>:S
:call system('chmod +w -- ' . expand('%:S')) :call system('chmod +w -- ' .. expand('%:S'))
Examples, when the file name is "src/version.c", current dir Examples, when the file name is "src/version.c", current dir
"/home/mool/vim": > "/home/mool/vim": >
@@ -1350,7 +1401,7 @@ automatically showing a popup menu of suggestions as you type, whether
searching (/ or ?) or entering commands (:). searching (/ or ?) or entering commands (:).
A basic setup is: > A basic setup is: >
autocmd CmdlineChanged [:/\?] call wildtrigger() autocmd CmdlineChanged [:\/\?] call wildtrigger()
set wildmode=noselect:lastused,full set wildmode=noselect:lastused,full
set wildoptions=pum set wildoptions=pum
@@ -1363,8 +1414,8 @@ To retain normal command-line history navigation with <Up>/<Down>: >
Options can also be applied only for specific command-lines. For Options can also be applied only for specific command-lines. For
example, to use a shorter popup menu height only during search: > example, to use a shorter popup menu height only during search: >
autocmd CmdlineEnter [/\?] set pumheight=8 autocmd CmdlineEnter [\/\?] set pumheight=8
autocmd CmdlineLeave [/\?] set pumheight& autocmd CmdlineLeave [\/\?] set pumheight&
EXTRAS *fuzzy-file-picker* *live-grep* EXTRAS *fuzzy-file-picker* *live-grep*
@@ -1374,12 +1425,14 @@ file picker: >
set findfunc=Find set findfunc=Find
func Find(arg, _) func Find(arg, _)
if get(s:, 'filescache', []) == [] if empty(s:filescache)
let s:filescache = systemlist( let s:filescache = globpath('.', '**', 1, 1)
\ 'find . -path "*/.git" -prune -o -type f -print') call filter(s:filescache, '!isdirectory(v:val)')
call map(s:filescache, "fnamemodify(v:val, ':.')")
endif endif
return a:arg == '' ? s:filescache : matchfuzzy(s:filescache, a:arg) return a:arg == '' ? s:filescache : matchfuzzy(s:filescache, a:arg)
endfunc endfunc
let s:filescache = []
autocmd CmdlineEnter : let s:filescache = [] autocmd CmdlineEnter : let s:filescache = []
The `:Grep` command searches for lines matching a pattern and updates the The `:Grep` command searches for lines matching a pattern and updates the
@@ -1390,8 +1443,8 @@ the `CmdlineLeavePre` autocmd from the next section): >
\ Grep call <SID>VisitFile() \ Grep call <SID>VisitFile()
func s:Grep(arglead, cmdline, cursorpos) func s:Grep(arglead, cmdline, cursorpos)
let cmd = $'grep -REIHns "{a:arglead}" --exclude-dir=.git if match(&grepprg, '\$\*') == -1 | let &grepprg ..= ' $*' | endif
\ --exclude=".*"' let cmd = substitute(&grepprg, '\$\*', shellescape(escape(a:arglead, '\')), '')
return len(a:arglead) > 1 ? systemlist(cmd) : [] return len(a:arglead) > 1 ? systemlist(cmd) : []
endfunc endfunc

View File

@@ -1,4 +1,4 @@
*develop.txt* For Vim version 9.1. Last change: 2025 Sep 07 *develop.txt* For Vim version 9.1. Last change: 2025 Oct 09
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -365,31 +365,17 @@ We follow POSIX.1-2001 (SUSv3) for type sizes, which in practice means:
FUNCTION PROTOTYPES *assumptions-prototypes* FUNCTION PROTOTYPES *assumptions-prototypes*
Vim currently does not use conventional header files (`.h`) for most internal Vim does not use conventional header files (`.h`) for most internal function
function prototypes. Instead, the current architecture uses individual `.pro` prototypes. Instead, the current architecture uses individual `.pro` files in
files in the `src/proto/` directory, with one `.pro` file per `.c` file. the `src/proto/` directory, with one `.pro` file per `.c` file.
Unlike traditional self-contained header files, these `.pro` files do not Unlike traditional self-contained header files, these `.pro` files do not
contain API documentation, struct and enum definitions, or other declaration; contain API documentation, struct and enum definitions, or other declarations;
only function prototypes. only function prototypes.
The bundling of these files is not automated. The `src/proto.h` header is The `make proto` target in `src/Makefile` automates updating most of the .pro
composed of a list of manual `#include` directives, one for each individual files using the Python script proto/gen_prototypes.py, which relies on the
`.pro` file. python3-clang module. Note that a few proto files are hand edited.
Due to this design, integrating a new source file within this architecture
involves creating a corresponding `.pro` file, manually adding a new `#include`
directive to `proto.h` and manually adding this file to both `src/Makefile` and
`src/Make_mvc.mak`.
A `make proto` target exists in `src/Makefile` with the original goal of
automating the process of updating the `.pro` files. However, this target is
unreliable, fails on major platforms (e.g., macOS), and is only part of the
new release workflow. In practice, contributors edit the relevant `.pro` files
by hand when adding, removing, or modifying a function signatures.
This system has been in place since at least v1.24, when Vims functions were
still written in K&R style.
============================================================================== ==============================================================================
4. Coding style *coding-style* 4. Coding style *coding-style*
@@ -424,6 +410,14 @@ The basic steps to make changes to the code:
For any non-trivial change, please always create a pull request on github, For any non-trivial change, please always create a pull request on github,
since this triggers the test suite. since this triggers the test suite.
A PR should ideally contain a single commit for a single logical change.
However, you can include several commits if you want to group multiple logical,
atomic changes in one PR. This can also make longer PRs easier to review. Be
sure to describe the reasoning for your changes in each commit message, as
this greatly helps with the review process. In cases where each commit
handles different logical changes, they will also be applied as separate
patches in Vim's repository.
*style-clang-format* *style-clang-format*
sound.c and sign.c can be (semi-) automatically formatted using the sound.c and sign.c can be (semi-) automatically formatted using the
`clang-format` formatter according to the distributed .clang-format file. `clang-format` formatter according to the distributed .clang-format file.

View File

@@ -1,4 +1,4 @@
*diff.txt* For Vim version 9.1. Last change: 2025 Aug 06 *diff.txt* For Vim version 9.1. Last change: 2025 Sep 15
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -351,7 +351,7 @@ hard to see what the actual edit on it was. You can use diff anchors to pin
that function so the diff algorithm will align based on it. that function so the diff algorithm will align based on it.
To use it, set anchors using 'diffanchors' which is a comma-separated list of To use it, set anchors using 'diffanchors' which is a comma-separated list of
{address} in each file, and then add "anchor" to 'diffopt'. Internaly, Vim {address} in each file, and then add "anchor" to 'diffopt'. Internally, Vim
splits each file up into sections split by the anchors. It performs the diff splits each file up into sections split by the anchors. It performs the diff
on each pair of sections separately before merging the results back. on each pair of sections separately before merging the results back.

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 9.1. Last change: 2025 Aug 29 *eval.txt* For Vim version 9.1. Last change: 2025 Sep 25
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2911,15 +2911,16 @@ v:termstyleresp The escape sequence returned by the terminal for the |t_RS|
*v:termrbgresp* *termrbgresp-variable* *v:termrbgresp* *termrbgresp-variable*
v:termrbgresp The escape sequence returned by the terminal for the |t_RB| v:termrbgresp The escape sequence returned by the terminal for the |t_RB|
termcap entry. This is used to find out what the terminal termcap entry. This is used to find out what the terminal
background color is; see 'background'. This is set by the background color is; see 'background'. When this variable is
$VIMRUNTIME/plugin/colorresp.vim plugin normally included with set, the TermResponseAll autocommand event is fired, with
Vim, but can be set manually if you know what you are doing. <amatch> set to "background".
Note that changing this will not do anything.
*v:termrfgresp* *termrfgresp-variable* *v:termrfgresp* *termrfgresp-variable*
v:termrfgresp The escape sequence returned by the terminal for the |t_RF| v:termrfgresp The escape sequence returned by the terminal for the |t_RF|
termcap entry. This is used to find out what the terminal termcap entry. This is used to find out what the terminal
foreground color is. Behaves the same as |v:termrbgresp| foreground color is. When this variable is set, the
TermResponseAll autocommand event is fired, with <amatch> set
to "foreground".
*v:termu7resp* *termu7resp-variable* *v:termu7resp* *termu7resp-variable*
v:termu7resp The escape sequence returned by the terminal for the |t_u7| v:termu7resp The escape sequence returned by the terminal for the |t_u7|
@@ -2938,9 +2939,7 @@ v:termda1 The escape sequence returned by a primary device attributes
v:termosc The escape sequence of the most recent OSC response received v:termosc The escape sequence of the most recent OSC response received
from the terminal. When this variable is set, the from the terminal. When this variable is set, the
|TermResponseAll| autocommand event is fired, with <amatch> |TermResponseAll| autocommand event is fired, with <amatch>
set to "osc". Also used to set the |v:termrbgresp| and set to "osc".
|v:termrfgresp| via the $VIMRUNTIME/plugin/colorresp.vim
plugin
*v:testing* *testing-variable* *v:testing* *testing-variable*
v:testing Must be set before using `test_garbagecollect_now()`. v:testing Must be set before using `test_garbagecollect_now()`.
@@ -3154,9 +3153,12 @@ declarations and assignments do not use a command. |vim9-declaration|
set and an environment variable that is empty. set and an environment variable that is empty.
:let ${env-name} .= {expr1} :let ${env-name} .= {expr1}
:let ${env-name} ..= {expr1}
Append {expr1} to the environment variable {env-name}. Append {expr1} to the environment variable {env-name}.
If the environment variable didn't exist yet this If the environment variable didn't exist yet this
works like "=". works like "=".
`.=` is not supported with Vim script version 2 and
later, see |vimscript-version|.
:let @{reg-name} = {expr1} *:let-register* *:let-@* :let @{reg-name} = {expr1} *:let-register* *:let-@*
Write the result of the expression {expr1} in register Write the result of the expression {expr1} in register
@@ -3173,8 +3175,11 @@ declarations and assignments do not use a command. |vim9-declaration|
that would match everywhere. that would match everywhere.
:let @{reg-name} .= {expr1} :let @{reg-name} .= {expr1}
:let @{reg-name} ..= {expr1}
Append {expr1} to register {reg-name}. If the Append {expr1} to register {reg-name}. If the
register was empty it's like setting it to {expr1}. register was empty it's like setting it to {expr1}.
`.=` is not supported with Vim script version 2 and
later, see |vimscript-version|.
:let &{option-name} = {expr1} *:let-option* *:let-&* :let &{option-name} = {expr1} *:let-option* *:let-&*
Set option {option-name} to the result of the Set option {option-name} to the result of the
@@ -3192,8 +3197,11 @@ declarations and assignments do not use a command. |vim9-declaration|
a terminal key code, there is no error. a terminal key code, there is no error.
:let &{option-name} .= {expr1} :let &{option-name} .= {expr1}
:let &{option-name} ..= {expr1}
For a string option: Append {expr1} to the value. For a string option: Append {expr1} to the value.
Does not insert a comma like |:set+=|. Does not insert a comma like |:set+=|.
`.=` is not supported with Vim script version 2 and
later, see |vimscript-version|.
:let &{option-name} += {expr1} :let &{option-name} += {expr1}
:let &{option-name} -= {expr1} :let &{option-name} -= {expr1}
@@ -3201,18 +3209,25 @@ declarations and assignments do not use a command. |vim9-declaration|
{expr1}. {expr1}.
:let &l:{option-name} = {expr1} :let &l:{option-name} = {expr1}
:let &l:{option-name} .= {expr1}
:let &l:{option-name} += {expr1} :let &l:{option-name} += {expr1}
:let &l:{option-name} -= {expr1} :let &l:{option-name} -= {expr1}
:let &l:{option-name} .= {expr1}
:let &l:{option-name} ..= {expr1}
Like above, but only set the local value of an option Like above, but only set the local value of an option
(if there is one). Works like |:setlocal|. (if there is one). Works like |:setlocal|.
`.=` is not supported with Vim script version 2 and
later, see |vimscript-version|.
:let &g:{option-name} = {expr1} :let &g:{option-name} = {expr1}
:let &g:{option-name} .= {expr1}
:let &g:{option-name} += {expr1} :let &g:{option-name} += {expr1}
:let &g:{option-name} -= {expr1} :let &g:{option-name} -= {expr1}
:let &g:{option-name} .= {expr1}
:let &g:{option-name} ..= {expr1}
Like above, but only set the global value of an option Like above, but only set the global value of an option
(if there is one). Works like |:setglobal|. (if there is one). Works like |:setglobal|.
`.=` is not supported with Vim script version 2 and
later, see |vimscript-version|.
*E1093* *E1537* *E1538* *E1535* *E1093* *E1537* *E1538* *E1535*
:let [{name1}, {name2}, ...] = {expr1} *:let-unpack* *E687* *E688* :let [{name1}, {name2}, ...] = {expr1} *:let-unpack* *E687* *E688*
{expr1} must evaluate to a |List| or a |Tuple|. The {expr1} must evaluate to a |List| or a |Tuple|. The
@@ -3233,15 +3248,18 @@ declarations and assignments do not use a command. |vim9-declaration|
:echo x :echo x
< The result is [0, 2]. < The result is [0, 2].
:let [{name1}, {name2}, ...] .= {expr1}
:let [{name1}, {name2}, ...] += {expr1} :let [{name1}, {name2}, ...] += {expr1}
:let [{name1}, {name2}, ...] -= {expr1} :let [{name1}, {name2}, ...] -= {expr1}
:let [{name1}, {name2}, ...] *= {expr1} :let [{name1}, {name2}, ...] *= {expr1}
:let [{name1}, {name2}, ...] /= {expr1} :let [{name1}, {name2}, ...] /= {expr1}
:let [{name1}, {name2}, ...] %= {expr1} :let [{name1}, {name2}, ...] %= {expr1}
Like above, but append, add, subtract, multiply, :let [{name1}, {name2}, ...] .= {expr1}
divide, or modulo the value for each |List| or |Tuple| :let [{name1}, {name2}, ...] ..= {expr1}
Like above, but add, subtract, multiply, divide,
modulo, or append the value for each |List| or |Tuple|
item. item.
`.=` is not supported with Vim script version 2 and
later, see |vimscript-version|.
:let [{name}, ..., ; {lastname}] = {expr1} *E452* :let [{name}, ..., ; {lastname}] = {expr1} *E452*
Like |:let-unpack| above, but the |List| or |Tuple| Like |:let-unpack| above, but the |List| or |Tuple|
@@ -3253,11 +3271,14 @@ declarations and assignments do not use a command. |vim9-declaration|
:let [a, b; rest] = ["aval", "bval", 3, 4] :let [a, b; rest] = ["aval", "bval", 3, 4]
:let [a, b; rest] = ("aval", "bval", 3, 4) :let [a, b; rest] = ("aval", "bval", 3, 4)
< <
:let [{name}, ..., ; {lastname}] .= {expr1}
:let [{name}, ..., ; {lastname}] += {expr1} :let [{name}, ..., ; {lastname}] += {expr1}
:let [{name}, ..., ; {lastname}] -= {expr1} :let [{name}, ..., ; {lastname}] -= {expr1}
Like above, but append/add/subtract the value for each :let [{name}, ..., ; {lastname}] .= {expr1}
:let [{name}, ..., ; {lastname}] ..= {expr1}
Like above, but add/subtract/append the value for each
|List| item. |List| item.
`.=` is not supported with Vim script version 2 and
later, see |vimscript-version|.
*:let=<<* *:let-heredoc* *:let=<<* *:let-heredoc*
*E990* *E991* *E172* *E221* *E1145* *E990* *E991* *E172* *E221* *E1145*
@@ -4161,7 +4182,7 @@ exception most recently caught as long it is not finished.
:function! Caught() :function! Caught()
: if v:exception != "" : if v:exception != ""
: echo 'Caught "' . v:exception .. '" in ' .. v:throwpoint : echo 'Caught "' .. v:exception .. '" in ' .. v:throwpoint
: else : else
: echo 'Nothing caught' : echo 'Nothing caught'
: endif : endif

View File

@@ -1,4 +1,4 @@
*filetype.txt* For Vim version 9.1. Last change: 2025 Aug 10 *filetype.txt* For Vim version 9.1. Last change: 2025 Sep 24
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -763,7 +763,7 @@ Otherwise, for the defined variable "g:ftplugin_java_source_path", the local
value of the 'path' option will be further modified by prefixing the value of value of the 'path' option will be further modified by prefixing the value of
the variable, e.g.: > the variable, e.g.: >
let g:ftplugin_java_source_path = $JDK_SRC_PATH let g:ftplugin_java_source_path = $JDK_SRC_PATH
let &l:path = g:ftplugin_java_source_path . ',' . &l:path let &l:path = g:ftplugin_java_source_path .. ',' .. &l:path
< <
and the "gf" command can be used on a fully-qualified type to look for a file and the "gf" command can be used on a fully-qualified type to look for a file
in the "path" and to try to load it. in the "path" and to try to load it.

View File

@@ -1,4 +1,4 @@
*fold.txt* For Vim version 9.1. Last change: 2025 Jul 15 *fold.txt* For Vim version 9.1. Last change: 2025 Oct 03
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -595,7 +595,8 @@ A closed fold is indicated with a '+'.
These characters can be changed with the 'fillchars' option. These characters can be changed with the 'fillchars' option.
Where the fold column is too narrow to display all nested folds, digits are Where the fold column is too narrow to display all nested folds, digits are
shown to indicate the nesting level. shown to indicate the nesting level. To override this behavior you can use
the "foldinner" character of the 'fillchars' option.
The mouse can also be used to open and close folds by clicking in the The mouse can also be used to open and close folds by clicking in the
fold column: fold column:

View File

@@ -1,27 +1,27 @@
*ft_hare.txt* Support for the Hare programming language *ft_hare.txt* Support for the Hare programming language
============================================================================== ==============================================================================
CONTENTS *hare* *hare.vim* CONTENTS *hare* *hare.vim*
1. Introduction |ft-hare-intro| 1. Introduction |ft-hare-intro|
2. Filetype plugin |ft-hare-plugin| 2. Filetype plugin |ft-hare-plugin|
3. Haredoc filetype |ft-haredoc-plugin| 3. Haredoc filetype |ft-haredoc-plugin|
4. Indentation settings |ft-hare-indent| 4. Indentation settings |ft-hare-indent|
5. Compiler support |compiler-hare| 5. Compiler support |compiler-hare|
============================================================================== ==============================================================================
INTRODUCTION *ft-hare-intro* INTRODUCTION *ft-hare-intro*
This plugin provides syntax highlighting, indentation, and other supporting This plugin provides syntax highlighting, indentation, and other supporting
functionality for the Hare programming language. functionality for the Hare programming language.
FILETYPE PLUGIN *ft-hare-plugin* FILETYPE PLUGIN *ft-hare-plugin*
This plugin has a few different variables that can be defined inside your This plugin has a few different variables that can be defined inside your
|vimrc| to tweak its behavior. |vimrc| to tweak its behavior.
Additionally, support is provided for folding `{ }` blocks. To enable folding, Additionally, support is provided for folding `{ }` blocks. To enable folding,
add the following to a file inside your |after-directory| (e.g. add the following to a file inside your |after-directory| (e.g.
~/.vim/after/ftplugin/hare.vim): > ~/.vim/after/ftplugin/hare.vim): >
@@ -30,7 +30,7 @@ add the following to a file inside your |after-directory| (e.g.
Because block-based folding tends to create many small folds, consider setting Because block-based folding tends to create many small folds, consider setting
a few related options, such as 'foldminlines' and 'foldnestmax'. a few related options, such as 'foldminlines' and 'foldnestmax'.
*g:hare_recommended_style* *g:hare_recommended_style*
The following options are set by default, in accordance with Hare's official The following options are set by default, in accordance with Hare's official
style guide: > style guide: >
@@ -44,29 +44,29 @@ To disable this behavior, add the following to your |vimrc|: >
let g:hare_recommended_style = 0 let g:hare_recommended_style = 0
< <
*g:hare_symbol_operators* *g:hare_symbol_operators*
By default, symbolic operators do not receive any special highlighting (with By default, symbolic operators do not receive any special highlighting (with
`!`, `?`, and `::` being the only exceptions). To enable syntax highlighting `!`, `?`, and `::` being the only exceptions). To enable syntax highlighting
for most other operators, add the following to your |vimrc|: > for most other operators, add the following to your |vimrc|: >
let g:hare_symbol_operators = 1 let g:hare_symbol_operators = 1
< <
*g:hare_space_error* *g:hare_space_error*
By default, trailing whitespace and spaces followed by <Tab> characters will By default, trailing whitespace and spaces followed by <Tab> characters will
be highlighted as errors. This is automatically disabled in Insert mode. To be highlighted as errors. This is automatically disabled in Insert mode. To
turn off this highlighting completely, add the following to your |vimrc|: > turn off this highlighting completely, add the following to your |vimrc|: >
let g:hare_space_error = 0 let g:hare_space_error = 0
HAREDOC FILETYPE *ft-haredoc-plugin* HAREDOC FILETYPE *ft-haredoc-plugin*
This plugin will automatically detect README files inside Hare modules, using This plugin will automatically detect README files inside Hare modules, using
a recursive directory search, and give them the "haredoc" filetype. Because a recursive directory search, and give them the "haredoc" filetype. Because
this is such a common filename, this plugin only searches for Hare source this is such a common filename, this plugin only searches for Hare source
files within the same directory by default. files within the same directory by default.
*g:filetype_haredoc* *g:filetype_haredoc*
The |g:filetype_haredoc| variable can be used to tweak the depth of this The |g:filetype_haredoc| variable can be used to tweak the depth of this
search, or bypass the detection of Hare documentation files altogether: search, or bypass the detection of Hare documentation files altogether:
@@ -80,13 +80,13 @@ The search depth may be any positive integer, but values higher than `2` are
unlikely to provide a tangible benefit in most situations. unlikely to provide a tangible benefit in most situations.
INDENTATION SETTINGS *ft-hare-indent* INDENTATION SETTINGS *ft-hare-indent*
Unlike most other settings for this plugin, the indentation settings may also Unlike most other settings for this plugin, the indentation settings may also
be set per-buffer, overriding any global configuration that exists. To do be set per-buffer, overriding any global configuration that exists. To do
this, simply prefix the variable with |b:| instead of |g:|. this, simply prefix the variable with |b:| instead of |g:|.
*g:hare_indent_match_switch* *g:hare_indent_match_switch*
By default, continuation lines for "match" and "switch" conditions are By default, continuation lines for "match" and "switch" conditions are
indented only one level: >hare indented only one level: >hare
@@ -101,7 +101,7 @@ and "for" conditions, add the following line to your |vimrc|: >
let g:hare_indent_match_switch = 2 let g:hare_indent_match_switch = 2
< <
*g:hare_indent_case* *g:hare_indent_case*
By default, continuation lines for cases in "match" and "switch" expressions By default, continuation lines for cases in "match" and "switch" expressions
are indented two levels, to visually distinguish them from the body of the are indented two levels, to visually distinguish them from the body of the
case: >hare case: >hare
@@ -111,24 +111,24 @@ case: >hare
// ... // ...
If you prefer a different amount of indentation, you can adjust it using If you prefer a different amount of indentation, you can adjust it using
|g:hare_indent_case|. Valid values include `0`, `1`, and `2`. |g:hare_indent_case|. Valid values include `0`, `1`, and `2`.
COMPILER SUPPORT *compiler-hare* COMPILER SUPPORT *compiler-hare*
If this plugin detects a Makefile in the current directory, it will assume you If this plugin detects a Makefile in the current directory, it will assume you
wish to use `make` for your build system, and will leave 'makeprg' untouched. wish to use `make` for your build system, and will leave 'makeprg' untouched.
Otherwise, `hare build` will be used. Otherwise, `hare build` will be used.
*g:hare_makeprg_params* *g:hare_makeprg_params*
When `hare build` is used, additional compiler options may be appended to When `hare build` is used, additional compiler options may be appended to
'makeprg' with the |g:hare_makeprg_params| variable. It may also be set on a 'makeprg' with the |g:hare_makeprg_params| variable. It may also be set on a
per-buffer basis (using |b:| instead of |g:|), overriding any global per-buffer basis (using |b:| instead of |g:|), overriding any global
configuration that exists. For example: > configuration that exists. For example: >
let b:hare_makeprg_params = '-lc -t o' let b:hare_makeprg_params = '-lc -t o'
The global default is "-q", to suppress writing to stdout while building. The global default is "-q", to suppress writing to stdout while building.
============================================================================== ==============================================================================
vim:ft=help:noet:ts=8:tw=78:norl: vim:tw=78:ts=8:noet:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*gui_w32.txt* For Vim version 9.1. Last change: 2025 Aug 06 *gui_w32.txt* For Vim version 9.1. Last change: 2025 Oct 07
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -488,4 +488,20 @@ VIM_KEYCODE_TRANS_STRATEGY can be set to the desired value ("experimental" or
set VIM_KEYCODE_TRANS_STRATEGY=experimental set VIM_KEYCODE_TRANS_STRATEGY=experimental
gvim.exe gvim.exe
< <
Title Bar *gui-w32-title-bar*
Starting with Windows 11, you can customize the gVim title bar (also known as
the caption bar) by enabling the |'go-C'| option.
Once enabled, the appearance is controlled by two highlighting groups:
1. |hl-TitleBar| -- Sets the color of the title bar for the active window.
2. |hl-TitleBarNC| -- Sets the color of the title bar for inactive windows.
To use the system's default title bar colors, set highlighting groups to
`NONE`: >
hi TitleBar guibg=NONE guifg=NONE
hi TitleBarNC guibg=NONE guifg=NONE
vim:tw=78:sw=4:ts=8:noet:ft=help:norl: vim:tw=78:sw=4:ts=8:noet:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*gui_x11.txt* For Vim version 9.1. Last change: 2025 Sep 02 *gui_x11.txt* For Vim version 9.1. Last change: 2025 Sep 22
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -723,6 +723,8 @@ output a warning:
Warning: Clipboard register not available, using register 0 ~ Warning: Clipboard register not available, using register 0 ~
Note: This also applies to the Wayland clipboard feature as well.
*W24* *W24*
Vim comes in different flavors, from a tiny build, that just tries to be Vim comes in different flavors, from a tiny build, that just tries to be
compatible to original Vi, to enhanced builds which include many improvements compatible to original Vi, to enhanced builds which include many improvements

View File

@@ -1,4 +1,4 @@
*helphelp.txt* For Vim version 9.1. Last change: 2025 Aug 06 *helphelp.txt* For Vim version 9.1. Last change: 2025 Sep 29
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -392,8 +392,8 @@ help file it's best to copy one of the existing files and use it as a
template. template.
Vim help files generally use 2 spaces after a sentence (since they are written Vim help files generally use 2 spaces after a sentence (since they are written
using a fixed-width font and that was the prefered style in the 70s/80s), like using a fixed-width font and that was the preferred style in the 70s/80s),
what is described here: https://english.stackexchange.com/a/2602 like what is described here: https://english.stackexchange.com/a/2602
The first line in a help file should have the following format: The first line in a help file should have the following format:
@@ -463,12 +463,14 @@ To quote a block of ex-commands verbatim, place a greater than (>) character
at the end of the line before the block and a less than (<) character as the at the end of the line before the block and a less than (<) character as the
first non-blank on a line following the block. Any line starting in column 1 first non-blank on a line following the block. Any line starting in column 1
also implicitly stops the block of ex-commands before it. E.g. > also implicitly stops the block of ex-commands before it. E.g. >
function Example_Func() function Example_Func()
echo "Example" echo "Example"
endfunction endfunction
< <
To enable syntax highlighting for a block of code, place a language name To enable syntax highlighting for a block of code, place a language name
annotation (e.g. "vim") after a greater than (>) character. E.g. >vim annotation (e.g. "vim") after a greater than (>) character. E.g. >vim
function Example_Func() function Example_Func()
echo "Example" echo "Example"
endfunction endfunction
@@ -476,7 +478,8 @@ annotation (e.g. "vim") after a greater than (>) character. E.g. >vim
*g:help_example_languages* *g:help_example_languages*
By default, help files only support Vim script highlighting. If you need By default, help files only support Vim script highlighting. If you need
syntax highlighting for other languages, add to your |vimrc|: > syntax highlighting for other languages, add to your |vimrc|: >
:let g:help_example_languages = { "vim": "vim", "sh": "bash" } :let g:help_example_languages = #{
\ vim: "vim", vim9: "vim", bash: "sh" }
The key represents the annotation marker name, and the value is the 'syntax' The key represents the annotation marker name, and the value is the 'syntax'
name. name.

View File

@@ -1,4 +1,4 @@
*if_perl.txt* For Vim version 9.1. Last change: 2025 Apr 27 *if_perl.txt* For Vim version 9.1. Last change: 2025 Oct 04
VIM REFERENCE MANUAL by Sven Verdoolaege VIM REFERENCE MANUAL by Sven Verdoolaege
@@ -33,10 +33,8 @@ features than Exuberant ctags' Perl support.
============================================================================== ==============================================================================
2. Compiling Vim with Perl interface *perl-compiling* 2. Compiling Vim with Perl interface *perl-compiling*
To compile Vim with Perl interface, you need Perl 5.004 (or later). Perl must To compile Vim with the Perl interface, you need a recent Perl version. Perl
be installed before you compile Vim. Vim's Perl interface does NOT work with must be installed before you compile Vim.
the 5.003 version that has been officially released! It will probably work
with Perl 5.003_05 and later.
The Perl patches for Vim were made by: The Perl patches for Vim were made by:
Sven Verdoolaege <skimo@breughel.ufsia.ac.be> Sven Verdoolaege <skimo@breughel.ufsia.ac.be>

View File

@@ -1,4 +1,4 @@
*insert.txt* For Vim version 9.1. Last change: 2025 Sep 08 *insert.txt* For Vim version 9.1. Last change: 2025 Sep 16
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1151,7 +1151,7 @@ autocompletion. To use |i_CTRL-N| or |i_CTRL-X_CTRL-N| specifically, press
|CTRL-E| first to dismiss the popup menu (see |complete_CTRL-E|). |CTRL-E| first to dismiss the popup menu (see |complete_CTRL-E|).
*ins-autocompletion-example* *ins-autocompletion-example*
Example setup~ Example setup ~
A typical configuration for automatic completion with a popup menu: > A typical configuration for automatic completion with a popup menu: >
set autocomplete set autocomplete
set complete=.^5,w^5,b^5,u^5 set complete=.^5,w^5,b^5,u^5
@@ -1164,8 +1164,8 @@ This enables automatic completion with suggestions from the current buffer,
other windows, and listed buffers, displayed in a popup menu. Each source is other windows, and listed buffers, displayed in a popup menu. Each source is
limited to 5 candidates. <Tab> and <S-Tab> move through the items when the limited to 5 candidates. <Tab> and <S-Tab> move through the items when the
menu is visible. Optionally, add "preinsert" to 'completeopt' to insert the menu is visible. Optionally, add "preinsert" to 'completeopt' to insert the
longest common prefix automatically. You can also add other completion longest common prefix automatically. Additional sources (e.g., LSP clients)
sources to 'complete' as needed. may be added to 'complete' to improve completion as required.
See also 'autocomplete', 'autocompletedelay' and 'autocompletetimeout'. See also 'autocomplete', 'autocompletedelay' and 'autocompletetimeout'.
@@ -1437,6 +1437,8 @@ In the first state these keys have a special meaning:
<BS> and CTRL-H Delete one character, find the matches for the word before <BS> and CTRL-H Delete one character, find the matches for the word before
the cursor. This reduces the list of matches, often to one the cursor. This reduces the list of matches, often to one
entry, and switches to the second state. entry, and switches to the second state.
When 'autocomplete' is active, clears the selected item in
the menu.
Any non-special character: Any non-special character:
Stop completion without changing the match and insert the Stop completion without changing the match and insert the
typed character. typed character.
@@ -1444,6 +1446,8 @@ Any non-special character:
In the second and third state these keys have a special meaning: In the second and third state these keys have a special meaning:
<BS> and CTRL-H Delete one character, find the matches for the shorter word <BS> and CTRL-H Delete one character, find the matches for the shorter word
before the cursor. This may find more matches. before the cursor. This may find more matches.
When 'autocomplete' is active, clears the selected item in
the menu.
CTRL-L Add one character from the current match, may reduce the CTRL-L Add one character from the current match, may reduce the
number of matches. number of matches.
any printable, non-white character: any printable, non-white character:

View File

@@ -1,4 +1,4 @@
*intro.txt* For Vim version 9.1. Last change: 2025 Aug 06 *intro.txt* For Vim version 9.1. Last change: 2025 Oct 05
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -200,6 +200,8 @@ patches, suggestions and giving feedback about what is good and bad in Vim.
Vim would never have become what it is now, without the help of these people! Vim would never have become what it is now, without the help of these people!
|Bram| Moolenaar Creator and benevolent dictator until his
passing (3 August 2023)
Ron Aaron Win32 GUI changes Ron Aaron Win32 GUI changes
Mohsin Ahmed encryption Mohsin Ahmed encryption
Zoltan Arpadffy work on VMS port Zoltan Arpadffy work on VMS port
@@ -267,7 +269,16 @@ Vim would never have become what it is now, without the help of these people!
Ken Takata fixes and features Ken Takata fixes and features
Kazunobu Kuriyama GTK 3 Kazunobu Kuriyama GTK 3
Christian Brabandt many fixes, features, user support, etc. Christian Brabandt many fixes, features, user support, etc.
Yegappan Lakshmanan many quickfix features Yegappan Lakshmanan many quickfix features, Vim9 script
improvements
Doug Kearns Runtime file maintainer
Foxe Chen Wayland support, new features
glepnir completion feature
Girish Palya insert & cmdline autocompletion,
search/substitute completion, etc.
Hirohito Higashi lots of patches and fixes
Yee Cheng Chin MacVim maintainer and diff improvements
zeertzjq many fixes and improvements
I wish to thank all the people that sent me bug reports and suggestions. The I wish to thank all the people that sent me bug reports and suggestions. The
list is too long to mention them all here. Vim would not be the same without list is too long to mention them all here. Vim would not be the same without

View File

@@ -1,4 +1,4 @@
*mbyte.txt* For Vim version 9.1. Last change: 2025 Aug 10 *mbyte.txt* For Vim version 9.1. Last change: 2025 Oct 04
VIM REFERENCE MANUAL by Bram Moolenaar et al. VIM REFERENCE MANUAL by Bram Moolenaar et al.
@@ -971,6 +971,36 @@ of Windows you use. For example, on my Windows 2000 box:
The default is still English (United Stated) The default is still English (United Stated)
MS-Windows IME Compatibility *multibyte-ime-compatibility*
Vim manages input methods on Windows systems via the `imm32.dll` (Input Method
Manager). The implementation, dating back to the Windows 2000 era, may not be
fully compatible with modern input methods. Modern input method processing
has shifted to the Text Services Framework (TSF), whose behavior may not fully
align with the traditional IME interface. For details about IME and TSF,
refer to the Microsoft documentation website (link is omitted since MS
documentation URLs often change).
In some cases Vim might incorrectly enable the Input Method (IM) in Normal
mode upon startup when the Windows display language is set to a CJK language.
To work around this issue, try adding the following configuration to your
|gvimrc| file: >
autocmd VimEnter * set imdisable | set noimdisable
<
If you make any progress in diagnosing or resolving these issues, feedback is
welcome.
Note: IME behavior can vary due to differences in implementations by different
vendors. If you encounter issues with a specific input method, it is
recommended to test with an alternative one.
For proper integration with Vim's |+multi_byte_ime| system, changes in the
input method's status must be detectable by the `ImmGetOpenStatus()` function
in Vims source code. Currently, some input methods that support multi-language
input may have internal state changes that gVim cannot capture.
Cursor color when IME or XIM is on *CursorIM* Cursor color when IME or XIM is on *CursorIM*
There is a little cute feature for IME. Cursor can indicate status of IME There is a little cute feature for IME. Cursor can indicate status of IME
by changing its color. Usually status of IME was indicated by little icon by changing its color. Usually status of IME was indicated by little icon

View File

@@ -1,4 +1,4 @@
*options.txt* For Vim version 9.1. Last change: 2025 Sep 08 *options.txt* For Vim version 9.1. Last change: 2025 Oct 07
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -80,7 +80,7 @@ achieve special effects. These options come in three forms:
'0o'). '0o').
The old value can be inserted by typing 'wildchar' (by The old value can be inserted by typing 'wildchar' (by
default this is a <Tab> or CTRL-E if 'compatible' is default this is a <Tab> or CTRL-E if 'compatible' is
set). Many string options with fixed syntax and names set). Many string options with fixed syntax and names
also support completing known values. See also support completing known values. See
|cmdline-completion| and |complete-set-option|. |cmdline-completion| and |complete-set-option|.
White space between {option} and '=' is allowed and White space between {option} and '=' is allowed and
@@ -910,7 +910,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'autocomplete'* *'ac'* *'noautocomplete'* *'noac'* *'autocomplete'* *'ac'* *'noautocomplete'* *'noac'*
'autocomplete' 'ac' boolean (default off) 'autocomplete' 'ac' boolean (default off)
global global or local to buffer |global-local|
{only available on platforms with timing support} {only available on platforms with timing support}
When on, Vim shows a completion menu as you type, similar to using When on, Vim shows a completion menu as you type, similar to using
|i_CTRL-N|, but triggered automatically. See |ins-autocompletion|. |i_CTRL-N|, but triggered automatically. See |ins-autocompletion|.
@@ -970,7 +970,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'autoshelldir' 'asd' boolean (default off) 'autoshelldir' 'asd' boolean (default off)
global global
When on, Vim will change the current working directory whenever you When on, Vim will change the current working directory whenever you
change the directory of the shell running in a terminal window. You change the directory of the shell running in a terminal window. You
need proper setting-up, so whenever the shell's pwd changes an OSC 7 need proper setting-up, so whenever the shell's pwd changes an OSC 7
escape sequence will be emitted. For example, on Linux, you can escape sequence will be emitted. For example, on Linux, you can
source /etc/profile.d/vte.sh in your shell profile if you use bash or source /etc/profile.d/vte.sh in your shell profile if you use bash or
@@ -1105,8 +1105,8 @@ A jump table for the options with a short description can be found at |Q_op|.
eol allow backspacing over line breaks (join lines) eol allow backspacing over line breaks (join lines)
start allow backspacing over the start of insert; CTRL-W and CTRL-U start allow backspacing over the start of insert; CTRL-W and CTRL-U
stop once at the start of insert. stop once at the start of insert.
nostop like start, except CTRL-W and CTRL-U do not stop at the start of nostop like start, except CTRL-W and CTRL-U do not stop at the start
insert. of insert.
When the value is empty, Vi compatible backspacing is used, none of When the value is empty, Vi compatible backspacing is used, none of
the ways mentioned for the items above are possible. the ways mentioned for the items above are possible.
@@ -1229,11 +1229,11 @@ A jump table for the options with a short description can be found at |Q_op|.
- A directory name may end in an '/'. - A directory name may end in an '/'.
- For Unix and Win32, if a directory ends in two path separators "//", - For Unix and Win32, if a directory ends in two path separators "//",
the backup file name will be built from the complete path to the the backup file name will be built from the complete path to the
file with all path separators changed to percent '%' signs. This file with all path separators changed to percent '%' signs. This
will ensure file name uniqueness in the backup directory. will ensure file name uniqueness in the backup directory.
On Win32, it is also possible to end with "\\". However, When a On Win32, it is also possible to end with "\\". However, When a
separating comma is following, you must use "//", since "\\" will separating comma is following, you must use "//", since "\\" will
include the comma in the file name. Therefore it is recommended to include the comma in the file name. Therefore it is recommended to
use '//', instead of '\\'. use '//', instead of '\\'.
- Environment variables are expanded |:set_env|. - Environment variables are expanded |:set_env|.
- Careful with '\' characters, type one before a space, type two to - Careful with '\' characters, type one before a space, type two to
@@ -1358,7 +1358,7 @@ A jump table for the options with a short description can be found at |Q_op|.
or Sun Workshop). or Sun Workshop).
If the expression starts with s: or |<SID>|, then it is replaced with If the expression starts with s: or |<SID>|, then it is replaced with
the script ID (|local-function|). Example: > the script ID (|local-function|). Example: >
set bexpr=s:MyBalloonExpr() set bexpr=s:MyBalloonExpr()
set bexpr=<SID>SomeBalloonExpr() set bexpr=<SID>SomeBalloonExpr()
< Otherwise, the expression is evaluated in the context of the script < Otherwise, the expression is evaluated in the context of the script
@@ -1381,10 +1381,10 @@ A jump table for the options with a short description can be found at |Q_op|.
*'belloff'* *'bo'* *'belloff'* *'bo'*
'belloff' 'bo' string (default "") 'belloff' 'bo' string (default "")
global global
Specifies for which events the bell will not be rung. It is a comma Specifies for which events the bell will not be rung. It is a comma
separated list of items. For each item that is present, the bell separated list of items. For each item that is present, the bell will
will be silenced. This is most useful to specify specific events in be silenced. This is most useful to specify specific events in insert
insert mode to be silenced. mode to be silenced.
You can also make it flash by using 'visualbell'. You can also make it flash by using 'visualbell'.
item meaning when present ~ item meaning when present ~
@@ -1416,8 +1416,8 @@ A jump table for the options with a short description can be found at |Q_op|.
(depends on the 'wildmode' setting). (depends on the 'wildmode' setting).
This is most useful to fine tune when in Insert mode the bell should This is most useful to fine tune when in Insert mode the bell should
be rung. For Normal mode and Ex commands, the bell is often rung to be rung. For Normal mode and Ex commands, the bell is often rung to
indicate that an error occurred. It can be silenced by adding the indicate that an error occurred. It can be silenced by adding the
"error" keyword. "error" keyword.
*'binary'* *'bin'* *'nobinary'* *'nobin'* *'binary'* *'bin'* *'nobinary'* *'nobin'*
@@ -1507,11 +1507,11 @@ A jump table for the options with a short description can be found at |Q_op|.
local to window local to window
{not available when compiled without the |+linebreak| {not available when compiled without the |+linebreak|
feature} feature}
Settings for 'breakindent'. It can consist of the following optional Settings for 'breakindent'. It can consist of the following optional
items and must be separated by a comma: items and must be separated by a comma:
min:{n} Minimum text width that will be kept after min:{n} Minimum text width that will be kept after
applying 'breakindent', even if the resulting applying 'breakindent', even if the resulting
text should normally be narrower. This prevents text should normally be narrower. This prevents
text indented almost to the right window border text indented almost to the right window border
occupying lots of vertical space when broken. occupying lots of vertical space when broken.
(default: 20) (default: 20)
@@ -1530,8 +1530,8 @@ A jump table for the options with a short description can be found at |Q_op|.
(default: 0) (default: 0)
list:-1 Uses the width of a match with 'formatlistpat' for list:-1 Uses the width of a match with 'formatlistpat' for
indentation. indentation.
column:{n} Indent at column {n}. Will overrule the other column:{n} Indent at column {n}. Will overrule the other
sub-options. Note: an additional indent may be sub-options. Note: an additional indent may be
added for the 'showbreak' setting. added for the 'showbreak' setting.
(default: off) (default: off)
@@ -1741,7 +1741,7 @@ A jump table for the options with a short description can be found at |Q_op|.
of this. of this.
If the 'charconvert' expression starts with s: or |<SID>|, then it is If the 'charconvert' expression starts with s: or |<SID>|, then it is
replaced with the script ID (|local-function|). Example: > replaced with the script ID (|local-function|). Example: >
set charconvert=s:MyConvert() set charconvert=s:MyConvert()
set charconvert=<SID>SomeConvert() set charconvert=<SID>SomeConvert()
< Otherwise the expression is evaluated in the context of the script < Otherwise the expression is evaluated in the context of the script
@@ -2107,7 +2107,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'preserveindent'+ off don't preserve current indent structure 'preserveindent'+ off don't preserve current indent structure
when changing it when changing it
'revins' + off no reverse insert 'revins' + off no reverse insert
'ruler' + off no ruler 'ruler' & off no ruler
'scrolljump' + 1 no jump scroll 'scrolljump' + 1 no jump scroll
'scrolloff' + 0 no scroll offset 'scrolloff' + 0 no scroll offset
'shelltemp' - {unchanged} {set vim default only on resetting 'cp'} 'shelltemp' - {unchanged} {set vim default only on resetting 'cp'}
@@ -2168,19 +2168,20 @@ A jump table for the options with a short description can be found at |Q_op|.
name of a function or a |Funcref|. For |Funcref| values, name of a function or a |Funcref|. For |Funcref| values,
spaces must be escaped with a backslash ('\'), and commas with spaces must be escaped with a backslash ('\'), and commas with
double backslashes ('\\') (see |option-backslash|). double backslashes ('\\') (see |option-backslash|).
Unlike other sources, functions can provide completions starting Unlike other sources, functions can provide completions
from a non-keyword character before the cursor, and their starting from a non-keyword character before the cursor, and
start position for replacing text may differ from other sources. their start position for replacing text may differ from other
If the Dict returned by the {func} includes {"refresh": "always"}, sources. If the Dict returned by the {func} includes
the function will be invoked again whenever the leading text {"refresh": "always"}, the function will be invoked again
changes. whenever the leading text changes.
If generating matches is potentially slow, call If generating matches is potentially slow, call
|complete_check()| periodically to keep Vim responsive. This |complete_check()| periodically to keep Vim responsive. This
is especially important for |ins-autocompletion|. is especially important for |ins-autocompletion|.
F equivalent to using "F{func}", where the function is taken from F equivalent to using "F{func}", where the function is taken
the 'completefunc' option. from the 'completefunc' option.
o equivalent to using "F{func}", where the function is taken from o equivalent to "F{func}", where {func} is taken from the
the 'omnifunc' option. 'omnifunc' option. If a plugin (such as an LSP client)
defines 'omnifunc', it can be used through this flag.
Unloaded buffers are not loaded, thus their autocmds |:autocmd| are Unloaded buffers are not loaded, thus their autocmds |:autocmd| are
not executed, this may lead to unexpected completions from some files not executed, this may lead to unexpected completions from some files
@@ -2203,8 +2204,8 @@ A jump table for the options with a short description can be found at |Q_op|.
An optional match limit can be specified for a completion source by An optional match limit can be specified for a completion source by
appending a caret ("^") followed by a {count} to the source flag. appending a caret ("^") followed by a {count} to the source flag.
For example: ".^9,w,u,t^5" limits matches from the current buffer For example: ".^9,w,u,t^5" limits matches from the current buffer to 9
to 9 and from tags to 5. Other sources remain unlimited. and from tags to 5. Other sources remain unlimited.
Note: The match limit takes effect only during forward completion Note: The match limit takes effect only during forward completion
(CTRL-N) and is ignored during backward completion (CTRL-P). (CTRL-N) and is ignored during backward completion (CTRL-P).
@@ -2217,7 +2218,7 @@ A jump table for the options with a short description can be found at |Q_op|.
with CTRL-X CTRL-U. |i_CTRL-X_CTRL-U| with CTRL-X CTRL-U. |i_CTRL-X_CTRL-U|
See |complete-functions| for an explanation of how the function is See |complete-functions| for an explanation of how the function is
invoked and what it should return. The value can be the name of a invoked and what it should return. The value can be the name of a
function, a |lambda| or a |Funcref|. See |option-value-function| for function, a |lambda| or a |Funcref|. See |option-value-function| for
more information. more information.
This option cannot be set from a |modeline| or in the |sandbox|, for This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons. security reasons.
@@ -2260,7 +2261,7 @@ A jump table for the options with a short description can be found at |Q_op|.
A comma-separated list of options for Insert mode completion A comma-separated list of options for Insert mode completion
|ins-completion|. The supported values are: |ins-completion|. The supported values are:
fuzzy Enable |fuzzy-matching| for completion candidates. This fuzzy Enable |fuzzy-matching| for completion candidates. This
allows for more flexible and intuitive matching, where allows for more flexible and intuitive matching, where
characters can be skipped and matches can be found even characters can be skipped and matches can be found even
if the exact sequence is not typed. Note: This option if the exact sequence is not typed. Note: This option
@@ -2270,11 +2271,21 @@ A jump table for the options with a short description can be found at |Q_op|.
to gather more alternatives for your candidate list, to gather more alternatives for your candidate list,
see 'completefuzzycollect'. see 'completefuzzycollect'.
longest Only insert the longest common text of the matches. If longest
the menu is displayed you can use CTRL-L to add more When 'autocomplete' is not active, only the longest common
characters. Whether case is ignored depends on the kind prefix of the matches is inserted. If the popup menu is
of completion. For buffer text the 'ignorecase' option is displayed, you can use CTRL-L to add more characters.
used. Whether case is ignored depends on the type of completion.
For buffer text the 'ignorecase' option applies.
When 'autocomplete' is active and no completion item is
selected, the longest common prefix of the matches is
inserted after the cursor. The prefix is taken either
from all displayed items or only from items in the current
buffer. The inserted text is highlighted with
|hl-PreInsert|, and the cursor position does not change
(similar to `"preinsert"`). Press CTRL-Y to accept.
See also |preinserted()|.
menu Use a popup menu to show the possible completions. The menu Use a popup menu to show the possible completions. The
menu is only shown when there is more than one match and menu is only shown when there is more than one match and
@@ -2296,7 +2307,9 @@ A jump table for the options with a short description can be found at |Q_op|.
noselect Same as "noinsert", except that no menu item is noselect Same as "noinsert", except that no menu item is
pre-selected. If both "noinsert" and "noselect" are pre-selected. If both "noinsert" and "noselect" are
present, "noselect" has precedence. present, "noselect" takes precedence. This is enabled
automatically when 'autocomplete' is on, unless
"preinsert" is also enabled.
nosort Disable sorting of completion candidates based on fuzzy nosort Disable sorting of completion candidates based on fuzzy
scores when "fuzzy" is enabled. Candidates will appear scores when "fuzzy" is enabled. Candidates will appear
@@ -2316,24 +2329,23 @@ A jump table for the options with a short description can be found at |Q_op|.
{only works when compiled with the |+textprop| feature} {only works when compiled with the |+textprop| feature}
preinsert preinsert
When autocompletion is not enabled, inserts the part of the Inserts the text of the first completion candidate beyond
first candidate word beyond the current completion leader, the current leader, highlighted with |hl-PreInsert|.
highlighted with |hl-ComplMatchIns|. The cursor does not The cursor does not move.
move. Requires 'fuzzy' unset and 'menuone' in 'completeopt'. Requires "fuzzy" to be unset, and either "menuone" in
'completeopt' or 'autocomplete' enabled. When
When 'autocomplete' is enabled, inserts the longest common 'autocomplete' is enabled, this does not work if
prefix of matches (from all shown items or buffer-specific 'ignorecase' is set without 'infercase'.
matches), highlighted with |hl-PreInsert|. This occurs only See also |preinserted()|.
when no menu item is selected. Press CTRL-Y to accept.
preview Show extra information about the currently selected preview Show extra information about the currently selected
completion in the preview window. Only works in completion in the preview window. Only works in
combination with "menu" or "menuone". combination with "menu" or "menuone".
Only "fuzzy", "popup", "popuphidden", "preinsert" and "preview" have Only "fuzzy", "longest", "popup", "popuphidden", "preinsert" and
an effect when 'autocomplete' is enabled. "preview" have an effect when 'autocomplete' is enabled.
This option does not apply to |cmdline-completion|. See 'wildoptions' This option does not apply to |cmdline-completion|. See 'wildoptions'
for that. for that.
*'completepopup'* *'cpp'* *'completepopup'* *'cpp'*
@@ -2354,9 +2366,9 @@ A jump table for the options with a short description can be found at |Q_op|.
{only for MS-Windows} {only for MS-Windows}
When this option is set it overrules 'shellslash' for completion: When this option is set it overrules 'shellslash' for completion:
- When this option is set to "slash", a forward slash is used for path - When this option is set to "slash", a forward slash is used for path
completion in insert mode. This is useful when editing HTML tag, or completion in insert mode. This is useful when editing HTML tag, or
Makefile with 'noshellslash' on MS-Windows. Makefile with 'noshellslash' on MS-Windows.
- When this option is set to "backslash", backslash is used. This is - When this option is set to "backslash", backslash is used. This is
useful when editing a batch file with 'shellslash' set on MS-Windows. useful when editing a batch file with 'shellslash' set on MS-Windows.
- When this option is empty, same character is used as for - When this option is empty, same character is used as for
'shellslash'. 'shellslash'.
@@ -2735,7 +2747,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*cpo-;* *cpo-;*
; When using |,| or |;| to repeat the last |t| search ; When using |,| or |;| to repeat the last |t| search
and the cursor is right in front of the searched and the cursor is right in front of the searched
character, the cursor won't move. When not included, character, the cursor won't move. When not included,
the cursor would skip over it and jump to the the cursor would skip over it and jump to the
following occurrence. following occurrence.
*cpo-~* *cpo-~*
@@ -2876,8 +2888,8 @@ A jump table for the options with a short description can be found at |Q_op|.
global global
{not available when compiled without the |+cscope| {not available when compiled without the |+cscope|
feature} feature}
In the absence of a prefix (-P) for cscope. setting this option enables In the absence of a prefix (-P) for cscope, setting this option
to use the basename of cscope.out path as the prefix. enables to use the basename of cscope.out path as the prefix.
See |cscoperelative|. See |cscoperelative|.
NOTE: This option is reset when 'compatible' is set. NOTE: This option is reset when 'compatible' is set.
@@ -3024,7 +3036,7 @@ A jump table for the options with a short description can be found at |Q_op|.
When this option is empty or an entry "spell" is present, and spell When this option is empty or an entry "spell" is present, and spell
checking is enabled, words in the word lists for the currently active checking is enabled, words in the word lists for the currently active
'spelllang' are used. See |spell|. 'spelllang' are used. See |spell|.
To include a comma in a file name precede it with a backslash. Spaces To include a comma in a file name precede it with a backslash. Spaces
after a comma are ignored, otherwise spaces are included in the file after a comma are ignored, otherwise spaces are included in the file
@@ -3058,7 +3070,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Each anchor line splits the buffer (the split happens above the Each anchor line splits the buffer (the split happens above the
anchor), with each part being diff'ed separately before the final anchor), with each part being diff'ed separately before the final
result is joined. When more than one {address} are provided, the result is joined. When more than one {address} are provided, the
anchors will be sorted interally by line number. If using buffer anchors will be sorted internally by line number. If using buffer
local options, each buffer should have the same number of anchors local options, each buffer should have the same number of anchors
(extra anchors will be ignored). This option is only used when (extra anchors will be ignored). This option is only used when
'diffopt' has "anchor" set. See |diff-anchors| for more details and 'diffopt' has "anchor" set. See |diff-anchors| for more details and
@@ -3081,8 +3093,8 @@ A jump table for the options with a short description can be found at |Q_op|.
security reasons. security reasons.
*'dip'* *'diffopt'* *'dip'* *'diffopt'*
'diffopt' 'dip' string (default 'diffopt' 'dip' string (default "internal,filler,closeoff,
"internal,filler,closeoff,inline:simple") indent-heuristic,inline:char")
global global
{not available when compiled without the |+diff| {not available when compiled without the |+diff|
feature} feature}
@@ -3090,7 +3102,7 @@ A jump table for the options with a short description can be found at |Q_op|.
All are optional. Items must be separated by a comma. All are optional. Items must be separated by a comma.
algorithm:{text} Use the specified diff algorithm with the algorithm:{text} Use the specified diff algorithm with the
internal diff engine. Currently supported internal diff engine. Currently supported
algorithms are: algorithms are:
myers the default algorithm myers the default algorithm
minimal spend extra time to generate the minimal spend extra time to generate the
@@ -3113,7 +3125,7 @@ A jump table for the options with a short description can be found at |Q_op|.
When omitted a context of six lines is used. When omitted a context of six lines is used.
When using zero the context is actually one, When using zero the context is actually one,
since folds require a line in between, also since folds require a line in between, also
for a deleted line. Set it to a very large for a deleted line. Set it to a very large
value (999999) to disable folding completely. value (999999) to disable folding completely.
See |fold-diff|. See |fold-diff|.
@@ -3196,14 +3208,14 @@ A jump table for the options with a short description can be found at |Q_op|.
exactly. exactly.
linematch:{n} Align and mark changes between the most linematch:{n} Align and mark changes between the most
similar lines between the buffers. When the similar lines between the buffers. When the
total number of lines in the diff hunk exceeds total number of lines in the diff hunk exceeds
{n}, the lines will not be aligned because for {n}, the lines will not be aligned because for
very large diff hunks there will be a very large diff hunks there will be a
noticeable lag. A reasonable setting is noticeable lag. A reasonable setting is
"linematch:60", as this will enable alignment "linematch:60", as this will enable alignment
for a 2 buffer diff hunk of 30 lines each, for a 2 buffer diff hunk of 30 lines each, or
or a 3 buffer diff hunk of 20 lines each. a 3 buffer diff hunk of 20 lines each.
Implicitly sets "filler" when this is set. Implicitly sets "filler" when this is set.
vertical Start diff mode with vertical splits (unless vertical Start diff mode with vertical splits (unless
@@ -3249,11 +3261,11 @@ A jump table for the options with a short description can be found at |Q_op|.
- For Unix and Win32, if a directory ends in two path separators "//", - For Unix and Win32, if a directory ends in two path separators "//",
the swap file name will be built from the complete path to the file the swap file name will be built from the complete path to the file
with all path separators replaced by percent '%' signs (including with all path separators replaced by percent '%' signs (including
the colon following the drive letter on Win32). This will ensure the colon following the drive letter on Win32). This will ensure
file name uniqueness in the preserve directory. file name uniqueness in the preserve directory.
On Win32, it is also possible to end with "\\". However, When a On Win32, it is also possible to end with "\\". However, When a
separating comma is following, you must use "//", since "\\" will separating comma is following, you must use "//", since "\\" will
include the comma in the file name. Therefore it is recommended to include the comma in the file name. Therefore it is recommended to
use '//', instead of '\\'. use '//', instead of '\\'.
- Spaces after the comma are ignored, other spaces are considered part - Spaces after the comma are ignored, other spaces are considered part
of the directory name. To have a space at the start of a directory of the directory name. To have a space at the start of a directory
@@ -3453,8 +3465,8 @@ A jump table for the options with a short description can be found at |Q_op|.
makes a difference for error messages, the bell will be used always makes a difference for error messages, the bell will be used always
for a lot of errors without a message (e.g., hitting <Esc> in Normal for a lot of errors without a message (e.g., hitting <Esc> in Normal
mode). See 'visualbell' on how to make the bell behave like a beep, mode). See 'visualbell' on how to make the bell behave like a beep,
screen flash or do nothing. See 'belloff' to finetune when to ring the screen flash or do nothing. See 'belloff' to finetune when to ring
bell. the bell.
*'errorfile'* *'ef'* *'errorfile'* *'ef'*
'errorfile' 'ef' string (Amiga default: "AztecC.Err", 'errorfile' 'ef' string (Amiga default: "AztecC.Err",
@@ -3713,7 +3725,7 @@ A jump table for the options with a short description can be found at |Q_op|.
command to find the illegal byte sequence. command to find the illegal byte sequence.
WRONG VALUES: WHAT'S WRONG: WRONG VALUES: WHAT'S WRONG:
latin1,utf-8 "latin1" will always be used latin1,utf-8 "latin1" will always be used
utf-8,ucs-bom,latin1 BOM won't be recognized in an utf-8 utf-8,ucs-bom,latin1 BOM won't be recognized in a utf-8
file file
cp1250,latin1 "cp1250" will always be used cp1250,latin1 "cp1250" will always be used
If 'fileencodings' is empty, 'fileencoding' is not modified. If 'fileencodings' is empty, 'fileencoding' is not modified.
@@ -3805,7 +3817,13 @@ A jump table for the options with a short description can be found at |Q_op|.
'fileignorecase' 'fic' boolean (default on for systems where case in file 'fileignorecase' 'fic' boolean (default on for systems where case in file
names is normally ignored) names is normally ignored)
global global
When set case is ignored when using file names and directories. When set, case is ignored when using file and directory names.
This option is on by default on systems where the filesystem is
traditionally case-insensitive (for example MS-Windows and macOS).
However, Vim cannot determine at runtime whether a particular
filesystem is case-sensitive or case-insensitive.
See 'wildignorecase' for only ignoring case when doing completion. See 'wildignorecase' for only ignoring case when doing completion.
*'filetype'* *'ft'* *'filetype'* *'ft'*
@@ -3850,6 +3868,9 @@ A jump table for the options with a short description can be found at |Q_op|.
foldopen '-' mark the beginning of a fold foldopen '-' mark the beginning of a fold
foldclose '+' show a closed fold foldclose '+' show a closed fold
foldsep '|' open fold middle character foldsep '|' open fold middle character
foldinner none character to show instead of the
numeric foldlevel when it would be
repeated in a narrow 'foldcolumn'
diff '-' deleted lines of the 'diff' option diff '-' deleted lines of the 'diff' option
eob '~' empty lines below the end of a buffer eob '~' empty lines below the end of a buffer
lastline '@' 'display' contains lastline/truncate lastline '@' 'display' contains lastline/truncate
@@ -4170,7 +4191,7 @@ A jump table for the options with a short description can be found at |Q_op|.
the internal format mechanism. the internal format mechanism.
If the expression starts with s: or |<SID>|, then it is replaced with If the expression starts with s: or |<SID>|, then it is replaced with
the script ID (|local-function|). Example: > the script ID (|local-function|). Example: >
set formatexpr=s:MyFormatExpr() set formatexpr=s:MyFormatExpr()
set formatexpr=<SID>SomeFormatExpr() set formatexpr=<SID>SomeFormatExpr()
< Otherwise, the expression is evaluated in the context of the script < Otherwise, the expression is evaluated in the context of the script
@@ -4336,7 +4357,7 @@ A jump table for the options with a short description can be found at |Q_op|.
NOTE: This option is reset when 'compatible' is set. NOTE: This option is reset when 'compatible' is set.
Setting this option may break plugins that rely on the default Setting this option may break plugins that rely on the default
behavior of the 'g' flag. This will also make the 'g' flag have the behavior of the 'g' flag. This will also make the 'g' flag have the
opposite effect of that documented in |:s_g|. opposite effect of that documented in |:s_g|.
This option is not used in |Vim9| script. This option is not used in |Vim9| script.
@@ -4501,11 +4522,11 @@ A jump table for the options with a short description can be found at |Q_op|.
global global
{only for GTK and Win32 GUI} {only for GTK and Win32 GUI}
List of ASCII characters that, when combined together, can create more List of ASCII characters that, when combined together, can create more
complex shapes. Each character must be a printable ASCII character complex shapes. Each character must be a printable ASCII character
with a value in the 32-127 range. with a value in the 32-127 range.
Example: > Example: >
:set guiligatures=!\"#$%&()*+-./:<=>?@[]^_{\|~ :set guiligatures=!\"#$%&()*+-./:<=>?@[]^_{\|~
< Changing this option updates screen output immediately. Set it to an < Changing this option updates screen output immediately. Set it to an
empty string to disable ligatures. empty string to disable ligatures.
*'guioptions'* *'go'* *'guioptions'* *'go'*
@@ -4563,15 +4584,19 @@ A jump table for the options with a short description can be found at |Q_op|.
*'go-c'* *'go-c'*
'c' Use console dialogs instead of popup dialogs for simple 'c' Use console dialogs instead of popup dialogs for simple
choices. choices.
*'go-C'*
'C' Use |hl-TitleBar| and |hl-TitleBarNC| if available.
Currently only works for MS-Window GUI.
See |gui-w32-title-bar| for details.
*'go-d'* *'go-d'*
'd' Use dark theme variant if available. Currently only works for 'd' Use dark theme variant if available. Currently only works for
GTK+ GUI. GTK+ GUI.
*'go-e'* *'go-e'*
'e' Add tab pages when indicated with 'showtabline'. 'e' Add tab pages when indicated with 'showtabline'.
'guitablabel' can be used to change the text in the labels. 'guitablabel' can be used to change the text in the labels.
When 'e' is missing a non-GUI tab pages line may be used. When 'e' is missing a non-GUI tab pages line may be used.
The GUI tabs are only supported on some systems, currently The GUI tabs are only supported on some systems, currently GTK,
GTK, Motif, Mac OS/X, Haiku, and MS-Windows. Motif, Mac OS/X, Haiku, and MS-Windows.
*'go-f'* *'go-f'*
'f' Foreground: Don't use fork() to detach the GUI from the shell 'f' Foreground: Don't use fork() to detach the GUI from the shell
where it was started. Use this for programs that wait for the where it was started. Use this for programs that wait for the
@@ -4757,7 +4782,8 @@ A jump table for the options with a short description can be found at |Q_op|.
=:PmenuSel, k:PmenuMatch,<:PmenuMatchSel, =:PmenuSel, k:PmenuMatch,<:PmenuMatchSel,
[:PmenuKind,]:PmenuKindSel, [:PmenuKind,]:PmenuKindSel,
{:PmenuExtra,}:PmenuExtraSel, {:PmenuExtra,}:PmenuExtraSel,
x:PmenuSbar,X:PmenuThumb,*:TabLine, x:PmenuSbar,X:PmenuThumb,j:PmenuBorder,
H:PmenuShadow,*:TabLine,
#:TabLineSel,_:TabLineFill,!:CursorColumn, #:TabLineSel,_:TabLineFill,!:CursorColumn,
.:CursorLine,o:ColorColumn,q:QuickFixLine, .:CursorLine,o:ColorColumn,q:QuickFixLine,
z:StatusLineTerm,Z:StatusLineTermNC, z:StatusLineTerm,Z:StatusLineTermNC,
@@ -4824,7 +4850,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|hl-PmenuThumb| X popup menu scrollbar thumb |hl-PmenuThumb| X popup menu scrollbar thumb
|hl-PmenuMatch| k popup menu matched text |hl-PmenuMatch| k popup menu matched text
|hl-PmenuMatchSel| < popup menu matched text in selected line |hl-PmenuMatchSel| < popup menu matched text in selected line
|hl-PreInsert| I text inserted when "preinsert" and 'autocomplete' |hl-PmenuBorder| j popup menu border characters
|hl-PmenuShadow| H popup menu shadow
|hl-PreInsert| I text inserted when "preinsert" is in 'completeopt'
The display modes are: The display modes are:
r reverse (termcap entry "mr" and "me") r reverse (termcap entry "mr" and "me")
@@ -4952,8 +4980,8 @@ A jump table for the options with a short description can be found at |Q_op|.
global global
This option specifies a function that will be called to This option specifies a function that will be called to
activate or deactivate the Input Method. The value can be the name of activate or deactivate the Input Method. The value can be the name of
a function, a |lambda| or a |Funcref|. See |option-value-function| for a function, a |lambda| or a |Funcref|. See |option-value-function|
more information. for more information.
It is not used in the MS-Windows GUI version. It is not used in the MS-Windows GUI version.
The expression will be evaluated in the |sandbox| when set from a The expression will be evaluated in the |sandbox| when set from a
modeline, see |sandbox-option|. modeline, see |sandbox-option|.
@@ -5132,7 +5160,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Note: Not used for |<cfile>|. Note: Not used for |<cfile>|.
If the expression starts with s: or |<SID>|, then it is replaced with If the expression starts with s: or |<SID>|, then it is replaced with
the script ID (|local-function|). Example: > the script ID (|local-function|). Example: >
setlocal includeexpr=s:MyIncludeExpr() setlocal includeexpr=s:MyIncludeExpr()
setlocal includeexpr=<SID>SomeIncludeExpr() setlocal includeexpr=<SID>SomeIncludeExpr()
< Otherwise, the expression is evaluated in the context of the script < Otherwise, the expression is evaluated in the context of the script
@@ -5181,14 +5209,14 @@ A jump table for the options with a short description can be found at |Q_op|.
are typing the pattern. are typing the pattern.
The highlighting can be set with the 'i' flag in 'highlight'. The highlighting can be set with the 'i' flag in 'highlight'.
When 'hlsearch' is on, all matched strings are highlighted too while When 'hlsearch' is on, all matched strings are highlighted too while
typing a search command. See also: 'hlsearch'. typing a search command. See also: 'hlsearch'.
If you don't want to turn 'hlsearch' on, but want to highlight all If you don't want to turn 'hlsearch' on, but want to highlight all
matches while searching, you can turn on and off 'hlsearch' with matches while searching, you can turn on and off 'hlsearch' with
autocmd. Example: > autocmd. Example: >
augroup vimrc-incsearch-highlight augroup vimrc-incsearch-highlight
autocmd! autocmd!
autocmd CmdlineEnter /,\? :set hlsearch autocmd CmdlineEnter [\/\?] :set hlsearch
autocmd CmdlineLeave /,\? :set nohlsearch autocmd CmdlineLeave [\/\?] :set nohlsearch
augroup END augroup END
< <
CTRL-L can be used to add one character from after the current match CTRL-L can be used to add one character from after the current match
@@ -5216,7 +5244,7 @@ A jump table for the options with a short description can be found at |Q_op|.
when the expression is evaluated (but it may be moved around). when the expression is evaluated (but it may be moved around).
If the expression starts with s: or |<SID>|, then it is replaced with If the expression starts with s: or |<SID>|, then it is replaced with
the script ID (|local-function|). Example: > the script ID (|local-function|). Example: >
set indentexpr=s:MyIndentExpr() set indentexpr=s:MyIndentExpr()
set indentexpr=<SID>SomeIndentExpr() set indentexpr=<SID>SomeIndentExpr()
< Otherwise, the expression is evaluated in the context of the script < Otherwise, the expression is evaluated in the context of the script
@@ -5695,8 +5723,8 @@ A jump table for the options with a short description can be found at |Q_op|.
than at the last character that fits on the screen. Unlike than at the last character that fits on the screen. Unlike
'wrapmargin' and 'textwidth', this does not insert <EOL>s in the file, 'wrapmargin' and 'textwidth', this does not insert <EOL>s in the file,
it only affects the way the file is displayed, not its contents. it only affects the way the file is displayed, not its contents.
If 'breakindent' is set, line is visually indented. Then, the value If 'breakindent' is set, line is visually indented. Then, the value
of 'showbreak' is used to put in front of wrapped lines. This option of 'showbreak' is used to put in front of wrapped lines. This option
is not used when the 'wrap' option is off. is not used when the 'wrap' option is off.
Note that <Tab> characters after an <EOL> are mostly not displayed Note that <Tab> characters after an <EOL> are mostly not displayed
with the right amount of white space. with the right amount of white space.
@@ -5888,7 +5916,7 @@ A jump table for the options with a short description can be found at |Q_op|.
global global
{only available when compiled with the |+lua/dyn| {only available when compiled with the |+lua/dyn|
feature} feature}
Specifies the name of the Lua shared library. The default is Specifies the name of the Lua shared library. The default is
DYNAMIC_LUA_DLL, which was specified at compile time. DYNAMIC_LUA_DLL, which was specified at compile time.
Environment variables are expanded |:set_env|. Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for This option cannot be set from a |modeline| or in the |sandbox|, for
@@ -6352,8 +6380,8 @@ A jump table for the options with a short description can be found at |Q_op|.
global global
{only works in the GUI} {only works in the GUI}
When on, mouse move events are delivered to the input queue and are When on, mouse move events are delivered to the input queue and are
available for mapping. The default, off, avoids the mouse movement available for mapping. The default, off, avoids the mouse movement
overhead except when needed. See |gui-mouse-mapping|. overhead except when needed. See |gui-mouse-mapping|.
Warning: Setting this option can make pending mappings to be aborted Warning: Setting this option can make pending mappings to be aborted
when the mouse is moved. when the mouse is moved.
Currently only works in the GUI, may be made to work in a terminal Currently only works in the GUI, may be made to work in a terminal
@@ -6448,7 +6476,7 @@ A jump table for the options with a short description can be found at |Q_op|.
global global
{only available when compiled with the |+mzscheme/dyn| {only available when compiled with the |+mzscheme/dyn|
feature} feature}
Specifies the name of the MzScheme shared library. The default is Specifies the name of the MzScheme shared library. The default is
DYNAMIC_MZSCH_DLL which was specified at compile time. DYNAMIC_MZSCH_DLL which was specified at compile time.
Environment variables are expanded |:set_env|. Environment variables are expanded |:set_env|.
The value must be set in the |vimrc| script or earlier. In the The value must be set in the |vimrc| script or earlier. In the
@@ -6461,7 +6489,7 @@ A jump table for the options with a short description can be found at |Q_op|.
global global
{only available when compiled with the |+mzscheme/dyn| {only available when compiled with the |+mzscheme/dyn|
feature} feature}
Specifies the name of the MzScheme GC shared library. The default is Specifies the name of the MzScheme GC shared library. The default is
DYNAMIC_MZGC_DLL which was specified at compile time. DYNAMIC_MZGC_DLL which was specified at compile time.
The value can be equal to 'mzschemedll' if it includes the GC code. The value can be equal to 'mzschemedll' if it includes the GC code.
Environment variables are expanded |:set_env|. Environment variables are expanded |:set_env|.
@@ -6486,7 +6514,7 @@ A jump table for the options with a short description can be found at |Q_op|.
bin If included, numbers starting with "0b" or "0B" will be bin If included, numbers starting with "0b" or "0B" will be
considered to be binary. Example: Using CTRL-X on considered to be binary. Example: Using CTRL-X on
"0b1000" subtracts one, resulting in "0b0111". "0b1000" subtracts one, resulting in "0b0111".
unsigned If included, numbers are recognized as unsigned. Thus a unsigned If included, numbers are recognized as unsigned. Thus a
leading dash or negative sign won't be considered as part of leading dash or negative sign won't be considered as part of
the number. Examples: the number. Examples:
Using CTRL-X on "2020" in "9-2020" results in "9-2019" Using CTRL-X on "2020" in "9-2020" results in "9-2019"
@@ -6545,14 +6573,14 @@ A jump table for the options with a short description can be found at |Q_op|.
feature} feature}
Minimal number of columns to use for the line number. Only relevant Minimal number of columns to use for the line number. Only relevant
when the 'number' or 'relativenumber' option is set or printing lines when the 'number' or 'relativenumber' option is set or printing lines
with a line number. Since one space is always between the number and with a line number. Since one space is always between the number and
the text, there is one less character for the number itself. the text, there is one less character for the number itself.
The value is the minimum width. A bigger width is used when needed to The value is the minimum width. A bigger width is used when needed to
fit the highest line number in the buffer respectively the number of fit the highest line number in the buffer respectively the number of
rows in the window, depending on whether 'number' or 'relativenumber' rows in the window, depending on whether 'number' or 'relativenumber'
is set. Thus with the Vim default of 4 there is room for a line number is set. Thus with the Vim default of 4 there is room for a line
up to 999. When the buffer has 1000 lines five columns will be used. number up to 999. When the buffer has 1000 lines five columns will be
The minimum value is 1, the maximum value is 20. used. The minimum value is 1, the maximum value is 20.
NOTE: This option is set to the Vi default value when 'compatible' is NOTE: This option is set to the Vi default value when 'compatible' is
set and to the Vim default value when 'compatible' is reset. set and to the Vim default value when 'compatible' is reset.
@@ -6565,7 +6593,7 @@ A jump table for the options with a short description can be found at |Q_op|.
completion with CTRL-X CTRL-O. |i_CTRL-X_CTRL-O| completion with CTRL-X CTRL-O. |i_CTRL-X_CTRL-O|
See |complete-functions| for an explanation of how the function is See |complete-functions| for an explanation of how the function is
invoked and what it should return. The value can be the name of a invoked and what it should return. The value can be the name of a
function, a |lambda| or a |Funcref|. See |option-value-function| for function, a |lambda| or a |Funcref|. See |option-value-function| for
more information. more information.
This option is usually set by a filetype plugin: This option is usually set by a filetype plugin:
|:filetype-plugin-on| |:filetype-plugin-on|
@@ -6587,7 +6615,7 @@ A jump table for the options with a short description can be found at |Q_op|.
global global
This option specifies a function to be called by the |g@| operator. This option specifies a function to be called by the |g@| operator.
See |:map-operator| for more info and an example. The value can be See |:map-operator| for more info and an example. The value can be
the name of a function, a |lambda| or a |Funcref|. See the name of a function, a |lambda| or a |Funcref|. See
|option-value-function| for more information. |option-value-function| for more information.
This option cannot be set from a |modeline| or in the |sandbox|, for This option cannot be set from a |modeline| or in the |sandbox|, for
@@ -6598,7 +6626,7 @@ A jump table for the options with a short description can be found at |Q_op|.
global global
This option specifies the timeout in milliseconds Vim should wait This option specifies the timeout in milliseconds Vim should wait
until it receives an OSC terminator after receiving the beginning of until it receives an OSC terminator after receiving the beginning of
an OSC command response. See the |TermResponseAll| autocommand event an OSC command response. See the |TermResponseAll| autocommand event
and |v:termosc| for more information. and |v:termosc| for more information.
*'osfiletype'* *'oft'* *'osfiletype'* *'oft'*
@@ -6774,7 +6802,7 @@ A jump table for the options with a short description can be found at |Q_op|.
global global
{only available when compiled with the |+perl/dyn| {only available when compiled with the |+perl/dyn|
feature} feature}
Specifies the name of the Perl shared library. The default is Specifies the name of the Perl shared library. The default is
DYNAMIC_PERL_DLL, which was specified at compile time. DYNAMIC_PERL_DLL, which was specified at compile time.
Environment variables are expanded |:set_env|. Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for This option cannot be set from a |modeline| or in the |sandbox|, for
@@ -6898,6 +6926,40 @@ A jump table for the options with a short description can be found at |Q_op|.
global global
When on a ":" prompt is used in Ex mode. When on a ":" prompt is used in Ex mode.
*'pumborder'* *'pb'*
'pumborder' 'pb' string (default "")
global
Defines a border and optional decorations for the popup menu in
completion. The value is a comma-separated list of keywords.
Border styles (at most one):
"single" use thin box-drawing characters
"double" use double-line box-drawing characters
"round" use rounded corners
"ascii" use ASCII characters (-, |, +)
"custom:X;X;X;X;X;X;X;X"
use eight characters separated by semicolons, in the
order: top, right, bottom, left,
topleft, topright, botright, botleft
Additional flags:
"margin" adds one-cell spacing inside the left and right border
"shadow" draws a shadow at the right and bottom edges
Highlight groups:
|hl-PmenuBorder| used for the border characters
|hl-PmenuShadow| used for the shadow
Examples: >
:set pumborder=single
:set pumborder=double,margin,shadow
:set pumborder=custom:─;│;─;│;┌;┐;┘;└,shadow
<
Border styles using box-drawing characters ("single", "double",
"round") are only available when |'encoding'| is "utf-8" and
|'ambiwidth'| is "single". "margin" requires a border style.
See also: |ins-completion-menu|.
*'pumheight'* *'ph'* *'pumheight'* *'ph'*
'pumheight' 'ph' number (default 0) 'pumheight' 'ph' number (default 0)
global global
@@ -6927,7 +6989,7 @@ A jump table for the options with a short description can be found at |Q_op|.
global global
{only available when compiled with the |+python/dyn| {only available when compiled with the |+python/dyn|
feature} feature}
Specifies the name of the Python 2.x shared library. The default is Specifies the name of the Python 2.x shared library. The default is
DYNAMIC_PYTHON_DLL, which was specified at compile time. DYNAMIC_PYTHON_DLL, which was specified at compile time.
Environment variables are expanded |:set_env|. Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for This option cannot be set from a |modeline| or in the |sandbox|, for
@@ -6938,10 +7000,10 @@ A jump table for the options with a short description can be found at |Q_op|.
global global
{only available when compiled with the |+python/dyn| {only available when compiled with the |+python/dyn|
feature} feature}
Specifies the name of the Python 2.x home directory. When 'pythonhome' Specifies the name of the Python 2.x home directory. When
and the PYTHONHOME environment variable are not set, PYTHON_HOME, 'pythonhome' and the PYTHONHOME environment variable are not set,
which was specified at compile time, will be used for the Python 2.x PYTHON_HOME, which was specified at compile time, will be used for the
home directory. Python 2.x home directory.
Environment variables are expanded |:set_env|. Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons. security reasons.
@@ -6951,7 +7013,7 @@ A jump table for the options with a short description can be found at |Q_op|.
global global
{only available when compiled with the |+python3/dyn| {only available when compiled with the |+python3/dyn|
feature} feature}
Specifies the name of the Python 3 shared library. The default is Specifies the name of the Python 3 shared library. The default is
DYNAMIC_PYTHON3_DLL, which was specified at compile time. DYNAMIC_PYTHON3_DLL, which was specified at compile time.
Environment variables are expanded |:set_env|. Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for This option cannot be set from a |modeline| or in the |sandbox|, for
@@ -6962,7 +7024,7 @@ A jump table for the options with a short description can be found at |Q_op|.
global global
{only available when compiled with the |+python3/dyn| {only available when compiled with the |+python3/dyn|
feature} feature}
Specifies the name of the Python 3 home directory. When Specifies the name of the Python 3 home directory. When
'pythonthreehome' and the PYTHONHOME environment variable are not set, 'pythonthreehome' and the PYTHONHOME environment variable are not set,
PYTHON3_HOME, which was specified at compile time, will be used for PYTHON3_HOME, which was specified at compile time, will be used for
the Python 3 home directory. the Python 3 home directory.
@@ -6986,8 +7048,8 @@ A jump table for the options with a short description can be found at |Q_op|.
Available values are 0, 2 and 3. Available values are 0, 2 and 3.
If 'pyxversion' is 0, it is set to 2 or 3 after the first execution of If 'pyxversion' is 0, it is set to 2 or 3 after the first execution of
any python2/3 commands or functions. E.g. `:py` sets to 2, and `:py3` any python2/3 commands or functions. E.g. `:py` sets to 2, and `:py3`
sets to 3. `:pyx` sets it to 3 if Python 3 is available, otherwise sets sets to 3. `:pyx` sets it to 3 if Python 3 is available, otherwise
to 2 if Python 2 is available. sets to 2 if Python 2 is available.
See also: |has-pythonx| See also: |has-pythonx|
If Vim is compiled with only |+python| or |+python3| setting If Vim is compiled with only |+python| or |+python3| setting
@@ -7008,7 +7070,7 @@ A jump table for the options with a short description can be found at |Q_op|.
for each entry in the corresponding quickfix or location list. See for each entry in the corresponding quickfix or location list. See
|quickfix-window-function| for an explanation of how to write the |quickfix-window-function| for an explanation of how to write the
function and an example. The value can be the name of a function, a function and an example. The value can be the name of a function, a
|lambda| or a |Funcref|. See |option-value-function| for more |lambda| or a |Funcref|. See |option-value-function| for more
information. information.
This option cannot be set from a |modeline| or in the |sandbox|, for This option cannot be set from a |modeline| or in the |sandbox|, for
@@ -7070,12 +7132,12 @@ A jump table for the options with a short description can be found at |Q_op|.
'relativenumber' 'rnu' boolean (default off) 'relativenumber' 'rnu' boolean (default off)
local to window local to window
Show the line number relative to the line with the cursor in front of Show the line number relative to the line with the cursor in front of
each line. Relative line numbers help you use the |count| you can each line. Relative line numbers help you use the |count| you can
precede some vertical motion commands (e.g. j k + -) with, without precede some vertical motion commands (e.g. j k + -) with, without
having to calculate it yourself. Especially useful in combination with having to calculate it yourself. Especially useful in combination
other commands (e.g. y d c < > gq gw =). with other commands (e.g. y d c < > gq gw =).
When the 'n' option is excluded from 'cpoptions' a wrapped When the 'n' option is excluded from 'cpoptions' a wrapped line will
line will not use the column of line numbers (this is the default when not use the column of line numbers (this is the default when
'compatible' isn't set). 'compatible' isn't set).
The 'numberwidth' option can be used to set the room used for the line The 'numberwidth' option can be used to set the room used for the line
number. number.
@@ -7262,14 +7324,14 @@ A jump table for the options with a short description can be found at |Q_op|.
global global
{only available when compiled with the |+ruby/dyn| {only available when compiled with the |+ruby/dyn|
feature} feature}
Specifies the name of the Ruby shared library. The default is Specifies the name of the Ruby shared library. The default is
DYNAMIC_RUBY_DLL, which was specified at compile time. DYNAMIC_RUBY_DLL, which was specified at compile time.
Environment variables are expanded |:set_env|. Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons. security reasons.
*'ruler'* *'ru'* *'noruler'* *'noru'* *'ruler'* *'ru'* *'noruler'* *'noru'*
'ruler' 'ru' boolean (default off, set in |defaults.vim|) 'ruler' 'ru' boolean (Vim default: on, Vi default: off)
global global
Show the line and column number of the cursor position, separated by a Show the line and column number of the cursor position, separated by a
comma. When there is room, the relative position of the displayed comma. When there is room, the relative position of the displayed
@@ -7556,7 +7618,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'sessionoptions'* *'ssop'* *'sessionoptions'* *'ssop'*
'sessionoptions' 'ssop' string (default: "blank,buffers,curdir,folds, 'sessionoptions' 'ssop' string (default: "blank,buffers,curdir,folds,
help,options,tabpages,winsize,terminal") help,options,tabpages,winsize,terminal")
global global
{not available when compiled without the |+mksession| {not available when compiled without the |+mksession|
feature} feature}
@@ -7815,7 +7877,7 @@ A jump table for the options with a short description can be found at |Q_op|.
the "!" and ":!" commands. Includes the redirection. See the "!" and ":!" commands. Includes the redirection. See
'shellquote' to exclude the redirection. It's probably not useful 'shellquote' to exclude the redirection. It's probably not useful
to set both options. to set both options.
When the value is '(' then ')' is appended. When the value is '"(' When the value is '(' then ')' is appended. When the value is '"('
then ')"' is appended. then ')"' is appended.
When the value is '(' then also see 'shellxescape'. When the value is '(' then also see 'shellxescape'.
This is an empty string by default on most systems, but is known to be This is an empty string by default on most systems, but is known to be
@@ -7895,7 +7957,7 @@ A jump table for the options with a short description can be found at |Q_op|.
`:silent` was used for the command; note that this also `:silent` was used for the command; note that this also
affects messages from autocommands and 'autoread' reloading affects messages from autocommands and 'autoread' reloading
S do not show search count message when searching, e.g. *shm-S* S do not show search count message when searching, e.g. *shm-S*
"[1/5]". When the "S" flag is not present (e.g. search count "[1/5]". When the "S" flag is not present (e.g. search count
is shown), the "search hit BOTTOM, continuing at TOP" and is shown), the "search hit BOTTOM, continuing at TOP" and
"search hit TOP, continuing at BOTTOM" messages are only "search hit TOP, continuing at BOTTOM" messages are only
indicated by a "W" (Mnemonic: Wrapped) letter before the indicated by a "W" (Mnemonic: Wrapped) letter before the
@@ -8087,11 +8149,11 @@ A jump table for the options with a short description can be found at |Q_op|.
local to window local to window
{not available when compiled without the |+signs| {not available when compiled without the |+signs|
feature} feature}
Whether or not to draw the signcolumn. Valid values are: Whether or not to draw the signcolumn. Valid values are:
"auto" only when there is a sign to display "auto" only when there is a sign to display
"no" never "no" never
"yes" always "yes" always
"number" display signs in the 'number' column. If the number "number" display signs in the 'number' column. If the number
column is not present, then behaves like "auto". column is not present, then behaves like "auto".
*'smartcase'* *'scs'* *'nosmartcase'* *'noscs'* *'smartcase'* *'scs'* *'nosmartcase'* *'noscs'*
@@ -8152,7 +8214,7 @@ A jump table for the options with a short description can be found at |Q_op|.
local to window local to window
Scrolling works with screen lines. When 'wrap' is set and the first 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 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, above the window. "<<<" is displayed at the start of the first line,
highlighted with |hl-NonText|. highlighted with |hl-NonText|.
You may also want to add "lastline" to the 'display' option to show as You may also want to add "lastline" to the 'display' option to show as
much of the last line as possible. much of the last line as possible.
@@ -8252,7 +8314,7 @@ A jump table for the options with a short description can be found at |Q_op|.
the two-letter, lower case region name. You can use more than one the two-letter, lower case region name. You can use more than one
region by listing them: "en_us,en_ca" supports both US and Canadian region by listing them: "en_us,en_ca" supports both US and Canadian
English, but not words specific for Australia, New Zealand or Great English, but not words specific for Australia, New Zealand or Great
Britain. (Note: currently en_au and en_nz dictionaries are older than Britain. (Note: currently en_au and en_nz dictionaries are older than
en_ca, en_gb and en_us). en_ca, en_gb and en_us).
If the name "cjk" is included East Asian characters are excluded from If the name "cjk" is included East Asian characters are excluded from
spell checking. This is useful when editing text that also has Asian spell checking. This is useful when editing text that also has Asian
@@ -8321,7 +8383,7 @@ A jump table for the options with a short description can be found at |Q_op|.
timeout:{millisec} Limit the time searching for suggestions to timeout:{millisec} Limit the time searching for suggestions to
{millisec} milliseconds. Applies to the following {millisec} milliseconds. Applies to the following
methods. When omitted the limit is 5000. When methods. When omitted the limit is 5000. When
negative there is no limit. {only works when built negative there is no limit. {only works when built
with the |+reltime| feature} with the |+reltime| feature}
@@ -8380,9 +8442,9 @@ A jump table for the options with a short description can be found at |Q_op|.
topline Keep the topline the same. topline Keep the topline the same.
For the "screen" and "topline" values, the cursor position will be For the "screen" and "topline" values, the cursor position will be
changed when necessary. In this case, the jumplist will be populated changed when necessary. In this case, the jumplist will be populated
with the previous cursor position. For "screen", the text cannot always with the previous cursor position. For "screen", the text cannot
be kept on the same screen line when 'wrap' is enabled. always be kept on the same screen line when 'wrap' is enabled.
*'splitright'* *'spr'* *'nosplitright'* *'nospr'* *'splitright'* *'spr'* *'nosplitright'* *'nospr'*
'splitright' 'spr' boolean (default off) 'splitright' 'spr' boolean (default off)
@@ -8779,7 +8841,7 @@ A jump table for the options with a short description can be found at |Q_op|.
This option cannot be set in a modeline when 'modelineexpr' is off. This option cannot be set in a modeline when 'modelineexpr' is off.
You can use |g:actual_curtabpage| within a function assigned to You can use |g:actual_curtabpage| within a function assigned to
tabpanel. |g:actual_curtabpage| represents current tab's label number. tabpanel. |g:actual_curtabpage| represents current tab's label number.
The option value can contain line breaks: > The option value can contain line breaks: >
set tabpanel=%!TabPanel() set tabpanel=%!TabPanel()
@@ -8915,7 +8977,7 @@ A jump table for the options with a short description can be found at |Q_op|.
The function gets the tag pattern and should return a List of matching The function gets the tag pattern and should return a List of matching
tags. See |tag-function| for an explanation of how to write the tags. See |tag-function| for an explanation of how to write the
function and an example. The value can be the name of a function, a function and an example. The value can be the name of a function, a
|lambda| or a |Funcref|. See |option-value-function| for more |lambda| or a |Funcref|. See |option-value-function| for more
information. information.
This option cannot be set from a |modeline| or in the |sandbox|, for This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons. security reasons.
@@ -8975,7 +9037,7 @@ A jump table for the options with a short description can be found at |Q_op|.
global global
{only available when compiled with the |+tcl/dyn| {only available when compiled with the |+tcl/dyn|
feature} feature}
Specifies the name of the Tcl shared library. The default is Specifies the name of the Tcl shared library. The default is
DYNAMIC_TCL_DLL, which was specified at compile time. DYNAMIC_TCL_DLL, which was specified at compile time.
Environment variables are expanded |:set_env|. Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for This option cannot be set from a |modeline| or in the |sandbox|, for
@@ -9049,14 +9111,15 @@ A jump table for the options with a short description can be found at |Q_op|.
When on, uses |highlight-guifg| and |highlight-guibg| attributes in When on, uses |highlight-guifg| and |highlight-guibg| attributes in
the terminal (thus using 24-bit color). the terminal (thus using 24-bit color).
Requires a ISO-8613-3 compatible terminal. If setting this option Requires an ISO-8613-3 compatible terminal. If setting this option
does not work (produces a colorless UI) reading |xterm-true-color| does not work (produces a colorless UI) reading |xterm-true-color|
might help. might help.
For Win32 console, Windows 10 version 1703 (Creators Update) or later For Win32 console, Windows 10 version 1703 (Creators Update) or later
is required. Use this check to find out: > is required. Use this check to find out: >
if has('vcon') if has('vcon')
< This requires Vim to be built with the |+vtp| feature. < This requires Vim to be built with the |+vtp| feature, see also
|win32-term-colors|.
Note that the "cterm" attributes are still used, not the "gui" ones. Note that the "cterm" attributes are still used, not the "gui" ones.
@@ -9204,7 +9267,7 @@ A jump table for the options with a short description can be found at |Q_op|.
{not available when compiled without the |+eval| {not available when compiled without the |+eval|
feature} feature}
This option specifies a function to be used for thesaurus completion This option specifies a function to be used for thesaurus completion
with CTRL-X CTRL-T. |i_CTRL-X_CTRL-T| See |compl-thesaurusfunc|. with CTRL-X CTRL-T. |i_CTRL-X_CTRL-T| See |compl-thesaurusfunc|.
The value can be the name of a function, a |lambda| or a |Funcref|. The value can be the name of a function, a |lambda| or a |Funcref|.
See |option-value-function| for more information. See |option-value-function| for more information.
@@ -9547,7 +9610,7 @@ A jump table for the options with a short description can be found at |Q_op|.
"file.txt" is ".file.txt.un~". "file.txt" is ".file.txt.un~".
For other directories the file name is the full path of the edited For other directories the file name is the full path of the edited
file, with path separators replaced with "%". file, with path separators replaced with "%".
When writing: The first directory that exists is used. "." always When writing: The first directory that exists is used. "." always
works, no directories after "." will be used for writing. works, no directories after "." will be used for writing.
When reading all entries are tried to find an undo file. The first When reading all entries are tried to find an undo file. The first
undo file that exists is used. When it cannot be read an error is undo file that exists is used. When it cannot be read an error is
@@ -9654,9 +9717,9 @@ A jump table for the options with a short description can be found at |Q_op|.
local to buffer local to buffer
{only available when compiled with the |+vartabs| {only available when compiled with the |+vartabs|
feature} feature}
Defines variable-width tab stops. The value is a comma-separated list Defines variable-width tab stops. The value is a comma-separated list
of widths in columns. Each width defines the number of columns of widths in columns. Each width defines the number of columns before
before the next tab stop; the last value repeats indefinitely. the next tab stop; the last value repeats indefinitely.
For example: > For example: >
:set vartabstop=4,8 :set vartabstop=4,8
@@ -9754,7 +9817,7 @@ A jump table for the options with a short description can be found at |Q_op|.
{not available when compiled without the |+viminfo| {not available when compiled without the |+viminfo|
feature} feature}
When non-empty, the viminfo file is read upon startup and written When non-empty, the viminfo file is read upon startup and written
when exiting Vim (see |viminfo-file|). Except when 'viminfofile' is when exiting Vim (see |viminfo-file|). Except when 'viminfofile' is
"NONE". "NONE".
The string should be a comma-separated list of parameters, each The string should be a comma-separated list of parameters, each
consisting of a single character identifying the particular parameter, consisting of a single character identifying the particular parameter,
@@ -9920,9 +9983,8 @@ A jump table for the options with a short description can be found at |Q_op|.
to get a shorter or longer flash. to get a shorter or longer flash.
Note: Vim will limit the bell to once per half a second. This avoids Note: Vim will limit the bell to once per half a second. This avoids
having to wait for the flashing to finish when there are lots of having to wait for the flashing to finish when there are lots of bells,
bells, e.g. on key repeat. This also happens without 'visualbell' e.g. on key repeat. This also happens without 'visualbell' set.
set.
In the GUI, 't_vb' defaults to "<Esc>|f", which inverts the display In the GUI, 't_vb' defaults to "<Esc>|f", which inverts the display
for 20 msec. If you want to use a different time, use "<Esc>|40f", for 20 msec. If you want to use a different time, use "<Esc>|40f",
@@ -10183,23 +10245,23 @@ A jump table for the options with a short description can be found at |Q_op|.
expressions or with 'smartcase' enabled. However, the expressions or with 'smartcase' enabled. However, the
case of the appended matched word may not exactly case of the appended matched word may not exactly
match the case of the word in the buffer. match the case of the word in the buffer.
fuzzy Use |fuzzy-matching| to find completion matches. When fuzzy Use |fuzzy-matching| to find completion matches. When
this value is specified, wildcard expansion will not this value is specified, wildcard expansion will not
be used for completion. The matches will be sorted by be used for completion. The matches will be sorted by
the "best match" rather than alphabetically sorted. the "best match" rather than alphabetically sorted.
This will find more matches than the wildcard This will find more matches than the wildcard
expansion. Currently fuzzy matching based completion expansion. Currently fuzzy matching based completion
is not supported for file and directory names and is not supported for file and directory names and
instead wildcard expansion is used. instead wildcard expansion is used.
pum Display the completion matches using the popup menu pum Display the completion matches using the popup menu in
in the same style as the |ins-completion-menu|. the same style as the |ins-completion-menu|.
tagfile When using CTRL-D to list matching tags, the kind of tagfile When using CTRL-D to list matching tags, the kind of
tag and the file of the tag is listed. Only one match tag and the file of the tag is listed. Only one match
is displayed per line. Often used tag kinds are: is displayed per line. Often used tag kinds are:
d #define d #define
f function f function
This option does not apply to |ins-completion|. See 'completeopt' for This option does not apply to |ins-completion|. See 'completeopt' for
that. that.
*'winaltkeys'* *'wak'* *'winaltkeys'* *'wak'*
@@ -10319,8 +10381,8 @@ A jump table for the options with a short description can be found at |Q_op|.
{only available when compiled with the |terminal| {only available when compiled with the |terminal|
feature on MS-Windows} feature on MS-Windows}
Specifies the name of the winpty shared library, used for the Specifies the name of the winpty shared library, used for the
|:terminal| command. The default depends on whether Vim was built as a |:terminal| command. The default depends on whether Vim was built as
32-bit or 64-bit executable. If not found, "winpty.dll" is tried as a 32-bit or 64-bit executable. If not found, "winpty.dll" is tried as
a fallback. a fallback.
Environment variables are expanded |:set_env|. Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for This option cannot be set from a |modeline| or in the |sandbox|, for
@@ -10353,7 +10415,8 @@ A jump table for the options with a short description can be found at |Q_op|.
*'wlsteal'* *'wst'* *'nowlsteal'* *'nowst'* *'wlsteal'* *'wst'* *'nowlsteal'* *'nowst'*
'wlsteal' 'wst' boolean (default off) 'wlsteal' 'wst' boolean (default off)
global global
{only when the |+wayland_clipboard| feature is included} {only when the |+wayland_focus_steal| feature is
included}
When enabled, then allow Vim to steal focus by creating a temporary When enabled, then allow Vim to steal focus by creating a temporary
surface, in order to access the clipboard. For more information see surface, in order to access the clipboard. For more information see
|wayland-focus-steal|. |wayland-focus-steal|.
@@ -10390,6 +10453,11 @@ A jump table for the options with a short description can be found at |Q_op|.
< See 'sidescroll', 'listchars' and |wrap-off|. < See 'sidescroll', 'listchars' and |wrap-off|.
This option can't be set from a |modeline| when the 'diff' option is This option can't be set from a |modeline| when the 'diff' option is
on. on.
If 'nowrap' was set from a |modeline| or in the |sandbox|, '>' is used
as the |lcs-extends| character regardless of the value of the 'list'
and 'listchars' options. This is to prevent malicious code outside
the viewport from going unnoticed. Use `:setlocal nowrap` manually
afterwards to disable this behavior.
*'wrapmargin'* *'wm'* *'wrapmargin'* *'wm'*
'wrapmargin' 'wm' number (default 0) 'wrapmargin' 'wm' number (default 0)

View File

@@ -1,4 +1,4 @@
*os_win32.txt* For Vim version 9.1. Last change: 2025 Aug 06 *os_win32.txt* For Vim version 9.1. Last change: 2025 Oct 01
VIM REFERENCE MANUAL by George Reilly VIM REFERENCE MANUAL by George Reilly
@@ -24,7 +24,7 @@ The 32 bit version also runs on 64 bit MS-Windows systems.
7. Installation package |win32-installer| 7. Installation package |win32-installer|
8. Win32 mini FAQ |win32-faq| 8. Win32 mini FAQ |win32-faq|
Additionally, there are a number of common Win32 and DOS items: Additionally, there are a number of common Win32 and DOS items in |os_dos.txt|:
File locations |dos-locations| File locations |dos-locations|
Using backslashes |dos-backslash| Using backslashes |dos-backslash|
Standard mappings |dos-standard-mappings| Standard mappings |dos-standard-mappings|
@@ -85,6 +85,21 @@ The only kind of terminal type that the Win32 version of Vim understands is
probably get very strange behavior from Vim. Therefore Vim does not obtain probably get very strange behavior from Vim. Therefore Vim does not obtain
the default value of 'term' from the environment variable "TERM". the default value of 'term' from the environment variable "TERM".
Terminal Colors *win32-term-colors*
The Win32 console supports 16 colors by default |dos-colors|. From Windows 10
version 1703 (Creators Update) onwards, the console supports 256 colors and
true color (24-bit) when 'termguicolors' is set and Vim is built with support
for Virtual Terminal Processing (VTP) |+vtp|.
Virtual Terminal Processing is automatically enabled if either the
'termguicolors' option is set or the 't_Co' option is set to 256. This
enables ANSI escape sequences for colors, improves rendering of multi-byte
characters and enables other terminal features in the Windows console.
The actual color rendering depends on whether your terminal supports VTP (such
as Windows Terminal or the modern Windows 10/11 console).
$PATH *win32-PATH* $PATH *win32-PATH*
The directory of the Vim executable is appended to $PATH. This is mostly to The directory of the Vim executable is appended to $PATH. This is mostly to

View File

@@ -1,4 +1,4 @@
*pattern.txt* For Vim version 9.1. Last change: 2025 Aug 21 *pattern.txt* For Vim version 9.1. Last change: 2025 Oct 09
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -141,7 +141,8 @@ CTRL-C Interrupt current (search) command. Use CTRL-Break on
help users who use "vim file | grep word" and don't help users who use "vim file | grep word" and don't
know how to get out (blindly typing :qa<CR> would know how to get out (blindly typing :qa<CR> would
work). work).
If a popup is open, the active popup will be closed. If a popup with a |popup-filter| is open, the popup
will be closed.
*:noh* *:nohlsearch* *:noh* *:nohlsearch*
:noh[lsearch] Stop the highlighting for the 'hlsearch' option. It :noh[lsearch] Stop the highlighting for the 'hlsearch' option. It
@@ -966,7 +967,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
the cursor moves the display isn't updated for this change. An update the cursor moves the display isn't updated for this change. An update
is done when using the |CTRL-L| command (the whole screen is updated). is done when using the |CTRL-L| command (the whole screen is updated).
Example, to highlight the line where the cursor currently is: > Example, to highlight the line where the cursor currently is: >
:exe '/\%' . line(".") . 'l' :exe '/\%' .. line(".") .. 'l'
< Alternatively use: > < Alternatively use: >
/\%.l /\%.l
< When 'hlsearch' is set and you move the cursor around and make changes < When 'hlsearch' is set and you move the cursor around and make changes
@@ -1549,7 +1550,8 @@ a List of strings. |matchfuzzy()| returns the matching strings, while
The "f" flag of `:vimgrep` enables fuzzy matching. The "f" flag of `:vimgrep` enables fuzzy matching.
To enable fuzzy matching for |ins-completion|, add the "fuzzy" value to the To enable fuzzy matching for |ins-completion|, add "fuzzy" to the
'completeopt' option. 'completeopt' option. For |cmdline-completion|, add "fuzzy" to the
'wildoptions' option.
vim:tw=78:ts=8:noet:ft=help:norl: vim:tw=78:ts=8:noet:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*pi_zip.txt* For Vim version 9.1. Last change: 2025 Jul 15 *pi_zip.txt* For Vim version 9.1. Last change: 2025 Sep 22
+====================+ +====================+
| Zip File Interface | | Zip File Interface |
@@ -50,7 +50,7 @@ Copyright: Copyright (C) 2005-2015 Charles E Campbell *zip-copyright*
allow spaces and whatnot in filenames; however, if it is incorrectly allow spaces and whatnot in filenames; however, if it is incorrectly
guessing the quote to use for your setup, you may use > guessing the quote to use for your setup, you may use >
g:zip_shq g:zip_shq
< which by default is a single quote under Unix (') and a double quote < which by default is a single quote under Unix (') and a double quote
under Windows ("). If you'd rather have no quotes, simply set 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_shq to the empty string (let g:zip_shq= "") in your <.vimrc>.
@@ -77,6 +77,16 @@ Copyright: Copyright (C) 2005-2015 Charles E Campbell *zip-copyright*
"0": > "0": >
let g:zip_exec=0 let g:zip_exec=0
< <
FALLBACK TO POWERSHELL CORE~
This plugin will first attempt to use the (more capable) GNU zip/unzip
commands. If these commands are not available or fail, and the user is
using PowerShell Core (i.e., the 'shell' option matches "pwsh"), the
plugin will fall back to a PowerShell Core cmdlet. The PowerShell Core
cmdlets are limited: they cannot write or extract files within
subdirectories of a zip archive. The advantage, however, is that no
separate unzip binary needs to be installed.
PREVENTING LOADING~ PREVENTING LOADING~
If for some reason you do not wish to use vim to examine zipped files, If for some reason you do not wish to use vim to examine zipped files,
@@ -100,18 +110,19 @@ Copyright: Copyright (C) 2005-2015 Charles E Campbell *zip-copyright*
should be treated as zip files. should be treated as zip files.
Alternatively, one may change *g:zipPlugin_ext* in one's .vimrc. Alternatively, one may change *g:zipPlugin_ext* in one's .vimrc.
Currently (as of April 2025) it holds: > Currently (as of October 2025) it holds: >
let g:zipPlugin_ext='*.aar,*.apk,*.celzip,*.crtx,*.docm,*.docx, let g:zipPlugin_ext='*.aar,*.apk,*.celzip,*.crtx,*.docm,*.docx,
\ *.dotm,*.dotx,*.ear,*.epub,*.gcsx,*.glox,*.gqsx,*.ja,*.jar,*.kmz, \ *.dotm,*.dotx,*.ear,*.epub,*.gcsx,*.glox,*.gqsx,*.ja,*.jar,*.kmz,
\ *.odb,*.odc,*.odf,*.odg,*.odi,*.odm,*.odp,*.ods,*.odt,*.otc,*.otf, \ *.odb,*.odc,*.odf,*.odg,*.odi,*.odm,*.odp,*.ods,*.odt,*.otc,*.otf,
\ *.otg,*.oth,*.oti,*.otp,*.ots,*.ott,*.oxt,*.potm,*.potx,*.ppam, \ *.otg,*.oth,*.oti,*.otp,*.ots,*.ott,*.oxt,*.pkpass,*.potm,*.potx,
\ *.ppsm,*.ppsx,*.pptm,*.pptx,*.sldx,*.thmx,*.vdw,*.war,*.whl,*.wsz, \ *.ppam,*.ppsm,*.ppsx,*.pptm,*.pptx,*.sldx,*.thmx,*.vdw,*.war,*.whl,
\ *.xap,*.xlam,*.xlsb,*.xlsm,*.xlsx,*.xltm,*.xltx,*.xpi,*.zip' \ *.wsz, *.xap,*.xlam,*.xlsb,*.xlsm,*.xlsx,*.xltm,*.xltx,*.xpi,*.zip'
============================================================================== ==============================================================================
4. History *zip-history* {{{1 4. History *zip-history* {{{1
unreleased: unreleased:
Sep 19, 2025 * support PowerShell Core
Jul 12, 2025 * drop ../ on write to prevent path traversal attacks Jul 12, 2025 * drop ../ on write to prevent path traversal attacks
Mar 11, 2025 * handle filenames with leading '-' correctly Mar 11, 2025 * handle filenames with leading '-' correctly
Aug 21, 2024 * simplify condition to detect MS-Windows Aug 21, 2024 * simplify condition to detect MS-Windows

View File

@@ -1,4 +1,4 @@
*popup.txt* For Vim version 9.1. Last change: 2025 Aug 27 *popup.txt* For Vim version 9.1. Last change: 2025 Sep 26
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -639,10 +639,17 @@ popup_settext({id}, {text}) *popup_settext()*
popup_show({id}) *popup_show()* popup_show({id}) *popup_show()*
If {id} is a hidden popup, show it now. Show a hidden popup window identified by {id}.
For {id} see `popup_hide()`. Use {id} as returned by |popup_create()|.
If {id} is the info popup it will be positioned next to the
current popup menu item. If the popup is currently hidden, it will be made visible.
See |popup_hide()| to hide a popup.
If {id} refers to an info popup, it will be positioned next to
the currently selected item in the popup menu.
Returns -1 if a popup window with {id} does not exist.
Returns 0 on success.
Return type: |Number| Return type: |Number|

View File

@@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 9.1. Last change: 2025 Aug 27 *quickfix.txt* For Vim version 9.1. Last change: 2025 Sep 24
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1418,7 +1418,7 @@ declares an only parameter of type string and puts to use a command equivalent
of |:make|, and assigning its |Funcref| to the selected key. For example: of |:make|, and assigning its |Funcref| to the selected key. For example:
>vim >vim
function! GenericPostCompilerCommand(arguments) abort function! GenericPostCompilerCommand(arguments) abort
execute 'make ' . a:arguments execute 'make ' .. a:arguments
endfunction endfunction
let g:spotbugs_properties = { let g:spotbugs_properties = {
@@ -1449,7 +1449,7 @@ that will arrange for "PostCompilerActionExecutor" to be invoked; and then run
function! GenericPreCompilerCommand(arguments) abort function! GenericPreCompilerCommand(arguments) abort
if !exists('g:spotbugs_compilation_done') if !exists('g:spotbugs_compilation_done')
doautocmd java_spotbugs_post User doautocmd java_spotbugs_post User
execute 'make ' . a:arguments execute 'make ' .. a:arguments
" only run doautocmd when :make was synchronous " only run doautocmd when :make was synchronous
" see note below " see note below
doautocmd java_spotbugs_post ShellCmdPost " XXX: (a) doautocmd java_spotbugs_post ShellCmdPost " XXX: (a)
@@ -1462,7 +1462,7 @@ that will arrange for "PostCompilerActionExecutor" to be invoked; and then run
function! GenericPreCompilerTestCommand(arguments) abort function! GenericPreCompilerTestCommand(arguments) abort
if !exists('g:spotbugs_test_compilation_done') if !exists('g:spotbugs_test_compilation_done')
doautocmd java_spotbugs_post User doautocmd java_spotbugs_post User
execute 'make ' . a:arguments execute 'make ' .. a:arguments
" only run doautocmd when :make was synchronous " only run doautocmd when :make was synchronous
" see note below " see note below
doautocmd java_spotbugs_post ShellCmdPost " XXX: (b) doautocmd java_spotbugs_post ShellCmdPost " XXX: (b)

View File

@@ -1,4 +1,4 @@
*sign.txt* For Vim version 9.1. Last change: 2024 Jul 07 *sign.txt* For Vim version 9.1. Last change: 2025 Oct 05
VIM REFERENCE MANUAL by Gordon Prieur VIM REFERENCE MANUAL by Gordon Prieur
@@ -115,7 +115,7 @@ DEFINING A SIGN. *:sign-define* *E255* *E160* *E612*
See |sign_define()| for the equivalent Vim script function. See |sign_define()| for the equivalent Vim script function.
:sign define {name} {argument}... :sig[n] define {name} {argument}...
Define a new sign or set attributes for an existing sign. Define a new sign or set attributes for an existing sign.
The {name} can either be a number (all digits) or a name The {name} can either be a number (all digits) or a name
starting with a non-digit. Leading zeros are ignored, thus starting with a non-digit. Leading zeros are ignored, thus
@@ -168,7 +168,7 @@ DELETING A SIGN *:sign-undefine* *E155*
See |sign_undefine()| for the equivalent Vim script function. See |sign_undefine()| for the equivalent Vim script function.
:sign undefine {name} :sig[n] undefine {name}
Deletes a previously defined sign. If signs with this {name} Deletes a previously defined sign. If signs with this {name}
are still placed this will cause trouble. are still placed this will cause trouble.
@@ -180,9 +180,9 @@ LISTING SIGNS *:sign-list* *E156*
See |sign_getdefined()| for the equivalent Vim script function. See |sign_getdefined()| for the equivalent Vim script function.
:sign list Lists all defined signs and their attributes. :sig[n] list Lists all defined signs and their attributes.
:sign list {name} :sig[n] list {name}
Lists one defined sign and its attributes. Lists one defined sign and its attributes.
@@ -190,7 +190,7 @@ PLACING SIGNS *:sign-place* *E158*
See |sign_place()| for the equivalent Vim script function. See |sign_place()| for the equivalent Vim script function.
:sign place {id} line={lnum} name={name} file={fname} :sig[n] place {id} line={lnum} name={name} file={fname}
Place sign defined as {name} at line {lnum} in file {fname}. Place sign defined as {name} at line {lnum} in file {fname}.
*:sign-fname* *:sign-fname*
The file {fname} must already be loaded in a buffer. The The file {fname} must already be loaded in a buffer. The
@@ -224,7 +224,7 @@ See |sign_place()| for the equivalent Vim script function.
:sign place 9 group=g2 priority=50 line=5 :sign place 9 group=g2 priority=50 line=5
\ name=sign1 file=a.py \ name=sign1 file=a.py
< <
:sign place {id} line={lnum} name={name} [buffer={nr}] :sig[n] place {id} line={lnum} name={name} [buffer={nr}]
Same, but use buffer {nr}. If the buffer argument is not Same, but use buffer {nr}. If the buffer argument is not
given, place the sign in the current buffer. given, place the sign in the current buffer.
@@ -233,7 +233,7 @@ See |sign_place()| for the equivalent Vim script function.
:sign place 10 line=99 name=sign3 buffer=3 :sign place 10 line=99 name=sign3 buffer=3
< <
*E885* *E885*
:sign place {id} name={name} file={fname} :sig[n] place {id} name={name} file={fname}
Change the placed sign {id} in file {fname} to use the defined Change the placed sign {id} in file {fname} to use the defined
sign {name}. See remark above about {fname} |:sign-fname|. sign {name}. See remark above about {fname} |:sign-fname|.
This can be used to change the displayed sign without moving This can be used to change the displayed sign without moving
@@ -247,7 +247,7 @@ See |sign_place()| for the equivalent Vim script function.
Example: > Example: >
:sign place 23 name=sign1 file=/path/to/edit.py :sign place 23 name=sign1 file=/path/to/edit.py
< <
:sign place {id} name={name} [buffer={nr}] :sig[n] place {id} name={name} [buffer={nr}]
Same, but use buffer {nr}. If the buffer argument is not Same, but use buffer {nr}. If the buffer argument is not
given, use the current buffer. given, use the current buffer.
@@ -260,75 +260,75 @@ REMOVING SIGNS *:sign-unplace* *E159*
See |sign_unplace()| for the equivalent Vim script function. See |sign_unplace()| for the equivalent Vim script function.
:sign unplace {id} file={fname} :sig[n] unplace {id} file={fname}
Remove the previously placed sign {id} from file {fname}. Remove the previously placed sign {id} from file {fname}.
See remark above about {fname} |:sign-fname|. See remark above about {fname} |:sign-fname|.
:sign unplace {id} group={group} file={fname} :sig[n] unplace {id} group={group} file={fname}
Same but remove the sign {id} in sign group {group}. Same but remove the sign {id} in sign group {group}.
:sign unplace {id} group=* file={fname} :sig[n] unplace {id} group=* file={fname}
Same but remove the sign {id} from all the sign groups. Same but remove the sign {id} from all the sign groups.
:sign unplace * file={fname} :sig[n] unplace * file={fname}
Remove all placed signs in file {fname}. Remove all placed signs in file {fname}.
:sign unplace * group={group} file={fname} :sig[n] unplace * group={group} file={fname}
Remove all placed signs in group {group} from file {fname}. Remove all placed signs in group {group} from file {fname}.
:sign unplace * group=* file={fname} :sig[n] unplace * group=* file={fname}
Remove all placed signs in all the groups from file {fname}. Remove all placed signs in all the groups from file {fname}.
:sign unplace {id} buffer={nr} :sig[n] unplace {id} buffer={nr}
Remove the previously placed sign {id} from buffer {nr}. Remove the previously placed sign {id} from buffer {nr}.
:sign unplace {id} group={group} buffer={nr} :sig[n] unplace {id} group={group} buffer={nr}
Remove the previously placed sign {id} in group {group} from Remove the previously placed sign {id} in group {group} from
buffer {nr}. buffer {nr}.
:sign unplace {id} group=* buffer={nr} :sig[n] unplace {id} group=* buffer={nr}
Remove the previously placed sign {id} in all the groups from Remove the previously placed sign {id} in all the groups from
buffer {nr}. buffer {nr}.
:sign unplace * buffer={nr} :sig[n] unplace * buffer={nr}
Remove all placed signs in buffer {nr}. Remove all placed signs in buffer {nr}.
:sign unplace * group={group} buffer={nr} :sig[n] unplace * group={group} buffer={nr}
Remove all placed signs in group {group} from buffer {nr}. Remove all placed signs in group {group} from buffer {nr}.
:sign unplace * group=* buffer={nr} :sig[n] unplace * group=* buffer={nr}
Remove all placed signs in all the groups from buffer {nr}. Remove all placed signs in all the groups from buffer {nr}.
:sign unplace {id} :sig[n] unplace {id}
Remove the previously placed sign {id} from all files it Remove the previously placed sign {id} from all files it
appears in. appears in.
:sign unplace {id} group={group} :sig[n] unplace {id} group={group}
Remove the previously placed sign {id} in group {group} from Remove the previously placed sign {id} in group {group} from
all files it appears in. all files it appears in.
:sign unplace {id} group=* :sig[n] unplace {id} group=*
Remove the previously placed sign {id} in all the groups from Remove the previously placed sign {id} in all the groups from
all the files it appears in. all the files it appears in.
:sign unplace * :sig[n] unplace *
Remove all placed signs in the global group from all the files. Remove all placed signs in the global group from all the files.
:sign unplace * group={group} :sig[n] unplace * group={group}
Remove all placed signs in group {group} from all the files. Remove all placed signs in group {group} from all the files.
:sign unplace * group=* :sig[n] unplace * group=*
Remove all placed signs in all the groups from all the files. Remove all placed signs in all the groups from all the files.
:sign unplace :sig[n] unplace
Remove a placed sign at the cursor position. If multiple signs Remove a placed sign at the cursor position. If multiple signs
are placed in the line, then only one is removed. are placed in the line, then only one is removed.
:sign unplace group={group} :sig[n] unplace group={group}
Remove a placed sign in group {group} at the cursor Remove a placed sign in group {group} at the cursor
position. position.
:sign unplace group=* :sig[n] unplace group=*
Remove a placed sign in any group at the cursor position. Remove a placed sign in any group at the cursor position.
@@ -336,31 +336,31 @@ LISTING PLACED SIGNS *:sign-place-list*
See |sign_getplaced()| for the equivalent Vim script function. See |sign_getplaced()| for the equivalent Vim script function.
:sign place file={fname} :sig[n] place file={fname}
List signs placed in file {fname}. List signs placed in file {fname}.
See remark above about {fname} |:sign-fname|. See remark above about {fname} |:sign-fname|.
:sign place group={group} file={fname} :sig[n] place group={group} file={fname}
List signs in group {group} placed in file {fname}. List signs in group {group} placed in file {fname}.
:sign place group=* file={fname} :sig[n] place group=* file={fname}
List signs in all the groups placed in file {fname}. List signs in all the groups placed in file {fname}.
:sign place buffer={nr} :sig[n] place buffer={nr}
List signs placed in buffer {nr}. List signs placed in buffer {nr}.
:sign place group={group} buffer={nr} :sig[n] place group={group} buffer={nr}
List signs in group {group} placed in buffer {nr}. List signs in group {group} placed in buffer {nr}.
:sign place group=* buffer={nr} :sig[n] place group=* buffer={nr}
List signs in all the groups placed in buffer {nr}. List signs in all the groups placed in buffer {nr}.
:sign place List placed signs in the global group in all files. :sig[n] place List placed signs in the global group in all files.
:sign place group={group} :sig[n] place group={group}
List placed signs with sign group {group} in all files. List placed signs with sign group {group} in all files.
:sign place group=* :sig[n] place group=*
List placed signs in all sign groups in all files. List placed signs in all sign groups in all files.
@@ -368,22 +368,22 @@ JUMPING TO A SIGN *:sign-jump* *E157*
See |sign_jump()| for the equivalent Vim script function. See |sign_jump()| for the equivalent Vim script function.
:sign jump {id} file={fname} :sig[n] jump {id} file={fname}
Open the file {fname} or jump to the window that contains Open the file {fname} or jump to the window that contains
{fname} and position the cursor at sign {id}. {fname} and position the cursor at sign {id}.
See remark above about {fname} |:sign-fname|. See remark above about {fname} |:sign-fname|.
If the file isn't displayed in window and the current file can If the file isn't displayed in window and the current file can
not be |abandon|ed this fails. not be |abandon|ed this fails.
:sign jump {id} group={group} file={fname} :sig[n] jump {id} group={group} file={fname}
Same but jump to the sign in group {group} Same but jump to the sign in group {group}
:sign jump {id} [buffer={nr}] *E934* :sig[n] jump {id} [buffer={nr}] *E934*
Same, but use buffer {nr}. This fails if buffer {nr} does not Same, but use buffer {nr}. This fails if buffer {nr} does not
have a name. If the buffer argument is not given, use the have a name. If the buffer argument is not given, use the
current buffer. current buffer.
:sign jump {id} group={group} [buffer={nr}] :sig[n] jump {id} group={group} [buffer={nr}]
Same but jump to the sign in group {group} Same but jump to the sign in group {group}

View File

@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 9.1. Last change: 2025 Sep 08 *syntax.txt* For Vim version 9.1. Last change: 2025 Oct 09
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2214,14 +2214,17 @@ Note that these three variables are maintained in the HTML syntax file.
Numbers and strings can be recognized in non-Javadoc comments with > Numbers and strings can be recognized in non-Javadoc comments with >
:let g:java_comment_strings = 1 :let g:java_comment_strings = 1
When 'foldmethod' is set to "syntax", blocks of code and multi-line comments When 'foldmethod' is set to "syntax", multi-line blocks of code ("b"), plain
will be folded. No text is usually written in the first line of a multi-line comments ("c"), Javadoc comments ("d"), and adjacent "import" declarations
comment, making folded contents of Javadoc comments less informative with the ("i") will be folded by default. Syntax items of any supported kind will
default 'foldtext' value; you may opt for showing the contents of a second remain NOT foldable when its abbreviated name is delisted with >
line for any comments written in this way, and showing the contents of a first :let g:java_ignore_folding = "bcdi"
line otherwise, with > No text is usually written in the first line of a multi-line comment, making
folded contents of Javadoc comments less informative with the default
'foldtext' value; you may opt for showing the contents of a second line for
any comments written in this way, and showing the contents of a first line
otherwise, with >
:let g:java_foldtext_show_first_or_second_line = 1 :let g:java_foldtext_show_first_or_second_line = 1
HTML tags in Javadoc comments can additionally be folded by following the HTML tags in Javadoc comments can additionally be folded by following the
instructions listed under |html-folding| and giving explicit consent with > instructions listed under |html-folding| and giving explicit consent with >
:let g:java_consent_to_html_syntax_folding = 1 :let g:java_consent_to_html_syntax_folding = 1
@@ -2272,12 +2275,11 @@ cycles for such a feature to become either integrated into the platform or
withdrawn from this effort. To cater for early adopters, there is optional withdrawn from this effort. To cater for early adopters, there is optional
support in Vim for syntax related preview features that are implemented. You support in Vim for syntax related preview features that are implemented. You
can request it by specifying a list of preview feature numbers as follows: > can request it by specifying a list of preview feature numbers as follows: >
:let g:java_syntax_previews = [488, 494] :let g:java_syntax_previews = [507]
The supported JEP numbers are to be drawn from this table: The supported JEP numbers are to be drawn from this table:
`430`: String Templates [JDK 21] `430`: String Templates [JDK 21]
`488`: Primitive types in Patterns, instanceof, and switch `507`: Primitive types in Patterns, instanceof, and switch
`494`: Module Import Declarations
Note that as soon as the particular preview feature will have been integrated Note that as soon as the particular preview feature will have been integrated
into the Java platform, its entry will be removed from the table and related into the Java platform, its entry will be removed from the table and related
@@ -2385,6 +2387,22 @@ set "lite_minlines" to the value you desire. Example: >
:let lite_minlines = 200 :let lite_minlines = 200
LOG *ft-log-syntax*
Vim comes with a simplistic generic log syntax highlighter. Because the log
file format is so generic, highlighting is not enabled by default, since it
can be distracting. If you want to enable this, simply set the "log" filetype
manually: >
:set ft=log
To enable this automatically for "*.log" files, add the following to your
personal `filetype.vim` file (usually located in `~/.vim/filetype.vim` on Unix
or `$HOME/vimfiles/filetype.vim`, see also |new-filetype|): >
augroup filetypedetect
au! BufNewFile,BufRead *.log setfiletype log
augroup END
LPC *lpc.vim* *ft-lpc-syntax* LPC *lpc.vim* *ft-lpc-syntax*
@@ -2504,21 +2522,26 @@ $VIMRUNTIME/syntax/syntax.vim).
MARKDOWN *ft-markdown-syntax* *g:markdown_minlines* MARKDOWN *ft-markdown-syntax* *g:markdown_minlines*
*g:markdown_fenced_languages* *g:markdown_syntax_conceal* *g:markdown_fenced_languages* *g:markdown_syntax_conceal*
If you have long regions there might be wrong highlighting. At the cost of If you have long regions there may be incorrect highlighting. At the cost of
slowing down displaying, you can have the engine look further back to sync on slowing down displaying, you can have the engine look further back to sync on
the start of a region, for example 500 lines (default is 50): > the start of a region, for example 500 lines (default is 50): >
:let g:markdown_minlines = 500 :let g:markdown_minlines = 500
If you want to enable fenced code block syntax highlighting in your markdown If you want to enable fenced code block syntax highlighting in your Markdown
documents you can enable like this: > documents, set the following variable: >
:let g:markdown_fenced_languages = ['html', 'python', 'bash=sh'] :let g:markdown_fenced_languages = ['html', 'python', 'bash=sh']
To disable markdown syntax concealing add the following to your vimrc: > To disable Markdown syntax concealing, add the following to your vimrc: >
:let g:markdown_syntax_conceal = 0 :let g:markdown_syntax_conceal = 0
For extended Markdown support with enhanced features such as citations,
footnotes, mathematical formulas, academic writing elements and embedded code
block highlighting, consider using the pandoc syntax plugin. Set
`g:filetype_md` to 'pandoc' and see |ft-pandoc-syntax| for configuration
details.
MATHEMATICA *mma.vim* *ft-mma-syntax* *ft-mathematica-syntax* MATHEMATICA *mma.vim* *ft-mma-syntax* *ft-mathematica-syntax*
@@ -4264,9 +4287,9 @@ Vim understands three types of syntax items:
Several syntax ITEMs can be put into one syntax GROUP. For a syntax group Several syntax ITEMs can be put into one syntax GROUP. For a syntax group
you can give highlighting attributes. For example, you could have an item you can give highlighting attributes. For example, you could have an item
to define a "/* .. */" comment and another one that defines a "// .." comment, to define a "/* ... */" comment and another one that defines a "// ..."
and put them both in the "Comment" group. You can then specify that a comment, and put them both in the "Comment" group. You can then specify that
"Comment" will be in bold font and have a blue color. You are free to make a "Comment" will be in bold font and have a blue color. You are free to make
one highlight group for one syntax item, or put all items into one group. one highlight group for one syntax item, or put all items into one group.
This depends on how you want to specify your highlighting attributes. Putting This depends on how you want to specify your highlighting attributes. Putting
each item in its own group results in having to specify the highlighting each item in its own group results in having to specify the highlighting
@@ -4466,9 +4489,9 @@ DEFINING REGIONS *:syn-region* *:syn-start* *:syn-skip* *:syn-end*
[keepend] [keepend]
[extend] [extend]
[excludenl] [excludenl]
start={start-pattern} .. start={start-pattern} ...
[skip={skip-pattern}] [skip={skip-pattern}]
end={end-pattern} .. end={end-pattern} ...
[{options}] [{options}]
This defines one region. It may span several lines. This defines one region. It may span several lines.
@@ -4802,7 +4825,7 @@ from its syntax items.
*:syn-contains* *E405* *E406* *E407* *E408* *E409* *:syn-contains* *E405* *E406* *E407* *E408* *E409*
contains={group-name},.. contains={group-name},...
The "contains" argument is followed by a list of syntax group names. These The "contains" argument is followed by a list of syntax group names. These
groups will be allowed to begin inside the item (they may extend past the groups will be allowed to begin inside the item (they may extend past the
@@ -4815,7 +4838,7 @@ contains=ALL
If the only item in the contains list is "ALL", then all If the only item in the contains list is "ALL", then all
groups will be accepted inside the item. groups will be accepted inside the item.
contains=ALLBUT,{group-name},.. contains=ALLBUT,{group-name},...
If the first item in the contains list is "ALLBUT", then all If the first item in the contains list is "ALLBUT", then all
groups will be accepted inside the item, except the ones that groups will be accepted inside the item, except the ones that
are listed. Example: > are listed. Example: >
@@ -4825,14 +4848,14 @@ contains=TOP
If the first item in the contains list is "TOP", then all If the first item in the contains list is "TOP", then all
groups will be accepted that don't have the "contained" groups will be accepted that don't have the "contained"
argument. argument.
contains=TOP,{group-name},.. contains=TOP,{group-name},...
Like "TOP", but excluding the groups that are listed. Like "TOP", but excluding the groups that are listed.
contains=CONTAINED contains=CONTAINED
If the first item in the contains list is "CONTAINED", then If the first item in the contains list is "CONTAINED", then
all groups will be accepted that have the "contained" all groups will be accepted that have the "contained"
argument. argument.
contains=CONTAINED,{group-name},.. contains=CONTAINED,{group-name},...
Like "CONTAINED", but excluding the groups that are Like "CONTAINED", but excluding the groups that are
listed. listed.
@@ -4855,13 +4878,20 @@ region where contained items do match. Note that this may also limit the
area that is highlighted area that is highlighted
containedin={group-name}... *:syn-containedin* containedin={group-name},... *:syn-containedin*
The "containedin" argument is followed by a list of syntax group names. The The "containedin" argument is followed by a list of syntax group names. The
item will be allowed to begin inside these groups. This works as if the item will be allowed to begin inside these groups. This works as if the
containing item has a "contains=" argument that includes this item. containing item has a "contains=" argument that includes this item.
The {group-name}... can be used just like for "contains", as explained above. Only the immediate containing item (the one at the top of the syntax stack) is
considered. Vim does not search other ancestors. If the immediate container
neither contains this item via |:syn-contains| nor is named in this item's
"containedin=", the match will not start even if some ancestor would allow it.
Note that a |:syn-transparent| region still enforces its own |:syn-contains|
list.
The {group-name},... can be used just like for "contains", as explained above.
This is useful when adding a syntax item afterwards. An item can be told to This is useful when adding a syntax item afterwards. An item can be told to
be included inside an already existing item, without changing the definition be included inside an already existing item, without changing the definition
@@ -4875,9 +4905,10 @@ Matches for "containedin" are added to the other places where the item can
appear. A "contains" argument may also be added as usual. Don't forget that appear. A "contains" argument may also be added as usual. Don't forget that
keywords never contain another item, thus adding them to "containedin" won't keywords never contain another item, thus adding them to "containedin" won't
work. work.
See also: |:syn-contains|, |:syn-transparent|.
nextgroup={group-name},.. *:syn-nextgroup* nextgroup={group-name},... *:syn-nextgroup*
The "nextgroup" argument is followed by a list of syntax group names, The "nextgroup" argument is followed by a list of syntax group names,
separated by commas (just like with "contains", so you can also use patterns). separated by commas (just like with "contains", so you can also use patterns).
@@ -5133,22 +5164,22 @@ cannot be referred to.
============================================================================== ==============================================================================
9. Syntax clusters *:syn-cluster* *E400* 9. Syntax clusters *:syn-cluster* *E400*
:sy[ntax] cluster {cluster-name} [contains={group-name}..] :sy[ntax] cluster {cluster-name} [contains={group-name},...]
[add={group-name}..] [add={group-name},...]
[remove={group-name}..] [remove={group-name},...]
This command allows you to cluster a list of syntax groups together under a This command allows you to cluster a list of syntax groups together under a
single name. single name.
contains={group-name}.. contains={group-name},...
The cluster is set to the specified list of groups. The cluster is set to the specified list of groups.
add={group-name}.. add={group-name},...
The specified groups are added to the cluster. The specified groups are added to the cluster.
remove={group-name}.. remove={group-name},...
The specified groups are removed from the cluster. The specified groups are removed from the cluster.
A cluster so defined may be referred to in a contains=.., containedin=.., A cluster so defined may be referred to in a contains=..., containedin=...,
nextgroup=.., add=.. or remove=.. list with a "@" prefix. You can also use nextgroup=..., add=... or remove=... list with a "@" prefix. You can also use
this notation to implicitly declare a cluster before specifying its contents. this notation to implicitly declare a cluster before specifying its contents.
Example: > Example: >
@@ -5363,7 +5394,7 @@ highlighting. The reduced number of patterns means it will go (much)
faster.] faster.]
*syn-sync-grouphere* *E393* *E394* *syn-sync-grouphere* *E393* *E394*
:syntax sync match {sync-group-name} grouphere {group-name} "pattern" .. :syntax sync match {sync-group-name} grouphere {group-name} "pattern" ...
Define a match that is used for syncing. {group-name} is the Define a match that is used for syncing. {group-name} is the
name of a syntax group that follows just after the match. Parsing name of a syntax group that follows just after the match. Parsing
@@ -5372,7 +5403,7 @@ faster.]
"NONE" can be used for when there is no syntax group after the match. "NONE" can be used for when there is no syntax group after the match.
*syn-sync-groupthere* *syn-sync-groupthere*
:syntax sync match {sync-group-name} groupthere {group-name} "pattern" .. :syntax sync match {sync-group-name} groupthere {group-name} "pattern" ...
Like "grouphere", but {group-name} is the name of a syntax group that Like "grouphere", but {group-name} is the name of a syntax group that
is to be used at the start of the line where searching for the sync is to be used at the start of the line where searching for the sync
@@ -5385,8 +5416,8 @@ faster.]
it's a bit more complicated, because the "/*" and "*/" could appear it's a bit more complicated, because the "/*" and "*/" could appear
inside a string. That's left as an exercise to the reader...). inside a string. That's left as an exercise to the reader...).
:syntax sync match .. :syntax sync match ...
:syntax sync region .. :syntax sync region ...
Without a "groupthere" argument. Define a region or match that is Without a "groupthere" argument. Define a region or match that is
skipped while searching for a sync point. skipped while searching for a sync point.
@@ -5407,7 +5438,7 @@ You can clear all sync settings with: >
:syntax sync clear :syntax sync clear
You can clear specific sync patterns with: > You can clear specific sync patterns with: >
:syntax sync clear {sync-group-name} .. :syntax sync clear {sync-group-name} ...
============================================================================== ==============================================================================
12. Listing syntax items *:syntax* *:sy* *:syn* *:syn-list* 12. Listing syntax items *:syntax* *:sy* *:syn* *:syn-list*
@@ -5542,7 +5573,7 @@ in their own color.
Disable the highlighting for one highlight group. It Disable the highlighting for one highlight group. It
is _not_ set back to the default colors. is _not_ set back to the default colors.
:hi[ghlight] [default] {group-name} {key}={arg} .. :hi[ghlight] [default] {group-name} {key}={arg} ...
Add a highlight group, or change the highlighting for Add a highlight group, or change the highlighting for
an existing group. If a given color name is not an existing group. If a given color name is not
recognized, each `colors/lists/default.vim` found on recognized, each `colors/lists/default.vim` found on
@@ -5996,10 +6027,15 @@ PmenuMatch Popup menu: Matched text in normal item. Applied in
*hl-PmenuMatchSel* *hl-PmenuMatchSel*
PmenuMatchSel Popup menu: Matched text in selected item. Applied in PmenuMatchSel Popup menu: Matched text in selected item. Applied in
combination with |hl-PmenuSel|. combination with |hl-PmenuSel|.
*hl-PmenuBorder*
PmenuBorder Popup menu: Border characters.
Linked to |hl-Pmenu| by default.
*hl-PmenuShadow*
PmenuShadow Popup menu: Used for shadow.
*hl-ComplMatchIns* *hl-ComplMatchIns*
ComplMatchIns Matched text of the currently inserted completion. ComplMatchIns Matched text of the currently inserted completion.
*hl-PreInsert* *hl-PreInsert*
PreInsert Text inserted during autocompletion when "preinsert". PreInsert Text inserted when "preinsert" is in 'completeopt'.
*hl-PopupSelected* *hl-PopupSelected*
PopupSelected Popup window created with |popup_menu()|. Linked to PopupSelected Popup window created with |popup_menu()|. Linked to
|hl-PmenuSel| by default. |hl-PmenuSel| by default.
@@ -6064,6 +6100,16 @@ TabPanelSel TabPanel, active tab page label.
Terminal |terminal| window (see |terminal-size-color|). Terminal |terminal| window (see |terminal-size-color|).
*hl-Title* *hl-Title*
Title Titles for output from ":set all", ":autocmd" etc. Title Titles for output from ":set all", ":autocmd" etc.
*hl-TitleBar*
TitleBar Title bar for the active Gui's window.
This feature is supported only in the MS-Windows GUI.
See |gui-w32-title-bar| for details
Only the `guibg` and `guifg` highlight arguments are effective.
*hl-TitleBarNC*
TitleBarNC Title bar for inactive Gui's window.
This feature is supported only in the MS-Windows GUI.
See |gui-w32-title-bar| for details
Only the `guibg` and `guifg` highlight arguments are effective.
*hl-Visual* *hl-Visual*
Visual Visual mode selection. Visual Visual mode selection.
*hl-VisualNOS* *hl-VisualNOS*
@@ -6166,11 +6212,11 @@ The command also deletes the "b:current_syntax" variable, since no syntax is
loaded after this command. loaded after this command.
To clean up specific syntax groups for the current buffer: > To clean up specific syntax groups for the current buffer: >
:syntax clear {group-name} .. :syntax clear {group-name} ...
This removes all patterns and keywords for {group-name}. This removes all patterns and keywords for {group-name}.
To clean up specific syntax group lists for the current buffer: > To clean up specific syntax group lists for the current buffer: >
:syntax clear @{grouplist-name} .. :syntax clear @{grouplist-name} ...
This sets {grouplist-name}'s contents to an empty list. This sets {grouplist-name}'s contents to an empty list.
*:syntax-off* *:syn-off* *:syntax-off* *:syn-off*
@@ -6455,7 +6501,7 @@ that Setup / Font / Enable Bold is NOT enabled.
============================================================================== ==============================================================================
20. When syntax is slow *:syntime* 20. When syntax is slow *:synti* *:syntime*
This is aimed at authors of a syntax file. This is aimed at authors of a syntax file.
@@ -6464,10 +6510,10 @@ faster. To see slowness switch on some features that usually interfere, such
as 'relativenumber' and |folding|. as 'relativenumber' and |folding|.
Note: This is only available when compiled with the |+profile| feature. Note: This is only available when compiled with the |+profile| feature.
You many need to build Vim with "huge" features. You may need to build Vim with "huge" features.
To find out what patterns are consuming most time, get an overview with this To find out what patterns are consuming the most time, get an overview with
sequence: > this sequence: >
:syntime on :syntime on
[ redraw the text at least once with CTRL-L ] [ redraw the text at least once with CTRL-L ]
:syntime report :syntime report
@@ -6475,15 +6521,15 @@ sequence: >
This will display a list of syntax patterns that were used, sorted by the time This will display a list of syntax patterns that were used, sorted by the time
it took to match them against the text. it took to match them against the text.
:syntime on Start measuring syntax times. This will add some :synti[me] on Start measuring syntax times. This will add some
overhead to compute the time spent on syntax pattern overhead to compute the time spent on syntax pattern
matching. matching.
:syntime off Stop measuring syntax times. :synti[me] off Stop measuring syntax times.
:syntime clear Set all the counters to zero, restart measuring. :synti[me] clear Set all the counters to zero, restart measuring.
:syntime report Show the syntax items used since ":syntime on" in the :synti[me] report Show the syntax items used since ":syntime on" in the
current window. Use a wider display to see more of current window. Use a wider display to see more of
the output. the output.

View File

@@ -363,6 +363,7 @@ $quote eval.txt /*$quote*
'go' options.txt /*'go'* 'go' options.txt /*'go'*
'go-!' options.txt /*'go-!'* 'go-!' options.txt /*'go-!'*
'go-A' options.txt /*'go-A'* 'go-A' options.txt /*'go-A'*
'go-C' options.txt /*'go-C'*
'go-F' options.txt /*'go-F'* 'go-F' options.txt /*'go-F'*
'go-L' options.txt /*'go-L'* 'go-L' options.txt /*'go-L'*
'go-M' options.txt /*'go-M'* 'go-M' options.txt /*'go-M'*
@@ -875,6 +876,7 @@ $quote eval.txt /*$quote*
'patchexpr' options.txt /*'patchexpr'* 'patchexpr' options.txt /*'patchexpr'*
'patchmode' options.txt /*'patchmode'* 'patchmode' options.txt /*'patchmode'*
'path' options.txt /*'path'* 'path' options.txt /*'path'*
'pb' options.txt /*'pb'*
'pdev' options.txt /*'pdev'* 'pdev' options.txt /*'pdev'*
'penc' options.txt /*'penc'* 'penc' options.txt /*'penc'*
'perldll' options.txt /*'perldll'* 'perldll' options.txt /*'perldll'*
@@ -904,6 +906,7 @@ $quote eval.txt /*$quote*
'printoptions' options.txt /*'printoptions'* 'printoptions' options.txt /*'printoptions'*
'prompt' options.txt /*'prompt'* 'prompt' options.txt /*'prompt'*
'pt' options.txt /*'pt'* 'pt' options.txt /*'pt'*
'pumborder' options.txt /*'pumborder'*
'pumheight' options.txt /*'pumheight'* 'pumheight' options.txt /*'pumheight'*
'pummaxwidth' options.txt /*'pummaxwidth'* 'pummaxwidth' options.txt /*'pummaxwidth'*
'pumwidth' options.txt /*'pumwidth'* 'pumwidth' options.txt /*'pumwidth'*
@@ -1564,6 +1567,7 @@ $quote eval.txt /*$quote*
+vtp various.txt /*+vtp* +vtp various.txt /*+vtp*
+wayland various.txt /*+wayland* +wayland various.txt /*+wayland*
+wayland_clipboard various.txt /*+wayland_clipboard* +wayland_clipboard various.txt /*+wayland_clipboard*
+wayland_focus_steal various.txt /*+wayland_focus_steal*
+wildignore various.txt /*+wildignore* +wildignore various.txt /*+wildignore*
+wildmenu various.txt /*+wildmenu* +wildmenu various.txt /*+wildmenu*
+windows various.txt /*+windows* +windows various.txt /*+windows*
@@ -2117,7 +2121,20 @@ $quote eval.txt /*$quote*
:% cmdline.txt /*:%* :% cmdline.txt /*:%*
:& change.txt /*:&* :& change.txt /*:&*
:&& change.txt /*:&&* :&& change.txt /*:&&*
:' cmdline.txt /*:'* :'' cmdline.txt /*:''*
:'( cmdline.txt /*:'(*
:') cmdline.txt /*:')*
:'. cmdline.txt /*:'.*
:'< cmdline.txt /*:'<*
:'> cmdline.txt /*:'>*
:'X cmdline.txt /*:'X*
:'[ cmdline.txt /*:'[*
:'] cmdline.txt /*:']*
:'^ cmdline.txt /*:'^*
:'quote cmdline.txt /*:'quote*
:'x cmdline.txt /*:'x*
:'{ cmdline.txt /*:'{*
:'} cmdline.txt /*:'}*
:++ vim9.txt /*:++* :++ vim9.txt /*:++*
:, cmdline.txt /*:,* :, cmdline.txt /*:,*
:-- vim9.txt /*:--* :-- vim9.txt /*:--*
@@ -2235,6 +2252,7 @@ $quote eval.txt /*$quote*
:Rexplore pi_netrw.txt /*:Rexplore* :Rexplore pi_netrw.txt /*:Rexplore*
:RmVimball pi_vimball.txt /*:RmVimball* :RmVimball pi_vimball.txt /*:RmVimball*
:Run terminal.txt /*:Run* :Run terminal.txt /*:Run*
:RunOrContinue terminal.txt /*:RunOrContinue*
:RustEmitAsm ft_rust.txt /*:RustEmitAsm* :RustEmitAsm ft_rust.txt /*:RustEmitAsm*
:RustEmitIr ft_rust.txt /*:RustEmitIr* :RustEmitIr ft_rust.txt /*:RustEmitIr*
:RustExpand ft_rust.txt /*:RustExpand* :RustExpand ft_rust.txt /*:RustExpand*
@@ -2256,6 +2274,7 @@ $quote eval.txt /*$quote*
:Termdebug terminal.txt /*:Termdebug* :Termdebug terminal.txt /*:Termdebug*
:TermdebugCommand terminal.txt /*:TermdebugCommand* :TermdebugCommand terminal.txt /*:TermdebugCommand*
:Texplore pi_netrw.txt /*:Texplore* :Texplore pi_netrw.txt /*:Texplore*
:ToggleBreak terminal.txt /*:ToggleBreak*
:Tutor pi_tutor.txt /*:Tutor* :Tutor pi_tutor.txt /*:Tutor*
:URLOpen eval.txt /*:URLOpen* :URLOpen eval.txt /*:URLOpen*
:Until terminal.txt /*:Until* :Until terminal.txt /*:Until*
@@ -2553,6 +2572,7 @@ $quote eval.txt /*$quote*
:def vim9.txt /*:def* :def vim9.txt /*:def*
:defc vim9.txt /*:defc* :defc vim9.txt /*:defc*
:defcompile vim9.txt /*:defcompile* :defcompile vim9.txt /*:defcompile*
:defe userfunc.txt /*:defe*
:defer userfunc.txt /*:defer* :defer userfunc.txt /*:defer*
:del change.txt /*:del* :del change.txt /*:del*
:delc map.txt /*:delc* :delc map.txt /*:delc*
@@ -3531,6 +3551,7 @@ $quote eval.txt /*$quote*
:syntax-off syntax.txt /*:syntax-off* :syntax-off syntax.txt /*:syntax-off*
:syntax-on syntax.txt /*:syntax-on* :syntax-on syntax.txt /*:syntax-on*
:syntax-reset syntax.txt /*:syntax-reset* :syntax-reset syntax.txt /*:syntax-reset*
:synti syntax.txt /*:synti*
:syntime syntax.txt /*:syntime* :syntime syntax.txt /*:syntime*
:t change.txt /*:t* :t change.txt /*:t*
:tN tagsrch.txt /*:tN* :tN tagsrch.txt /*:tN*
@@ -4778,6 +4799,7 @@ E1565 remote.txt /*E1565*
E1566 remote.txt /*E1566* E1566 remote.txt /*E1566*
E1567 remote.txt /*E1567* E1567 remote.txt /*E1567*
E1568 options.txt /*E1568* E1568 options.txt /*E1568*
E1569 builtin.txt /*E1569*
E157 sign.txt /*E157* E157 sign.txt /*E157*
E158 sign.txt /*E158* E158 sign.txt /*E158*
E159 sign.txt /*E159* E159 sign.txt /*E159*
@@ -7643,6 +7665,7 @@ ft-lf-syntax syntax.txt /*ft-lf-syntax*
ft-lifelines-syntax syntax.txt /*ft-lifelines-syntax* ft-lifelines-syntax syntax.txt /*ft-lifelines-syntax*
ft-lisp-syntax syntax.txt /*ft-lisp-syntax* ft-lisp-syntax syntax.txt /*ft-lisp-syntax*
ft-lite-syntax syntax.txt /*ft-lite-syntax* ft-lite-syntax syntax.txt /*ft-lite-syntax*
ft-log-syntax syntax.txt /*ft-log-syntax*
ft-lpc-syntax syntax.txt /*ft-lpc-syntax* ft-lpc-syntax syntax.txt /*ft-lpc-syntax*
ft-lua-plugin filetype.txt /*ft-lua-plugin* ft-lua-plugin filetype.txt /*ft-lua-plugin*
ft-lua-syntax syntax.txt /*ft-lua-syntax* ft-lua-syntax syntax.txt /*ft-lua-syntax*
@@ -8137,6 +8160,7 @@ ge motion.txt /*ge*
gender-neutral helphelp.txt /*gender-neutral* gender-neutral helphelp.txt /*gender-neutral*
generic-function-call vim9.txt /*generic-function-call* generic-function-call vim9.txt /*generic-function-call*
generic-function-declaration vim9.txt /*generic-function-declaration* generic-function-declaration vim9.txt /*generic-function-declaration*
generic-function-example vim9.txt /*generic-function-example*
generic-functions vim9.txt /*generic-functions* generic-functions vim9.txt /*generic-functions*
get() builtin.txt /*get()* get() builtin.txt /*get()*
get()-blob builtin.txt /*get()-blob* get()-blob builtin.txt /*get()-blob*
@@ -8312,6 +8336,7 @@ gui-w32-cmdargs gui_w32.txt /*gui-w32-cmdargs*
gui-w32-dialogs gui_w32.txt /*gui-w32-dialogs* gui-w32-dialogs gui_w32.txt /*gui-w32-dialogs*
gui-w32-printing gui_w32.txt /*gui-w32-printing* gui-w32-printing gui_w32.txt /*gui-w32-printing*
gui-w32-start gui_w32.txt /*gui-w32-start* gui-w32-start gui_w32.txt /*gui-w32-start*
gui-w32-title-bar gui_w32.txt /*gui-w32-title-bar*
gui-w32-various gui_w32.txt /*gui-w32-various* gui-w32-various gui_w32.txt /*gui-w32-various*
gui-w32-windowid gui_w32.txt /*gui-w32-windowid* gui-w32-windowid gui_w32.txt /*gui-w32-windowid*
gui-w32s os_win32.txt /*gui-w32s* gui-w32s os_win32.txt /*gui-w32s*
@@ -8472,6 +8497,7 @@ hl-MsgArea syntax.txt /*hl-MsgArea*
hl-NonText syntax.txt /*hl-NonText* hl-NonText syntax.txt /*hl-NonText*
hl-Normal syntax.txt /*hl-Normal* hl-Normal syntax.txt /*hl-Normal*
hl-Pmenu syntax.txt /*hl-Pmenu* hl-Pmenu syntax.txt /*hl-Pmenu*
hl-PmenuBorder syntax.txt /*hl-PmenuBorder*
hl-PmenuExtra syntax.txt /*hl-PmenuExtra* hl-PmenuExtra syntax.txt /*hl-PmenuExtra*
hl-PmenuExtraSel syntax.txt /*hl-PmenuExtraSel* hl-PmenuExtraSel syntax.txt /*hl-PmenuExtraSel*
hl-PmenuKind syntax.txt /*hl-PmenuKind* hl-PmenuKind syntax.txt /*hl-PmenuKind*
@@ -8480,6 +8506,7 @@ hl-PmenuMatch syntax.txt /*hl-PmenuMatch*
hl-PmenuMatchSel syntax.txt /*hl-PmenuMatchSel* hl-PmenuMatchSel syntax.txt /*hl-PmenuMatchSel*
hl-PmenuSbar syntax.txt /*hl-PmenuSbar* hl-PmenuSbar syntax.txt /*hl-PmenuSbar*
hl-PmenuSel syntax.txt /*hl-PmenuSel* hl-PmenuSel syntax.txt /*hl-PmenuSel*
hl-PmenuShadow syntax.txt /*hl-PmenuShadow*
hl-PmenuThumb syntax.txt /*hl-PmenuThumb* hl-PmenuThumb syntax.txt /*hl-PmenuThumb*
hl-PopupNotification syntax.txt /*hl-PopupNotification* hl-PopupNotification syntax.txt /*hl-PopupNotification*
hl-PopupSelected syntax.txt /*hl-PopupSelected* hl-PopupSelected syntax.txt /*hl-PopupSelected*
@@ -8507,6 +8534,8 @@ hl-TabPanelFill syntax.txt /*hl-TabPanelFill*
hl-TabPanelSel syntax.txt /*hl-TabPanelSel* hl-TabPanelSel syntax.txt /*hl-TabPanelSel*
hl-Terminal syntax.txt /*hl-Terminal* hl-Terminal syntax.txt /*hl-Terminal*
hl-Title syntax.txt /*hl-Title* hl-Title syntax.txt /*hl-Title*
hl-TitleBar syntax.txt /*hl-TitleBar*
hl-TitleBarNC syntax.txt /*hl-TitleBarNC*
hl-ToolbarButton gui.txt /*hl-ToolbarButton* hl-ToolbarButton gui.txt /*hl-ToolbarButton*
hl-ToolbarLine gui.txt /*hl-ToolbarLine* hl-ToolbarLine gui.txt /*hl-ToolbarLine*
hl-Tooltip syntax.txt /*hl-Tooltip* hl-Tooltip syntax.txt /*hl-Tooltip*
@@ -9244,6 +9273,7 @@ multi-lang mlang.txt /*multi-lang*
multi-repeat repeat.txt /*multi-repeat* multi-repeat repeat.txt /*multi-repeat*
multibyte mbyte.txt /*multibyte* multibyte mbyte.txt /*multibyte*
multibyte-ime mbyte.txt /*multibyte-ime* multibyte-ime mbyte.txt /*multibyte-ime*
multibyte-ime-compatibility mbyte.txt /*multibyte-ime-compatibility*
multibyte-input mbyte.txt /*multibyte-input* multibyte-input mbyte.txt /*multibyte-input*
multilang mlang.txt /*multilang* multilang mlang.txt /*multilang*
multilang-menus mlang.txt /*multilang-menus* multilang-menus mlang.txt /*multilang-menus*
@@ -9926,6 +9956,7 @@ postscript-print-util print.txt /*postscript-print-util*
postscript-printing print.txt /*postscript-printing* postscript-printing print.txt /*postscript-printing*
pow() builtin.txt /*pow()* pow() builtin.txt /*pow()*
ppwiz.vim syntax.txt /*ppwiz.vim* ppwiz.vim syntax.txt /*ppwiz.vim*
preinserted() builtin.txt /*preinserted()*
press-enter message.txt /*press-enter* press-enter message.txt /*press-enter*
press-return message.txt /*press-return* press-return message.txt /*press-return*
prevcount-variable eval.txt /*prevcount-variable* prevcount-variable eval.txt /*prevcount-variable*
@@ -11094,8 +11125,12 @@ termdebug-example terminal.txt /*termdebug-example*
termdebug-frames terminal.txt /*termdebug-frames* termdebug-frames terminal.txt /*termdebug-frames*
termdebug-mappings terminal.txt /*termdebug-mappings* termdebug-mappings terminal.txt /*termdebug-mappings*
termdebug-prompt terminal.txt /*termdebug-prompt* termdebug-prompt terminal.txt /*termdebug-prompt*
termdebug-remote terminal.txt /*termdebug-remote*
termdebug-remote-example terminal.txt /*termdebug-remote-example*
termdebug-remote-window terminal.txt /*termdebug-remote-window*
termdebug-starting terminal.txt /*termdebug-starting* termdebug-starting terminal.txt /*termdebug-starting*
termdebug-stepping terminal.txt /*termdebug-stepping* termdebug-stepping terminal.txt /*termdebug-stepping*
termdebug-substitute-path terminal.txt /*termdebug-substitute-path*
termdebug-timeout terminal.txt /*termdebug-timeout* termdebug-timeout terminal.txt /*termdebug-timeout*
termdebug-variables terminal.txt /*termdebug-variables* termdebug-variables terminal.txt /*termdebug-variables*
termdebug_contributing terminal.txt /*termdebug_contributing* termdebug_contributing terminal.txt /*termdebug_contributing*
@@ -11276,6 +11311,7 @@ type-casting vim9.txt /*type-casting*
type-checking vim9.txt /*type-checking* type-checking vim9.txt /*type-checking*
type-inference vim9.txt /*type-inference* type-inference vim9.txt /*type-inference*
type-mistakes tips.txt /*type-mistakes* type-mistakes tips.txt /*type-mistakes*
type-parameter-naming vim9.txt /*type-parameter-naming*
type-variable-naming vim9.txt /*type-variable-naming* type-variable-naming vim9.txt /*type-variable-naming*
typealias vim9class.txt /*typealias* typealias vim9class.txt /*typealias*
typename() builtin.txt /*typename()* typename() builtin.txt /*typename()*
@@ -11894,6 +11930,7 @@ win32-quotes os_win32.txt /*win32-quotes*
win32-restore os_win32.txt /*win32-restore* win32-restore os_win32.txt /*win32-restore*
win32-startup os_win32.txt /*win32-startup* win32-startup os_win32.txt /*win32-startup*
win32-term os_win32.txt /*win32-term* win32-term os_win32.txt /*win32-term*
win32-term-colors os_win32.txt /*win32-term-colors*
win32-vimrun gui_w32.txt /*win32-vimrun* win32-vimrun gui_w32.txt /*win32-vimrun*
win32-win3.1 os_win32.txt /*win32-win3.1* win32-win3.1 os_win32.txt /*win32-win3.1*
win32-win95 os_win32.txt /*win32-win95* win32-win95 os_win32.txt /*win32-win95*

View File

@@ -1,4 +1,4 @@
*terminal.txt* For Vim version 9.1. Last change: 2025 Sep 02 *terminal.txt* For Vim version 9.1. Last change: 2025 Oct 08
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -44,6 +44,7 @@ If the result is "1" you have it.
Prompt mode |termdebug-prompt| Prompt mode |termdebug-prompt|
Mappings |termdebug-mappings| Mappings |termdebug-mappings|
Communication |termdebug-communication| Communication |termdebug-communication|
Remote Debugging |termdebug-remote|
Customizing |termdebug-customizing| Customizing |termdebug-customizing|
{only available when compiled with the |+terminal| feature} {only available when compiled with the |+terminal| feature}
@@ -1427,12 +1428,16 @@ gdb:
:Tbreak {position} :Tbreak {position}
set a temporary breakpoint at the specified position set a temporary breakpoint at the specified position
*:Clear* delete the breakpoint at the cursor position *:Clear* delete the breakpoint at the cursor position
*:ToggleBreak* set a breakpoint at the cursor position or delete all
breakpoints at the cursor position
*:Step* execute the gdb "step" command *:Step* execute the gdb "step" command
*:Over* execute the gdb "next" command (`:Next` is a Vim command) *:Over* execute the gdb "next" command (`:Next` is a Vim command)
*:Until* execute the gdb "until" command *:Until* execute the gdb "until" command
*:Finish* execute the gdb "finish" command *:Finish* execute the gdb "finish" command
*:Continue* execute the gdb "continue" command *:Continue* execute the gdb "continue" command
*:RunOrContinue* execute the gdb "continue" command if program is running,
otherwise run the program
*:Stop* interrupt the program *:Stop* interrupt the program
If 'mouse' is set the plugin adds a window toolbar with these entries: If 'mouse' is set the plugin adds a window toolbar with these entries:
@@ -1631,12 +1636,103 @@ interrupt the running program. But after using the MI command
communication channel. communication channel.
Remote debugging ~
*termdebug-remote*
One of the main issues of remote debugging is the access to the debuggee's
source files. The plugin can profit from system and vim's networking
capabilities to workaround this.
*termdebug-remote-example*
The |termdebug-example| can be replicated by running the `gdb` debugger to
debug Vim on a remote Linux machine accessible via `ssh`.
- Build Vim as explained in the local example.
- If "socat" is not available in the remote machine 'terminal' mode will not
work properly. Fall back to |termdebug_use_prompt|: >
:let g:termdebug_config = {}
:let g:termdebug_config['use_prompt'] = v:true
- Specify the command line to run the remote `gdb` instance: >
:let g:termdebug_config['command'] = ['ssh', 'hostname', 'gdb']
< Explaining `ssh` is beyond the scope of this example, but notice the
command line can be greatly simplified by specifying the user, keys and
other options into the `$HOME/.ssh/config` file.
- Provide a hint for translating remote paths into |netrw| paths: >
:let g:termdebug_config['substitute_path'] = { '/': 'scp://hostname//' }
- Load the termdebug plugin and start debugging Vim: >
:packadd termdebug
:Termdebug vim
You now have the same three windows of the local example and can follow the
very same steps. The only difference is that the source windows displays a
netrw buffer instead of a local one.
*termdebug-substitute-path*
Use the `g:termdebug_config['substitute_path']` entry to map remote to local
files using the same strategy that gdb's `substitute-path` command uses.
For example:
- Use |netrw| to access files remoting via ssh: >
let g:termdebug_config['command'] = ['ssh', 'hostname', 'gdb']
let g:termdebug_config['substitute_path'] = { '/': 'scp://hostname//' }
< Note: that the key specifies the remote machine root path and the value
the local one.
- Use Windows' `UNC` paths to access `WSL2` sources: >
let g:termdebug_config['command'] = ['wsl', 'gdb']
let g:termdebug_config['substitute_path'] = {
\ '/': '\\wsl.localhost\Ubuntu-22.04\',
\ '/mnt/c/': 'C:/' }
< Note: that several mappings are required: one for each drive unit
and one for the linux filesystem (queried via `wslpath`).
In this mode any `ssh` or `wsl` command would be detected and a similar
command would be used to launch `socat` in a remote `tty` terminal session
and connect it to `gdb`.
If `socat` is not available a plain remote terminal would be used as
fallback.
The next session shows how to override this default behaviour.
*termdebug-remote-window*
In order to use another remote terminal client, set "remote_window" entry
in `g:termdebug_config` variable before invoking `:Termdebug`. For example:
- Debugging inside a docker container using "prompt" mode: >
let g:termdebug_config['use_prompt'] = v:true
let g:termdebug_config['command'] = ['docker', 'run', '-i',
\ '--rm', '--name', 'container-name', 'image-name', 'gdb']
let g:termdebug_config['remote_window'] =
\ ['docker', 'exec', '-ti', 'container-name'
\ ,'socat', '-dd', '-', 'PTY,raw,echo=0']
- Debugging inside a docker container using a "terminal buffer".
The container should be already running because unlike the previous
case for `terminal mode` "program" and "communication" ptys are created
before the gdb one: >
$ docker run -ti --rm --name container-name immage-name
< Then, launch the debugger: >
let g:termdebug_config['use_prompt'] = v:false " default
let g:termdebug_config['command'] =
\ ['docker', 'exec', '-ti', 'container-name', 'gdb']
let g:termdebug_config['remote_window'] =
\ ['docker', 'exec', '-ti', 'container-name'
\ ,'socat', '-dd', '-', 'PTY,raw,echo=0']
Note: "command" cannot use `-t` on |termdebug-prompt| mode because prompt
buffers cannot handle `tty` connections.
The "remote_window" command must use `-t` because otherwise it will lack
a `pty slave device` for gdb to connect.
Note: "socat" must be available in the remote machine on "terminal" mode.
Note: docker container sources can be accessible combining `volumes`
with mappings (see |termdebug-substitute-path|).
GDB command ~ GDB command ~
*g:termdebugger* *g:termdebugger*
To change the name of the gdb command, set "debugger" entry in To change the name of the gdb command, set "debugger" entry in
g:termdebug_config or the "g:termdebugger" variable before invoking g:termdebug_config or the "g:termdebugger" variable before invoking
`:Termdebug`: > `:Termdebug`: >
let g:termdebug_config['command'] = "mygdb" let g:termdebug_config['command'] = "mygdb"
If there is no g:termdebug_config you can use: > If there is no g:termdebug_config you can use: >
let g:termdebugger = "mygdb" let g:termdebugger = "mygdb"
@@ -1644,6 +1740,7 @@ However, the latter form will be deprecated in future releases.
If the command needs an argument use a List: > If the command needs an argument use a List: >
let g:termdebug_config['command'] = ['rr', 'replay', '--'] let g:termdebug_config['command'] = ['rr', 'replay', '--']
If there is no g:termdebug_config you can use: > If there is no g:termdebug_config you can use: >
let g:termdebugger = ['rr', 'replay', '--'] let g:termdebugger = ['rr', 'replay', '--']
@@ -1651,6 +1748,13 @@ Several arguments will be added to make gdb work well for the debugger.
If you want to modify them, add a function to filter the argument list: > If you want to modify them, add a function to filter the argument list: >
let g:termdebug_config['command_filter'] = MyDebugFilter let g:termdebug_config['command_filter'] = MyDebugFilter
A "command_filter" scenario is solving escaping issues on remote debugging
over "ssh". For convenience a default filter is provided for escaping
whitespaces inside the arguments. It is automatically configured for "ssh",
but can be employed in other use cases like this: >
let g:termdebug_config['command_filter'] =
/ function('g:Termdebug_escape_whitespace')
If you do not want the arguments to be added, but you do need to set the If you do not want the arguments to be added, but you do need to set the
"pty", use a function to add the necessary arguments: > "pty", use a function to add the necessary arguments: >
let g:termdebug_config['command_add_args'] = MyAddArguments let g:termdebug_config['command_add_args'] = MyAddArguments
@@ -1713,7 +1817,8 @@ than 99 will be displayed as "9+".
If you want to customize the breakpoint signs to show `>>` in the signcolumn: > If you want to customize the breakpoint signs to show `>>` in the signcolumn: >
let g:termdebug_config['sign'] = '>>' let g:termdebug_config['sign'] = '>>'
You can also specify individual signs for the first several breakpoints: > You can also specify individual signs for the first several breakpoints: >
let g:termdebug_config['signs'] = ['>1', '>2', '>3', '>4', '>5', '>6', '>7', '>8', '>9'] let g:termdebug_config['signs'] = ['>1', '>2', '>3', '>4', '>5',
\ '>6', '>7', '>8', '>9']
let g:termdebug_config['sign'] = '>>' let g:termdebug_config['sign'] = '>>'
If you would like to use decimal (base 10) breakpoint signs: > If you would like to use decimal (base 10) breakpoint signs: >
let g:termdebug_config['sign_decimal'] = 1 let g:termdebug_config['sign_decimal'] = 1

View File

@@ -1,4 +1,4 @@
*userfunc.txt* For Vim version 9.1. Last change: 2025 Aug 06 *userfunc.txt* For Vim version 9.1. Last change: 2025 Sep 12
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -393,8 +393,8 @@ is used as a method: >
============================================================================== ==============================================================================
3. Cleaning up in a function ~ 3. Cleaning up in a function ~
*:defer* *:defe* *:defer*
:defer {func}({args}) Call {func} when the current function is done. :defe[r] {func}({args}) Call {func} when the current function is done.
{args} are evaluated here. {args} are evaluated here.
Quite often a command in a function has a global effect, which must be undone Quite often a command in a function has a global effect, which must be undone

View File

@@ -1,4 +1,4 @@
*usr_05.txt* For Vim version 9.1. Last change: 2025 Apr 10 *usr_05.txt* For Vim version 9.1. Last change: 2025 Sep 27
VIM USER MANUAL - by Bram Moolenaar VIM USER MANUAL - by Bram Moolenaar
@@ -308,6 +308,7 @@ This switches on three very clever mechanisms:
*restore-cursor* *last-position-jump* >vim *restore-cursor* *last-position-jump* >vim
augroup RestoreCursor augroup RestoreCursor
autocmd! autocmd!
autocmd BufReadPost * autocmd BufReadPost *

View File

@@ -1,4 +1,4 @@
*usr_10.txt* For Vim version 9.1. Last change: 2024 Nov 12 *usr_10.txt* For Vim version 9.1. Last change: 2025 Sep 15
VIM USER MANUAL - by Bram Moolenaar VIM USER MANUAL - by Bram Moolenaar
@@ -339,6 +339,8 @@ then ":". For example, when you type "5:", you will get: >
Now you can type the command you want to use. It will use the range "." Now you can type the command you want to use. It will use the range "."
(current line) until ".+4" (four lines down). Thus it spans five lines. (current line) until ".+4" (four lines down). Thus it spans five lines.
See also |:range|, for an overview of all possible ways to specify a range.
============================================================================== ==============================================================================
*10.4* The global command *10.4* The global command

View File

@@ -1,4 +1,4 @@
*usr_40.txt* For Vim version 9.1. Last change: 2022 Jun 23 *usr_40.txt* For Vim version 9.1. Last change: 2025 Sep 24
VIM USER MANUAL - by Bram Moolenaar VIM USER MANUAL - by Bram Moolenaar
@@ -597,7 +597,7 @@ EXECUTING AUTOCOMMANDS
It is possible to trigger an autocommand by pretending an event has occurred. It is possible to trigger an autocommand by pretending an event has occurred.
This is useful to have one autocommand trigger another one. Example: > This is useful to have one autocommand trigger another one. Example: >
:autocmd BufReadPost *.new execute "doautocmd BufReadPost " . expand("<afile>:r") :autocmd BufReadPost *.new execute "doautocmd BufReadPost " .. expand("<afile>:r")
This defines an autocommand that is triggered when a new file has been edited. This defines an autocommand that is triggered when a new file has been edited.
The file name must end in ".new". The ":execute" command uses expression The file name must end in ".new". The ":execute" command uses expression

View File

@@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 9.1. Last change: 2025 Aug 23 *usr_41.txt* For Vim version 9.1. Last change: 2025 Sep 26
VIM USER MANUAL - by Bram Moolenaar VIM USER MANUAL - by Bram Moolenaar
@@ -1135,6 +1135,7 @@ Insert mode completion: *completion-functions*
complete_info() get current completion information complete_info() get current completion information
complete_match() get insert completion start match col and complete_match() get insert completion start match col and
trigger text trigger text
preinserted() check if text is inserted after cursor
pumvisible() check if the popup menu is displayed pumvisible() check if the popup menu is displayed
pum_getpos() position and size of popup menu if visible pum_getpos() position and size of popup menu if visible

View File

@@ -1,4 +1,4 @@
*usr_52.txt* For Vim version 9.1. Last change: 2025 Mar 17 *usr_52.txt* For Vim version 9.1. Last change: 2025 Sep 27
VIM USER MANUAL - by Bram Moolenaar VIM USER MANUAL - by Bram Moolenaar
@@ -347,7 +347,7 @@ Have a look at the package located at $VIMRUNTIME/pack/dist/opt/comment/
HIGHLIGHT YANK PLUGIN HIGHLIGHT YANK PLUGIN
Vim comes with the highlight-yank plugin, written in Vim9 script Vim comes with the highlight-yank plugin, written in Vim9 script
|hlyank-install|, here is a simplified implementation: >vim |hlyank-install|, here is a simplified implementation: >vim9
vim9script vim9script

View File

@@ -1,4 +1,4 @@
*various.txt* For Vim version 9.1. Last change: 2025 Sep 02 *various.txt* For Vim version 9.1. Last change: 2025 Sep 22
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -531,6 +531,9 @@ T *+vreplace* |gR| and |gr|
*+vtp* on MS-Windows console: support for 'termguicolors' *+vtp* on MS-Windows console: support for 'termguicolors'
N *+wayland* Unix only: support for the Wayland protocol. N *+wayland* Unix only: support for the Wayland protocol.
N *+wayland_clipboard* Unix only: support for Wayland selections/clipboard. N *+wayland_clipboard* Unix only: support for Wayland selections/clipboard.
N *+wayland_focus_steal*
Unix only: support for Wayland clipboard on
compositors without a data control protocol
T *+wildignore* 'wildignore' Always enabled since 9.0.0278 T *+wildignore* 'wildignore' Always enabled since 9.0.0278
T *+wildmenu* 'wildmenu' Always enabled since 9.0.0279 T *+wildmenu* 'wildmenu' Always enabled since 9.0.0279
T *+windows* more than one window; Always enabled since 8.0.1118. T *+windows* more than one window; Always enabled since 8.0.1118.

View File

@@ -1,4 +1,4 @@
*version9.txt* For Vim version 9.1. Last change: 2025 Sep 09 *version9.txt* For Vim version 9.1. Last change: 2025 Oct 07
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -41621,6 +41621,7 @@ Platform specific~
- The Win32 GUI comes with better toolbar icons. - The Win32 GUI comes with better toolbar icons.
- Better fullscreen support for Haiku |os_haiku.txt|. - Better fullscreen support for Haiku |os_haiku.txt|.
*new-other-9.2* *new-other-9.2*
Other new features ~ Other new features ~
------------------ ------------------
@@ -41669,6 +41670,10 @@ Default values: ~
- the default value for 'showcmd' is always enabled when using non-compatible - the default value for 'showcmd' is always enabled when using non-compatible
mode (previously, it was off on UNIX systems) and consequently removed from mode (previously, it was off on UNIX systems) and consequently removed from
|defaults.vim| |defaults.vim|
- Improve the diff mode experience by updating the 'diffopt' default value to
"internal,filler,closeoff,indent-heuristic,inline:char".
- the 'ruler' option value is always enabled when using non-compatible mode
and removed from |defaults.vim|
Completion: ~ Completion: ~
- allow to complete directories from 'cdpath' for |:cd| and similar commands, - allow to complete directories from 'cdpath' for |:cd| and similar commands,
@@ -41697,7 +41702,9 @@ Options: ~
- new option values for 'fillchars': - new option values for 'fillchars':
"trunc" - configure truncation indicator, 'pummaxwidth' "trunc" - configure truncation indicator, 'pummaxwidth'
"truncrl" - like "trunc" but in 'rl' mode, 'pummaxwidth' "truncrl" - like "trunc" but in 'rl' mode, 'pummaxwidth'
"tpl_vert" - separators for the 'tabpanel' "tpl_vert" - vertical separators for the 'tabpanel'
"foldinner" - character used inside the 'foldcolumn' for nested
fold levels
- 'grepformat' is now a |global-local| option. - 'grepformat' is now a |global-local| option.
- adjust for GTK3 dropping some mouse cursors 'mouseshape' - adjust for GTK3 dropping some mouse cursors 'mouseshape'
- 'nrformats' accepts the new "blank" suboption, to determine a signed or - 'nrformats' accepts the new "blank" suboption, to determine a signed or
@@ -41705,6 +41712,11 @@ Options: ~
- 'rulerformat' now supports the |stl-%!| item - 'rulerformat' now supports the |stl-%!| item
- use 'smoothscroll' logic for CTRL-F / CTRL-B for pagewise scrolling - use 'smoothscroll' logic for CTRL-F / CTRL-B for pagewise scrolling
and CTRL-D / CTRL-U for half-pagewise scrolling and CTRL-D / CTRL-U for half-pagewise scrolling
- Setting 'nowrap' in a modeline could cause long lines to be hidden
off-screen. To make this visible, the listchars "extend" suboption is set
to ">" by default, indicating text that extends beyond the window width.
- 'guioptions': New value |'go-C'| to style the title/caption bar on Windows 11
(see also the below platform specific change).
Ex commands: ~ Ex commands: ~
- allow to specify a priority when defining a new sign |:sign-define| - allow to specify a priority when defining a new sign |:sign-define|
@@ -41730,6 +41742,19 @@ Functions: ~
- |chdir()| allows to optionally specify a scope argument - |chdir()| allows to optionally specify a scope argument
- |matchfuzzy()| and |matchfuzzypos()| use an improved fuzzy matching - |matchfuzzy()| and |matchfuzzypos()| use an improved fuzzy matching
algorithm (same as fzy). algorithm (same as fzy).
- |sha256()| also accepts a |Blob| as argument.
- |listener_add()| allows to register un-buffered listeners, so that changes
are handled as soon as they happen.
Plugins~
- |zip| plugin works with PowerShell Core.
Platform specific ~
- MS-Winodws: Paths like "\Windows" and "/Windows" are now considered to be
absolute paths (to the current drive) and no longer relative.
- MS-Windows: The title bar follows the |hl-TitleBar| and |hl-TitleBarNC|
highlighting group |gui-w32-title-bar|.
- macOS: increase default scheduler priority to TASK_DEFAULT_APPLICATION.
Others: ~ Others: ~
- the regex engines match correctly case-insensitive multi-byte characters - the regex engines match correctly case-insensitive multi-byte characters
@@ -41737,7 +41762,6 @@ Others: ~
- the putty terminal is detected using an |TermResponse| autocommand in - the putty terminal is detected using an |TermResponse| autocommand in
|defaults.vim| and Vim switches to a dark background |defaults.vim| and Vim switches to a dark background
- improve the |vimtutor| and add a second chapter for more advanced tips - improve the |vimtutor| and add a second chapter for more advanced tips
- |CTRL-C| always closes the active |popup-window|.
- the configure script will favor using GTK3 over GTK2 when auto-detecting the - the configure script will favor using GTK3 over GTK2 when auto-detecting the
gui toolkit gui toolkit
- |gv| works in operator pending mode and does not abort - |gv| works in operator pending mode and does not abort
@@ -41756,13 +41780,6 @@ Others: ~
Command-line. Command-line.
- |min()|/|max()| can handle all comparable data types. - |min()|/|max()| can handle all comparable data types.
- Vim triggers the |TermResponseAll| autocommand for any terminal OSC value. - Vim triggers the |TermResponseAll| autocommand for any terminal OSC value.
- Vim includes the $VIMRUNTIME/plugins/colorresp.vim which parses the terminal
OSC response and can trigger a |TermResponseAll| with the "background" or
"foreground" value.
Platform specific ~
- MS-Winodws: Paths like "\Windows" and "/Windows" are now considered to be
absolute paths (to the current drive) and no longer relative.
*added-9.2* *added-9.2*
Added ~ Added ~
@@ -41794,6 +41811,8 @@ Functions: ~
|matchstrlist()| all the matches of a pattern in a List of strings |matchstrlist()| all the matches of a pattern in a List of strings
|ngettext()| lookup single/plural message translation |ngettext()| lookup single/plural message translation
|popup_setbuf()| switch to a different buffer in a popup |popup_setbuf()| switch to a different buffer in a popup
|preinserted()| whether preinserted text has been inserted during
completion (see 'completeopt')
|str2blob()| convert a List of strings into a blob |str2blob()| convert a List of strings into a blob
|test_null_tuple()| return a null tuple |test_null_tuple()| return a null tuple
|tuple2list()| turn a Tuple of items into a List |tuple2list()| turn a Tuple of items into a List
@@ -41819,13 +41838,17 @@ Highlighting: ~
|hl-ComplMatchIns| matched text of the currently inserted completion |hl-ComplMatchIns| matched text of the currently inserted completion
|hl-DiffTextAdd| added text within a changed line |hl-DiffTextAdd| added text within a changed line
|hl-MsgArea| highlighting of the Command-line and messages area |hl-MsgArea| highlighting of the Command-line and messages area
|hl-PmenuBorder| Popup menu: highlighting of popup border characters
|hl-PmenuMatch| Popup menu: highlighting of matched text |hl-PmenuMatch| Popup menu: highlighting of matched text
|hl-PmenuMatchSel| Popup menu: highlighting of matched text in selected |hl-PmenuMatchSel| Popup menu: highlighting of matched text in selected
line line
|hl-PmenuShadow| Popup menu: highlighting of the popup shadow
|hl-PreInsert| highlighting for completion preinserted text |hl-PreInsert| highlighting for completion preinserted text
|hl-TabPanel| |tabpanel|: not active tab page label |hl-TabPanel| |tabpanel|: not active tab page label
|hl-TabPanelFill| |tabpanel|: filler space |hl-TabPanelFill| |tabpanel|: filler space
|hl-TabPanelSel| |tabpanel|: active tab page label |hl-TabPanelSel| |tabpanel|: active tab page label
|hl-TitleBarNC| Configure the inactive title/bar on MS-Windows 11
|hl-TitleBar| Configure the active title/bar on MS-Windows 11
Commands: ~ Commands: ~
@@ -41859,6 +41882,7 @@ Options: ~
'lhistory' Size of the location list stack |quickfix-stack| 'lhistory' Size of the location list stack |quickfix-stack|
'maxsearchcount' Set the maximum number for search-stat |shm-S| 'maxsearchcount' Set the maximum number for search-stat |shm-S|
'messagesopt' configure |:messages| and |hit-enter| prompt 'messagesopt' configure |:messages| and |hit-enter| prompt
'pumborder' define popup border and decorations
'pummaxwidth' maximum width for the completion popup menu 'pummaxwidth' maximum width for the completion popup menu
'showtabpanel' When to show the |tabpanel| 'showtabpanel' When to show the |tabpanel|
'tabclose' Which tab page to focus after closing a tab page 'tabclose' Which tab page to focus after closing a tab page

View File

@@ -1,4 +1,4 @@
*vi_diff.txt* For Vim version 9.1. Last change: 2025 Sep 08 *vi_diff.txt* For Vim version 9.1. Last change: 2025 Sep 29
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1378,10 +1378,10 @@ support is verified as part of the CI test suite.
System | Status:~ System | Status:~
--------------------------------+----------------------------------------- --------------------------------+-----------------------------------------
Amiga (OS4, AROS & MorphOS): | still supported (?) Amiga (OS4, AROS & MorphOS): | supported
Haiku: | supported Haiku: | supported
Linux: | fully supported (on maintained versions) Linux: | fully supported (on maintained versions)
Mac OS: | fully supported up until v10.6 (?) macOS: | fully supported up until v10.6 (?)
MS-Windows 7, 8, 10, 11: | fully supported MS-Windows 7, 8, 10, 11: | fully supported
OpenVMS: | supported OpenVMS: | supported
QNX: | still supported (?) QNX: | still supported (?)

View File

@@ -1,4 +1,4 @@
.TH VIM 1 "27 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2025" .TH VIM 1 "18 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2025"
.SH <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> .SH <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Vim \[em] <20><><EFBFBD> Vi IMproved (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Vi), <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Vim \[em] <20><><EFBFBD> Vi IMproved (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Vi), <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
@@ -568,6 +568,14 @@ vim "+set si" main.c
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> {<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>} <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> {<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>} <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
"\-\-remote" <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> {<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>} <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Vim, "\-\-remote" <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> {<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>} <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Vim,
<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD> {<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>} <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "/",
"./" <20><><EFBFBD> "../", <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
.TP
\-\-clientserver {<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>}
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> {<7B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>} <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "soket" <20><><EFBFBD> "x11". <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> soketserver <20> X11.
.TP .TP
\-\-socketid {id} \-\-socketid {id}
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> GTK. <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> GtkPlug <20><><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> GTK. <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> GtkPlug <20><><EFBFBD>

View File

@@ -1,4 +1,4 @@
.TH VIM 1 "27 июня 2025" .TH VIM 1 "18 августа 2025"
.SH НАЗНАЧЕНИЕ .SH НАЗНАЧЕНИЕ
Программа Vim \[em] это Vi IMproved (Улучшенный Vi), текстовый редактор для Программа Vim \[em] это Vi IMproved (Улучшенный Vi), текстовый редактор для
программистов. программистов.
@@ -568,6 +568,14 @@ vim "+set si" main.c
Использовать указанное {название} в качестве наименования сервера. Если аргумент Использовать указанное {название} в качестве наименования сервера. Если аргумент
"\-\-remote" не указан, то {название} присваивается данной копии редактора Vim, "\-\-remote" не указан, то {название} присваивается данной копии редактора Vim,
в противном случае указывает на сервер, к которому следует подключиться. в противном случае указывает на сервер, к которому следует подключиться.
Если используется сервер сокетов, и если {название} начинается с символа "/",
"./" или "../", она рассматривается как абсолютный или относительный маршрут к
сокету
.TP
\-\-clientserver {движок}
Использовать соответствующий {движок} в качестве серверной части для функционала
клиент-сервер. Допустимыми значениями является "soket" или "x11". Доступно
только при компиляции с активированными компонентами soketserver и X11.
.TP .TP
\-\-socketid {id} \-\-socketid {id}
Только для графического интерфейса GTK. Будет использован механизм GtkPlug для Только для графического интерфейса GTK. Будет использован механизм GtkPlug для

View File

@@ -1,4 +1,4 @@
*vim9.txt* For Vim version 9.1. Last change: 2025 Aug 27 *vim9.txt* For Vim version 9.1. Last change: 2025 Oct 06
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -18,9 +18,29 @@ features in Vim9 script.
5. Generic functions |generic-functions| 5. Generic functions |generic-functions|
6. Namespace, Import and Export |vim9script| 6. Namespace, Import and Export |vim9script|
7. Classes and interfaces |vim9-classes| 7. Classes and interfaces |vim9-classes|
8. Rationale |vim9-rationale| 8. Rationale |vim9-rationale|
------------------------------------------------------------------------------
NOTE: In this vim9.txt help file, the Vim9 script code blocks beginning
with `vim9script` are Vim9 script syntax highlighted. Also, they are
sourceable, meaning you can run them to see what they output. To
source them, use `:'<,'>source` (see |:source-range|), which is done
by visually selecting the line(s) with |V| and typing `:so`.
For example, try it on the following Vim9 script: >vim9
vim9script
echowindow "Welcome to Vim9 script!"
<
There are also code examples that should not be sourced - they
explain concepts that don't require a sourceable example. Such code
blocks appear in generic code syntax highlighting, like this: >
def ThisFunction() # script-local
def g:ThatFunction() # global
export def Function() # for import and import autoload
============================================================================== ==============================================================================
1. What is Vim9 script? *Vim9-script* 1. What is Vim9 script? *Vim9-script*
@@ -1903,126 +1923,240 @@ A generic function allows using the same function with different type
arguments, while retaining type checking for arguments and the return value. arguments, while retaining type checking for arguments and the return value.
This provides type safety and code reusability. This provides type safety and code reusability.
Declaration~ Declaration~
*generic-function-declaration* *generic-function-declaration*
*E1553* *E1554* *E1559* *E1553* *E1554*
The type parameters for a generic function are declared in angle brackets "<" The type variables for a generic function are declared as its type parameters
and ">" directly after the function name. Multiple type names are separated within angle brackets ("<" and ">"), directly after the function name.
by commas: > Multiple type parameters are separated by commas: >
def[!] {funcname}<{type} [, {types}]>([arguments])[: {return-type}] def[!] {funcname}<{type} [, {types}]>([arguments])[: {return-type}]
{function body} {function body}
enddef enddef
< < *generic-function-example*
These type parameters can then be used like any other type within the function These type parameters may then be used, like any other type, within the
signature and body. Example: > function signature and its body. The following example combines two lists
into a list of tuples: >vim9
def MyFunc<T, A, B>(param1: T): T vim9script
var f: A def Zip<T, U>(first: list<T>, second: list<U>): list<tuple<T, U>>
var x = param1 const LEN: number = ([first->len(), second->len()])->min()
return x final result: list<tuple<T, U>> = []
enddef for i in range(LEN)
result->add((first[i], second[i]))
endfor
return result
enddef
var n: list<number> = [61, 62, 63]
var s: list<string> = ['a', 'b', 'c']
echo $"Zip example #1: {Zip<number, string>(n, s)}"
echo $"Zip example #2: {Zip<string, number>(s, n)}"
< <
*type-variable-naming* *E1552* *type-variable-naming* *E1552*
The convention is to use a single uppercase letter for a type variable (e.g., *type-parameter-naming*
T, A, X), although longer names are allowed. The name must start with an As in the preceding example, the convention is to use a single capital letter
uppercase letter. for a name (e.g., T, U, A, etc.). Although they may comprise more than one
letter, names must start with a capital letter. In this example, "Ok" is
valid whereas "n" is not: >vim9
vim9script
def MyFail<Ok, n>(): void
enddef
# E1552: Type variable name must start with an uppercase letter: n...
<
*E1558* *E1560* *E1558* *E1560*
A function must be declared and used either as generic or as a regular A function must be declared and used either as a generic function or as a
function - but not both. regular function, but not both. The following Vim9 scripts demonstrate these
errors: >vim9
vim9script
My1558<number>()
# Vim(eval):E1558: Unknown generic function: My1558
< >vim9
vim9script
def My1560(): void
enddef
My1560<string>()
# Vim(echo):E1560: Not a generic function: My1560
<
*E1561* *E1561*
A type variable name must not conflict with other defined names, such as class Type parameter names must not clash with other identifiers: >vim9
names, type aliases, enum names, function names or other type variable names.
vim9script
def My1561<D, E, D>(): D
enddef
# E1561: Duplicate type variable name: D
vim9script
enum E
Yes, No
endenum
def My1041<E>(): E
enddef
# E0141: Redefining script item "E"
<
Calling a generic function~ Calling a generic function~
*generic-function-call* *generic-function-call*
To call a generic function, specify the concrete types in "<" and ">" To call a generic function, specify the concrete types in "<" and ">"
between the function name and the argument list: > between the function name and the argument list: >
MyFunc<number, string, list<number>>() MyFunc<number, string, list<number>>()
< <
*E1555* *E1556* *E1557* NOTE: There are several working examples in this section, which may
The number of concrete types provided when calling a generic function must be sourced, including |generic-function-example|.
match the number of type variables in the function. An empty type list is not
allowed. Any Vim9 type (|vim9-types|) can be used as a concrete type in a
generic function.
Spaces are not allowed between the function name and "<", or between ">" and *E1555* *E1556* *E1557* *E1559*
the opening "(". The number of passed type arguments to the function must match the number
of its declared type parameters. An empty type list is not allowed.
Examples: >vim9
vim9script
def My1555<>(): void
enddef
# E1555: Empty type list specified for generic function ...
< >vim9
vim9script
def My1556<T>(): void
enddef
My1556<bool, bool>()
# E1556: Too many types specified for generic function ...
< >vim9
vim9script
def My1557<T, U>(): void
enddef
My1557<bool>()
# E1557: Not enough types specified for generic function ...
< >vim9
vim9script
def My1559<T>(): T
enddef
My1559()
# Vim(eval):E1559: Type arguments missing for generic function ...
<
Any Vim9 type (|vim9-types|) can be used as a concrete type in a generic
function.
Spaces are not allowed:
- Between the function name and "<" (|E1068|)
- Between ">" and the opening "(" (|E1068|), or
- Within the "<" and ">", except where required after the comma separating
the types (|E1202|).
A generic function can be exported and imported like a regular function. A generic function can be exported and imported like a regular function.
See |:export| and |:import|. See |:export| and |:import|.
A generic function can be defined inside another regular or generic function. A generic function can be defined inside another regular or generic function.
Example: >vim9
Referencing type variables in generic types~ vim9script
def Outer(): void
Instead of concrete types, type variables can be used with generic types. # Returns either the first item of a list or a default value
This is useful for complex data structures like lists of dictionaries or def FirstOrDefault<T, U>(lst: list<T>, default: U): any
dictionaries of lists. Example: > return lst->len() > 0 ? lst[0] : default
enddef
vim9script echo FirstOrDefault<string, bool>(['B', 'C'], false) # echos B
echo FirstOrDefault<number, number>([], 42) # echos 42
def Flatten<T>(x: list<list<T>>): list<T> enddef
var result: list<T> = [] Outer()
for inner in x
result += inner
endfor
return result
enddef
echo Flatten<number>([[1, 2], [3]])
< <
Using a type variable as a type argument ~
A type variable may also be passed as a type argument. For example: >vim9
vim9script
# T is declared as a type parameter
# It is used for the 'value' parameter and the return type
def Id<T>(value: T): T
return value
enddef
# U is declared as a type parameter
# It is used for the 'value' parameter and the return type
def CallId<U>(value: U): U
# U is a type variable passed/used as a type argument
return Id<U>(value)
enddef
echo CallId<string>('I am') .. ' ' .. CallId<number>(42)
This is useful for complex data structures like dictionaries of lists or,
as in the following example, lists of dictionaries: >vim9
vim9script
def Flatten<T>(x: list<list<T>>): list<T>
final result: list<T> = []
for inner in x
result->extend(inner)
endfor
return result
enddef
const ENGLISH: list<dict<string>> = [{1: 'one'}, {2: 'two'}]
const MANDARIN: list<dict<string>> = [{1: '壹'}, {2: '贰'}]
const ARABIC_N: list<dict<number>> = [{1: 1}, {2: 2}]
echo Flatten<dict<string>>([ENGLISH, MANDARIN])
echo Flatten<dict<any>>([ENGLISH, ARABIC_N])
<
In "Flatten<T>", "T" is a declared type parameter. Everywhere else in
the function, "T" is a type variable referencing that type parameter.
Generic class method~ Generic class method~
A Vim9 class method can be a generic function: > A Vim9 class method can be a generic function: >vim9
class A vim9script
def Foo<X, Y>() class Config
enddef var settings: dict<any>
endclass def Get<T>(key: string): T
var a = A.new() return this.settings[key]
a.Foo<number, string>() enddef
endclass
var c: Config = Config.new({timeout: 30, debug: true})
echo c.Get<number>('timeout')
echo c.Get<bool>('debug')
< <
*E1432* *E1433* *E1434* *E1432* *E1433* *E1434*
A generic class method in a base class can be overridden by a generic method A generic class method in a base class can be overridden by a generic method
in a child class. The number of type variables must match between both in a child class. The number of type variables must match between both
methods. A concrete class method cannot be overridden by a generic method, methods. A concrete class method cannot be overridden by a generic method,
and vice versa. and vice versa.
Generic function reference~ Generic function reference~
A function reference (|Funcref|) can be a generic function. This allows for A function reference (|Funcref|) can be a generic function. This allows for
creating factories of functions that operate on specific types: > creating factories of functions that operate on specific types: >vim9
vim9script vim9script
# Match a specified character in a string or the decimal value of the
def MakeEcho<T>(): func(T): T # character in a list. Note: '*' is decimal 42 (U+002A)
return (x: T): T => x var c: string = "*"
enddef var char_dec: tuple<string, string> = (c, c->char2nr()->string())
def Matcher<T>(pattern: string): func(T): bool
var EchoNumber = MakeEcho<number>() return (value: T): bool => match(value, pattern) >= 0
echo EchoNumber(123) enddef
var StringMatch = Matcher<string>(char_dec[0])
var EchoString = MakeEcho<string>() echo "*+"->StringMatch() # true (has *)
echo EchoString('abc') echo ",-"->StringMatch() # false
var ListMatch = Matcher<list<number>>(char_dec[1])
echo [42, 43]->ListMatch() # true (has 42)
echo [44, 45]->ListMatch() # false
< <
Compiling and Disassembling Generic functions~ Compiling and Disassembling Generic functions~
The |:defcompile| command can be used to compile a generic function with a The |:defcompile| command can be used to compile a generic function with a
specific list of concrete types: > specific list of concrete types: >
defcompile MyFunc<number, list<number>, dict<string>> defcompile MyFunc<number, list<number>, dict<string>>
< <
The |:disassemble| command can be used to list the instructions generated for The |:disassemble| command can be used to list the instructions generated for
a generic function: > a generic function: >
disassemble MyFunc<string, dict<string>> disassemble MyFunc<string, dict<string>>
disassemble MyFunc<number, list<blob>> disassemble MyFunc<number, list<blob>>
< <
Limitations and Future Work~ Limitations and Future Work~
Currently, Vim does not support: Currently, Vim does not support:
@@ -2083,26 +2217,41 @@ original value to get the same effect. The order of flags may change.
In the |vimrc| file sourced on startup this does not happen. In the |vimrc| file sourced on startup this does not happen.
*vim9-mix* *vim9-mix*
There is one way to use both legacy and Vim9 syntax in one script file: > There is one way to use both legacy and Vim9 syntax in one script file: >vim9
" comments may go here
" _legacy Vim script_ comments here
if !has('vim9script') if !has('vim9script')
" legacy script commands go here " _legacy Vim script_ comments/commands here
finish finish
endif endif
vim9script vim9script
# Vim9 script commands go here # _Vim9 script_ commands/commands from here onwards
echowindow $"has('vim9script') == {has('vim9script')}"
<
This allows for writing a script that takes advantage of the Vim9 script This allows for writing a script that takes advantage of the Vim9 script
syntax if possible, but will also work on a Vim version without it. syntax if possible, and prevents the vim9script command from throwing an
error if used in a version of Vim without 'vim9script'.
Note that Vim9 syntax changed before Vim 9 so that scripts using the current Note that Vim9 syntax changed before Vim 9 so that scripts using the current
syntax (such as "import from" instead of "import") might throw errors. syntax (such as "import from" instead of "import") might throw errors.
To prevent these, a safer check could be for |v:version| >= 900 instead. To prevent these, a safer check may be |v:version| >= 900 instead (because
"has('vim9script')" will return `v:true` back to Vim 8.2 with patch 3965).
Sometimes it is prudent to cut off even later. Vim9 script's feature set
continues to grow so, for example, if tuples are used (introduced in Vim 9.1
patch 1232), a better condition is: >vim9
This can only work in two ways: if !has('patch-9.1.1232')
1. The "if" statement evaluates to false, the commands up to `endif` are echowindow $"Fail: Vim does not have patch 9.1.1232"
skipped and `vim9script` is then the first command actually executed. finish
2. The "if" statement evaluates to true, the commands up to `endif` are endif
executed and `finish` bails out before reaching `vim9script`. vim9script
echowindow $"Pass: version {v:versionlong}. Continuing ..."
<
Whichever vim-mix condition is used, it only works in one of two ways:
1. The "if" statement evaluates to false, the commands up to `endif` are
skipped and `vim9script` is then the first command actually executed.
2. The "if" statement evaluates to true, the commands up to `endif` are
executed and `finish` bails out before reaching `vim9script`.
Export ~ Export ~
@@ -2127,13 +2276,13 @@ interfaces and enums can be exported.
Import ~ Import ~
*:import* *:imp* *E1094* *E1047* *E1262* *:import* *:imp* *E1094* *E1047* *E1262*
*E1048* *E1049* *E1053* *E1071* *E1088* *E1236* *E1048* *E1049* *E1053* *E1071* *E1088* *E1236*
The exported items can be imported in another script. The import syntax has The exported items can be imported in another script. The import syntax has
two forms. The simple form: > two forms. The simple form: >
import {filename} import {filename}
< <
Where {filename} is an expression that must evaluate to a string. In this Where {filename} is an expression that must evaluate to a string. In this
form the filename should end in ".vim" and the portion before ".vim" will form the filename should end in ".vim" and the portion before ".vim" will
become the script local name of the namespace. For example: > become the script local name of the namespace. For example: >
import "myscript.vim" import "myscript.vim"
< <
This makes each exported item in "myscript.vim" available as "myscript.item". This makes each exported item in "myscript.vim" available as "myscript.item".
@@ -2209,7 +2358,7 @@ Note that this does not work for variables, only for functions.
*import-legacy* *legacy-import* *import-legacy* *legacy-import*
`:import` can also be used in legacy Vim script. The imported namespace still `:import` can also be used in legacy Vim script. The imported namespace still
becomes script-local, even when the "s:" prefix is not given. For example: > becomes script-local, even when the "s:" prefix is not given. For example: >
import "myfile.vim" import "myfile.vim"
call s:myfile.MyFunc() call s:myfile.MyFunc()
@@ -2224,8 +2373,8 @@ However, the namespace cannot be resolved on its own: >
< <
This also affects the use of |<SID>| in the legacy mapping context. Since This also affects the use of |<SID>| in the legacy mapping context. Since
|<SID>| is only a valid prefix for a function and NOT for a namespace, you |<SID>| is only a valid prefix for a function and NOT for a namespace, you
cannot use it to scope a function in a script local namespace. Instead of cannot use it to scope a function in a script local namespace. Instead of
prefixing the function with |<SID>| you should use|<ScriptCmd>|. For example: prefixing the function with |<SID>| you should use |<ScriptCmd>|. For example:
> >
noremap ,a <ScriptCmd>:call s:that.OtherFunc()<CR> noremap ,a <ScriptCmd>:call s:that.OtherFunc()<CR>
< <
@@ -2243,43 +2392,47 @@ Importing an autoload script ~
For optimal startup speed, loading scripts should be postponed until they are For optimal startup speed, loading scripts should be postponed until they are
actually needed. Using the autoload mechanism is recommended: actually needed. Using the autoload mechanism is recommended:
*E1264* *E1264*
1. In the plugin define user commands, functions and/or mappings that refer to 1. In the plugin, define user commands, functions and/or mappings
items imported from an autoload script. > referring to items imported from an autoload script. >
import autoload 'for/search.vim' import autoload 'for/search.vim'
command -nargs=1 SearchForStuff search.Stuff(<f-args>) command -nargs=1 SearchForStuff search.Stuff(<f-args>)
< This goes in .../plugin/anyname.vim. "anyname.vim" can be freely chosen. < This goes in .../plugin/anyname.vim. "anyname.vim" can be freely
The "SearchForStuff" command is now available to the user. chosen. The "SearchForStuff" command is now available to the user.
The "autoload" argument to `:import` means that the script is not loaded The "autoload" argument to `:import` means that the script is not
until one of the items is actually used. The script will be found under loaded until one of the items is actually used. The script will be
the "autoload" directory in 'runtimepath' instead of the "import" found under the "autoload" directory in 'runtimepath' instead of the
directory. Alternatively a relative or absolute name can be used, see "import" directory. Alternatively, either a relative or absolute
below. name can be used - see below.
2. In the autoload script put the bulk of the code. >
2. In the autoload script put the bulk of the code. >
vim9script vim9script
export def Stuff(arg: string) export def Stuff(arg: string): void
... ...
< This goes in .../autoload/for/search.vim. < This goes in .../autoload/for/search.vim.
Putting the "search.vim" script under the "/autoload/for/" directory has Putting the "search.vim" script under the "/autoload/for/" directory
the effect that "for#search#" will be prefixed to every exported item. The has the effect that "for#search#" will be prefixed to every exported
prefix is obtained from the file name, as you would to manually in a item. The prefix is obtained from the file name, just as you would
legacy autoload script. Thus the exported function can be found with add it manually in a legacy autoload script. Thus the exported
"for#search#Stuff", but you would normally use `import autoload` and not function can be found with "for#search#Stuff", but you would normally
use the prefix (which has the side effect of loading the autoload script use `import autoload` and not use the prefix (which has the side effect
when compiling a function that encounters this name). of loading the autoload script when compiling a function that
encounters this name).
You can split up the functionality and import other scripts from the You can split up the functionality and import other scripts from the
autoload script as you like. This way you can share code between plugins. autoload script as you like. This way you can share code between
plugins.
Searching for the autoload script in all entries in 'runtimepath' can be a bit Searching for the autoload script in all entries in 'runtimepath' can be a bit
slow. If the plugin knows where the script is located, quite often a relative slow. If the plugin knows where the script is located, quite often a relative
path can be used. This avoids the search and should be quite a bit faster. path can be used. This avoids the search and should be quite a bit faster.
Another advantage is that the script name does not need to be unique. An Another advantage is that the script name does not need to be unique. Also,
absolute path is also possible. Examples: > an absolute path is possible. Examples: >
import autoload '../lib/implement.vim' import autoload '../lib/implement.vim'
import autoload MyScriptsDir .. '/lib/implement.vim' import autoload MyScriptsDir .. '/lib/implement.vim'
@@ -2316,14 +2469,14 @@ Or: >
7. Classes and interfaces *vim9-classes* 7. Classes and interfaces *vim9-classes*
In legacy script a Dictionary could be used as a kind-of object, by adding In legacy Vim script, a Dictionary could be used as a kind-of object by adding
members that are functions. However, this is quite inefficient and requires members that are functions. However, this is quite inefficient and requires
the writer to do the work of making sure all the objects have the right the writer to do the work of making sure all the objects have the right
members. See |Dictionary-function|. members. See |Dictionary-function|.
In |Vim9| script you can have classes, objects and interfaces like in most In |Vim9| script you can have classes, objects, interfaces, and enums like
popular object-oriented programming languages. Since this is a lot of in most popular object-oriented programming languages. Since this is a lot
functionality it is located in a separate help file: |vim9class.txt|. of functionality, it is located in a separate help file: |vim9class.txt|.
============================================================================== ==============================================================================
@@ -2345,7 +2498,7 @@ which allows for a function with different semantics. Most things still work
as before, but some parts do not. A new way to define a function was as before, but some parts do not. A new way to define a function was
considered the best way to separate the legacy style code from Vim9 style code. considered the best way to separate the legacy style code from Vim9 style code.
Using "def" to define a function comes from Python. Other languages use Using "def" to define a function comes from Python. Other languages use
"function" which clashes with legacy Vim script. "function" which clashes with legacy Vim script.
@@ -2360,11 +2513,19 @@ arguments and decide what kind of addition to do. And when the type is
dictionary throw an error. If the types are known to be numbers then an "add dictionary throw an error. If the types are known to be numbers then an "add
number" instruction can be used, which is faster. The error can be given at number" instruction can be used, which is faster. The error can be given at
compile time, no error handling is needed at runtime, since adding two numbers compile time, no error handling is needed at runtime, since adding two numbers
cannot fail. almost never fails.
The syntax for types, using <type> for compound types, is similar to Java. It NOTE: As a tangential point, the exception is integer overflow, where the
is easy to understand and widely used. The type names are what were used in result exceeds the maximum integer value. For example, adding to a 64-bit
Vim before, with some additions such as "void" and "bool". signed integer where the result is greater than 2^63: >vim9
vim9script
echo 9223372036854775807 + 1 # -9223372036854775808
echo 2->pow(63)->float2nr() + 1 # -9223372036854775808
<
The syntax for types, using <type> for compound types, is similar to Java.
It is easy to understand and widely used. The type names are what were used
in Vim before, with some additions such as "void" and "bool".
Removing clutter and weirdness ~ Removing clutter and weirdness ~
@@ -2475,11 +2636,11 @@ This is how we put types in a declaration: >
def Func(arg1: number, arg2: string): bool def Func(arg1: number, arg2: string): bool
Two alternatives were considered: Two alternatives were considered:
1. Put the type before the name, like Dart: > 1. Put the type before the name, like Dart: >
var list<string> mylist var list<string> mylist
final list<string> mylist = ['foo'] final list<string> mylist = ['foo']
def Func(number arg1, string arg2) bool def Func(number arg1, string arg2) bool
2. Put the type after the variable name, but do not use a colon, like Go: > < 2. Put the type after the variable name, but do not use a colon, like Go: >
var mylist list<string> var mylist list<string>
final mylist list<string> = ['foo'] final mylist list<string> = ['foo']
def Func(arg1 number, arg2 string) bool def Func(arg1 number, arg2 string) bool
@@ -2519,17 +2680,21 @@ functions return these values, and changing that causes more problems than it
solves. After using this for a while it turned out to work well. solves. After using this for a while it turned out to work well.
If you have any type of value and want to use it as a boolean, use the `!!` If you have any type of value and want to use it as a boolean, use the `!!`
operator: operator (see |expr-!|): >vim9
true: `!!'text'` `!![99]` `!!{'x': 1}` `!!99`
false: `!!''` `!![]` `!!{}`
vim9script
# The following are all true:
echo [!!'text', !![1], !!{'x': 1}, !!1, !!1.1]
# And these are all false:
echo [!!'', !![], !!{}, !!0, !!0.0]
<
From a language like JavaScript we have this handy construct: > From a language like JavaScript we have this handy construct: >
GetName() || 'unknown' GetName() || 'unknown'
However, this conflicts with only allowing a boolean for a condition. However, this conflicts with only allowing a boolean for a condition.
Therefore the "??" operator was added: > Therefore the "??" operator was added: >
GetName() ?? 'unknown' GetName() ?? 'unknown'
Here you can explicitly express your intention to use the value as-is and not Here you can explicitly express your intention to use the value as-is and not
result in a boolean. This is called the |falsy-operator|. result in a boolean. This is called the |falsy-operator|.
Import and Export ~ Import and Export ~
@@ -2554,9 +2719,9 @@ that works like one would expect:
not needed. not needed.
- The Vim-specific use of "s:" to make things script-local can be dropped. - The Vim-specific use of "s:" to make things script-local can be dropped.
When sourcing a Vim9 script (from a Vim9 or legacy script), only the items When sourcing a Vim9 script (from either a Vim9 script or legacy Vim script),
defined globally can be used, not the exported items. Alternatives only the items defined globally can be used, not the exported items.
considered: Alternatives considered:
- All the exported items become available as script-local items. This makes - All the exported items become available as script-local items. This makes
it uncontrollable what items get defined and likely soon leads to trouble. it uncontrollable what items get defined and likely soon leads to trouble.
- Use the exported items and make them global. Disadvantage is that it's then - Use the exported items and make them global. Disadvantage is that it's then
@@ -2607,8 +2772,8 @@ and channels. We can try to make this easier somehow.
Using an external tool also has disadvantages. An alternative is to convert Using an external tool also has disadvantages. An alternative is to convert
the tool into Vim script. For that to be possible without too much the tool into Vim script. For that to be possible without too much
translation, and keeping the code fast at the same time, the constructs of the translation, and keeping the code fast at the same time, the constructs of the
tool need to be supported. Since most languages support classes the lack of tool need to be supported. Since Vim9 script now includes support for
support for classes in Vim is then a problem. classes, objects, interfaces, and enums, that is increasingly feasible.

View File

@@ -1,4 +1,4 @@
*wayland.txt* For Vim version 9.1. Last change: 2025 Sep 02 *wayland.txt* For Vim version 9.1. Last change: 2025 Sep 22
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -56,7 +56,7 @@ protocols, for accessing the current Wayland selection. These are the best
case scenario protocols, see |wayland-focus-steal|. Selection in this case case scenario protocols, see |wayland-focus-steal|. Selection in this case
essentially means the "clipboard." You can check if your Wayland compositor essentially means the "clipboard." You can check if your Wayland compositor
supports either of these protocols by running the wayland-info command, which supports either of these protocols by running the wayland-info command, which
should be bunded with libwayland on your system: > should be bundled with libwayland on your system: >
wayland-info | grep -E '(ext_data_control|zwlr_data_control)' wayland-info | grep -E '(ext_data_control|zwlr_data_control)'
<If grep finds a match, then you have either or both protocols on your system. <If grep finds a match, then you have either or both protocols on your system.
If you don't get any match, then please see |wayland-focus-steal| for more If you don't get any match, then please see |wayland-focus-steal| for more
@@ -105,7 +105,8 @@ To solve this problem, Vim implements a way of gaining focus in order to
access the clipboard, by creating a temporary transparent top-level surface. access the clipboard, by creating a temporary transparent top-level surface.
This is by default disabled and can be enabled via the 'wlsteal' option. This is by default disabled and can be enabled via the 'wlsteal' option.
Moreover, a seat that has a keyboard is also required, see 'wlseat', and the Moreover, a seat that has a keyboard is also required, see 'wlseat', and the
xdg-shell protocol must be available. xdg-shell protocol must be available. Additionally, Vim must be compiled with
the |+wayland_focus_steal| feature.
Note that this method can have several side effects from the result of focus Note that this method can have several side effects from the result of focus
stealing. For example, if you have a taskbar that shows currently opened apps stealing. For example, if you have a taskbar that shows currently opened apps

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,14 @@
" Vim filetype plugin
" Language: codeowners
" Maintainer: Jon Parise <jon@indelible.org>
" Last Change: 2025 Sep 14
"
if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin = 1
setl comments=:# commentstring=#\ %s
setl formatoptions-=t formatoptions+=croql
let b:undo_ftplugin = 'setl com< cms< fo<'

View File

@@ -2,9 +2,7 @@
" Language: HTML " Language: HTML
" Maintainer: Doug Kearns <dougkearns@gmail.com> " Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Dan Sharp " Previous Maintainer: Dan Sharp
" Last Change: 2024 Jan 14 " Last Change: 2025 Sep 12
" 2024 May 24 update 'commentstring' option
" 2025 May 10 add expression folding #17141
if exists("b:did_ftplugin") if exists("b:did_ftplugin")
finish finish
@@ -18,7 +16,12 @@ setlocal matchpairs+=<:>
setlocal commentstring=<!--\ %s\ --> setlocal commentstring=<!--\ %s\ -->
setlocal comments=s:<!--,m:\ \ \ \ ,e:--> setlocal comments=s:<!--,m:\ \ \ \ ,e:-->
let b:undo_ftplugin = "setlocal comments< commentstring< matchpairs<" if exists('b:undo_ftplugin')
" no whitespace before |, handle possible :unmap at end of current value
let b:undo_ftplugin ..= "| setlocal comments< commentstring< matchpairs<"
else
let b:undo_ftplugin = "setlocal comments< commentstring< matchpairs<"
endif
if get(g:, "ft_html_autocomment", 0) if get(g:, "ft_html_autocomment", 0)
setlocal formatoptions-=t formatoptions+=croql setlocal formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,25 @@
" Vim filetype plugin
" Language: KerML
" Author: Daumantas Kavolis <daumantas.kavolis@sensmetry.com>
" Last Change: 2025-10-06
" 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
" Set 'comments' to format dashed and starred lists in comments,
" include /*...*/ in 'comments' for formatting even if it technically
" is not
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,sO:*\ *,mO:*\ \ ,exO:*/,sr://*,mb:*,ex:*/,sr:/*,mb:*,ex:*/,:///,://
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 formatoptions-=t
setlocal formatoptions+=croql
let b:undo_ftplugin = 'setlocal comments< commentstring< formatoptions<'

View File

@@ -2,13 +2,15 @@
" Language: Pkl " Language: Pkl
" Maintainer: Riley Bruins <ribru17@gmail.com> " Maintainer: Riley Bruins <ribru17@gmail.com>
" Last Change: 2025 Jul 14 " Last Change: 2025 Jul 14
" 2025 Oct 03 by Vim Project Add foldmethod #18274
if exists('b:did_ftplugin') if exists('b:did_ftplugin')
finish finish
endif endif
let b:did_ftplugin = 1 let b:did_ftplugin = 1
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:// setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,:///,://
setlocal commentstring=//\ %s setlocal commentstring=//\ %s
setlocal foldmethod=syntax
let b:undo_ftplugin = 'setl com< cms<' let b:undo_ftplugin = 'setl com< cms< fdm<'

View File

@@ -0,0 +1,12 @@
" Vim filetype plugin
" Language: SysML
" Author: Daumantas Kavolis <daumantas.kavolis@sensmetry.com>
" Last Change: 2025-10-03
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
" Behaves mostly just like KerML, only differs by keywords
runtime! ftplugin/kerml.vim

View File

@@ -218,3 +218,8 @@ endif
set path=.,, set path=.,,
set clipboard=unnamed,unnamedplus set clipboard=unnamed,unnamedplus
" END_INDENT " END_INDENT
" START_INDENT
registers +
echo 'text'
" END_INDENT

View File

@@ -218,3 +218,8 @@ endif
set path=.,, set path=.,,
set clipboard=unnamed,unnamedplus set clipboard=unnamed,unnamedplus
" END_INDENT " END_INDENT
" START_INDENT
registers +
echo 'text'
" END_INDENT

View File

@@ -782,3 +782,14 @@ this.value = value
enddef enddef
endenum endenum
# END_INDENT # END_INDENT
# START_INDENT
def ToggleBoolOpt(opt: string)
exe $"&{opt} = !&{opt}"
$"&{opt}"
->eval()
->( (v) => v ? "ON" : "OFF" )()
->printf($"{opt} %s")
->popup_notification({})
enddef
# END_INDENT

View File

@@ -782,3 +782,14 @@ enum Digits
enddef enddef
endenum endenum
# END_INDENT # END_INDENT
# START_INDENT
def ToggleBoolOpt(opt: string)
exe $"&{opt} = !&{opt}"
$"&{opt}"
->eval()
->( (v) => v ? "ON" : "OFF" )()
->printf($"{opt} %s")
->popup_notification({})
enddef
# END_INDENT

View File

@@ -1,7 +1,7 @@
" These commands create the option window. " These commands create the option window.
" "
" Maintainer: The Vim Project <https://github.com/vim/vim> " Maintainer: The Vim Project <https://github.com/vim/vim>
" Last Change: 2025 Sep 02 " Last Change: 2025 Oct 07
" Former Maintainer: Bram Moolenaar <Bram@vim.org> " Former Maintainer: Bram Moolenaar <Bram@vim.org>
" If there already is an option window, jump to that one. " If there already is an option window, jump to that one.
@@ -373,7 +373,7 @@ call <SID>AddOption("sidescrolloff", gettext("minimal number of columns to keep
call append("$", " \tset siso=" . &siso) call append("$", " \tset siso=" . &siso)
call <SID>AddOption("display", gettext("include \"lastline\" to show the last line even if it doesn't fit\ninclude \"uhex\" to show unprintable characters as a hex number")) call <SID>AddOption("display", gettext("include \"lastline\" to show the last line even if it doesn't fit\ninclude \"uhex\" to show unprintable characters as a hex number"))
call <SID>OptionG("dy", &dy) call <SID>OptionG("dy", &dy)
call <SID>AddOption("fillchars", gettext("characters to use for the status line, folds, diffs, buffer text, filler lines and truncation in the completion menu")) call <SID>AddOption("fillchars", gettext("characters to use for the status line, folds, diffs,\nbuffer text, filler lines and truncation in the completion menu"))
call <SID>OptionG("fcs", &fcs) call <SID>OptionG("fcs", &fcs)
call <SID>AddOption("cmdheight", gettext("number of lines used for the command-line")) call <SID>AddOption("cmdheight", gettext("number of lines used for the command-line"))
call append("$", " \tset ch=" . &ch) call append("$", " \tset ch=" . &ch)
@@ -689,7 +689,7 @@ if has("gui")
call append("$", " \tset ghr=" . &ghr) call append("$", " \tset ghr=" . &ghr)
endif endif
if has("gui_gtk") || has("gui_win32") if has("gui_gtk") || has("gui_win32")
call <SID>AddOption("guiligatures", gettext("list of ASCII characters that can be combined into complex shapes")) call <SID>AddOption("guiligatures", gettext("list of ASCII characters that can be combined into complex\nshapes"))
call <SID>OptionG("gli", &gli) call <SID>OptionG("gli", &gli)
endif endif
if has("directx") if has("directx")
@@ -699,7 +699,7 @@ if has("gui")
call <SID>AddOption("guipty", gettext("use a pseudo-tty for I/O to external commands")) call <SID>AddOption("guipty", gettext("use a pseudo-tty for I/O to external commands"))
call <SID>BinOptionG("guipty", &guipty) call <SID>BinOptionG("guipty", &guipty)
if has("browse") if has("browse")
call <SID>AddOption("browsedir", gettext("\"last\", \"buffer\" or \"current\": which directory used for the file browser")) call <SID>AddOption("browsedir", gettext("\"last\", \"buffer\" or \"current\": which directory used for\nthe file browser"))
call <SID>OptionG("bsdir", &bsdir) call <SID>OptionG("bsdir", &bsdir)
endif endif
if has("multi_lang") if has("multi_lang")
@@ -724,7 +724,7 @@ if has("gui")
call <SID>BinOptionG("beval", &beval) call <SID>BinOptionG("beval", &beval)
endif endif
if has("balloon_eval_term") if has("balloon_eval_term")
call <SID>AddOption("balloonevalterm", gettext("use balloon evaluation in the terminal")) call <SID>AddOption("balloonevalterm", gettext(" \nuse balloon evaluation in the terminal"))
call <SID>BinOptionG("bevalterm", &beval) call <SID>BinOptionG("bevalterm", &beval)
endif endif
if has("eval") if has("eval")
@@ -841,7 +841,7 @@ if has('wayland')
call <SID>AddOption("wlseat", gettext("Wayland seat to use")) call <SID>AddOption("wlseat", gettext("Wayland seat to use"))
call <SID>OptionG("wse", &wse) call <SID>OptionG("wse", &wse)
endif endif
if has("wayland_clipboard") if has("wayland_focus_steal")
call <SID>AddOption("wlsteal", gettext("Enable wayland focus stealing functionality in order to access the clipboard")) call <SID>AddOption("wlsteal", gettext("Enable wayland focus stealing functionality in order to access the clipboard"))
call <SID>BinOptionG("wst", &wst) call <SID>BinOptionG("wst", &wst)
endif endif
@@ -895,18 +895,19 @@ if has("insert_expand")
call append("$", "\t" .. s:local_to_buffer) call append("$", "\t" .. s:local_to_buffer)
call <SID>OptionL("cpt") call <SID>OptionL("cpt")
call <SID>AddOption("autocomplete", gettext("automatic completion in insert mode")) call <SID>AddOption("autocomplete", gettext("automatic completion in insert mode"))
call append("$", "\t" .. s:global_or_local)
call <SID>BinOptionG("ac", &ac) call <SID>BinOptionG("ac", &ac)
call <SID>AddOption("autocompletetimeout", gettext("initial decay timeout for 'autocomplete' algorithm")) call <SID>AddOption("autocompletetimeout", gettext(" \ninitial decay timeout for 'autocomplete' algorithm"))
call append("$", " \tset act=" . &act) call append("$", " \tset act=" . &act)
call <SID>AddOption("completetimeout", gettext("initial decay timeout for CTRL-N and CTRL-P completion")) call <SID>AddOption("completetimeout", gettext(" \ninitial decay timeout for CTRL-N and CTRL-P completion"))
call append("$", " \tset cto=" . &cto) call append("$", " \tset cto=" . &cto)
call <SID>AddOption("autocompletedelay", gettext("delay in msec before menu appears after typing")) call <SID>AddOption("autocompletedelay", gettext(" \ndelay in msec before menu appears after typing"))
call append("$", " \tset acl=" . &acl) call append("$", " \tset acl=" . &acl)
call <SID>AddOption("completeopt", gettext("whether to use a popup menu for Insert mode completion")) call <SID>AddOption("completeopt", gettext("whether to use a popup menu for Insert mode completion"))
call <SID>OptionL("cot") call <SID>OptionL("cot")
call <SID>AddOption("completeitemalign", gettext("popup menu item align order")) call <SID>AddOption("completeitemalign", gettext(" \npopup menu item align order"))
call <SID>OptionG("cia", &cia) call <SID>OptionG("cia", &cia)
call <SID>AddOption("completefuzzycollect", gettext("use fuzzy collection for specific completion modes")) call <SID>AddOption("completefuzzycollect", gettext(" \nuse fuzzy collection for specific completion modes"))
call <SID>OptionL("cfc") call <SID>OptionL("cfc")
if exists("+completepopup") if exists("+completepopup")
call <SID>AddOption("completepopup", gettext("options for the Insert mode completion info popup")) call <SID>AddOption("completepopup", gettext("options for the Insert mode completion info popup"))
@@ -918,6 +919,8 @@ if has("insert_expand")
call <SID>OptionG("pw", &pw) call <SID>OptionG("pw", &pw)
call <SID>AddOption("pummaxwidth", gettext("maximum width of the popup menu")) call <SID>AddOption("pummaxwidth", gettext("maximum width of the popup menu"))
call <SID>OptionG("pmw", &pmw) call <SID>OptionG("pmw", &pmw)
call <SID>AddOption("pumborder", gettext("popup border style"))
call <SID>OptionG("pb", &pb)
call <SID>AddOption("completefunc", gettext("user defined function for Insert mode completion")) call <SID>AddOption("completefunc", gettext("user defined function for Insert mode completion"))
call append("$", "\t" .. s:local_to_buffer) call append("$", "\t" .. s:local_to_buffer)
call <SID>OptionL("cfu") call <SID>OptionL("cfu")
@@ -1284,7 +1287,7 @@ if has("quickfix")
call <SID>AddOption("makeencoding", gettext("encoding of the \":make\" and \":grep\" output")) call <SID>AddOption("makeencoding", gettext("encoding of the \":make\" and \":grep\" output"))
call append("$", "\t" .. s:global_or_local) call append("$", "\t" .. s:global_or_local)
call <SID>OptionG("menc", &menc) call <SID>OptionG("menc", &menc)
call <SID>AddOption("quickfixtextfunc", gettext("function to display text in the quickfix window")) call <SID>AddOption("quickfixtextfunc", gettext(" \nfunction to display text in the quickfix window"))
call <SID>OptionG("qftf", &qftf) call <SID>OptionG("qftf", &qftf)
endif endif
@@ -1486,7 +1489,7 @@ if exists("&pythonthreedll")
call <SID>OptionG("pythonthreedll", &pythonthreedll) call <SID>OptionG("pythonthreedll", &pythonthreedll)
endif endif
if exists("&pythonthreehome") if exists("&pythonthreehome")
call <SID>AddOption("pythonthreehome", gettext("name of the Python 3 home directory")) call <SID>AddOption("pythonthreehome", gettext(" \nname of the Python 3 home directory"))
call <SID>OptionG("pythonthreehome", &pythonthreehome) call <SID>OptionG("pythonthreehome", &pythonthreehome)
endif endif
if exists("&rubydll") if exists("&rubydll")

View File

@@ -6,6 +6,10 @@
" 2025 Aug 07 by Vim Project (netrw#BrowseX() distinguishes remote files #17794) " 2025 Aug 07 by Vim Project (netrw#BrowseX() distinguishes remote files #17794)
" 2025 Aug 22 by Vim Project netrw#Explore handle terminal correctly #18069 " 2025 Aug 22 by Vim Project netrw#Explore handle terminal correctly #18069
" 2025 Sep 05 by Vim Project ensure netrw#fs#Dirname() returns trailing slash #18199 " 2025 Sep 05 by Vim Project ensure netrw#fs#Dirname() returns trailing slash #18199
" 2025 Sep 11 by Vim Project only keep cursor position in tree mode #18275
" 2025 Sep 17 by Vim Project tighten the regex to handle remote compressed archives #18318
" 2025 Sep 18 by Vim Project 'equalalways' not always respected #18358
" 2025 Oct 01 by Vim Project fix navigate to parent folder #18464
" Copyright: Copyright (C) 2016 Charles E. Campbell {{{1 " Copyright: Copyright (C) 2016 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code, " Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright " with or without modifications, provided that this copyright
@@ -3047,12 +3051,12 @@ function s:NetrwBrowse(islocal,dirname)
exe "sil! NetrwKeepj keepalt doau BufReadPre ".fnameescape(s:fname) exe "sil! NetrwKeepj keepalt doau BufReadPre ".fnameescape(s:fname)
sil call netrw#NetRead(2,url) sil call netrw#NetRead(2,url)
" netrw.vim and tar.vim have already handled decompression of the tarball; avoiding gzip.vim error " netrw.vim and tar.vim have already handled decompression of the tarball; avoiding gzip.vim error
if s:path =~ '.bz2' if s:path =~ '\.bz2$'
exe "sil NetrwKeepj keepalt doau BufReadPost ".fnameescape(substitute(s:fname,'\.bz2$','','')) exe "sil NetrwKeepj keepalt doau BufReadPost ".fnameescape(substitute(s:fname,'\.bz2$','',''))
elseif s:path =~ '.gz' elseif s:path =~ '\.gz$'
exe "sil NetrwKeepj keepalt doau BufReadPost ".fnameescape(substitute(s:fname,'\.gz$','','')) exe "sil NetrwKeepj keepalt doau BufReadPost ".fnameescape(substitute(s:fname,'\.gz$','',''))
elseif s:path =~ '.gz' elseif s:path =~ '\.xz$'
exe "sil NetrwKeepj keepalt doau BufReadPost ".fnameescape(substitute(s:fname,'\.txz$','','')) exe "sil NetrwKeepj keepalt doau BufReadPost ".fnameescape(substitute(s:fname,'\.xz$','',''))
else else
exe "sil NetrwKeepj keepalt doau BufReadPost ".fnameescape(s:fname) exe "sil NetrwKeepj keepalt doau BufReadPost ".fnameescape(s:fname)
endif endif
@@ -3083,7 +3087,7 @@ function s:NetrwBrowse(islocal,dirname)
" previous buffer " previous buffer
let prevbufnr = bufnr('%') let prevbufnr = bufnr('%')
let reusing= s:NetrwGetBuffer(a:islocal,dirname) let reusing= s:NetrwGetBuffer(a:islocal,dirname)
if exists("s:rexposn_".prevbufnr) if exists("s:rexposn_".prevbufnr) && exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST
let s:rexposn_{bufnr('%')} = s:rexposn_{prevbufnr} let s:rexposn_{bufnr('%')} = s:rexposn_{prevbufnr}
endif endif
@@ -3836,6 +3840,8 @@ function s:NetrwBrowseChgDir(islocal, newdir, cursor, ...)
exe "keepalt ".(g:netrw_alto? "bel " : "abo ").winsz."wincmd s" exe "keepalt ".(g:netrw_alto? "bel " : "abo ").winsz."wincmd s"
if !&ea if !&ea
keepalt wincmd _ keepalt wincmd _
else
exe "keepalt wincmd ="
endif endif
call s:SetRexDir(a:islocal,curdir) call s:SetRexDir(a:islocal,curdir)
@@ -3845,6 +3851,8 @@ function s:NetrwBrowseChgDir(islocal, newdir, cursor, ...)
exe "keepalt ".(g:netrw_alto? "top " : "bot ")."vert ".winsz."wincmd s" exe "keepalt ".(g:netrw_alto? "top " : "bot ")."vert ".winsz."wincmd s"
if !&ea if !&ea
keepalt wincmd | keepalt wincmd |
else
exe "keepalt wincmd ="
endif endif
call s:SetRexDir(a:islocal,curdir) call s:SetRexDir(a:islocal,curdir)
@@ -3943,7 +3951,8 @@ function s:NetrwBrowseChgDir(islocal, newdir, cursor, ...)
" NetrwBrowseChgDir: go up one directory {{{3 " NetrwBrowseChgDir: go up one directory {{{3
" -------------------------------------- " --------------------------------------
let dirname = netrw#fs#Dirname(dirname) " The following regexps expect '/' as path separator
let dirname = substitute(netrw#fs#AbsPath(dirname), '\\', '/', 'ge') . '/'
if w:netrw_liststyle == s:TREELIST && exists("w:netrw_treedict") if w:netrw_liststyle == s:TREELIST && exists("w:netrw_treedict")
" force a refresh " force a refresh
@@ -7014,6 +7023,9 @@ function s:NetrwSplit(mode)
NetrwKeepj call s:RestoreWinVars() NetrwKeepj call s:RestoreWinVars()
NetrwKeepj call netrw#LocalBrowseCheck(s:NetrwBrowseChgDir(1,s:NetrwGetWord(),1)) NetrwKeepj call netrw#LocalBrowseCheck(s:NetrwBrowseChgDir(1,s:NetrwGetWord(),1))
unlet s:didsplit unlet s:didsplit
if &ea
exe "keepalt wincmd ="
endif
elseif a:mode == 4 elseif a:mode == 4
" local and t " local and t
@@ -7051,6 +7063,9 @@ function s:NetrwSplit(mode)
NetrwKeepj call s:RestoreWinVars() NetrwKeepj call s:RestoreWinVars()
NetrwKeepj call netrw#LocalBrowseCheck(s:NetrwBrowseChgDir(1,s:NetrwGetWord(),1)) NetrwKeepj call netrw#LocalBrowseCheck(s:NetrwBrowseChgDir(1,s:NetrwGetWord(),1))
unlet s:didsplit unlet s:didsplit
if &ea
exe "keepalt wincmd ="
endif
else else
call netrw#msg#Notify('ERROR', '(NetrwSplit) unsupported mode='.a:mode) call netrw#msg#Notify('ERROR', '(NetrwSplit) unsupported mode='.a:mode)

View File

@@ -2,18 +2,18 @@
" THESE FUNCTIONS DON'T COMMIT TO ANY BACKWARDS COMPATIBILITY. SO CHANGES AND " THESE FUNCTIONS DON'T COMMIT TO ANY BACKWARDS COMPATIBILITY. SO CHANGES AND
" BREAKAGES IF USED OUTSIDE OF NETRW.VIM ARE EXPECTED. " BREAKAGES IF USED OUTSIDE OF NETRW.VIM ARE EXPECTED.
let s:slash = !exists('+shellslash') || &shellslash ? '/' : '\'
" netrw#fs#PathJoin: Appends a new part to a path taking different systems into consideration {{{ " netrw#fs#PathJoin: Appends a new part to a path taking different systems into consideration {{{
function! netrw#fs#PathJoin(...) function! netrw#fs#PathJoin(...)
const slash = !exists('+shellslash') || &shellslash ? '/' : '\'
let path = "" let path = ""
for arg in a:000 for arg in a:000
if empty(path) if empty(path)
let path = arg let path = arg
else else
let path .= s:slash . arg let path .= slash . arg
endif endif
endfor endfor
@@ -73,22 +73,14 @@ endfunction
" netrw#fs#AbsPath: returns the full path to a directory and/or file {{{ " netrw#fs#AbsPath: returns the full path to a directory and/or file {{{
function! netrw#fs#AbsPath(path) function! netrw#fs#AbsPath(path)
let path = a:path->substitute(s:slash . '$', '', 'e') let path = a:path->substitute('[\/]$', '', 'e')
" Nothing to do " Nothing to do
if isabsolutepath(path) if isabsolutepath(path)
return path return path
endif endif
return path->fnamemodify(':p')->substitute(s:slash . '$', '', 'e') return path->fnamemodify(':p')->substitute('[\/]$', '', 'e')
endfunction
" }}}
" netrw#fs#Dirname: {{{
function netrw#fs#Dirname(path)
" Keep a slash as directory recognition pattern
return netrw#fs#AbsPath(a:path) . s:slash
endfunction endfunction
" }}} " }}}

View File

@@ -4,7 +4,7 @@ vim9script
# Author: Bram Moolenaar # Author: Bram Moolenaar
# Copyright: Vim license applies, see ":help license" # Copyright: Vim license applies, see ":help license"
# Last Change: 2025 Sep 02 # Last Change: 2025 Oct 08
# Converted to Vim9: Ubaldo Tiberi <ubaldo.tiberi@gmail.com> # Converted to Vim9: Ubaldo Tiberi <ubaldo.tiberi@gmail.com>
# WORK IN PROGRESS - The basics works stable, more to come # WORK IN PROGRESS - The basics works stable, more to come
@@ -34,6 +34,7 @@ vim9script
# Gdb is run as a job with callbacks for I/O. # Gdb is run as a job with callbacks for I/O.
# On Unix another terminal window is opened to run the debugged program # On Unix another terminal window is opened to run the debugged program
# On MS-Windows a separate console is opened to run the debugged program # On MS-Windows a separate console is opened to run the debugged program
# but a terminal window is used to run remote debugged programs.
# The communication with gdb uses GDB/MI. See: # The communication with gdb uses GDB/MI. See:
# https://sourceware.org/gdb/current/onlinedocs/gdb/GDB_002fMI.html # https://sourceware.org/gdb/current/onlinedocs/gdb/GDB_002fMI.html
@@ -435,8 +436,73 @@ def IsGdbStarted(): bool
return true return true
enddef enddef
def CreateProgramPty(): string # Check if the debugger is running remotely and return a suitable command to pty remotely
ptybufnr = term_start('NONE', { def GetRemotePtyCmd(gdb_cmd: list<string>): list<string>
# Check if the user provided a command to launch the program window
var term_cmd = null_list
if exists('g:termdebug_config') && has_key(g:termdebug_config, 'remote_window')
term_cmd = g:termdebug_config['remote_window']
term_cmd = type(term_cmd) == v:t_list ? copy(term_cmd) : [term_cmd]
else
# Check if it is a remote gdb, the program terminal should be started
# on the remote machine.
const remote_pattern = '^\(ssh\|wsl\)'
if gdb_cmd[0] =~? remote_pattern
var gdb_pos = indexof(gdb_cmd, $'v:val =~? "^{GetCommand()[-1]}"')
if gdb_pos > 0
# strip debugger call
term_cmd = gdb_cmd[0 : gdb_pos - 1]
# roundtrip to check if socat is available on the remote side
silent call system(join(term_cmd, ' ') .. ' socat -h')
if v:shell_error
Echowarn('Install socat on the remote machine for a program window better experience')
else
# create a devoted tty slave device and link to stdin/stdout
term_cmd += ['socat', '-dd', '-', 'PTY,raw,echo=0']
ch_log($'launching remote ttys using "{join(term_cmd)}"')
endif
endif
endif
endif
return term_cmd
enddef
# Retrieve the remote pty device from a remote terminal
# If interact is true, use remote tty command to get the pty device
def GetRemotePtyDev(bufnr: number, interact: bool): string
var pty: string = null_string
var line = null_string
for j in range(5)
if interact
term_sendkeys(bufnr, "tty\<CR>")
endif
for i in range(0, term_getsize(bufnr)[0])
line = term_getline(bufnr, i)
if line =~? "/dev/pts"
pty = line
break
endif
term_wait(bufnr, 100)
endfor # i
if pty != null_string
# Clear the terminal window
if interact
term_sendkeys(bufnr, "clear\<CR>")
endif
break
endif
endfor # j
return pty
enddef
def CreateProgramPty(cmd: list<string> = null_list): string
ptybufnr = term_start(!cmd ? 'NONE' : cmd, {
term_name: ptybufname, term_name: ptybufname,
vertical: vvertical}) vertical: vvertical})
if ptybufnr == 0 if ptybufnr == 0
@@ -454,20 +520,76 @@ def CreateProgramPty(): string
endif endif
endif endif
return job_info(term_getjob(ptybufnr))['tty_out'] if !cmd
return job_info(term_getjob(ptybufnr))['tty_out']
else
var interact = indexof(cmd, 'v:val =~? "^socat"') < 0
var pty = GetRemotePtyDev(ptybufnr, interact)
if pty !~? "/dev/pts"
Echoerr('Failed to get the program window tty')
exe $'bwipe! {ptybufnr}'
pty = null_string
elseif pty !~? "^/dev/pts"
# remove the prompt
pty = pty->matchstr('/dev/pts/\d\+')
endif
return pty
endif
enddef enddef
def CreateCommunicationPty(): string def CreateCommunicationPty(cmd: list<string> = null_list): string
# Create a hidden terminal window to communicate with gdb # Create a hidden terminal window to communicate with gdb
commbufnr = term_start('NONE', { var options: dict<any> = { term_name: commbufname, out_cb: CommOutput, hidden: 1 }
term_name: commbufname,
out_cb: CommOutput, if !cmd
hidden: 1 commbufnr = term_start('NONE', options)
}) else
# avoid message wrapping that prevents proper parsing
options['term_cols'] = 500
commbufnr = term_start(cmd, options)
endif
if commbufnr == 0 if commbufnr == 0
return null_string return null_string
endif endif
return job_info(term_getjob(commbufnr))['tty_out']
if !cmd
return job_info(term_getjob(commbufnr))['tty_out']
else
# CommunicationPty only will be reliable with socat
if indexof(cmd, 'v:val =~? "^socat"') < 0
Echoerr('Communication window should be started with socat')
exe $'bwipe! {commbufnr}'
return null_string
endif
var pty = GetRemotePtyDev(commbufnr, false)
if pty !~? "/dev/pts"
Echoerr('Failed to get the communication window tty')
exe $'bwipe! {commbufnr}'
pty = null_string
elseif pty !~? "^/dev/pts"
# remove the prompt
pty = pty->matchstr('/dev/pts/\d\+')
endif
return pty
endif
enddef
# Convenient filter to workaround remote escaping issues.
# For example, ssh doesn't escape spaces for the gdb arguments.
# Workaround doing:
# let g:termdebug_config['command_filter'] = function('g:Termdebug_escape_whitespace')
def g:Termdebug_escape_whitespace(args: list<string>): list<string>
var new_args: list<string> = []
for arg in args
new_args += [substitute(arg, ' ', '\\ ', 'g')]
endfor
return new_args
enddef enddef
def CreateGdbConsole(dict: dict<any>, pty: string, commpty: string): string def CreateGdbConsole(dict: dict<any>, pty: string, commpty: string): string
@@ -497,6 +619,12 @@ def CreateGdbConsole(dict: dict<any>, pty: string, commpty: string): string
gdb_cmd += ['-ex', 'echo startupdone\n'] gdb_cmd += ['-ex', 'echo startupdone\n']
endif endif
# Escape whitespaces in the gdb arguments for ssh remoting
if exists('g:termdebug_config') && !has_key(g:termdebug_config, 'command_filter') &&
gdb_cmd[0] =~? '^ssh'
g:termdebug_config['command_filter'] = function('g:Termdebug_escape_whitespace')
endif
if exists('g:termdebug_config') && has_key(g:termdebug_config, 'command_filter') if exists('g:termdebug_config') && has_key(g:termdebug_config, 'command_filter')
gdb_cmd = g:termdebug_config.command_filter(gdb_cmd) gdb_cmd = g:termdebug_config.command_filter(gdb_cmd)
endif endif
@@ -599,14 +727,18 @@ enddef
# Open a terminal window without a job, to run the debugged program in. # Open a terminal window without a job, to run the debugged program in.
def StartDebug_term(dict: dict<any>) def StartDebug_term(dict: dict<any>)
var programpty = CreateProgramPty() # Retrieve command if remote pty is needed
var gdb_cmd = GetCommand()
var term_cmd = GetRemotePtyCmd(gdb_cmd)
var programpty = CreateProgramPty(term_cmd)
if programpty is null_string if programpty is null_string
Echoerr('Failed to open the program terminal window') Echoerr('Failed to open the program terminal window')
CloseBuffers() CloseBuffers()
return return
endif endif
var commpty = CreateCommunicationPty() var commpty = CreateCommunicationPty(term_cmd)
if commpty is null_string if commpty is null_string
Echoerr('Failed to open the communication terminal window') Echoerr('Failed to open the communication terminal window')
CloseBuffers() CloseBuffers()
@@ -656,16 +788,27 @@ def StartDebug_prompt(dict: dict<any>)
var gdb_args = get(dict, 'gdb_args', []) var gdb_args = get(dict, 'gdb_args', [])
var proc_args = get(dict, 'proc_args', []) var proc_args = get(dict, 'proc_args', [])
# Add -quiet to avoid the intro message causing a hit-enter prompt. # directly communicate via mi2. This option must precede any -iex options for proper
gdb_cmd += ['-quiet'] # interpretation.
gdb_cmd += ['--interpreter=mi2']
# Disable pagination, it causes everything to stop at the gdb, needs to be run early # Disable pagination, it causes everything to stop at the gdb, needs to be run early
gdb_cmd += ['-iex', 'set pagination off'] gdb_cmd += ['-iex', 'set pagination off']
# Interpret commands while the target is running. This should usually only # Interpret commands while the target is running. This should usually only
# be exec-interrupt, since many commands don't work properly while the # be exec-interrupt, since many commands don't work properly while the
# target is running (so execute during startup). # target is running (so execute during startup).
gdb_cmd += ['-iex', 'set mi-async on'] gdb_cmd += ['-iex', 'set mi-async on']
# directly communicate via mi2 # Add -quiet to avoid the intro message causing a hit-enter prompt.
gdb_cmd += ['--interpreter=mi2'] gdb_cmd += ['-quiet']
# Escape whitespaces in the gdb arguments for ssh remoting
if exists('g:termdebug_config') && !has_key(g:termdebug_config, 'command_filter') &&
gdb_cmd[0] =~? '^ssh'
g:termdebug_config['command_filter'] = function('g:Termdebug_escape_whitespace')
endif
if exists('g:termdebug_config') && has_key(g:termdebug_config, 'command_filter')
gdb_cmd = g:termdebug_config.command_filter(gdb_cmd)
endif
# Adding arguments requested by the user # Adding arguments requested by the user
gdb_cmd += gdb_args gdb_cmd += gdb_args
@@ -686,24 +829,61 @@ def StartDebug_prompt(dict: dict<any>)
set modified set modified
gdb_channel = job_getchannel(gdbjob) gdb_channel = job_getchannel(gdbjob)
ptybufnr = 0 # Retrieve command if remote pty is needed
if has('win32') var term_cmd = GetRemotePtyCmd(gdb_cmd)
# MS-Windows: run in a new console window for maximum compatibility
SendCommand('set new-console on') # If we are not using socat maybe is a shell:
elseif has('terminal') var interact = indexof(term_cmd, 'v:val =~? "^socat"') < 0
# Unix: Run the debugged program in a terminal window. Open it below the
# gdb window. if has('terminal') && (term_cmd != null || !has('win32'))
belowright ptybufnr = term_start('NONE', {
term_name: 'debugged program', # Try open terminal twice because sync with gdbjob may not succeed
vertical: vvertical # the first time (docker daemon for example)
}) var trials: number = 2
if ptybufnr == 0 var pty: string = null_string
Echoerr('Failed to open the program terminal window')
while trials > 0
# Run the debugged program in a window. Open it below the
# gdb window.
belowright ptybufnr = term_start(
term_cmd != null ? term_cmd : 'NONE', {
term_name: 'debugged program',
vertical: vvertical
})
if ptybufnr == 0
Echoerr('Failed to open the program terminal window')
job_stop(gdbjob)
return
endif
ptywin = win_getid()
if term_cmd is null
pty = job_info(term_getjob(ptybufnr))['tty_out']
else
# Retrieve remote pty value
pty = GetRemotePtyDev(ptybufnr, interact)
endif
if pty !~? "/dev/pts"
exe $'bwipe! {ptybufnr}'
--trials
pty = null_string
else
break
endif
endwhile
if pty !~? "/dev/pts"
Echoerr('Failed to get the program windows tty')
job_stop(gdbjob) job_stop(gdbjob)
return elseif pty !~? "^/dev/pts"
# remove the prompt
pty = pty->matchstr('/dev/pts/\d\+')
endif endif
ptywin = win_getid()
var pty = job_info(term_getjob(ptybufnr))['tty_out']
SendCommand($'tty {pty}') SendCommand($'tty {pty}')
# Since GDB runs in a prompt window, the environment has not been set to # Since GDB runs in a prompt window, the environment has not been set to
@@ -714,6 +894,9 @@ def StartDebug_prompt(dict: dict<any>)
SendCommand($'set env COLUMNS = {winwidth(ptywin)}') SendCommand($'set env COLUMNS = {winwidth(ptywin)}')
SendCommand($'set env COLORS = {&t_Co}') SendCommand($'set env COLORS = {&t_Co}')
SendCommand($'set env VIM_TERMINAL = {v:version}') SendCommand($'set env VIM_TERMINAL = {v:version}')
elseif has('win32')
# MS-Windows: run in a new console window for maximum compatibility
SendCommand('set new-console on')
else else
# TODO: open a new terminal, get the tty name, pass on to gdb # TODO: open a new terminal, get the tty name, pass on to gdb
SendCommand('show inferior-tty') SendCommand('show inferior-tty')
@@ -930,7 +1113,7 @@ enddef
const NullRepl = 'XXXNULLXXX' const NullRepl = 'XXXNULLXXX'
# Extract the "name" value from a gdb message with fullname="name". # Extract the "name" value from a gdb message with fullname="name".
def GetFullname(msg: string): string def GetLocalFullname(msg: string): string
if msg !~ 'fullname' if msg !~ 'fullname'
return '' return ''
endif endif
@@ -944,6 +1127,50 @@ def GetFullname(msg: string): string
return name return name
enddef enddef
# Turn a remote machine local path into a remote one.
def Local2RemotePath(path: string): string
# If no mappings are provided keep the path.
if !exists('g:termdebug_config') || !has_key(g:termdebug_config, 'substitute_path')
return path
endif
var mappings: list<any> = items(g:termdebug_config['substitute_path'])
# Try to match the longest local path first.
sort(mappings, (a, b) => len(b[0]) - len(a[0]))
for [local, remote] in mappings
const pattern = '^' .. escape(local, '\.*~()')
if path =~ pattern
return substitute(path, pattern, escape(remote, '\.*~()'), '')
endif
endfor
return path
enddef
# Turn a remote path into a local one to the remote machine.
def Remote2LocalPath(path: string): string
# If no mappings are provided keep the path.
if !exists('g:termdebug_config') || !has_key(g:termdebug_config, 'substitute_path')
return path
endif
var mappings: list<any> = items(g:termdebug_config['substitute_path'])
# Try to match the longest remote path first.
sort(mappings, (a, b) => len(b[1]) - len(a[1]))
for [local, remote] in mappings
const pattern = '^' .. escape(substitute(remote, '[\/]', '[\\/]', 'g'), '.*~()')
if path =~ pattern
return substitute(path, pattern, local, '')
endif
endfor
return path
enddef
# Extract the "addr" value from a gdb message with addr="0x0001234". # Extract the "addr" value from a gdb message with addr="0x0001234".
def GetAsmAddr(msg: string): string def GetAsmAddr(msg: string): string
if msg !~ 'addr=' if msg !~ 'addr='
@@ -1159,7 +1386,7 @@ def CommOutput(chan: channel, message: string)
enddef enddef
def GotoProgram() def GotoProgram()
if has('win32') if has('win32') && !ptywin
if executable('powershell') if executable('powershell')
system(printf('powershell -Command "add-type -AssemblyName microsoft.VisualBasic;[Microsoft.VisualBasic.Interaction]::AppActivate(%d);"', pid)) system(printf('powershell -Command "add-type -AssemblyName microsoft.VisualBasic;[Microsoft.VisualBasic.Interaction]::AppActivate(%d);"', pid))
endif endif
@@ -1173,6 +1400,7 @@ def InstallCommands()
command -nargs=? Break SetBreakpoint(<q-args>) command -nargs=? Break SetBreakpoint(<q-args>)
command -nargs=? Tbreak SetBreakpoint(<q-args>, true) command -nargs=? Tbreak SetBreakpoint(<q-args>, true)
command ToggleBreak ToggleBreak()
command Clear ClearBreakpoint() command Clear ClearBreakpoint()
command Step SendResumingCommand('-exec-step') command Step SendResumingCommand('-exec-step')
command Over SendResumingCommand('-exec-next') command Over SendResumingCommand('-exec-next')
@@ -1182,6 +1410,7 @@ def InstallCommands()
command -nargs=* Arguments SendResumingCommand('-exec-arguments ' .. <q-args>) command -nargs=* Arguments SendResumingCommand('-exec-arguments ' .. <q-args>)
command Stop StopCommand() command Stop StopCommand()
command Continue ContinueCommand() command Continue ContinueCommand()
command RunOrContinue RunOrContinue()
command -nargs=* Frame Frame(<q-args>) command -nargs=* Frame Frame(<q-args>)
command -count=1 Up Up(<count>) command -count=1 Up Up(<count>)
@@ -1296,6 +1525,8 @@ def DeleteCommands()
delcommand Asm delcommand Asm
delcommand Var delcommand Var
delcommand Winbar delcommand Winbar
delcommand RunOrContinue
delcommand ToggleBreak
if !empty(saved_K_map) && !saved_K_map.buffer if !empty(saved_K_map) && !saved_K_map.buffer
@@ -1370,7 +1601,8 @@ def Until(at: string)
ch_log('assume that program is running after this command') ch_log('assume that program is running after this command')
# Use the fname:lnum format # Use the fname:lnum format
var AT = empty(at) ? QuoteArg($"{expand('%:p')}:{line('.')}") : at var fname = Remote2LocalPath(expand('%:p'))
var AT = empty(at) ? QuoteArg($"{fname}:{line('.')}") : at
SendCommand($'-exec-until {AT}') SendCommand($'-exec-until {AT}')
else else
ch_log('dropping command, program is running: exec-until') ch_log('dropping command, program is running: exec-until')
@@ -1389,7 +1621,8 @@ def SetBreakpoint(at: string, tbreak=false)
endif endif
# Use the fname:lnum format, older gdb can't handle --source. # Use the fname:lnum format, older gdb can't handle --source.
var AT = empty(at) ? QuoteArg($"{expand('%:p')}:{line('.')}") : at var fname = Remote2LocalPath(expand('%:p'))
var AT = empty(at) ? QuoteArg($"{fname}:{line('.')}") : at
var cmd = '' var cmd = ''
if tbreak if tbreak
cmd = $'-break-insert -t {AT}' cmd = $'-break-insert -t {AT}'
@@ -1403,7 +1636,8 @@ def SetBreakpoint(at: string, tbreak=false)
enddef enddef
def ClearBreakpoint() def ClearBreakpoint()
var fname = fnameescape(expand('%:p')) var fname = Remote2LocalPath(expand('%:p'))
fname = fnameescape(fname)
var lnum = line('.') var lnum = line('.')
var bploc = printf('%s:%d', fname, lnum) var bploc = printf('%s:%d', fname, lnum)
var nr = 0 var nr = 0
@@ -1439,6 +1673,20 @@ def ClearBreakpoint()
endif endif
enddef enddef
def ToggleBreak()
var fname = Remote2LocalPath(expand('%:p'))
fname = fnameescape(fname)
var lnum = line('.')
var bploc = printf('%s:%d', fname, lnum)
if has_key(breakpoint_locations, bploc)
while has_key(breakpoint_locations, bploc)
ClearBreakpoint()
endwhile
else
SetBreakpoint("")
endif
enddef
def Run(args: string) def Run(args: string)
if args != '' if args != ''
SendResumingCommand($'-exec-arguments {args}') SendResumingCommand($'-exec-arguments {args}')
@@ -1446,6 +1694,14 @@ def Run(args: string)
SendResumingCommand('-exec-run') SendResumingCommand('-exec-run')
enddef enddef
def RunOrContinue()
if running
ContinueCommand()
else
Run('')
endif
enddef
# :Frame - go to a specific frame in the stack # :Frame - go to a specific frame in the stack
def Frame(arg: string) def Frame(arg: string)
# Note: we explicit do not use mi's command # Note: we explicit do not use mi's command
@@ -1520,7 +1776,6 @@ def GetEvaluationExpression(range: number, arg: string): string
if arg != '' if arg != ''
# user supplied evaluation # user supplied evaluation
expr = CleanupExpr(arg) expr = CleanupExpr(arg)
# DSW: replace "likely copy + paste" assignment
expr = substitute(expr, '"\([^"]*\)": *', '\1=', 'g') expr = substitute(expr, '"\([^"]*\)": *', '\1=', 'g')
elseif range == 2 elseif range == 2
# no evaluation but provided but range set # no evaluation but provided but range set
@@ -1835,7 +2090,7 @@ def HandleCursor(msg: string)
var fname = '' var fname = ''
if msg =~ 'fullname=' if msg =~ 'fullname='
fname = GetFullname(msg) fname = GetLocalFullname(msg)
endif endif
if msg =~ 'addr=' if msg =~ 'addr='
@@ -1863,12 +2118,15 @@ def HandleCursor(msg: string)
SendCommand('-stack-list-variables 2') SendCommand('-stack-list-variables 2')
endif endif
if msg =~ '^\(\*stopped\|=thread-selected\)' && filereadable(fname) # Translate to remote file name if needed.
const fremote = Local2RemotePath(fname)
if msg =~ '^\(\*stopped\|=thread-selected\)' && (fremote != fname || filereadable(fname))
var lnum = substitute(msg, '.*line="\([^"]*\)".*', '\1', '') var lnum = substitute(msg, '.*line="\([^"]*\)".*', '\1', '')
if lnum =~ '^[0-9]*$' if lnum =~ '^[0-9]*$'
GotoSourcewinOrCreateIt() GotoSourcewinOrCreateIt()
if expand('%:p') != fnamemodify(fname, ':p') if expand('%:p') != fnamemodify(fremote, ':p')
echomsg $"different fname: '{expand('%:p')}' vs '{fnamemodify(fname, ':p')}'" echomsg $"different fname: '{expand('%:p')}' vs '{fnamemodify(fremote, ':p')}'"
augroup Termdebug augroup Termdebug
# Always open a file read-only instead of showing the ATTENTION # Always open a file read-only instead of showing the ATTENTION
# prompt, since it is unlikely we want to edit the file. # prompt, since it is unlikely we want to edit the file.
@@ -1880,11 +2138,11 @@ def HandleCursor(msg: string)
augroup END augroup END
if &modified if &modified
# TODO: find existing window # TODO: find existing window
exe $'split {fnameescape(fname)}' exe $'split {fnameescape(fremote)}'
sourcewin = win_getid() sourcewin = win_getid()
InstallWinbar(false) InstallWinbar(false)
else else
exe $'edit {fnameescape(fname)}' exe $'edit {fnameescape(fremote)}'
endif endif
augroup Termdebug augroup Termdebug
au! SwapExists au! SwapExists
@@ -1893,7 +2151,7 @@ def HandleCursor(msg: string)
exe $":{lnum}" exe $":{lnum}"
normal! zv normal! zv
sign_unplace('TermDebug', {id: pc_id}) sign_unplace('TermDebug', {id: pc_id})
sign_place(pc_id, 'TermDebug', 'debugPC', fname, sign_place(pc_id, 'TermDebug', 'debugPC', fremote,
{lnum: str2nr(lnum), priority: 110}) {lnum: str2nr(lnum), priority: 110})
if !exists('b:save_signcolumn') if !exists('b:save_signcolumn')
b:save_signcolumn = &signcolumn b:save_signcolumn = &signcolumn
@@ -1967,10 +2225,11 @@ def HandleNewBreakpoint(msg: string, modifiedFlag: bool)
endif endif
for mm in SplitMsg(msg) for mm in SplitMsg(msg)
var fname = GetFullname(mm) var fname = GetLocalFullname(mm)
if empty(fname) if empty(fname)
continue continue
endif endif
var fremote = Local2RemotePath(fname)
nr = substitute(mm, '.*number="\([0-9.]*\)\".*', '\1', '') nr = substitute(mm, '.*number="\([0-9.]*\)\".*', '\1', '')
if empty(nr) if empty(nr)
return return
@@ -2004,14 +2263,17 @@ def HandleNewBreakpoint(msg: string, modifiedFlag: bool)
if !has_key(breakpoint_locations, bploc) if !has_key(breakpoint_locations, bploc)
breakpoint_locations[bploc] = [] breakpoint_locations[bploc] = []
endif endif
breakpoint_locations[bploc] += [id] if breakpoint_locations[bploc]->index(id) == -1
# Make sure all ids are unique
breakpoint_locations[bploc] += [id]
endif
var posMsg = '' var posMsg = ''
if bufloaded(fname) if bufloaded(fremote)
PlaceSign(id, subid, entry) PlaceSign(id, subid, entry)
posMsg = $' at line {lnum}.' posMsg = $' at line {lnum}.'
else else
posMsg = $' in {fname} at line {lnum}.' posMsg = $' in {fremote} at line {lnum}.'
endif endif
var actionTaken = '' var actionTaken = ''
if !modifiedFlag if !modifiedFlag
@@ -2028,8 +2290,9 @@ enddef
def PlaceSign(id: number, subid: number, entry: dict<any>) def PlaceSign(id: number, subid: number, entry: dict<any>)
var nr = printf('%d.%d', id, subid) var nr = printf('%d.%d', id, subid)
var remote = Local2RemotePath(entry['fname'])
sign_place(Breakpoint2SignNumber(id, subid), 'TermDebug', sign_place(Breakpoint2SignNumber(id, subid), 'TermDebug',
$'debugBreakpoint{nr}', entry['fname'], $'debugBreakpoint{nr}', remote,
{lnum: entry['lnum'], priority: 110}) {lnum: entry['lnum'], priority: 110})
entry['placed'] = 1 entry['placed'] = 1
enddef enddef

View File

@@ -3,7 +3,6 @@ The plugin directory is for standard Vim plugin scripts.
All files here ending in .vim will be sourced by Vim when it starts up. All files here ending in .vim will be sourced by Vim when it starts up.
Look in the file for hints on how it can be disabled without deleting it. Look in the file for hints on how it can be disabled without deleting it.
colorresp.vim used to detect terminal background and foreground colours
getscriptPlugin.vim get latest version of Vim scripts getscriptPlugin.vim get latest version of Vim scripts
gzip.vim edit compressed files gzip.vim edit compressed files
logiPat.vim logical operators on patterns logiPat.vim logical operators on patterns

View File

@@ -1,51 +0,0 @@
vim9script
# Vim plugin for setting the background and foreground colours depending on
# the terminal response.
#
# Maintainer: The Vim Project <https://github.com/vim/vim>
# Last Change: 2025 Sep 05
if exists("g:loaded_colorresp")
finish
endif
g:loaded_colorresp = 1
augroup ColorResp
au!
au TermResponseAll osc {
var parts: list<string> = matchlist(v:termosc, '\(\d\+\);rgb:\(\w\+\)/\(\w\+\)/\(\w\+\)')
if len(parts) >= 5
var type: string = parts[1]
var rval: number = str2nr(parts[2][: 1], 16)
var gval: number = str2nr(parts[3][: 1], 16)
var bval: number = str2nr(parts[4][: 1], 16)
if type == '11'
# Detect light or dark background by parsing OSC 11 RGB background reply
# from terminal. Sum the RGB values roughly; if bright enough, set
# 'background' to 'light', otherwise set it to 'dark'.
var new_bg_val: string = (3 * char2nr('6') < char2nr(parts[2]) + char2nr(parts[3]) + char2nr(parts[4])) ? "light" : "dark"
v:termrbgresp = v:termosc
&background = new_bg_val
# For backwards compatibility
if exists('#TermResponseAll#background')
doautocmd <nomodeline> TermResponseAll background
endif
else
v:termrfgresp = v:termosc
# For backwards compatibility
if exists('#TermResponseAll#foreground')
doautocmd <nomodeline> TermResponseAll foreground
endif
endif
endif
}
au VimEnter * ++once {
call echoraw(&t_RB)
call echoraw(&t_RF)
}
augroup END
# vim: set sw=2 sts=2 :

View File

@@ -5,6 +5,7 @@
" Former Maintainer: Charles E Campbell " Former Maintainer: Charles E Campbell
" Last Change: " Last Change:
" 2025 Apr 02 by Vim Project: add *.whl to list of zip extensions (#17038) " 2025 Apr 02 by Vim Project: add *.whl to list of zip extensions (#17038)
" 2025 Oct 06 by MultisampledNight: add *.pkpass to list of zip extensions (#18501)
" License: Vim License (see vim's :help license) " License: Vim License (see vim's :help license)
" Copyright: Copyright (C) 2005-2016 Charles E. Campbell {{{1 " Copyright: Copyright (C) 2005-2016 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code, " Permission is hereby granted to use and distribute this code,
@@ -30,7 +31,7 @@ set cpo&vim
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" Options: {{{1 " Options: {{{1
if !exists("g:zipPlugin_ext") if !exists("g:zipPlugin_ext")
let g:zipPlugin_ext='*.aar,*.apk,*.celzip,*.crtx,*.docm,*.docx,*.dotm,*.dotx,*.ear,*.epub,*.gcsx,*.glox,*.gqsx,*.ja,*.jar,*.kmz,*.odb,*.odc,*.odf,*.odg,*.odi,*.odm,*.odp,*.ods,*.odt,*.otc,*.otf,*.otg,*.oth,*.oti,*.otp,*.ots,*.ott,*.oxt,*.potm,*.potx,*.ppam,*.ppsm,*.ppsx,*.pptm,*.pptx,*.sldx,*.thmx,*.vdw,*.war,*.whl,*.wsz,*.xap,*.xlam,*.xlsb,*.xlsm,*.xlsx,*.xltm,*.xltx,*.xpi,*.zip' let g:zipPlugin_ext='*.aar,*.apk,*.celzip,*.crtx,*.docm,*.docx,*.dotm,*.dotx,*.ear,*.epub,*.gcsx,*.glox,*.gqsx,*.ja,*.jar,*.kmz,*.odb,*.odc,*.odf,*.odg,*.odi,*.odm,*.odp,*.ods,*.odt,*.otc,*.otf,*.otg,*.oth,*.oti,*.otp,*.ots,*.ott,*.oxt,*.pkpass,*.potm,*.potx,*.ppam,*.ppsm,*.ppsx,*.pptm,*.pptx,*.sldx,*.thmx,*.vdw,*.war,*.whl,*.wsz,*.xap,*.xlam,*.xlsb,*.xlsm,*.xlsx,*.xltm,*.xltx,*.xpi,*.zip'
endif endif
" --------------------------------------------------------------------- " ---------------------------------------------------------------------

Some files were not shown because too many files have changed in this diff Show More