在 vi 中从单词分隔符中排除破折号 (-)

在 vi 中从单词分隔符中排除破折号 (-)

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,只有elvisnvivimvim :set lisp将把 - 视为单词的一部分,而不是标签和动作的分隔符。 elvis没有(文档声称它未实现并且不执行任何操作),并且nvi响应:set lisp未实现。

更新:略微更新vihttp://ex-vi.sourceforge.net/:set lisp当处于活动状态时,确实会将“-”作为标记目的(但不是运动)的单词的一部分进行处理。

答案2

'iskeyword'请参阅的帮助vim

:help 'iskeyword'

相关内容