编辑器之神VIM入门
前言
因為最近裝了 WIN10 + Manjaro 雙系統,用 Linux 幾乎避免不了使用 Vim 編輯器。Vim是從 Vi 發展出來的一個基于命令行的文本編輯器。Vi是“Visual interface”的簡稱,它可以執行輸出、刪除、查找、替換、塊操作等眾多文本操作,而且用戶可以根據自己的需要對其進行定制。
雖然vim有諸多有點,但因為其學習曲線陡峭很少有小白使用。
我在看過一些幫助文檔之后總結了一些經驗在這里分析給大家,希望能幫助快速入門。
目錄
- 前言
- vim模式
- 1 正常模式(Normal mode)
- 移動光標的方法
- 基本操作
- 保存退出
- 2 插入模式(Insert mode)
- 最后
vim模式
一般教程可能都會講到有很多種模式,其實總的來說就兩種模式:
1 正常模式(Normal mode)
剛剛啟動 vi/vim,便進入了正常模式,此時敲擊鍵盤動作會被Vim識別為命令。
移動光標的方法
| shift+箭頭(<- ->) | 跳過符號移動 |
| ctrl+箭頭 | 跳過空格移動 |
| [Ctrl] + [d] | 屏幕『向下』移動半頁 |
| [Ctrl] + [u] | 屏幕『向上』移動半頁 |
| + | 光標移動到非空格符的下一行 |
| - | 光標移動到非空格符的上一行 |
| 0 或功能鍵[Home] | 移動到這一行的最前面字符處 (常用) |
| $ 或功能鍵[End] | 移動到這一行的最后面字符處(常用) |
| G | 移動到這個檔案的最后一行 |
| ng \ nG | n 為數字。移動到這個檔案的第 n 行 |
| gg | 移動到這個檔案的第一行,相當于 1G |
| n+回車 | n 為數字。光標向下移動 n 行 |
| h 、m、l | 移動光標到當前頁面頂部、中間、底部 |
| f+x | 移動光標到當前行光標后第一個x(字符)處 |
| F+x | 移動光標到當前行光標前第一個x(字符)處 |
| nfx | 移動光標到當前行光標后第n個x(字符)處 |
| t+x | 移動光標到當前行光標后第一個x(字符)前 |
| T+x | 移動光標到當前行光標前第一個x(字符)前 |
| ntx | 移動光標到當前行光標后第n個x(字符)前 |
基本操作
刪除 / 剪切 / 修改
| x, X | x 為向后刪除一個字符 , X 為向前刪除一個字符 |
| nx | 向前刪除n個字符 |
| dw | 從光標當前位置刪除直到下一個單詞起始處,不包括它的第一個字符 |
| ndw / dnw | 刪除n個單詞 |
| de | 從光標當前位置刪除直到單詞末尾,包括最后一個字符 |
| dd | 刪除游標所在的那一整行 |
| ndd | n 為數字。刪除光標所在的向下 n 行 |
| ndk | 刪除光標上方的n行 |
| dgg | 刪除光標所在行到第一行 |
| dG | 刪除光標所在到最后一行的所有數據 |
| d0 | 刪除光標所在處,到該行的第一個字符 |
| d$ | 刪除游標所在處,到該行的最后一個字符 |
| dfx | 向后刪除到當前行光標后第一個x(字符)處 |
| r | 替換當前光標處字符 |
| R | 從光標處替換到按<ESC>退出為止 |
| ctrl+a | 光標處數值加1 |
| ctrl+x | 光標處數值減1 |
注意:用d刪除相當于剪切
復制 / 粘貼
| yy | 復制游標所在的那一行 |
| nyy | n 為數字。復制光標所在的向下 n 行 |
| yG | 復制游標所在行到最后一行的所有數據 |
| y$ | 復制光標所在的那個字符到該行行尾的所有數據 |
| p, P | p 為將已復制的數據在光標下一行貼上,P 則為貼在游標上一行 |
撤銷 / 縮進 / 大小寫轉換
| J | 將光標所在行與下一行的數據結合成同一行 |
| c | 重復刪除多個數據 |
| u,U | u復原前一個動作,U復原當前行的前一個操作 |
| [Ctrl]+r | 重做上一個動作(反撤銷) |
| . (英文句號) | 重復前一個動作 |
| >> | 向后縮進 |
| << | 向前縮進 |
| == | 自動縮進 |
| ~ | 反轉當前字符大小寫 |
| U | (可視模式選中后)全部轉換為大寫 |
| u | (可視模式選中后)全部轉換為小寫 |
| guu | 當前行轉換為小寫 |
| guw | 當前單詞轉換為小寫 |
可視化在VIM模式-Mode中提到
保存退出
| :w | 將編輯的數據寫入硬盤中 |
| :w! | 文件屬性為『只讀』時,強制寫入(!強制) |
| :q | 離開 |
| :q! | 強制離開不儲存 |
| :wq | 儲存后離開 |
| :w [filename] | 將編輯的數據儲存成另一個檔案 |
寫到這里其實我們細看以上命令就會發現它們時有很明顯的規則的,即:
動詞 + 名詞
比如:dw
操作符 + [數字] + 動作 = 操作符+光標移動
比如:d2w(delete 2 word) 意為刪除后面兩個單詞
還有,注意到 f 、F ; p、P 即可歸納為:
1.小寫字母(進行)字符操作,大寫字母(進行)行操作
2.小寫字母光標后操作,大寫字母光標前操作
2 插入模式(Insert mode)
在正常模式下,按下 i, o, a 等字符就可以進入輸入模式了。
在編輯模式當中,你可以發現在左下角狀態欄中會出現 –INSERT- 的字樣,那就是可以輸入任意字符的提示.這個時候,鍵盤上除了 Esc 這個按鍵之外(按下ESC回到正常模式),其他的按鍵都可以視作為一般的輸入按鈕了,所以你可以進行任何的編輯
在插入模式中,可以使用以下按鍵:
| 字符按鍵以及Shift組合 | 輸入字符 |
| ENTER,回車鍵 | 換行 |
| BACK SPACE,退格鍵 | 刪除光標前一個字符 |
| DEL,刪除鍵 | 刪除光標后一個字符 |
| 方向鍵 | 在文本中移動光標 |
| HOME/END | 移動光標到行首/行尾 |
| Page Up/Page Down | 上/下翻頁 |
| Insert,切換光標為輸入/替換模式 | 光標將變成豎線/下劃線 |
| ESC | 退出輸入模式,切換到命令模式 |
最后
安裝了VIM可以在命令行輸入vimtutor開啟vim訓練模式30分鐘就可以學會vim的基本操作。
附上一張 vim 鍵位圖:
VIM進階戳這里:
宏Marco
模式Mode
配置vimrc
vim多窗口
總結
以上是生活随笔為你收集整理的编辑器之神VIM入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 习题11-7 奇数值结点链表 (20 分
- 下一篇: VIM进阶-模式mode