当前位置: 首页 > 科技观察

Kitty:又一款GPU加速的终端工具

时间:2023-03-17 18:25:30 科技观察

基于GPU的强大终端模拟器(跨平台为王)。这几年越来越多的人喜欢用dotfiles来跟踪自己服务端相关的工具配置,这样就可以跨平台使用,只需要同步配置,本机就可以无痛使用。Kitty是一个跨平台、功能丰富的基于GPU的终端仿真器。使用线程渲染最大限度地减少输入延迟,以及GPU渲染技术,从而带来明显的速度提升、系统负载降低和流畅的滚动效果。它是一个轻量级模拟器,可以通过脚本、shell提示符和SSH进行控制。Kitty-官方仓库Kitty-官方文档Kitty-官方文档-快捷键Kitty-官方文档-集成功能一、终端安装终端安装及相关配置文件简介如果安装系统(图形界面),默认终端是Gnome终端。如果我们直接使用,分屏显示、同时执行命令等高级操作需要借助第三方插件来完成,比如使用Tmux等功能。kitty是一个功能齐全的终端,它包含的功能可以完成Tmux所做的一切,而且更好。跨平台(Linux/macOS)纯文本配置(config)可见速度提升(GPU)#二进制安装#Linux:~/.local/kitty.app#macOS:/Applications/kitty.app$curl-Lhttps://sw.kovidgoyal.net/kitty/installer.sh|sh#Ubuntu安装$sudoaptupdate$sudoaptinstallkitty-y$kitty#任务栏显示$ln-s~/.local/kitty.app/bin/kitty~/.local/bin/$cp~/.local/kitty.app/share/applications/kitty.desktop~/.local/share/applications/$cp~/.local/kitty.app/share/applications/kitty-open.desktop~/.local/share/applications/$sed-i"s|Icon=kitty|Icon=/home/$USER/.local/kitty.app/share/icons/hicolor/256x256/apps/kitty.png|g"~/.local/share/applications/kitty*.desktop#默认配置文件#默认不支持热加载配置(需要重新输入)~/.config/kitty/kitty.conf#debug模式$kitty--debug-配置2。如何使用介绍如何快速使用终端及其对应的快捷键组合![1]基于ScrollingKittyGPU的终端工具——Scrolling[2]基于TabsKittyGPU的终端工具——Tabs[3]基于WindowsKittyGPU的终端工具——Scrolling[4]基于OtherKittyGPU的终端工具——Scrolling3.Kitty开箱核心部分用C语言编写,UI界面用python显示!Kitty提供了极其强大的接口,例如脚本控制、自定义kittens和icat视图功能,使其能够与其他工具无缝集成工具集成查看更多Kitty扩展Kitty基于GPU的终端工具-开箱即用显示的颜色效果真不错[1]diff#Compare$kitty+kittendifffile1file2#集成到git配置$vim~/.gitconfig[diff]tool=kittyguitool=kitty.gui[difftool]prompt=falsetrustExitCode=true[difftool"kitty"]cmd=kitty+kittendiff$LOCAL$REMOTE[difftool"kitty.gui"]cmd=kittykitty+kittendiff$LOCAL$REMOTE基于KittyGPU的终端工具-diff可以在终端直接显示图片[2]icat#picture$kitty+kittenicat#setalias$vim~/.zshrcaliasicat="kitty+kittenicat"基于KittyGPU的终端工具——icat让你即时预览主题效果和支持一键切换[3]themes#Theme$kitty+kittenthemes$kitty+kittenthemes--reload-in=allDimmedMonokaiKitty基于GPU的终端工具-themes接受字符并输出相应的code[4]Unicodeinput#Output$kitty+kittenunicode_input高亮终端所有链接地址,可快速打开[5]Hints#Set快捷键绑定$mapctrl+gkittenhints\--type=linenum\--linenum-action=tabnvim+{line}{path}Kitty基于GPU的终端工具-Hints4。缺点引入终端工具尚未实现的功能!tmux-plugins/tmux-resurrect自动保存tmux-plugins/tmux-continuum自动加载[1]session保存和加载#kitty目前没有可以直接使用的插件方案#https://github.com/kovidgoyal/kitty/issues/1197)没有tmux那样的这个功能,但是扩展能力极强。非常简单[2]Zenmode#vim~/.config/kitty/zoom_toggle.pydefmain(args):passfromkittens.tui.h??andlerimportresult_handler@result_handler(no_ui=True)defhandle_result(args,answer,target_window_id,boss):tab=boss。active_tabiftabisnotNone:iftab.current_layout.name=='stack':tab.last_used_layout()else:tab.goto_layout('stack')有个面板好像可以实现类似的功能[3]statusbar#canachievesimilarfunctions#https://sw.kovidgoyal.net/kitty/kittens/panel/如果你尝试ssh到远程机器,可能会出现错误[4]远程机器#不能使用远程SSH命令#https://sw.kovidgoyal.net/kitty/faq$kitty+kittensshmyserver#Setalias$vim~/.zshrcaliasssh="kitty+kittenssh"5.参考链接Kitty——一个被严重忽视的生产力工具