Исключить дефис (-) из разделителей слов в vi

1613
Abhishek

vi использует тире и пробел в качестве разделителей слов. Есть ли способ исключить дефис из разделителей слов?

Это необходимо для работы с символами, сгенерированными ctags exe. когда символ содержит «-», теги vi не могут найти его, даже если символ генерируется правильно.

Например, Symbol - EX01-VAR-LOCAL при использовании ctrl +] для поиска тега для этого vi ищет только EX01, а не полный символ EX01-VAR-LOCAL

хотя, если используется с vi -t EX01-VAR-LOCAL или в командном режиме: тег EX01-VAR-LOCAL работает нормально.

я ищу решение для редактора vi только не vim

Заранее спасибо :)

3

2 ответа на вопрос

2
wnoise

У меня нет доступа к истинным vi, только elvis, nviи vim. Он vim :set lispбудет рассматриваться как часть слова, а не как разделитель тегов и движения. elvisне (документация утверждает, что она не реализована и ничего не делает), и nviотвечает, что :set lispне реализована.

Обновление: слегка обновленный vi, http://ex-vi.sourceforge.net/ действительно обрабатывает «-» как часть слов для целей тегов (но не для движения), когда :set lispактивен.

Не уверен, что "only ... vim" - правильный термин! (-: Rob Wells 10 лет назад 0
1
musiphil

Смотрите помощь для 'iskeyword'в vim.

:help 'iskeyword' 
Спасибо @musiphil. Это был очень полезный указатель и помог мне исправить похожую проблему с другим типом файла. John Szakmeister 11 лет назад 0