作者angleevil (human)
看板Editor
標題:Re[轉錄][問題] VIM 編譯與執行
時間Wed Jul 13 15:23:03 2011
不好意思,我想請問一下.
假如我makefile中的內容是
.c:
gcc -Wall -Wextra -g -ftrapv -lm $*.c -o $*.out
那根據之前大家給予的建議,:make就失效了!所以設定的快速鍵也沒作用了!
有變通的方法嘛?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.220.204.217
1F:推 darkgerm:沒弄錯的話:make好像是用預設Makefile跑 07/13 23:39
2F:→ darkgerm:要用自己的可能要 :!make 吧? 07/13 23:39
3F:→ firejox::make 可以重設makeprg來改... 07/14 00:24
我後來改成map <F7> :set makeprg=make\ %:r <CR>:make<CR>就可以了
當我更改yoco大的map <F5> :make <CR>:!./a.out<CR>時,遇到一個問題是我的執行檔名稱不是固定的.
這方面大家有解決的經驗嘛?
ex:
map <F5> :set makeprg=make\ %:r <CR>:make<CR>:!./%:r.out<CR><--原本以為使用%:r,可以取得檔案名稱
= =不過好像大錯特錯...
ps:
firejox的網頁看過了,我的vim沒有SCCompile等指令呢
※ 編輯: angleevil 來自: 61.220.204.217 (07/14 09:37)
5F:推 darkgerm:用%:r要注意檔名有空格,加""看看? 07/14 09:42
6F:→ darkgerm:我是用 !make "%:r" 編譯 !mv "%:r" a.out 改名 07/14 09:43
我後來改成map <F5> :!make "%:r"<CR>:!./"%:r".out<CR> ~"~沒作用.
但是自己在vim下指令分別測試,是ok的...但是合在一起就什麼動作都沒有QQ
7F:→ darkgerm:硬是改名成 a.out ....XD 07/14 09:44
8F:→ firejox:那是別人寫的腳本 可以載下來用 :D 07/14 10:03
好,我去下載安裝看看
※ 編輯: angleevil 來自: 61.220.204.217 (07/14 10:40)
9F:→ firejox:應該要map <F5> :!make "%:r";./"%:r".out<CR>才對 07/14 11:08
10F:→ firejox:因為!是執行後面那整串的指令的 07/14 11:11
11F:→ firejox:!make "%:r"<CR>:!./"%:r".out<CR>會變成 07/14 11:12
12F:→ firejox:make "%:r"<CR> 07/14 11:13
13F:→ firejox::!./"%:r".out<CR> 07/14 11:13
14F:→ angleevil:=..=可以了,謝謝firejox和darkgerm 07/14 11:16
※ 編輯: angleevil 來自: 61.220.204.217 (07/14 11:18)
※ 編輯: angleevil 來自: 61.220.204.217 (07/14 11:21)
15F:→ yoco315:回你寄信問我的 ^^ <C-N> 就是 Ctrl + N 的意思是沒錯 ^^ 07/14 17:34