有時我直接從vim命令行運行使。但是,有時我只想構建一個正在編輯的文件:!g++ filename.cpp
。有沒有一個快捷方式來引用文件,而不必鍵入它..?在vi中引用文件名稱
夥計們,我不想使用make。我想要做的就是從vi的命令行構建它,在VIM中使用g ++/gcc
有時我直接從vim命令行運行使。但是,有時我只想構建一個正在編輯的文件:!g++ filename.cpp
。有沒有一個快捷方式來引用文件,而不必鍵入它..?在vi中引用文件名稱
夥計們,我不想使用make。我想要做的就是從vi的命令行構建它,在VIM中使用g ++/gcc
您可以使用%
引用當前文件 這樣:
:!g++ %
「%:p」代表當前文件。
嘗試「G ++%:P」
你可以用它來指代您與工作的文件名擴展置換的.o:
%r.o
你filename.cpp成爲filename.o這是有用的,如果你把這樣的事情在你的.vimrc:
set makeprg=gmake\ %:r.o
這樣,你可以做到這一點的VIM,然後將推出使用在當前文件makeprg命令宣佈:
:make
你能解釋'%:r.o'中的冒號(或者以前沒有冒號)嗎? – 2009-10-02 13:17:14
請參閱':help filename-modifiers' – rampion 2009-10-02 13:45:34
如果你的make程序實際上是GNU做,只需要執行:
:make %<
如果你想添加的標誌像-Wall -pedantic還是那麼就設置$ CFLAG(編譯C文件或C++文件$ CPPFLAGS),或者如果你想然後指定庫設置$ LDFLAGS從VIM。
:h :make
:h %<
編輯: 不同於普通的來電:GCC,這個解決方案是與QuickFix模式兼容(:H的quickfix),並且不需要改變& makeprg爲「G ++ $ CPPFLAGS -o $ * $ * .cpp $ LDFLAGS'。
NB:
如上所述,快捷鍵是%。
您可以通過將整個事情綁定到一個鍵在.vimrc文件中:
map <F9> :!gcc %<CR>
什麼是對的呢? – vehomzzz 2009-10-04 19:32:02
它從根擴展到完整路徑。我習慣了,因爲我輸入了一些失去根的東西。這裏沒有要求,我輸入的反應很快,但彼得的回答是最好的。 – 2009-10-05 13:10:25