vi編輯器怎么用(vi編輯器怎么用鼠標(biāo))
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于vi編輯器怎么用的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具:開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com
本文目錄:
一、ubuntu16.04編輯器vi該怎么使用
1、ubuntu上的vi編輯器
默認(rèn)情況下ubuntu上也安裝有vi但是奇怪的是這個vi是vim-common版本,基本上用不了所以要先把這個版本的vi卸載掉才可以,卸載命令是
sudo apt-get remove vim-common
卸載成功之后接著執(zhí)行 sudo apt-get install vim,安裝好之后就能使用了
2、vi編輯器應(yīng)該怎么用
vi編輯器需要在終端里才能很好的使用,需要記住的是vi有三種模式分別是命令模式、插入模式、末行模式,我們輸入vi 文件名稱 首先看到的就是命令模式,輸入i就進(jìn)入例如插入模式,在插入模式里只允許輸入或編輯,如果要保存文件必須按esc這樣就返回了命令模式,之后輸入:wq 就可以保存文件并退出了
這個界面是我在終端輸入vi 02.txt出現(xiàn)的界面,這個就是命令模式的界面了,輸入i就可以輸入文字了
文字插入后按一下esc退出插入模式,轉(zhuǎn)到命令模式,輸入 :wq 保存并退出
我們可以看到目錄里面生成了02.txt
3、使用vi命令編輯多個文件
編輯多個文件的命令是vi 文件1 文件2 文件3.....
多個文件的編輯和上面類似,只是保存文件那一步有點(diǎn)區(qū)別,先前是在命令模式下輸入:wq ,多個文件就不行了,每編輯并保存了一個文件應(yīng)輸入:wn進(jìn)入下一個文件;如果要返回編輯上一個文件就輸入:wprev就OK了
4、一些常用的vi命令
進(jìn)入vi的命令
vi filename :打開或新建文件,并將光標(biāo)置于第一行首
vi +n filename :打開文件,并將光標(biāo)置于第n行首
vi + filename :打開文件,并將光標(biāo)置于最后一行首
vi +/pattern filename:打開文件,并將光標(biāo)置于第一個與pattern匹配的串處
vi -r filename :在上次正用vi編輯時發(fā)生系統(tǒng)崩潰,恢復(fù)filename
vi filename....filename :打開多個文件,依次進(jìn)行編輯
移動光標(biāo)類命令
h :光標(biāo)左移一個字符
l :光標(biāo)右移一個字符
space:光標(biāo)右移一個字符
Backspace:光標(biāo)左移一個字符
k或Ctrl+p:光標(biāo)上移一行
j或Ctrl+n :光標(biāo)下移一行
Enter :光標(biāo)下移一行
w或W :光標(biāo)右移一個字至字首
b或B :光標(biāo)左移一個字至字首
e或E :光標(biāo)右移一個字至字尾
) :光標(biāo)移至句尾
( :光標(biāo)移至句首
}:光標(biāo)移至段落開頭
{:光標(biāo)移至段落結(jié)尾
nG:光標(biāo)移至第n行首
n+:光標(biāo)下移n行
n-:光標(biāo)上移n行
n$:光標(biāo)移至第n行尾
H :光標(biāo)移至屏幕頂行
M :光標(biāo)移至屏幕中間行
L :光標(biāo)移至屏幕最后行
0:(注意是數(shù)字零)光標(biāo)移至當(dāng)前行首
$:光標(biāo)移至當(dāng)前行尾
屏幕翻滾類命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:將第n行滾至屏幕頂部,不指定n時將當(dāng)前行滾至屏幕頂部。
二、如何執(zhí)行vi編輯器里的命令
VI就是一個相當(dāng)于windows 操作系統(tǒng)里面的記事本。
比如你要建立一個Hello.c的文件,這樣操作:
vi Hello.c (回車后就進(jìn)入,按i 建開始編輯。要退出按ESC,進(jìn)入中間模式,按冒號 :后面跟命令)
:wq (保存并退出)
:q!(退出不保存)
三、怎樣使用vi?
你要在什么系統(tǒng)下使用VI 都要區(qū)分好的
學(xué)習(xí) vi —— “學(xué)習(xí)清單”式
1、起點(diǎn)
介紹
這篇指南要向你介紹 vi ——一個強(qiáng)大的可視化編輯器——的使用方法。通過一種特殊的循序漸進(jìn)的“作弊紙”模式,這篇指南讓你在短時間內(nèi)迅速成為 vi 高手。在這篇指南里面,你將學(xué)到如何瀏覽、編輯文字、使用“插入”模式、復(fù)制粘貼以及使用一些重要的 vi 插件(譬如:可視化插件)和多窗口編輯。
如果你不知道,或者對 vi 感到不爽,那么趕快利用這篇指南,讓這個 Linux/UNIX 平臺最流行、最強(qiáng)大的可視化瀏覽器為你的工作添油加速吧!
關(guān)于這篇指南
學(xué)習(xí) vi 的最大難點(diǎn)在于——vi 的繁多的指令。為了有效利用 vi,你需要記住其中不少的一些。這可能需要不少時間;而偏偏這篇指南的目的之一就是在于利用盡可能少的時間。所以,從一開始,我們將面對一個挑戰(zhàn)——我怎么幫助你在短期內(nèi)記住大量的命令。
為了在這篇指南的過程中解決這個難題,我們會逐漸一點(diǎn)一點(diǎn)積累起一張關(guān)于 vi 的知識清單。這張清單會包含所有重要的 vi 命令。當(dāng)你完成了這份指南,當(dāng)你忘記某個 vi 命令的時候,你可以很輕松得從這份清單中查找特定的命令。逐漸地,隨著你記住這些命令,你會越來越少依賴這份清單。通過使用“知識清單”技術(shù),你可以前所未有的速度學(xué)會使用 vi !
學(xué)習(xí)過程
在這份指南中,我會使用一些幫助你學(xué)習(xí)的辦法。首先,如同你所期待的,我會介紹一條命令是如何工作的。然后,我會請你在 vi 中練習(xí)使用這條命令,之后把這條命令記錄在知識清單中,以備日后參考。一一執(zhí)行這些步驟對于你快速學(xué)習(xí) vi 有莫大的幫助。試驗(yàn)并且記錄這些命令會幫助你記住它們。
介紹 vim
Vi 有很多不同版本,而我要向你介紹的是一個叫做 vim 的版本。vim 非常流行;它有相當(dāng)多的擴(kuò)展模塊使得 vi 更棒(當(dāng)我展示一個 vim 獨(dú)有的命令的時候,我會特別指出)。如果你需要安裝 vim,你可以從 www.vim.org 得到它。除了一個增強(qiáng)版本的命令行 vi,vim 還有一個叫做 gvim 的、漂亮的、基于 GTK+ 的 GUI 版本。下面是一張我系統(tǒng)中 gvim 的截圖:
插圖 1.1:VIM 截圖
[img]http://www.ibiblio.org/web-gentoo/images/vishot.png[/img]
如果你是一個 vim 新手,試著在你的系統(tǒng)上運(yùn)行 gvim。從 GUI 使用可以讓新手覺得輕松一點(diǎn)。
2、第一步
打開一個文件
在使用 vi 編輯文件之前,你需要知道如何使用 vi 瀏覽一個文件。vi 有很多移動命令,而我們會接觸它們中的不少。在指南的這部分中,找一個無關(guān)緊要的文本文件,然后用 vi 打開它:
代碼 2.1: 用 vi 裝入一個文件
[code]$ vi myfile.txt [/code]
如果你安裝了 vim,輸入 vim myfile.txt。如果你決定使用 gvim,輸入 gvim myfile.txt。myfile.txt 是你系統(tǒng)中的一個文件名。
在 vi 中
啟動 vi 之后,你應(yīng)該看到文件的一部分顯示在你的顯示屏上。恭喜——你進(jìn)入了 vi!不像其它很多編輯器,當(dāng) vi 啟動的時候會進(jìn)入一個特別的“命令模式”。這意味著如果你鍵盤上的 1,vi 不會在當(dāng)前光標(biāo)位置輸入一個 1,而會將光標(biāo)向右移動一位。在命令模式,從鍵盤輸入的字符會作為命令傳遞給 vi,而不是向文件中插入文字。移動命令是所有命令中最基本的一類,讓我們來看一看。
3、來回移動
在 vi 中移動,第一部分
在命令模式中,你可以用 h、j、k 和 l 鍵將光標(biāo)分別向左、下、上和右側(cè)移動。如果你使用的是一個現(xiàn)代版本的 vi,你也可以用方向鍵達(dá)到相同的目的。h、j、k 和 l 鍵很有用:當(dāng)你習(xí)慣了它們的時候,你可以不必將你的手從鍵盤基本鍵位移開就可以在文件中移動。試著使用 h、j、k 和 l 鍵(以及方向鍵)在文件中移動光標(biāo)。試著用 h 移動到行首。注意 vi 不允許你用 h 鍵從行首自動退回到上一行。相似的,你不能用 l 從行末自動轉(zhuǎn)到下一行。
在 vi 中移動,第二部分
vi 為跳至行首、尾提供了特殊的快捷鍵。你可以按0(零)跳到行首,$ 跳到行末。試試看。因?yàn)?vi 有這么多的移動命令,我們可以把它作為一個好的“分頁”程序(就像 more 或者 less 命令)。把 vi 作為一個分頁程序也可以幫助你飛快地學(xué)習(xí)這些移動命令。
你也可以用 <CTR>F 和 <CTR>B 向前后一次移動一整頁。新的一些版本(譬如 vim)也支持用 PGUP 和 PGDOWN 鍵達(dá)到相同的目的。
按單詞移動,第一部分
vi 也允許你按照單詞長度來左右移動。要移動到下一個單詞的第一個字母,按 w 鍵。到下一個單詞的最后一個字母,按 e 鍵。移動到前一個單詞的第一個字母,按 b 鍵。試試。
按單詞移動,第二部分
試過這些移動命令之后,你可能注意到,vi 把 foo-bar-oni 這樣的單詞作為五個單獨(dú)的單詞!這是因?yàn)?vi 默認(rèn)以空格或者標(biāo)點(diǎn)符號作為單詞分界,是以 foo-bar-oni 備分解成五個單詞:foo、-、bar、- 和 oni。
有的時候這是你所期望的,有時候不是。幸運(yùn)的是,vi 能夠理解“長單詞”的概念。vi 僅僅以空格或換行作為長單詞的分界。這意味著雖然 foo-bar-oni 會被當(dāng)作五個 vi 單詞,它也可以作為一個長單詞處理。
按單詞移動,第三部分
你可以使用大寫的單詞移動命令在長單詞之間跳躍移動。W 跳到下一個長單詞的第一個字母,E 跳到最后一個字母,B 移動到前一個單詞的第一個字母。試試看,和普通單詞范圍的移動進(jìn)行比較,直到你明白它們的區(qū)別。
更大范圍的移動
在我們把所學(xué)過的東西歸納到清單里面之前還有幾個命令要看看。你可以用 ( 和 ) 移動到前后兩句的開始。此外,用 { 或 } 可以跳到當(dāng)前或者下一個段落的開頭。試試它們。
4、退出
我們已經(jīng)說了基本的移動命令,但是還有一些命令是你需要知道的。輸入 :q 可以退出 vi。如果這樣不能退出,可能是因?yàn)槟阈薷倪^這個文件。要讓 vi 退出而不保存修改,輸入 :q!。這樣你應(yīng)該退出到了命令提示符。
在 vi 中,以 : 開頭的命令被稱為 ex-模式命令。這是因?yàn)?vi 內(nèi)置了一個叫做 ex 的非可視化的編輯器。我們可以像使用 sed 一樣地使用 ex 進(jìn)行按行編輯文本。不僅如此,它也可以用來退出 vi,就像我們剛剛看見的。當(dāng)你在命令模式按下 Q 鍵,就可以進(jìn)入 ex 模式。這時,你會看見一個提示符 :;如果你按下回車鍵,整個屏幕會向上滾動。要回到熟悉的 vi 模式,只要輸入 vi 然后回車就可以了。
5、知識清單
清單的開頭
我們已經(jīng)提到了很多命令;現(xiàn)在到了把它們加入清單的時候了。你可以用一張 A4 或者 US 信紙來制作這份清單,因?yàn)槲覀儠诶锩鎸懞芏鄡?nèi)容!這是一份我的清單,里面包含了上面提到的所有命令。盡可能參考我的格式,這樣我們可以把所有東西都集中在一張紙上。
插圖 5.1:知識清單
[img]http://www.ibiblio.org/web-gentoo/images/vicheat-first.png[/img]
繁復(fù)的 vi (Miscellaneous vi)
讓我們繼續(xù)我們快速的命令行學(xué)習(xí)過程。在命令模式你可以用 G 跳至特定行。要跳到文件的第一行,輸入 1G。注意 G 是大寫字母。
如果你要搜索某個特定字符串模式在文件中的位置,輸入 /<regexp> 然后回車。用一個正則表達(dá)式來替換你要搜索的模式。如果你不會使用正則表達(dá)式,不用煩惱——直接輸入 /foo 會移動到下一個 foo 出現(xiàn)的地方。唯一需要注意的是,如果你需要尋找字面上的 ^、.、$ 或者 \,你需要在它們之前加上一個反斜線(\)。譬如,/foo\.gif 會尋找“foo.gif”的下一個出現(xiàn)位置。
要繼續(xù)向下尋找,按 n。要繼續(xù)向上尋找,輸入 N。還是一樣,用你自己的 vi 編輯器試驗(yàn)這些命令。你也可以用 // 來重復(fù)上一次的搜索。
6、保存和編輯
“保存”和“另存為...”
我們提到過,你可以用 ex 命令 :q 退出 vi。如果你要保存你做的改變,輸入 :w。如果你要保存你的更改后的文本到另外一個文件,輸入 :w filename.txt 會把文本保存為 filename.txt。如果你想保存后退出,輸入 :x 或者 :wq。
在 vim (以及其它一些高級的編輯器,例如 elvis):w,你可以同時打開幾個緩存。要在一個新窗口中打開文件,輸入 :sp filename.txt。filename.txt 會在一個分割開的新窗口中打開以供編輯。要在窗口之間切換,輸入 <CTR>w<CTR>w(按兩次 control-w)。:q、:q!、:w 和 :x 中的任一個都只作用于當(dāng)前活動的窗口。
簡單的編輯
現(xiàn)在是我們學(xué)習(xí)一些簡單編輯命令的時候了。我們將要提到的命令被稱為“簡單”是因?yàn)檫@些命令只需要你呆在命令模式。更復(fù)雜的編輯命令會讓你自動進(jìn)入插入模式——一個允許你從鍵盤輸入文本的模式。我們會在一會兒提到這些內(nèi)容。
現(xiàn)在,試著移過一些字符然后反復(fù)按 x 鍵。你會看見 x 會刪除當(dāng)前光標(biāo)位置的字符。現(xiàn)在移動到你打開的文件的一個段落中間的某處然后點(diǎn) J(大寫)。你會發(fā)現(xiàn) J 命令讓 vi 把下一行接在這一行的結(jié)尾?,F(xiàn)在,把光標(biāo)移過一段文字然后點(diǎn) r,再輸入一個新的字母,你會看見原來的內(nèi)容被替換了。最后,移動到文件的任一位置然后輸入 dd。你會發(fā)現(xiàn) dd 會刪除當(dāng)前一行文字。
替換和刪除
你可以點(diǎn) . 來重復(fù)任何一個編輯命令。如果你試試,你會看見 dd... 會刪除四行文字,而 J...... 會連接四行(譯者注:搞不懂ing,哪位大俠解釋一下為什么不是六行)。和往常一樣,vi 提供了非常順手的快捷方式。
要刪除文本,你可以用 d 命令結(jié)合任何的移動命令。例如,dw 會刪除從當(dāng)前光標(biāo)位置到下一個單詞開始處的內(nèi)容;d) 會刪除到下一個句子結(jié)束的地方;d} 會刪除這個段落的剩余內(nèi)容。試著用 d 命令和其它編輯命令直到你熟悉了它們。
撤銷!
我們正在試驗(yàn)刪除命令,而這正是一個學(xué)習(xí)撤銷改變的好時候。按 u 鍵,傳統(tǒng)的 vi 會僅僅允許你撤銷最后一次操作。然而,新版本的 vi 譬如 vim 允許你用重復(fù)的 u 命令撤銷你對文件作出的更改。把 d 和 u 命令一起試試。
升級你的知識清單
到了更新你的知識清單的時候了!添加上我們剛剛說過的那些命令,你的知識清單應(yīng)該看起來是這個樣子:
插圖 6.1:加入了編輯命令的知識清單
[img]http://www.ibiblio.org/web-gentoo/images/vicheat-edit.png[/img]
7、插入模式
到目前為止,我們知道了如何在 vi 中移動光標(biāo),進(jìn)行讀寫文件,還有一些基本的編輯操作。但是,我還沒有向你們展示如何輸入自由格式文本!這是我故意的,因?yàn)?vi 的插入模式在開始的時候會顯得有些復(fù)雜。不過,一旦你熟悉了插入模式,它的復(fù)雜度(以及可用性)會成為非常有用的東西。
在 vi 的插入模式,你將可以直接將文字輸入到屏幕,就像其它很多可視化編輯器一樣。當(dāng)你完成了你輸入的內(nèi)容,可以用 Esc 鍵退回到命令模式。i 或 a 可以讓你進(jìn)入插入模式。如果按 i,你的文本會插入在當(dāng)前字符之前;而 a 會讓你的文本插入在當(dāng)前字符之后。記住,完成輸入之后,用 Esc 鍵回到命令模式。
插入模式的優(yōu)點(diǎn)
去試試 a 和 i 命令。按其中任意一個,輸入一些文字,然后按退出鍵回到命令模式。按 a 或 i 之后試著按回車鍵看看會發(fā)生什么。試著用方向鍵和 Del 鍵感覺一下插入模式怎么工作。利用方向鍵和 Del 鍵,你可以不必退出到命令模式而完成相當(dāng)多的編輯工作。
插入選項
這里有其它一些方便的進(jìn)入插入模式的方法。按 A(大寫)從當(dāng)前一行的末尾開始插入內(nèi)容而不管你當(dāng)前的位置。相似的,I(大寫)讓你在當(dāng)前行的開始插入。按 o 會在當(dāng)前一行的下方新建一個空行以供插入,而 O 會在上方建立新行。要用新的空白行替代當(dāng)前整行文字,輸入 cc。要替代從當(dāng)前位置到當(dāng)前行的結(jié)束,輸入 c$。要替換從當(dāng)前位置到行的開始,輸入 c0。
除了上述提到的功能,上面的所有命令都會讓你進(jìn)入 vi 的插入模式。輸入完成之后,按 Esc 鍵回到命令模式。
改變文本
我們在前面嘗試過 c 修改命令,例如 cc、c0 和 c$。cc 是修改命令的一個特殊形式,類似 dd。c0 和 c$ 命令是組合使用修改命令和移動命令的示例。從這個角度來看,c 和 d 的工作方式相似,除了一點(diǎn):它讓你停留在插入模式。這樣,你可以輸入用來替代刪除部分的文本。試著把一些移動命令和 c 結(jié)合起來在你的文件中試試看(例如:cW、ce、c( )。
8、復(fù)合命令
當(dāng)你開始使用復(fù)合(“combo”)命令(類似 d{ 和 cw 之類)的時候,vi 才真正顯示它的強(qiáng)大。不僅是這些命令,我們還可以用一個數(shù)字與移動命令組合,例如 3w 會讓 vi 向右側(cè)跳過三個單詞。12b、4j 是其它一些數(shù)字和移動命令形成的組合命令。
vi,除了支持(數(shù)字)(移動命令)組合之外,還允許 d 和 c 與一個數(shù)字或者移動命令組合。d3w 會刪除下面三個單詞,d2j 會刪除當(dāng)前和下面兩行,等等。試試這些 c 和 d 的組合命令,看看 vi 能讓你的文本編輯變得如何簡單輕松。當(dāng)這些命令變得順手的時候,你將可以以一種難以置信的速度編輯文件。
更新知識清單
又到了更新知識清單的時間。它現(xiàn)在看起來應(yīng)該是這個樣子:
插圖 8.1:加入了復(fù)合命令的知識清單
[img]http://www.ibiblio.org/web-gentoo/images/vicheat-compound.png[/img]
提高生產(chǎn)力的特色
到目前為止,我們已經(jīng)學(xué)會了移動光標(biāo)、保存和退出、進(jìn)行簡單的編輯和刪除操作,以及使用插入模式。利用知識清單上面的內(nèi)容,你幾乎可以用 vi 完成所有的任務(wù)。
不過,vi 還有許多更強(qiáng)大的命令。在這個章節(jié)中,你將學(xué)會如何剪切、復(fù)制和粘貼,搜索和替換,以及使用“自動縮進(jìn)”等特點(diǎn)。這些命令讓 vi 變得更有趣而有用。
可視化模式
使用剪貼的最方便的辦法是使用可視化模式,一個加入現(xiàn)代版本 vi(譬如 vim 和 elvis)的特殊模式。你可以把可視化模式想象成“高亮文本”模式。當(dāng)文本被反白,我們可以復(fù)制或者刪除它,然后粘貼。如果你在使用 gvim,你可以輕松地按住鼠標(biāo)左鍵拖動來達(dá)到反白一段文字的效果:
插圖 8.2:VIM 與反白文本
[img]http://www.ibiblio.org/web-gentoo/images/vihighlight.png[/img]
除此之外,你也可以通過按 v (如果你通過控制臺調(diào)用 vi,這可能是你唯一的選擇)。然后,用移動命令(尤其是方向鍵)控制光標(biāo),你可以反白一段文字。反白之后,我們就可以復(fù)制或者剪切這段文字了。
如果要復(fù)制這段文字,按 y(表示“yank”,猛拉)。要剪切,點(diǎn) d。你會就此回到命令模式?,F(xiàn)在,移動到你想要粘貼剛剛復(fù)制/剪切的內(nèi)容的地方,然后按 P 在光標(biāo)后插入內(nèi)容,或者 p 將內(nèi)容插入在光標(biāo)之前。瞧,剪貼復(fù)制,就是這么輕松!在進(jìn)入下面一小節(jié)內(nèi)容之前,多試試剪切復(fù)制粘貼操作。
替換文本
我們用 ex 模式進(jìn)行文本替換。如果你要替換當(dāng)前行出現(xiàn)的第一個匹配模式,輸入 :s/<regexp>/<replacement>/ 然后按回車。這里 <regexp> 是你要匹配的模式,而 <replacement> 是你用來替換的字符串。要替換當(dāng)前行的所有匹配處,輸入 :s/<regexp>/<replacement>/g 然后回車。要替換文件中所有匹配位置(這通常是你需要的),輸入 :%s/<regexp>/<replacement>/g。如果你希望在全局替換過程中,vi 在每次替換之前進(jìn)行提示,輸入 :%s/<regexp>/<replacement>/gc (c 表示 confirm 確認(rèn))然后回車。
縮排
vi 支持自動縮排;當(dāng)你編輯程序源碼的時候可能需要這個功能。多數(shù)現(xiàn)代版本的 vi(例如 vim)會在你打開一個源碼文件(例如 .c 文件)自動啟用自動縮排功能。當(dāng)自動縮排啟動之后,你可以用 <CTR>d(control-d)向左移動一個縮排級別,或者 <CTR>t(control-t)向右移動一個縮排級別。如果自動縮排模式?jīng)]有自動啟用,你可以用 ex 模式命令 :set autoindent 來啟動它。你還可以用 :set tabstop 命令告訴 vi 你習(xí)慣的 tab 寬度;:set tabstop=4 是一個相當(dāng)流行的設(shè)置。
我們的最終版知識清單
Well,我們完成了我們的 vi 指南!加入了所有的高級編輯功能之后,這份清單應(yīng)該看著像這個樣子:
插圖 8.3:最終版知識清單
[img]http://www.ibiblio.org/web-gentoo/images/vicheat-final.png[/img]
把這份清單放在手邊,然后開始用 vi 編輯文檔、寫 email。當(dāng)你需要的時候參考這份清單;你會發(fā)現(xiàn)在這一周之內(nèi),你會記住幾乎所有這些命令,而 vi 的生產(chǎn)力會讓你飛翔天際!
如果你像把 vi 作為你的默認(rèn)編輯器,修改你的 /etc/rc.conf
代碼片斷 8.1:設(shè)置 vi 成默認(rèn)編輯器
(設(shè)置 EDITOR 為你選擇的編輯器。)
#EDITOR="/bin/nano"
EDITOR="/usr/bin/vim"
#EDITOR="/usr/bin/emacs"
參考資料
這里有一些你可能認(rèn)為有助于繼續(xù)學(xué)習(xí) vi 的資料:
·vi 主頁,關(guān)于 vi 的一切的好地方
·vim 主頁是你尋找 vim 相關(guān)信息的地方
·如果你在找一本好的過時的書,《Learning the vi Editor, 6th Edition》會是一個不錯的選擇,覆蓋了不少 vi 和 vi 變種的信息。
關(guān)于這份文檔
這份原始文檔作為 Westtech Information Services 的所有,最初發(fā)表在 IBM developerWorks。這一份是更新過的文檔,包含了很多 Gentoo Linux 文檔團(tuán)隊的改進(jìn)。
四、linux下vi編輯器命令大全
高級一些的編輯器,都會包含宏功能,vim當(dāng)然不能缺少了,在vim中使用宏是非常方便的:
:qx 開始記錄宏,并將結(jié)果存入寄存器x
q 退出記錄模式
@x 播放記錄在x寄存器中的宏命令
稍微解釋一下,當(dāng)在normal模式下輸入:qx后,你對文本的所有編輯動作將會被記錄下來,再次輸入q即退出了記錄模
式,然后輸入@x對剛才記錄下來的命令進(jìn)行重復(fù),此命令后可跟數(shù)字,表示要重復(fù)多少次,比如@x20,可以重復(fù)20次。這個在文本的批處理中是非常有用的。
同時編輯多個文件
在vim眾多的插件中,有一個叫minibuffer的插件,就是下面所說的標(biāo)簽頁功能了,可以支持同時編輯多個文件。
標(biāo)簽命令
:tabe fn 在一個新的標(biāo)簽頁中編輯文件fn
gt 切換到下一個標(biāo)簽頁
gT 切換到上一個標(biāo)簽頁
:tabr 切換到第一個標(biāo)簽頁
:tabl 切換到最后一個標(biāo)簽頁
:tabm [N] 把當(dāng)前tab移動到第N個tab之后
對,正如你所想象的那樣,跟eclipse, ue等的標(biāo)簽頁是一個意思!
窗口命令
ctrl+w s 水平分割窗口
ctrl+w w 切換窗口
ctrl+w q 退出當(dāng)前窗口(由于同時有多個文件,此命令不會影響其他窗口)
ctrl+w v 垂直分割窗口
其他
vim在保存之前不會對文件做實(shí)際的修改,只是加載到緩沖區(qū)中,對文件的編輯其實(shí)是對緩沖區(qū)的編輯,直到:w時才會存入物理文件。
:e file 把file加載到新的緩沖區(qū)中
:bn 跳轉(zhuǎn)到下一個緩沖區(qū)
:bd 刪除緩沖區(qū)(關(guān)閉文件)
:sp fn 分割窗口,并將fn加載到新的窗口中
退出編輯器
:w 將緩沖區(qū)寫入文件,即保存修改
:wq 保存修改并退出
:x 保存修改并退出
:q 退出,如果對緩沖區(qū)進(jìn)行過修改,則會提示
:q! 強(qiáng)制退出,放棄修改
查找替換
/pattern 向后搜索字符串pattern
?pattern 向前搜索字符串pattern
n 下一個匹配(如果是/搜索,則是向下的下一個,?搜索則是向上的下一個)
N 上一個匹配(同上)
:%s/old/new/g 搜索整個文件,將所有的old替換為new
:%s/old/new/gc 搜索整個文件,將所有的old替換為new,每次都要你確認(rèn)是否替換
復(fù)制粘貼
dd 刪除光標(biāo)所在行
dw 刪除一個字(word)
x 刪除當(dāng)前字符
X 刪除前一個字符
D 刪除到行末
yy 復(fù)制一行,此命令前可跟數(shù)字,標(biāo)識復(fù)制多行,如6yy,表示從當(dāng)前行開始復(fù)制6行
yw 復(fù)制一個字
y$ 復(fù)制到行末
p 粘貼粘貼板的內(nèi)容到當(dāng)前行的下面
P 粘貼粘貼板的內(nèi)容到當(dāng)前行的上面
]p 有縮進(jìn)的粘貼,vim會自動調(diào)節(jié)代碼的縮進(jìn)
"a 將內(nèi)容放入/存入a寄存器,可以支持多粘貼板
附:比如常用的一個寄存器就是系統(tǒng)寄存器,名稱為+,所以從系統(tǒng)粘貼板粘貼到vim中的命令為"+p,注意此處的+不表示操作符,二十一個寄存器。
移動光標(biāo)
在vim中移動光標(biāo)跟其他的編輯器中有很大的區(qū)別,不過一旦學(xué)會了,就會飛速的在文本中移動了。
h,j,k,l 上,下,左,右
ctrl-f 上翻一頁
ctrl-b 下翻一頁
% 跳到與當(dāng)前括號匹配的括號處,如當(dāng)前在{,則跳轉(zhuǎn)到與之匹配的}處
w 跳到下一個字首,按標(biāo)點(diǎn)或單詞分割
W 跳到下一個字首,長跳,如end-of-line被認(rèn)為是一個字
e 跳到下一個字尾
E 跳到下一個字尾,長跳
b 跳到上一個字
B 跳到上一個字,長跳
0 跳至行首,不管有無縮進(jìn),就是跳到第0個字符
^ 跳至行首的第一個字符
$ 跳至行尾
gg 跳至文件的第一行
gd 跳至當(dāng)前光標(biāo)所在的變量的聲明處
[N]G 跳到第N行,如0G,就等價于gg,100G就是第100行
fx 在當(dāng)前行中找x字符,找到了就跳轉(zhuǎn)至
; 重復(fù)上一個f命令,而不用重復(fù)的輸入fx
tx 與fx類似,但是只是跳轉(zhuǎn)到x的前一個字符處
Fx 跟fx的方向相反
),( 跳轉(zhuǎn)到上/下一個語句
* 查找光標(biāo)所在處的單詞,向下查找
# 查找光標(biāo)所在處的單詞,向上查找
`. 跳轉(zhuǎn)至上次編輯位置
在屏幕上移動
H 移動光標(biāo)到當(dāng)前屏幕上最上邊的一行
M 移動光標(biāo)到當(dāng)前屏幕上中間的一行
L 移動光標(biāo)到當(dāng)前屏幕上最下邊的一行
書簽
ma 把當(dāng)前位置存成標(biāo)簽a
`a 跳轉(zhuǎn)到標(biāo)簽a處
編輯
r 替換一個字符
J 將下一行和當(dāng)前行連接為一行
cc 刪除當(dāng)前行并進(jìn)入編輯模式
cw 刪除當(dāng)前字,并進(jìn)入編輯模式
c$ 擦除從當(dāng)前位置至行末的內(nèi)容,并進(jìn)入編輯模式
s 刪除當(dāng)前字符并進(jìn)入編輯模式
S 刪除光標(biāo)所在行并進(jìn)入編輯模式
xp 交換當(dāng)前字符和下一個字符
u 撤銷
ctrl+r 重做
. 重復(fù)上一個編輯命令
~ 切換大小寫,當(dāng)前字符
g~iw 切換當(dāng)前字的大小寫
gUiw 將當(dāng)前字變成大寫
guiw 將當(dāng)前字變成小寫
>> 將當(dāng)前行右移一個單位
<< 將當(dāng)前行左移一個單位(一個tab符)
== 自動縮進(jìn)當(dāng)前行
插入模式
i 從當(dāng)前光標(biāo)處進(jìn)入插入模式
I 進(jìn)入插入模式,并置光標(biāo)于行首
a 追加模式,置光標(biāo)于當(dāng)前光標(biāo)之后
A 追加模式,置光標(biāo)于行末
o 在當(dāng)前行之下新加一行,并進(jìn)入插入模式
O 在當(dāng)前行之上新加一行,并進(jìn)入插入模式
Esc 退出插入模式
可視模式
標(biāo)記文本
v 進(jìn)入可視模式,單字符模式
V 進(jìn)入可視模式,行模式
ctrl+v 進(jìn)入可視模式,列模式,類似于UE的列模式
o 跳轉(zhuǎn)光標(biāo)到選中塊的另一個端點(diǎn)
U 將選中塊中的內(nèi)容轉(zhuǎn)成大寫
O 跳轉(zhuǎn)光標(biāo)到塊的另一個端點(diǎn)
aw 選中一個字
ab 選中括號中的所有內(nèi)容,包括括號本身
aB 選中{}括號中的所有內(nèi)容
ib 選中括號中的內(nèi)容,不含括號
iB 選中{}中的內(nèi)容,不含{}
對標(biāo)記進(jìn)行動作
> 塊右移
< 塊左移
y 復(fù)制塊
d 刪除塊
~ 切換塊中內(nèi)容的大小寫
以上就是關(guān)于vi編輯器怎么用相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
vi設(shè)計系統(tǒng)形象廣告設(shè)計(什么叫vi形象設(shè)計)
VI手冊應(yīng)用系統(tǒng)模板(vi手冊應(yīng)用部分都有什么)
騰訊視頻關(guān)注vip公眾號任務(wù)(騰訊視頻關(guān)注vip公眾號任務(wù)怎么做)