HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    vi編輯器怎么用(vi編輯器怎么用鼠標(biāo))

    發(fā)布時間:2023-04-02 00:26:08     稿源: 創(chuàng)意嶺    閱讀: 62        當(dāng)前文章關(guān)鍵詞排名出租

    大家好!今天讓創(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

    本文目錄:

    vi編輯器怎么用(vi編輯器怎么用鼠標(biāo))

    一、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ù)怎么做)

    山南景觀設(shè)計與施工

    全國床墊品牌十大排名(全國床墊品牌十大排名圖片)