Vim的認識和操作

2021-07-26 04:41:57 字數 3580 閱讀 4044

vi是「visual inte***ce」的簡稱,它在linux上的地位就彷彿edit程式在dos上一樣。它可以執行輸出、刪除、查詢、替換、塊操作等眾多文字操作,而且使用者可以根據自己的需要對其進行定製。vi不是乙個排版程式,它不象word或wps那樣可以對字型、格式、段落等其他屬性進行編排,它只是乙個文字編輯程式。 vi沒有選單,只有命令,且命令繁多。

vim有三種基本工作模式:

1.命令模式

2.文字輸入模式

3.末行模式

任何時候,不管使用者處於何種模式,只要按一下esc鍵,即可使vi進入命令模式;我們在shell環境(提示符為$)下輸入啟動vi命令,進入編輯器時,也是處於該模式下。在該模式下,使用者可以輸入各種合法的vi命令,用於管理自己的文件。此時從鍵盤上輸入的任何字元都被當做編輯命令來解釋,若輸入的字元是合法的vi命令,則vi在接受使用者命令之後完成相應的動作。但需注意的是,所輸入的命令並不在螢幕上顯示出來。若輸入的字元不是vi的合法命令,vi會響鈴報警。

在命令模式下輸入插入命令i、附加命令a 、開啟命令o、修改命令c、取代命令r或替換命令s都可以進入文字輸入模式。在該模式下,使用者輸入的任何字元都被vi當做檔案內容儲存起來,並將其顯示在螢幕上。在文字輸入過程中,若想回到命令模式下,按鍵esc即可。

末行模式也稱ex轉義模式。在命令模式下,使用者按「:」鍵即可進入末行模式下,此時vi會在顯示視窗的最後一行(通常也是螢幕的最後一行)顯示乙個「:」作為末行模式的提示符,等待使用者輸入命令。多數檔案管理命令都是在此模式下執行的(如把編輯緩衝區的內容寫到檔案中等)。末行命令執行完後,vi自動回到命令模式。例如:

:sp newfile
則分出乙個視窗編輯newfile檔案。如果要從命令模式轉換到編輯模式,可以鍵入命令a或者i;如果需要從文字模式返回,則按esc鍵即可。在命令模式下輸入「:」即可切換到末行模式,然後輸入命令。

i: 插入游標前乙個字元

i: 插入行首

a: 插入游標後乙個字元

a: 插入行未

o: 向下新開一行,插入行首

o: 向上新開一行,插入行首

h: 左移

j: 下移

k: 上移

l: 右移

m: 游標移動到中間行

l: 游標移動到螢幕最後一行行首

g: 移動到指定行,行號 -g

w: 向後一次移動乙個字

b: 向前一次移動乙個字

: 按段移動,下移

ctr-d: 向下翻半屏

ctr-u: 向上翻半屏

ctr-f: 向下翻一屏

ctr-b: 向上翻一屏

gg: 游標移動檔案開頭

g: 游標移動到檔案末尾

x: 刪除游標後乙個字元,相當於 del

x: 刪除游標前乙個字元,相當於 backspace

dd: 刪除游標所在行,n dd 刪除指定的行數 d: 刪除游標後本行所有內容,包含游標所在字元

d0: 刪除游標前本行所有內容,不包含游標所在字元

dw: 刪除游標開始位置的字,包含游標所在字元

u: 一步一步撤銷

ctr-r: 反撤銷

.: 重複上一次操作的命令
>>: 文字行右移

<<: 文字行左移

yy: 複製當前行,n yy 複製 n 行

p: 在游標所在位置向下新開闢一行,貼上

v: 按字元移動,選中文字

v: 按行移動,選中文字可視模式可以配合 d, y, >>, << 實現對文字塊的刪除,複製,左右移動

r: 替換當前字元

r: 替換當前行游標後的字元

/: str查詢

n: 下乙個

n:上乙個

末行模式下,將游標所在行的abc替換成123

:%s/abc/

123/g

末行模式下,將第一行至第10行之間的abc替換成123

:1, 10s/abc/123/g

把abc全部替換成123,但要使用者乙個個確認是否替換

:%s/abc/

123/gc

游標移動到函式上,shift-k 游標移動到函式上,3

shift-k,檢視第三章的 manpage

[-d: 可以檢視巨集定義,必須先包含此巨集所在的標頭檔案
gg=g: **自動縮排排版
末行模式裡輸入!,後面跟命令
sp: 上下分屏,後可跟檔名

vsp: 左右分屏,後可跟檔名

ctr+w+w: 在多個視窗切換

$ vim -on file1 file2 ...
2.使用小寫o引數進行水平分屏

$ vim -on file1 file2 ...
注: n是數字,表示分屏的數量,n要大於等於檔案個數 - 關閉分屏
關閉當前視窗ctrl+w c

關閉當前視窗,如果只剩最後乙個,則退出vim ctrl+w q

上下分割當前開啟的檔案 ctrl+w s

上下分割,並開啟乙個新的檔案 :sp filename

左右分割當前開啟的檔案 ctrl+w v

左右分割,並開啟乙個新的檔案 :vsp filename

把游標移動到上邊的屏 ctrl+w k

把游標移動到下邊的屏 ctrl+w j

把游標移動到右邊的屏 ctrl+w l

把游標移動到左邊的屏 ctrl+w h

把游標移動到下乙個的屏 ctrl+w w

向上移動 ctrl+w k

向下移動 ctrl+w j

向右移動 ctrl+w l

向左移動 ctrl+w h

增加高度 ctrl+w +

減少高度 ctrl+w

-讓所有屏的高度一致 ctrl+w =

左加寬度 ctrl+w >

右加寬度 ctrl+w 《右增加n寬 (如:n=30)

ctrl+w

n<

簡潔版ide

c+t:從函式定義返回

c+o:在左側開啟檔案列表

f4: 在右側開啟函式列表

c+n:補齊函式,向下翻

c+p: 生成tags

c+] 跳轉到函式定義

/etc/vim/vimrc

~/.vimrc

~/.vimrc優先順序高

Js操作樣式和this的認識

innerhtml 獲取或者修改或新增元素裡面的內容 常用 innertext 獲取或者修改或新增元素裡面的內容 不常用 區別 innertext不能解析標籤 innerhtml 能解析標籤 innertext 不能解析標籤 this 指向當前事件物件 obox.onmuseenter functi...

(四)HDFS 的認識和 shell 操作

分而治之 將大檔案 大批量檔案,分布式存放在大量伺服器上,以便於採取分而治之的方式對海量資料進行運算分析 為各類分布式運算框架 如 mapreduce,spark,tez,提供資料儲存服務 首先,它是乙個檔案系統,用於儲存檔案,通過統一的命名空間 目錄樹來定位檔案其次,它是分布式的,由很多伺服器聯合...

認識VIM編輯器

vi vim強大的編輯器 vi filename 開啟或新建檔案,並將游標置於第一行首 vi n filename 開啟檔案,並將游標置於第n行首 vi filename 開啟檔案,並將游標置於最後一行首 vi pattern filename 開啟檔案,並將游標置於第乙個與pattern匹配的串處...