ctags не анализирует stdio.h правильно

% заменяется текущим именем файла, таким образом можно использовать:

:w !sudo tee %

(vim обнаружит, что файл был изменен и спрашивает, хотите ли Вы к нему быть перезагруженными. Скажите да путем выбора [L], а не OK.)

Как ярлык, можно определить собственную команду. Поместите следующее в Ваш .vimrc:

command W w !sudo tee % >/dev/null

С вышеупомянутым можно ввести :W<Enter>, чтобы сохранить файл. Так как я записал это, я нашел, что более хороший путь (по-моему), делает это:

cmap w!! w !sudo tee >/dev/null %

Этот способ, которым можно ввести :w!! и это будет расширено до полной командной строки, оставляя курсор в конце, таким образом, можно будет заменить % собственным именем файла, если Вам нравится.

6
задан ldog 27 October 2009 в 18:06
поделиться

2 ответа

Добавьте -I__wur в свою команду ctags, и вы получите желаемый результат. __ wur - это макрос для __ attribute__ ((__warn_unused_result __))

Для более подробного объяснения см .:

http://sourceforge.net/mailarchive/message.php?msg_name= 48A7FF60.9080609% 40sina.com

4
ответ дан 9 December 2019 в 22:36
поделиться

Просто несколько советов, чтобы вы могли получить более конкретный файл тегов:

# First make sure apt-file is install and then do:
$ sudo apt-file update
# set up tags for libc, the standard C library
$ apt-file list libc6-dev | grep -o '/usr/include/.*\.h'> ~/.vim/tags/libc6-filelist
$ ctags --sort=foldcase --c++-kinds=+p --fields=+iaS --extra=+q -I./libc6-ignore -f ~/.vim/tags/libc6 -L ~/.vim/tags/libc6-filelist 

Содержимое файла libc6-ignore:

__attribute__
__attribute_deprecated__
__attribute_format_arg__
__attribute_format_strfmon__
__attribute_malloc__
__attribute_noinline__
__attribute_pure__
__attribute_used__
__attribute_warn_unused_result__
__wur
__THROW
__nonnull+

Я полагаю, вы используете его с vim и подключаемым модулем OmniCppComplete?

5
ответ дан 9 December 2019 в 22:36
поделиться