2017-03-21 09:08:19 -07:00
|
|
|
*deprecated.txt* Nvim
|
2016-09-24 06:07:49 -07:00
|
|
|
|
|
|
|
|
|
|
|
NVIM REFERENCE MANUAL
|
|
|
|
|
|
|
|
|
|
|
|
Nvim *deprecated*
|
|
|
|
|
2022-05-03 06:08:35 -07:00
|
|
|
The items listed below are deprecated: they will be removed in the future.
|
|
|
|
They should not be used in new scripts, and old scripts should be updated.
|
2016-10-15 18:54:22 -07:00
|
|
|
|
2016-09-24 06:07:49 -07:00
|
|
|
==============================================================================
|
2022-10-09 05:21:52 -07:00
|
|
|
Deprecated features
|
|
|
|
|
|
|
|
API
|
|
|
|
- *nvim_buf_clear_highlight()* Use |nvim_buf_clear_namespace()| instead.
|
|
|
|
- *nvim_buf_set_virtual_text()* Use |nvim_buf_set_extmark()| instead.
|
2023-03-25 09:58:48 -07:00
|
|
|
- *nvim_command_output()* Use |nvim_exec2()| instead.
|
2022-10-09 05:21:52 -07:00
|
|
|
- *nvim_execute_lua()* Use |nvim_exec_lua()| instead.
|
2023-03-23 02:31:39 -07:00
|
|
|
- *nvim_get_hl_by_name()* Use |nvim_get_hl()| instead.
|
|
|
|
- *nvim_get_hl_by_id()* Use |nvim_get_hl()| instead.
|
2023-03-25 09:58:48 -07:00
|
|
|
- *nvim_exec()* Use |nvim_exec2()| instead.
|
2023-03-29 00:59:01 -07:00
|
|
|
- *nvim_get_option_info()* Use |nvim_get_option_info2()| instead.
|
2022-12-19 09:37:45 -07:00
|
|
|
- *nvim_buf_get_option()* Use |nvim_get_option_value()| instead.
|
|
|
|
- *nvim_buf_set_option()* Use |nvim_set_option_value()| instead.
|
|
|
|
- *nvim_get_option()* Use |nvim_get_option_value()| instead.
|
|
|
|
- *nvim_set_option()* Use |nvim_set_option_value()| instead.
|
|
|
|
- *nvim_win_get_option()* Use |nvim_get_option_value()| instead.
|
|
|
|
- *nvim_win_set_option()* Use |nvim_set_option_value()| instead.
|
2022-10-09 05:21:52 -07:00
|
|
|
|
|
|
|
COMMANDS
|
|
|
|
- *:rv* *:rviminfo* Deprecated alias to |:rshada| command.
|
|
|
|
- *:wv* *:wviminfo* Deprecated alias to |:wshada| command.
|
|
|
|
|
|
|
|
ENVIRONMENT VARIABLES
|
|
|
|
- *$NVIM_LISTEN_ADDRESS*
|
|
|
|
- Deprecated way to:
|
|
|
|
- set the server name (use |--listen| or |serverstart()| instead)
|
|
|
|
- get the server name (use |v:servername| instead)
|
|
|
|
- detect a parent Nvim (use |$NVIM| instead)
|
|
|
|
- Ignored if --listen is given.
|
|
|
|
- Unset by |terminal| and |jobstart()| unless explicitly given by the "env"
|
2022-11-22 10:41:00 -07:00
|
|
|
option. Example: >vim
|
2022-10-09 05:21:52 -07:00
|
|
|
call jobstart(['foo'], { 'env': { 'NVIM_LISTEN_ADDRESS': v:servername } })
|
|
|
|
<
|
|
|
|
|
|
|
|
EVENTS
|
|
|
|
- *BufCreate* Use |BufAdd| instead.
|
|
|
|
- *EncodingChanged* Never fired; 'encoding' is always "utf-8".
|
|
|
|
- *FileEncoding* Never fired; equivalent to |EncodingChanged|.
|
|
|
|
- *GUIEnter* Never fired; use |UIEnter| instead.
|
|
|
|
- *GUIFailed* Never fired.
|
|
|
|
|
|
|
|
KEYCODES
|
|
|
|
- *<MouseDown>* Use <ScrollWheelUp> instead.
|
|
|
|
- *<MouseUp>* Use <ScrollWheelDown> instead.
|
|
|
|
|
|
|
|
FUNCTIONS
|
|
|
|
- *buffer_exists()* Obsolete name for |bufexists()|.
|
|
|
|
- *buffer_name()* Obsolete name for |bufname()|.
|
|
|
|
- *buffer_number()* Obsolete name for |bufnr()|.
|
|
|
|
- *file_readable()* Obsolete name for |filereadable()|.
|
2023-04-15 14:40:48 -07:00
|
|
|
- *health#report_error* *vim.health.report_error()* Use |vim.health.error()| instead.
|
|
|
|
- *health#report_info* *vim.health.report_info()* Use |vim.health.info()| instead.
|
|
|
|
- *health#report_ok* *vim.health.report_ok()* Use |vim.health.ok()| instead.
|
|
|
|
- *health#report_start* *vim.health.report_start()* Use |vim.health.start()| instead.
|
|
|
|
- *health#report_warn* *vim.health.report_warn()* Use |vim.health.warn()| instead.
|
2022-10-09 05:21:52 -07:00
|
|
|
- *highlight_exists()* Obsolete name for |hlexists()|.
|
|
|
|
- *highlightID()* Obsolete name for |hlID()|.
|
|
|
|
- *inputdialog()* Use |input()| instead.
|
|
|
|
- *jobclose()* Obsolete name for |chanclose()|
|
|
|
|
- *jobsend()* Obsolete name for |chansend()|
|
|
|
|
- *last_buffer_nr()* Obsolete name for bufnr("$").
|
|
|
|
- *rpcstop()* Use |jobstop()| instead to stop any job, or
|
|
|
|
`chanclose(id, "rpc")` to close RPC communication
|
jobstop(): close channel before process_stop() #10522
fix #9799
regression of #7081
Helped-by: Björn Linse <bjorn.linse@gmail.com>
Problem: :UpdateRemotePlugins (which calls rpcstop()) sometimes crashes:
remote/host: python3 host registered plugins []
nvim: ../src/nvim/event/wstream.c:78:
_Bool wstream_write(Stream *, WBuffer *): Assertion `!stream->closed' failed.
Aborted (core dumped)
Order of events (channel 163, see logs below):
1. Channel's in-stream (0x2ba86c0) is **closed** by `f_rpcstop`..`process_stop`.
2. `receive_msgpack` parses the channel out-stream (0x2ba8860)
3. Invokes "nvim_command_output" API method.
4. Writes result to the **closed** in-stream => **abort**
- af993da4351d (`receive_msgpack`) tried to hack around same/similar issue.
- Hack was removed in 5215e3205a07.
Solution: in jobstop(), close the channel before process_stop().
Log:
DEBUG 2019-07-16T20:54:12.191 25159 stream_close:96: closing Stream: 0x2b01a90
DEBUG 2019-07-16T20:54:12.210 25159 process_spawn:124: new: pid=28407 argv=[/usr/bin/python3]
DEBUG 2019-07-16T20:54:12.210 25159 rpc_start:72: rpc ch 163 in-stream=0x2ba86c0 out-stream=0x2ba8860
INFO 2019-07-16T20:54:12.210 25159 channel_create_event:199: new channel 163 (function <SNR>61_on_exit[4]..<SNR>60_job_exit_cb[101]..<SNR>60_decrement_job_count[8]..remote#host#UpdateRemotePlugins[6]..<SNR>31_RegistrationCommands[15]..remote#host#Require[10]..provider#pythonx#Require[13]..provider#Poll:3) : {"id": 163, "client": {}, "mode": "rpc", "stream": "job"}
DEBUG 2019-07-16T20:54:12.211 25159 log_server_msg:729: RPC ->ch 163: [request] [0, 1, "poll", []]
DEBUG 2019-07-16T20:54:12.355 25159 receive_msgpack:227: ch 163: parsing 21 bytes from msgpack Stream: 0x2ba8860
DEBUG 2019-07-16T20:54:12.355 25159 log_client_msg:766: RPC <-ch 163: [request] [0, 1, "vim_get_api_info", []]
DEBUG 2019-07-16T20:54:12.355 25159 RPC: <-ch 163: invoke nvim_get_api_info
DEBUG 2019-07-16T20:54:12.357 25159 log_server_msg:729: RPC ->ch 163: [response] [1, 1, nil, [163, {"version"=>{"major"=>0, "minor"=>4, }, ...
DEBUG 2019-07-16T20:54:12.377 25159 receive_msgpack:227: ch 163: parsing 85 bytes from msgpack Stream: 0x2ba8860
DEBUG 2019-07-16T20:54:12.377 25159 log_client_msg:766: RPC <-ch 163: [request] [0, 2, "nvim_eval", ["((&number||&relativenumber) ? &numberwidth : 0) + &foldcolumn"]]
DEBUG 2019-07-16T20:54:12.377 25159 handle_request:359: RPC: scheduled nvim_eval
DEBUG 2019-07-16T20:54:12.377 25159 log_client_msg:766: RPC <-ch 163: [response] [1, 1, nil, "ok"]
DEBUG 2019-07-16T20:54:12.378 25159 log_server_msg:729: RPC ->ch 163: [request] [0, 2, "specs", ["/home/vagrant/.config/nvim/rplugin/python3/__pycache__"]]
DEBUG 2019-07-16T20:54:12.378 25159 RPC: <-ch 163: invoke nvim_eval
DEBUG 2019-07-16T20:54:12.379 25159 log_server_msg:729: RPC ->ch 163: [response] [1, 2, nil, 0]
DEBUG 2019-07-16T20:54:12.379 25159 receive_msgpack:227: ch 163: parsing 5 bytes from msgpack Stream: 0x2ba8860
DEBUG 2019-07-16T20:54:12.379 25159 log_client_msg:766: RPC <-ch 163: [response] [1, 2, nil, 0]
DEBUG 2019-07-16T20:54:12.380 25159 log_server_msg:729: RPC ->ch 163: [request] [0, 3, "specs", ["/home/vagrant/.config/nvim/rplugin/python3/foo.py"]]
DEBUG 2019-07-16T20:54:12.380 25159 receive_msgpack:227: ch 163: parsing 79 bytes from msgpack Stream: 0x2ba8860
DEBUG 2019-07-16T20:54:12.380 25159 log_client_msg:766: RPC <-ch 163: [request] [0, 3, "nvim_command", ["redir =>a |exe "sil sign place buffer=".bufnr('')|redir end"]]
DEBUG 2019-07-16T20:54:12.381 25159 handle_request:359: RPC: scheduled nvim_command
DEBUG 2019-07-16T20:54:12.381 25159 RPC: <-ch 163: invoke nvim_command
DEBUG 2019-07-16T20:54:12.381 25159 log_server_msg:729: RPC ->ch 163: [response] [1, 3, nil, nil]
DEBUG 2019-07-16T20:54:12.381 25159 receive_msgpack:227: ch 163: parsing 5 bytes from msgpack Stream: 0x2ba8860
DEBUG 2019-07-16T20:54:12.381 25159 log_client_msg:766: RPC <-ch 163: [response] [1, 3, nil, 0]
DEBUG 2019-07-16T20:54:12.382 25159 stream_close:95: trace:
log_callstack at /home/vagrant/neovim/build/../src/nvim/log.c:256
stream_close at /home/vagrant/neovim/build/../src/nvim/event/stream.c:95
stream_may_close at /home/vagrant/neovim/build/../src/nvim/event/stream.c:111
process_stop at /home/vagrant/neovim/build/../src/nvim/event/process.c:230
f_jobstop at /home/vagrant/neovim/build/../src/nvim/eval.c:12231
f_rpcstop at /home/vagrant/neovim/build/../src/nvim/eval.c:14533
call_func at /home/vagrant/neovim/build/../src/nvim/eval.c:6564
get_func_tv at /home/vagrant/neovim/build/../src/nvim/eval.c:6304
ex_call at /home/vagrant/neovim/build/../src/nvim/eval.c:2903
do_one_cmd at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2249
do_cmdline at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:593
call_user_func at /home/vagrant/neovim/build/../src/nvim/eval.c:22666
call_func at /home/vagrant/neovim/build/../src/nvim/eval.c:6550
get_func_tv at /home/vagrant/neovim/build/../src/nvim/eval.c:6304
eval7 at /home/vagrant/neovim/build/../src/nvim/eval.c:4407
eval6 at /home/vagrant/neovim/build/../src/nvim/eval.c:4104
eval5 at /home/vagrant/neovim/build/../src/nvim/eval.c:3985
eval4 at /home/vagrant/neovim/build/../src/nvim/eval.c:3688
eval3 at /home/vagrant/neovim/build/../src/nvim/eval.c:3606
eval2 at /home/vagrant/neovim/build/../src/nvim/eval.c:3537
eval1 at /home/vagrant/neovim/build/../src/nvim/eval.c:3464
eval0 at /home/vagrant/neovim/build/../src/nvim/eval.c:3424
ex_let_const at /home/vagrant/neovim/build/../src/nvim/eval.c:1604
ex_let at /home/vagrant/neovim/build/../src/nvim/eval.c:1546
do_one_cmd at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2249
do_cmdline at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:593
call_user_func at /home/vagrant/neovim/build/../src/nvim/eval.c:22666
call_func at /home/vagrant/neovim/build/../src/nvim/eval.c:6550
get_func_tv at /home/vagrant/neovim/build/../src/nvim/eval.c:6304
ex_call at /home/vagrant/neovim/build/../src/nvim/eval.c:2903
do_one_cmd at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2249
do_cmdline at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:593
do_ucmd at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:5803
do_one_cmd at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2243
do_cmdline at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:593
call_user_func at /home/vagrant/neovim/build/../src/nvim/eval.c:22666
call_func at /home/vagrant/neovim/build/../src/nvim/eval.c:6550
get_func_tv at /home/vagrant/neovim/build/../src/nvim/eval.c:6304
ex_call at /home/vagrant/neovim/build/../src/nvim/eval.c:2903
do_one_cmd at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2249
do_cmdline at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:593
call_user_func at /home/vagrant/neovim/build/../src/nvim/eval.c:22666
call_func at /home/vagrant/neovim/build/../src/nvim/eval.c:6550
get_func_tv at /home/vagrant/neovim/build/../src/nvim/eval.c:6304
ex_call at /home/vagrant/neovim/build/../src/nvim/eval.c:2903
do_one_cmd at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:2249
do_cmdline at /home/vagrant/neovim/build/../src/nvim/ex_docmd.c:593
call_user_func at /home/vagrant/neovim/build/../src/nvim/eval.c:22666
call_func at /home/vagrant/neovim/build/../src/nvim/eval.c:6550
callback_call at /home/vagrant/neovim/build/../src/nvim/eval.c:17917
channel_callback_call at /home/vagrant/neovim/build/../src/nvim/channel.c:675
on_channel_event at /home/vagrant/neovim/build/../src/nvim/channel.c:581
multiqueue_process_events at /home/vagrant/neovim/build/../src/nvim/event/multiqueue.c:147
nv_event at /home/vagrant/neovim/build/../src/nvim/normal.c:7987
normal_execute at /home/vagrant/neovim/build/../src/nvim/normal.c:1133
state_enter at /home/vagrant/neovim/build/../src/nvim/state.c:73
normal_enter at /home/vagrant/neovim/build/../src/nvim/normal.c:462
main at /home/vagrant/neovim/build/../src/nvim/main.c:570
?? ??:0
_start at ??:?
DEBUG 2019-07-16T20:54:12.417 25159 stream_close:96: closing Stream: 0x2ba86c0
INFO 2019-07-16T20:54:12.417 25159 os_proc_tree_kill:96: sending SIGTERM to process group: -28407
DEBUG 2019-07-16T20:54:12.417 25159 receive_msgpack:227: ch 163: parsing 31 bytes from msgpack Stream: 0x2ba8860
DEBUG 2019-07-16T20:54:12.417 25159 log_client_msg:766: RPC <-ch 163: [request] [0, 4, "nvim_command_output", ["echo a"]]
DEBUG 2019-07-16T20:54:12.417 25159 handle_request:359: RPC: scheduled nvim_command_output
DEBUG 2019-07-16T20:54:12.424 25159 RPC: <-ch 163: invoke nvim_command_output
DEBUG 2019-07-16T20:54:12.424 25159 log_server_msg:729: RPC ->ch 163: [response] [1, 4, [0, "Vim(echo):E121: Undefined variable: a"], nil]
ERROR 2019-07-16T20:54:12.424 25159 wstream_write:78: xxx stream=0x2ba86c0
DEBUG 2019-07-16T20:54:12.425 25159 wstream_write:79: trace:
log_callstack at /home/vagrant/neovim/build/../src/nvim/log.c:256
wstream_write at /home/vagrant/neovim/build/../src/nvim/event/wstream.c:82
channel_write at /home/vagrant/neovim/build/../src/nvim/msgpack_rpc/channel.c:407
request_event at /home/vagrant/neovim/build/../src/nvim/msgpack_rpc/channel.c:383
multiqueue_process_events at /home/vagrant/neovim/build/../src/nvim/event/multiqueue.c:147
nv_event at /home/vagrant/neovim/build/../src/nvim/normal.c:7987
normal_execute at /home/vagrant/neovim/build/../src/nvim/normal.c:1133
state_enter at /home/vagrant/neovim/build/../src/nvim/state.c:73
normal_enter at /home/vagrant/neovim/build/../src/nvim/normal.c:462
main at /home/vagrant/neovim/build/../src/nvim/main.c:570
?? ??:0
_start at ??:?
2019-07-17 02:13:57 -07:00
|
|
|
without stopping the job. Use chanclose(id) to close
|
|
|
|
any socket.
|
|
|
|
|
2022-10-09 05:21:52 -07:00
|
|
|
HIGHLIGHTS
|
|
|
|
- *hl-VertSplit* Use |hl-WinSeparator| instead.
|
2021-09-06 19:21:18 -07:00
|
|
|
|
2022-10-09 05:21:52 -07:00
|
|
|
LSP DIAGNOSTICS
|
2021-09-06 19:21:18 -07:00
|
|
|
For each of the functions below, use the corresponding function in
|
|
|
|
|vim.diagnostic| instead (unless otherwise noted). For example, use
|
|
|
|
|vim.diagnostic.get()| instead of |vim.lsp.diagnostic.get()|.
|
|
|
|
|
2022-10-09 05:21:52 -07:00
|
|
|
- *vim.lsp.diagnostic.clear()* Use |vim.diagnostic.hide()| instead.
|
|
|
|
- *vim.lsp.diagnostic.disable()*
|
|
|
|
- *vim.lsp.diagnostic.display()* Use |vim.diagnostic.show()| instead.
|
|
|
|
- *vim.lsp.diagnostic.enable()*
|
|
|
|
- *vim.lsp.diagnostic.get()*
|
|
|
|
- *vim.lsp.diagnostic.get_all()* Use |vim.diagnostic.get()| instead.
|
|
|
|
- *vim.lsp.diagnostic.get_count()* Use |vim.diagnostic.get()| instead.
|
|
|
|
- *vim.lsp.diagnostic.get_line_diagnostics()* Use |vim.diagnostic.get()| instead.
|
|
|
|
- *vim.lsp.diagnostic.get_next()*
|
|
|
|
- *vim.lsp.diagnostic.get_next_pos()*
|
|
|
|
- *vim.lsp.diagnostic.get_prev()*
|
|
|
|
- *vim.lsp.diagnostic.get_prev_pos()*
|
|
|
|
- *vim.lsp.diagnostic.get_virtual_text_chunks_for_line()* No replacement. Use
|
|
|
|
options provided by |vim.diagnostic.config()| to customize virtual text.
|
|
|
|
- *vim.lsp.diagnostic.goto_next()*
|
|
|
|
- *vim.lsp.diagnostic.goto_prev()*
|
|
|
|
- *vim.lsp.diagnostic.redraw()* Use |vim.diagnostic.show()| instead.
|
|
|
|
- *vim.lsp.diagnostic.reset()*
|
|
|
|
- *vim.lsp.diagnostic.save()* Use |vim.diagnostic.set()| instead.
|
|
|
|
- *vim.lsp.diagnostic.set_loclist()* Use |vim.diagnostic.setloclist()| instead.
|
|
|
|
- *vim.lsp.diagnostic.set_qflist()* Use |vim.diagnostic.setqflist()| instead.
|
|
|
|
- *vim.lsp.diagnostic.show_line_diagnostics()* Use |vim.diagnostic.open_float()| instead.
|
|
|
|
- *vim.lsp.diagnostic.show_position_diagnostics()* Use |vim.diagnostic.open_float()| instead.
|
2021-09-06 19:21:18 -07:00
|
|
|
|
|
|
|
The following are deprecated without replacement. These functions are moved
|
|
|
|
internally and are no longer exposed as part of the API. Instead, use
|
|
|
|
|vim.diagnostic.config()| and |vim.diagnostic.show()|.
|
|
|
|
|
2022-10-09 05:21:52 -07:00
|
|
|
- *vim.lsp.diagnostic.set_signs()*
|
|
|
|
- *vim.lsp.diagnostic.set_underline()*
|
|
|
|
- *vim.lsp.diagnostic.set_virtual_text()*
|
|
|
|
|
|
|
|
LSP FUNCTIONS
|
2023-06-09 02:32:43 -07:00
|
|
|
- *vim.lsp.buf.range_code_action()* Use |vim.lsp.buf.code_action()| with
|
|
|
|
the `range` parameter.
|
|
|
|
- *vim.lsp.util.diagnostics_to_items()* Use |vim.diagnostic.toqflist()| instead.
|
|
|
|
- *vim.lsp.util.set_qflist()* Use |setqflist()| instead.
|
|
|
|
- *vim.lsp.util.set_loclist()* Use |setloclist()| instead.
|
|
|
|
- *vim.lsp.buf_get_clients()* Use |vim.lsp.get_active_clients()| with
|
|
|
|
{buffer = bufnr} instead.
|
|
|
|
- *vim.lsp.buf.formatting()* Use |vim.lsp.buf.format()| with
|
|
|
|
{async = true} instead.
|
|
|
|
- *vim.lsp.buf.formatting_sync()* Use |vim.lsp.buf.format()| with
|
|
|
|
{async = false} instead.
|
|
|
|
- *vim.lsp.buf.range_formatting()* Use |vim.lsp.formatexpr()|
|
|
|
|
or |vim.lsp.buf.format()| instead.
|
|
|
|
- *vim.lsp.util.get_progress_messages()* Use |vim.lsp.status()| or access
|
|
|
|
`progress` of |vim.lsp.client|
|
2021-09-06 19:21:18 -07:00
|
|
|
|
2023-02-22 08:01:08 -07:00
|
|
|
TREESITTER FUNCTIONS
|
2023-03-24 07:43:14 -07:00
|
|
|
- *vim.treesitter.language.require_language()* Use |vim.treesitter.language.add()|
|
2023-02-22 08:01:08 -07:00
|
|
|
instead.
|
|
|
|
- *vim.treesitter.get_node_at_pos()* Use |vim.treesitter.get_node()|
|
|
|
|
instead.
|
|
|
|
- *vim.treesitter.get_node_at_cursor()* Use |vim.treesitter.get_node()|
|
|
|
|
and |TSNode:type()| instead.
|
2023-04-05 13:19:30 -07:00
|
|
|
- *vim.treesitter.query.get_query()* Use |vim.treesitter.query.get()|
|
|
|
|
instead.
|
2023-02-22 08:01:08 -07:00
|
|
|
|
2022-10-09 05:21:52 -07:00
|
|
|
LUA
|
2023-03-15 05:56:13 -07:00
|
|
|
- vim.register_keystroke_callback() Use |vim.on_key()| instead.
|
refactor!: rename vim.pretty_print => vim.print
Problem:
The function name `vim.pretty_print`:
1. is verbose, which partially defeats its purpose as sugar
2. does not draw from existing precedent or any sort of convention
(except external projects like penlight or python?), which reduces
discoverability, and degrades signaling about best practices.
Solution:
- Rename to `vim.print`.
- Change the behavior so that
1. strings are printed without quotes
2. each arg is printed on its own line
3. tables are indented with 2 instead of 4 spaces
- Example:
:lua ='a', 'b', 42, {a=3}
a
b
42
{
a = 3
}
Comparison of alternatives:
- `vim.print`:
- pro: consistent with Lua's `print()`
- pro: aligns with potential `nvim_print` API function which will
replace nvim_echo, nvim_notify, etc.
- con: behaves differently than Lua's `print()`, slightly misleading?
- `vim.echo`:
- pro: `:echo` has similar "pretty print" behavior.
- con: inconsistent with Lua idioms.
- `vim.p`:
- pro: very short, fits with `vim.o`, etc.
- con: not as discoverable as "echo"
- con: less opportunity for `local p = vim.p` because of potential shadowing.
2023-03-07 08:04:57 -07:00
|
|
|
- *vim.pretty_print()* Use |vim.print()| instead.
|
2023-06-03 03:06:00 -07:00
|
|
|
- *vim.loop* Use |vim.uv| instead.
|
2017-07-02 04:46:41 -07:00
|
|
|
|
2022-10-09 05:21:52 -07:00
|
|
|
NORMAL COMMANDS
|
|
|
|
- *]f* *[f* Same as "gf".
|
2017-12-27 11:30:23 -07:00
|
|
|
|
2022-10-09 05:21:52 -07:00
|
|
|
OPTIONS
|
|
|
|
- *cpo-<* *:menu-<special>* *:menu-special* *:map-<special>* *:map-special*
|
|
|
|
`<>` notation is always enabled.
|
|
|
|
- 'gdefault' Enables the |:substitute| flag 'g' by default.
|
|
|
|
- *'fe'* 'fenc'+'enc' before Vim 6.0; no longer used.
|
|
|
|
- *'highlight'* *'hl'* Names of builtin |highlight-groups| cannot be changed.
|
|
|
|
- *'langnoremap'* Deprecated alias to 'nolangremap'.
|
|
|
|
- 'sessionoptions' Flags "unix", "slash" are ignored and always enabled.
|
|
|
|
- *'vi'*
|
|
|
|
- 'viewoptions' Flags "unix", "slash" are ignored and always enabled.
|
|
|
|
- *'viminfo'* Deprecated alias to 'shada' option.
|
|
|
|
- *'viminfofile'* Deprecated alias to 'shadafile' option.
|
2023-03-12 19:29:11 -07:00
|
|
|
- *'paste'* *'nopaste'* This option is obsolete; |paste| is handled automatically.
|
|
|
|
Enables "paste mode":
|
|
|
|
- mappings in Insert mode and Command-line mode are
|
|
|
|
disabled
|
|
|
|
- abbreviations are disabled
|
|
|
|
- 'autoindent' is reset
|
|
|
|
- 'expandtab' is reset
|
|
|
|
- 'formatoptions' is used like it is empty
|
|
|
|
- 'revins' is reset
|
|
|
|
- 'ruler' is reset
|
|
|
|
- 'showmatch' is reset
|
|
|
|
- 'smartindent' is reset
|
|
|
|
- 'smarttab' is reset
|
|
|
|
- 'softtabstop' is set to 0
|
|
|
|
- 'textwidth' is set to 0
|
|
|
|
- 'wrapmargin' is set to 0
|
|
|
|
These options keep their value, but their effect is
|
|
|
|
disabled:
|
|
|
|
- 'cindent'
|
|
|
|
- 'indentexpr'
|
|
|
|
- 'lisp'
|
2022-10-09 05:21:52 -07:00
|
|
|
|
|
|
|
UI EXTENSIONS
|
|
|
|
- *ui-wildmenu* Use |ui-cmdline| with |ui-popupmenu| instead. Enabled
|
2019-05-11 07:58:47 -07:00
|
|
|
by the `ext_wildmenu` |ui-option|. Emits these events:
|
2022-10-09 05:21:52 -07:00
|
|
|
- `["wildmenu_show", items]`
|
|
|
|
- `["wildmenu_select", selected]`
|
|
|
|
- `["wildmenu_hide"]`
|
2019-03-20 15:09:53 -07:00
|
|
|
|
2022-10-09 05:21:52 -07:00
|
|
|
VARIABLES
|
|
|
|
- *b:terminal_job_pid* PID of the top-level process in a |:terminal|.
|
2017-12-27 11:30:23 -07:00
|
|
|
Use `jobpid(&channel)` instead.
|
|
|
|
|
2022-10-09 05:21:52 -07:00
|
|
|
|
2017-07-02 04:46:41 -07:00
|
|
|
vim:noet:tw=78:ts=8:ft=help:norl:
|