и другие vi-подобные редакторы
Модератор: /dev/random
ArkanJR
Сообщения: 1171
Статус: Профан
Сообщение
ArkanJR » 19.08.2014 17:56
Каким образом можно прописать в .vimrc ключи для GCC? Например, чтобы при нажатии F5 компиляция программы осуществлялась аналогично
10% — это 0,1.
© Bizdelnick
Bizdelnick
Модератор
Сообщения: 21046
Статус: nulla salus bello
ОС: Debian GNU/Linux
Сообщение
Bizdelnick » 19.08.2014 18:11
Как-то так: nnoremap <F5> :w<CR>:!g++ -O1 %<CR>
А вообще показали бы, что у Вас там сейчас прописано для F5.
Пишите правильно:
в консоли
вк у́пе (с чем-либо)
в о бщем
воо бще в течение (часа)
новичо к
ню анс
по у молчанию приемле мо
проблем а
пробо вать
траф ик
ArkanJR
Сообщения: 1171
Статус: Профан
Сообщение
ArkanJR » 19.08.2014 18:21
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
Модератор
Сообщения: 21046
Статус: nulla salus bello
ОС: Debian GNU/Linux
Сообщение
Bizdelnick » 19.08.2014 18:24
Ну если использовать make, то все опции надо в Makefile прописывать. К vim это уже совсем никакого отношения не имеет.
Пишите правильно:
в консоли
вк у́пе (с чем-либо)
в о бщем
воо бще в течение (часа)
новичо к
ню анс
по у молчанию приемле мо
проблем а
пробо вать
траф ик
ArkanJR
Сообщения: 1171
Статус: Профан
Сообщение
ArkanJR » 19.08.2014 18:25
Bizdelnick писал(а): ↑ 19.08.2014 18:24
Ну если использовать make, то все опции надо в Makefile прописывать. К vim это уже совсем никакого отношения не имеет.
А если make не использовать?
10% — это 0,1.
© Bizdelnick
/dev/random
Администратор
Сообщения: 5374
ОС: Gentoo
Сообщение
/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)
ArkanJR
Сообщения: 1171
Статус: Профан
Сообщение
ArkanJR » 23.08.2014 08:55
/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
Администратор
Сообщения: 5374
ОС: Gentoo
Сообщение
/dev/random » 23.08.2014 09:47
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
Сообщение
drBatty » 26.08.2014 04:46
ArkanJR писал(а): ↑ 19.08.2014 18:25
А если make не использовать?
вопрос из серии "как закрутить шуруп без отвёртки и шуруповёрта?"
Ну да, можно пассатижами.
ArkanJR
Сообщения: 1171
Статус: Профан
Сообщение
ArkanJR » 07.09.2014 14:57
Хотелось бы ещё кое-что уточнить, сейчас чтобы выполнить комппиляцию (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
Модератор
Сообщения: 21046
Статус: nulla salus bello
ОС: Debian GNU/Linux
Сообщение
Bizdelnick » 07.09.2014 15:14
Ну вроде как F9 должно работать в режиме вставки. Чтобы заработало F5, надо сделать так же, как для F9: imap с добавлением <Esc> в начало команды.
А вообще - см. :help mapping .
Пишите правильно:
в консоли
вк у́пе (с чем-либо)
в о бщем
воо бще в течение (часа)
новичо к
ню анс
по у молчанию приемле мо
проблем а
пробо вать
траф ик