Linux 中 Vim 編輯器的使用

2021-10-02 20:54:10 字數 4284 閱讀 2420

vi 和 vim 是 linux 中的文字編輯器。vi 是老式的文字編輯器,功能齊全,vim 可以認為是 vi 的高階版本。

在 linux 中有些操作是需要在命令列中完成的,此時如果還要使用圖形介面的文字編輯器,就會有些不合時宜了,所以就需要乙個功能齊全的文字編輯器來完成我們的操作。從這裡來看,學習 vi 和 vim 是有必要的:

三種模式的切換為:

移動游標h

游標向左移動,對應於方向鍵

j游標向下移動,對應於方向鍵

k游標向上移動,對應於方向鍵

l游標向右移動,對應於方向鍵

ctrl+f

螢幕向下移動一頁,相當於 page down

ctrl+b

螢幕向上移動一頁,相當於 page up

ctrl+d

螢幕向下移動半頁

ctr+u

螢幕向上移動半頁

+游標移動到非空格符的下一行

-游標移動到非空格符的上一行

n+space

n 為數字,游標會向後面移動 n 個字元

0/home

移動到這一行的最前面字元處

$/end

移動到這一行的最後面字元

h游標移動到這個螢幕的最上方那一行的第乙個字元

m游標移動到這個螢幕的**那一行的第乙個字元

l游標移動到這個螢幕的最下方那一行的第乙個字元

g移動到這個檔案的最後一行

n+g移動到這個檔案的第 n 行

gg移動到這個檔案的第一行

n+enter

游標向下移動 n 行

查詢與替換

/word

從游標後開始查詢名稱為 word 的字串

?word

向游標前開始查詢名稱為 word 的字串

n字母 n,重複前乙個查詢的操作

n與 n 相反,為反向進行前乙個查詢操作

:n1,n2s/word1/word2/g

在第 n1 行與第 n2 行之間尋找字串 word1,並將字串替換為 word2

:1,$s/words/words/gc

在第一行和最後一行之間尋找字串 word1,並將字串替換為 word2,並提示使用者確認操作

刪除,複製和貼上

x/xx 為向後刪除乙個字元,x為向前刪除乙個字元

nx連續向後刪除 n 個字元

dd剪下游標所在的那一行

ndd剪下游標所在的向下 n 行

d1g剪下游標所在到第一行的所有資料

dg剪下游標到最後一行的所有資料

d$剪下游標所在處到該行的最後乙個字元

d0剪下游標所在處到該行的最前面乙個字元

yy複製游標所在的那一行

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

y1g複製游標所在行到第一行的所有資料

yg複製游標所在行到最後一行的所有資料

y0複製游標所在的那個字元到該行行首的所有資料

y$複製游標所在的那個字元到該行行尾的所有資料

p/pj

將游標所在行與下一行的資料結合成同一行

c重複刪除多個資料

u恢復上乙個操作

ctrl+r

重做上乙個操作

.重複上乙個操作

進入插入或替換的編輯模式

i/i進入(insert)模式

i 為從目標游標所在處插入,i 為在目前所在行的第乙個非空格符處開始插入

a/a進入(insert)模式

a 為從目前游標所在的下乙個字元處開始插入,a 為從游標所在處的最後乙個字元處開始插入

o/o進入(insert)模式

r/r進入(replace)模式

r 為替換游標所在的那乙個字元一次,r 為一直替換游標所在的文字,直到 esc 為止。

esc回到一般命令模式

命令列模式的儲存,退出等命令:

:w將編輯的資料寫入到硬碟中

:w!強制寫入

:q退出 vi

:q!強制退出 vi,不儲存

:wq儲存後退出

:wq!

強制儲存後退出

zz若檔案沒有沒有修改,則不儲存退出,若檔案已經被修改過,則儲存後退出

:w filename

將編輯的資料另存為乙個檔案

:r filename

在編輯的資料中,讀入另乙個檔案的資料,即將 filename 內容載入到游標所在行後面

:n1,n2 w filename

將 n1 到 n2 的內容儲存為 filename 這個檔案

:! command

暫時退出 vi 到命令列模式下執行 command 的顯示結果

:set nu

顯示行號

:set nonu

取消行號

v字元選擇,會將游標經過的地方反白選擇

v行選擇,會將游標經過的行反白選擇

ctrl+v

可視區塊,可以用矩形的方式選擇資料

y將反白的地方複製起來

d將反白的地方刪除掉

p將剛剛複製的區塊,在游標所在處貼上

可視區塊的功能提供給我們了乙個新的思路,對於檔案內容某一區塊內容的改變不需要多次的複製貼上,按照可視即可見的思路去操作。

:n編輯下乙個檔案

:n編輯上乙個檔案

:files

列出目前這個 vim 開啟的所有檔案

:sp filename

有 filename 則為開啟同乙個檔案內容,有 filename 則表示在新視窗建立乙個新檔案

ctrl+w+j

先按住 ctrl 不放,再按下 w 後放開所有的按鍵,之後再按下 j ,則游標可以移動到下方的視窗

ctrl+w+k

先按住 ctrl 不放,再按下 w 後放開所有的按鍵,之後再按下 k,則游標可以移動到上方的視窗

ctrl+w+q

關閉所在的視窗,等效與:q 與 :close

組合鍵補齊的內容

ctrl+x -> ctrl+n

ctrl+x -> ctrl+f

ctrl+x -> ctrl+o

vim 中還存在類似 log 的操作記錄,它可以主動地將你曾經做過地操作記錄下來,從而能夠進行輕鬆地操作。檔案目錄為 ~/.viminfo。

vim 中還存在著環境設定,有點類似於首選項或者預設,引數主要有:

:set nu

:set nonu

設定與取消行號

:set hlsearch

:set nohlsearch

hlsearch(high light search),表示是否將查詢的字串反白的設定值,預設為 hlsearch

:set autoindent

:set noautoindent

是否自動縮排

:set backup

是否自動儲存備份檔案,一般為 nobackup。如果設定為 backup,則意味著當你修改乙個檔案時,原始檔會被另存為乙個檔名為 filename~ 的檔案。

:set ruler

是否顯示狀態列右下角設定值

:set showmode

是否顯示狀態列左下角設定值

:set backspace=012

設定 backspace 的功能。0 或 1 時,只能刪除剛剛輸入的字元。2時,可以刪除任意值

:set all

顯示目前所有的環境引數設定

:set

顯示與系統預設值不同的設定引數,即自行變動過的設定引數

:syntax on

:syntax on

是否顯示不同顏色

:set bg=dark

:set bg=light

顯示不同的顏色色調,預設是 light

環境引數同樣可以儲存在名為 (.vimrc) 的檔案中,一般放置在 /etc/vimrc 檔案中。也可以新建立 ~/.vimrc 進行設定,作用是相同的,該檔案中的注釋符號為"。

當使用 vim 進行編輯時,vim 會在被編輯檔案的目錄下,再建立乙個名為(.filename.swp)的快取檔案。如果電腦突然掉電時,則可以用該檔案還原。當開啟原始檔時,會被提醒警告資訊:

vim 使用中還會存在許多別的問題,如編碼格式,字元轉換等,使用的時候需要自己慢慢探索。

1.鳥哥的 linux 私房菜——基礎學習篇(第四版):

linux中vim編輯器的使用

進入指令模式 esc退出插入模式w儲存 q退出!強制執行 wq 強制儲存退出 和?和?的用法是一樣的 hello 查詢hello這個單詞 n 查詢下乙個。shift n 向上查詢 set nu顯示行號 set nonu取消行號 gg 到文字的第一行 g 到文字的最後一行 n到文字的第n行 i 在游標...

使用Linux中的 v i m 編輯器

配置檔案時linux作業系統的顯著特徵之一,其作用有點類似windows中的登錄檔,只不過登錄檔是幾種管理,而配置檔案是分散自由的管理。下面給大家介紹linux字元操作介面中的文字編輯器 vi,以便更好的管理和維護系統中的各種配置檔案。vi編輯器的工作模式有三種,不同的模式中能夠對檔案進行的操作也不...

linux 編輯器 vim使用

vim基本概念 vim有好多模式,今天我們先來介紹最常用的三種模式 命令模式 正常 普通模式 控制游標的移動,字元或行的刪除,可切換到插入模式或者末行模式 末行模式 檔案儲存,退出列出行號,找字串 我把常用的總結成如下圖 以上圖中是一些常用的設定,還有很多慢慢的了解。小插曲 無問西東 電影的最開始有...