-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 景觀設(shè)計 > 專題列表 > 正文
3、怎樣使用vi?
vi文件用什么打開(.vi文件)
大家好!今天讓小編來大家介紹下關(guān)于vi文件用什么打開的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,相關(guān)業(yè)務(wù)請撥打電話:175-8598-2043,或添加微信:1454722008
文章目錄列表:
一、在ubuntu中如何打開vi
直接在終端中輸入 vi 即可的
ycl@ycl-virtual-machine:~$ vi
二、linux中的vi如何運行
在LINUX的字符模式或者打開一個終端,輸入vi
文件名
回車即可
如果你輸入的這個文件名存在的話,它就打開或者編輯這個文件;如果你輸入的這個文件名不存在,它就創(chuàng)建這個文件。
也可直接輸入vi
回車
三、怎樣使用vi?
你要在什么系統(tǒng)下使用VI 都要區(qū)分好的
學(xué)習(xí) vi —— “學(xué)習(xí)清單”式
1、起點
介紹
這篇指南要向你介紹 vi ——一個強(qiáng)大的可視化編輯器——的使用方法。通過一種特殊的循序漸進(jìn)的“作弊紙”模式,這篇指南讓你在短時間內(nèi)迅速成為 vi 高手。在這篇指南里面,你將學(xué)到如何瀏覽、編輯文字、使用“插入”模式、復(fù)制粘貼以及使用一些重要的 vi 插件(譬如:可視化插件)和多窗口編輯。
如果你不知道,或者對 vi 感到不爽,那么趕快利用這篇指南,讓這個 Linux/UNIX 平臺最流行、最強(qiáng)大的可視化瀏覽器為你的工作添油加速吧!
關(guān)于這篇指南
學(xué)習(xí) vi 的最大難點在于——vi 的繁多的指令。為了有效利用 vi,你需要記住其中不少的一些。這可能需要不少時間;而偏偏這篇指南的目的之一就是在于利用盡可能少的時間。所以,從一開始,我們將面對一個挑戰(zhàn)——我怎么幫助你在短期內(nèi)記住大量的命令。
為了在這篇指南的過程中解決這個難題,我們會逐漸一點一點積累起一張關(guān)于 vi 的知識清單。這張清單會包含所有重要的 vi 命令。當(dāng)你完成了這份指南,當(dāng)你忘記某個 vi 命令的時候,你可以很輕松得從這份清單中查找特定的命令。逐漸地,隨著你記住這些命令,你會越來越少依賴這份清單。通過使用“知識清單”技術(shù),你可以前所未有的速度學(xué)會使用 vi !
學(xué)習(xí)過程
在這份指南中,我會使用一些幫助你學(xué)習(xí)的辦法。首先,如同你所期待的,我會介紹一條命令是如何工作的。然后,我會請你在 vi 中練習(xí)使用這條命令,之后把這條命令記錄在知識清單中,以備日后參考。一一執(zhí)行這些步驟對于你快速學(xué)習(xí) vi 有莫大的幫助。試驗并且記錄這些命令會幫助你記住它們。
介紹 vim
Vi 有很多不同版本,而我要向你介紹的是一個叫做 vim 的版本。vim 非常流行;它有相當(dāng)多的擴(kuò)展模塊使得 vi 更棒(當(dāng)我展示一個 vim 獨有的命令的時候,我會特別指出)。如果你需要安裝 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)上運行 gvim。從 GUI 使用可以讓新手覺得輕松一點。
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(零)跳到行首,$ 跳到行末。試試看。因為 vi 有這么多的移動命令,我們可以把它作為一個好的“分頁”程序(就像 more 或者 less 命令)。把 vi 作為一個分頁程序也可以幫助你飛快地學(xué)習(xí)這些移動命令。
你也可以用 <CTR>F 和 <CTR>B 向前后一次移動一整頁。新的一些版本(譬如 vim)也支持用 PGUP 和 PGDOWN 鍵達(dá)到相同的目的。
按單詞移動,第一部分
vi 也允許你按照單詞長度來左右移動。要移動到下一個單詞的第一個字母,按 w 鍵。到下一個單詞的最后一個字母,按 e 鍵。移動到前一個單詞的第一個字母,按 b 鍵。試試。
按單詞移動,第二部分
試過這些移動命令之后,你可能注意到,vi 把 foo-bar-oni 這樣的單詞作為五個單獨的單詞!這是因為 vi 默認(rèn)以空格或者標(biāo)點符號作為單詞分界,是以 foo-bar-oni 備分解成五個單詞:foo、-、bar、- 和 oni。
有的時候這是你所期望的,有時候不是。幸運的是,vi 能夠理解“長單詞”的概念。vi 僅僅以空格或換行作為長單詞的分界。這意味著雖然 foo-bar-oni 會被當(dāng)作五個 vi 單詞,它也可以作為一個長單詞處理。
按單詞移動,第三部分
你可以使用大寫的單詞移動命令在長單詞之間跳躍移動。W 跳到下一個長單詞的第一個字母,E 跳到最后一個字母,B 移動到前一個單詞的第一個字母。試試看,和普通單詞范圍的移動進(jìn)行比較,直到你明白它們的區(qū)別。
更大范圍的移動
在我們把所學(xué)過的東西歸納到清單里面之前還有幾個命令要看看。你可以用 ( 和 ) 移動到前后兩句的開始。此外,用 { 或 } 可以跳到當(dāng)前或者下一個段落的開頭。試試它們。
4、退出
我們已經(jīng)說了基本的移動命令,但是還有一些命令是你需要知道的。輸入 :q 可以退出 vi。如果這樣不能退出,可能是因為你修改過這個文件。要讓 vi 退出而不保存修改,輸入 :q!。這樣你應(yīng)該退出到了命令提示符。
在 vi 中,以 : 開頭的命令被稱為 ex-模式命令。這是因為 vi 內(nèi)置了一個叫做 ex 的非可視化的編輯器。我們可以像使用 sed 一樣地使用 ex 進(jìn)行按行編輯文本。不僅如此,它也可以用來退出 vi,就像我們剛剛看見的。當(dāng)你在命令模式按下 Q 鍵,就可以進(jìn)入 ex 模式。這時,你會看見一個提示符 :;如果你按下回車鍵,整個屏幕會向上滾動。要回到熟悉的 vi 模式,只要輸入 vi 然后回車就可以了。
5、知識清單
清單的開頭
我們已經(jīng)提到了很多命令;現(xiàn)在到了把它們加入清單的時候了。你可以用一張 A4 或者 US 信紙來制作這份清單,因為我們會在里面寫很多內(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 編輯器試驗這些命令。你也可以用 // 來重復(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í)一些簡單編輯命令的時候了。我們將要提到的命令被稱為“簡單”是因為這些命令只需要你呆在命令模式。更復(fù)雜的編輯命令會讓你自動進(jìn)入插入模式——一個允許你從鍵盤輸入文本的模式。我們會在一會兒提到這些內(nèi)容。
現(xiàn)在,試著移過一些字符然后反復(fù)按 x 鍵。你會看見 x 會刪除當(dāng)前光標(biāo)位置的字符。現(xiàn)在移動到你打開的文件的一個段落中間的某處然后點 J(大寫)。你會發(fā)現(xiàn) J 命令讓 vi 把下一行接在這一行的結(jié)尾。現(xiàn)在,把光標(biāo)移過一段文字然后點 r,再輸入一個新的字母,你會看見原來的內(nèi)容被替換了。最后,移動到文件的任一位置然后輸入 dd。你會發(fā)現(xiàn) dd 會刪除當(dāng)前一行文字。
替換和刪除
你可以點 . 來重復(fù)任何一個編輯命令。如果你試試,你會看見 dd... 會刪除四行文字,而 J...... 會連接四行(譯者注:搞不懂ing,哪位大俠解釋一下為什么不是六行)。和往常一樣,vi 提供了非常順手的快捷方式。
要刪除文本,你可以用 d 命令結(jié)合任何的移動命令。例如,dw 會刪除從當(dāng)前光標(biāo)位置到下一個單詞開始處的內(nèi)容;d) 會刪除到下一個句子結(jié)束的地方;d} 會刪除這個段落的剩余內(nèi)容。試著用 d 命令和其它編輯命令直到你熟悉了它們。
撤銷!
我們正在試驗刪除命令,而這正是一個學(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)行讀寫文件,還有一些基本的編輯操作。但是,我還沒有向你們展示如何輸入自由格式文本!這是我故意的,因為 vi 的插入模式在開始的時候會顯得有些復(fù)雜。不過,一旦你熟悉了插入模式,它的復(fù)雜度(以及可用性)會成為非常有用的東西。
在 vi 的插入模式,你將可以直接將文字輸入到屏幕,就像其它很多可視化編輯器一樣。當(dāng)你完成了你輸入的內(nèi)容,可以用 Esc 鍵退回到命令模式。i 或 a 可以讓你進(jìn)入插入模式。如果按 i,你的文本會插入在當(dāng)前字符之前;而 a 會讓你的文本插入在當(dāng)前字符之后。記住,完成輸入之后,用 Esc 鍵回到命令模式。
插入模式的優(yōu)點
去試試 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 的工作方式相似,除了一點:它讓你停留在插入模式。這樣,你可以輸入用來替代刪除部分的文本。試著把一些移動命令和 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)”等特點。這些命令讓 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”,猛拉)。要剪切,點 d。你會就此回到命令模式。現(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)。
四、誰知道怎樣啟動Vi
我不知道你說的是不是Linux下的Vi。如果是,它是指文本編輯器。在Windows里是沒有的。啟動的方法,就是輸入vi就可以了(小寫)。具體使用方法網(wǎng)上有很多。
以上就是小編對于vi文件用什么打開問題和相關(guān)問題的解答了,如有疑問,可撥打網(wǎng)站上的電話,或添加微信。
推薦閱讀:
vi視覺識別設(shè)計公司(vi視覺設(shè)計是什么意思)
vi手冊設(shè)計的總結(jié)(vi手冊設(shè)計的心得體會論文)
騰訊視頻一元三天vip(騰訊視頻一元三天vip活動網(wǎng)址)
青浦庭院景觀設(shè)計工程(青浦庭院景觀設(shè)計工程招聘)
洪雅城市景觀設(shè)計公司(洪雅城市景觀設(shè)計公司有哪些)