2021-05-12 14:32:11
Vim入門教學
剛工作時搞過一段時間的VIM和EMACS,不過作為一個Java程式猿,用VIM來寫JAVA程式碼還是不大現實(現在用IDEA),後面也就不了了之。最近在寫前端程式碼和寫部落格時感覺VIM還是不錯的,於是決定再把VIM拾起來。
裸的VIM並不是太好用,需要安裝需要的外掛,之前的玩法是下載對應的壓縮包並修改設定,這個過程極其考驗耐心和人品!
使用vundle管理外掛
vundle讓你不需要在糾結到哪裡去找外掛和設定,所有的外掛都以相似的方式進行管理,很大程度上降低了使用成本!
外掛存放的路徑為~/.vim/bundle/,目錄建好後下載vundle:
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
以後設定都可以在~/.vimrc裡面完成:
set nocompatible " 關閉相容模式 filetype off "關閉對檔案型別的自動檢測set rtp+=~/.vim/bundle/Vundle.vim " 加入執行時路徑 call vundle#begin() "初始化" 外掛列表開始 Plugin 'VundleVim/Vundle.vim' "外掛列表結束 call vundle#end() " 完成 filetype plugin indent on " 開啟檔案型別檢測
常用的外掛來源設定有:
來源 | 說明 |
---|---|
github.com | github上託管的外掛(Plugin ‘tpope/vim-fugitive’) |
vim-scripts.org/vim/scripts.html | 在該站維護的外掛(Plugin ‘L9’) |
設定完成後開啟VIM就可以開始使用了,用到下面命令:
- :PluginList:開啟外掛列表
- :PluginInstall:安裝外掛
- :PluginSearch foo:搜尋外掛,找到之後可以選擇安裝
- :PluginClean:清理不用的外掛(這個不是太懂)
最後舉個例子,當你想安裝winmanager外掛時:
- 在.vimrc中新增
Plugin 'winmanager'
- 開啟vim
- 執行
:PluginList
就可以看到winmanager外掛 - 執行
:PluginInstall
進行安裝
是不是比以前簡單很多了?沒有外掛管理的繁瑣,下面我們正式進入VIM之旅!
基本用法
剛從EditPlus切換到VIM時非常不適應,我只想簡單地編輯檔案而已,居然還要去考慮切換不同的模式:
- 命令模式
- 編輯模式
- 可視模式
時間久一點就感覺這樣區分開還是很合理的,在命令模式可以通過一些簡單的命令對文字進行快速的檢視、修改,比用滑鼠在EditPlus裡面操作會更有效率。該模式用到的命令非常多,下面分類來看!
一、移動游標
可以在各個維度上進行隨意地跳轉:
命令 | 作用 |
---|---|
h/j/k/l | 向上/向下/向上/向右移動 |
ctrl+f/b | 向上/向下翻頁 |
ctrl+d/u | 向上/向下翻半頁 |
$/0/^ | 行尾/行首/首字元 |
(/) | 上一句/下一句 |
w/b | 下一個詞/上一個詞 |
gg/G | 文件開始/文件結束 |
% | 括號對應的匹配處 |
ngg/nG/:n | 到第n行 |
H/M/L | 螢幕頂部/中間/底部 |
*/# | 當前字元下一次/上一次出現的位置 |
二、查詢替換
命令 | 作用 |
---|---|
:s/s1/s2 | 下一個s1替換為s2 |
:%s/s1/s2 | s1全部替換為s2 |
:s/s1/s2/g | 當前行的s1替換為s2 |
:n1,n2 s/s1/s2/g | 從n1到n2行的s1替換為s2 |
/xxxx | 查詢xxxx,找到以後按n向下繼續查詢、N則向上繼續查詢 |
mx | 插入書籤(x為小寫字母),以後可以用`x跳轉到該書籤處 |
`. | 上次編輯的位置 |
三、複製、剪下、貼上、刪除
在VIM中存在一些暫存器用來存放複製、刪除的內容:
"
:最近刪除或複製的內容0
:最近複製的內容1、2、、9
:最近一次的刪除內容放入1,原先1的內容放入2,以此類推%
:檔名:
:命令/
:查詢的字串
編輯時可以用:reg來檢視各暫存器中的內容!為了方便選取文字VIM中引入了可視模式,使用時先移動游標到開始位置,然後用下面命令進入可視模式:
ctrl+v
:塊v
:普通V
:行
接著移動游標就可以選中文字並進行操作了!編輯時常用的命令有:
命令 | 作用 |
---|---|
y | 複製選中文字,用"ny 來複製到第n號暫存器 |
x | 剪下選中文字或者刪除當前字元 |
d | 刪除選中文字 |
p | 貼上,用"np 來貼上第n號暫存器中的內容 |
dd | 刪除當前行 |
dw | 刪除游標後的一個詞 |
dl | 刪除一個字元 |
D/C | 刪除到行尾 |
yy/Y | 複製一行 |
過程中可以使用u
和ctrl+r
來進行undo和redo。
四、宏
在造資料的時候常會遇到一些簡單、機械的操作,這種一般是可以用宏來搞定:
px
:開始記錄宏操作,x為小寫字母- 操作
q
:將操作記錄到暫存器中@x
:執行暫存器x中的操作@@
:執行最近一次的錄製
同樣可以用:reg來檢視暫存器狀態。
五、編輯
需要輸入時通過下面命令進入插入模式:
命令 | 說明 |
---|---|
i/a | 游標前/後插入 |
I/A | 在行首/尾插入 |
o/O | 後/前插入一行進行編輯 |
s/S | 刪除一個字元/一行進行編輯 |
R | 替換模式,在畫圖的時候非常好用 |
多屏操作
寫程式碼的時候通過搞幾個檔案是常有的事,分幾個螢幕來做非常舒服,開啟分屏方式有:
vim -On file1 file2 ...
:垂直分屏開啟多個檔案vim -on file1 file2 ...
:水平分屏開啟多個檔案ctrl+w s
:上下分割當前檔案ctrl+w v
:水平分割當前檔案:sp filename
:上下分割開啟新檔案:vsp filename
:水平分割開啟新檔案
需要切換工作螢幕時可以使用命令ctrl+w h/j/k/l/w,其中h/j/k/l是按照方向移動,w是移動到下一個螢幕!當你覺得螢幕的順序有點不爽時可以使用ctrl+w H/J/K/L來移動分屏。另外也可以調整螢幕大小:
ctrl+w =
:所有螢幕都一樣的高度ctrl+w -
:降低高度ctrl+w +
:增加高度
在編輯的時候可以在分屏中瀏覽目錄:
:He
:上下分屏,在下面(:He!
則在上面)瀏覽目錄:Ve
:左右分屏,在左面(:Ve!
則在右面)瀏覽目錄
還可以使用:E在當前的螢幕中開啟目錄進行瀏覽,可以通過一些命令進行操作:
-
:到上級目錄s
:對檔案排序x
:執行檔案R
:修改檔名稱D
:刪除檔案回車
:進入子目錄
邊看編寫的時候需要在多個螢幕上同步捲動,使用:set scb
和:set scb
來系結和解綁(這個功能還是非常好用的)!最後,編輯完成就可以用ctrl+w c
或ctrl+w q
(如果是最後一個螢幕則退出VIM)來關閉分屏!
總結
掌握了這些,簡單的文字編輯應該問題不大了,後面會陸續針對更細節的東西來單獨寫。
更多Vim相關教學見以下內容:
把VIM打造成一個簡單實用的IDE http://www.linuxidc.com/Linux/2011-06/37032.htm
Vim學習指南 http://www.linuxidc.com/Linux/2013-08/89096.htm
快速學會 Vi編輯器 http://www.linuxidc.com/Linux/2013-08/88586.htm
強大的Vim 編輯器 http://www.linuxidc.com/Linux/2013-07/87544.htm
在CentOS 6.2上搭建Vim開發環境 http://www.linuxidc.com/Linux/2013-07/87363.htm
CentOS 5.4 安裝高亮Vim編輯工具 http://www.linuxidc.com/Linux/2013-06/86508.htm
Vim技巧分享:C語言設定 http://www.linuxidc.com/Linux/2012-12/77124.htm
Ubuntu中設定Vim的行號 http://www.linuxidc.com/Linux/2012-12/75485.htm
Vim編輯器使用基礎教學 http://www.linuxidc.com/Linux/2013-05/84031.htm
本文永久更新連結地址:http://www.linuxidc.com/Linux/2016-01/127527.htm
相關文章