Tri*_*tan 6 shell gnu-screen zsh terminal
想象一下,您发出了一个find
命令,现在您想使用结果输出的一行作为参数。
$ find ..
fileA
fileB
$ vi <CURSOR> # now do what to achive:
$ vi fileB
Run Code Online (Sandbox Code Playgroud)
当前解决方法: 双击fileB(选择会自动扩展)并按下鼠标中键(粘贴在 X 上)。工作,但使用鼠标。
可能的解决方案:
screen
- 非常接近,但仍然有很多击键。它需要screen
......我的解决方案: “动态缩写扩展”。现在我有了我正在寻找的这个功能的名称。我将开始一个关于如何在其他软件中获取他的“dabbrev-expand”的新问题:
https://unix.stackexchange.com/questions/281298/list-of-sofwares-inspired-by-emacs-dabbrev-expand。
对我来说最好的解决方案的愿景: 喜欢的东西从提示模式Vimperator的或在EasyMotion在Vim中,以抽出文本从当前的终端输出。
使用emacs
,启动一个较差的 shell 并发出您的命令。输出将在 shell 缓冲区中可用,并且可以使用常用命令进行选择。或者,
select file in $(find <whatever>); do vi $file; break; done
Run Code Online (Sandbox Code Playgroud)
emacs
如果您已经认识编辑器,那么该方法会更实用。Emacs
可以运行任意“劣等进程”,即。交互式命令,其输入和输出连接到 emacs 缓冲区。因此,M-x shell-mode
启动一个较差的 shell,您键入find
命令,并且该命令的输出在缓冲区中可用
$ find .. -name "*.sh"
../self.sh
../scheme/random.sh
../scheme/sample.sh
Run Code Online (Sandbox Code Playgroud)
现在,您将光标移动到您感兴趣的文件,然后键入M-x find-file-at-point
以在不同的缓冲区中编辑该文件。