mirror of
https://github.com/neovim/neovim.git
synced 2026-01-02 17:36:56 +10:00
52727d98d76983f73e214369fe98ef541031395c
FEATURES:
bc4a2e1576 help, man.vim: "outline" (TOC) feature #5169
58422f17d8 'guicursor' works in the TUI (and sends info to UIs) #6423
129f107c0c api: nvim_get_mode() #6247
0b59f988f4 api/ui: externalize tabline #6583
bc6d868d00 'listchars': `Whitespace` highlight group #6367
6afa7d66cd writefile() obeys 'fsync' option #6427
c60e409471 eval.c refactor (also improves some error messages) #5119
9d200cd0a3 getcompletion("cmdline") #6376
2ea7bfc627 terminal: Support extra arguments in 'shell'. #4504
bf5110266c DirChanged autocmd #5928 #6262
1743df82f9 'cpoptions': "_" flag to toggle `cw` behaviour #6235
22337b1c01 CTRL-R omits trailing ^M when pasting to cmdline #6137
0e44916fff :edit allows unescaped spaces in filename #6119
abdbfd26bc eval: Add id() function and make printf("%p") useful #6095
bdfa1479d2 findfile(), :find, gf work in :terminal. #6009
2f38ed11c9 providers: Disable if `g:loaded_*` exists.
b5560a69b1 setpos() can set lowercase marks in other buffers #5753
7c513d646d Throttle :! output, pulse "..." message. #5396
d2e8c76dc2 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#20170402
81525dc5c3 'mouse=a' is no longer the default. (This will probably
change again after it is improved.) #6022
0c1f783164 defaults: 'showcmd', 'belloff', 'ruler' #6087
eb0e94f71b api: {get,set}_option update local options as appropriate #6405
bdcb2a38b3 "Reading from stdin..." message was removed. #6298
FIXES:
12fc1defd6 ops: fix i<c-r> with multi-byte text #6524
dd391bfca1 Windows: system() and friends #6497
13352c00f1 Windows: os_get_hostname() #6413
16babc6687 tui: Less-noisy mouse seqs #6411
3a9dd13f9e (vim bug) folding edge-cases #6207
f6946c68ae job-control: set CLOEXEC on pty processes. #5986
d1afd434f3 rplugin: Call s:LoadRemotePlugins() on startup.
1215084676 backtick-expansion works with `shell=fish` #6224
e32ec03d67 tui: Improved behavior after resize. #6202
86c2adc074 edit.c: CTRL-SPC: Insert previously-inserted text. #6090
c318d8e672 b:changedtick now follows VimL rules #6112
34e24cb2f7 terminal: Initialize colors in reverse order #6160
e8899178ec undo: Don't set b_u_curhead in ex_undojoin() #5869
d25649fa01 undo: :earlier, g-: Set b_u_seq_cur correctly. (#6016)
043d8ba422 'Visual-mode put from @. register' #5782
42c922b32c open_buffer(): Do `BufEnter` for directories.
50d0d89129 inccommand: Preview :sub commands only after delimiter #5932
1420e10474 CheckHealth improvements #5519
c8d5e9230e 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_DEPSflag is undefined orUSE_BUNDLEDCMake 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-patchtoken).
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.
Languages
Vim Script
40.8%
Lua
30.8%
C
27.6%
CMake
0.4%
Shell
0.1%
Other
0.1%
