Linux中vi vim編輯器常用命令與用法總結

2021-08-13 04:54:35 字數 3707 閱讀 8327

(一)vi/vim是什麼?

linux世界幾乎所有的配置檔案都是以純文字形式存在的,而在所有的linux發行版系統上都有vi編輯器,因此利用簡單的文字編輯軟體就能夠輕鬆地修改系統的各種配置了,非常方便。vi就是一種功能強大的文字編輯器,而vim則是高階版的vi,不但可以用不同顏色顯示文字內容,還能進行諸如shell指令碼、c語言程式編輯等功能,可以作為程式編輯器。

(二)為什麼要學習vi/vim?

首先所有的linux發行版系統上都會缺省內置vi編輯器,而不一定帶有其他文字編輯器,非常通用;其次,很多軟體的編輯介面都會預設呼叫vi;第三,vi具有程式編輯的能力;最後,vi程式簡單,編輯速度相當快速。

(三)vi的三種模式及各個模式之間的轉換關係

(四)一般模式常用操作

【h(或向左方向鍵)】 游標左移乙個字元

【j(或向下方向鍵)】 游標下移乙個字元

【k(或向上方向鍵)】 游標上移乙個字元

【l(或向右方向鍵)】 游標右移乙個字元

【[ctrl] + f】 螢幕向下移動一頁(相當於page down鍵)

【[ctrl] + b】 螢幕向上移動一頁(相當於page up鍵)

【[0]或[home]】 游標移動到當前行的最前面

【[$]或[end]】 游標移動到當前行的末尾

【g】 游標移動到檔案的最後一行(第乙個字元處)

【ng】 n為數字(下同),移動到當前檔案中第n行

【gg】 移動到檔案的第一行,相當於"1g"

【n[enter]】 游標向下移動n行

【/word】 在檔案中查詢內容為word的字串(向下查詢)

【?word】 在檔案中查詢內容為word的字串(向上查詢)

【[n]】 表示重複查詢動作,即查詢下乙個

【[n]】 反向查詢下乙個

【:n1,n2s/word1/word2/g】 n1、n2為數字,在第n1行到第n2行之間查詢word1字串,並將其替換成word2

【:1,s/w

ord1

/wor

d2/g

】從第一

行(第n

行同理)

到最後一

行查詢w

ord1

註冊,並

將其替換

成wor

d2【:1,

s/word1/word2/g】從第一行(第n行同理)到最後一行查詢word1註冊,並將其替換成word2

【:1,

s/word1/word2/gc】 功能同上,只不過每次替換時都會讓使用者確認

【x,x】 x為向後刪除乙個字元,相當於[delete],x為向前刪除乙個字元,相當於[backspace]

【dd】 刪除游標所在的一整行

【ndd】 刪除游標所在的向下n行

【yy】 複製游標所在的那一行

【nyy】 複製游標所在的向下n行

【p,p】 p為將已經複製的資料在游標下一行貼上;p為將已經複製的資料在游標上一行貼上

【u】 撤消上乙個操作

【[ctrl] + r】 多次撤消

【.】 這是小數點鍵,重複上乙個操作

(五)一般模式切換到編輯模式的操作

1、進入插入模式(6個命令)

【i】 從目前游標所在處插入

【i】 從目前游標

【a】 從當前游標所在的下乙個字元處開始插入

【a】 從游標所在行的最後乙個字元處開始插入

【o】 英文小寫字母o,在目前游標所在行的下一行處插入新的一行並開始插入

【o】 英文大寫字母o,在目前游標所在行的上一行處插入新的一行並開始插入

2、進入替換模式(2個命令)

【r】 只會替換游標所在的那乙個字元一次

【r】 會一直替換游標所在字元,直到按下[esc]鍵為止

【[esc]】 退出編輯模式回到一般模式

(六)一般模式切換到命令列模式

【:w】 儲存檔案

【:w!】 若檔案為唯讀,強制儲存檔案

【:q】 離開vi

【:q!】 不儲存強制離開vi

【:wq】 儲存後離開

【:wq!】 強制儲存後離開

【:! command】 暫時離開vi到命令列下執行乙個命令後的顯示結果

【:set nu】 顯示行號

【:set nonu】 取消顯示行號

【:w newfile】 另存為

(七)檔案恢復模式

【[o]pen read-only】 以唯讀方式開啟檔案

【[e]dit anyway】 用正常方式開啟檔案,不會載入暫存檔案內容

【[r]ecover】 載入暫存檔案內容

【[d]elete it】 用正常方式開啟檔案並刪除暫存檔案

【[q]uit】 按下q就離開vi,不進行其他操作

【[a]bort】 與quit功能類似

(八)塊選擇(一般模式下用)

【v,v】 v:將游標經過的地方反白選擇;v:將游標經過的行反白選擇

【[ctrl] + v】 塊選擇,可用長方形的方式選擇文字

【y】 將反白的地方複製到剪貼簿

【d】 將反白的內容刪除

(九)多檔案編輯

【vim file1 file2】 同時開啟兩個檔案

【:n】 編輯下乙個檔案

【:n】 編輯上乙個檔案

【:files】 列出當前用vim開啟的所有檔案

(十)多視窗功能

【:sp [filename]】 開啟乙個新視窗,顯示新檔案,若只輸入:sp,則兩視窗顯示同乙個檔案

【[ctrl] + w + j】 游標移動到下方視窗

【[ctrl] + w + k】 游標移動到上方視窗

【[ctrl] + w + q】 離開當前視窗

(十一)vim配置檔案

vim的配置檔案為/etc/vimrc,但一般不建議直接修改這個檔案,而是在使用者根目錄下建立乙個新的隱藏檔案:

vim ~/.vimrc

然後編輯這個檔案,常用的配置如下:

"雙引號後面的內容為注釋

set nu "顯示行號

set hlsearch "查詢的字串反白顯示

set backspace=2 "可隨時用退格鍵進行刪除

set autoindent "自動縮排

set ruler "在最下方一行顯示狀態

set showmode "在左下角顯示模式

set bg=dark "顯示不同的底色,還可以為light

syntax on "語法檢驗,顏色顯示

(十二)dos與linux的斷行字元(檔案轉化)

dos2unix [-kn] file [newfile]

unix2dos [-kn] file [newfile]

-k:保留該檔案原本的mtime時間格式

-n:保留原本舊檔案,將轉換後的內容輸出到新檔案

(十三)語系編碼轉化

iconv --list 列出iconv支援的語系編碼

iconv -f 原本編碼 -t 新編碼 filename [-o new file]

-f:from,後接原本的編碼格式

-t:to,後接新編碼格式

-o file:可選引數,建立新檔案

例:將/tmp/a.txt從big5編碼格式轉換成utf8編碼格式:

iconv -f big5 -t utf8 /tmp/a.txt -o new.txt

Linux 的 Vi Vim 編輯器

r r 進入取代模式 replace mode 游標普通移動 h m l g gg ng pgup pgdn p p u ctrl r w 檔名 r 檔名 set nu set nonu 基本上 vi vim 共分為三種模式,分別是 命令模式 command mode 輸入模式 insert mod...

Linux學習之VI VIM編輯器

個人覺得vim編輯器主要就是掌握它的三種模式,不然根本沒法用.以 vi 開啟乙個檔案就直接進入一般模式了 這是預設的模式 在這個模式中,你可以使用 上下左右 按鍵來移動游標,你可以使用 刪除字元 或 刪除整行 來處理檔案內容,也可以使用 複製 貼上 來處理你的檔案資料。常用語法 yy 功能描述 複製...

Linux文件編輯器vi vim 入門

linux系統中經典的兩個文件編輯器就是vi和vim了。vim是vi的公升級版,兩個檔案編輯器基礎功能和操作一致,在只有vi編輯器的時候,本文中的所有操作均適用。本文以vim為例。命令格式 vim 檔名 當 檔名 已存在時,為 開啟該檔案。當 檔名 不存在時,為 以該檔名建立檔案,並開啟該檔案。當僅...