aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc/nvim_terminal_emulator.txt
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/doc/nvim_terminal_emulator.txt')
-rw-r--r--runtime/doc/nvim_terminal_emulator.txt32
1 files changed, 30 insertions, 2 deletions
diff --git a/runtime/doc/nvim_terminal_emulator.txt b/runtime/doc/nvim_terminal_emulator.txt
index 45695ccf02..8f7dc0dbf0 100644
--- a/runtime/doc/nvim_terminal_emulator.txt
+++ b/runtime/doc/nvim_terminal_emulator.txt
@@ -10,6 +10,7 @@ Embedded terminal emulator *terminal-emulator*
2. Spawning |terminal-emulator-spawning|
3. Input |terminal-emulator-input|
4. Configuration |terminal-emulator-configuration|
+5. Status Variables |terminal-emulator-status|
==============================================================================
1. Introduction *terminal-emulator-intro*
@@ -33,9 +34,15 @@ There are 3 ways to create a terminal buffer:
- By editing a file with a name matching `term://(.{-}//(\d+:)?)?\zs.*`.
For example:
>
- :e term://bash
- :vsp term://top
+ :edit term://bash
+ :vsplit term://top
<
+ Note: The "term://" pattern is handled by a BufReadCmd handler, so the
+ |autocmd-nested| modifier is required to use it in an autocmd. >
+ autocmd VimEnter * nested split term://sh
+< This is only mentioned for reference; you should use the |:terminal|
+ command instead.
+
When the terminal spawns the program, the buffer will start to mirror the
terminal display and change its name to `term://$CWD//$PID:$COMMAND`.
Note that |:mksession| will "save" the terminal buffers by restarting all
@@ -107,4 +114,25 @@ The terminal cursor can be highlighted via |hl-TermCursor| and
|hl-TermCursorNC|.
==============================================================================
+5. Status Variables *terminal-emulator-status*
+
+Terminal buffers maintain some information about the terminal in buffer-local
+variables:
+
+- *b:term_title* The settable title of the terminal, typically displayed in
+ the window title or tab title of a graphical terminal emulator. Programs
+ running in the terminal can set this title via an escape sequence.
+- *b:terminal_job_id* The nvim job ID of the job running in the terminal. See
+ |job-control| for more information.
+- *b:terminal_job_pid* The PID of the top-level process running in the
+ terminal.
+
+These variables will have a value by the time the TermOpen autocmd runs, and
+will continue to have a value for the lifetime of the terminal buffer, making
+them suitable for use in 'statusline'. For example, to show the terminal title
+as the status line:
+>
+ :autocmd TermOpen * setlocal statusline=%{b:term_title}
+<
+==============================================================================
vim:tw=78:ts=8:noet:ft=help:norl: