mirror of
https://github.com/neovim/neovim.git
synced 2024-12-20 19:25:11 -07:00
d238b8f600
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
132 lines
4.7 KiB
Plaintext
132 lines
4.7 KiB
Plaintext
*remote.txt* Nvim
|
|
|
|
|
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
|
|
|
|
|
Vim client-server communication *client-server*
|
|
|
|
Type |gO| to see the table of contents.
|
|
|
|
==============================================================================
|
|
1. Common functionality *clientserver*
|
|
|
|
Nvim's |RPC| functionality allows clients to programmatically control Nvim. Nvim
|
|
itself takes command-line arguments that cause it to become a client to another
|
|
Nvim running as a server. These arguments match those provided by Vim's
|
|
clientserver option.
|
|
|
|
The following command line arguments are available:
|
|
|
|
argument meaning ~
|
|
|
|
--remote [+{cmd}] {file} ... *--remote*
|
|
Open the file list in a remote Vim. When
|
|
there is no Vim server, execute locally.
|
|
Vim allows one init command: +{cmd}.
|
|
This must be an Ex command that can be
|
|
followed by "|". It's not yet supported by
|
|
Nvim.
|
|
The rest of the command line is taken as the
|
|
file list. Thus any non-file arguments must
|
|
come before this.
|
|
You cannot edit stdin this way |--|.
|
|
The remote Vim is raised. If you don't want
|
|
this use >
|
|
nvim --remote-send "<C-\><C-N>:n filename<CR>"
|
|
<
|
|
--remote-silent [+{cmd}] {file} ... *--remote-silent*
|
|
As above, but don't complain if there is no
|
|
server and the file is edited locally.
|
|
*--remote-tab*
|
|
--remote-tab Like --remote but open each file in a new
|
|
tabpage.
|
|
*--remote-tab-silent*
|
|
--remote-tab-silent Like --remote-silent but open each file in a
|
|
new tabpage.
|
|
*--remote-send*
|
|
--remote-send {keys} Send {keys} to server and exit. The {keys}
|
|
are not mapped. Special key names are
|
|
recognized, e.g., "<CR>" results in a CR
|
|
character.
|
|
*--remote-expr*
|
|
--remote-expr {expr} Evaluate {expr} in server and print the result
|
|
on stdout.
|
|
*--server*
|
|
--server {addr} Connect to the named pipe or socket at the
|
|
given address for executing remote commands.
|
|
See |--listen| for specifying an address when
|
|
starting a server.
|
|
|
|
Examples ~
|
|
|
|
Start an Nvim server listening on a named pipe at '~/.cache/nvim/server.pipe': >
|
|
nvim --listen ~/.cache/nvim/server.pipe
|
|
|
|
Edit "file.txt" in an Nvim server listening at '~/.cache/nvim/server.pipe': >
|
|
nvim --server ~/.cache/nvim/server.pipe --remote file.txt
|
|
|
|
This doesn't work, all arguments after --remote will be used as file names: >
|
|
nvim --remote --server ~/.cache/nvim/server.pipe file.txt
|
|
|
|
Tell the remote server to write all files and exit: >
|
|
nvim --server ~/.cache/nvim/server.pipe --remote-send '<C-\><C-N>:wqa<CR>'
|
|
|
|
|
|
REMOTE EDITING
|
|
|
|
The --remote argument will cause a |:drop| command to be constructed from the
|
|
rest of the command line and sent as described above.
|
|
Note that the --remote and --remote-wait arguments will consume the rest of
|
|
the command line. I.e. all remaining arguments will be regarded as filenames.
|
|
You can not put options there!
|
|
|
|
|
|
==============================================================================
|
|
2. Missing functionality *E5600* *clientserver-missing*
|
|
|
|
Vim supports additional functionality in clientserver that's not yet
|
|
implemented in Nvim. In particular, none of the "wait" variants are supported
|
|
yet. The following command line arguments are not yet available:
|
|
|
|
argument meaning ~
|
|
|
|
--remote-wait [+{cmd}] {file} ... *--remote-wait*
|
|
Not yet supported by Nvim.
|
|
As --remote, but wait for files to complete
|
|
(unload) in remote Vim.
|
|
--remote-wait-silent [+{cmd}] {file} ... *--remote-wait-silent*
|
|
Not yet supported by Nvim.
|
|
As --remote-wait, but don't complain if there
|
|
is no server.
|
|
*--remote-tab-wait*
|
|
--remote-tab-wait Not yet supported by Nvim.
|
|
Like --remote-wait but open each file in a new
|
|
tabpage.
|
|
*--remote-tab-wait-silent*
|
|
--remote-tab-wait-silent Not yet supported by Nvim.
|
|
Like --remote-wait-silent but open each file
|
|
in a new tabpage.
|
|
*--servername*
|
|
--servername {name} Not yet supported by Nvim.
|
|
Become the server {name}. When used together
|
|
with one of the --remote commands: connect to
|
|
server {name} instead of the default (see
|
|
below). The name used will be uppercase.
|
|
|
|
*--serverlist*
|
|
--serverlist Not yet supported by Nvim.
|
|
Output a list of server names.
|
|
|
|
|
|
|
|
|
|
SERVER NAME *client-server-name*
|
|
|
|
By default Vim will try to register the name under which it was invoked (gvim,
|
|
egvim ...). This can be overridden with the --servername argument. Nvim
|
|
either listens on a named pipe or a socket and does not yet support this
|
|
--servername functionality.
|
|
|
|
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|