-
-
Notifications
You must be signed in to change notification settings - Fork 5.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
:terminal improvements #5431
Comments
I think it would be really cool if terminal could support cmdwin - c.f. brettanomyces/nvim-terminus#7 In particular, this would be great for writing multi-line functions in REPLs. |
would it be possible to handle |
edit: That hack isn't going to work, because it will confuse interactive applications, not to mention tools like |
for the following improvment :
Which terminal should be used ? We could send a |
The details of each item can be discussed as PRs are proposed for them. But at least initially the goal is only to match the traditional semantics of |
Partial solution to neovim#2637. Will crash if *all* lines are deleted. References neovim#2607 References neovim#2637 References neovim#5431
Partial solution to neovim#2637. Will crash if *all* lines are deleted. References neovim#2607 References neovim#2637 References neovim#5431
Partial solution to neovim#2637. Will crash if *all* lines are deleted. References neovim#2607 References neovim#2637 References neovim#5431
Partial solution to neovim#2637. Will crash if *all* lines are deleted. References neovim#2607 References neovim#2637 References neovim#5431
Partial step towards neovim#2637. Will crash if *all* lines are deleted. Closes neovim#2607 References neovim#5431
Partial step towards neovim#2637. Will crash if *all* lines are deleted. Closes neovim#2607 References neovim#5431
Well, I see (the last line of) a terminal buffer could serve as a really flexible readline-like interface, if only we can enter Insert Mode on a terminal buffer. |
@bohrshaw See this thread: #6142 (comment) |
- 'bufhidden=hide' allows intuitive behavior even with global 'nohidden'. - 'modified' is a natural way to prevent loss of work. And the user can set 'nomodified' for cases where they don't want to be prompted. - With bufhidden={delete,wipe}: terminal buffer is restarted when the user returns to a deleted/wiped terminal buffer. Closes neovim#2368 Closes neovim#3340 References neovim#5431 Remove some special-case checks; instead leverage existing checks for 'bufhidden' (b_p_bh) and 'buftype' (b_p_bt). TODO: - With bufhidden=unload, the buffer is blank if the user returns to an unloaded terminal buffer. We should instead save the terminal scrollback to a file, then reload that.
- 'bufhidden=hide' allows intuitive behavior even with global 'nohidden'. - 'modified' is a natural way to prevent loss of work. And the user can set 'nomodified' for cases where they don't want to be prompted. - With bufhidden={delete,wipe}: terminal buffer is restarted when the user returns to a deleted/wiped terminal buffer. Closes neovim#2368 Closes neovim#3340 References neovim#5431 Remove some special-case checks; instead leverage existing checks for 'bufhidden' (b_p_bh) and 'buftype' (b_p_bt). TODO: - With bufhidden=unload, the buffer is blank if the user returns to an unloaded terminal buffer. We should instead save the terminal scrollback to a file, then reload that.
- 'bufhidden=hide' allows intuitive behavior even with global 'nohidden'. - 'modified' is a natural way to prevent loss of work. And the user can set 'nomodified' for cases where they don't want to be prompted. - With bufhidden={delete,wipe}: terminal buffer is restarted when the user returns to a deleted/wiped terminal buffer. Closes neovim#2368 Closes neovim#3340 References neovim#5431 Remove some special-case checks; instead leverage existing checks for 'bufhidden' (b_p_bh) and 'buftype' (b_p_bt). TODO: - With bufhidden=unload, the buffer is blank if the user returns to an unloaded terminal buffer. We should instead save the terminal scrollback to a file, then reload that.
I know that I may loose the argument here, but I think Neovim
One can argue that the user that the user could have custom commands with the desire behaviour, and that's what I do, but it would be awesome if Neovim where more consistent than Vim, so I wouldn't need to remember to use my custom commands instead of the default |
This comment has been minimized.
This comment has been minimized.
@justinmk can you elaborate on the plan for |
vim-patch:8.0.1119: quitting a split terminal window kills the job N/A, or tracked in neovim#5431 vim-patch:8.0.1307: compiler warning for ignoring return value N/A vim-patch:8.0.1335: writefile() using fsync() may give an error N/A vim-patch:8.0.1339: no test for what 8.0.1335 fixes already merged in 5972ff0 vim-patch:8.0.1367: terminal test hangs, executing abcde N/A vim-patch:8.0.1562: the terminal debugger can't set breakpoint with mouse we have all :Termdebug changes vim-patch:8.0.1609: shell commands in the GUI use a dumb terminal tracked in neovim#5431 vim-patch:8.0.1616: Win32: shell commands in the GUI open a new console (guioptions="!") tracked in neovim#1496 vim-patch:8.0.1706: cannot sent CTRL-\ to a terminal window already possible via :call chansend()
vim-patch:8.0.1119: quitting a split terminal window kills the job N/A, or tracked in #5431 vim-patch:8.0.1307: compiler warning for ignoring return value N/A vim-patch:8.0.1335: writefile() using fsync() may give an error N/A vim-patch:8.0.1339: no test for what 8.0.1335 fixes already merged in 5972ff0 vim-patch:8.0.1367: terminal test hangs, executing abcde N/A vim-patch:8.0.1562: the terminal debugger can't set breakpoint with mouse we have all :Termdebug changes vim-patch:8.0.1609: shell commands in the GUI use a dumb terminal tracked in #5431 vim-patch:8.0.1616: Win32: shell commands in the GUI open a new console (guioptions="!") tracked in #1496 vim-patch:8.0.1706: cannot sent CTRL-\ to a terminal window already possible via :call chansend()
vim-patch:8.0.1119: quitting a split terminal window kills the job N/A, or tracked in neovim#5431 vim-patch:8.0.1307: compiler warning for ignoring return value N/A vim-patch:8.0.1335: writefile() using fsync() may give an error N/A vim-patch:8.0.1339: no test for what 8.0.1335 fixes already merged in 5972ff0 vim-patch:8.0.1367: terminal test hangs, executing abcde N/A vim-patch:8.0.1562: the terminal debugger can't set breakpoint with mouse we have all :Termdebug changes vim-patch:8.0.1609: shell commands in the GUI use a dumb terminal tracked in neovim#5431 vim-patch:8.0.1616: Win32: shell commands in the GUI open a new console (guioptions="!") tracked in neovim#1496 vim-patch:8.0.1706: cannot sent CTRL-\ to a terminal window already possible via :call chansend()
vim-patch:8.0.1119: quitting a split terminal window kills the job N/A, or tracked in neovim#5431 vim-patch:8.0.1307: compiler warning for ignoring return value N/A vim-patch:8.0.1335: writefile() using fsync() may give an error N/A vim-patch:8.0.1339: no test for what 8.0.1335 fixes already merged in 5972ff0 vim-patch:8.0.1367: terminal test hangs, executing abcde N/A vim-patch:8.0.1562: the terminal debugger can't set breakpoint with mouse we have all :Termdebug changes vim-patch:8.0.1609: shell commands in the GUI use a dumb terminal tracked in neovim#5431 vim-patch:8.0.1616: Win32: shell commands in the GUI open a new console (guioptions="!") tracked in neovim#1496 vim-patch:8.0.1706: cannot sent CTRL-\ to a terminal window already possible via :call chansend()
vim-patch:8.0.1119: quitting a split terminal window kills the job N/A, or tracked in neovim#5431 vim-patch:8.0.1307: compiler warning for ignoring return value N/A vim-patch:8.0.1335: writefile() using fsync() may give an error N/A vim-patch:8.0.1339: no test for what 8.0.1335 fixes already merged in 5972ff0 vim-patch:8.0.1367: terminal test hangs, executing abcde N/A vim-patch:8.0.1562: the terminal debugger can't set breakpoint with mouse we have all :Termdebug changes vim-patch:8.0.1609: shell commands in the GUI use a dumb terminal tracked in neovim#5431 vim-patch:8.0.1616: Win32: shell commands in the GUI open a new console (guioptions="!") tracked in neovim#1496 vim-patch:8.0.1706: cannot sent CTRL-\ to a terminal window already possible via :call chansend()
- 'bufhidden=hide' allows intuitive behavior even with global 'nohidden'. - 'modified' is a natural way to prevent loss of work. And the user can set 'nomodified' for cases where they don't want to be prompted. - With bufhidden={delete,wipe}: terminal buffer is restarted when the user returns to a deleted/wiped terminal buffer. Closes neovim#2368 Closes neovim#3340 References neovim#5431 Remove some special-case checks; instead leverage existing checks for 'bufhidden' (b_p_bh) and 'buftype' (b_p_bt). TODO: - With bufhidden=unload, the buffer is blank if the user returns to an unloaded terminal buffer. We should instead save the terminal scrollback to a file, then reload that.
There are 6 remaining 8.0.x patches, tracked in: neovim#5431
There are 6 remaining 8.0.x patches, tracked in: #5431
There are 6 remaining 8.0.x patches, tracked in: neovim#5431
This commit enables piping the current buffer's content to a job running in a terminal with `:%term job`. It does so in a way that makes the old `:%term sudo tee` trick work again. Closes neovim#22157 Maybe good enough to close neovim#12103 Relates to neovim#5431
It'd be cool if there were the option (e.g. maybe something in |
List of terminal improvements.
:!
should use:terminal
internally. Doesn't affect:read !foo
etc. See throttle shell output to maintain responsiveness #5396. Use cases: :!{cmd} is broken in neovim #5580.:%term
should work like:%!
:read :term foo
should work like:read !foo
:term
buffers shouldsetlocal bufhidden=hide
by default. Fixes :bn and :bp not working with :terminal + 'nohidden' #3340 NeoVim closes terminal-buffer after running :q #3138 The terminal buffer is gone after buffer switch #5122'bufhidden'
flags Terminal buffers don't respectbufhidden
when nothide
ordelete
#2368:emenu
in terminal mode Menu commands while in insert terminal mode does not work #3393:te
should open in split, similar to:help
. Or not?<mods>
(:vert
,:tab
) feat(terminal): allow :terminal to take modifiers #15427:0te
suppresses the split? cf. tpope/vim-fugitive@bf7f05e:bdelete
ing the buffer after process exit, switch to some other buffer? Exiting :terminal kills split #5176:term
buffer should be'modifiable'
. terminal: 'modifiable'; 'scrollback'; follow output only if cursor is on last line #6142The text was updated successfully, but these errors were encountered: