vim 的配置详解/键盘映射配置详解
生活随笔
收集整理的這篇文章主要介紹了
vim 的配置详解/键盘映射配置详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 特性設置
- 配置快捷鍵(鍵映射配置)
- 鍵盤符號
- 鍵盤映射命令和不同模式的對應關系
- 取消鍵盤映射
- 查看鍵盤映射
在目錄 /etc/ 下面,有個名為 vimrc 的文件,這是系統中公共的 vim 配置文件,對所有用戶都有效。而在每個用戶的主目錄下,都可以建立私有的配置文件,命名為: .vimrc。
使用 vim 打開配置文件:
vim /etc/vimrc # 配置全局的 vim ~/.vimrc # 配置當前用戶的,不存在則保存后自動創建該文件特性設置
set nu " 顯示行編號 set nocompatible " 關閉vi兼容模式,可以啟用方向鍵和Backspace set cursorline " 突出顯示當前行 filetype on " 偵測文件類型 filetype indent on " 為特定文件類型載入相關縮進文件 set showmatch " 高亮顯示匹配的括號set matchtime=1 " 匹配括號高亮的時間(單位是十分之一秒) set history=1000 " 歷史記錄數 color evening syntax on " 語法高亮顯示 set autoindent " 自動縮進 set cindent " 針對C語言語法自動縮進 set fileformats=unix,dos,mac " 讓vim自動識別文件格式 set smartindent set ignorecase " 搜索忽略大小寫 set showmatch set guioptions-=T set vb t_vb= set nohls set shortmess=atl autocmd InsertEnter *se cul set ruler " 打開狀態欄標尺set smarttab " 在行和段開始處使用制表符 set enc=utf-8 " 編碼設置 set langmenu=zh_CN.UTF-8 " 語言設置 set showcmd set confirm set incsearch set laststatus=2 " 底下狀態行顯示的內容(包括文件類型和解碼)set cmdheight=2 " 命令行(在狀態行下)的高度,默認為1,這里是2if has("vms") set nobackup " 覆蓋文件時不備份 else set backup " 覆蓋文件時備份 endif" 后面這段是設置Tab鍵的縮進為4個空格 if has( "autocmd" )filetype plugin indent onautocmd FileType make set tabstop=8 shiftwidth=8 softtabstop=0 noexpandtab endifset tabstop=4 " 設置 Tab 的長度為 4 個空格 set shiftwidth=4 " 設定 << 和 >> 命令移動時的寬度為 4 set softtabstop=4 " 使得按退格鍵時可以一次刪掉 4 個空格 set noexpandtab " 不要用空格代替制表符 set expandtab " 允許空格代替制表符注:" 是注釋符號
配置快捷鍵(鍵映射配置)
" 括號相關的快捷鍵 inoremap ( () " inoremap 表示在插入模式下,你按下 ( 就會執行后面部分,后面的部分是 (),所以按下一個 (,就會出現完整的圓括號 () inoremap [ [] inoremap { {} inoremap < <>" 光標移動到文件的開始處 inor <C-Up> <ESC>ggi " inor 表示在插入模式下,你按下 <C-Up> 就會執行后面部分,先執行 <Esc> 退出插入模式,返回普通命令模式,再執行 gg 光標跳到文檔第 1 行的行首,最后執行 i 重新進入插入模式" 光標移到文檔最后一行的開始處 inor <C-Down> <ESC>Gi inor <C-V> <ESC>v " 進入按字符選擇的可視模式下" 復制詞 inor <C-Y> <ESC>yiw" 復制行 inor <C-S-Y> <ESC>yy" 粘貼文本 inor <C-P> <ESC>pi" insert mode keymapping inoremap <C-b> <LEFT> inoremap <C-f> <RIGHT> inoremap <C-a> <HOME> inoremap <C-e> <END> inoremap <C-j> <END><CR>" 刪除快捷鍵 inoremap <C-d> <DELETE> inoremap <C-v> <PageDown> inoremap <C-l> <ESC>zza noremap <C-l> ZZ" 縮進快捷鍵 nmap <tab> V> " 按下 Tab 鍵后,先進入行可視模式下,然后執行 >,將當前選中的行向右縮進,默認是縮進 8 個空格 nmap <s-tab> V< vmap <tab> >gv vmap <s-tab> <gv鍵盤符號
| <Esc> | 代表 Escape 鍵 |
| <CR> | 代表 Enter 鍵 |
| <C-Esc> | 代表 Ctrl-Esc |
| <S-F1> | 表示 Shift-F1 |
| <D> | 代表 Command 鍵,對于 Mac 用戶,可以使用 |
| <M-key> 或 <A-key> | 代表 Alt 鍵 |
注:關于鍵盤符號的詳細說明,請使用 :h key-notation 命令查看幫助信息。
鍵盤映射命令和不同模式的對應關系
說明:
Operator-pending 模式是指當你輸入操作符(比如 d)時,然后繼續輸入的移動步長和文本對象(dw)的狀態。我沒有明白啥意思!!
第一列命令定義的映射,仍然可以被重新映射;第二列命令(包含noremap)定義的映射,是不可以被重新映射的。
取消鍵盤映射
如果想要取消一個映射,可以使用以下命令:
:unmap <F10>注意:必須為:unmap命令指定一個參數。如果未指定任何參數,那么系統將會報錯,而不會取消所有的鍵盤映射。
針對不同模式下的鍵盤映射,需要使用與其相對應的 unmap 命令。例如:使用 :iunmap 命令,取消插入模式下的鍵盤映射;而取消常規模式下的鍵盤映射,則需要使用 :nunmap 命令。具體可以看下面的關系圖:
可以使用以下命令,取消所有映射。請注意,這個命令將會移除所有用戶定義和系統默認的鍵盤映射。
:mapclear查看鍵盤映射
使用 :map 命令,可以列出所有鍵盤映射。
其中第一列標明了映射在哪種模式下工作:
| <space> | 常規模式,可視化模式,運算符模式 |
| n | 常規模式 |
| v | 可視化模式 |
| o | 運算符模式 |
| ! | 插入模式,命令行模式 |
| i | 插入模式 |
| c | 命令模式 |
使用 :map! 命令,則只列出插入和命令行模式的映射。而 :imap,:vmap,:omap,:nmap 命令則只是列出相應模式下的映射。
總結
以上是生活随笔為你收集整理的vim 的配置详解/键盘映射配置详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: opengl
- 下一篇: 从零开始配置 vim(4)——键盘映射的