1. 程式人生 > >vi/vim 配置檔案、快捷鍵及外掛使用

vi/vim 配置檔案、快捷鍵及外掛使用

一、vi/vim 配置檔案

系統的vim配置檔案為/etc/vimrc檔案,使用者級別的配置檔案在~/.vimrc檔案中,如果沒有.vimrc檔案,則先建立.vimrc檔案

touch ~/.vimrc

vimrc部分常用配置如下:

set sw=4 "自動縮排時,縮排尺寸為4個空格
set ts=4 "tab寬度為4個字元
set et "編輯時將所有tab替換為空格
set smarttab "刪除時,一個刪除鍵刪除4個空格
set selection=inclusive "指定在選擇文字時,游標所在位置也屬於被選中範圍
set autoindent "設定自動縮排

set number
"顯示行號 set ru "顯示vim狀態列,顯示行號、列號 set hls "搜尋時高亮顯示被找到的文字 set encoding=utf-8 "設定當前字元編碼為UTF-8 set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1 "如果檔案編碼與vim編碼不一致,按順序嘗試解碼,如果成功則將fileencoding設定為這個值,在檔案儲存/開啟時,自動對檔案編解碼轉換 syntax on "開啟關鍵字上色 filetype plugin indent on "啟動檔案型別自動識別、檔案型別相關外掛、按檔案型別的自動縮排

二、vi/vim 常用快捷鍵

vi有三種模式:插入模式、命令模式、底行模式

  • 插入模式:可插入字元,esc退出
  • 命令模式:可進行移動游標,刪除字元,複製字元等操作
  • 底行模式:顧名思義,可在末行進行文字匹配、跳轉、文字替換等操作
快捷鍵 功能
:n 跳轉到第n行
:x 儲存並退出
:wq 儲存並退出
:w 儲存
:q 退出編輯器
:q! 退出編輯器,不儲存
ctrl + r 恢復上一步被撤銷的操作
shift + 方向鍵 按指定方向跳一個單詞
a 在游標右側新增文字
i 在游標左側新增文字
A 在行末新增文字
I 在行首新增文字
O 在當前行上新增新行
o 在當前行下新增新行
R 替換編輯游標及後面的文字
J 合併當前行及下一行為一行
h,j,k,l 左、下、上、右
空格,backspace,enter,- 右、左、下一行行首、上一行行首
/xxx 向下搜尋字串xxx
?xxx 向上搜尋字串xxx
n 向下搜尋前一個搜尋動作
N 向上搜尋前一個搜尋動作
x 刪除當前字元
nx 刪除游標開始的n字元
dd 刪除行
ndd 向下刪除當前行在內的n行
u 撤銷上一步操作
U 撤銷當前行的所有操作
n+ 向下跳n行
n- 向上跳n行
nG 跳轉到行號為n的行
G 跳轉到檔案底
:set number 顯示行號
:set nonumber 不顯示行號
yy 複製當前行到快取區
nyy 複製當前行及向下n行到快取區
yw 複製游標開始到詞尾的字元
nyw 複製游標開始的n個單詞
y^ 複製游標到行首的內容
y$ 複製游標到行尾的內容
p 在游標後貼上快取區的內容
P 在游標前貼上快取區的內容
:s/old/new 用new替換當前行中首次出現的old
:s/old/new/g 用new替換當前行中所有的old
:n,m s/old/new/g 用new替換n到m行中所有的old
:%s/old/new/g 用new替換當前檔案中所有的old
:filetype 檢視vim檔案型別檢測功能是否開啟
:set filetype=java 將當前檔案型別設定為java,將會按照java檔案進行文字高亮
ctrl + n/p 程式碼補全[插入模式]

三、vi/vim外掛使用(vundle外掛管理)

下文以檔案樹外掛nerdtree的安裝為例。如果沒有.vim資料夾,則首先建立該資料夾

mkdir -p ~/.vim/bundle

安裝Vundle,使用Vundle作外掛管理,github地址

git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim

編輯~/.vimrc檔案,加入如下片段:

...
set nocompatible              " be iMproved, required
filetype off                  " required

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

Bundle 'scrooloose/nerdtree' "檔案目錄外掛

"可在此處新增其他外掛

call vundle#end()            " required
filetype plugin indent on    " required
...

儲存並退出,控制檯進入vim,執行:PluginInstall 安裝外掛,安裝完成後會有Done! 狀態提示

這裡寫圖片描述

安裝成功後在vim中執行:NERDTree

這裡寫圖片描述

NERDTree的基本操作如下:

快捷鍵 功能
o 展開
ctrl + w 兩次執行切換視窗
? 檢視幫助

外掛使用其他常用命令如下:

命令 功能
:BundleList 檢視外掛列表
:BundleClean 清除外掛
:BundleUpdate 更新外掛
:BundleSearch xx 搜尋外掛xx