LINUX.ORG.RU

Как сделать чтение кода максимально приятным?

 , , , ,


1

4

Есть код на Си, в котором хотелось бы разобраться. Открыл один файл вимом — почитал и закрыл, отрыл другой — почитал и закрыл. Открыл все остальные и заблудился.
Как бы удобно так смотреть сразу на все файлы, чтобы посмотреть — ага, дефайн, этот дефайн использован там-то и там-то. Ага, что-то непонятное, так препроцессор же из этого сделает 0x03ff!
Сейчас я для этого использовал конвеер из find и grep, не очень-то удобно.
Обязательно иметь подсветку для Си и желательно для ассемблерных вставок тоже.
Посоветуйте, что можно предпринять.

★★★★★

Я обычно gvim + ctags использую.

Ну и Ctrl+], Ctrl+O, Ctrl+I и дальше по тексту.

И поиск по содержимому в mc.

d ★★★★
()
Ответ на: комментарий от mathcrosp

Не обязательно костыль для vim. Если мне посоветуют легковесную и функциональную IDE, я тоже буду рад.
Для Java использую Eclipse (в универе NetBeans), очень удобно.

CYB3R ★★★★★
() автор топика

cscope и ctags тебе в помощь, прекрасно интергрируется с vi.

beastie ★★★★★
()

Есть Ack, который заменит find + grep.
Он прикручивается либо через set grepprg, либо простеньким плагином Ack.vim.

Есть ТagList.

Есть gD, gd, ^], ^T и очень много всего прочего для навигации по коду как внутри одного файла, так и между файлами.

Есть пометки (marks), но я ими что-то не пользуюсь.

Есть CtrlP, чтоб быстро по файлам бегать.

Есть еще cscope, но его ни разу не использовал.

Belkrr
()

Для этой цели изобрели ctags.

E ★★★
()
Ответ на: комментарий от system

Ну, дык, подписывайся. Думаю, я не один ищу идеальную IDE.

CYB3R ★★★★★
() автор топика
Ответ на: комментарий от CYB3R

Что ж тогда глупые вопросы задаешь?

anonymous
()
Ответ на: комментарий от andreyu

Впрочем я давно отказался от cscope в пользу ctags внутри vim.

andreyu ★★★★★
()

http://sourcenav.berlios.de/

Пожалуй самый вменяемый из тулзов. Жаль с 2012 коммитов небыло, но возможно что они ему и ненужны

MKuznetsov ★★★★★
()

Пиши так, чтобы было читать приятней. Или на хаскеле.

Newlifer
()

Vim+NERDTree/bufexplorer/ctags

Emacs+ECB/Cedet

QuArt3
()
Ответ на: комментарий от f1xmAn

Эклипсом я пользуюсь. А странным меня считают по другим причинам.

CYB3R ★★★★★
() автор топика
Последнее исправление: CYB3R (всего исправлений: 1)
Ответ на: комментарий от Eddy_Em

Я тоже за него. Если проект не большой - самое оно.

При чем, моё мнение не голословно, я сам частенько чужой код смотрю и именно в geany.

Deleted
()
Ответ на: комментарий от Chaser_Andrey

Мсье знает толк в извращениях.

Согласен, никода не воспринимал код «на слух».

mamba_namba_karamba
()

htags и читать код в браузере.

naszar
()
Ответ на: комментарий от aedeph_

Готовишь патчи для ядра?

Кстати, где-то есть живой ресурс с LXR свежих версий?

Krieger_Od ★★
()
Ответ на: комментарий от Deleted

Если проект не большой

Ты про ядро? Ну, его целиком все равно никаких человеческих сил не хватит охватить!

Eddy_Em ☆☆☆☆☆
()

раслабся.

думай о приятных последствиях понимания читаемого кода.

qulinxao ★★☆
()

+ листик и писало по нему для буферных пометок

+ стЕкующий хомбрюсофт для сохранения порядка обхода (у иде это теперь общее место после распространения веба в середине 90ых)

qulinxao ★★☆
()

Для изучения libtorrent использовал KDevelop. Хотя, на мой субъективный взгляд, поиск в QtCreator лучше будет.

Я понимаю что нужно исследовать код не на Qt, и даже не на C++, но все-эе стоит попробовать)

Dikar ★★
()

Ага, что-то непонятное, так препроцессор же из этого сделает 0x03ff!

К чему IDE человеку, который в уме раскодирует битовые значения? Просто запоминай весь прочитаный код.

AptGet ★★★
()
Ответ на: комментарий от Deleted

5к-10к строк

Ну, в моих велосипедах от ~1500 строк (самая мелочевка) до ~10000 (недописанный интересный проектик). Очень даже удобно в geany с ними работать.

Eddy_Em ☆☆☆☆☆
()

vim. Нужно научится им пользоваться.

Открыл один файл вимом — почитал и закрыл

буфера, окна, вкладки, складки, и Over9000 вариантов прыжков между файлами конечно придумали не для тебя.

emulek
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.