- 基本存活操作,在normal模式下面的基本操作
i #進(jìn)入插入模式
:wq #保存 + 推出
yy #復(fù)制
p #粘貼
dd #剪切 #對(duì)于yy,p,dd前面可以加上一個(gè)數(shù)字 ,比如3yy表示復(fù)制三行
-
熟悉了基本的操作,就可以在沒(méi)有圖形界面的終端上面活下來(lái)了。下面就是進(jìn)階的幾個(gè)操作。(normal模式下的操作)
2.1 移動(dòng)光標(biāo): 行號(hào) #跳轉(zhuǎn)到某一行 :0 #跳轉(zhuǎn)到第0行 #補(bǔ)充gg 也是跳轉(zhuǎn)到第一行 :$ #跳轉(zhuǎn)到最后一行 #補(bǔ)充G也是跳轉(zhuǎn)到最后一行 /pattern #搜索的pattern的字符串 (如果找到多個(gè) 按n可以跳到下一個(gè))2.2 撤銷(xiāo)
u #undo ctrl + r #redo2.3 打開(kāi)/保存/退出
:w #保存 :wq #保存并退出 :e <path/file> #打開(kāi)一個(gè)文件 :saveas <path/file> #另存為 -
更高,更快,更強(qiáng)
3.1 更加有效的移動(dòng)光標(biāo)gg #光標(biāo)移動(dòng)到第一行 G #光標(biāo)移動(dòng)到最后一行 w #移動(dòng)到下一個(gè)字符的起點(diǎn) e #移動(dòng)到下一個(gè)單詞的結(jié)尾3.2 快操作
ctrl + v #開(kāi)始?jí)K操作 向上/下 移動(dòng)光標(biāo) # I <插入的內(nèi)容> <ESC> #按ESC鍵來(lái)為每一行生效這個(gè)地方在插入內(nèi)容之后,需要按兩次esc。
刪除
ctrl + v d3.3 分屏
vsp # ctrl + w #切換分屏
粘貼代碼的時(shí)候,有注釋的時(shí)候,會(huì)出現(xiàn)縮進(jìn)錯(cuò)誤
解決方法:
set paste # 進(jìn)入insert(paste)的模式
- 插件
推薦一個(gè)vim插件 vimplus , https://github.com/zhaozhengcoder/vimplus
vim插件的使用
vim 加上插件之后,簡(jiǎn)直太神奇了,感覺(jué)生產(chǎn)力爆表 !
我選擇使用vundle 插件管理器 來(lái)管理vim的插件,然后使用了nerdtree 和 一些顏色,編碼,縮進(jìn),括號(hào)匹配的配置。
- 安裝vundle
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
1.1 下載一個(gè)主題(默認(rèn)主題換成 molokai 主題)
curl -sL https://raw.github.com/tomasr/molokai/master/colors/molokai.vim > molokai.vim
為了不與默認(rèn)的 vim 配置搞混亂,
我建議在家目錄下創(chuàng)建 .vim 配置文件目錄,僅對(duì)當(dāng)前用戶生效:
mkdir -p ~/.vim/colors/ && mv molokai.vim ~/.vim/colors/
然后創(chuàng)建 ~/.vim/vimrc 配置文件,啟用 molokai 主題:
vim ~/.vim/vimrc,添加或修改colo molokai即可生效
- 然后創(chuàng)建一個(gè) ~/.vimrc 的文件,添加自己需要的插件和配置
set nocompatible " 關(guān)閉兼容模式 filetype off " 關(guān)閉對(duì)文件類(lèi)型的自動(dòng)檢測(cè)
set rtp+=~/.vim/bundle/Vundle.vim " 加入運(yùn)行時(shí)路徑
call vundle#begin() " 初始化
" 插件列表開(kāi)始
Plugin 'VundleVim/Vundle.vim'
Plugin 'scrooloose/nerdtree'
Plugin 'jistr/vim-nerdtree-tabs' " NERDTree 共享插件
Plugin 'kien/ctrlp.vim' " 文件快速搜索插件
Plugin 'taglist.vim' " ctags + taglist 插件
" 插件列表結(jié)束
call vundle#end() " 完成
filetype plugin indent on " 打開(kāi)文件類(lèi)型檢測(cè)
" 256-color
set t_Co=256
" molokai 主題
colo molokai
" 設(shè)置字符編碼 UTF-8
set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
" 代碼設(shè)置
syntax enable " 啟用語(yǔ)法高亮
syntax on " 打開(kāi)語(yǔ)法高亮
set showmatch " 自動(dòng)匹配括號(hào)
" set cursorcolumn " 顯示光標(biāo)所在列
set cursorline " 顯示光標(biāo)所在行
set guicursor+=a:blinkon0 " 設(shè)置光標(biāo)不閃爍
set showcmd " 顯示當(dāng)前執(zhí)行的命令
" 四格縮進(jìn)
set expandtab
set shiftwidth=4
set tabstop=4
set softtabstop=4
"set nu " 啟用行號(hào)顯示
"set autoindent " 啟用自動(dòng)對(duì)齊
"set smartindent " 啟用智能對(duì)齊
set hlsearch " 啟用高亮查找
set incsearch " 啟用增量查找
" NERDTree 的使用 ,F(xiàn)2彈出目錄
map <F2> :NERDTreeToggle<CR>
- 配置完成后打開(kāi)VIM就可以開(kāi)始使用了,用到下面命令:
:PluginList:打開(kāi)插件列表
:PluginInstall:安裝插件
:PluginSearch foo:搜索插件,找到之后可以選擇安裝
:PluginClean:清理不用的插件(這個(gè)不是太懂)
- 最后舉個(gè)例子,當(dāng)你想安裝winmanager插件時(shí):
1. 在.vimrc中添加Plugin 'winmanager'
2. 打開(kāi)vim
3. 執(zhí)行:PluginList就可以看到winmanager插件
4. 執(zhí)行:PluginInstall進(jìn)行安裝
- 如何使用NERDTree
ctrl + w + h 光標(biāo) focus 左側(cè)樹(shù)形目錄
ctrl + w + l 光標(biāo) focus 右側(cè)文件顯示窗口
ctrl + w + w 光標(biāo)自動(dòng)在左右側(cè)窗口切換
ctrl + w + r 移動(dòng)當(dāng)前窗口的布局位置
更多 : http://yang3wei.github.io/blog/2013/01/29/nerdtree-kuai-jie-jian-ji-lu/

補(bǔ)充:
- YouCompleteMe 插件(一個(gè)自動(dòng)補(bǔ)全的插件)安裝
YouCompleteMe 是一個(gè)可以自動(dòng)補(bǔ)全的插件,這個(gè)自動(dòng)補(bǔ)全的功能對(duì)開(kāi)發(fā)來(lái)說(shuō)非常非常的重要。

安裝過(guò)程如下:
- vim的版本是要在7.3以上的(vim現(xiàn)在已經(jīng)是vim 8 了)。首先第一步就是查看版本 or 升級(jí)vim。
查看版本
dpkg -s vim | grep 'Version'
or
vim --verison
升級(jí)
sudo add-apt-repository ppa:fcwu-tw/ppa
sudo apt-get update
sudo apt-get install vim
- 安裝需要的依賴
sudo apt-get install libncurses5-dev libgnome2-dev
libgnomeui-dev libgtk2.0-dev libatk1.0-dev
libbonoboui2-dev libcairo2-dev libx11-dev
libxpm-dev libxt-dev python-dev ruby-dev mercurial cmake
- 通過(guò)Vundle安裝它在~/.vimrc文件中,在call vundle#begin()和call vundle#end()之間,添加這行Plugin 'Valloric/YouCompleteMe'.

在Vim中輸入: PluginInstall命令來(lái)安裝此插件.(這個(gè)插件的安裝,可能會(huì)比較慢,請(qǐng)耐心等待.)
- 然后,我們需要執(zhí)行下面的這兩條命令,使其真正可用:
cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-completer
- 報(bào)錯(cuò)
在本地的服務(wù)器上面安裝好了,但是在服務(wù)器(ubuntu 14)上面裝的時(shí)候,就處理問(wèn)題。
YouCompleteMe unavailable: requires Vim compiled with Python 2.x support
參考了這個(gè)的解決辦法:
https://github.com/Valloric/YouCompleteMe/issues/1866
解決辦法:
sudo apt-get install vim-nox
tips
- 關(guān)閉vim的嗶嗶的提示音
:set noeb
這個(gè)在我的vim上面沒(méi)有用,如果是gvim的話,需要這樣
:set vb t_vb=
- nerdtree使用
這樣打開(kāi)vim后,只要按鍵盤(pán)上的F10就可以顯示和隱藏NERDTree的文件瀏覽了。
" NERDTree
map <F10> :NERDTreeToggle<CR>
參考:
vim插件 :
https://www.zfl9.com/vim.html
https://wsztrush.github.io/工具/2015/06/10/VIM.html
youcompleteme 參考教程 : http://www.itdecent.cn/p/75172a88355f
https://github.com/zhaozhengcoder/learn-vim
https://coolshell.cn/articles/5426.html
nerdtree 教程 : https://my.oschina.net/coolfire368/blog/176807