工作前用的編輯器是Hbuilder,是因為 設(shè)計挺人性化的 護(hù)眼色 呀 提示呀 各種 ,工作之后 一段時間用sublime 因為大家都在用,裝幾個插件 也會有各種提示额湘,之前依賴Hbuilder 的 本地服務(wù)器 ,后來 師傅告訴我在 npm install -g http-server
后 也可以旁舰。就不那么依賴他了锋华,最近干活 發(fā)現(xiàn) 同事 在用終端 直接 編輯 ,很是方便加牛* 之前 為了 交活 只是草草學(xué)了一點箭窜,現(xiàn)在趁著年底 活比較少 就來 邊總結(jié) 邊學(xué)習(xí)一下毯焕!
我在看其他人得總結(jié)時 總會 有些命令 自己輸入了 沒有反應(yīng),所以 我寫一下 我的測試環(huán)境是mac 磺樱,……
顏色加深的區(qū)域為命令纳猫。。我用的終端是iterm,命令中的str 表示希望用戶 敲入的字符串
-
vi模式
底行模式
主要是對文件整體進(jìn)行的操作竹捉,包括設(shè)置芜辕,查找插入模式
是對文件內(nèi)容進(jìn)行的編輯命令行模式
控制屏幕光標(biāo)的移動,字符块差、字或行的刪除侵续,移動復(fù)制某區(qū)段可視模式
選擇文件的一部分內(nèi)容倔丈,以便作比如刪除,復(fù)制等工作-
我平時需要用到的部分命令
-
底行模式下的命令
:w
存入文件状蜗,但不退出
:wq
存入并退出
:q
退出需五,如果對緩沖區(qū)進(jìn)行過修改,則會提示
:q!
強制退出 轧坎,不做修改
:e!
重新編輯當(dāng)前文件,忽略所有的修改
:set nu
顯示行號
?str
從光標(biāo)所在處向上查找宏邮,n
下一個匹配項,N
上一個匹配項
/str
從光標(biāo)所在處向下查找眶根,n
下一個匹配項蜀铲,N
上一個匹配項
:tabe 文件路徑
同時編輯多個文件gt
進(jìn)行切換不同Tab鍵
:=
顯示總行號- 搜索與替換
這是一個:ranges/pat1/pat2/g 基本的格式
例子:%s/\s\+$//
表示刪除多余空格
1边琉、range 是命令執(zhí)行范圍的指定属百,可以使用百分號(%)表示所有行, 使用點(.)表示當(dāng)前行变姨,使用美元符號($)表示最后一行族扰。你還可以使用行號,例如10,20表 示第10到20行定欧,.,$表示當(dāng)前行到最后一行渔呵,.+2,$-5表示當(dāng)前行后兩行直到全文的倒數(shù)第五行,等等砍鸠。
s 表示其后是一個替換命令扩氢。
2、pat1 這是要查找的一個正則表達(dá)式
\s
表示空格\+
表示一個或多個$
行末^
行首
3爷辱、part2 針對匹配項進(jìn)行替換的字符串
4录豺、g 可選標(biāo)志,帶這個標(biāo)志表示替換將針對行中每個匹配的串進(jìn)行饭弓,否則則只替換行中第一個匹配串双饥。 - 刪除復(fù)制
之前的是 s表示其后是一個替換命令,
1弟断、:n1,n2 co n3
將 n1 行到 n2 行之間的內(nèi)容拷貝到第 n3 行下
2咏花、:n1,n2 m m3
將 n1 行到 n2 行之間的內(nèi)容移至第 n3 行下。
3阀趴、:n1,n2 d
將 n1 行到 n2 行之間的內(nèi)容刪除昏翰。
- 搜索與替換
-
命令行模式下的命令
其實可以簡稱命令模式下的命令,因為 該模式下我們操作的是光標(biāo)的位置 或者與光標(biāo)有關(guān)的操作刘急,并不會在底行或者任何位置顯示命令棚菊,但是確實在進(jìn)行操作- 命令模式與插入模式進(jìn)行切換
i
進(jìn)入插入模式后, 從光標(biāo)當(dāng)前位置開始輸入文件
a
進(jìn)入插入模式后,是從目前光標(biāo)所在位置的下一個位置開始輸入文字
o
進(jìn)入插入模式后, 從行首開始輸入文字
esc
從插入模式切換為命令行模式 - 移動光標(biāo)
鍵盤上的上下左右鍵就可以移動光標(biāo)進(jìn)行上下左右的移動排霉,就可以替代vi本身的命令了
gg
移到文章的開頭
G
移到文章的結(jié)尾
$
移到行尾
^
移到行首
w
跳到下個單詞的開頭
e
跳到下個單詞的結(jié)尾
b
回到上個單詞的開頭
#l
跳到改行的第#個位置 - 刪除
x
每按一次窍株,刪除光標(biāo)所在位置的"后面"一個字符民轴。
#x
表示刪除光標(biāo)所在位置的"后面"#個字符。
X
每按一次,刪除光標(biāo)所在位置的"前面"一個字符。
#X
表示刪除光標(biāo)所在位置的"前面"#個字符骗炉。
dd
刪除光標(biāo)所在行饼灿。
#dd
從光標(biāo)所在行開始刪除#行
dib
刪除()里的內(nèi)容
dab
刪除()及其內(nèi)的內(nèi)容
diB
刪除{}里的內(nèi)容
daB
刪除{}及其內(nèi)的內(nèi)容 - 復(fù)制
yy
復(fù)制光標(biāo)所在行到緩沖區(qū)。
#yy
表示拷貝從光標(biāo)所在的該行"往下數(shù)"#行文字银舱。
p
將緩沖區(qū)內(nèi)的字符貼到光標(biāo)所在位置。 - 替換
r
替換光標(biāo)所在處的字符。
R
替換光標(biāo)所到之處的字符因苹,直到按下「ESC」鍵為止。 - 撤銷
u
如果您誤執(zhí)行一個命令篇恒,可以馬上按下「u」扶檐,回到上一個操作。按多次"u"可以執(zhí)行多次回復(fù)胁艰。 - 跳至指定的行
ctrl+g
列出光標(biāo)所在行的行號款筑。
#G
表示移動光標(biāo)至文章的第#行行首。 - 縮進(jìn)
>>
行右移(缺省8空格--實際上將制表符插入到文本中)
<<
行左移8空格 - 跳到變量的定義處
gd
轉(zhuǎn)到光標(biāo)下局部變量的定義處
Gd
轉(zhuǎn)到光標(biāo)下全局變量的定義處 - 翻屏
Ctrl+f
向前翻屏
Ctrl+b
向后翻屏
Ctrl+d
向前翻半屏
Ctrl+u
向后翻半屏
- 命令模式與插入模式進(jìn)行切換
-
可視模式下的命令
- 進(jìn)入可視模式
v
一個字符一個字符地選腾么。
V
一行一行地選奈梳。
Ctrl+v
它選中屏幕上的一個矩形區(qū)域。以按下Ctrl-v的位置為一個角解虱,光標(biāo)所在位置為它的對角攘须。 - 刪除文本
d
刪除所選中的部分。
D
刪除所選中部分所在的行殴泰。即使沒有把一行都選中于宙,也把一行都刪除。 - 縮進(jìn)
>
右縮進(jìn)
<
左縮進(jìn) - 合并
J
大寫的j進(jìn)行合并 若干行為一行
- 進(jìn)入可視模式
-
插入模式
- 自動補全
ctrl + p
自動補全
- 自動補全
ctrl+z
暫時退出vi編輯進(jìn)入終端命令行模式
fg
返回vi進(jìn)行編輯