Linux 有 zsh 历史代码提示,那 window 有没有什么代表提示类工具?

2022-06-13 11:26:47 +08:00
 MEIyiyi

前公司用的 Mac 电脑,装了 zsh 后发现非常好用,但 window 没有 zsh ,只能装 wsl 再配置 zsh ,但每次都要装 wsl 也太麻烦了,请问 window 有没有这种代码提示工具?

3801 次点击
所在节点    程序员
24 条回复
zzz22333
2022-06-13 11:29:58 +08:00
oh my powershell 还不错
xwcs
2022-06-13 11:43:25 +08:00
psreadline 自带了
Set-PSReadLineOption -PredictionSource HistoryAndPlugin
https://docs.microsoft.com/en-us/powershell/module/psreadline/set-psreadlineoption?view=powershell-7.2
wdssmq
2022-06-13 11:48:53 +08:00
Starship:可用于各种 Shell 的提示符
https://starship.rs/zh-CN/

这个?
Buges
2022-06-13 12:02:08 +08:00
以前用 Windows 的时候用 msys2 里的 fish ( zsh 配合插件性能太差了),PowerShell 的补全跟提示倒不是没有,但效果太差。
MEIyiyi
2022-06-13 12:03:15 +08:00
呼,谢谢各位,我看看哪个合适
ysc3839
2022-06-13 12:39:18 +08:00
Windows 有 zsh ,可以用 Cygwin 或 MSYS2 。

@Buges 个人使用 Oh My Zsh 以及 zsh-autosuggestions 和 zsh-syntax-highlighting 这两个插件,主题使用的是 powerlevel10k ,感觉上性能并不差。
Huelse
2022-06-13 12:50:41 +08:00
a33291
2022-06-13 13:25:31 +08:00
nushell
sky96111
2022-06-13 13:50:00 +08:00
@Buges PowerShell 补全最大的问题就是只有带枚举参数的 PS 函数才能补全,其他的只能补全路径。要是和 fish 、zsh 那样支持添加补全规则会好得多
Buges
2022-06-13 14:19:49 +08:00
@ysc3839 插件会有很多进程创建,win 下模拟层运行环境中性能极为差劲。我之前用的时候启动要几秒,tab 补全列表展开也要几秒。
@sky96111 不是只能,pwsh 也能为命令写补全插件,但大部分都是没有的,我之前用的时候只有 scoop/git 等少数命令支持,不知道现在如何了。
shuax
2022-06-13 14:20:55 +08:00
sulinwork
2022-06-13 16:29:14 +08:00
wsl2 + zsh 很香
Kasumi20
2022-06-13 16:36:47 +08:00
#11 没错,就是这个,clink ,贼好用,直接把 cmd 给干碎了

Microsoft Windows [版本 10.0.19041.1415]
(c) Microsoft Corporation 。保留所有权利。

Clink v1.3.7.4269ce
Copyright (c) 2012-2018 Martin Ridgers
Portions Copyright (c) 2020-2022 Christopher Antos
https://github.com/chrisant996/clink

C:\Users\xx>
bigtear
2022-06-13 18:50:42 +08:00
clink
sky96111
2022-06-13 18:54:33 +08:00
@Buges scoop 和 git 都只有文件路径补全,开启 PS Readline 也一样。我稍微研究过一下 pwsh 函数参数的补全,想要参数补全必须
1. 命令是一个 PS 函数
2. 参数是枚举体
scoop 虽然是用 PS 语法写的,但是一个 ps1 脚本不是函数,故没法补全。git 是单独的 exe ,就更不能了。
所以为第三方命令写补全插件,得把它包装成函数放到$profiles 里,太麻烦了
https://github.com/sky96111/pwsh_dotfile/blob/main/Microsoft.PowerShell_profile.ps1
ysc3839
2022-06-13 19:22:15 +08:00
@Buges 启动新进程确实是慢,但是好的插件并不会启动大量进程。我目前使用的这几个插件也就启动时会慢一点,但是 powerlevel10k 有 Instant prompt 功能,在等待其他插件启动时就能先显示出提示符。powerlevel10k 显示 git 信息是在后台一直运行一个 gitstatusd 进程,并不会很慢。
darklights
2022-06-13 19:39:07 +08:00
EastLord
2022-06-13 19:50:54 +08:00
Buges
2022-06-13 19:54:26 +08:00
@sky96111 需要安装第三方的补全模块,并在你的 PowerShell profile 里加载。这点和 zsh/fish 是一样的。
https://github.com/Moeologist/scoop-completion
@ysc3839 这不是写的好能避免的,shell 编程中很多操作都需要组合各种外部工具( unix 哲学),这就意味着不断的创建新进程。
不过现在已经很久没有用 Windows 了,换成 GNU/linux 后命令行方面真的是省心太多。
heart4lor
2022-06-13 19:57:28 +08:00
MSYS2 装 fish shell ,当然也可以 zsh

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/859238

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX