vi编辑器常用命令大全
在UNIX下,vi是標(biāo)準的文本編輯器之一。vi編輯器是Linux下應(yīng)用最廣泛的文本編輯器,在日常工作中幾乎每時每刻都會用到vi編輯器,熟悉vi下的一些常用功能有助于提高工作效率。vi編輯器有三種操作模式:命令模式、插入模式、末行模式,插入模式即為編輯模式,下面著重介紹命令模式和末行模式。
以下內(nèi)容中:小寫字母(如 a)代表按下相應(yīng)的鍵,大寫字母(如 A)代表同時按下Shift+字母,特殊字符如$表示需要按下Shift+4,跟正常輸入相同。
一、三種命令模式的切換
命令模式<==>插入模式
我們使用vi打開一個文件,默認模式就是命令模式,鍵入’a’或’i’就會進入插入模式,在插入模式下按下Esc鍵就重新回到了命令模式。
命令模式<==>末行模式
在命式模式時鍵入’:’即可進入末行模式,在末行模式下按下Esc鍵就重新回到了命令模式。
插入模式<==>末行模式
在插入模式想進入末行模式,先按下Esc鍵就進入命令模式,再鍵入’:’即可進入末行模式
在末行模式想進入插入模式,先按下Esc鍵就進入命令模式,再鍵入’a’或’i’就會進入插入模式
二、常用命令匯總
1.命令模式
| 光標(biāo)右移 | l(小寫的L) |
| 光標(biāo)右移n個字符 | nl |
| 光標(biāo)左移 | h |
| 光標(biāo)左移n個字符 | nh |
| 光標(biāo)下移 | j |
| 光標(biāo)下移n個字符 | nj |
| 光標(biāo)上移 | k |
| 光標(biāo)上移n個字符 | nk |
| 移動光標(biāo)到行首 | 0(數(shù)字0) |
| 移動光標(biāo)到行末 | $ |
| 移動光標(biāo)到文件末尾 | G |
| 移動光標(biāo)到文件開頭 | gg |
| 移動光標(biāo)到下一個單詞開頭 | w |
| 移動光標(biāo)到當(dāng)前或下一個單詞結(jié)尾 | e |
| 移動光標(biāo)到當(dāng)前或下一個單詞開頭 | b |
| 移動光標(biāo)到該行第一個非空白字符 | ^ |
| 移動光標(biāo)到句尾 | ) |
| 移動光標(biāo)到句首 | ( 注:vi中句子用半角句號后加一個空格(. )分割 |
| 移動光標(biāo)到段尾 | ) |
| 移動光標(biāo)到段首 | ( 注:vi中段落以空行分割 |
| 將光標(biāo)定位到第n行的開頭 | nG |
| 將光標(biāo)下移n行 | n+ |
| 將光標(biāo)上移n行 | n- |
| 將光標(biāo)下移n行并置于行尾 | n$ |
| 移動光標(biāo)到屏幕最頂行 | H |
| 移動光標(biāo)到屏幕最底行 | L |
| 移動光標(biāo)到當(dāng)前屏幕中間行 | M |
| 當(dāng)前行往右移動8個字符 | >>(相當(dāng)于tab鍵) |
| 當(dāng)前行往左移動8個字符 | >>(相當(dāng)于Shfit鍵+tab鍵) |
| 改變當(dāng)前光標(biāo)所在字符大小寫 | ~(大寫變小寫,小寫變大寫) |
| 刪除當(dāng)前字符到單詞尾所有字符 | dw |
| 復(fù)制當(dāng)前光標(biāo)所在行 | yy |
| 復(fù)制n行 | nyy(當(dāng)前光標(biāo)以下n行) |
| 復(fù)制光標(biāo)所在位置到單詞尾字符(不包括空格)的內(nèi)容到vi緩存區(qū),相當(dāng)于復(fù)制一個單詞 | yw |
| nyw | 復(fù)制n個單詞 |
| 復(fù)制光標(biāo)所在位置到行尾內(nèi)容到緩存區(qū) | y$ |
| 復(fù)制光標(biāo)所在位置到行首內(nèi)容到緩存區(qū) | y^ |
| 將緩存區(qū)的內(nèi)容粘貼到當(dāng)前行的下方 | p |
| 將緩存區(qū)的內(nèi)容粘貼到當(dāng)前行的上方 | P |
| x | 刪除光標(biāo)所在位的字符 |
| ndd | 刪除n行 |
| dd | 刪除光標(biāo)所在的行 |
| rx | 使用x替代光標(biāo)所在位置的字符 |
| i | 進入插入模式 |
| a | 將光標(biāo)移至當(dāng)前所在位置的右側(cè),并進入插入模式 |
| o | 在光標(biāo)所在行下一行增添新行,并進入插入模式 |
| O | 在光標(biāo)所在行上一行增添新行,并進入插入模式 |
| I | 將光標(biāo)定位到行開頭,并進入插入模式 |
| A | 將光標(biāo)定位到行末尾,并進入插入模式 |
| 撤銷最近一次的操作 | u(可以多次使用恢復(fù)到原來的內(nèi)容) |
| 撤銷所有操作 | U |
2.末行模式
| 保存文件 | w |
| 將當(dāng)前文件的內(nèi)容保存到file文件 | w file |
| 保存文件并退出vi編輯器 | wq |
| 將當(dāng)前文件的內(nèi)容寫入file 文件,然后退出vi編輯器 | wq file |
| 將文件file的內(nèi)容插入當(dāng)前光標(biāo)所在行的后面 | r file |
| 關(guān)閉當(dāng)前文件,并打開新文件file | e file |
| 將當(dāng)前文件重命名為file | f file |
| 打印當(dāng)前文件名稱和狀態(tài) | f |
| 退出vi編輯器 | q |
| 強制退出vi編輯器(不保存修改) | q! |
| 將光標(biāo)移到第n行 | n |
| 刪除第m至第n行的內(nèi)容 | m,nd |
| 復(fù)制第m行到第n行的內(nèi)容 | m,ny |
| 用new_str替換光標(biāo)所在行中首次出現(xiàn)的old_str | s/old_str/new_str |
| 用new_str替換光標(biāo)所在行中的所有old_str | s/old_str/new_str/g |
| 用new_str替換第m行至第n行的所有old_str | m,ns/old_str/new_str/g |
| 用new_str替換所有的old_str | %s/old_str/new_str/g |
| 從當(dāng)前光標(biāo)處往下查找與pattern匹配的行,然后在該行上用new_str替換掉所有的old_str | /pattern/s/old_str/new_str/g |
關(guān)于行號的一些特殊表示:
‘.’表示光標(biāo)所在行的行號
‘′表示文件最后一行行號-1表示倒數(shù)第二行
一些例子(以下命令都是在末行模式下執(zhí)行的):
| 光標(biāo)從當(dāng)前行向下移動6行 | .+6 |
| 將光標(biāo)移到文件的最后一行 | $ |
| 將第5行到第10行內(nèi)容寫入file文件 | 5,15w file |
| 將第1行到當(dāng)前行內(nèi)容寫入file文件 | 1,.w file |
| 將當(dāng)前行到文件末尾內(nèi)容寫入file文件 | .,$w file |
3.vi臨時文件
vi在編輯某一個文件時,會生成一個臨時文件,這個文件以. 開頭并以.swp結(jié)尾。正常退出該文件自動刪除,如果意外退出例如忽然斷電,該文件不會刪除,在我們下次編輯該文件時會被要求選擇以下命令處理:
O 只讀打開,不改變文件內(nèi)容
E 繼續(xù)編輯文件,不恢復(fù).swp文件保存的內(nèi)容
R 將恢復(fù)上次編輯以后未保存文件內(nèi)容
Q 退出vi
D 刪除.swp文件
總結(jié)
以上是生活随笔為你收集整理的vi编辑器常用命令大全的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 5.6 linux安装配置_
- 下一篇: note.. redis五大数据类型