В vim, почему: tselect показывает мне неправильный список?

691
des4maisons

У меня есть этот код, открытый в VIM:

$this->mockEvolve(...); 

Когда я делаю Ctrl + ]курсор над m, это подводит меня к его определению.

Однако, когда я бегу, :tsкогда мой курсор находится над m, vim показывает мне этот список тегов:

 # pri kind tag file > 1 F f mockGet <filename> public function mockGet(...) 

Я часто сталкиваюсь с этой проблемой (не только с этой функцией). Есть идеи, что происходит?

5

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

5
Ingo Karkat

Это :help :tselectдает вам ответ:

Когда [идент] не указано, используется последнее имя тега из стека тегов.

Он использует последний тег перехода, а не слово под курсором. Чтобы вставить это в командную строку, используйте Ctrl-R Ctrl-W.

Ничего себе, я только что провел 3 месяца, используя: ts, как будто он перечислил все теги под моим курсором. Дело RTFM. Спасибо! des4maisons 11 лет назад 2
Если вам нравится такое поведение, вы можете определить для него собственную команду: `command! Tselect выполнить 'tselect' раскрыть ('«)` Ingo Karkat 11 лет назад 1
Я мог бы просто сделать это! des4maisons 11 лет назад 0
Также попробуйте `g]` и `g ^]`; они работают как `^]` (автоматически используя ключевое слово под / после курсора), но используют `: tselect` и`: tjump` (соответственно) вместо `: tag`; `: tjump` похож на`: tselect`, но пропускает приглашение, если есть только один соответствующий элемент. Chris Johnsen 11 лет назад 1