gpt4 book ai didi

vim - Vim(vimscript)在光标下获取准确的字符

转载 作者:行者123 更新时间:2023-12-04 01:33:39 25 4
gpt4 key购买 nike

我通过以下方式在vimscript的光标下获取字符:

getline('.')[col('.')-1] 


它的工作原理与应有的完全一样,但是我不喜欢某些东西。考虑这个 []光标。当光标旁边有一个括号时,如下所示:
}[]][])[]{[]光标实际上返回括号。我必须设置什么,以便它总是在光标正下方返回字符,或者如果左边有括号,则至少忽略该字符?

注意:我不确定这可能与括号突出显示有关,尽管我不确定。

注意2:要发生这种情况,必须有一个匹配的括号。

最佳答案

尽管我无法重现您所描述的问题,但是您的代码还有另一个问题:由于字符串索引(这是Vimscript的较丑陋的一面),它仅适用于单字节字符,但无法捕获像Ä𠔻之类的字符(取决于所使用的编码)。这是捕获光标下字符的更好方法:

:echo matchstr(getline('.'), '\%' . col('.') . 'c.')




编辑:自从Vim 7.4.1742以来,Vim具有新的 strgetchar()strcharpart()函数,这些函数可用于字符索引,而不是字节寻址。这在许多情况下很有用,但在这里不是,因为您仍然只能获取光标的字节索引位置(或使用 virtcol()的屏幕列,但与字符索引不同)。

关于vim - Vim(vimscript)在光标下获取准确的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23323747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com