vi 使用破折号和空格作为单词分隔符。有没有办法将破折号从单词分隔符中排除?
这对于处理 ctags exe 生成的符号是必需的。当符号包含“-”时,即使符号生成正确,vi 标签也无法找到它。
例如符号 - EX01-VAR-LOCAL 当使用 ctrl+] 搜索此标签时,vi 仅查找 EX01 而不是完整的符号 EX01-VAR-LOCAL
尽管如果与 vi -t EX01-VAR-LOCAL 一起使用或在命令模式下使用 :tag EX01-VAR-LOCAL 可以正常工作。
我正在寻找 vi 编辑器的解决方案,而不是 vim
提前致谢 :)
答案1
我无法访问真正的vi
,只有elvis
、nvi
和vim
。vim
:set lisp
将把 - 视为单词的一部分,而不是标签和动作的分隔符。 elvis
没有(文档声称它未实现并且不执行任何操作),并且nvi
响应:set lisp
未实现。
更新:略微更新vi
,http://ex-vi.sourceforge.net/:set lisp
当处于活动状态时,确实会将“-”作为标记目的(但不是运动)的单词的一部分进行处理。
答案2
'iskeyword'
请参阅的帮助vim
。
:help 'iskeyword'