接觸了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 系統中,壓縮檔案後...