Re: [轉錄][問題] VIM 編譯與執行[已解決]

看板Editor (編輯器(vim/emacs))作者 (human)時間13年前 (2011/07/13 15:23), 編輯推噓2(2013)
留言15則, 4人參與, 最新討論串1/1
不好意思,我想請問一下. 假如我makefile中的內容是 .c: gcc -Wall -Wextra -g -ftrapv -lm $*.c -o $*.out 那根據之前大家給予的建議,:make就失效了!所以設定的快速鍵也沒作用了! 有變通的方法嘛? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.220.204.217

07/13 23:39, , 1F
沒弄錯的話:make好像是用預設Makefile跑
07/13 23:39, 1F

07/13 23:39, , 2F
要用自己的可能要 :!make 吧?
07/13 23:39, 2F

07/14 00:24, , 3F
:make 可以重設makeprg來改...
07/14 00:24, 3F

07/14 00:32, , 4F
vim官網有一個plugin http://ppt.cc/tLVz 有不錯的功能喔
07/14 00:32, 4F
我後來改成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)

07/14 09:42, , 5F
用%:r要注意檔名有空格,加""看看?
07/14 09:42, 5F

07/14 09:43, , 6F
我是用 !make "%:r" 編譯 !mv "%:r" a.out 改名
07/14 09:43, 6F
我後來改成map <F5> :!make "%:r"<CR>:!./"%:r".out<CR> ~"~沒作用. 但是自己在vim下指令分別測試,是ok的...但是合在一起就什麼動作都沒有QQ

07/14 09:44, , 7F
硬是改名成 a.out ....XD
07/14 09:44, 7F

07/14 10:03, , 8F
那是別人寫的腳本 可以載下來用 :D
07/14 10:03, 8F
好,我去下載安裝看看 ※ 編輯: angleevil 來自: 61.220.204.217 (07/14 10:40)

07/14 11:08, , 9F
應該要map <F5> :!make "%:r";./"%:r".out<CR>才對
07/14 11:08, 9F

07/14 11:11, , 10F
因為!是執行後面那整串的指令的
07/14 11:11, 10F

07/14 11:12, , 11F
!make "%:r"<CR>:!./"%:r".out<CR>會變成
07/14 11:12, 11F

07/14 11:13, , 12F
make "%:r"<CR>
07/14 11:13, 12F

07/14 11:13, , 13F
:!./"%:r".out<CR>
07/14 11:13, 13F

07/14 11:16, , 14F
=..=可以了,謝謝firejox和darkgerm
07/14 11:16, 14F
※ 編輯: angleevil 來自: 61.220.204.217 (07/14 11:18) ※ 編輯: angleevil 來自: 61.220.204.217 (07/14 11:21)

07/14 17:34, , 15F
回你寄信問我的 ^^ <C-N> 就是 Ctrl + N 的意思是沒錯 ^^
07/14 17:34, 15F
文章代碼(AID): #1E7KVPlw (Editor)
文章代碼(AID): #1E7KVPlw (Editor)