select class 中的一个单词 vim,多一个删除线冗余

select a word in class with vim, one more strikethrough redundant

struct Base {
    struct Base *next;
    .....
};
    Base baseObj;
    baseObj->next;

我想select一句话vim,这里有一些selection“[*#gd ve]”,我很期待结果"baseObj",但实际结果是"baseObj-", 特别是在使用 cscope 查找定义和调用者时。 我怎样才能得到我例外的"baseObj"? 谢谢。

您可以删除 &isk 选项的破折号,以便在进行选词时忽略 -

您只需要为编程语言执行此操作,因为当您想要控制拼写时,- 可能在文本中充当连字符。

" in $HOME/ftplugin/c.vim, java.vim, etc
setlocal isk-=-

或者像lh#ft#is_text() from lh-vim-lib这样的函数:

" .vimrc, untested
augroup FixDash
  au!
  " I'm not sure these are the best auto command events to use
  au BufRead,BufNewFile * if !lh#ft#is_text(&ft) | setl isk-=- | endif
augroup END