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匹配的串處...