日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux vi常用指令使用案例汇总

發布時間:2024/9/27 linux 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux vi常用指令使用案例汇总 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? ? ? ? ? ? ? ? ? ? ? Linux vi常見命令使用案例

聲明與簡介

本文的數據來自網絡,部分代碼也有所參照,這里做了注釋和延伸,旨在技術交流,如有冒犯之處請聯系博主及時處理。本文主要介紹Linux內置的編輯器vi的使用。

vi編輯器是所有Unix及Linux系統下標準的編輯器,它簡單實用且功能強大。因為我們工作的環境多為Linux,安裝配置各種軟件時多以命令行的形式,這時就難免會用到vi,所以熟練使用它是基本的必備技能。本文主要介紹常見的vi命令的使用。

注:本文會根據實際實踐更新。

vi使用模式

vi的使用模式有三種:一般模式、編輯模式、命令模式。

  • 一般模式可以理解為在外部對文件內容進行修改(刪除)和光標的跳轉、復制、粘貼、替換、刪除等操作。詳細命令見一般模式相關章節。
#進入一般模式可以通過如下方式: vi filename #普通方式打開 vi + filename #打開文件光標到文末 vi +n filename #打開文件光標到n行 vi -r filename #以恢復方式打開文件,這里r是recover vi +/pattern filename #以匹配pattern方式打開文件,即光標定位到pattern匹配處。
  • 編輯模式則輸入進入文件內部進行內容的維護(增、刪、改),這里是用戶的實際編輯操作,底部會顯示-- INSERT -- 字樣。通過鍵盤上最左腳的ESC鍵可以切換到一般模式。
  • 命令模式則對文件的保存、格式設置、全局查找(替換)。一般模式下通過:和/或?可以切換到該模式。詳細命令見命令模式相關章節。

一般模式

光標控制

光標控制,應用在一般模式下,它主要是控制光標的位置,即切換光標。比如將光標切換到文件的首行、尾行,某一行的首、尾等場景。

# 1 這里的n是光標要跳轉的行號,比如4G則會跳轉到文件的第4行首。 # 注:1 該命令一般結合 :set nu一起使用,即先顯示行號,再跳轉。 # 2 文件行首可以通過1G實現。 nG# 2 光標跳轉的尾行的首位。這里G是大寫。 G# 3 光標跳轉到當前行的行首。這里是數字0 0# 4 光標跳轉到行尾。 # 比如通過3G命令跳轉到文件的第3行,這時再輸入$,則會到第3行的尾部。 $# 5 #光標局部單詞級光標移動:圍繞鍵盤的h、j、k、l定義的左、下、上、右光標局部跳轉(一次一個字符)鍵,當然也可以通過↑↓←→,即上下左右鍵達到同樣的效果。h、j、k、l ↑ ↓ ← →# 6 局部移動字級光標移動,這里w(右移一個單詞word)、W(右移動一個單詞word和標點),由于VI是主要面向英文環境,而英文的寫作環境默認是空格作為單詞間的空格,所以這里跳轉的依據是空格。 # 不同的是W會跳過標點,而w則不會。而b(左移一個單詞word)、W(左移一個單詞word和標點)。 w(W) b(B)# 7 句子段落跳轉( 控制句子的跳轉,跳到句子的開頭,)則跳到句子的結尾。{控制跳轉到段落的開頭,}則跳到段落的結尾。 ( ) { }# 8 針對文件內容較多的情況,可以通過翻頁命令控制。 # ctl b(PgUp)上翻,即往前(歷史)翻頁、 相當于back # ctl f(PgDn)下翻,即往后(正前)翻頁。相當于forward # ctl u上翻半頁,u相當于up # ctl d下翻半頁,d相當于down # H代表當前頁前部區域,H相當于head # M代表當前頁中部區域,M相當于Middle # L代表當前頁后部區域,L相當于Last ctl+b、PgUp ctl+f、PgDn ctl+u ctl+d H M L

進入編輯模式

這種是由一般模式切換到編輯模式。

# 1 在當前光標前插入文本。這里i相當于insert i# 2 在當前行首插入文本,這里是大寫的I I# 3 在當前光標后插入文本。這里a相當于append a# 4 在當前行末插入文本。 A# 5 在當前行后面插入一空行 這里是字母0,不是數字0. o# 6 在當前行前面插入一空行 O

文本編輯


該部分主要涵蓋在一般模式下對文本編輯的常見操作:如復制、粘貼、刪除、替換等。

# 1 剪切當前光標下的字符 這里相當于ctl+x x# 2 刪除光標所在的行 dd# 3 刪除光標之后的該行剩余部分,輸入時先寫d再SHIFT+4(即$) d$# 4 刪除光標之后的單詞剩余部分,單詞級別這里單詞不是嚴格意義上的單詞。 dw# 5 刪除光標后字符,進入INSERT模式 cw# 6 刪除整行并進入INSERT模式 cc# 7 以替換方式進入編輯 這里R相當于replace R# 8 刪除光標(含)之后的n行 ndd# 9 將光標所在行復制到緩沖區內。 yy# 10 將光標所在行(含)后n行復制到緩沖區內。 nyy# 11 將光標所在行(含)后n+1行復制到緩沖區內。 yn# 12 將后面的n個單詞移到 # 注:這里不是嚴格按照真正意義上的單詞來計算。標點也算單詞,如果光標在一個單詞的中間,則后面也算一個單詞。 ynw# 13 光標后粘貼 #1 如果緩沖區里是多個單詞則粘貼剪切板中的內容到當前光標之后 # 2 如果緩沖區里是一整行內容,則會在光標所在的行之后插入空行然后再插入整行內容。 p# 14 光標前粘貼 #1 如果緩沖區里是多個單詞則會粘貼剪切板中的內容到當前光標之前。 # 2 如果緩沖區里是一整行內容,則在光標所在的行前插入整行內容和空行。 P# 15 撤銷最近的操作,可以多次執行 撤銷命令需要在一般模式下操作。 u# 16 撤銷當前行的編輯 U# 17 修改光標后的一個單詞,這里的單詞不是嚴格意義的單詞。 # 注:1執行后進入INSERT模式。 # 2 輸入ESC后退出INSERT模式。 cw# 18 修改修改光標后的n個單詞,這里的單詞不是嚴格意義的單詞。 cnw

命令模式


文件操作?

在進入一般模式后以”:”的方式進入。可執行文件的保存、關閉等。

# 1 保存退出,注意要大寫 ZZ # 2 保存文件filename :w filename # 3 保存退出 :wq # 4 寫入文件 :W # 5 寫入文件 :x # 6 不保存退出 :q! # 7 退出 :q

匹配與替換?

主要在命令行模式完成模式查找、字符替換操作。

# 1 當前光標往后匹配要查找的單詞word或關鍵字。 # 注:如果匹配不到,則從頂部開始匹配。會出現如下警告:search hit BOTTOM, continuing at TOP /word# 2 當前光標往前匹配要查找的單詞word或關鍵字。 ?word# 3 重復執行之前查找命令,往后(下)查。 n →# 4 重復執行之前查找命令,往前(上)查 N →# 5 對n1和n2直接的行用word2替換word1,即用后面的替換前面的。 # 注:這里g是global的縮寫,即所有的都要替換 :n1,n2s/word1/word2/g# 6 效果同上,不過這里沒加g,如果一行里出現多個word1,那么只會替換首次出現的。 :n1,n2s/word1/word2# 7 替換效果同上,不過這里替換的是光標所在的行且不是全局替換。 :s/word1/word2# 8 對從n1開始用word2替換word1,即用后面的替換前面的。 #注:1 這里的$相當于文件的末尾的意思。 # 2 第二種方式的。(點)相當于文件的開頭。 :n1,$s/word1/word2/g :.,$s/word1/word2/g# 9 替換每一行里的首個word1為word2. # 注:1 這里的%相當于匹配每一行 # 2 第二種方式以g開頭,意思是每一個行。 :%s/word1/word2/ :g/vivian/s//sky/# 替換每一行里的word1為word2. # 注:1 作用同上 # 2 第二種方式的g是gloabal,即每行里都全部替換的意思。 :%s/word1/word2/g :g/vivian/s//sky/g

替換示例

原文件內容

#將第9行到11行里的of全部替換為OF :9,11s/of/OF/g #如果只是替換某行里的第一個則不用加g參數,詳細見前文列表出介紹 全局替換后
??

總結

以上是生活随笔為你收集整理的Linux vi常用指令使用案例汇总的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。