VIM入門

碼頭工人 8年前發布 | 33K 次閱讀 Vim

來自:http://wsztrush.github.io/工具/2015/06/10/VIM.html

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就可以開始使用了,用到下面命令:

  1. :PluginList:打開插件列表
  2. :PluginInstall:安裝插件
  3. :PluginSearch foo:搜索插件,找到之后可以選擇安裝
  4. :PluginClean:清理不用的插件(這個不是太懂)

最后舉個例子,當你想安裝winmanager插件時:

  1. 在.vimrc中添加Plugin 'winmanager'
  2. 打開vim
  3. 執行:PluginList就可以看到winmanager插件
  4. 執行:PluginInstall進行安裝

是不是比以前簡單很多了?沒有插件管理的繁瑣,下面我們正式進入VIM之旅!

基本用法

剛從EditPlus切換到VIM時非常不適應,我只想簡單地編輯文件而已,居然還要去考慮切換不同的模式:

  1. 命令模式
  2. 編輯模式
  3. 可視模式

時間久一點就感覺這樣區分開還是很合理的,在命令模式可以通過一些簡單的命令對文本進行快速的查看、修改,比用鼠標在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中存在一些寄存器用來存放復制、刪除的內容:

  1. ":最近刪除或復制的內容
  2. 0:最近復制的內容
  3. 1、2、、9:最近一次的刪除內容放入1,原先1的內容放入2,以此類推
  4. %:文件名
  5. ::命令
  6. /:查找的字符串

編輯時可以用:reg來查看各寄存器中的內容!為了方便選取文本VIM中引入了可視模式,使用時先移動光標到開始位置,然后用下面命令進入可視模式:

  1. ctrl+v:塊
  2. v:普通
  3. V:行

接著移動光標就可以選中文本并進行操作了!編輯時常用的命令有:

命令 作用
y 復制選中文本,用"ny來復制到第n號寄存器
x 剪切選中文本或者刪除當前字符
d 刪除選中文本
p 粘貼,用"np來粘貼第n號寄存器中的內容
dd 刪除當前行
dw 刪除光標后的一個詞
dl 刪除一個字符
D/C 刪除到行尾
yy/Y 復制一行

過程中可以使用u和ctrl+r來進行undo和redo。

四、宏

在造數據的時候常會遇到一些簡單、機械的操作,這種一般是可以用宏來搞定:

  1. px:開始記錄宏操作,x為小寫字母
  2. 操作
  3. q:將操作記錄到寄存器中
  4. @x:執行寄存器x中的操作
  5. @@:執行最近一次的錄制

同樣可以用:reg來查看寄存器狀態。

五、編輯

需要輸入時通過下面命令進入插入模式:

命令 說明
i/a 光標前/后插入
I/A 在行首/尾插入
o/O 后/前插入一行進行編輯
s/S 刪除一個字符/一行進行編輯
R 替換模式,在畫圖的時候非常好用

多屏操作

寫代碼的時候通過搞幾個文件是常有的事,分幾個屏幕來做非常舒服,開啟分屏方式有:

  1. vim -On file1 file2 ...:垂直分屏打開多個文件
  2. vim -on file1 file2 ...:水平分屏打開多個文件
  3. ctrl+w s:上下分割當前文件
  4. ctrl+w v:水平分割當前文件
  5. :sp filename:上下分割打開新文件
  6. :vsp filename:水平分割打開新文件

需要切換工作屏幕時可以使用命令ctrl+w h/j/k/l/w,其中h/j/k/l是按照方向移動,w是移動到下一個屏幕!當你覺得屏幕的順序有點不爽時可以使用ctrl+w H/J/K/L來移動分屏。另外也可以調整屏幕大小:

  1. ctrl+w =:所有屏幕都一樣的高度
  2. ctrl+w -:降低高度
  3. ctrl+w +:增加高度

在編輯的時候可以在分屏中瀏覽目錄:

  1. :He:上下分屏,在下面(:He!則在上面)瀏覽目錄
  2. :Ve:左右分屏,在左面(:Ve!則在右面)瀏覽目錄

還可以使用:E在當前的屏幕中打開目錄進行瀏覽,可以通過一些命令進行操作:

  1. -:到上級目錄
  2. s:對文件排序
  3. x:執行文件
  4. R:修改文件名稱
  5. D:刪除文件
  6. 回車:進入子目錄

邊看編寫的時候需要在多個屏幕上同步滾動,使用:set scb和:set scb來綁定和解綁(這個功能還是非常好用的)!最后,編輯完成就可以用ctrl+w c或ctrl+w q(如果是最后一個屏幕則退出VIM)來關閉分屏!

總結

掌握了這些,簡單的文本編輯應該問題不大了,后面會陸續針對更細節的東西來單獨寫。

 本文由用戶 碼頭工人 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!