mirror of
https://github.com/neovim/neovim
synced 2025-07-15 16:51:49 +00:00
52727d98d76983f73e214369fe98ef541031395c
FEATURES:bc4a2e1576
help, man.vim: "outline" (TOC) feature #516958422f17d8
'guicursor' works in the TUI (and sends info to UIs) #6423129f107c0c
api: nvim_get_mode() #62470b59f988f4
api/ui: externalize tabline #6583bc6d868d00
'listchars': `Whitespace` highlight group #63676afa7d66cd
writefile() obeys 'fsync' option #6427c60e409471
eval.c refactor (also improves some error messages) #51199d200cd0a3
getcompletion("cmdline") #63762ea7bfc627
terminal: Support extra arguments in 'shell'. #4504bf5110266c
DirChanged autocmd #5928 #62621743df82f9
'cpoptions': "_" flag to toggle `cw` behaviour #623522337b1c01
CTRL-R omits trailing ^M when pasting to cmdline #61370e44916fff
:edit allows unescaped spaces in filename #6119abdbfd26bc
eval: Add id() function and make printf("%p") useful #6095bdfa1479d2
findfile(), :find, gf work in :terminal. #60092f38ed11c9
providers: Disable if `g:loaded_*` exists.b5560a69b1
setpos() can set lowercase marks in other buffers #57537c513d646d
Throttle :! output, pulse "..." message. #5396d2e8c76dc2
v:exiting #5651 :terminal improvements #6185 #6142 - cursor keeps position after leaving insert-mode. -4ceec30cd0
Follows output only if cursor is at end of buffer. -e7bbd35c81
new option: 'scrollback' -fedb8443d5
quasi-support for undo and 'modifiable' -b45ddf731b
disables 'list' by default - disables 'relativenumber' by default :help now contains full API documentation at `:help api`. man.vim saw numerous improvements. Windows support: - Windows is no longer "experimental", it is fully supported. - Windows package includes a GUI, curl.exe and other utilities. "Vim 8" features: partials, lambdas. SECURITY FIXES: CVE-2017-5953 CVE-2017-6349 CVE-2017-6350 #6485 CHANGES: NVIM_TUI_ENABLE_CURSOR_SHAPE was removed. Use 'guicursor' instead. See https://github.com/neovim/neovim/wiki/Following-HEAD#2017040281525dc5c3
'mouse=a' is no longer the default. (This will probably change again after it is improved.) #60220c1f783164
defaults: 'showcmd', 'belloff', 'ruler' #6087eb0e94f71b
api: {get,set}_option update local options as appropriate #6405bdcb2a38b3
"Reading from stdin..." message was removed. #6298 FIXES:12fc1defd6
ops: fix i<c-r> with multi-byte text #6524dd391bfca1
Windows: system() and friends #649713352c00f1
Windows: os_get_hostname() #641316babc6687
tui: Less-noisy mouse seqs #64113a9dd13f9e
(vim bug) folding edge-cases #6207f6946c68ae
job-control: set CLOEXEC on pty processes. #5986d1afd434f3
rplugin: Call s:LoadRemotePlugins() on startup.1215084676
backtick-expansion works with `shell=fish` #6224e32ec03d67
tui: Improved behavior after resize. #620286c2adc074
edit.c: CTRL-SPC: Insert previously-inserted text. #6090c318d8e672
b:changedtick now follows VimL rules #611234e24cb2f7
terminal: Initialize colors in reverse order #6160e8899178ec
undo: Don't set b_u_curhead in ex_undojoin() #5869d25649fa01
undo: :earlier, g-: Set b_u_seq_cur correctly. (#6016)043d8ba422
'Visual-mode put from @. register' #578242c922b32c
open_buffer(): Do `BufEnter` for directories.50d0d89129
inccommand: Preview :sub commands only after delimiter #59321420e10474
CheckHealth improvements #5519c8d5e9230e
jobstart(): Return -1 if cmd is not executable. #5671
Wiki | Documentation | Twitter | Community | Gitter Chat
Neovim is a project that seeks to aggressively refactor Vim in order to:
- Simplify maintenance and encourage contributions
- Split the work between multiple developers
- Enable advanced UIs without modifications to the core
- Maximize extensibility
See the wiki and Roadmap for more information.
Install from source
make CMAKE_BUILD_TYPE=RelWithDebInfo
sudo make install
See the wiki for details.
Install from package
Packages are in Homebrew, Debian, Ubuntu, Fedora, Arch Linux, and more.
Project layout
ci/
: Build server scriptscmake/
: Build scriptsruntime/
: Application filessrc/
: Application source codethird-party/
: CMake sub-project to build third-party dependencies (if theUSE_BUNDLED_DEPS
flag is undefined orUSE_BUNDLED
CMake option is false).test/
: Test files
What's been done so far
- RPC API based on MessagePack
- Embedded terminal emulator
- Asynchronous job control
- Shared data (shada) among multiple editor instances
- XDG base directories support
- libuv-based platform/OS layer
- Pushdown automaton input model
- 1000s of new tests
- Legacy tests converted to Lua tests
See :help nvim-features
for a comprehensive list.
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.
Description
Languages
Vim Script
41.1%
Lua
29.7%
C
28.1%
CMake
0.4%
Python
0.3%
Other
0.2%