Skip to content

The ability to copy part of the output of the previous command to the current command #3670

Open
@pluma9

Description

@pluma9

Prerequisites

  • Write a descriptive title.

Description of the new feature/enhancement

This is not a feature request that has a clear description and expectation, but more of a big general idea.

I often find myself need to grab a text from the output of the previous command and put it in the current command that is under compose. Using the mouse to select the text, copy and paste it into the current command does the job, but is inefficient.

Technically you can run the previous command and pipe it to a text editor and copy the text. However the point is that the need of copying part of the previous output is usually emergent, meaning you do not know that you need to do it until you are in the middle of composing the current command. As a workaround, you may perform some magic to always capture command output in a file and when needed, get the text from that file. However, with that, it is still requires additional steps and is not very neat.

There should be a way to:

  • Interactively select and copy (or some other mechanism that does not neccessarily require clipboard) a text from the previous output (right in the terminal?)
  • Or a command with text-selection syntax, e.g ssh $(2,3) (the third text from the second line of the previous output), which will resolve to the expected text when executed
  • Or open text editor with the content being the previous output, from which you can choose the text
  • etc.

A few examples that show how useful it is to be able to quickly grab some text from the previous output and put it in the current command:

> build
...
Error: syntax error in file 'foo/bar/baz.cpp'
> code foo/bar/baz.cpp
> health-check
...
Error: connection refused. IP: 208.232.96.166
> ping 208.232.96.166
> git status
modified: foo.txt
> git diff foo.txt
> Get-Content ./file.txt
One two three
four five six
> Set-ClipBoard -Value 'five'

Proposed technical implementation details (optional)

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions