Vim是一個很是好的文本編輯器,不少專業程序員使用Vim編輯代碼,即便之後你不編寫程序,只要跟文本打交道,都應該學學Vim,能夠瀏覽參考一下普通人的編輯利器——Vim這篇文章,看看Vim能夠如何用。css
Vim學習曲線很是陡峭,各類編輯器學習曲線以下圖(有調侃的意思):html
Vim跟五筆打字很相似,不會的時候好象很高大上,感受學起來很難,其實否則。我建議你們經過「作中學」來學習Vim,你會發現Vim學起來至關簡單,掌握三五個命令就能夠用起來了。具體來講經過VimTUTOR甚至玩遊戲(Vim大冒險或PacVim)來學習。前端
玩遊戲去Vim大冒險或PacVim通關就學會了Vim。git
VimTUTOR是個實踐教程,經過實踐30分鐘讓你對Vim編輯器入門,只要在命令行中輸入Vimtutor,而後跟着教程練習就能夠了。以下圖:程序員
而後你能夠把這張圖作計算機的桌面背景,參考《簡明 Vim 練級攻略》天天學習一兩個鍵,一兩週就能夠很好的用Vim了:
github
IT相關的同窗能夠看看程序員專用的Vim鍵盤圖:web
程序員有幾個鍵提示一下:shell
:e filename
進入Vim後,打開其餘文件:n
, :N
先後切換:bn
, :bp
先後循環切換:files
,:buffers
或 :ls
能夠列出目前緩衝區中的全部文件
+
表示緩衝區已經被修改過了的文件#
表明上一次編輯的文件%
是目前正在編輯中的文件:b
文檔名或編號 切換至該文件:spilit
(:sp
), :vspilit
(:vsp
) 切分viewCtrl+w, w
循環view切換Ctrl+w,方向鍵
切換到前/下/上/後一個viewCtrl+w,h/j/k/l
切換到前/下/上/後一個viewCtrl+w,=
讓上下左右view等寬等高Ctrl+w,_
當前view高度擴展到最大Ctrl+w,|
當前view寬度擴展到最大Ctrl+w,c
:關閉當前view:tabnew [++opt選項] [+cmd] file
新tab中打開文件:tabc
關閉當前的tab:tabo
關閉其餘的tab:tabs
查看全部打開的tab:tabn
切換到後一個tab:tabp
切換到前一個tabngt
切換到後n個tabngT
切換到前n個tab剛安裝好的Vim是難看又難用,經過配置和安裝插件,Vim能夠變成神器。編程
~/.Vimrc
是Vim的配置文件,經過.Vimrc文件你能夠控制Vim的外觀、字體、操做方式、快捷鍵、插件屬性等。vim
上面提到幾個設置:
每次打開Vim都這麼設置也是很煩人的,咱們能夠把這幾行寫入~/.Vimrc
,這樣打開Vi時就不用咱們一個一個的設置了。 ~/.Vimrc
中能夠設置
做爲一個老牌編輯器,Vim有近萬個插件。所需即所獲:像 IDE 同樣使用 Vim經過定製,你徹底能夠把Vim打形成IDE:
打造C/++ IDE, c.Vim是一個重要的插件,咱們以c.Vim說明一下Vim插件的下載、安裝、使用、管理的問題。
~/.Vim
目錄是存放全部插件的地方。若是是第一次安裝插件要經過 mkdir ~/.Vim
建立~/.Vim
目錄。經過cd ~/.Vim
進入~/.Vim
目錄。
mkdir src cd src git clone https://github.com/WolfgangMehner/c-support.git cp -r ./c-support/ ..
在配置文件中啓用插件:
Vim ~/.Vimrc filetype plugin on
使用前咱們使用vi ~/.Vim/c-support/templates/Templates
編輯一下模板,主要是Author, Authorref,Email,Organizaiont,Company等:
咱們這時用vi hello.c
來編輯C代碼時,會自動插入文件說明:
咱們使用輸入\im
就能夠生成main函數:
幫助文檔參看~/.Vim/c-support/doc/c-hotkeys.pdf
,經過下面的截圖你能感覺到c.Vim功能的強大:
上面的命令不用死記硬背,經過作中學
在實踐中慢慢的掌握。
咱們也能夠經過在線文檔查找幫助。
若是想安裝其它插件,Vim的官方插件在Vim Scripts,github上有個鏡像Vim Plugins On GitHub。
如上所示,Vim經過在 .Vim 目錄中預約義子目錄管理全部插件,如子目錄 doc存放插件幫助文檔、plugin 存放通用插件腳本,用戶將插件打包文檔中的對應子目錄拷貝至 .Vim/ 目錄便可完成插件的安裝。可是這樣一鍋粥的管理方式會致使一些問題:好比命名衝突,更新、卸載等管理複雜。現代的編輯器如Atom,Sublime Text的插件管理就很是好。
這個問題也有Vim插件來解決,Vim的插件管理有Pathogen,Vundle,Vim-plug這些插件。Vundle應用比較廣,想學的話下面的參考資料中有教程,咱們在這裏使用小巧快速的Vim-plug。
首先咱們下載 plug.Vim 並把它放在 ~/.Vim/autoload
目錄。而後配置~/.Vimrc
,加入一個Vim plug節:
call plug#begin()
開始plug#end()
結束這個節好比,咱們安裝c.Vim:
" 指定插件目錄 (for NeoVim: ~/.local/share/nVim/plugged) call plug#begin('~/.Vim/plugged') " 注意:插件路徑放到單引號中,下面是幾個Vim-plug的命令例子 " github上的插件安裝可使用簡化引用: 好比安裝fetches https://github.com/junegunn/Vim-easy-align " Plug 'junegunn/Vim-easy-align' " 也可使用git URL 安裝 "Plug 'https://github.com/junegunn/Vim-github-dashboard.git' " 用|分隔能夠在一行安裝多個插件 " Plug 'SirVer/ultisnips' | Plug 'honza/Vim-snippets' " 安裝c.Vim Plug 'https://github.com/Vim-scripts/c.Vim.git' " Initialize plugin system call plug#end()
保存~/.Vimrc
,從新打開Vim,使用:PlugInstall
就能夠安裝~/.Vimrc
中列出的插件了:
其餘插件管理的命令以下:
這樣,根據本身的需求就能夠定製具備我的特點的Vim了。
c.Vim 是C/C++程序員使用Vim必裝的插件,咱們上面已經介紹了安裝和使用的方法,經常使用的操做有
Emmet (Zen Coding的新版本) 是一個能大幅度提升前端開發效率的一個工具。
Emmet適用於編寫HTML/XML 和 CSS 代碼的前端開發人員。Emmet爲大部分流行的編輯器都提供了安裝插件,Emmet-Vim是Vim的Emmet插件。
Emmet-Vim的基本用法:先寫簡寫形式,而後用"Ctrl+y+,"將其轉成HTML代碼
例入,先輸入!
或html:5
,而後按"Ctrl+y+,",就會擴展出來:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> </html>
基本規則:
for Vim-markdown
need tabular
Vim有多牛?幾乎全部的現代編輯器,IDE甚至瀏覽器都有Vim模式插件,下面是我使用過的一個不徹底列表。固然這些插件功能和Vim會差不少,但至少都會支持常見的編輯和移動。
set -o vi
,Bash中就能夠像vi同樣進行編輯和移動了Vim for Sublime:選擇Preferences->Settings- Default, 在文本的最下面有一行 "ignored_packages": ["vintage"], ["vintage"]->[].
...
歡迎關注「rocedu」微信公衆號(手機上長按二維碼)
作中教,作中學,實踐中共同進步!
版權聲明:自由轉載-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0
若是你以爲本文對你有幫助,請點一下左下角的「好文要頂」和「收藏該文」