說明:如果你準備把本文中的命令放到配置文件(比如 .vimrc)中而不是在命令行執行,那么請去掉開頭的冒號。
★ 鍵映射
:maptype key command
其中,key 是要映射的鍵(序列),command 是所要映射的命令,maptype 包括如下幾種:
map 命令,可視和命令追加模式下的鍵映射
vmap 可視模式下的鍵映射
nmap 命令模式下的鍵映射
omap 命令追加模式下的鍵映射
map! 插入和命令行模式下的鍵映射
imap 插入模式下的鍵映射
cmap 命令行模式下的鍵映射
說明:命令追加模式指的是命令輸入中的狀態,也就是在輸入一個需要多個按鍵的命令時,已經開始輸入但未完成的狀態。
舉個例子,
:map <F2> gg
的意思是在命令,可視和命令追加模式把 F2 鍵映射為命令 gg,也就是說,當在這三種模式下時,按下 F2 鍵,就相當于按下了鍵序列 gg,其作用是定位到第一行。
要想避免 vim 把你映射的 command 中的內容再次映射的話,應該使用 noremap,其格式與 map 時相同。這時候,上面的各種 maptype 分別對應如下:
noremap 命令,可視和命令追加模式下的鍵映射(無二次映射的)
vnoremap 可視模式下的鍵映射(無二次映射的)
nnoremap 命令模式下的鍵映射(無二次映射的)
onoremap 命令追加模式下的鍵映射(無二次映射的)
noremap! 插入和命令行模式下的鍵映射(無二次映射的)
inoremap 插入模式下的鍵映射(無二次映射的)
cnoremap 命令行模式下的鍵映射(無二次映射的)
取消一個鍵映射用 unmap,格式為 unmap key。其中 key 為之前定義了映射的鍵,unmap 可以換為如下幾種之一:
unmap 取消命令,可視和命令追加模式下的鍵映射
vunmap 取消可視模式下的鍵映射
nunmap 取消命令模式下的鍵映射
ounmap 取消命令追加模式下的鍵映射
unmap! 取消插入和命令行模式下的鍵映射
iunmap 取消插入模式下的鍵映射
cunmap 取消命令行模式下的鍵映射
★ 把當前目錄設為正在編輯的文件所在的目錄
:cd %:p:h
說明:只在類 Unix 操作系統下可用。
:lcd %:p:h
說明:在所有操作系統下可用。
★ 打開文件的時候自動將當前目錄設為該文件所在的目錄
在 .vimrc 中加入如下行:
:au BufEnter * :cd! %:p:h
★ 轉換文件格式
由于 Unix、Window 和 MacOS 的換行符的內部表示不一樣,因此有時候需要轉換文件格式。
將文件格式轉換為 Unix 格式:
:set fileformat=unix
將文件格式轉換為 Windows 格式:
:set fileformat=dos
★ 讓 gvim 啟動時窗口最大化(只在 Windows 下可用)
在 _vimrc 中加入如下行
autocmd GUIEnter * simalt ~x