關於 vim 與 vim plugin 那些事
最近工作上,因為公司有買 source insight
拿到第一個反應是:能不能把編輯模式改成 vim XDD
因此用 google 查 vim source insight
結果很少文章是怎麼把 source insight 加入 vim mode
反而找到很多 怎麼把 vim 變得很 source insight XDD
果然很 vimer
加上這次要裝的套件有點多
所以找了一個 vim plugin 的管理套件來用
下面會講一下 vim 這個編輯器的一些操作與 plugin 的功用
最後會講一些非常方便的功能
首先講一下 vim 這個編輯器
vim 是一個對初學者非常不友善的編輯器 Orz
還有人P了這張圖片XDDD
但上手後會覺得這東西怎麼那麼方便XDD
傳說中vim的學習曲線是這樣(就是你吃過屎後吃難吃的就沒什麼了)
一開始 vim 有分幾個 mode
這邊是用來輸入命令的
有許多方便的指令可以幫助你快速達成目的
例如 shift + v 可以選取一整行 d 可以把選取的刪除
而要輸入文字要按下 i 代表 insert 進入 insert mode
insert 就是你打什麼就輸入什麼
它還可以輸入 ctrl z 這種東西喔
insert mode 按下 esc 會回到 Command Mode
而 Command 中預設的指令其實不一定夠用
因此按下 : 進入 Last Command Mode
這個模式下面就像終端機一個可以輸入一條一條的指令
例如 wq 就是 write and quit 儲存並離開
或是也可以輸入 ! 之後面加上終端機命令 就可以執行終端機的命令
不過很多人常常被困在這裡XDD
下圖是 vim 初學者常見畫面
我一開使用的時候是把這張圖放在桌面 沒事就看一下,出不去就看一下
而這張其實只有包括常用的而已
再來就是 vim 的插件了
一般安裝插件的方法就是把插件的東西複製到 ~/.vim 下面並把檔案放到指定位置就可以了
但當套件一多就會變得很麻煩
因此有各種套件管理器來幫助我們
今天介紹的是vim-plug這個管理器
安裝方法很簡單
下面節錄github上的其中一種方式
如此一來在下次執行vim的時候就會自動幫你安裝好了
而要安裝的plugin就在plug#begin 跟 plug#end中間加上
Plug "{github}"
之後重開vim 在 last command mode打上PlugInstall就可以安裝好插件了
這個管理器的好處是可以註解說在需要的時候才載入不同plugin
下面分享我的 vimrc
目前一共安裝了7個plugin
實際使用起來效果如下圖

左邊視窗是taglist 能夠顯現出這個檔案中有被ctags紀錄的tag
右邊是nerdtree,可以顯示出開過或目錄下的檔案
下面是srcExpl,可以顯現目前cursor指到的函式或變數所在地的幾行程式
而Trinity是整合這三個功能的插件
另外可以看到主視窗下面有一條炫泡的狀態列可以顯示一些資訊的是airline airline-theme
最後是當文件有變動與修改後在最左邊顯示+與~表示有更動(這是抓git的)是gitgutter
上面這些工具能讓我們用vim快速的瀏覽程式
接下來介紹一些好用的vim指令
當然這都是在 command mode下面
首先先寄幾個單字 (d)elete (c)hange (p)ut (u)ndo (r)edo cop(y)
d 就是刪除目前選取目標(其實是拿到buffer)
c 就是改變選取目標
p 就是把buffer的東西放到
c 就是改變,會把目前東西放到buffer並進入insert mode
u 會回覆上一動作
ctrl + r 會作redo
y 會複製選取目標進入buffer
. 會重複之前的命令(command)
最方便的來了 這些指令可以結合或透過一些連接詞結合
舉個例子
我今天想要把這個單字改掉輸入別的字
可以在單字上進入命令模式輸入 (c)hange (i)n (w)ord ==>ciw
這樣會將整個單字放到buffer並進入insert模式
又例如我想把""雙引號的東西刪除
可以輸入 (d)elete (i)n (")" di"
就可以把雙引號裡面的東西刪除
如果不只一個雙引號的東西要刪除的話
可以把游標移到令一個雙引號裡面按下. 重複上一個命令
可以同樣把雙音耗中的刪除
非常方便吧
其實還有很多我不知道的應用
這幾個是我常用的功能
希望大家可以一起來用vim XDDDDD
拿到第一個反應是:能不能把編輯模式改成 vim XDD
因此用 google 查 vim source insight
結果很少文章是怎麼把 source insight 加入 vim mode
反而找到很多 怎麼把 vim 變得很 source insight XDD
果然很 vimer
加上這次要裝的套件有點多
所以找了一個 vim plugin 的管理套件來用
下面會講一下 vim 這個編輯器的一些操作與 plugin 的功用
最後會講一些非常方便的功能
首先講一下 vim 這個編輯器
vim 是一個對初學者非常不友善的編輯器 Orz
還有人P了這張圖片XDDD
但上手後會覺得這東西怎麼那麼方便XDD
傳說中vim的學習曲線是這樣(
一開始 vim 有分幾個 mode
- INSERT Mode
- Command Mode
- Last Command Mode
這邊是用來輸入命令的
有許多方便的指令可以幫助你快速達成目的
例如 shift + v 可以選取一整行 d 可以把選取的刪除
而要輸入文字要按下 i 代表 insert 進入 insert mode
insert 就是你打什麼就輸入什麼
它還可以輸入 ctrl z 這種東西喔
insert mode 按下 esc 會回到 Command Mode
而 Command 中預設的指令其實不一定夠用
因此按下 : 進入 Last Command Mode
這個模式下面就像終端機一個可以輸入一條一條的指令
例如 wq 就是 write and quit 儲存並離開
或是也可以輸入 ! 之後面加上終端機命令 就可以執行終端機的命令
不過很多人常常被困在這裡XDD
下圖是 vim 初學者常見畫面
我一開使用的時候是把這張圖放在桌面 沒事就看一下,出不去就看一下
而這張其實只有包括常用的而已
再來就是 vim 的插件了
一般安裝插件的方法就是把插件的東西複製到 ~/.vim 下面並把檔案放到指定位置就可以了
但當套件一多就會變得很麻煩
因此有各種套件管理器來幫助我們
今天介紹的是vim-plug這個管理器
安裝方法很簡單
下面節錄github上的其中一種方式
如此一來在下次執行vim的時候就會自動幫你安裝好了
而要安裝的plugin就在plug#begin 跟 plug#end中間加上
Plug "{github}"
之後重開vim 在 last command mode打上PlugInstall就可以安裝好插件了
這個管理器的好處是可以註解說在需要的時候才載入不同plugin
下面分享我的 vimrc
目前一共安裝了7個plugin
實際使用起來效果如下圖
左邊視窗是taglist 能夠顯現出這個檔案中有被ctags紀錄的tag
右邊是nerdtree,可以顯示出開過或目錄下的檔案
下面是srcExpl,可以顯現目前cursor指到的函式或變數所在地的幾行程式
而Trinity是整合這三個功能的插件
另外可以看到主視窗下面有一條炫泡的狀態列可以顯示一些資訊的是airline airline-theme
最後是當文件有變動與修改後在最左邊顯示+與~表示有更動(這是抓git的)是gitgutter
上面這些工具能讓我們用vim快速的瀏覽程式
接下來介紹一些好用的vim指令
當然這都是在 command mode下面
首先先寄幾個單字 (d)elete (c)hange (p)ut (u)ndo (r)edo cop(y)
d 就是刪除目前選取目標(其實是拿到buffer)
c 就是改變選取目標
p 就是把buffer的東西放到
c 就是改變,會把目前東西放到buffer並進入insert mode
u 會回覆上一動作
ctrl + r 會作redo
y 會複製選取目標進入buffer
. 會重複之前的命令(command)
最方便的來了 這些指令可以結合或透過一些連接詞結合
舉個例子
我今天想要把這個單字改掉輸入別的字
可以在單字上進入命令模式輸入 (c)hange (i)n (w)ord ==>ciw
這樣會將整個單字放到buffer並進入insert模式
又例如我想把""雙引號的東西刪除
可以輸入 (d)elete (i)n (")" di"
就可以把雙引號裡面的東西刪除
如果不只一個雙引號的東西要刪除的話
可以把游標移到令一個雙引號裡面按下. 重複上一個命令
可以同樣把雙音耗中的刪除
非常方便吧
其實還有很多我不知道的應用
這幾個是我常用的功能
希望大家可以一起來用vim XDDDDD


留言
張貼留言