mirror of
https://github.com/neovim/neovim.git
synced 2025-11-17 15:51:32 +00:00
docs: misc
Co-authored-by: Dustin S. <dstackmasta27@gmail.com> Co-authored-by: Ferenc Fejes <fejes@inf.elte.hu> Co-authored-by: Maria José Solano <majosolano99@gmail.com> Co-authored-by: Yochem van Rosmalen <git@yochem.nl> Co-authored-by: brianhuster <phambinhanctb2004@gmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
This commit is contained in:
@@ -108,20 +108,20 @@ For arm64:
|
||||
The [Releases](https://github.com/neovim/neovim/releases) page provides pre-built binaries for Linux systems.
|
||||
|
||||
```sh
|
||||
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz
|
||||
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz
|
||||
sudo rm -rf /opt/nvim
|
||||
sudo tar -C /opt -xzf nvim-linux64.tar.gz
|
||||
sudo tar -C /opt -xzf nvim-linux-x86_64.tar.gz
|
||||
```
|
||||
|
||||
Then add this to your shell config (`~/.bashrc`, `~/.zshrc`, ...):
|
||||
|
||||
export PATH="$PATH:/opt/nvim-linux64/bin"
|
||||
export PATH="$PATH:/opt/nvim-linux-x86_64/bin"
|
||||
|
||||
### AppImage ("universal" Linux package)
|
||||
|
||||
The [Releases](https://github.com/neovim/neovim/releases) page provides an [AppImage](https://appimage.org) that runs on most Linux systems. No installation is needed, just download `nvim-linux-x86_64.appimage` and run it. (It might not work if your Linux distribution is more than 4 years old.) The following instructions assume an `x86_64` architecture; on ARM Linux replace with `arm64`.
|
||||
|
||||
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-86_64.appimage
|
||||
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.appimage
|
||||
chmod u+x nvim-linux-x86_64.appimage
|
||||
./nvim-linux-x86_64.appimage
|
||||
|
||||
|
||||
@@ -422,7 +422,7 @@ after adding them, the returned |extmark| id can be used. >lua
|
||||
See also |vim.hl.range()|.
|
||||
|
||||
==============================================================================
|
||||
Floating windows *api-floatwin*
|
||||
Floating windows *api-floatwin* *floating-windows*
|
||||
|
||||
Floating windows ("floats") are displayed on top of normal windows. This is
|
||||
useful to implement simple widgets, such as tooltips displayed next to the
|
||||
|
||||
@@ -22,7 +22,7 @@ Third-party GUIs *third-party-guis* *vscode*
|
||||
|
||||
Nvim provides a builtin "terminal UI" (|TUI|), but also works with many
|
||||
(third-party) GUIs which may provide a fresh look or extra features on top of
|
||||
Nvim. For example, "vscode-neovim" essentally allows you to use VSCode as
|
||||
Nvim. For example, "vscode-neovim" essentially allows you to use VSCode as
|
||||
a Nvim GUI.
|
||||
|
||||
- vscode-neovim (Nvim in VSCode!) https://github.com/vscode-neovim/vscode-neovim
|
||||
|
||||
@@ -882,8 +882,9 @@ foldexpr({lnum}) *vim.lsp.foldexpr()*
|
||||
callback = function(args)
|
||||
local client = vim.lsp.get_client_by_id(args.data.client_id)
|
||||
if client:supports_method('textDocument/foldingRange') then
|
||||
vim.wo.foldmethod = 'expr'
|
||||
vim.wo.foldexpr = 'v:lua.vim.lsp.foldexpr()'
|
||||
local win = vim.api.nvim_get_current_win()
|
||||
vim.wo[win][0].foldmethod = 'expr'
|
||||
vim.wo[win][0].foldexpr = 'v:lua.vim.lsp.foldexpr()'
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
@@ -290,7 +290,7 @@ argument.
|
||||
*-n*
|
||||
-n Disables |swap-file| by setting 'updatecount' to 0 (after
|
||||
executing any |vimrc|). Recovery after a crash will be
|
||||
impossible. Improves peformance when working with a file on
|
||||
impossible. Improves performance when working with a file on
|
||||
a very slow medium (usb drive, network share).
|
||||
|
||||
Enable it again by setting 'updatecount' to some value, e.g.
|
||||
|
||||
@@ -497,7 +497,7 @@ convention, nodes to be concealed are captured as `@conceal`, but any capture
|
||||
can be used. For example, the following query can be used to hide code block
|
||||
delimiters in Markdown: >query
|
||||
|
||||
(fenced_code_block_delimiter @conceal (#set! conceal ""))
|
||||
((fenced_code_block_delimiter) @conceal (#set! conceal ""))
|
||||
<
|
||||
It is also possible to replace a node with a single character, which (unlike
|
||||
legacy syntax) can be given a custom highlight. For example, the following
|
||||
@@ -508,6 +508,13 @@ still highlighted the same as other operators: >query
|
||||
<
|
||||
Conceals specified in this way respect 'conceallevel'.
|
||||
|
||||
Note that although you can use any string for `conceal`, only the first
|
||||
character will be used: >query
|
||||
|
||||
; identifiers will be concealed with 'f'.
|
||||
((identifier) @conceal (#set! conceal "foo"))
|
||||
<
|
||||
|
||||
*treesitter-highlight-priority*
|
||||
Treesitter uses |nvim_buf_set_extmark()| to set highlights with a default
|
||||
priority of 100. This enables plugins to set a highlighting priority lower or
|
||||
@@ -1666,8 +1673,8 @@ LanguageTree:parse({range}, {on_parse}) *LanguageTree:parse()*
|
||||
Function invoked when parsing completes. When provided and
|
||||
`vim.g._ts_force_sync_parsing` is not set, parsing will
|
||||
run asynchronously. The first argument to the function is
|
||||
a string respresenting the error type, in case of a
|
||||
failure (currently only possible for timeouts). The second
|
||||
a string representing the error type, in case of a failure
|
||||
(currently only possible for timeouts). The second
|
||||
argument is the list of trees returned by the parse (upon
|
||||
success), or `nil` if the parse timed out (determined by
|
||||
'redrawtime').
|
||||
|
||||
@@ -652,7 +652,7 @@ do
|
||||
|
||||
-- This autocommand updates the value of 'background' anytime we receive
|
||||
-- an OSC 11 response from the terminal emulator. If the user has set
|
||||
-- 'background' explictly then we will delete this autocommand,
|
||||
-- 'background' explicitly then we will delete this autocommand,
|
||||
-- effectively disabling automatic background setting.
|
||||
local force = false
|
||||
local id = vim.api.nvim_create_autocmd('TermResponse', {
|
||||
|
||||
@@ -34,7 +34,7 @@ local matchregex = vim.filetype._matchregex
|
||||
-- can be detected from the first five lines of the file.
|
||||
--- @type vim.filetype.mapfn
|
||||
function M.asm(path, bufnr)
|
||||
-- tiasm uses `* commment`
|
||||
-- tiasm uses `* comment`
|
||||
local lines = table.concat(getlines(bufnr, 1, 10), '\n')
|
||||
if findany(lines, { '^%*', '\n%*', 'Texas Instruments Incorporated' }) then
|
||||
return 'tiasm'
|
||||
|
||||
@@ -1395,8 +1395,9 @@ end
|
||||
--- callback = function(args)
|
||||
--- local client = vim.lsp.get_client_by_id(args.data.client_id)
|
||||
--- if client:supports_method('textDocument/foldingRange') then
|
||||
--- vim.wo.foldmethod = 'expr'
|
||||
--- vim.wo.foldexpr = 'v:lua.vim.lsp.foldexpr()'
|
||||
--- local win = vim.api.nvim_get_current_win()
|
||||
--- vim.wo[win][0].foldmethod = 'expr'
|
||||
--- vim.wo[win][0].foldexpr = 'v:lua.vim.lsp.foldexpr()'
|
||||
--- end
|
||||
--- end,
|
||||
--- })
|
||||
|
||||
@@ -423,7 +423,7 @@ end
|
||||
---
|
||||
---@see vim.lsp.protocol.CompletionTriggerKind
|
||||
function M.completion(context)
|
||||
vim.depends('vim.lsp.buf.completion', 'vim.lsp.commpletion.trigger', '0.12')
|
||||
vim.depends('vim.lsp.buf.completion', 'vim.lsp.completion.trigger', '0.12')
|
||||
return lsp.buf_request(
|
||||
0,
|
||||
ms.textDocument_completion,
|
||||
|
||||
@@ -523,7 +523,7 @@ end
|
||||
--- only the root tree without injections).
|
||||
--- @param on_parse fun(err?: string, trees?: table<integer, TSTree>)? Function invoked when parsing completes.
|
||||
--- When provided and `vim.g._ts_force_sync_parsing` is not set, parsing will run
|
||||
--- asynchronously. The first argument to the function is a string respresenting the error type,
|
||||
--- asynchronously. The first argument to the function is a string representing the error type,
|
||||
--- in case of a failure (currently only possible for timeouts). The second argument is the list
|
||||
--- of trees returned by the parse (upon success), or `nil` if the parse timed out (determined
|
||||
--- by 'redrawtime').
|
||||
|
||||
@@ -642,8 +642,7 @@ static bool normal_need_redraw_mode_message(NormalState *s)
|
||||
return (
|
||||
// 'showmode' is set and messages can be printed
|
||||
((p_smd && msg_silent == 0
|
||||
// must restart insert mode(ctrl+o or ctrl+l) or we just entered visual
|
||||
// mode
|
||||
// must restart insert mode (ctrl+o or ctrl+l) or just entered visual mode
|
||||
&& (restart_edit != 0 || (VIsual_active
|
||||
&& s->old_pos.lnum == curwin->w_cursor.lnum
|
||||
&& s->old_pos.col == curwin->w_cursor.col))
|
||||
@@ -6625,8 +6624,8 @@ static void nv_event(cmdarg_T *cap)
|
||||
// `input_get` branch was not executed (!multiqueue_empty(loop.events), which
|
||||
// could have `may_garbage_collect` set to true in `normal_check`).
|
||||
//
|
||||
// That is because here we may run code that calls `input_get`
|
||||
// later(`f_confirm` or `get_keystroke` for example), but in these cases it is
|
||||
// That is because here we may run code that calls `input_get` later
|
||||
// (`f_confirm` or `get_keystroke` for example), but in these cases it is
|
||||
// not safe to perform garbage collection because there could be unreferenced
|
||||
// lists or dicts being used.
|
||||
may_garbage_collect = false;
|
||||
|
||||
@@ -187,8 +187,7 @@ static void on_signal(SignalWatcher *handle, int signum, void *data)
|
||||
switch (signum) {
|
||||
#ifdef SIGPWR
|
||||
case SIGPWR:
|
||||
// Signal of a power failure(eg batteries low), flush the swap files to
|
||||
// be safe
|
||||
// Signal of a power failure (eg batteries low), flush the swap files to be safe
|
||||
ml_sync_all(false, false, true);
|
||||
break;
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user