惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
AI
AI
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
The Cloudflare Blog
Apple Machine Learning Research
Apple Machine Learning Research
Jina AI
Jina AI
大猫的无限游戏
大猫的无限游戏
博客园 - 【当耐特】
V
Visual Studio Blog
博客园 - Franky
宝玉的分享
宝玉的分享
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
I
Intezer
C
Cybersecurity and Infrastructure Security Agency CISA
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
S
SegmentFault 最新的问题
腾讯CDC
T
Threat Research - Cisco Blogs
Last Week in AI
Last Week in AI
酷 壳 – CoolShell
酷 壳 – CoolShell
Webroot Blog
Webroot Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
小众软件
小众软件
C
Cyber Attacks, Cyber Crime and Cyber Security
Hacker News: Ask HN
Hacker News: Ask HN
T
Tor Project blog
WordPress大学
WordPress大学
雷峰网
雷峰网
J
Java Code Geeks
GbyAI
GbyAI
Recorded Future
Recorded Future
F
Full Disclosure
Cisco Talos Blog
Cisco Talos Blog
S
Secure Thoughts
I
InfoQ
量子位
Forbes - Security
Forbes - Security
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
T
Threatpost
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Security Blog
Microsoft Security Blog
Attack and Defense Labs
Attack and Defense Labs
爱范儿
爱范儿
N
News and Events Feed by Topic
V
Vulnerabilities – Threatpost
L
LINUX DO - 最新话题
A
Arctic Wolf
S
Security Affairs

Zed

求助:国内哪个厂家的模型支持 zed 的 Edit Prediction 功能 Zed 的功能区一定要放到左下角吗,不能调吗 - V2EX zed 有类似 vscode 插件 MetaJump 的机制吗? - V2EX 前几天看到 Zed 被红杉资本领投$32M 的新闻,今天看到了 zedless 这个项目... - V2EX tab 键跳转补全已经成为标配? - V2EX 未来最牛编辑器 zed 再次尝试 - V2EX 唏嘘,免费的 Zed AI 居然没人推荐 - V2EX 类似 GitLens 的功能很好用 - V2EX zed 开源 - V2EX Zed 0.80.5 版本发布 - V2EX
Zed Linux vim 模式输入法切换 - V2EX
kuanat · 2024-12-12 · via Zed

最近重度体验了一下 Linux 版本的 Zed ,然后又遇到了所有带 vim 模式编辑器的通用需求:退出插入模式的时候切回英文输入法。

这事的主要难点是 fcitx5 没办法获得编辑器到底是插入还是普通状态,所以 fcitx5 lua 模块也用不上。之前用 vscode vim 模式的话有插件,后来换成了 vscode 内嵌一个 neovim 实例,可以直接在 neovim 的配置里加一句 autocmd InsertLeave * :silent !fcitx5-remote -s keyboard-us

到了 Zde 这边,一开始想用 SendKeystrokes 这个按键映射来做,结果发现它只是对窗口发消息,而不是真正触发按键,fcitx5 也就捕获不到。

本来已经开始对着文档写插件了,写测试的时候用了一下内置 task 功能,突发奇想能不能绑定一个按键到 task ,然后执行按键映射,结果真的可行,就有了下面的这个方案。

首先是 ~/.config/zed/tasks.json 全局任务里面增加一个任务,label 就是后面要执行的任务名,具体执行的就是 fcitx5-remote -s keyboard-us,强制切换到英文键盘。其他参数基本上是静默执行用的。

  {
    "label": "Switch fcitx5 to English",
    "command": "fcitx5-remote -s keyboard-us",
    "env": {},
    "use_new_terminal": true,
    "allow_concurrent_runs": true,
    "reveal": "never",
    "hide": "always",
    "shell": "system",
    "show_summary": false,
    "show_output": false
  }

然后是按键映射 ~/.config/zed/tasks.json 里面,给前面的任务随便绑定一个不常用的按键,比如这里 ctrl-f11。同时将插入模式下的 escape 映射成 ctrl-f11 escape 的序列。

  {
    "context": "vim_mode == insert",
    "bindings": {
      "escape": ["workspace::SendKeystrokes", "ctrl-f11 escape"],
      "ctrl-f11": ["task::Spawn", { "task_name": "Switch fcitx5 to English" }]
    }
  }

这样就达到曲线救国的目的了,退出插入模式自动执行任务切换至英文。就是有个缺陷,tasks 列表里这个任务会覆盖 rerun 快捷列表。

要是谁有更好的方法欢迎指教,实在忍不了的话我就去把插件写了……

PS

Zed 的 vim 模式相比 neovim 还是有些特色优势的,可以看官方文档体验一下。

另外 Zed 的渲染模式还是相对传统编辑器更耗电的,虽然没有客观数据支撑,但是体感差不多的工作状态下,用 Zed 比用 Codium 续航从七个小时下降到五个半的样子。