首頁 >運維 >linux運維 >linux中退出vi編輯器,按esc沒反應怎麼辦?

linux中退出vi編輯器,按esc沒反應怎麼辦?

coldplay.xixi
coldplay.xixi原創
2020-07-07 15:21:259066瀏覽

linux中退出vi編輯器,按下esc沒反應的解決方法:1、在正常模式下按下q鍵盤;2、選擇【a-z】或【0-9】中任一個作為緩衝器的名字,準備開始錄製巨集;3、在非insert模式下輸入q停止巨集的錄製;4、使用@和定義的緩衝器名字即可。

linux中退出vi編輯器,按esc沒反應怎麼辦?

linux中退出vi編輯器,按下esc沒反應的解決方法:

##vim recording功能介紹

使用vim時無意間觸碰到q鍵,左下角出現「recording」這個標識,覺得好奇,遂在網上查了一下,然後這是vim的一個強大功能。他可以錄製一個巨集(Macro),在開始錄製後,會記錄你所有的鍵盤輸入,包括在insert模式下的輸入、正常模式下使用的各種指令等。

具體使用:

第一步:在正常模式下(非insert模式、非visual模式)按下q鍵盤

第二步:選擇a-z或0 -9中任一個作為緩衝器的名字,準備開始錄製巨集

第三步:正常的操作,這次所有的操作都會被記錄在上一個步驟中定義的緩衝器中

第四步:在非insert模式下輸入q停止巨集的錄製

第五步:使用@ 第二步中定義的緩衝器的名字即可。

例如想把下面的文字

line1
line-2
line3-1
l4

變成如下的文字

System.out.println(line1);
System.out.println(line1);
System.out.println(line-2);
System.out.println(line3-1);
System.out.println(L4);

觀察可以發現他們的規律,在每行文字的開頭加上「System.out. println(”,結尾加上“);”就變成下面的資訊了。

下面簡單介紹如何使用recording來完成這樣的操作。

先把遊標移動line1上,輸入qt,準備開始錄製,緩衝器的名字為t,錄製的動作為:shift ^ 回到行首、按下i鍵進入insert模式、輸入「System.out.println(」、按下esc鍵回到正常模式、shift $ 回到行尾部、按下i鍵進入insert模式、輸入「);」按下esc鍵回到正常模式,按下q停止錄製。然後把遊標移到下面一行的任何位置輸入 @ t 即可。

recording也可以和查詢結合起來使用,例如想把一個檔案中含有特定字串的行註釋,可以透過這樣​​的巨集來實現。在正常模式下輸入

/search string entershift ^i#、escshift $

讓自訂的巨集自動執行多次的方法是先輸入一個數字,然後在輸入@ 緩衝器的名字。例如 100@t,表示執行100次。

相關學習推薦:

linux影片教學

以上是linux中退出vi編輯器,按esc沒反應怎麼辦?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn