terminal
terminal copied to clipboard
Select and copy TAB characters without expanding to spaces
Description of the new feature/enhancement
After outputting a text file to the terminal, I want to copy part of it to the clipboard without expanding TAB characters to spaces. So that I can then paste it to a different file in which TAB characters are required.
Proposed technical implementation details (optional)
Remember which character cells were output as spaces and which ones were skipped over by TAB characters. When selecting text with the mouse, select entire TAB characters instead of individual character cells. Copy the TAB characters to the clipboard.
The macOS Terminal app has this feature. It does not preserve TAB characters in the following situations:
- If outputting the TAB character moves the cursor over character cells of which at least one contains a different character already.
- If the TAB character has already been output and a different character is then output to any of the character cells spanned by the TAB character.
I did not test whether the macOS Terminal app preserves TAB characters if they are moved using SCROLL LEFT, SCROLL RIGHT, or INSERT CHARACTER control functions, or if tabulation stops are changed. I think it would be OK to expand TAB characters to spaces in those situations.
Related:
- https://github.com/microsoft/terminal/issues/2656, in which TAB characters were involved, but the problem was loss of newlines.
- https://github.com/microsoft/terminal/issues/32#issuecomment-334814519, keeping track of whether empty character cells were written as spaces.
Yeah, I think this is totally worthwhile!
It's also going to be hard. Our buffer needs a deep rethink on how it stores a great number of things. :smile:
Ah ok
If the TAB characters are part of a rectangular selection, and whitespace trimming is enabled (https://github.com/microsoft/terminal/issues/9706), I think they should be trimmed just like space characters.
As a bioinformatics researcher, can select and copy TAB characters without expanding to spaces is the only reason that keep me using xshell while not win terminal. Please give this feature to your great terminal. Thank you for your time ! I wish you all the best !
Any update on this?
Nope. We'll make sure to update this thread when there is. In the meantime, might I recommend the Subscribe button?
That way you'll be notified of any updates to this thread, without needlessly pinging everyone on this thread ☺️
As a workaround I started to use for Ubuntu staff xfce4-terminal
. This terminal preserve tab character in both ways.
Just wanted to note that Gnome Terminal which is the default terminal in Ubuntu also renders tabs as tabs. I am used to being able to copy git diffs, source code, and similar text from the terminal without breaking the formatting, but using the windows terminal this is not possible and I have to redirect the output to a file instead.