RD基本功 Vi基礎與最常用指令

2021-09-13 23:25:14 字數 2603 閱讀 1602

寫在前面:作為常年與伺服器、linux打交道的後端開發rd,基本的vi操作是一定要運用非常熟練的;本篇文章就記錄了一些日常工作中最常用的的指令,希望能和大家共同學習共同進步~

一、vi與vim的區別

vim是vi的公升級版本,它相容vi的所有指令,並提供一些新特性,如以不同顏色標識語法等;(之後會總結一些vim的常用功能~)

二、vi的三種模式

模式功能一般模式

通過vi開啟檔案後的預設模式,在此模式下可以方便地移動游標,執行複製、剪下、刪除、貼上等操作;

編輯模式

在一般模式按下【i、i、o、o、a、a、r、r】等字元即可進入編輯模式(最常使用【i】在游標處開始編輯、【o】在游標下一行插入新行,並跳轉至新行開始編輯),編輯模式下可以編輯檔案,按下【esc】可退出到一般模式;

命令列模式

在一般模式按下【:、/、?】字元即可進入命令列模式,命令列模式下可以儲存修改、離開vi、查詢字元、替換字元,按下【esc】可退出到一般模式;

三、最常用指令

1、移動指令

指令功能

簡介編者按

k/j/h/l

上下左右移動游標

一般模式下,可以使用【k/j/h/l】代替方向鍵上下左右移動游標,多次相同移動指令可使用數字+指令執行,如【30j】即代表向下移動游標30次;

剛開始使用這四個鍵會很難記、很不適應,但習慣後的確會更方便、更極致;

ctrl+f

向下翻頁

一般模式下,可以使用組合鍵【ctrl+f】向下翻頁;

適用於vi瀏覽多頁資料

ctrl+b

向上翻頁

一般模式下,可以使用組合鍵【ctrl+b】向上翻頁;

適用於vi瀏覽多頁資料

0移動游標到行首

一般模式下,可以使用數字移動游標到行首;

非常常用;

$移動游標到行尾

一般模式下,可以使用符號【$】移動游標到行尾;

非常常用;

g移動游標到檔案最後一行

一般模式下,可以使用大寫字母【g】移動游標到檔案最後一行,【ng】代表移動游標到檔案的第n行;

非常常用,比如直接跳到日誌檔案末尾檢視最新的日誌;

gg移動游標到檔案第一行

一般模式下,可以使用【gg】移動到檔案第一行;

非常常用;

2、查詢替換指令

指令功能

簡介編者按

/關鍵字

從游標位置向下查詢關鍵字

一般模式下,可以通過符號【/】進入命令列模式,再鍵入要查詢的關鍵字,按下【回車】即可自動將游標移動到向下第乙個關鍵字處;結合【n】沿之前方向繼續查詢(此處為繼續向下)、【n】沿之前反向繼續查詢(此處為繼續向上);

非常常用,比如通過關鍵字查詢日誌;

?關鍵字

從游標位置向上查詢關鍵字

一般模式下,可以通過符號【?】進入命令列模式,再鍵入要查詢的關鍵字,按下【回車】即可自動將游標移動到向上第乙個關鍵字處;結合【n】沿之前方向繼續查詢(此處為繼續向上)、【n】沿之前反向繼續查詢(此處為繼續向下);

無:1,$s/word1/word2/gc

從第一行到最後一行查詢word1並替換為word2,並在替換前提示使用者確認

一般模式下,可以通過符號【:】進入命令列模式,再鍵入【1,$】代表從第一行到最後一行,$也可以用具體的行號代替,最後的引數【c】代表替換前提示使用者確認;

一般來說,除非確認要全域性替換的情況,還是推薦加上引數【c】確保替換無誤;

3、剪下、刪除、複製、貼上指令

指令功能

簡介編者按

x刪除(剪下)游標位置處的字元

在一般模式下,可以使用小寫字母【x】代替【del】刪除(剪下)游標位置的字元;

非常常用,較使用【del】更方便;在vi指令中,刪除一般都可以做為剪下使用;

dd刪除(剪下)游標所在行

在一般模式下,可以使用【dd】刪除(剪下)游標所在行操作;可使用【ndd】刪除連續的n行;

非常常用;

yy複製游標所在行

在一般模式下,可以使用【yy】複製游標所在行;可使用【nyy】複製連續的n行;

非常常用;

p將已複製的資料貼上在游標下一行

在一般模式下,可以使用【p】將已複製的資料貼上在游標下一行;

非常常用;

4、重複操作與撤銷操作指令

指令功能

簡介編者按

u撤銷前乙個操作

在一般模式下,可使用【u】撤銷之前的操作

非常常用;

ctrl+r

恢復前乙個被撤銷的操作

在一般模式下,可以使用【ctrl+r】恢復【u】撤銷的操作

【u】的反向操作;

.重複之前的操作

在一般模式下,使用符號【.】可以方便地重複之前的刪除、貼上操作

非常常用;

5、命令列模式常用指令

指令功能

:w儲存檔案

:q退出檔案

:wq儲存並退出檔案

:q!強制退出,不儲存

:set nu

設定行號

:set nonu

取消設定行號

:數字移動游標到第n行

重視基礎,打好基本功

看到 演算法與資料結構考研試題精析 這本書有感。現在會看感覺以前沒有認識到基礎的意義,就那些考試還有面試問題左移,指標那些你覺得沒有意義,你當時覺得學那些東西沒有意義。你當時的意義好像就是激情,而且反正激情也能做出東西,所以那些對你而言就覺得沒什麼意義 現在回看這種想法很錯誤。你以前確實非常不重視基...

隨筆 基本功與招式

前段時間看了吳軍 全球科技史通 還沒入正文就產生一種生理性的共鳴。清華大學資深教授錢穎一在推薦序說了這幾句 科學與科技密不可分,同時兩者也有區別。科學是發現自然規律,技術是對改造世界有用的發明。近代以來,中國為了追趕西方,著眼點太多在技術和工程方面,因為只有工程和技術可以直接帶來經濟的繁榮和軍事的強...

java基礎篇的基本功(1)

回答這種問題我們需要知道啥是物件導向?基本特徵有哪些及其含義與作用?面向過程 面向過程就是解決問題的具體步驟 第一步幹啥,第二步幹啥等等一系列的步驟.優點 效能比物件導向高,因為類呼叫時需要例項化,開銷比較大,比較消耗資源 比如微控制器 嵌入式開發 linux unix等一般採用面向過程開發,效能是...