VIM基本介紹


1.VIM基本介紹:

什么是vim?

Vim 是從 vi 發展出來的一個文本編輯器。代碼補全、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被廣泛使用。vi 內置在Linux系統中,是vim的簡化版編輯器,vim則需要進行安裝使用

vim鍵盤圖:

vim的安裝命令:

	yum install -y vim

2.vim模式介紹:

基本上 vi/vim 共分為三種模式,分別是命令模式(Command mode)輸入模式(Insert mode)底線命令模式(Last line mode)。 這三種模式的作用分別是:

命令模式:

Vim 啟動后,默認進入命令模式,在任何模式下,都可以按 Esc 鍵返回到命令模式,可以多按幾次 Esc 鍵,保證順利返回到命令模式。

在此模式下,可以使用上、下、左、右鍵進行光標移動,也可以鍵入不同的命令完成選擇、復制、粘貼、刪除等操作。

命令光標跳轉:

G (shift + g)       跳轉光標至末尾
gg                  跳轉光標至開頭
Ngg                 跳轉光標至當前文件內的N行(N為數字)
$                   將當前光標跳轉至光標所在行的末端(尾部)
^|0                 將當前光標跳轉至光標所在行的頭部  —> 數字0 可實現類似效果

復制粘貼:

yy                復制當前光標所在的行
Nyy|yNy           復制當前光標以及光標向下N行(N為數字)
p(小寫)            粘貼至當前光標下一行   
P(大寫)            粘貼至當前光標上一行

刪除剪切

dd              刪除當前光標所在的行   
Ndd|dNd         刪除當前光標所在的行以及往下的N行(N為數字)
dG              刪除當前光標以后的所有行
D               刪除當前光標及光標以后的內容  
x               刪除當前光標標記往后的字符
X               刪除當前光標標記往前的字符
ddp             先刪除dd(number dd),后粘貼p

撤銷替換回滾

u           撤銷上一次的操作(類似windows下的ctrl+z) 
r           替換當前光標標記的單個字符
R           進入REPLACE模式, 連續替換,ESC結束
Ctrl+r      當你執行了撤銷u的時候,發現撤銷錯了,回滾

編輯模式

在編輯模式下可以編輯文本內容。在命令模式下按 i、 a 、o等鍵可以進入編輯模式,在此模式下可以輸入文本,但命令執行后的字符插入位置不同

i   進入編輯模式,光標不做任何操作
I   進入編輯模式,並且光標會跳轉至本行的頭部
 
a   進入編輯模式,將當前光標往后一位
A   進入編輯模式,將光標移動至本行的尾部
 
o   進入編輯模式,並在當前光標下添加一行空白內容
O   進入編輯模式,並在當前光標上添加一行空白內容
 
s   進入編輯模式,並刪除當前光標下的字符
S   進入編輯模式,並刪除當前光標所在行

底行模式

命令模式下按:鍵進入底行模式。這時光標會移到屏幕底部,在這里可以輸入相關指令保存修改或退出 Vim,也可以設置編輯環境、尋找字符串、列出行號等。指令執行后會自動返回命令模式。

:w          //保存當前狀態
:w!         //強制保存當前狀態
:q          //退出當前文檔(文檔必須保存才能退出)
:q!         //強制退出文檔不會修改當前內容
:wq         //先保存,在退出
:wq!        //強制保存並退出
:x          //先保存,在退出
ZZ          //保存退出, shfit+zz
:number     //跳轉至對應的行號,和普通模式Ngg一個意思

低行模式(查找和替換)

查找  /string 需要搜索的內容(查找)
        n 按搜索到的內容依次往下進行查找
        N 按搜索到的內容依次往上進行查找
替換
    :1,5s#sbin#test#g          替換1-5行中包含sbin的內容為test
    :%s#sbin#test#g            替換整個文本文件中包含sbin的替換為test
    :%s#sbin#test#gc           替換內容時時提示是否需要替換
    %表示所有行   s表示替換   g表示所有匹配到的內容     c表示提示
    
    替換為 w (y/n/a/q/l/^E/^Y)?
    y:替換一次
    n:選中下一個
    a:全部替換
    q:退出
    l:替換一次並退出詢問
 
另存
:w /root/test  將文件所有內容另存為/root/test
    
讀入
:r  /etc/hosts  讀入/etc/hosts文件至當前光標下面
:5r /etc/hosts  指定/etc/hosts文件當前文件的哪行下面

vim視圖模式

視圖模式,是屬於命令模式之下的一種模式

ctrl+v  進入VISUAL BLOCK 選中需要注釋的行(可視塊模式)
    1.插入:按shift+i進入編輯模式,輸入#,結束按ESC鍵
    2.刪除:選中內容后,按x或者d鍵刪除
    3.替換:選中需要替換的內容, 按下r鍵,然后輸入替換后的內容
  
  # 2.批量修改文件(添加注釋)
  1)按Ctrl + v進入可視塊視圖模式
  2)移動光標-1.按下鍵-2.Ngg-3.G
  3)按 Shift + i 進入編輯模式
  4)輸入"#"
  5)按ESC退出編輯模式

shift+v 進入VISUAL LINE 選中行內容(可視行模式)
    1.復制:選中行內容后按y鍵及可復制。
    2.刪除:選中行內容后按d鍵刪除
    
## 文件對比命令:diff (不推薦)

## 文件對比命令:vimdiff(推薦)

## vim 同時編輯多個文件
-o:水平分割
-O:垂直分割
## Ctrl + ww 切換文件

## 編輯文件指定的行

vim+N  :N代表阿拉伯數字

Vim環境變量臨時生效

:set nu 顯示行號
:set ic 忽略大小寫, 在搜索的時候有用
:set ai 自動縮進
:set list   顯示制表符(空行、tab鍵)
:set no[nu|ic|ai…]  取消臨時設定的變量

Vim環境變量永久生效

~/.vimrc 個人環境變量(優先級高) /etc/vimrc  全局環境變量
# vim  ~/.vimrc
 
syntax on
set fenc=utf-8
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
set number
set autoindent
set smartindent
set tabstop=4
set shiftwidth=4
set ruler
set incsearch
set showmatch
set matchtime=10
set ignorecase
set cursorline
set t_Co=256
colorscheme molokai
 
#語法檢查及高亮
syntax on
#設定默認解碼
set?fenc=utf-8?
set?fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
#顯示行號
set?number?
 
 
#vim使用自動對齊,也就是把當前行的對齊格式應用到下一行
set?autoindent?
#依據上面的對齊格式,智能的選擇對齊方式
set?smartindent?
#設置tab鍵為4個空格
set?tabstop=4?
#設置當行之間交錯時使用4個空格
set?shiftwidth=4?
#設置在編輯過程中,於右下角顯示光標位置的狀態行
set?ruler?
#設置增量搜索,這樣的查詢比較smart
 
set?incsearch?
#高亮顯示匹配的括號
set?showmatch?
#匹配括號高亮時間(單位為?1/10?s)
set?matchtime=10?
 
#在搜索的時候忽略大小寫
set?ignorecase?
#禁止生成臨時
#set?nobackup?
#當前行高亮
set?cursorline?
#支持256色
set?t_Co=256?
 
 
 
#使用molokai顏色模板
#colorscheme molokai
 
//如果個人vim環境沒有配置, 則使用全局vim環境變量配置。
//如果個人vim環境和全局環境變量產生沖突, 優先使用個人vim環境變量。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM