軟件是對(duì)質(zhì)量的不懈追求

          vim 的一些高級(jí)用法

          說(shuō)明:如果你準(zhǔn)備把本文中的命令放到配置文件(比如 .vimrc)中而不是在命令行執(zhí)行,那么請(qǐng)去掉開(kāi)頭的冒號(hào)。

          ★ 鍵映射

          :maptype key command

          其中,key 是要映射的鍵(序列),command 是所要映射的命令,maptype 包括如下幾種:

          map  命令,可視和命令追加模式下的鍵映射

          vmap 可視模式下的鍵映射

          nmap 命令模式下的鍵映射

          omap 命令追加模式下的鍵映射

          map! 插入和命令行模式下的鍵映射

          imap 插入模式下的鍵映射

          cmap 命令行模式下的鍵映射

          說(shuō)明:命令追加模式指的是命令輸入中的狀態(tài),也就是在輸入一個(gè)需要多個(gè)按鍵的命令時(shí),已經(jīng)開(kāi)始輸入但未完成的狀態(tài)。

          舉個(gè)例子,

          :map <F2> gg

          的意思是在命令,可視和命令追加模式把 F2 鍵映射為命令 gg,也就是說(shuō),當(dāng)在這三種模式下時(shí),按下 F2 鍵,就相當(dāng)于按下了鍵序列 gg,其作用是定位到第一行。

          要想避免 vim 把你映射的 command 中的內(nèi)容再次映射的話,應(yīng)該使用 noremap,其格式與 map 時(shí)相同。這時(shí)候,上面的各種 maptype 分別對(duì)應(yīng)如下:

          noremap  命令,可視和命令追加模式下的鍵映射(無(wú)二次映射的)

          vnoremap 可視模式下的鍵映射(無(wú)二次映射的)

          nnoremap 命令模式下的鍵映射(無(wú)二次映射的)

          onoremap 命令追加模式下的鍵映射(無(wú)二次映射的)

          noremap! 插入和命令行模式下的鍵映射(無(wú)二次映射的)

          inoremap 插入模式下的鍵映射(無(wú)二次映射的)

          cnoremap 命令行模式下的鍵映射(無(wú)二次映射的)

          取消一個(gè)鍵映射用 unmap,格式為 unmap key。其中 key 為之前定義了映射的鍵,unmap 可以換為如下幾種之一:

          unmap  取消命令,可視和命令追加模式下的鍵映射

          vunmap 取消可視模式下的鍵映射

          nunmap 取消命令模式下的鍵映射

          ounmap 取消命令追加模式下的鍵映射

          unmap! 取消插入和命令行模式下的鍵映射

          iunmap 取消插入模式下的鍵映射

          cunmap 取消命令行模式下的鍵映射

          ★ 把當(dāng)前目錄設(shè)為正在編輯的文件所在的目錄

          :cd %:p:h

          說(shuō)明:只在類(lèi) Unix 操作系統(tǒng)下可用。

          :lcd %:p:h

          說(shuō)明:在所有操作系統(tǒng)下可用。

          ★ 打開(kāi)文件的時(shí)候自動(dòng)將當(dāng)前目錄設(shè)為該文件所在的目錄

          在 .vimrc 中加入如下行:

          :au BufEnter * :cd! %:p:h

          ★ 轉(zhuǎn)換文件格式

          由于 Unix、Window 和 MacOS 的換行符的內(nèi)部表示不一樣,因此有時(shí)候需要轉(zhuǎn)換文件格式。

          將文件格式轉(zhuǎn)換為 Unix 格式:

          :set fileformat=unix

          將文件格式轉(zhuǎn)換為 Windows 格式:

          :set fileformat=dos

          ★ 讓 gvim 啟動(dòng)時(shí)窗口最大化(只在 Windows 下可用)

          在 _vimrc 中加入如下行

          autocmd GUIEnter * simalt ~x

          posted on 2009-11-14 14:08 BlakeSu 閱讀(288) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 泽普县| 博爱县| 中超| 龙州县| 宾川县| 江陵县| 普兰县| 天长市| 洞口县| 焦作市| 高青县| 长垣县| 监利县| 长白| 凤翔县| 澄迈县| 夹江县| 昭平县| 监利县| 清水河县| 万载县| 溧水县| 江达县| 樟树市| 馆陶县| 兴仁县| 灯塔市| 中西区| 广宁县| 海原县| 日土县| 河曲县| 宁乡县| 沙雅县| 普兰店市| 登封市| 昭觉县| 杂多县| SHOW| 陵川县| 中山市|