VI命令
i
輸入內(nèi)容整吆,插入
I
行首插入
a
光標(biāo)下一個(gè)字符處插入
A
行尾插入
o
下一行插入
O
上一行插入
esc
返回標(biāo)準(zhǔn)模式
:set nu
顯示行號(hào)
:set nonu
不顯示行號(hào)
:set tabstop=2
改變制表為為2個(gè)字符
:set autoindent
設(shè)置自動(dòng)縮進(jìn)
當(dāng)你在一個(gè)文件中set nu,set tabstop,set autoindent編輯完這個(gè)文件之后平道,再打開新的文件編輯的時(shí)候灶平,你若要顯示行號(hào)等還要重新設(shè)定交汤。若不想這么麻煩毕籽,可以在家目錄中添加.vimrc為vi設(shè)置全局配置脐供。操作如下:
vim ~.vimrc #新建一個(gè)名為.vimrc的文件
set nu #設(shè)置顯示行號(hào)
set tabstop=2 #設(shè)置tab鍵縮進(jìn)為2個(gè)字符
set autoindent #設(shè)置自動(dòng)換行
:x #保存當(dāng)前文件,退出
:w
保存
:w!
強(qiáng)制保存
w [filename]
另存為(例如:w a.txt)
:q
退出
:q!
不保存讲坎,強(qiáng)制退出
:! Command
臨時(shí)執(zhí)行命令(例如: 孕惜!pwd)
:wq
和:x
命令一樣,是保存之后退出
nG
n為數(shù)字晨炕,移動(dòng)到第n行衫画,如2G移動(dòng)到第2行
跳轉(zhuǎn)到第n行還可以
:0
或者:1
光標(biāo)移動(dòng)到開頭,:3
光標(biāo)移動(dòng)到第3行第一個(gè)字符府瞄,:5
跳轉(zhuǎn)到第5行第一個(gè)字符碧磅。要想跳轉(zhuǎn)到最后一行第一個(gè)字符碘箍,可以在一般模式下按G遵馆,或者按:之后輸入一個(gè)比較大(比當(dāng)前文件的內(nèi)容行數(shù)大)的數(shù)字回車就可以,比如:999
(一般文件行數(shù)很少有超過(guò)999行的丰榴,如果超過(guò)就用更大的數(shù) )货邓。
G
移動(dòng)到文件最后一行
:/word
向下搜索word的字符串
:?word
向上搜索word的字符串
n1,n2s/word1/word2/g
從第n1行到第n2行搜索word1替換為word2,g是全局的意思
n1,$s/word1/word2/gc
與上相同四濒,只是在替換的時(shí)候詢問(wèn)换况,c是確認(rèn)的意思
dd
剪切當(dāng)前行
ndd
剪切向下n行
yy
復(fù)制當(dāng)前行
nyy
復(fù)制向下n行
p
粘貼到下一行
P
粘貼到上一行
u
撤銷前一次操作
ctrl+r
重復(fù)前一個(gè)操作
:sp
新開一個(gè)窗口
:sp index.php
在新窗口中打開index.php文件
在多個(gè)窗口中切換的方法是Ctrl+w+上下方向鍵职辨。按著Ctrl不松,按一下w鍵松開戈二,再按上下鍵舒裤。
vi的3種模式:
text mode 按i,I,a,A,o,O進(jìn)入
normal mode 按esc切換
command mode normal mode下按:進(jìn)入
normal mode :
h 光標(biāo)左移
l 光標(biāo)右移
j 下移
k 上移
delete 刪除光標(biāo)所在的字符 (刪除相當(dāng)于剪切)
i 進(jìn)入編輯模式,在當(dāng)前光標(biāo)所在位置插入
a 進(jìn)入編輯模式觉吭,在當(dāng)前光標(biāo)所在位置的下一個(gè)字符位置插入
A 【append】 進(jìn)入編輯模式腾供,在當(dāng)前光標(biāo)所在行的行尾插入
r 【replace】 替換,按下r之后再按一個(gè)字符鲜滩,將光標(biāo)所在位置的下一個(gè)字符替換為按下r之后按的字符伴鳖,比如
在a的位置按下r再按b,就把a(bǔ)替換為b
u 【undo】撤銷剛才的操作.類似windows中的ctrl+z
ctrl + r 【redo】與u相反,重做徙硅。類似于windows中的 ctrl+y
dd 刪除當(dāng)前1行
2dd 刪除2行
5dd 刪除5行
ggdG 把光標(biāo)置于文件開頭榜聂,再刪除至文件末尾。相當(dāng)于清空文檔
v 【mark】標(biāo)記選中嗓蘑,按下v须肆,再按hjkl或者方向鍵,會(huì)選中文字脐往,并以高亮顯示休吠。便于復(fù)制【y】,剪切【d or x】,替換【r,】等操作
yy 【復(fù)制1行】
5yy 【復(fù)制5行】
ctrl + v 垂直標(biāo)記,垂直方向上標(biāo)記多行
/ 向下查找
业簿? 向上查找
/abc 搜索abc字符串瘤礁,按n向下查找,按N向上查找
Shift+* 查找一個(gè)單詞梅尤,按n光標(biāo)直接跳到下一個(gè)相同的單詞的位置
G 光標(biāo)移動(dòng)到文件末尾
gg 光標(biāo)移動(dòng)到文件開頭
:1 光標(biāo)到第1行
:5 光標(biāo)到第5行行首
Shift+%柜思,光標(biāo)從當(dāng)前{處跳到對(duì)應(yīng)的}處
== 對(duì)齊
選中之后按1下=可以一次對(duì)齊多行
<< 將當(dāng)前行向左移動(dòng)一個(gè) tab
>> 將當(dāng)前行向右移動(dòng)一個(gè) tab
ctrl + w + v 水平方向上分為2屏,按ctrl + w 切換光標(biāo)所在的窗口
ctrl + w + s 垂直方向上分為2屏
cmmand模式:
在normal模式下巷燥,輸入:命令赡盘,即進(jìn)入command模式
:q 退出
:q! 強(qiáng)制退出,不作任何改變
:wq 保存并退出
:wq! 強(qiáng)制保存并退出
:x 相當(dāng)于 :wq 保存并退出
另外保存并退出還可以在normal模式下按 ZZ
:1 光標(biāo)置于第1行
:10 光標(biāo)置于第10行
:%s/aaa/bbb 把a(bǔ)aa字符全部替換為bbb
:%s/aaa/bbb/g 遞歸替換缰揪,
:set nu 顯示當(dāng)前文件的行號(hào)
:set nonu 不顯示當(dāng)前文件的行號(hào)
:nu 顯示當(dāng)前行的行號(hào)
:vsp 水平方向上分屏 相當(dāng)于ctrl + w + v 陨享,按ctrl + w 切換光標(biāo)所在的窗口
vi編輯器的配置文件
修改之前先備份
sudo /etc/vim/vimrc /etc/vim/vimrc.original
sudo vi /etc/vim/vimrc
"設(shè)置tab為4個(gè)空格 "表示當(dāng)前行被注釋
set tabstop=4
如果這篇文章對(duì)你有幫助,不妨點(diǎn)個(gè)贊哦
(˙?˙)?--?