导读
Vim和Neovim同宗而异,Neovim比Vim更强大,支持异步插件和脚本,性能更佳,稳定性更强,对现代用户界面和Unicode字符的支持更完善。Neovim适用于Windows、Linux、MacOS,配置简单便捷,符合XDG基本目录规范。
介绍
官方网站:https://neovim.io/
Vim是一款基于Vi编辑器的文本编辑器,Neovim是Vim的一个分支,旨在解决Vim的一些缺点并提供额外特性。Neovim具有更好的性能和稳定性,支持异步插件和脚本,改进了对现代用户界面和Unicode字符的支持。Neovim可在Windows、Linux、MacOS上安装,配置遵循XDG基本目录规范。
软件截图
软件特点
简化维护以提高错误修复和功能合并的速度。
将工作分派给多名开发人员。
无需对核心源进行任何修改即可实现新的/现代的用户界面。
使用基于协同进程的新插件架构提高可扩展性。插件可以用任何编程语言编写,无需编辑器的任何明确支持。
更新日志
Features
lsp: Update LSP healthcheck format (#28988)
Build System
deps: Bump tree-sitter-query to v0.4.0
deps: Bump tree-sitter-c to v0.21.3
deps: Bump tree-sitter-vimdoc to v3.0.0
deps: Drop unused bundled bash, python parsers and queries
macos: Disable deduplication in link step
“popcount” name conflict on NetBSD #28983
Remove -O2 from gen_cflags
Reuse code for deps.txt for both deps and main build
Bug Fixes
Show swapfile warning as a warning (#28972)
Assert failure in VimL expression parser
api: Alloc and draw cursor window in nvim__redraw
colorscheme: Underline StatusLineNC with ‘notermguicolors’ #28810
column: Crash with ‘signcolumn’ set to “number” (#29003)
column: Clamp line number for legacy signs
column: Modifying a sign should update placed signs (#29750)
comment: Fall back to using trimmed comment markers (#28950)
defaults: Default @/Q broken when ‘ignorecase’ is set (#29343)
drawline: Don’t draw beyond end of window (#29035)
drawline: Don’t draw beyond end of window with ‘rnu’ (#29406)
extmarks: Issues with revalidating marks #28961
filetype: Fix typos in filetype detection
float: Handle error in win_float_create() (#29742)
fs: Make vim.fs.root work for relative paths and unnamed buffers (#28973)
health: Broken ruby detect #28804
health: Fix fetching url with python in provider health (#29594)
input: Handle vim.on_key() properly with ALT and K_SPECIAL (#29677)
lsp: Add textDocument/documentLink to capability map (#28838)
lsp: Hide layout in codelenses in virtual text (#28794) (#28895)
lsp: Detach all clients on_reload to force buf_state reload (#28898)
lsp: Trigger LspDetach on buffer delete
lsp: Check if buffer was detached in on_init callback (#28942)
lsp: Handle nil root_dir in health check (#29010)
lsp: Do not detach from buffer if there are uninitialized clients (#29043)
lsp: Clear lsp client diagnostics (#29091)
lsp: Remove superfluous on_detach callback from semantic tokens module (#29188)
lsp: Do not reset buf version when detaching client (#29273)
lsp: Avoid vim.keymap.del error when stopping a client (#29478)
lsp: Don’t show codelens for buffers that don’t support it (#29690)
lsp: Inlay hints are rendered in the correct order (#29707)
lua: Change some vim.fn.expand() to vim.fs.normalize() (#29583)
marks: Revalidate marks whose position did not change
mouse: Early return when clicking in padded ‘statuscolumn’ (#29394)
move: Half-page scrolling with resized grid at eob (#28821)
path: Avoid chdir() when resolving path (#28799)
quickfix: Make shortmess+=O work with cmdheight=0 (#29609)
runtime: Source c ftplugin properly for cpp on Windows (#29053)
runtime: Add commentstring for glsl ftplugin
snippet: Don’t override unnamed register on tabstop select (#29008)
snippet: Cancel snippet session when leaving the buffer (#29044)
snippet: Modify base indentation when there’s actually whitespace (#29670)
tohtml: Replace ipairs with pairs
tohtml: Ignore lsp inlay hints
tohtml: Show how many warnings are hidden
tohtml: Properly handle multiple hl groups #29012
tohtml: Extmark text may be out of bounds
tohtml: Support ranges again
treesitter: Do not modify highlight state for _on_spell_nav
treesitter: Ensure syntaxset augroup exists (#29542)
treesitter: Display fields for anonymous nodes in :InspectTree
treesitter: Recognize aliased parsers in omnifunc, query linter
tui: Remove duplicate disabling of synchronized output (#28884)
tui: Move $COLORTERM check to _defaults.lua (#29206)
tui: Skip TUI in ui_rgb_attached (#29096)
ui: Flush ext_cmdline events before doing cmdpreview (#29062)
ui: Superfluous showmode / excessive grid_cursor_goto #29089
ui: Avoid ambiguity about last chunk when flushing halfway (#29718)
version: Fix vim.version().prerelease
vim.text: Remove assert from vim.text.hexdecode
win-msi: Add bin to PATH per-machine after installation (#29099)
Documentation
Update LSP quickstart (#28989)
Misc (#29229)
Document ‘list’ behavior when ‘listchars’ excludes “tab” (#29360)
Fix more treesitter parsing errors
Misc (#29714)
lpeg: Merge upstream changes
lsp: Format the handwritten part #29295
Refactor
Replace deprecated vim.loop with vim.uv
lsp: Reuse buf_detach_client logic in on_detach (#28939) (#29024)
path.c: Add nonnull attributes (#28829)
tests: Use more global highlight definitions
tests: More global highlight definitions
Testing
Add a test for #29119
Do not set termguicolors in test runner
Remove checks for failed tests on Windows
Starting and stopping treesitter highlight (#29546)
Fix reporting “no flush received” too early (#29735)
评论0