runtime(doc): Expand docs on :! vs. :term
Commit:
https://github.com/vim/vim/commit/a01148d2cb2f8d2820a5b95474d11db0d1802360
Author: matveyt <[email protected]>
Date: Sat Nov 23 14:19:58 2024 +0100
runtime(doc): Expand docs on :! vs. :term
fixes: https://github.com/vim/vim/issues/16071
closes: https://github.com/vim/vim/issues/16089
Signed-off-by: matveyt <[email protected]>
Signed-off-by: Christian Brabandt <[email protected]>
diff --git a/runtime/doc/tags b/runtime/doc/tags
index cdb642e3d..f33988020 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -10643,6 +10643,7 @@ template autocmd.txt /*template*
tempname() builtin.txt /*tempname()*
term++close terminal.txt /*term++close*
term++open terminal.txt /*term++open*
+term++shell terminal.txt /*term++shell*
term-dependent-settings term.txt /*term-dependent-settings*
term-list syntax.txt /*term-list*
term.txt term.txt /*term.txt*
@@ -10723,6 +10724,7 @@ terminal-job-index index.txt
/*terminal-job-index*
terminal-key-codes term.txt /*terminal-key-codes*
terminal-mouse term.txt /*terminal-mouse*
terminal-ms-windows terminal.txt /*terminal-ms-windows*
+terminal-nospecial terminal.txt /*terminal-nospecial*
terminal-options term.txt /*terminal-options*
terminal-output-codes term.txt /*terminal-output-codes*
terminal-resizing terminal.txt /*terminal-resizing*
diff --git a/runtime/doc/terminal.txt b/runtime/doc/terminal.txt
index 593dec77c..a0bfd6034 100644
--- a/runtime/doc/terminal.txt
+++ b/runtime/doc/terminal.txt
@@ -1,4 +1,4 @@
-*terminal.txt* For Vim version 9.1. Last change: 2024 Nov 19
+*terminal.txt* For Vim version 9.1. Last change: 2024 Nov 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -197,6 +197,13 @@ Command syntax ~
if [command] is NONE no job is started, the pty of the
terminal can be used by a command like gdb.
+ *terminal-nospecial*
+ Vim itself only recognizes |cmdline-special|
+ characters inside [command]. Everything else will be
+ passed untouched. When needed to expand wildcards,
+ environment variables or other shell specials consider
+ |term++shell| option.
+
If [command] is missing the default behavior is to
close the terminal when the shell exits. This can be
changed with the ++noclose argument.
@@ -241,10 +248,16 @@ Command syntax ~
no window will be used.
++norestore Do not include this terminal window
in a session file.
+
+ *term++shell*
++shell Instead of executing {command}
directly, use a shell, like with
`:!command` *E279*
{only works on Unix and MS-Windows}
+ The resulting command will look like
+ 'shell' 'shellcmdflag' [command]
+ Other options related to `:!command`
+ have no effect.
++kill={how} When trying to close the terminal
window kill the job with {how}. See
|term_setkill()| for the values.
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 5f0ad0635..0ebcd0684 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt* For Vim version 9.1. Last change: 2024 Nov 12
+*various.txt* For Vim version 9.1. Last change: 2024 Nov 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -256,6 +256,17 @@ g8 Print the hex values of the bytes used
in the
:!{cmd} Execute {cmd} with the shell. See also the
'shell'
and 'shelltype' option. For the filter command, see
|:range!|.
+
+ Vim builds command line using options 'shell', 'shcf',
+ 'sxq' and 'shq' in the following order:
+ `&sh &shcf &sxq &shq {cmd} &shq &sxq`
+ So setting both 'sxq' and 'shq' is possible but rarely
+ useful. Additional escaping inside `{cmd}` may also
+ be due to 'sxe' option.
+
+ Also, all |cmdline-special| characters in {cmd} are
+ replaced by Vim before passing them to shell.
+
*E34*
Any '!' in {cmd} is replaced with the previous
external command (see also 'cpoptions'). But not when
@@ -306,7 +317,10 @@ g8 Print the hex values of the bytes used
in the
CTRL-L or ":redraw!" if the command did display
something. However, this depends on what the |t_ti|
and |t_te| termcap entries are set to.
- Also see |shell-window|.
+
+ Hint: use |:terminal| command if you want to run {cmd}
+ in Vim window. `:term ++shell ++close {cmd}` could
+ serve as close approximation to what `:!{cmd}` does.
*:!!*
:!! Repeat last ":!{cmd}".
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/vim_dev/E1tEqD5-00GjMe-Qp%40256bit.org.