这里的“流畅”指的不是计算层面的 fast ,而是图形层面的流畅,丝滑的感觉。
我能想到最接近的例子就是 neovide 这种,但它只是一个 nvim 的 GUI 而已,而不是终端模拟器。
我对终端的使用其实很少,就是 nvim + tmux 。我喜欢 textbase 的 ui ,因为它直接了当,简介清楚,速度也快。
但现在用多了各种软件和系统上丝滑的动画(比如 iOS ,电子游戏之类)配合现在各种高刷新率的设备之后。再回到 textbase 的终端上就总觉得卡卡的,非常不舒服。
有没有一个终端模拟器能把这种更现代的丝滑 UI 体验带到终端上呢?
![]() | 1 ab 304 天前 |
![]() | 2 EchoWhale 304 天前 via iPhone 大部分时间都是 vim/neovim 卡,插件越少越滑 |
![]() | 4 sNullp 304 天前 ![]() 这截图看得我晕车…… |
5 NanFengxuan 304 天前 那必须是 wezterm ,rust 写的,R 神启动 |
6 noahlias 304 天前 kitty |
![]() | 7 47jm9ozp 304 天前 ![]() |
![]() | 8 adoal 304 天前 ![]() 有没有可能,让你觉得卡顿的,不是真卡顿,而是基于单元格的滚动导致的跳跃感 |
9 Greendays 304 天前 这光标太调皮了吧 |
![]() | 10 kuanat 304 天前 ![]() 我推荐 foot https://codeberg.org/dnkl/foot 另外这个作者其他项目也都非常好。 设计哲学层面我不是很认可 kitty/alacritty 的路线,恰好这个话题我在之前的讨论 zed 编辑器的帖子里提到过 https://v2ex.com/t/1056672 可以做参考。 foot 的作者也有专门写过文章论述 https://codeberg.org/dnkl/foot/wiki/Performance 除开渲染层面,foot 的作者同时维护 fcft 一个 rasterization 的库,这个库对于字符的处理我认为是目前最好的,foot 的字符显示就是基于 fcft 。 还有 foot 对于 OSC/escape sequence 的支持非常标准化,很方便做定制或者与其他应用交互。 |
![]() | 11 Rorysky 304 天前 你这个光标帅呀! |
![]() | 12 Immortal 304 天前 你觉得目前终端慢其实是 tmux 慢,再快的终端套上 tmux 这一层都在一个起跑线了 如果是客户端本地开发,而且对 tmux 的 session 不是刚需,现代终端的 tab 等基本都可以替代掉 tmux 的功能,不用这么沉迷 old school 的工具 |
![]() | 13 moyuman OP @ |
![]() | 15 lucifer9 304 天前 via iPhone ghostty |
![]() | 17 git00ll 303 天前 xshell ,用习惯了感觉挺好 |
18 Configuration 303 天前 PuTTY |
![]() | 19 kuanat 303 天前 @adoal #16 OSC 52 确实是非常好的,终端里也不区分本地和远程。 当然我觉得这事属于历史问题,特别是 linux 环境。clipboard 是个桌面层面的实现,x11/wayland 还不一样,所以 vim 与系统剪贴板的交互是比较低效的 ipc ,而且需要编译期增加支持。理论上如果把 * 寄存器与系统寄存器关联也可以,但 vim 的设计 delete 会和 yank 同样使用 * 寄存器,这就导致按一下 x 也会触发一次 ipc ,一方面造成卡顿,另一方面用户也不想删除的内容进系统剪贴板。 |
![]() | 20 kuanat 303 天前 @moyuman #13 平滑滚动是靠视觉残留形成的错觉,所以平滑滚动光标很容易做,但是平滑滚动内容本身是很难的。 由于终端里的内容基本不存在关联性,平滑滚动这个事情在不牺牲速度的前提下我个人认为不可行。 |
![]() | 22 moyuman OP @adoal #8 想了一下确实是这样,我所谓的“不流畅”就是这种基于行的渲染模式在变化时缺少过渡导致的。 例如滚动 例如光标的跳跃 例如 nvim 中各种 ui 和布局的变化 等等 都缺少过渡,正是这种生硬的变化让我有卡卡的感觉 |
23 james122333 303 天前 via Android 终端没有不顺畅的 |
24 bigtear 303 天前 Warp ?输入命令直接是文本编辑器 |
25 james122333 303 天前 via Android |
26 Sendya 303 天前 @NanFengxuan 试了下好像不支持 lrzsz 之类的 |
27 mahaoqu 303 天前 wt.exe 还不够流畅么 |
28 aloxaf 303 天前 @Immortal 对,我以前用 alacritty + tmux 。后面发现套了 tmux 大家速度都差不多了,于是又滚回去用 konsole 了,支持的特性还多一点。 |
![]() | 29 Immortal 303 天前 |
![]() | 31 weilongs 303 天前 我从 alacritty 换到了 wezterm |
![]() | 32 encro 303 天前 这东西,为啥不直接 windows terminal+vscode remote ? |
![]() | 33 ns09005264 303 天前 我还没见过终端模拟器可以有像 Neovide 那样的动画和平滑滚动效果。如果有的话我一定会试试。 |
![]() | 35 ThinkCat 303 天前 @ns09005264 楼上说的 kitty 的 pr ,现在已经支持了,体感上和 neovide 一样 |
![]() | 36 ericguo 303 天前 苹果 MacOS 自带的 Terminal ,如果你还考虑一下省电,安全,匿名等因素的话。 |
37 james122333 303 天前 via Android |
38 kneo 303 天前 ![]() 动画真是浪费时间的好方式。 从效率上讲,光标动画唯一的作用是能让你更容易找到光标。但是和桌面用户不同,对于终端用户来讲,大多数情况用户在移动光标前都清楚光标的起点,也预知它的终点。所以这种动画除了分散用户注意力,并没有效率上的帮助。 对效率有帮助的一个典型例子是 jetbrains 终端里的 typeahead 。 当然程序员和男人一样,有时候做事就是图个乐子,效率不是唯一的衡量标准。 |
![]() | 39 FightPig 303 天前 各种切换用,wezterm 个人挺喜欢的 |
40 jeesk 303 天前 via Android 我更加看重稳定性比如 gnome shell. |
![]() | 41 hxtheone 303 天前 via iPhone 目前是 kitty+zellij |
![]() | 43 feikaras 303 天前 via iPhone 不如传统 terminal |
44 unbridle 303 天前 via iPhone 必须是 warp ,warp 先在本地编辑文本再一起发送到服务器,除非机制相同,其它终端必然存在延迟,不可能比 warp 快 |
48 Bssn 303 天前 via iPhone 借楼问一下, kitty ssh 连接 ubuntu 使用 lazyvim 的时候, 选中文字按 y 但是复制不生效是什么原因? |
![]() | 49 limatrix81 303 天前 @lucifer9 哥能帮忙拉个内测吗,discord matrix_seu , 进内测要在群里聊天发消息,发了好几天了也不给进,只能看看有没有 V 友邀请进入了 |
![]() | 50 pckillers 303 天前 如果楼主只是追求特效的话,推荐 Cool Retro Term Appimage 版 https://github.com/Swordfish90/cool-retro-term/releases/tag/1.1.1 snap 版 https://github.com/Swordfish90/cool-retro-term 有很多风格可以选择。 当然除了特效好,这个终端真的只有基础功能,要作为主力终端需要点胆识。 |
![]() | 51 pkillers 303 天前 上面 snap 版贴错了,更正一下 https://github.com/kz6fittycent/cool-retro-term |
![]() | 52 beginor 302 天前 via Android warp +1 , 目前支持 Linux + Mac , 不过官方说 Win 也在路上了。 在 JetBrains IDE 2024.3 中的“新终端” 就是复制了 warp |
![]() | 54 CrispyNoodles 302 天前 @NanFengxuan 你一句 R 神,让我学了 lua ,配置文件搞了一上午 |
![]() | 55 ns09005264 302 天前 @ThinkCat 试用了几下,确实有 neovide 的一丝风味。但是细节差很多,光标移动距离太短的时候没有动画效果,比如从 1 行 1 列移动到 2 行 2 列,而 neovide 有。kitty 也没有平滑滚动,在这点上体感就和 neovide 拉开差距了。最后在 kitty 上使用 helix 没有光标动画效果。 |
![]() | 56 poplar50 301 天前 推荐 wezterm ,我的配置: https://github.com/isvicy/dots/blob/main/.config/wezterm/wezterm.lua 推荐理由如下: * 支持 tab , 支持分屏,且支持定制快捷键,所以在本地不想使用 tmux 的时候,可以使用 wezterm 实现 tmux 的基础功能; * 支持 copy 模式,开启之后使用 vim 快捷键,可以快捷复制终端上的内容,这跟 tmux 的 copy mode 也是一样的。 * 原生支持 windows ; * 支持 kitty graphic protocol ,可以在终端显示图片,这对于终端键盘党来说,会省去很多查看图片时要倒来倒去的功夫; 在上面的链接里,我把快捷键都配置成了类比我 tmux 快捷键的风格,平时使用起来非常丝滑。 |