不看找不到女朋友系列--VI編輯器常用操作

1、前言

相信不少小夥伴在寫SHELL腳本或者編輯一些文件的時候,用到的vim編輯器還蠻多的,VIM編輯器用好了真的很方便用不好真的鬧心!

我總結了日常工作常用的VI編輯器常用操作供大家一起學習!記得點贊收藏加關注哦!(^ _ ^)

2、vi基礎操作

1、概念

vi的三種模式
1.命令模式
2.編輯模式
3.末行模式(命令模式下,按“:”即可進入末行模式)

默認情況下,VI編輯器是命令模式,需要在裏面寫東西的時候需要進入編輯模式

命令模式到編輯模式:插入命令i,附加命令a,打開命令o,修改命令c,取代命令r,替換命令s

編輯模式到命令模式:Esc

退出流程:
1.進入命令模式
2.進入末行模式
3.在末行模式輸入以下內容,對應相應操作


【:w】 保存文件
【:w!】 若文件爲只讀,強制保存文件
【:q】 離開vi
【:q!】 不保存強制離開vi
【:wq】 保存後離開
【:wq!】 強制保存後離開
【:! command】 暫時離開vi到命令行下執行一個命令後的顯示結果
【:set nu】 顯示行號
【:set nonu】 取消顯示行號
【:w newfile】 另存爲

2、插入命令

i:插入光標前一個字符
I:插入行首
a:插入光標後一個字符
A:插入行末
o:向下新開一行,插入行首
O:向上新開一行,插入行首
移動光標
h:左移     
j:下移        
k:上移      
l:右移      
M:光標移動中間行      
L:光標移動到屏幕最後一行行首      
G:移動到指定行,行號 -G       
{:按段移動,上移      
}:按段移動,下移     
Ctr-d:向下翻半屏     
Ctr-u:向上翻半屏     
gg:光標移動文件開頭      
G:光標移動文件末尾     

3、刪除命令

x:刪除光標後一個字符,相當於del
X: 刪除光標前一個字符,相當於Backspace
dd:刪除光標所在行,n dd刪除指定的行數D:刪除光標後本行所有的內容,包括光標所在字符

4、撤銷命令

u:一步一步撤銷
ctr-r:反撤銷

5、重複命令

.:重複上一次操作的命令
文本行移動
>>:文本行右移
<<:文本行左移
複製粘貼
yy:複製當前行,n yy 複製n行
p:在光標所在位置向下新開闢一行,粘貼
可視模式
v:按字符移動,選中文本
V:按行移動,選中文本可視模式可以配合d,y,>>,<< 實現對文本塊的刪除,複製,左右移動
替換
r:替換當前字符
R:替換當前行光標後的字符

3、區域選擇 替換 搜索

/string  向光標之下尋找一個名稱爲string字符串

?string   向光標之上尋找一個名稱爲string字符串

n  正向查找,搜索出的string,可以理解成next

N  反向查找,搜索出的string,可以理解成Not next

n是從上到下,N是從下到上

v和V主要的是進行行選擇,而Ctrl+v是進行的列選擇,從靈活性上來說,ctrl+v更加的靈活一點

:n1,n2s/string1/string2/g  這裏的n1是查找的開始行數,n2是查找結束的行數。【:2,7s/ddd/fff/g】在第2行,第7行之間,將ddd替換成fff

:1,$s/string1/string2/g   從第一行到最後一行尋找 string1 字符串,並將該字符串替換爲 string2 !(常用)

:1,$s/string1/string2/gc  從第一行到最後一行尋找 string1 字符串,並將該字符串替換爲 string2 !且在替換前顯示提示字符給用戶確認 (confirm) 是否需要替換!(常用)

:s/vivian/sky/     替換當前行第一個 vivian 爲 sky
:s/vivian/sky/g     替換當前行所有 vivian 爲 sky

:n,$s/vivian/sky/   替換第 n 行開始到最後一行中每一行的第一個 vivian 爲 sky
:n,$s/vivian/sky/g   替換第 n 行開始到最後一行中每一行所有 vivian 爲 sky
n 爲數字,若 n 爲 .,表示從當前行開始到最後一行

:%s/vivian/sky/(等同於 :g/vivian/s//sky/) 替換每一行的第一個 vivian 爲 sky
:%s/vivian/sky/g(等同於 :g/vivian/s//sky/g) 替換每一行中所有 vivian 爲 sky

:s#vivian/#sky/# 替換當前行第一個 vivian/ 爲 sky/
:%s+/oradata/apras/+/user01/apras1+ (使用+ 來 替換 / ): /oradata/apras/替換成/user01/apras1/

不加 g,表示只對搜索字符串的首次出現進行替換;

 g放在命令末尾,表示對搜索字符串的每次出現進行替換;

g 放在命令開頭,表示對正文中所有包含搜索字符串的行進行替換操作
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章