智能命令行助手:IntelliShell 的 全面指南与安装教程【夕花朝拾】
像 IntelliSense,但适用于 shell!
IntelliShell 充当命令的收藏夹,因此您不必为了使用 Ctrl + R
找到有用的东西而保持历史记录的清洁。
它目前支持 Bash、Zsh、Fish 和 PowerShell,并且应该与大多数 Linux、Windows 和 MacOS 兼容。
快速入门
安装二进制文件:
curl -sSf https://raw.githubusercontent.com/lasantosr/intelli-shell/main/install.sh | bash
在终端中输入您的第一个命令,然后使用
Ctrl + B
进行收藏(可选) 运行
intelli-shell fetch
从 tldr[1] 下载命令按
Ctrl + Space
开始旅程!(可选) 查看下面的 提示[2] 部分以获得一些想法
特性
独立二进制文件 自动补全当前输入的命令 在命令和描述中支持全文搜索,描述中支持标签搜索 查找并替换当前输入命令的标签 编辑收藏的命令并提供别名 非侵入性(内联)和全屏界面 抓取命令以解析并存储 tldr[3] 页面(感谢他们!) 便携性。您可以在任何支持的 shell 中使用收藏的命令,也可以导出和导入到其他地方。
安装
记得在安装后收藏一些命令或获取它们!
要跳过配置文件更新,请在安装前将 INTELLI_SKIP_PROFILE
环境变量设置为 1
。
Bash(Linux)
curl -sSf https://raw.githubusercontent.com/lasantosr/intelli-shell/main/install.sh | bash
使用 bash 安装后,它应该可以在任何支持的 shell 中工作。
PowerShell(Windows)
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # 可选:第一次运行远程脚本时需要
irm https://raw.githubusercontent.com/lasantosr/intelli-shell/main/install.ps1 | iex
使用 PowerShell 安装后,它也应该可以在 cmd 中工作(没有热键)。
源代码
要从源代码安装,您需要安装 Rust,建议使用 rustup[4] 进行安装。
cargo install intelli-shell --locked
要启用热键,需要额外的步骤:
Linux
下载源代码脚本:
Bash / Zsh:
mkdir -p ~/.local/share/intelli-shell/bin
curl -sSf https://raw.githubusercontent.com/lasantosr/intelli-shell/main/intelli-shell.sh > ~/.local/share/intelli-shell/bin/intelli-shell.shFish:
mkdir -p ~/.local/share/intelli-shell/bin
curl -sSf https://raw.githubusercontent.com/lasantosr/intelli-shell/main/intelli-shell.fish > ~/.local/share/intelli-shell/bin/intelli-shell.fish
编辑您的配置文件以包含它:
Bash / Zsh:
~/.bashrc
,~/.zshrc
或~/.bash_profile
source ~/.local/share/intelli-shell/bin/intelli-shell.sh
Fish:
~/.config/fish/config.fish
:source ~/.local/share/intelli-shell/bin/intelli-shell.fish
Windows
也下载源代码脚本:
New-Item -Path $env:APPDATA\IntelliShell\Intelli-Shell\data\bin -Type Directory
Invoke-WebRequest -UseBasicParsing -URI "https://raw.githubusercontent.com/lasantosr/intelli-shell/main/intelli-shell.ps1" -OutFile $env:APPDATA\IntelliShell\Intelli-Shell\data\bin\intelli-shell.ps1
编辑您的 $Profile
以执行它:
. $env:APPDATA\IntelliShell\Intelli-Shell\data\bin\intelli-shell.ps1
使用方法
您可以通过运行 intelli-shell -h
查看支持的操作。最常用的独立命令包括:
intelli-shell fetch [category]
抓取 tldr[5] 命令并存储它们。[category] 可以跳过,或者是一个有效的 tldr 的 pages[6] 文件夹intelli-shell export
导出用户收藏的命令(不会导出 tldr's 命令)intelli-shell import user_commands.txt
将命令导入到用户类别中
热键
Ctrl + B
收藏当前输入的命令Ctrl + Space
显示当前行的建议Ctrl + L
替换当前输入命令的标签Esc
清除当前行,如果设置INTELLI_SKIP_ESC_BIND=1
可以跳过此绑定
注意: 当浏览项目时,所选建议可以用 Ctrl + D
删除,或者使用 Ctrl + E
、Ctrl + U
或 F2
进行编辑
您可以使用环境变量 INTELLI_BOOKMARK_HOTKEY
、INTELLI_SEARCH_HOTKEY
和 INTELLI_LABEL_HOTKEY
自定义按键绑定
提示
当搜索条件匹配别名或只产生一个结果时,它将自动自动完成!
如果命令包含标签,标签 UI 仍然会显示 您可以将常用命令设置别名以存储一些喜欢的标签,例如收藏
cd {{path}}
并给它一个cd
别名您可以定期使用 cd
,但如果您按Ctrl + Space
,它将显示您的“固定”文件夹长命令甚至函数也可以收藏
例如 function custom_echo () { echo "hey: $@"; }; custom_echo {{text}};
如果用 '*' 包装,可以避免存储标签并保持它们的秘密:
echo {{*my-secret\*}}
基于根命令和标签名称存储标签建议,这为您提供了灵活性来决定。
对于这两个命令,将建议相同的图像:
但这两个命令将建议不同的卷:
docker run --volume {{image-1-volumes}} image-1
docker run --volume {{image-2-volumes}} -p {{image-2-ports}} image-2
docker run {{--rm}} {{--interactive}} {{image}}
docker rmi {{--no-prune}} {{image}}
在描述中包含标签,如
#cool
,并在搜索时使用它们
愿望清单
[x] 支持标签以存储最常用的标签,并使用专用 UI 进行选择 [x] 改进可用性以管理存储的命令(包括别名) [x] 支持更多终端 [x] Fish[7] [x] PowerShell [ ] 导出标签和 UI 以过滤要导出的内容 [ ] 部署到包管理器 [ ] 使用一些公共/私有 Git 存储库同步用户书签
替代品
您可能想要看看 Marker[8],它非常相似,但需要在您的系统上安装 Python。
tldr: https://github.com/tldr-pages/tldr
[2]提示: #提示
[3]tldr: https://github.com/tldr-pages/tldr
[4]rustup: https://www.rust-lang.org/tools/install
[5]category]` 抓取 [tldr: https://github.com/tldr-pages/tldr
[6]category]_ 可以跳过,或者是一个有效的 tldr 的 [pages: https://github.com/tldr-pages/tldr/tree/main/pages
[7]x] [Fish: https://fishshell.com/
[8]Marker: https://github.com/pindexis/marker