vim 的自訂快速鍵設定

來源:互聯網
上載者:User

因為 vim 本身功能強大,可以使用很多指令,且可以在執行的同事調用外部命令,因此這讓我們自訂工具,操作提供了可能!今天我就以編譯 和執行 java 為例,簡單說一下vim 如何自訂快速鍵

首先是指令
vim 定義快速鍵的指令map ,與之相對應的 unmap 是取消已定義的快速鍵的指令!
第二步
如果我們要編譯 一個名為 Hello.java的檔案怎麼做呢
Esc 進入命令模式 輸入 :!javac Hello.java
: 是指令輸入的提示符表示以下輸入的是vim 的指令
! 是標明這之後的操作,是編輯器以外的命令
javac Hello.java 就不用說了
但是既然我們要把這個作為快速鍵調用的操作使用 ,那麼檔案名稱的命名上 必然要具備其通配性,不能太限定話!
這裡 我們使用的是 萬用字元 %
所以整個指令操作過程就是 先按Esc 然後輸入 :!javac % 然後斷行符號
接下來 我們就可以定義快速鍵了 我定義的是 F12 因此 其指令就是
:map <F12> :!javac %
這樣執行下 發現有問題…什麼問題…我們一開始如果不在命令模式下 …這個只能執行不了….所以我們得先輸入 Esc,但是我們在map 時,只要一按Esc 就退出了輸入狀態 該怎麼辦呢 ?答案是使用 <Esc> 字元替代操作,那麼指令就變成
:map <F12> <Esc>:!javac %
斷行符號確定過後 按下F12 指令就出現在螢幕上…可是我還是想讓他直接執行啊 …既然 <Esc>可以代替 Esc 的操作,那什麼可以代替斷行符號操作呢 ? 答案是 <CF> 由此我們整條編譯的快捷操作完成了:
:map <F12> <Esc>:!javac %<CF>

接下來是定義執行指令 Ctrl+F12執行:
:map <C-F12> <Esc>:!java %<CF>
看到這裡 大家應該已經想到這個問題了,java 執行是不可以帶副檔名的 ,更何況當前擴充明是 .java,那麼有什麼辦法 讓他不帶副檔名呢 ? 答案是 %< ,%<表示的就是不帶副檔名的檔案名稱,那麼整條執行語句就成了:
:map <C-F12> <Esc>:!java %<<CR>

這樣快速鍵就可以使用了 … 是不是很方便呢  ?

另附上其他特殊符號:
<Tab> 定位字元
<EOL> 行尾
<BS> 退格

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.