Вы можете попробовать M- / (dabbrev-expand). Эта команда пытается завершить идентификатор, непосредственно предшествующий точке (т. Е. Там, где находится ваш курсор), используя содержимое текущего буфера, а затем содержимое других буферов того же режима. Если первое предложенное завершение не то, что вам нужно, просто продолжайте вводить M- /. Если у вас есть привычка постоянно открывать один сеанс Emacs (который, если у вас его нет, вы должны действительно его получить) и иметь несколько открытых файлов из текущего проекта, вы, скорее всего, сможете найдите расширение, которое вы хотите для любого конкретного префикса.
Итак, чтобы ответить на ваш оригинальный вопрос, M- / найдет нужное завершение printf
, если (а) вы использовали printf
где-либо еще в буфере, который вы редактируете, или (b) он появляется в любом другом файле .c или .h, который вы открыли в emacs.