问题
我经常在工作时git
需要从最后一个命令的输出中复制一些内容。我讨厌从键盘切换到触控板/鼠标。
情况1
...
➜ extract_ttc git:(feature/simplify-gha-workflows) git push
fatal: The current branch feature/simplify-gha-workflows has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin feature/simplify-gha-workflows
我需要git push --set-upstream origin feature/simplify-gha-workflows
手动复制才能执行,所以我从键盘切换到鼠标/触控板
案例#2
...
➜ extract_ttc git:(feature/simplify-gha-workflows) git push --set-upstream origin feature/simplify-gha-workflows
Enumerating objects: 9, done.
Counting objects: 100% (9/9), done.
Delta compression using up to 16 threads
Compressing objects: 100% (5/5), done.
Writing objects: 100% (6/6), 1.16 KiB | 1.16 MiB/s, done.
Total 6 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
remote:
remote: Create a pull request for 'feature/simplify-gha-workflows' on GitHub by visiting:
remote: https://github.com/fontist/extract_ttc/pull/new/feature/simplify-gha-workflows
remote:
To github.com:fontist/extract_ttc.git
* [new branch] feature/simplify-gha-workflows -> feature/simplify-gha-workflows
Branch 'feature/simplify-gha-workflows' set up to track remote branch 'feature/simplify-gha-workflows' from 'origin'.
我需要https://github.com/fontist/extract_ttc/pull/new/feature/simplify-gha-workflows
再次复制才能执行open
问题
- 有没有办法导航过去命令的终端输出(无需鼠标/触控板)?
- 是否有一些不依赖于终端应用程序的方法(例如我在 OSX 上使用 iTerm)?
- 如果没有按照我想象的方式解决方案:有哪些可能的方法可以仅使用键盘实现相同的目的?
答案1
我讨厌从键盘切换到触控板/鼠标。
我也是。
有没有办法导航过去命令的终端输出(无需鼠标/触控板)?
是的,使用GNU 屏幕或者 多路复用器。例如,在 GNU 屏幕中,您需要按Control-j [进入复制模式并使用 j/k/h/l 键在终端中导航。您还可以复制一些文本并粘贴到另一个 GNU 屏幕窗口中,或者将类似的内容添加到 ~/.screenrc 以将所选文本复制到 X 剪贴板(尽管 macOS 上不再使用 X AFAIK):
bind b eval writebuf 'exec /bin/sh -c " xsel -i < /tmp/screen-exchange"' 'exec /bin/sh -c "killall xsel"'
是否有一些不依赖于终端应用程序的方法(例如我在 OSX 上使用 iTerm)?
GNU screen 和 tmux 不依赖于终端模拟器。
如果没有按照我想象的方式解决方案:有哪些可能的方法可以仅使用键盘实现相同的目的?
达布列夫-展开在 xterm 中,如所述 https://unix.stackexchange.com/a/139016/72304。这样就可以了确切地你想要什么。不知道iTerm中是否有类似的功能。