提速你的编程之旅:eyeliner.nvim - 独特的行内跳转指示器
在程序员的世界里,高效是关键。eyeliner.nvim 是一个专为 Neovim 用户设计的巧妙工具,它通过在每一行上标识出独特的 f
/F
跳转字母,让你的代码导航变得更加直观和迅速。与流行的 quick-scope 插件类似,但 eyeline.nvim 完全用 Lua 编写,以提供更快更轻量级的体验。
插件的核心功能是显示橙色字母,代表你可以直接通过 f
/F
快速跳转到的字符;而蓝色字母则表明虽然没有唯一字符,但可以通过 f
/F
后接分号(;
)进行快捷导航。
安装
eyeliner.nvim 的安装十分简单,只需要 Neovim 0.7.0 或更高版本。以下是一些常用包管理器的示例:
-
使用 vim-plug:
Plug 'jinh0/eyeliner.nvim'
-
使用 packer.nvim:
use 'jinh0/eyeliner.nvim'
配置
默认配置下(使用 packer.nvim):
use {
'jinh0/eyeliner.nvim',
config = function()
require'eyeliner'.setup {
highlight_on_key = true,
dim = false
}
end
}
显示高亮键入后
若你喜欢在按下 f
/F
/t
/T
后才显示高亮,可以设置 highlight_on_key
为 true
。如果同时开启 dim
,则非高亮字符会被淡化处理,帮助你聚焦于目标字符。
require'eyeliner'.setup {
highlight_on_key = true,
dim = true,
}
查看动态演示以了解效果:
点击查看展示
https://user-images.githubusercontent.com/40512164/180614964-c1a63671-7fa8-438d-ad4f-c90079adf098.mov
自定义高亮颜色
你可以通过修改 EyelinerPrimary
和 EyelinerSecondary
高亮组来自定义色彩和样式。无论是仅改变字体样式还是调整颜色,都完全由你掌控。
例如,想让 eyeliner.nvim 更加低调,只改变字体粗体和下划线,不改变颜色,你可以这样做:
Vimscript 示例:
highlight EyelinerPrimary gui=underline,bold
highlight EyelinerSecondary gui=underline
Lua 示例:
vim.api.nvim_set_hl(0, 'EyelinerPrimary', { bold = true, underline = true })
vim.api.nvim_set_hl(0, 'EyelinerSecondary', { underline = true })
如果你想自定义颜色:
Vimscript 示例:
highlight EyelinerPrimary guifg=#000000 gui=underline,bold
highlight EyelinerSecondary guifg=#ffffff gui=underline
Lua 示例:
vim.api.nvim_set_hl(0, 'EyelinerPrimary', { fg='#000000', bold = true, underline = true })
vim.api.nvim_set_hl(0, 'EyelinerSecondary', { fg='#ffffff', underline = true })
当颜色方案变化时,自动更新高亮:
Vimscript 示例:
autocmd ColorScheme * :highlight EyelinerPrimary ...
Lua 示例:
vim.api.nvim_create_autocmd('ColorScheme', {
pattern = '*',
callback = function()
vim.api.nvim_set_hl(0, 'EyelinerPrimary', { bold = true, underline = true })
end,
})
命令操作
eyeliner.nvim 还提供了启用、禁用以及切换功能的命令:
:EyelinerEnable
:EyelinerDisable
:EyelinerToggle
总结
eyeliner.nvim 是一款专注于提高 Neovim 用户生产力的优秀工具。它的独特之处在于通过视觉提示提升你的寻查速度,使你在代码海洋中游刃有余。现在就尝试一下,为你的开发环境注入新的活力吧!
- CangjieCommunity为仓颉编程语言开发者打造活跃、开放、高质量的社区环境Markdown00
- redis-sdk仓颉语言实现的Redis客户端SDK。已适配仓颉0.53.4 Beta版本。接口设计兼容jedis接口语义,支持RESP2和RESP3协议,支持发布订阅模式,支持哨兵模式和集群模式。Cangjie034
- 每日精选项目🔥🔥 推荐每日行业内最新、增长最快的项目,快速了解行业最新热门项目动态~ 🔥🔥02
- qwerty-learner为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workersTSX023
- Yi-CoderYi Coder 编程模型,小而强大的编程助手HTML07
- advanced-javaAdvanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。JavaScript085
- taro开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/TypeScript09
- CommunityCangjie-TPC(Third Party Components)仓颉编程语言三方库社区资源汇总05
- Bbrew🍺 The missing package manager for macOS (or Linux)Ruby01
- byzer-langByzer(以前的 MLSQL):一种用于数据管道、分析和人工智能的低代码开源编程语言。Scala04