Linux檔案編輯器 Vi(Vim)

來源:互聯網
上載者:User

參考:http://huangbao.blog.51cto.com/725279/152665

1、關於文字編輯器

       linux、unix下的文本編譯器不少,不過vi應該是比較常用的吧。說實話我不太喜歡用,竟然發現有些同事跟蹤代碼都用這個,難道這就是傳說中的“大牛”??看他們在那樣低的效率下工作,真是有點……不“XX”會出事嗎?大家水平都差不多。我還有喜歡用"Source Insight"(只是說跟蹤代碼)

      喜歡用不喜歡用是一會事,不過有時候還是得用的。寫個小的指令碼什麼來著, 記一些常用的方法,最近想搞個培訓,所以從最基本的東西說起。

      vi 或vim是Linux最基本的文本編輯工具,vi或vim雖然沒有圖形介面編輯器那樣點滑鼠的簡單操作,但vi編輯器在系統管理、伺服器管理中,永遠不是圖形介面的編輯器能比的。當您沒有安裝X-windows案頭環境或案頭環境崩潰時,我們仍需要字元模式下的編輯器vi;vi或vim 編輯器在建立和編輯簡單文檔最高效的工具;
2、vi 編輯器的使用方法

(1)、 如何調用vi 

執行下面命令就可以進入如下:

[root@localhost ~]# vi filename
~
~
~
(2) vi 的三種命令模式有三種
Command(命令)模式,用於輸入命令;
Insert(插入)模式,用於插入文本;
Visual(可視)模式,用於視化的的高亮並選定本文;
(3)、檔案的儲存和退出
Command 模式是vi或vim的預設模式,如果我們處於其它命令模式時,要通過ESC鍵切換過來。
當我們按ESC鍵後,接著再輸入:號時,vi會在螢幕的最下方等待我們輸入命令;
:w 儲存;
:w filename 另存新檔filename;
:wq! 儲存退出;
:wq! filename 註:以filename為檔案名稱儲存後退出;
:q! 不儲存退出;(退出說明視窗)

應該是儲存並退出 ,功能和:wq!相同

(4)、游標移動
當我們按ESC進入Command模式後,我們可以用下面的一些鍵位來移動游標;

j 向下移動一行;
k 向上移動一行;
h 向左移動一個字元;
l 向右移動一個字元;
ctrl+b 向上移動一屏;
ctrl+f 向下移動一屏;
向上箭頭 向上移動;
向下箭頭 向下移動;
向左箭頭 向左移動;
向右箭頭 向右移動;
我們編輯一個檔案時,對於 j、k、l和h鍵,還能在這些動作命令的前面加上數字,比如 3j,表示向下移動3行。
(5)、插入模式(文本的插入)
i 在游標之前插入;
a 在游標之後插入;
I 在游標所在行的行首插入;
A 在游標所在行的行末插入;
o 在游標所在的行的上面插入一行;
O 在游標所在的行的下面插入一行;
s 刪除游標後的一個字元,然後進入插入模式;
S 刪除游標所在的行,然後進入插入模式;
(6)、常值內容的刪除操作
x 一個字元;
#x 刪除幾個字元,#表示數字,比如3x;
dw 刪除一個單詞;
#dw 刪除幾個單詞,#用數字表示,比如3dw表示刪除三個單詞;
dd 刪除一行;
#dd 刪除多個行,#代表數字,比如3dd 表示刪除游標行及游標的下兩行;
d$ 刪除游標到行尾的內容;
J 清除游標所處的行與上一行之間的空格,把游標行和上一行接在一起;

(7)、恢複修改及恢複刪除操作
u 撤消修改或刪除操作;
按ESC鍵返回Command(命令)模式,然後按u鍵來撤消刪除以前的刪除或修改;

如果您想撤消多個以前的修改或刪除操作,請按多按幾次u。這和Word的撤消操作沒有太大的區別;

(8) 可視模式
在最新的Linux發行版本中,vi提供了可視模式,因為這個功能是vim才有的。如果您用的vi沒有這個功能,就換成vim就有了。開啟可視模式,按ESC鍵,然後按v就進入可視模式;可視模式為我們提供了極為友好的選取文本範圍,以高亮顯示;在螢幕的最下方顯示有;
-- 可視 -- 

--VISUAL--
進入可視模式,我們就可以用前面所說的命令列模式中的游標移動指令,可以進行文本範圍的選取。
選取文本範圍有何用?
我們可以對某部份刪除作業,按d鍵就刪除了我們選中的內容。
選中內容後,我們按y就表示複製;按d表示刪除;
值得一提是的刪除的同時,也表示複製。我們返回到命令模式,然後移動游標到某個位置,然後按shift+p鍵,就把剛才刪除的內容貼上了。我們先在這裡提一句,在後文,我們還得詳細說說。
退出可視模式,還是用ESC鍵;

(9)、複製和粘帖的操作

其實刪除也帶有剪下的意思,當我們刪除文字時,可以把游標移動到某處,然後按shift+p鍵就把內容貼在原處,然後再移動游標到某處,然後再按p或shift+p又能貼上;
p 在游標之後粘帖;
shift+p 在游標之前粘帖
(10)、關於行號
有時我們配置一個程式運行時,會出現設定檔X行出現錯誤 。這時我們要用到行號相關的操作;
為所有內容添加行號;
按ESC鍵,然後輸入:
:set number
游標所處位置
在螢幕的右下角,有類似如下的;
  57,8 27%
在這之中,57表示第57行,8表示第8個字元;
(11)、尋找和替換功能
== 尋找

首先,我們要進入ESC鍵,進入命令模式;我們輸入/或?就進入尋找模式了;
/SEARCH 註:正向尋找,按n鍵把游標移動到下一個合格地方;
?SEARCH 註:反向尋找,按shift+n 鍵,把游標移動到下一個合格

舉一例:比如我想在一個檔案中找到swap單詞,我應該如下做;
首先按ESC鍵,進入命令模式,然後輸入;
/swap

?swap
==替換
按ESC鍵進入命令模式;
:s /SEARCH/REPLACE/g 註:把當前游標所處的行中的SEARCH單詞,替換成REPLACE,並把所有SEARCH高亮顯示;
:%s /SEARCH/REPLACE 註:把文檔中所有SEARCH替換成REPLACE;
:#,# s /SEARCH/REPLACE/g 註:#號表示數字,表示從多少行到多少行,把SEARCH替換成REPLACE;
註:在這之中,g表示全域尋找;我們注意到,就是沒有替換的地方,也會把SEARCH高亮顯示;
舉例說明:
比如我們有一篇文檔要修改;我們把游標所在的行,把所有單詞the,替換成THE,應該是:
:s /the/THE/g
我們把整篇文檔的所有的the都替換成THE,應該是: 
:%s /the/THE
我們僅僅是把第1行到第10行中的the,替換成THE,應該是;
:1,10 s /the/THE/g
3、傳個比較完整的圖:預覽下怎麼不完整,有需要的儲存到電腦看了,csdn圖檔這一塊要升下級嗎……

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.