作为一个上下文,我正在考虑为vim制作一个插件,它将在数字列的左边边(最好是数字列的左边)内联特定的调试和/或分析信息,这需要4-5个字符宽。但是,我找不到任何办法来做到这一点。我已经搜索过了,我能找到的最接近的东西是vimscript代码,用于在符号列中插入符号,但是符号列是固定在2个字符宽的。
我已经考虑过制作自己的临时列的可能性(在通常可编辑的文本区域中,数字列的右边),并以某种方式将其标记为只读,但这似乎也是不可能的--从我所读到的情况来看,整个缓冲区必须是只读的;不能只读取一部分。
为了完整起见,这里有一个例子。我想以编程的方式在一些文本之前插入一个4-5字符列(设置数字)。
1 Text buffer
2 with some
3 text制造,制造
My 1 Text buffer
own 2 with some
text 3 text有什么办法完成这个任务吗?
发布于 2019-02-08 07:41:34
它的内置特性是符号列,但是的,它仅限于两个字符。
根据您的用例,可以使用工具提示弹出来增强标记(:help balloon-eval显式地提到此功能允许调试器或其他外部工具根据鼠标指向的位置显示动态信息),或者将附加信息放在quickfix或位置列表中。
修改实际缓冲区有很多缺点(因为它有效地阻止了编辑,Vim的主要目的就是这样)。一些插件所做的是在垂直拆分中显示一个划痕(即:未持久化、不可修改)缓冲区,并设置'scrollbind'选项,使其内容遵循原始缓冲区。例如,请看一下VCSCommand插件,它用于用提交信息对缓冲区进行注释。
https://stackoverflow.com/questions/54580937
复制相似问题