как раздеть расширение типа файла в vim - PullRequest
1 голос
/ 16 марта 2010

В моем .vimrc я установил другую makeprg в соответствии с типом исходного файла следующим образом:

au BufRead,BufNewFile /home/me/cpp/**/**.cc set makeprg=g++\ %"
au BufRead,BufNewFile /home/me/c/**/**.c set makeprg=gcc\ %\"

Это хорошая практика, но не идеальная. проблема с этим параметром в том, что вы можете просто использовать двоичный файл с именем по умолчанию a.out в определенном каталоге.

Проще говоря, допустим, что client.c и server.c находятся в одной директории. После компиляции client.c в vim вы должны переименовать a.out в другое имя перед вами можете отредактировать server.c и скомпилировать его vim. в противном случае существующий a.out будет перезаписан.

Поэтому я хотел бы улучшить настройку, добавив опцию -o в gcc или g ++, чтобы явно дать двоичному файлу имя, а не давать ему имя как "a.out". а также я хотел бы использовать имя исходного файла без расширения типа поля в качестве двоичного имени для исходного файла gvien. например, для client.c имя сгенерированного двоичного файла будет просто client.

Просто нужна твоя помощь, чтобы сказать мне, как именно это можно сделать в vim. заранее спасибо.

1 Ответ

2 голосов
/ 16 марта 2010

См. :help expand. Если вы сделаете %:r, вы получите текущее имя файла, за исключением последнего расширения. Ваши измененные команды:

au BufRead,BufNewFile /home/me/cpp/**/**.cc set makeprg=g++\ %\ -o\ %:r
au BufRead,BufNewFile /home/me/c/**/**.c set makeprg=gcc\ %\ -o\ %:r
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...