1
zhouwb 2020-11-09 08:53:20 +08:00
我看国去好好的啊
|
2
IgniteWhite OP @zhouwb 是即将下架
|
3
Kobayashi 2021-04-11 22:54:01 +08:00
@IgniteWhite 这几天看到你点的我关于 terminal 的评论。由于过去很长时间了,之前评论已经过时了。在这里回复你一下。
iTerm2 依然是目前所用过功能最强大的 terminal,也有人觉得功能太多有点重。原来我认为其 GPU 加速效果比 kitty, Alacritty 差,后来发现是因为 iTerm2 优先使用集成 GPU 造成的,在 GPU rendering 设置中取消 "Prefer integrated to discrete GPU" 即可。不过由于实现原因,iTerm2 开启 Metal Renderer GPU 加速有一些限制(详情见官方文档或者 gitlab wiki ) kitty 中文字符不居中的 bug 已经修了。(看来不是作者所说上游 coretext 问题,就是 kitty 实现的 bug )。由于 kitty 目前 GPU 加速基于 OpenGL,未来有一天必须得转到 Vulkan,作者还没时间搞。 Alacritty 中 emoji 渲染 bug 已经修复。原来其在 About 简介中声称 "Alacritty is the fastest terminal emulator in existence." 争议比较大。后来 Alacritty About 不这么写了,README 也给出了作者如何做的 benchmark 。Alacritty 定位依然没变,主要定位应该还是配合 tiling window manager 使用,因为毕竟没有 tab, split 嘛。即便我日常全程 tmux 也需要切换 tab,不然总切换 session 有点麻烦。 True color 和 GPU rendering 依然是我认为这个时代 terminal 该有的基本功能,不然你写出来一个新的也干不过上边 3 个。 Hyper 因为 Electron 的原因,我再也没有碰过,原因无非还是那么几点 - Electron CPU, GPU 占用高。之前使用 GitKraken 留下了比较坏的印象,明明已经放到后台没有使用,CPU 占用还是时不时飚一下 - True color 已经算是当今 term 最起码的功能了。Hyper 底层依赖 xtermjs 导致 true color 落后别人好多年。即便是后来 xtermjs 2019 年支持了真彩( VSCode 同样依赖 xtermjs,其集成终端已经支持真彩),hyper 还是没能支持。 - GPU 渲染,不用说了,这几年新出终端的标配。 - 插件拆的太离谱了,一些基本功能都得插件实现:新开 Tab 与当前 Tab 同目录、拖拽 Tab 调整(不知道这个有没有改善) |
4
IgniteWhite OP @Kobayashi 感谢十分详尽的回复,受益匪浅!我最近使用了这几个 terminal emulator,在选择时也看了很多人的建议。实际使用起来个人的感受如下:
配置:机器是 2013 年 MBP15 寸,Mojave 10.14.6,外接 RX580 显卡。Bash,Zsh,tmux 和 Vim 等配置见我的 dotfiles: https://github.com/g6ai/dotfiles iTerm2:我使用时取消选择了“Prefer integrated to discrete GPU”,但是键入时字符的显示稍有可感知的延迟。应该和你说的 Metal 加速有关,尤其我用了 eGPU 。字体渲染方面很好,ligature 和 powerline font 对齐优秀。terminfo 默认 xterm-256,对 tmux 友好。 kitty:ligature 和 powerline font 对齐优秀。光标颜色不能随字符和背景颜色变化,这在我的使用情况下略显不便:我在 Vim 里白天自动用 light colour scheme,晚上自动切换成 dark colour scheme,cursor 颜色需要手动设置成一个在不同环境下对比度尚可的颜色。kitty 的 terminfo 是 xterm-kitty,github issue 里有人抱怨 tmux 对鼠标支持不好或者滚动问题云云,我 tmux.conf 配置尚可没遇到问题。缺点是 kitty 只能 attach 它用自己 terminfo 创建的 tmux session,这在 ssh 到其他机器的时候稍显麻烦,要么在首次连接的时候用 kittens 给远程机器安装 xterm-kitty 这个 terminfo,然后重启全部 tmux session,要么就要使用一个带参数的 ssh 命令来使用其他 terminfo 进行 ssh,但是把 ssh alias 成这个命令对于我其他不用 kitty 的机器就是一种干扰。 Alacritty:ligature 在目前官方版本是不支持的,powerline font 对齐糟糕。我在配置里改动过 glyph y offset,但还是没办法调到对齐,因为调整字体的时候 powerline font 的对齐也会变。Alacritty 的宣称已经看到不少吐槽了哈哈,大部分是带着 rust 一起嘲笑……Alacritty 的光标颜色是最智能的,甚至比 iTerm2 还要好。terminfo 的话它们自己的叫 alacritty,虽然不像 kitty 一样只能连自己 terminfo 开的 tmux session,但是也要手动在 ssh 到的远程机器上安装 alacritty 的 terminfo 。而且它这个 terminfo 也没加个 xterm 的前缀,有些用 regex 识别 terminfo 的场合就很麻烦。最后但是最影响我使用体验的问题,在 Alacritty 里使用 Zsh autocompletion 时不时会有 bug,补全不了。 就我个人对功能的需求来说,tmux 和 Vim 就够了。所以 Alacritty 在功能上足够我使用。但是由于上面提到的各种问题,我现在还在各个 terminal 之间反复横跳,如果后面有什么新的变化也很想看到你分享你的观点! |
5
IgniteWhite OP @Kobayashi 看了 https://gitlab.com/gnachman/iterm2/-/wikis/Metal-Renderer,关闭了 iTerm2 的 ligature 之后获得 GPU 加速,输入延迟不可感知了。不过还是想用 ligature……只能在 MacVim gVim 或者 VimR 里欣赏 ligature 了哈哈
|