推薦vi的filename-modifiers功能

來源:互聯網
上載者:User

filename-modifiers顧名思義,就是獲得檔案名稱後再改一改。在Ex-mode(Ex-mode就是輸入冒號+命令的模式)中,%表示當前正在編輯的檔案的名字(filename)。你可以輸入:!echo %觀察當前編輯的檔案的全路徑名字。

我沒必要在這裡羅列filename-modifiers的細節,因為vi的文檔已經說的很清楚了,你可以在vi中運行:help file-modifiers查看文檔。

我想說明的是,在我寫java程式的時候,vi的file-modifiers功能對我的協助有多大。

一個最簡單的例子是我用vi寫了一個java的helloworld程式,原始碼都在一個檔案裡,檔案名稱為helloworld.java,要編譯這段代碼,我只要輸入:!javac %,要運行javac編譯出來的class,我在vi中輸入命令:!java -cp . %:r。這裡的%:r意識是root of the filename,也就是全路徑的檔案名稱去掉檔案名稱尾碼後剩下的部分。

還有一個更有意思的例子,我現在日常的工作就是改一個龐大的java程式中的幾個模組,我有時候要到這個模組的路徑下改改代碼,編譯一下,看看結果,有時候又要到那個模組的路徑下改代碼編譯看結果。來回的切換路徑很麻煩,特別在幾個模組有關聯的時候。現在有了vi的filename-modifiers功能就方便了。我同時開啟各個模組的原始碼檔案。如果我想進入當前正在編輯的原始碼檔案所在的路徑,我就輸入:cd %:h

現在我的工作流程是這樣的,在vi中切換到某個模組的原始碼檔案,編輯代碼,:cd %:h(進入原始碼檔案所在目錄),:make(運行該目錄下的makefile,編譯模組),切換到另一個模組,重複上述步驟。實際上我連上述步驟中打字的活也懶得做,在vi的Ex-mode中,Ctrl+P(P代表previous)表示重複前一個命令,顯然我現在的工作流程中要輸入的命令都是一樣的。所以我現在的工作就是按一次或者兩次Ctrl+P這麼簡單.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.