V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jdhao
V2EX  ›  Vim

分享一个可以 blink nvim 光标的映射

  •  
  •   jdhao · 2022-10-31 22:15:57 +08:00 · 1717 次点击
    这是一个创建于 749 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有时候移动光标以后,或者从其他地方切回 nvim 窗口,会找不到光标在哪,所以我做了一个映射,让光标闪动,帮助我们快速定位光标。代码如下:

    local keymap = vim.keymap
    local uv = vim.loop
    
    keymap.set("n", "<leader>cb", function()
      local cnt = 0
      local blink_times = 7
      local timer = uv.new_timer()
    
      timer:start(0, 100, vim.schedule_wrap(function()
        vim.cmd[[
          set cursorcolumn!
          set cursorline!
        ]]
    
        if cnt == blink_times then
          timer:close()
        end
    
        cnt = cnt + 1
      end))
    end)
    
    

    normal 状态下,按 <leader>cb,光标就会自动闪动。支持的 nvim 版本:nvim 0.8.0+

    9 条回复    2022-11-01 13:11:44 +08:00
    nightwitch
        1
    nightwitch  
       2022-10-31 22:34:16 +08:00 via Android
    按一下# 高亮光标下的词就好了。
    jdhao
        2
    jdhao  
    OP
       2022-10-31 22:47:26 +08:00
    @nightwitch 万一在空白地方呢,这个是通用的。
    iamzuoxinyu
        3
    iamzuoxinyu  
       2022-10-31 22:54:57 +08:00
    set cursorline 还不够么……
    Kaiv2
        4
    Kaiv2  
       2022-10-31 22:58:48 +08:00
    我习惯使用 zz
    jdhao
        5
    jdhao  
    OP
       2022-10-31 23:37:42 +08:00 via Android
    @iamzuoxinyu 我没设置这个,感觉有点干扰
    haoliang
        6
    haoliang  
       2022-11-01 06:42:32 +08:00
    很简洁的实现!
    如果我也做的话,估计会用 extmark 实现,结合 nerd font 做个气球吹爆或者灯泡接触不良呲花的效果。哈哈,想着还挺有趣的,就是实现起来麻烦点。
    acerphoenix
        7
    acerphoenix  
       2022-11-01 09:31:13 +08:00
    我记得之前它会闪的。怎么现在好像都不闪了,
    这里没法回复截图吗
    jdhao
        8
    jdhao  
    OP
       2022-11-01 09:56:17 +08:00 via Android
    @acerphoenix 默认是没有的。
    DrakeXiang
        9
    DrakeXiang  
       2022-11-01 13:11:44 +08:00
    上下左右移动下光标就好了哇,或者 zz 把视窗中间放到鼠标所在行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3027 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:33 · PVG 22:33 · LAX 06:33 · JFK 09:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.