VIM: как прописать ключи для GCC?

и другие vi-подобные редакторы

Модератор: /dev/random

Ответить
Аватара пользователя
ArkanJR
Сообщения: 1164
Статус: Профан

VIM: как прописать ключи для GCC?

Сообщение ArkanJR »

Каким образом можно прописать в .vimrc ключи для GCC? Например, чтобы при нажатии F5 компиляция программы осуществлялась аналогично

Код: Выделить всё

g++ -O1 proga.cpp
10% — это 0,1.
© Bizdelnick
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: VIM: как прописать ключи для GCC?

Сообщение Bizdelnick »

Как-то так: nnoremap <F5> :w<CR>:!g++ -O1 %<CR>
А вообще показали бы, что у Вас там сейчас прописано для F5.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
ArkanJR
Сообщения: 1164
Статус: Профан

Re: VIM: как прописать ключи для GCC?

Сообщение ArkanJR »

Bizdelnick писал(а):
19.08.2014 18:11
А вообще показали бы, что у Вас там сейчас прописано для F5.

au BufEnter *.cpp set makeprg=g++\ -g\ %\ -o\ %<
au BufEnter *.c set makeprg=gcc\ -g\ %\ -o\ %<
au BufEnter *.py set makeprg=python\ %
au BufEnter *.[rR] set makeprg=Rscript\ %
map <F5> : call CompileGcc()<CR>
func! CompileGcc()
exec "w"
silent make
endfunc
10% — это 0,1.
© Bizdelnick
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: VIM: как прописать ключи для GCC?

Сообщение Bizdelnick »

Ну если использовать make, то все опции надо в Makefile прописывать. К vim это уже совсем никакого отношения не имеет.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
ArkanJR
Сообщения: 1164
Статус: Профан

Re: VIM: как прописать ключи для GCC?

Сообщение ArkanJR »

Bizdelnick писал(а):
19.08.2014 18:24
Ну если использовать make, то все опции надо в Makefile прописывать. К vim это уже совсем никакого отношения не имеет.

А если make не использовать?
10% — это 0,1.
© Bizdelnick
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5281
ОС: Gentoo

Re: VIM: как прописать ключи для GCC?

Сообщение /dev/random »

ArkanJR писал(а):
19.08.2014 18:21
au BufEnter *.cpp set makeprg=g++\ -g\ %\ -o\ %<
au BufEnter *.c set makeprg=gcc\ -g\ %\ -o\ %<

Ну вот же у вас ключи (в данном случае: -g)
Спасибо сказали:
Аватара пользователя
ArkanJR
Сообщения: 1164
Статус: Профан

Re: VIM: как прописать ключи для GCC?

Сообщение ArkanJR »

/dev/random писал(а):
19.08.2014 18:27
ArkanJR писал(а):
19.08.2014 18:21
au BufEnter *.cpp set makeprg=g++\ -g\ %\ -o\ %<
au BufEnter *.c set makeprg=gcc\ -g\ %\ -o\ %<

Ну вот же у вас ключи (в данном случае: -g)

Вписал ради интереса ключ -O1:
au BufEnter *.cpp set makeprg=g++\ -g\ %\ -o\ %\ -O1\ %<
После нажатия F5 исчез исходный файл .cpp.
10% — это 0,1.
© Bizdelnick
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5281
ОС: Gentoo

Re: VIM: как прописать ключи для GCC?

Сообщение /dev/random »

ArkanJR писал(а):
23.08.2014 08:55
au BufEnter *.cpp set makeprg=g++\ -g\ %\ -o\ %\ -O1\ %<

au BufEnter *.cpp set makeprg=g++\ -g\ %\ -O1\ -o\ %<

% - это имя редактируемого файла, а %< - оно же без расширения. Ключ -o задаёт, под каким именем сохранять откомпилированный файл.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: VIM: как прописать ключи для GCC?

Сообщение drBatty »

ArkanJR писал(а):
19.08.2014 18:25
А если make не использовать?

вопрос из серии "как закрутить шуруп без отвёртки и шуруповёрта?"

Ну да, можно пассатижами.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
ArkanJR
Сообщения: 1164
Статус: Профан

Re: VIM: как прописать ключи для GCC?

Сообщение ArkanJR »

Хотелось бы ещё кое-что уточнить, сейчас чтобы выполнить комппиляцию (F5) и запуск программы (F9) приходится переходить из режима редактирования в командный режим. Каким образом можно компилировать и запускать программу через указанные выше клавиши, оставаясь в режиме редактирования?

В данный момент F5 и F9 прописаны в .gvimrc следующим образом:

F5:

Код: Выделить всё

au BufEnter *.cpp set makeprg=g++\ -g\ %\ -O1\ -o\ %<
au BufEnter *.c set makeprg=gcc\ -g\ %\ -o\ %<
au BufEnter *.py set makeprg=python\ %
au BufEnter *.[rR] set makeprg=Rscript\ %
map <F5> :call CompileGcc()<CR>
func! CompileGcc()
    exec "w"
    silent make
endfunc


F9:

Код: Выделить всё

function! BindF9_C()
    if filereadable("Makefile")
        set makeprg=make
        map <F9>      :w<cr>:make<cr>:cw<cr>:!xterm -e './%<; read'<cr>
        imap <F9> <esc>:w<cr>:make<cr>:cw<cr>:!xterm -e './%<; read'<cr>
    else
        map <F9>      :w<cr>:make %:r<cr>:cw<cr>:!xterm -e './%<; read'<cr>
        imap <F9> <esc>:w<cr>:make %:r<cr>:cw<cr>:!xterm -e './%<; read'<cr>
    endif
endfunction
au FileType c,cc,cpp,h,hpp,s call BindF9_C()
10% — это 0,1.
© Bizdelnick
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: VIM: как прописать ключи для GCC?

Сообщение Bizdelnick »

Ну вроде как F9 должно работать в режиме вставки. Чтобы заработало F5, надо сделать так же, как для F9: imap с добавлением <Esc> в начало команды.
А вообще - см. :help mapping.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Ответить