Vim-fork focused on extensibility and usability
Go to file
marvim 9daa7d9978 version.c: update [ci skip]
closes #9489

vim-patch:8.0.0210: no support for bracketed paste
vim-patch:8.0.0228: pasting in xterm on the command line has PasteStart
vim-patch:8.0.0230: bracketed paste does not support line breaks
vim-patch:8.0.0506: can't build with ANSI C
vim-patch:8.0.0506: can't build with ANSI C
vim-patch:8.0.0569: ?
vim-patch:8.0.0592:
vim-patch:8.0.0693: no terminal emulator support
vim-patch:8.0.0694: building in shadow directory does not work
vim-patch:8.0.0698: crash on exit when using Python function in timer.
vim-patch:8.0.0712: the terminal implementation is incomplete
vim-patch:8.0.0713: 'termkey' option not fully implemented
vim-patch:8.0.0713: 'termkey' option not fully implemented (follow-up to vim-patch:8.0.0712)
vim-patch:8.0.0717: terminal feature precence unclear
vim-patch:8.0.0718: output of job in terminal is not displayed
vim-patch:8.0.0730: terminal feature only supports Unix-like systems
vim-patch:8.0.0738: cannot use the mouse to resize a terminal window
vim-patch:8.0.0739: terminal resizing doesn't work well.
vim-patch:8.0.0740: cannot resize a terminal window by the command
vim-patch:8.0.0742: terminal feature does not work on MS-Windows
vim-patch:8.0.0743: the 'termsize' option can be set to an invalid value
vim-patch:8.0.0744: terminal window does not use a pty
vim-patch:8.0.0745: multi-byte characters in a terminal don't display well
vim-patch:8.0.0746: when :term fails the job is not properly cleaned up
vim-patch:8.0.0747: :terminal without an argument doesn't work
vim-patch:8.0.0748: running Vim in terminal window doesn't use the right colors
vim-patch:8.0.0753: no size reports to a job running in a terminal
vim-patch:8.0.0758: possible crash when using a terminal window
vim-patch:8.0.0759: MS-Windows: terminal does not adjust size
vim-patch:8.0.0771: cursor in terminal window not always updated in GUI
vim-patch:8.0.0778: in a terminal the cursor may be hidden
vim-patch:8.0.0799: missing semicolon
vim-patch:8.0.0802: last line of terminal window has no color
vim-patch:8.0.0804: running tests fails when stdin is /dev/null
vim-patch:8.0.0812: terminal window colors shift when 'number' is set
vim-patch:8.0.0840: MS-Windows: fopen() and open() prototypes are wrong
vim-patch:8.0.0843: MS-Windows: compiler warning for signed/unsigned
vim-patch:8.0.0844: wrong function prototype because of missing static
vim-patch:8.0.0853: crash when running terminal with unknown command
vim-patch:8.0.0871: status line for a terminal window always has "[+]".
vim-patch:8.0.0872: no mouse scroll with a terminal window
vim-patch:8.0.0886: crash when using ":term ls"
vim-patch:8.0.0903: early return from test function
vim-patch:8.0.0915: wrong initialisation of global
vim-patch:8.0.0950: MS-Windows: wrong #ifdef, compiler warnings
vim-patch:8.0.0951: another wrong #ifdef
vim-patch:8.0.0969: Coverity warning for unused return value
vim-patch:8.0.1003: 64 bit compiler warning
vim-patch:8.0.1005: terminal without job updates slowly in GUI
vim-patch:8.0.1018: warnings from 64-bit compiler
vim-patch:8.0.1079: memory leak when remote_foreground() fails
vim-patch:8.0.1128: old xterm sends CTRL-X in response to t_RS
vim-patch:8.0.1132: #if condition is not portable
vim-patch:8.0.1137: cannot build with Ruby
vim-patch:8.0.1143: macros always expand to the same thing
vim-patch:8.0.1145: warning when compiling with Perl
vim-patch:8.0.1182: cannot see or change mzscheme dll name
vim-patch:8.0.1199: when 'clipboard' is "autoselectplus" star register is set
vim-patch:8.0.1299: bracketed paste does not work well in terminal window
vim-patch:8.0.1545: screen dumps not included in distribution
vim-patch:8.0.1548: screen dump test script not included in distribution
vim-patch:8.0.1658: capitalize argument not available in long form
vim-patch:8.0.1693: xxd is excluded from coverage statistics
vim-patch:8.1.0363: internal diff isn't used by default as advertised
vim-patch:8.1.0443: unnecessary static function prototypes
vim-patch:8.1.0549: netbeans test depends on README.txt contents
vim-patch:8.1.0713: images for NSIS take up too much space
vim-patch:8.1.0714: unessesary #if lines in GTK code
vim-patch:8.1.0727: compiler warning for sprintf() argument
vim-patch:8.1.0733: too many #ifdefs for the multi-byte feature
vim-patch:8.1.0764: list of distributed files is outdated
vim-patch:8.1.0776: Travis does not build a version without GUI on Linux
vim-patch:8.1.0841: travis config to get Lua on MacOS is too complicated
vim-patch:8.1.0869: Travis CI script is too complicated
vim-patch:8.1.0873: list if distributed files does not include matchit autoload
vim-patch:8.1.0886: compiler warning for NULL pointer and condition always true
vim-patch:8.1.0916: with Python 3.7 "find_module" is not made available
vim-patch:8.1.0930: typo in Makefile
vim-patch:8.1.0943: still a trace of Farsi support
vim-patch:8.1.0944: format of nbdbg() arguments is not checked
vim-patch:8.1.0946: Coveralls is not very useful
vim-patch:8.1.0947: using MSWIN before it is defined
vim-patch:8.1.0948: when built without +eval "Vim --clean" produces errors
vim-patch:8.1.0949: MS-windows defines GUI macros different than other systems
vim-patch:8.1.0952: compilation warnings when building the MS-Windows installer
vim-patch:8.1.0955: matchit autoload directory not in installer
vim-patch:8.1.0976: dosinstall still has buffer overflow problems
vim-patch:8.1.0978: blob not tested with Perl
vim-patch:8.1.0979: compiler warning for unused functions
vim-patch:8.1.0983: checking CYGWIN32 unnecessarily
vim-patch:8.1.0984: unnecessary #ifdefs
vim-patch:8.1.0987: unnecessary condition in #ifdef
vim-patch:8.1.0991: cannot build with a mix of features
vim-patch:8.1.0996: a few screendump tests fail because of scrolling
vim-patch:8.1.1008: MS-Windows: HAVE_STDINT_H only defined for non-debug version
vim-patch:8.1.1009: MS-Windows: some text is not baseline aligned
vim-patch:8.1.1010: Lua interface leaks memory
vim-patch:8.1.1014: MS-Windows: /analyze only defined for non-debug version
vim-patch:8.1.1020: compiler warning for Python3 interface
vim-patch:8.1.1021: pyeval() and py3eval() leak memory
vim-patch:8.1.1029: DirectWrite doesn't take 'linespace' into account
vim-patch:8.1.1034: too many #ifdefs
vim-patch:8.1.1039: MS-Windows build fails
vim-patch:8.1.1040: FEAT_TAG_ANYWHITE is not enabled in any build
vim-patch:8.1.1048: minor issues with tests
vim-patch:8.1.1050: blank srceen when DirectWrite failed
vim-patch:8.1.1054: not checking return value of ga_grow()
vim-patch:8.1.1057: nsis config is too complicated
vim-patch:8.1.1059: MS-Windows: PlatformId() is called unnecessarily
vim-patch:8.1.1060: MS-Windows: get_cmd_args() is no longer needed
vim-patch:8.1.1064: no test for output conversion in the GTK GUI
vim-patch:8.1.1065: no test for using and deleting menu in the GUI
vim-patch:8.1.1066: VIMDLL isn't actually used
vim-patch:8.1.1067: issues added on github are unstructured
vim-patch:8.1.1069: source README file doesn't look nice on github
vim-patch:8.1.1070: issue templates are not good enough
vim-patch:8.1.1075: function reference count wrong in Python code
vim-patch:8.1.1081: MS-Windows: cannot use some fonts
vim-patch:8.1.1092: setting 'guifont' when maximized resizes the Vim window
vim-patch:8.1.1096: MS-Windows: cannot distinguish BS and CTRL-H
vim-patch:8.1.1097: Motif build fails
vim-patch:8.1.1104: MS-Windows: not all environment variables can be used
vim-patch:8.1.1105: long escape sequences may be split up
vim-patch:8.1.1109: deleted file still in list of distributed files
vim-patch:8.1.1117: build failure without the +eval feature
vim-patch:8.1.1119: no support for Windows on ARM64
vim-patch:8.1.1126: build failure with +terminal but without tgetent
vim-patch:8.1.1135: build failure for small version
vim-patch:8.1.1138: plugins don't get notified when the popup menu changes
2019-04-10 01:46:21 +02:00
busted/outputHandlers test: Dump $NVIM_LOG_FILE contents (#8926) 2018-08-28 22:13:34 +02:00
ci ci/build.ps1: Respect CMAKE_BUILD_TYPE if provided #9869 2019-04-09 00:17:07 +02:00
cmake Remove support for using jemalloc instead of the system allocator 2019-01-19 18:09:52 -05:00
config os: remove uv_translate_sys_error impl #9652 2019-03-01 02:34:32 +01:00
contrib Remove support for using jemalloc instead of the system allocator 2019-01-19 18:09:52 -05:00
man nvim.1: Add missing .El directive 2018-12-31 20:55:15 -05:00
runtime vim-patch:8.0.0702: error in a timer can make Vim unusable #9826 2019-04-10 00:50:51 +02:00
scripts doc [ci skip] 2019-04-08 03:42:21 +02:00
snap dist: snap packaging #7918 2018-01-29 23:02:15 +01:00
src version.c: update [ci skip] 2019-04-10 01:46:21 +02:00
test Merge pull request #9866 from bfredl/setbufcursor 2019-04-08 13:41:39 +02:00
third-party Merge #9638 from mhinz/update-libtermkey 2019-03-07 00:57:21 +01:00
unicode Update unicode files 2018-07-10 06:53:11 -04:00
.clang-format lint: src/.clang-format 2018-11-28 03:48:06 +01:00
.editorconfig editorconfig: set default tab width to 8 (#9467) 2019-01-07 02:15:19 +01:00
.gitignore makedeps.bat 2018-06-06 00:58:57 +02:00
.travis.yml ci: switch to Xcode 10.1 / macOS 10.13 2019-01-17 15:59:44 +01:00
appveyor.yml ci/build.ps1: Respect CMAKE_BUILD_TYPE if provided #9869 2019-04-09 00:17:07 +02:00
BACKERS.md Update backer URL 2015-11-11 19:50:33 -08:00
BSDmakefile build: show a hint for BSD make (#7275) 2017-09-16 10:54:49 +02:00
CMakeLists.txt ci/build.ps1: Respect CMAKE_BUILD_TYPE if provided #9869 2019-04-09 00:17:07 +02:00
codecov.yml CI/codecov: fix invalid yaml [ci skip] 2019-01-21 19:45:47 +01:00
CONTRIBUTING.md doc [ci skip] #9478 2019-01-26 20:38:14 +01:00
ISSUE_TEMPLATE.md doc: ISSUE_TEMPLATE.md 2017-07-08 14:59:06 +02:00
LICENSE LICENSE: add LuaJIT notice. #899 2014-06-30 13:59:56 -04:00
MAINTAIN.md doc [ci skip] #9478 2019-01-26 20:38:14 +01:00
Makefile build: do not pass empty CMAKE_INSTALL_PREFIX 2019-03-19 02:51:33 +01:00
README.md doc [ci skip] 2019-04-08 03:42:21 +02:00

Neovim

Wiki | Documentation | Chat/Discussion | Twitter

Travis build status AppVeyor build status Codecov coverage Coverity Scan analysis Clang analysis PVS-Studio analysis

Packages Debian CI Downloads

Neovim is a project that seeks to aggressively refactor Vim in order to:

See the Introduction wiki page and Roadmap for more information.

Features

See :help nvim-features for the full list!

Install from package

Pre-built packages for Windows, macOS, and Linux are found on the Releases page.

Managed packages are in Homebrew, Debian, Ubuntu, Fedora, Arch Linux, Gentoo, and more!

Install from source

The build is CMake-based, but a Makefile is provided as a convenience.

make CMAKE_BUILD_TYPE=RelWithDebInfo
sudo make install

To install to a non-default location:

make CMAKE_INSTALL_PREFIX=/full/path/
make install

To skip bundled (third-party/*) dependencies:

  1. Install the dependencies using a package manager.
    sudo apt install gperf luajit luarocks libuv1-dev libluajit-5.1-dev libunibilium-dev libmsgpack-dev libtermkey-dev libvterm-dev
    sudo luarocks build mpack
    sudo luarocks build lpeg
    sudo luarocks build inspect
    
  2. Build with USE_BUNDLED=OFF:
    make CMAKE_BUILD_TYPE=RelWithDebInfo USE_BUNDLED=OFF
    sudo make install
    

To inspect the build, these CMake features are useful:

  • cmake --build build --target help lists all build targets.
  • build/CMakeCache.txt (or cmake -LAH build/) contains the resolved values of all CMake variables.
  • build/compile_commands.json shows the full compiler invocations for each translation unit.

See the Building Neovim wiki page for details.

Transitioning from Vim

See :help nvim-from-vim for instructions.

Project layout

├─ ci/              build automation
├─ cmake/           build scripts
├─ runtime/         user plugins/docs
├─ src/nvim/        application source code (see src/nvim/README.md)
│  ├─ api/          API subsystem
│  ├─ eval/         VimL subsystem
│  ├─ event/        event-loop subsystem
│  ├─ generators/   code generation (pre-compilation)
│  ├─ lib/          generic data structures
│  ├─ lua/          Lua subsystem
│  ├─ msgpack_rpc/  RPC subsystem
│  ├─ os/           low-level platform code
│  └─ tui/          built-in UI
├─ third-party/     CMake subproject to build dependencies
└─ test/            tests (see test/README.md)

License

Neovim is licensed under the terms of the Apache 2.0 license, except for parts that were contributed under the Vim license.

  • Contributions committed before b17d96 remain under the Vim license.

  • Contributions committed after b17d96 are licensed under Apache 2.0 unless those contributions were copied from Vim (identified in the commit logs by the vim-patch token).

See LICENSE for details.

Vim is Charityware.  You can use and copy it as much as you like, but you are
encouraged to make a donation for needy children in Uganda.  Please see the
kcc section of the vim docs or visit the ICCF web site, available at these URLs:

        http://iccf-holland.org/
        http://www.vim.org/iccf/
        http://www.iccf.nl/

You can also sponsor the development of Vim.  Vim sponsors can vote for
features.  The money goes to Uganda anyway.