vim是一款相似於vi的功能強大的文本編輯器且對比於傳統的vi編輯器獲得了很大的功能上的提高,在類Unix系統中獲得了普遍的使用。經過簡單的配置,就能夠完成強大的學習。php
若是你的操做系統(類Unix系統)上沒有vim編輯器,請先安裝它!,以ubuntu操做系統爲例:shell
安裝vimubuntu
sudo aptitude install -y vim
使用vim打開文件vim
使用vim打開一個文件編輯器
sudo vim /etc/passwd
精肯定位到要編輯文件的行數學習
sudo vim +18 /etc/passwd
使用vim一次性打開多個文件編碼
sudo vim -O /etc/passwd /etc/group
這樣vim能夠打開兩個文件,光標默認在最左邊的窗口中,能夠直接編輯裏面的內容。使用Ctrl + W 能夠切換到另一個窗口(切換以前須要保存寫入的內容)。spa
配置vim(可在vim配置文件vimrc中寫入)操作系統
顯示行號.net
: set nu
自動縮進
: set ai
語法高亮顯示
: syntax on
VIM 中執行SHELL命令
:! gcc -o hello hello.c
定義快捷鍵
進入vim配置文件
sudo vim /etc/vim/vimrc
在vimrc文件中編輯配置
noremap <F6> :set nu noremap <F7> :set ai noremap <F8> :syntax on
高效配置
filetype on # 啓用文件類型偵測 set encoding=cp936 # 指定當前字符編碼爲 Windows 簡體中文 set tabstop=4 # 設置 Tab 鍵爲4個空格 set mouse=a # 在終端中使用鼠標 set ignorecase # 查找時忽略大小寫 set helplang=cn # 在安裝完中文幫助文檔後設置幫助文檔的語言 help user # 查閱中文手冊 help user_num(範圍:01-32) # num能夠直接定位到章節 help tag # tag爲手冊名稱
我的使用的vim配置
: set nu : set ai : syntax on : filetype on set tabstop=4 set mouse=a set ignorecase
vi有三種基本工做模式:命令模式、文本輸入模式、末行模式。
vi 工做模式
任什麼時候候,無論用戶處於何種模式,只要按一下ESC鍵,便可使Vi進入命令模式;咱們在shell環境(提示符爲$)下輸入啓動Vi命令,進入編輯器時,也是處於該模式下。在該模式下,用戶能夠輸入各類合法的Vi命令,用於管理本身的文檔。此時從鍵盤上輸入的任何字符都被當作編輯命令來解釋,若輸入的字符是合法的Vi命令,則Vi在接受用戶命令以後完成相應的動做。但需注意的是,所輸入的命令並不在屏幕上顯示出來。若輸入的字符不是Vi的合法命令,Vi會響鈴報警。
在命令模式下輸入插入命令i(當前位置插入)、a(當前位置後一位置插入) 、o(下一行插入)能夠進入文本輸入模式。在該模式下,用戶輸入的任何字符都被vi當作文件內容保存起來,並將其顯示在屏幕上。在文本輸入過程當中,若想回到命令模式下,按鍵ESC便可。
在命令模式下,用戶按「:」鍵便可進入末行模式下,此時Vi會在顯示窗口的最後一行(一般也是屏幕的最後一行)顯示一個「:」做爲末行模式的提示符,等待用戶輸入命令。多數文件管理命令都是在此模式下執行的(如把編輯緩衝區的內容寫到文件中等)。末行命令執行完後,Vi自動回到命令模式。 若是要從命令模式轉換到編輯模式,能夠鍵入命令a或者i;若是須要從文本模式返回,則按Esc鍵便可。在命令模式下輸入「:」便可切換到末行模式,而後輸入命令。
命令 | 含義 |
---|---|
i和I | i在光標前插入,I在行首插入 |
a和A | a在光標後插入,A在行末插入 |
o和O | o在光標所在行下一行插入,O在光標所在行上一行插入 |
命令 | 含義 |
---|---|
h | 光標向左移動 |
j | 光標向下移動 |
k | 光標向上移動 |
l | 光標向右移動 |
H、M、L | 光標移動到到可見屏幕第一行(H)、中間行(M)、最後一行(L) |
^和$ | ^移動到行首,$移動到行末 |
G和gg | G文檔最後一行,gg文檔第一行 |
ctrl+f、ctrl+b | 向前翻屏、向後翻屏 |
ctrl+d、ctrl+u | 向前半屛、向後半屛 |
{ 和 } | {向上移動一段,}向後移動一段 |
w和b | 向前移動一個單詞,向後移動一個單詞 |
命令 | 含義 |
---|---|
X和x | x刪除光標後一個字符,X刪除光標前一個字符,包含光標位置字符 |
dd和 n dd | dd刪除所在行,5 dd刪除指定行數 |
d0和D | d0刪除光標前本行全部內容,D刪除光標後本行全部內容,包含光標位置字符 |
dw | 刪除光標所在位置的字,包含光表所在位置字符 |
命令 | 含義 |
---|---|
u | 一步一步撤銷 |
ctrl + r | 反撤銷 |
命令 | 含義 |
---|---|
. | 重複執行上一次操做的命令 |
命令 | 含義 |
---|---|
yy | 和 n yy 和y$ y^ yy複製當前行,5 yy複製5行 |
p | 在光標所在位置向下新開一行粘貼 |
命令 | 含義 |
---|---|
v 和 V | v選擇單個字符,V選擇整行 |
<<和>> | 選擇文本以後,向左縮進,向右縮進 |
命令 | 含義 |
---|---|
命令模式下,r和R | r替換當前字符,R替換光標後的字符 |
末行模式下,/ + str | n查找下一個,N查找前一個 |
末行模式下,%s/abc/123/g | 將文件中全部abc替換爲123 |
末行模式下,1, 10s/abc/123/g | 將第一行至第10行之間的abc替換成123 |
隨時可查閱的 VIM 手冊
http://soruceforge.net/projects/vimdoc/files/vimcdoc/vimcdoc-1.9.0.tar.gz/download
使用vim插件
vim插件官網:https://www.vim.org/scripts/script.php?script_id=273
插件通常安裝步驟(以TagList插件爲例):
解壓縮包
sudo unzip taglist_46.zip
將xxx.vim複製到/etc/vim/plugin目錄下
cd plugin sudo cp -rf taglist.vim /etc/vim/plugin
重啓VIM後輸入以下命令
:Tlist