Если изучение зачатков Unix-редакторов, программирования оболочки, make и т. Д. Является частью задания, то вам просто нужно погрузиться и изучить то, что вам нужно выучить. Несколько хороших книг помогут. Очевидно, вам нужен K & R. Мне всегда нравились книги О'Рейли для Unix, обычно потому, что они самые тонкие. Я ненавижу толстые компьютерные книги, потому что их никогда не читают. Вы также должны научиться пользоваться справочными страницами.
Vim vs. Emacs - это религиозный выбор. Если вы спросите любого парня из Unix, что лучше, он обязательно скажет вам тот, который выучил первым, потому что, скорее всего, он никогда не узнал другого. В моем случае я использовал Vim так долго, что мой управляющий ключ изношен, а команды запрограммированы в моем мозгу. Очевидно, я думаю, что это намного лучше, чем emacs (чего я никогда не изучал!) Если вам повезло иметь Mac в качестве рабочей станции, установите mac vim. Это здорово.
Make достаточно сложен, так что вы никогда его не освоите. Просто изучите достаточно, чтобы скомпилировать и связать вашу программу. Вы всегда можете узнать больше, если вам это нужно.
Контроль версий - интересный вопрос ... Я использую RCS для мелочей. Как и vi, он есть на каждой машине Unix. Для действительно больших проектов я использую Subversion, но, как и редакторы, большинство людей используют то, что узнали в первую очередь. Git люди скажут, что он единственный, кто использует, и т. Д.
Отладчики командной строки - это боль, которая является основным пунктом продажи Xcode. Я использовал GDB, но я не помню, чтобы это было приятным опытом. Прошло так много времени с тех пор, как я его использовал, я даже не помню, как его запустить Должны быть лучшие отладчики к настоящему времени. Попробуйте Google.
Итог, все, что вы упомянули, это большие темы. Вам нужно брать реалистичные укусы каждого и не запутываться в сорняках. Чтобы овладеть ими, могут потребоваться годы.
Наконец, я бы держался как можно дальше от C ++! Цель C намного лучше. Личные предубеждения!