从上一个命令输出中获取标识符、名称、路径、URL 和单词,并将它们用于 xonsh 中的下一个命令。
项目描述
从上一个命令输出中获取标识符、名称、路径、URL 和单词,并将它们用于xonsh中的下一个命令。
节省时间。忘记使用鼠标、触摸板或轨迹球从输出中获取任何单词到下一个命令。 | 安全。xontrib-output-search 没有在硬盘上写入任何输出。只有最新的非空输出存储在内存中。它的工作方式与 xonsh shell 相同,安全级别相同。 | 通用。忘记为您使用的每个应用程序搜索自动完成插件并从输出中获取标识符。 |
如果您喜欢这个想法,请单击回购上的 ⭐ 和推文。
笔记!
发布xonsh 0.10.0 ( 4283 ) 后,您应该$XONSH_CAPTURE_ALWAYS=True
在您的设置中~/.xonshrc
使用 xontrib-output-search。请注意,在此之后,您可以发现一些关于可捕获工具的问题 ( 4283 )。
安装
xpip install -U xontrib-output-search
echo 'xontrib load output_search' >> ~/.xonshrc
# Reload xonsh
用法
在xontrib load output_search
您有两种方法可以从最新的非空输出中选择令牌后:
- 在 Windows/Linux 上按Alt+热键或在 Mac上按+fControlf
- 键入
f__
并Tab按键
如果您将此组合键用于其他功能并且您的肌肉记忆力很强,则只需在加载 xontrib 之前更改组合键:
# Alt+i combination. Meaning: @bindings.add('escape', 'i')
$XONTRIB_OUTPUT_SEARCH_KEY='i'
xontrib load output_search
# Control+g combination. Meaning: @bindings.add('c-g')
$XONTRIB_OUTPUT_SEARCH_KEY_BINDING='c-g'
xontrib load output_search
# Right+Left combination. Meaning: @bindings.add('right', 'left')
$XONTRIB_OUTPUT_SEARCH_KEY_META='right'
$XONTRIB_OUTPUT_SEARCH_KEY='left' # text placeholder will be `left__`
xontrib load output_search
在tmux中存在tmux 回退,以防最后一个 cmd 的输出不可用。
用例
从输出中获取 URL
echo "Try https://github.com/xxh/xxh"
# Try https://github.com/xxh/xxh
git clone xx<Alt+F>
git clone https://github.com/xxh/xxh
从 JSON、Python dict 和 JavaScript 对象获取键或值
echo '{"Try": "xontrib-output-search"}'
# {"Try": "xontrib-output-search"}
echo I should try se<Alt+F>
echo I should try xontrib-output-search
从环境中获取路径
env | grep ^PATH=
# PATH=/one/two:/three/four
ls fo<Alt+F>
ls /three/four
完成复杂的前缀
输入后从上一个输出中获取 URL git+
:
echo "Try https://github.com/anki-code/xontrib-output-search"
# Try https://github.com/anki-code/xontrib-output-search
pip install git+xo<Alt+F>
pip install git+https://github.com/anki-code/xontrib-output-search
在输入 URL 时从先前的输出中获取端口号:
echo "The port number is 4242"
# The port number is 4242
curl http://127.0.0.1:4<Alt+F>
curl http://127.0.0.1:4242
从命令帮助中获取参数
lolcat -h
...
lolcat --s<Alt+F>
lolcat --seed=SEED
发展
xontrib-output-search 使用tokenize-output进行标记化。
检查output_search
xontrib 是否已加载:
xontrib list output_search
# output_search installed loaded
completer list | grep output_search
# xontrib_output_search
已知的问题
在xonsh 0.10.0 ( 4283 )之后不工作
解决方法:检查XONSH_CAPTURE_ALWAYS
环境变量以重新捕获输出,即$XONSH_CAPTURE_ALWAYS=True
.
cat file
未捕获 ( xonsh/issues/3744 )
解决方法:cat file | head
或cat file | grep text
.
Alt+F 组合在 PyCharm 终端中可能不起作用
解决方法:f__
+ Tab。
未测试 readline shell 类型
我们使用 xonsh 推荐的 prompt-toolkit shell 类型来测试输出搜索 xontrib。readline shell 类型中可能存在问题。欢迎 PR!
readline中的Alt+F是向前移动
解决方法:$XONTRIB_OUTPUT_SEARCH_KEY='i'
在xontrib load output_search
.
链接
- 这个包是 ergopack 的一部分 - 符合人体工程学的xontribs包。
- 这个包是用xontrib cookiecutter 模板创建的。
- 我受到xontrib-histcpy 的启发。谢谢@con-f-use!
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置分布
xontrib_output_search -0.6.2-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6dd59fe2c63834a60456d917cd0086416a0cdd40eaa09e472e5aebb73e4eb158 |
|
MD5 | cc292eb19f62864843567691b318b2d0 |
|
布莱克2-256 | 5c9db81d555232d4e940ddcb5725c5ccb7bb00d20a55c5f430f6457712f8dc9e |