vim之vim基礎知識

2021-07-16 14:24:13 字數 3503 閱讀 2487

接觸了vim有一段時間了,但一直都是簡單的用vim編寫一些程式,和寫一些文字。而且只是簡單的了解一下操作,沒有深入的學習。先總結一下基礎的操作。

vim被稱為神一樣的編輯器,而emacs被稱為神用的編輯器。

我的理解是當你用vim得心應手時,vim就會在你手裡變成乙個神器。而emacs是你要先稱為神,然後才能得心應手,畢竟是用emacs要學點lisp,而lisp卻不是那麼好學的。

但其本質不過都是乙個文字編輯器而已,所以看自己喜好了。只要自己用的舒服,做事高效就行。

學習vim可檢視《vim教程》,輸入vimtutor,則可檢視教程,此檔案是副本所以不用擔心在此檔案中操作會損壞。可用ctrl+g檢視檔案的完全名稱,所在行數,總行數,當前閱讀的百分比,所在行數的列數。

vim有三個模式:編輯模式、一般模式、命令模式

當我們用vim開啟乙個檔案時,進入的是一般模式,即閱讀的模式。

當我們按下特定的字母時會進入編輯模式和命令模式。

命令模式是輸入:後接一些命令

命令模式和編輯模式之間不能轉換,只能借助一般模式轉換。

在一般模式下可進行游標的移動,用方向鍵可移動,也可用特定的字母進行移動,這也是vim的特色之一。

有人會問這是什麼特色?簡直就是給自己找麻煩。其實不然,開始可能彆扭,但時間久了,才會發現其強大的高效性。

k:向上移動

j:向下移動

h:向左移動

l:向右移動

以上字母均為小寫。

簡單的記憶:左右好記,左在左,右在右。上下的記憶可以按它們的臨近關係,我們常說」上左下右「,而在此處你可記"上靠右下靠左",與我們的地圖常識相反。若這樣覺得記憶不好的話就死記吧,最主要的還是要多練。

w:游標每次移動乙個單詞,且位於單詞首部。前面可加數字,即一次移動多個單詞。

e:游標每次移動乙個單詞,且位於單詞尾部。前面加數字,可一次移動多個。

0:移至行首

$:移至行尾

+:向下移動,且位於行首,若行不為空,則位於第乙個字元處。

-:向上移動。

這兩個相當於j、k。當唯一的區別,是當行不為空,則移動到第乙個字元處。

其方向可記為:+是行數加,越加越大,可用:set nu檢視行號。-則相反。

h:移至螢幕上方

m:移至螢幕**

l:移至螢幕下方

以上字母均為大寫。

gg:移至檔案首行。

g:前面不加數字,則移至到檔案尾行。加數字則移至數字指定的行

然後補充一下:

ctrl+f:向下翻一頁

ctrl+b:向上翻一頁

ctrl+d:向下翻半頁

ctrl+u:向上翻半頁

q:退出vim

!:強制

w:儲存

x:儲存並退出

zz(大寫):若檔案改動了,則儲存退出,若未改動,則不儲存退出。

這些命令可結合:

wq:儲存退出,相當於x

q!:不儲存退出

其順序不能改變,即一定是wq而不是qw。

x:刪除游標所在的字元

x:刪除游標前的字元。

數字+x:從游標開始向後刪除數字指定個數的字元。

數字+x:從游標開始向前刪除數字指定個數的字元。

dd:刪除游標所在行

數字+dd:從游標所在行開始,向下刪除數字指定的多少行

d:刪除游標所在行的所在位置之後的所有字元。

數字+d:從游標所在位置開始,刪除算上游標所在行的數字指定的多少行。

d+數字+g:刪除指定行

dgg:刪除游標所在行至檔案首行的所有行

dg:刪除游標所在行及其以後的所有行。

d0(零):刪除游標所在位置至行首。

d$:刪除游標所在位置至行尾。

y+數字+g:複製指定數字的行數至游標所在位置的所有行,不論游標是否在前在後。

yg:複製游標所在行至檔案尾行。

yy:複製游標所在行

數字+yy:複製游標所在行及其向下數字指定的多少行

dgg:複製游標所在行至檔案首行的所有行

dg:複製游標所在行及其以後的所有行。

d0(零):複製游標所在位置至行首。

d$:複製游標所在位置至行尾。

p:在游標所在行的下方貼上

p:在游標所在行的上方貼上

剪下就是刪除和貼上的結合,刪除的內容會放在緩衝區中,在你未再次向緩衝區放東西(刪除或複製)或未退出檔案的編輯前,緩衝區的內容都不會改變。

那麼剪下就是刪除,貼上。

r+字元:游標所在位置的字元被替換成指定的字元。

r:在游標位置開始替換,直到鍵入esc或ctrl+[為止,替換結束。

r是單字元替換,r是多字元替換

在命令模式下的替換命令:

:s/舊字元/新字元:在游標所在行查詢並替換第乙個匹配到舊字元的字元,將其替換成新字元。在後面/g表示全部替換,此處全部指的是此行的全部,而不是檔案的全部。

:%s/舊字元/新字元:表示替換檔案的每一行第乙個匹配到的字元,加後面/g表示檔案中的全部都替換

j(大寫):將游標所在行和其下行合併成一行

u(小寫):撤銷檔案最近的操作,一直可撤銷到剛開啟檔案的樣子。

ctrl+r:撤銷」撤銷命令「的操作,即復原操作

.(點):重複前乙個操作。撤銷和復原不算,即若刪除操作後,執行撤銷,則鍵入.(點)執行刪除的操作,而非撤銷,復原同理。還有一點要注意,若前一操作為新增,則執行.(點)則會新增之前新增的資料,而非操作。

i:在游標前開始插入

i(大寫i):移至游標所在行的行首並開始插入。

a:將游標移至行尾並開始插入

a:將游標向後移動一位,並在前面插入。即在游標所在位置後插入。

s:刪除光所在行,並在此行開始插入。

s:刪除游標所在位置的字元並插入。

o:在游標所在行的上方插入

o:在游標所在行的下方插入

c/cc:與s相同,刪除光所在行,並在此行開始插入。

ce/ce:刪除游標所在位置至單詞尾部,並插入。

c+數字+j/k:刪除游標所在行再加上數字指定的行數,並插入。j表示向下,k表示向上。

c+數字+h/l(小寫l):刪除游標所在位置及其指定的字元並插入。h表示向左,l表示向右。

在一般模式下,鍵入」/「則可進行查詢。

/字元:表示游標處向下查詢,第乙個匹配」指定字元「的字元。

?字元:游標處向上查詢,第乙個匹配」指定字元「的字元。

若想繼續查詢下乙個則按n。若想反方向查詢則按n。

%:將游標放在任意乙個括號處,鍵入%則會自動跳轉到匹配的括號處,再次按%則又會回來。括號有、{}、()。

此命令用於除錯程式時,十分有效。

要想在vim中執行shell命令,則鍵入「:!命令」即可

:w 檔名:將編寫的檔案另存為乙個檔案中。

若指定檔案存在,需要在w後加!表示強制,且會覆蓋原檔案內容.

行號,行號w 檔名:將制定行號間的資料另存為到指定檔案中

關於vim的基礎知識

一 基礎知識 vim最令人混淆的特徵之一是她擁有3種模式.1.插入模式 輸入文字 2.命令模式 執行命令.也稱為正常模式.3.ex模式 執行冒號 命令 插入模式並不是預設的模式,您必須按下i來進入插入模式,在螢幕上輸入一些文字。按下按鈕將從插入模式轉到命令模式。命令模式用於移動和操縱文字,有時以非常...

Linux基礎知識(4) vim

進入vim 模式之間的切換及退出 開啟vim之後進入的是命令模式,命令模式不能編輯檔案,如果要編輯檔案要進入插入模式。一般認為底行模式也屬於命令模式 輸入i 進入插入模式 esc鍵 進入命令模式 輸入 wq表示儲存退出 輸入 q 表示退出不儲存 命令模式 vim的常用工作方式 命令 作用 set n...

Linux基礎知識命令以及vim

linux基礎知識考查1 在linux 系統中,以 檔案 方式訪問裝置 2 前台起動的程序使用 ctrl c 終止。3 在使用ls 命令時,用八進位制形式顯示非列印字元應使用引數 b 4 在linux 系統中,用來存放系統所需要的配置檔案和子目錄的目錄是 etc 5 在linux 系統中,壓縮檔案後...