如何在Neovim中快速生成a-z的Sway工作区按键绑定?
在Neovim中快速生成Sway工作区a-z按键绑定的方法
方法一:使用Ex命令批量生成
直接在Neovim命令行模式下执行循环命令,一键生成所有行:
:for c in split('abcdefghijklmnopqrstuvwxyz', '\zs') | execute "normal! i" .. "bindsym $mod+Shift+" .. c .. " workspace " .. c .. "\<CR>" | endfor
执行前确保光标处于需要插入内容的行位置,命令会自动为每个字母生成对应的绑定行。
方法二:宏录制复用
通过录制一次编辑动作,重复执行完成批量生成:
- 手动输入第一行:
bindsym $mod+Shift+a workspace a - 按
qa开始录制宏到寄存器a - 依次按下:
j(跳至下一行)→^(跳至行首)→f+(定位到Shift+后的字母)→l(移动到字母位置)→<C-a>(将字母递增)→f(定位到workspace后的字母)→<C-a>(再次递增字母) - 按
q结束录制 - 输入
25@a执行宏25次,即可生成剩余25行绑定(a到z共26个字母,已手动输入第一行)
方法三:Lua脚本生成
利用Neovim的Lua API批量插入内容,适合习惯脚本的用户:
在命令行模式执行以下Lua代码:
:lua local chars = 'abcdefghijklmnopqrstuvwxyz'; for i = 1, #chars do local c = chars:sub(i,i); vim.api.nvim_put({string.format('bindsym $mod+Shift+%s workspace %s', c, c)}, 'l', false, true) end
脚本会自动在当前光标下方插入所有26行绑定代码。
内容的提问来源于stack exchange,提问作者Carson
相关产品推荐
相关产品推荐

