Skip to main content

从上一个命令输出中获取标识符、名称、路径、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_searchxontrib 是否已加载:

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 | headcat 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.

链接

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

xontrib-output-search-0.6.2.tar.gz (6.1 kB 查看哈希

已上传 source

内置分布

xontrib_output_search-0.6.2-py3-none-any.whl (6.2 kB 查看哈希

已上传 py3