摘要:在這天地間,流傳這兩大神器的故事?lián)f(shuō)是神的編輯器,而是編輯器之神。正所謂,工欲善其事必先利其器。今天就和大家分享一下關(guān)于編輯器之神的傳說(shuō)。主要用于用來(lái)編寫和查看文本文件。
1.下圖是關(guān)于幾款主流編輯器的學(xué)習(xí)曲線:(注:圖片來(lái)自互聯(lián)網(wǎng)) 2.VIM - Vi IMproved 3.上圖中vi即是vim的前身在這天地間,流傳這兩大神器的故事:據(jù)說(shuō)Emacs是神的編輯器,而Vim是編輯器之神。正所謂,工欲善其事,必先利其器。今天就和大家分享一下關(guān)于編輯器之神Vim的傳說(shuō)。
一、Vim的歷史
VI:Visual Interface
4.VIM和VI是文本編輯器
何為文本文件?
文本文件一般指只有字符原生編碼構(gòu)成的二進(jìn)制計(jì)算機(jī)文件,與富文本相比,其不包含字樣樣式的控制元素,能夠被最簡(jiǎn)單的文本編輯器直接讀取
文本文件常見(jiàn)的格式?
ASCII、MIME、.txt、...
那么,何為文本編輯器?
文本編輯器是計(jì)算機(jī)軟件中的一種。主要用于用來(lái)編寫和查看文本文件。
文本編輯器的種類:
行編輯器:sed
全屏編輯器:nano、vi、vim
二、Vim編輯器的基本操作1. 基本操作
VIM:模式化的編輯器
基本模式
編輯模式 (命令模式)
輸入模式 (插入模式)
末行模式 (vim內(nèi)置的命令行接口)
Note:打開(kāi)的時(shí)候默認(rèn)的模式是編輯模式
打開(kāi)文件
# vim [OPTION]... FILE...
+#:打開(kāi)文件后,直接讓光標(biāo)處于第#行的行首
+/PATTERN:打開(kāi)文件后,直接讓光標(biāo)處于第一個(gè)被PATTERN匹配到的行的行首;
模式轉(zhuǎn)換
模式轉(zhuǎn)換:
編輯模式 - - > 輸入模式
i:insert,在光標(biāo)所在處前面插入;
a:append,在光標(biāo)所在處的后面插入;
o:open,在當(dāng)前光標(biāo)所在行的下一行打開(kāi)新行,并轉(zhuǎn)換為輸入模式;
I:在當(dāng)前光標(biāo)所在行的行首輸入;
A:在當(dāng)前光標(biāo)所在行的行尾輸入;
O:在光標(biāo)所在行的上一行打開(kāi)一個(gè)新行,并轉(zhuǎn)換為輸入模式;
輸入模式 - - > 編輯模式
ESC
編輯模式 - - > 末行模式
:
末行模式 - - > 編輯模式
ESC
關(guān)閉文件
:q:退出
:!:強(qiáng)制退出,丟棄做出的修改;
:wq:保存退出;
:x:保存退出;
:w /PATH/TO/SOMEWHERE:當(dāng)前編輯的文本保存到別的文件;
ZZ:保存退出;
圖示說(shuō)明如下: (轉(zhuǎn)載請(qǐng)注明出處)
2. 光標(biāo)跳轉(zhuǎn):
字符間跳轉(zhuǎn):
h,j,k,l
h:左
l:右
k:上
j:下
#COMMAND:跳轉(zhuǎn)由#指定的個(gè)數(shù)的字符;
單詞間跳轉(zhuǎn):
w:跳轉(zhuǎn)至下一個(gè)單詞或后一個(gè)單詞的詞首;
e:跳轉(zhuǎn)至當(dāng)前或下一個(gè)單詞的詞尾;
b:跳轉(zhuǎn)至當(dāng)前或上一個(gè)單詞的詞首;
#COMMAND:由#指定一次跳轉(zhuǎn)的單詞數(shù);
行首行尾跳轉(zhuǎn):
^:跳轉(zhuǎn)至行首的第一個(gè)非空白字符;
0:跳轉(zhuǎn)至絕對(duì)的行首;
$:跳轉(zhuǎn)至絕對(duì)行尾;
行間移動(dòng):
#G:跳轉(zhuǎn)至由#指定行;
G:跳轉(zhuǎn)至最后一行;
1G,gg:跳轉(zhuǎn)至第一行;
句間移動(dòng):
):跳轉(zhuǎn)至下一個(gè)句子;
(:跳轉(zhuǎn)至上一個(gè)句子;
段落間移動(dòng):
}:跳轉(zhuǎn)至下一段
{:跳轉(zhuǎn)至上一段
3. vim的編輯命令:
字符編輯:
x:刪除光標(biāo)處的單個(gè)字符;
#x:刪除光標(biāo)處起始的#個(gè)字符;
xp:交換光標(biāo)所在處的字符及其后面字符的位置;
替換命令:
r,replace
r:替換光標(biāo)所在處的字符;(單字符替換)
刪除命令:
d:刪除命令,可結(jié)合光標(biāo)跳轉(zhuǎn)字符,實(shí)現(xiàn)范圍刪除;
d$:刪除至絕對(duì)行尾
d^:刪除至行首的第一個(gè)非空白字符
d0:刪除至絕對(duì)行首
dd:刪除光標(biāo)所在行;
#dd:向下刪除#行;
粘貼命令:
(p,put,paste)
p:緩沖區(qū)中存儲(chǔ)的如果為整行內(nèi)容,則粘貼至當(dāng)前光標(biāo)所在行的下方;否則,則粘貼至當(dāng)前光標(biāo)所在處的后面;
P:緩沖區(qū)中存儲(chǔ)的如果為整行內(nèi)容,則粘貼至當(dāng)前光標(biāo)所在行的上方;否則,則粘貼至當(dāng)前光標(biāo)所在處的前面;
復(fù)制命令:
y,yank
y:復(fù)制,工作行行為相似于d命令;
y$:復(fù)制至絕對(duì)行尾
y0:復(fù)制至絕對(duì)行首
y^:復(fù)制至行首的第一個(gè)非空白字符
yy:復(fù)制整行
#yy:復(fù)制多行;
改變命令:
c,change
c:修改
編輯模式 - -> 輸入模式
cc:刪除并輸入新內(nèi)容
#cc:一次刪除#行
三、其它編輯操作1.可視化模式
v:按字符選定
V:按行選定
Note:經(jīng)常結(jié)合編輯命令;
2. 撤銷此前的編輯:
u(undo):撤銷此前的操作;
#u:撤銷指定次數(shù)的操作;
撤銷此前的撤銷:
Ctrl+r
重復(fù)前一個(gè)編輯操作:
.
四、翻屏操作
Ctrl+f:向文件尾部翻一屏;
Ctrl+b:向文件首部翻一屏;
Ctrl+d:向文件尾部翻半屏;
Ctrl+u:向文件首部翻半屏;
vim自帶的練習(xí)教程:
vimtutor
五、vim的末行模式
內(nèi)建的命令行接口;
特性:
(1). 地址定界
:start_pos,end_pos
#:具體的第#行,例如:2表示第2行;
#,#:從左側(cè)#表示起始,到右側(cè)#表示結(jié)束;
#,+#:從左側(cè)#表示的行開(kāi)始,加上右側(cè)#表示的行數(shù);
. 當(dāng)前行;
$:最后一行;
%:全文;相當(dāng)于(1,$)
/pat1/,/pat2/:表示從第一次被pat1匹配到的行開(kāi)始,一直到pat2匹配到的行結(jié)束
使用方式:
后跟一個(gè)編輯命令:
d:刪除指定范圍的內(nèi)容
y:復(fù)制指定范圍的內(nèi)容
w /PATH/TO/SOMEWHERE:將范圍內(nèi)的行另存至指定文件中;
r /PATH/FROM/SOMEFILE:在指定位置插入指定文件中的所有內(nèi)容;
(2). 查找
/PATTERN:從當(dāng)前光標(biāo)所在處向文件尾部查找
?PATTERN:從當(dāng)前光標(biāo)所在處向文件首部查找
n:與命令同方向;
N:與命令反方向;
(3). 查找并替換
s:在末行模式下完成查找替換操作
s/要查找的內(nèi)容/替換為的內(nèi)容/修飾符
要查找的內(nèi)容:可使用模式;
替換為的內(nèi)容:不能使用模式,但可以使用1, 2, ...等后向引用符號(hào);好可以使用"&"引用前面查找時(shí)查找到的整個(gè)內(nèi)容;
修飾符:
i:忽略大小寫
g:全局替換;默認(rèn)情況下,沒(méi)一行只替換第一次出現(xiàn)的內(nèi)容;
查找替換中的分隔符/可替換為其它字符,例如:
s@@@
s###
## 六、vim的文件模式
vim FILE1 FILE2 FILE3 ...
:next 切換至下一個(gè)文本
:prev 切換至前一個(gè)文本
:first 切換至前一個(gè)文本
:last 切換至最后一個(gè)文本
:wall 保存所有
:qall 退出所有
vim -o|-O FILE1 FILE2 ...
-o:水平分割
-O:垂直分割
在窗口間切換:Ctrl+w,Arrow
Ctrl+w,s:split,水平分割
Ctrl+w,v:vertical,垂直分割
配置文件:(永久有效)
全局:/etc/vimrc
個(gè)人:~/.vimrc (默認(rèn)不存在,需要自己創(chuàng)建)
末行:(當(dāng)前vim進(jìn)程有效)
(1) 行號(hào):
顯示:set number,簡(jiǎn)寫為:set nu
取消顯示:set nonumber,簡(jiǎn)寫為:set nonu
(2) 括號(hào)匹配:
匹配:set showmatch,簡(jiǎn)寫為:set sm
取消匹配:set nosm
(3) 自動(dòng)縮進(jìn):
開(kāi)啟:set ai
禁用:set noai
(4) 高亮搜索
開(kāi)啟:set hlsearch
禁用:set nohlsearch
(5) 語(yǔ)法高亮
開(kāi)啟:syntax on
禁用:syntax off
(6) 忽略字符大小寫
啟用:set ic
禁用:set noic
在末行模式下:help SUBJECT
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/24852.html
摘要:在這個(gè)蔚藍(lán)的星球上,流傳著兩大神器的傳說(shuō)據(jù)說(shuō)是神的編輯器,是編輯器之神。多窗口分窗口橫向分屏豎向分屏窗口間跳轉(zhuǎn) 在這個(gè)蔚藍(lán)的星球上,流傳著兩大神器的傳說(shuō):據(jù)說(shuō)Emacs是神的編輯器,vim是編輯器之神。 showImg(https://segmentfault.com/img/bVbt0WT?w=2466&h=832); 拷貝/粘貼/刪除 拷貝:yy/yw(yy:是拷貝整行,yw:拷...
摘要:點(diǎn)擊原文鏈接體驗(yàn)更佳哦優(yōu)測(cè)優(yōu)社區(qū)干貨精選老司機(jī)亂談編輯器之神騰訊優(yōu)測(cè)騰訊優(yōu)測(cè)是專業(yè)的移動(dòng)云測(cè)試平臺(tái),為應(yīng)用游戲,混合應(yīng)用的研發(fā)團(tuán)隊(duì)提供產(chǎn)品質(zhì)量檢測(cè)與問(wèn)題解決服務(wù)。 文 / 騰訊 吳雙 前言 優(yōu)測(cè)小優(yōu) 有話說(shuō): 騰訊優(yōu)測(cè)只有應(yīng)用測(cè)試大神?不不不,我們還有各種研發(fā)大牛! vim 是一種信仰,我自從2004年有了這個(gè)信仰,已經(jīng)12個(gè)年頭了。本文介紹了學(xué)習(xí)vim的方法以及一些vim常用的插件...
閱讀 761·2021-11-17 09:33
閱讀 3804·2021-09-01 10:46
閱讀 1786·2019-08-30 11:02
閱讀 3312·2019-08-29 15:05
閱讀 1427·2019-08-26 11:39
閱讀 2308·2019-08-23 17:04
閱讀 1998·2019-08-23 15:43
閱讀 1396·2019-08-23 14:12