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

2022-10-31 22:15:57 +08:00
 jdhao

有时候移动光标以后,或者从其他地方切回 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+

1510 次点击
所在节点    Vim
9 条回复
nightwitch
2022-10-31 22:34:16 +08:00
按一下# 高亮光标下的词就好了。
jdhao
2022-10-31 22:47:26 +08:00
@nightwitch 万一在空白地方呢,这个是通用的。
iamzuoxinyu
2022-10-31 22:54:57 +08:00
set cursorline 还不够么……
Kaiv2
2022-10-31 22:58:48 +08:00
我习惯使用 zz
jdhao
2022-10-31 23:37:42 +08:00
@iamzuoxinyu 我没设置这个,感觉有点干扰
haoliang
2022-11-01 06:42:32 +08:00
很简洁的实现!
如果我也做的话,估计会用 extmark 实现,结合 nerd font 做个气球吹爆或者灯泡接触不良呲花的效果。哈哈,想着还挺有趣的,就是实现起来麻烦点。
acerphoenix
2022-11-01 09:31:13 +08:00
我记得之前它会闪的。怎么现在好像都不闪了,
这里没法回复截图吗
jdhao
2022-11-01 09:56:17 +08:00
@acerphoenix 默认是没有的。
DrakeXiang
2022-11-01 13:11:44 +08:00
上下左右移动下光标就好了哇,或者 zz 把视窗中间放到鼠标所在行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/891601

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX