Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ env:
freebsd_task:
name: FreeBSD
matrix:
- name: FreeBSD 14.3
- name: FreeBSD 15.0
freebsd_instance:
image_family: freebsd-14-3
image_family: freebsd-15-0-amd64-ufs
timeout_in: 20m
install_script:
- pkg install -y gettext
- pkg install -y gettext diffutils
build_script:
- NPROC=$(getconf _NPROCESSORS_ONLN)
- ./configure --with-features=${FEATURES}
Expand Down
16 changes: 14 additions & 2 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,4 +1,13 @@
src/testdir/test42.in diff
# The old test .ok files are expected to use LF line endings, even on Windows.
# In src/testdir/Make_mvc.mak and src/testdir/Make_ming.mak, the test result
# files .out are converted to LF line endings before being compared.
# Therefore, if the .ok files' line endings are not specified and are
# converted to CRLF, the comparison between .ok and .out will fail.
src/testdir/test*.ok text eol=lf

# This ok file contains literal CR LF endings. Should not be touched by git,
# so handle as binary
src/testdir/test21.ok -text

# `vim.pot` is updated every time any of the *.c files are modified. And as it
# contains line numbers for strings from *.c files, inserting a line into a
Expand All @@ -24,8 +33,11 @@ src/po/vim.pot -diff
src/po/vim.pot diff=ignore_vim_pot

# GitHub reacts to the `linguist-generated` attribute, by ignoring marked files
# for the repository's language statistics and hiddning changes in these files
# for the repository's language statistics and hiding changes in these files
# by default in diffs.
#
# https://docs.github.com/en/repositories/working-with-files/managing-files/customizing-how-changed-files-appear-on-github
src/po/vim.pot linguist-generated=true
*.dump linguist-generated=true

runtime/syntax/testdir/input/vim_ex_help.vim -text diff linguist-language=vim linguist-detectable=true
24 changes: 18 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ A pull request has the advantage that it will trigger the Continuous
Integration tests, you will be warned of problems (you can ignore the coverage
warning, it's noisy).

Please consider adding a test. All new functionality should be tested and bug
fixes should be tested for regressions: the test should fail before the fix and
pass after the fix. Look through recent patches for examples and find help
with ":help testing". The tests are located under "src/testdir".
Please always add a test, if possible. All new functionality should be tested
and bug fixes should be tested for regressions: the test should fail before the
fix and pass after the fix. Look through recent patches for examples and find
help with ":help testing". The tests are located under "src/testdir".

Contributions will be distributed with Vim under the Vim license. Providing a
change to be included implies that you agree with this and your contribution
Expand Down Expand Up @@ -46,6 +46,15 @@ When merging PRs into Vim, the current maintainer @chrisbra usually adds missing
anybody that explicitly *ACK*s a pull request as a statement that those
approvers are happy with that particular change.

## Using AI

When using AI for contributions, please disclose this. Any AI-generated code
must follow the Vim code style. In particular, [test_codestyle.vim][18]
must not report any failures. Check the CI output for any test failures.

Ensure that changes are properly tested. Do not submit a single PR that
addresses multiple unrelated issues.

# Reporting issues

We use GitHub [issues][17], but that is not a requirement. Writing to the Vim
Expand Down Expand Up @@ -138,8 +147,9 @@ For the recommended documentation style, please check [helphelp.txt][16].
# I have a question

If you have some question on the style guide, please contact the [vim-dev][0]
mailing list. For other questions please use the [Vi Stack Exchange][8] website, the
[vim-use][9] mailing list or make use of the [discussion][10] feature here at github.
mailing list. For other questions you can join [`#vim`][19], use the
[Vi Stack Exchange][8] website, the [vim-use][9] mailing list or make use of the
[discussion][10] feature here at github.

[todo list]: https://github.com/vim/vim/blob/master/runtime/doc/todo.txt
[0]: http://www.vim.org/maillist.php#vim-dev
Expand All @@ -160,3 +170,5 @@ mailing list. For other questions please use the [Vi Stack Exchange][8] website,
[15]: https://en.wikipedia.org/wiki/Developer_Certificate_of_Origin
[16]: https://github.com/vim/vim/blob/master/runtime/doc/helphelp.txt
[17]: https://github.com/vim/vim/issues
[18]: https://github.com/vim/vim/blob/master/src/testdir/test_codestyle.vim
[19]: https://web.libera.chat/#vim
33 changes: 26 additions & 7 deletions Filelist
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ SRC_ALL = \
ci/if_feat_check.vim \
ci/lychee.toml \
ci/setup-xvfb.sh \
ci/setup-sway.sh \
ci/remove_snap.sh \
ci/ddebs.list \
ci/pinned-pkgs \
Expand Down Expand Up @@ -214,6 +213,7 @@ SRC_ALL = \
src/testdir/ru_RU/LC_MESSAGES/__PACKAGE__.po \
src/testdir/runtest.vim \
src/testdir/samples/*.html \
src/testdir/samples/*.swp \
src/testdir/samples/*.txt \
src/testdir/samples/*.vim \
src/testdir/samples/evil.zip \
Expand All @@ -224,6 +224,8 @@ SRC_ALL = \
src/testdir/samples/test000 \
src/testdir/samples/test_undo.txt.undo \
src/testdir/samples/testa.zip \
src/testdir/samples/crypt_utf8_test.txt \
src/testdir/samples/uncrypt_utf8_test.txt \
src/testdir/sautest/autoload/*.vim \
src/testdir/silent.wav \
src/testdir/test77a.com \
Expand All @@ -248,6 +250,7 @@ SRC_ALL = \
src/testdir/util/view_util.vim \
src/testdir/util/vim9.vim \
src/testdir/util/window_manager.vim \
src/testdir/util/socketserver.vim \
src/testdir/viewdumps.vim \
src/proto.h \
src/protodef.h \
Expand Down Expand Up @@ -540,7 +543,6 @@ SRC_UNIX = \
src/wayland.c \
src/wayland.h \
src/which.sh \
src/gen-wayland-protocols.sh \
src/xxd/Makefile \

# Source files for both MS Windows and Unix-like.
Expand Down Expand Up @@ -804,6 +806,10 @@ RT_ALL = \
runtime/tutor/en/vim-01-beginner.tutor.json \
runtime/tutor/en/vim-02-beginner.tutor \
runtime/tutor/en/vim-02-beginner.tutor.json \
runtime/tutor/sv/vim-01-beginner.tutor \
runtime/tutor/sv/vim-01-beginner.tutor.json \
runtime/tutor/sv/vim-02-beginner.tutor \
runtime/tutor/sv/vim-02-beginner.tutor.json \
runtime/tutor/tutor.tutor \
runtime/tutor/tutor.tutor.json \
runtime/tutor/tutor.vim \
Expand All @@ -821,14 +827,17 @@ RT_ALL = \
runtime/pack/dist/opt/editorconfig/.editorconfig \
runtime/pack/dist/opt/editorconfig/CONTRIBUTORS \
runtime/pack/dist/opt/editorconfig/LICENSE* \
runtime/pack/dist/opt/editorconfig/mkzip.sh \
runtime/pack/dist/opt/editorconfig/README.md \
runtime/pack/dist/opt/editorconfig/autoload/*.vim \
runtime/pack/dist/opt/editorconfig/autoload/editorconfig_core/*.vim \
runtime/pack/dist/opt/editorconfig/doc/tags \
runtime/pack/dist/opt/editorconfig/doc/editorconfig.txt \
runtime/pack/dist/opt/editorconfig/ftdetect/editorconfig.vim \
runtime/pack/dist/opt/editorconfig/plugin/editorconfig.vim \
runtime/pack/dist/opt/helpcurwin/autoload/helpcurwin.vim \
runtime/pack/dist/opt/helpcurwin/doc/helpcurwin.txt \
runtime/pack/dist/opt/helpcurwin/doc/tags \
runtime/pack/dist/opt/helpcurwin/plugin/helpcurwin.vim \
runtime/pack/dist/opt/helptoc/autoload/helptoc.vim \
runtime/pack/dist/opt/helptoc/doc/helptoc.txt \
runtime/pack/dist/opt/helptoc/doc/tags \
Expand All @@ -852,7 +861,12 @@ RT_ALL = \
runtime/pack/dist/opt/netrw/autoload/netrw_gitignore.vim \
runtime/pack/dist/opt/netrw/doc/netrw.txt \
runtime/pack/dist/opt/netrw/plugin/netrwPlugin.vim \
runtime/pack/dist/opt/netrw/syntax/netrw.vim
runtime/pack/dist/opt/netrw/syntax/netrw.vim \
runtime/pack/dist/opt/osc52/plugin/osc52.vim \
runtime/pack/dist/opt/osc52/autoload/osc52.vim \
runtime/pack/dist/opt/osc52/doc/osc52.txt \
runtime/pack/dist/opt/osc52/doc/tags \
runtime/xdg.vim

# Runtime files for all distributions without CR/LF translation.
RT_ALL_BIN = \
Expand Down Expand Up @@ -907,7 +921,6 @@ RT_SCRIPTS = \
runtime/syntax/testdir/input/selftestdir/* \
runtime/syntax/testdir/input/setup/*.* \
runtime/syntax/testdir/dumps/*.dump \
runtime/syntax/testdir/dumps/*.vim \
runtime/syntax/testdir/tools/* \
runtime/syntax/generator/Makefile \
runtime/syntax/generator/README.md \
Expand All @@ -928,12 +941,15 @@ RT_UNIX_DOS_BIN = \
runtime/vim16x16.gif \
runtime/vim16x16.png \
runtime/vim16x16.xpm \
runtime/vim16x16_png.h \
runtime/vim32x32.gif \
runtime/vim32x32.png \
runtime/vim32x32.xpm \
runtime/vim32x32_png.h \
runtime/vim48x48.gif \
runtime/vim48x48.png \
runtime/vim48x48.xpm \
runtime/vim48x48_png.h \

# Runtime not for Unix-like or extra.
RT_NO_UNIX = \
Expand Down Expand Up @@ -979,8 +995,7 @@ RT_AMI = \
runtime/macros/maze/*.info \
runtime/macros/urm/*.info \
runtime/tools.info \
runtime/tutor.info \
runtime/tutor/*.info \
runtime/tutor.info

# Runtime files in extra archive.
RT_EXTRA = \
Expand Down Expand Up @@ -1095,6 +1110,8 @@ LANG_GEN = \
runtime/doc/*-pl.UTF-8.1 \
runtime/doc/*-ru.1 \
runtime/doc/*-ru.UTF-8.1 \
runtime/doc/*-sv.1 \
runtime/doc/*-sv.UTF-8.1 \
runtime/doc/*-tr.1 \
runtime/doc/*-tr.UTF-8.1 \
runtime/lang/README.txt \
Expand All @@ -1114,6 +1131,8 @@ LANG_GEN = \
runtime/tutor/sr/vim-01-beginner.tutor.json \
runtime/tutor/sr/vim-02-beginner.tutor \
runtime/tutor/sr/vim-02-beginner.tutor.json \
runtime/tutor/zh/vim-01-beginner.tutor \
runtime/tutor/zh/vim-01-beginner.tutor.json \
runtime/tutor/tutor1.?? \
runtime/tutor/tutor1.??_?? \
runtime/tutor/tutor1.bar \
Expand Down
3 changes: 2 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ syntaxtest:
# Before creating an archive first delete all backup files, *.orig, etc.

MAJOR = 9
MINOR = 1
MINOR = 2

# CHECKLIST for creating a new version:
#
Expand Down Expand Up @@ -460,6 +460,7 @@ dosrt_files: dist prepare
$(LANG_GEN_BIN) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
-rm $(IN_README_DIR)
mv dist/vim/$(VIMRTDIR)/lang/ dist/vim/$(VIMRTDIR)/readme/
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
rmdir dist/vim/$(VIMRTDIR)/runtime
# Add the message translations. Trick: skip ja.mo/ja.euc-jp.mo and use
Expand Down
19 changes: 4 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,3 @@
<div align="center" markdown="1">
<sup>Special thanks for supporting Vim by donating to the <a href="https://iccf-holland.org/">ICCF</a>:</sup>
<br>
<br>
<a href="https://go.warp.dev/vim">
<img alt="Warp sponsorship" width="400" src="https://raw.githubusercontent.com/warpdotdev/brand-assets/refs/heads/main/Github/Sponsor/Warp-Github-LG-03.png">
</a>

### [Warp, built for coding with multiple AI agents.](https://www.warp.dev/vim)
[Available for MacOS, Linux, & Windows](https://www.warp.dev/vim)<br>
</div>
<hr>

# [![Vim The editor](https://github.com/vim/vim/raw/master/runtime/vimlogo.gif)](https://www.vim.org)

[![Github Build status](https://github.com/vim/vim/workflows/GitHub%20CI/badge.svg)](https://github.com/vim/vim/actions?query=workflow%3A%22GitHub+CI%22)
Expand All @@ -25,7 +12,9 @@
If you find a bug or want to discuss the best way to add a new feature, please
[open an issue](https://github.com/vim/vim/issues/new/choose).
If you have a question or want to discuss the best way to do something with
Vim, you can use [StackExchange](https://vi.stackexchange.com/)
Vim, you can join [`#vim`](https://web.libera.chat/#vim),
[reddit.com/r/vim](https://reddit.com/r/vim),
use [StackExchange](https://vi.stackexchange.com/),
or one of the [Maillists](https://www.vim.org/community.php).

## What is Vim?
Expand Down Expand Up @@ -167,4 +156,4 @@ Most of Vim was created by Bram Moolenaar `<Bram@vim.org>`
Send any other comments, patches, flowers and suggestions to the vim-dev mailing list:
`<vim-dev@vim.org>`

This is `README.md` for version 9.1 of Vim: Vi IMproved.
This is `README.md` for version 9.2 of Vim: Vi IMproved.
2 changes: 1 addition & 1 deletion README.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
README.txt for version 9.1 of Vim: Vi IMproved.
README.txt for version 9.2 of Vim: Vi IMproved.


WHAT IS VIM?
Expand Down
4 changes: 2 additions & 2 deletions README_VIM9.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ way:
* Local variables are not available in an l: dictionary.
* A few more things that slow us down, such as exception handling details.

I Implemented a "proof of concept" and measured the time to run a simple
I implemented a "proof of concept" and measured the time to run a simple
for loop with an addition (Justin used this example in his presentation,
full code is below):

Expand Down Expand Up @@ -224,7 +224,7 @@ Eventually this will lead to Vim 9!

## Code for sum time measurements

Vim was build with -O2.
Vim was built with -O2.

``` vim
func VimOld()
Expand Down
12 changes: 6 additions & 6 deletions READMEdir/Contents
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ Vim Vi IMproved. A clone of the UNIX text editor Vi. Very useful
messages, shows current file name in window title, on-line
help, rectangular cut/paste, etc., etc., etc...

Version 9.1. Also runs under UNIX, MS-Windows, Mac, etc.
vim91rt.tgz contains the documentation and syntax files.
vim91bin.tgz contains the binaries.
vim91src.tgz contains the sources.
Version 9.2. Also runs under UNIX, MS-Windows, Mac, etc.
vim92rt.tgz contains the documentation and syntax files.
vim92bin.tgz contains the binaries.
vim92src.tgz contains the sources.
Author: Bram Moolenaar et al.


Xxd Hex dumper and reader. Can be used to view files as hex, edit
them and write them back. Can also be used to patch files.

Version 2023 Oct 25
Author: Juergen Weigert
Version 2025 Nov 26
Author: Juergen Weigert et al.
6 changes: 3 additions & 3 deletions READMEdir/README_ami.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
README_ami.txt for version 9.1 of Vim: Vi IMproved.
README_ami.txt for version 9.2 of Vim: Vi IMproved.

This file explains the installation of Vim on Amiga systems.
See README.txt for general information about Vim.
Expand All @@ -16,8 +16,8 @@ easily upgrade to a new version. For example:
You would then unpack the archives like this:

cd dh0:editors
tar xf t:vim91bin.tar
tar xf t:vim91rt.tar
tar xf t:vim92bin.tar
tar xf t:vim92rt.tar

Set the $VIM environment variable to point to the top directory of your Vim
files. For the above example:
Expand Down
4 changes: 2 additions & 2 deletions READMEdir/README_amibin.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
README_amibin.txt for version 9.1 of Vim: Vi IMproved.
README_amibin.txt for version 9.2 of Vim: Vi IMproved.

See "README.txt" for general information about Vim.
See "README_ami.txt" for installation instructions for the Amiga.
These files are in the runtime archive (vim91rt.tgz).
These files are in the runtime archive (vim92rt.tgz).


The Amiga "bin" archive contains the Vim executable for the Amiga. It was
Expand Down
4 changes: 2 additions & 2 deletions READMEdir/README_amisrc.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
README_amisrc.txt for version 9.1 of Vim: Vi IMproved.
README_amisrc.txt for version 9.2 of Vim: Vi IMproved.

See "README.txt" for general information about Vim.
See "README_ami.txt" for installation instructions for the Amiga.
These files are in the runtime archive (vim91rt.tgz).
These files are in the runtime archive (vim92rt.tgz).


The Amiga source archive contains the files needed to compile Vim on the
Expand Down
14 changes: 7 additions & 7 deletions READMEdir/README_bindos.txt
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
README_bindos.txt for version 9.1 of Vim: Vi IMproved.
README_bindos.txt for version 9.2 of Vim: Vi IMproved.

See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
These files are in the runtime archive (vim91rt.zip).
These files are in the runtime archive (vim92rt.zip).


There are several binary distributions of Vim for the PC. You would normally
pick only one of them, but it's also possible to install several.
These ones are available (the version number may differ):
vim91w32.zip Windows console version
gvim91.zip Windows GUI version
gvim91ole.zip Windows GUI version with OLE
vim92w32.zip Windows console version
gvim92.zip Windows GUI version
gvim92ole.zip Windows GUI version with OLE

You MUST also get the runtime archive (vim91rt.zip).
The sources are also available (vim91src.zip).
You MUST also get the runtime archive (vim92rt.zip).
The sources are also available (vim92src.zip).
Loading
Loading