學習linux–vi 使用

來源:互聯網
上載者:User

目錄

1、關於文字編輯器;
2、vi 編輯器;
3、vi 編輯器的使用方法;

3.1 如何調用vi ;
3.2 vi 的三種命令模式;
3.3 檔案的儲存和退出;
3.4 游標移動;
3.5
插入模式(文本的插入);
3.6 常值內容的刪除操作;
3.7 恢複修改及恢複刪除操作;
3.8 可視模式;
3.9
複製和粘帖的操作;
3.10 關於行號;
3.11 尋找和替換功能;

3.11.1 尋找;
3.11.2 替換;

4、參考文檔;

==========================================================
本文
==========================================================

1、關於文字編輯器;

  文字編輯器有很多,比形模式的gedit、kwrite、OpenOffice ... ...
,文字模式下的編輯器有vi、vim(vi的增強版本)和nano ... ...
vi和vim是我們在Linux中最常用的編輯器。我們有必要介紹一下vi(vim)最簡單的用法,以讓Linux入門級使用者在最短的時間內學會使用它。

  nano 工具和DOS作業系統下的edit操作相似,使用簡單,我們不作介紹了,如果您有興趣,不妨嘗試一下;

2、vi 編輯器;

  為什麼要學會簡單應用vi

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

  vi或vim 編輯器在建立和編輯簡單文檔最高效的工具;

3、vi 編輯器的使用方法;

3.1 如何調用vi;

 

# vi filename
~
~
~

3.2 vi 的三種命令模式;

 

Command(命令)模式,用於輸入命令;
Insert(插入)模式,用於插入文本;
Visual(可視)模式,用於視化的的高亮並選定本文;

3.3 檔案的儲存和退出;

  Command 模式是vi或vim的預設模式,如果我們處於其它命令模式時,要通過ESC鍵切換過來。

  當我們按ESC鍵後,接著再輸入:號時,vi會在螢幕的最下方等待我們輸入命令;

:w 儲存;
:w filename 另存新檔filename;
:wq 儲存退出;
:wq filename
註:以filename為檔案名稱儲存後退出;
:q! 不儲存退出;
:x 是儲存並退出

 

 

3.4 游標移動;

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

j 向下移動一行;
k 向上移動一行;
h 向左移動一個字元;
l
向右移動一個字元;
ctrl+b 向上移動一屏;
ctrl+f 向下移動一屏;
向上箭頭 向上移動;
向下箭頭
向下移動;
向左箭頭 向左移動;
向右箭頭 向右移動;

  我們編輯一個檔案時,對於 j、k、l和h鍵,還能在這些動作命令的前面加上數字,比如 3j,表示向下移動3行。

3.5
插入模式(文本的插入);

i 在游標之前插入;
a 在游標之後插入;
I 在游標所在行的行首插入;
A
在游標所在行的行末插入;
o 在游標所在的行的上面插入一行;
O 在游標所在的行的下面插入一行;
s
刪除游標後的一個字元,然後進入插入模式;
S 刪除游標所在的行,然後進入插入模式;

3.6 常值內容的刪除操作;

  
x 一個字元;
#x 刪除幾個字元,#表示數字,比如3x;
dw
刪除一個單詞;
#dw 刪除幾個單詞,#用數字表示,比如3dw表示刪除三個單詞;
dd 刪除一行;
#dd 刪除多個行,#代表數字,比如3dd
表示刪除游標行及游標的下兩行;
d$ 刪除游標到行尾的內容;
J
清除游標所處的行與上一行之間的空格,把游標行和上一行接在一起;

3.7 恢複修改及恢複刪除操作;

u 撤消修改或刪除操作;

  按ESC鍵返回Command(命令)模式,然後按u鍵來撤消刪除以前的刪除或修改;如果您想撤消多個以前的修改或刪除操作,請按多按幾次u。這和Word的撤消操作沒有太大的區別;

3.8
可視模式;

  在最新的Linux發行版本中,vi提供了可視模式,因為這個功能是vim才有的。如果您用的vi沒有這個功能,就換成vim就有了。開啟可視模式,按ESC鍵,然後按v就進入可視模式;

  可視模式為我們提供了極為友好的選取文本範圍,以高亮顯示;在螢幕的最下方顯示有;

-- 可視 --

--VISUAL--

  
  進入可視模式,我們就可以用前面所說的命令列模式中的游標移動指令,可以進行文本範圍的選取。

  選取文本範圍有何用?

  我們可以對某部份刪除作業,按d鍵就刪除了我們選中的內容。選中內容後,我們按y就表示複製;按d表示刪除;

  值得一提是的刪除的同時,也表示複製。我們返回到命令模式,然後移動游標到某個位置,然後按shift+p鍵,就把剛才刪除的內容貼上了。我們先在這裡提一句,在後文,我們還得詳細說說。

  退出可視模式,還是用ESC鍵;

 

3.9
複製和粘帖的操作;

  其實刪除也帶有剪下的意思,當我們刪除文字時,可以把游標移動到某處,然後按shift+p鍵就把內容貼在原處,然後再移動游標到某處,然後再按p或shift+p又能貼上;

p 在游標之後粘帖;
shift+p 在游標之前粘帖

  來舉一例:

  比如我們想把一個文檔的第三行複製下來,然後帖到第五行的後面,我們應該怎麼做呢?

  有兩種方法;

  第一種方法:

  先把第三行刪除,把游標移動到第三行處,然後用dd動作,接著再按一下shift+p鍵。這樣就把剛才刪除的第三行帖在原處了。

  接著我們再用k鍵移動游標到第五行,然後再按一下p鍵,這樣就把第三行的內容又帖到第五行的後面了;

  第二種方法;

  進入可視模式,按ESC鍵,然後按v鍵。移動滑鼠指標,選中第三行的內容,然後按y鍵複製;再移動指標到第五行,最後按p鍵;

  所以複製和粘貼操作,是命令模式、插入模式及可視模式的綜合運用;我們要學會各種模式之間的切換,要常用ESC鍵;更為重要的學會在命令模式下移動游標;

3.10
關於行號;

  有時我們配置一個程式運行時,會出現設定檔X行出現錯誤
。這時我們要用到行號相關的操作;

  為所有內容添加行號;

  按ESC鍵,然後輸入:

:set number

  游標所處位置

  在螢幕的右下角,有類似如下的;

57,8 27%

  在這之中,57表示第57行,8表示第8個字元;

3.11 尋找和替換功能;

3.11.1
尋找;

  首先,我們要進入ESC鍵,進入命令模式;我們輸入/或?就進入尋找模式了;

/SEARCH 註:正向尋找,按n鍵把游標移動到下一個合格地方;
?SEARCH
註:反向尋找,按shift+n 鍵,把游標移動到下一個合格

  舉一例:比如我想在一個檔案中找到swap單詞,我應該如下做;

  首先按ESC鍵,進入命令模式,然後輸入;

/swap

?swap

3.11.2 替換;

  按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

4、參考文檔;
  man vi 和vi --help

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.