`ctags` создает `tags` без `()` после функций. В результате клавиша `ctrl+]` `vim` не может искать функции. Как это испрC++

Программы на C++. Форум разработчиков
Anonymous
`ctags` создает `tags` без `()` после функций. В результате клавиша `ctrl+]` `vim` не может искать функции. Как это испр

Сообщение Anonymous »

Код: Выделить всё

~/ $ cat example.hxx
bool function() {
return true;
}
~/ $ ctags example.hxx
~/ $ cat tags | grep function
!_TAG_KIND_DESCRIPTION!C++      f,function      /function definitions/
function        example.hxx       /^bool function() {$/;" f       typeref:typename:bool
~/ $ vim -t "function()"
E426: Tag not found: function()
~/ $ ctags --fields=+l --extras=+q example.hxx
~/ $ cat tags | grep function
!_TAG_KIND_DESCRIPTION!C++      f,function      /function definitions/
function        example.hxx       /^bool function() {$/;" f       language:C++    typeref:typename:bool
~/ $ vim -t "function()"
E426: Tag not found: function()
Все найденные поисковые запросы (+ Ассистент) представляли собой опции для добавления в ctags, которые не исправляют использование vim.
p>
Возможное решение:

Код: Выделить всё

~/ $ sed "s/^\(\w\+\)\t/\1()\t/" -i"" tags
~/SubStack/tmp $ cat tags | grep function
!_TAG_KIND_DESCRIPTION!C++      f,function      /function definitions/
function()      example.hxx       /^bool function() {$/;" f       typeref:typename:bool
~/SubStack/tmp $ vim -t "function()"
example.hxx                                                                                                   4,0-1          All
"example.hxx" 4L, 35B
, но это не позволяет использовать такие простые инструкции README.md, как «Выполнить ctags -R . в корне проекта, если вы хотите, чтобы vim переход к тегам",
как и:
~/ $ echo "\"nnoremap :let stripped = expand(\"\"):execute \"tag \" . substitute(stripped, '()', '', 'g') \"`Tag not found: function()` fix" >> ~/.vimrc

. Что делать?

Подробнее здесь: https://stackoverflow.com/questions/792 ... -vims-ctrl

Вернуться в «C++»