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

推荐订阅源

Google DeepMind News
Google DeepMind News
罗磊的独立博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Last Week in AI
Last Week in AI
云风的 BLOG
云风的 BLOG
T
The Blog of Author Tim Ferriss
Y
Y Combinator Blog
A
About on SuperTechFans
WordPress大学
WordPress大学
B
Blog
Martin Fowler
Martin Fowler
Jina AI
Jina AI
I
InfoQ
P
Proofpoint News Feed
小众软件
小众软件
S
SegmentFault 最新的问题
V
V2EX
B
Blog RSS Feed
量子位
大猫的无限游戏
大猫的无限游戏
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
MongoDB | Blog
MongoDB | Blog
美团技术团队

wentao's blog

解决armbian更新报不能验证个别公钥 快速查找PowerShell的历史命令 denote 利用PowerShell来进行端口连通性测试 wezterm的workspace配置 PSReadLine最强PowerShell模块 读《万千微尘纷坠心田》 Emacs添加腾讯会议连接 一个新的终端模拟器WezTerm
nyagos增加zoxide的支持
wentao写点代码,解决点问题。 douban github twitter Spotify telegram · 2023-04-27 · via wentao's blog

介绍

zoxide 提供了 z jump 的功能.能够记录就访问的路径,并通过其中的关键词快速的定位到你想要的文件夹.

nyagos 是一个支持使用 lua 配置的 shell. 快速、稳定.但是使用圈子很小.

zoxide 提供了常见的 shell 整合,在 nyagos 下面没有相关的支持.

步骤

由于主要是自用,简单的通过 luanyagos.alias 功能实现了一个简单的版本.

其中 z 跳转的时候只支持一个参数.

nyagos.alias.z = function (args)
    local rest = args[1]
    local path = rest
    if (string.len(rest) > 1) then
        path = nyagos.eval("zoxide query --exclude '".. (nyagos.getwd()) .."' -- " .. rest)
    end

    nyagos.chdir(path)
end
nyagos.alias.zi=function(args)
    local rest = args[1]
    if rest==nil then
        rest = ""
    end
    path = nyagos.eval("zoxide query -i -- " .. rest .. "| fzf" )
    nyagos.chdir(path)
end

利用 postexechook 功能,实现了自动更新 zoxide 数据.

nyagos.postexechook = function(args)
      if "cd" == args[1] then
          nyagos.eval("zoxide add -- " .. nyagos.getwd())
      end
end