программирование
Работа с исходным кодом не выходя из gdb
Команды удобные для работы с исходным кодом прямо из gdb.
1. Команда edit: редактировать файла на месте
Указать нужный редактор можно в переменной окружения EDITOR.
У меня указано в ~/.zshrc EDITOR=vim, и прекрасно все работает.
http://sourceware.org/gdb/current/onlinedocs/gdb_8.html#SEC54
2. Команда make: запуск make прямо из gdb
Удобно после подправки исходника, пересобрать проект.
http://sourceware.org/gdb/current/onlinedocs/gdb_3.html#SEC12
Встроенный текстовый интерфейс в gdb
В gdb существует встроенный текстовый интерфейс для отображения исходников, дизассемблированного кода и состояния регистров.
Для этого нужно запустить gdb с ключиком -tui или просто запустить gdbtui можно вызвать из командной строки gdb сочетанием клавиш ctrl-x a.

Есть возможность переключатся в одно и двух оконный режим. Клавиши ctrl-x 1 и ctrl-x 2 соответственно.
Подробности тут, хотя там больше особо интересного и нет Ж:-)
Удобное и быстрое комментирование в vim
Недавно мне захотелось в vim комментировать код быстрее, чем я это делал раньше, то бишь не вручную :) Потратив некоторое время на vim.org в поиске необходимого плагина, я остановился на том, который, по моему мнение, наиболее вписывается в концепцию vim - NERD Commenter! Стиль комментариев зависит от типа файла, который вы открыли. Поддерживаемых типов достаточное количество :)
Комбинации клавиш по-умолчанию:
,cc - комментирование текущей строки или выделенного текста ,cn - закомментировать/раскомментировать ,ci - то, что было закомментировано раскомментировать и наоборот ,cs - сексуальное комментирование ;-) ,cy - перед комментированием выполнить yank ,c$ - закомментировать от текущей позици курсора до конца строки ,cI и ,cA - добавить комментарии в начало и в конец строки соответственно ,cl, cr, cb - комментировать, выравнивая символы комментария по левому, по правому краю или растягивая соответственно ,cu - раскомментировать
Переключение между .h и .c файлами в vim
Иногда хочется быстро переключиться между заголовочным файлом (.h) и кодом (.c) в С. Приводится пример реализации такого в самом лучшем редакторе ;)
nmap ,s :find %:t:r.c<cr> nmap ,S :sf %:t:r.c<cr> nmap ,h :find %:t:r.h<cr> nmap ,H :sf %:t:r.h<cr>
Соответственно:
,s - переключение на исходный код
,S - тоже самое, только открыть в новом окне
,h - переключение на заголовочный файл
,H - тоже самое, только открыть в новом окне
Расширить функциональность для других файлов - не составит большого труда.

