鳥哥的linux私房菜學習筆記《十八》vim的使用

2021-07-28 00:27:39 字數 3761 閱讀 5735

vim的課程

2. vim詳細教程

模式轉換:

i: 在當前游標所在字元的前面,轉為輸入模式;

a: 在當前游標所在字元的後面,轉為輸入模式;

o: 在當前游標所在行的下方,新建一行,並轉為輸入模式;

i:在當前游標所在行的行首,轉換為輸入模式

a:在當前游標所在行的行尾,轉換為輸入模式

o:在當前游標所在行的上方,新建一行,並轉為輸入模式;

一、開啟檔案

# vim /path/to/somefile

vim +# :開啟檔案,並定位於第#行

vim +:開啟檔案,定位至最後一行

vim +/pattern : 開啟檔案,定位至第一次被pattern匹配到的行的行首

二、關閉檔案

1、末行模式關閉檔案

:q 退出

:wq 儲存並退出

:q! 不儲存並退出

:w 儲存

:w! 強行儲存

:wq --> :x

2、編輯模式下退出

zz: 儲存並退出

三、移動游標(編輯模式)

1、逐字元移動:

h: 左

l: 右

j: 下

k: 上

#h: 移動#個字元

2、以單詞為單位移動

w: 移至下乙個單詞的詞首

e: 跳至當前或下乙個單詞的詞尾

b: 跳至當前或前乙個單詞的詞首

#w: 移動#個單詞

3、行內跳**

0: 絕對行首

^: 行首的第乙個非空白字元

$: 絕對行尾

4、行間跳轉

#g:跳轉至第#行;

g:最後一行

末行模式下,直接給出行號即可 例如冒號數字 :5

四、翻屏(編輯模式下)

ctrl+f: (forward)向下翻一屏

ctrl+b: (backward)向上翻一屏

ctrl+d: (down)向下翻半屏

ctrl+u: (up)向上翻半屏

五、刪除單個字元(編輯模式下)

x: 刪除游標所在處的單個字元

#x: 刪除游標所在處及向後的共#個字元

六、刪除命令(編輯模式下)

d命令跟跳轉命令組合使用;

d$:刪除至行尾

5d$:

d0:刪除至行首

3d0:

dw:3dw:

d0, d$, dw, de, db

dd: 刪除當前游標所在行

#dd: 刪除包括當前游標所在行在內的#行;

(末行模式下):

startadd,endaddd 1,5d刪除1-5行

.: 表示當前行

$: 最後一行

+#: 向下的#行

$-3: 倒數第二行

刪除逇內容並不會立即消除,還可以找回,

刪除的動作其實是剪下,刪除的內容存在於剪貼簿(記憶體緩衝區)中

七、貼上命令 past(編輯模式下)

p: 如果刪除或複製為整行內容,則貼上至游標所在行的下方,如果複製或刪除的內容為非整行,則貼上至游標所在字元的後面;

p: 如果刪除或複製為整行內容,則貼上至游標所在行的上方,如果複製或刪除的內容為非整行,則貼上至游標所在字元的前面;

八、複製命令 y(編輯模式下)

用法同d命令

c: 用法同d命令

十、替換(replace)(編輯模式下)

r:替換單個字元

r: 替換模式(持續替換後面的字元直到按esc鍵)

十一、撤消編輯操作(undo)(編輯模式下)

連續u命令可撤消此前的n次編輯操作

#u: 直接撤消最近#次編輯操作(記憶體緩衝區最多只能儲存50次的操作)

還原最近一次撤消操作:ctrl+r

十二、重複前一次的操作(編輯模式下).十

三、視覺化模式(選中游標劃過的部分,可用於複製刪除)(編輯模式下)

v: 按字元選取

v:按矩形選取

十四、查詢(編輯模式下)

/pattern

?patternnn

十五、查詢並替換(編輯模式下)

在末行模式下使用s命令(命令替換)

addr1,addr2s@pattern@string@gi

起始位址,結束位址,s@查詢的字元@替換的字元@全域性替換 忽略大小寫

1,$:首行到尾行

.,$-1/ch/ch/gi

當前行到倒數第二行/查詢的字元/替換的字元 全域性替換

%:表示全文

%s/ch/ch/gi

%s@pattern@string@gi

十六、使用vim編輯多個檔案(編輯模式下)

vim file1 file2 file3

:next 切換至下乙個檔案

:prev 切換至前乙個檔案

:last 切換至最後乙個檔案

:first 切換至第乙個檔案

退出:qa 全部退出

十七、分屏顯示乙個檔案(編輯模式下)

ctrl+w, s: 水平拆分視窗(按下ctrl+w,之後接著按s)

ctrl+w, v: 垂直拆分視窗

在視窗間切換游標:

ctrl+w, arrow(上下左右箭頭)

:qa 關閉所有視窗

十八、分視窗編輯多個檔案(編輯模式下)

vim -o : 水平分割顯示

vim -o : 垂直分割顯示

十九、將當前檔案中部分內容另存為另外乙個檔案(末行模式下)

:w 儲存並退出

:addr1,addr2w /path/to/somewhere

二十、將另外乙個檔案的內容填充在當前檔案中(編輯模式下)

:r /path/to/somefile

:r /root/man.conf 將另乙個檔案內容插入到游標的下一行

二十一、跟shell互動

:! command

二十二、高階話題

1、顯示或取消顯示行號

:set

number

:set nu

:set nonu

2、顯示忽略或區分字元大小寫

:set ignorecase 忽略大小寫

:set ic 忽略大小寫

:set noic

3、設定自動縮排

:set autoindent

:set ai

:set noai

4、查詢到的文字高亮顯示或取消

:set hlsearch

:set nohlsearch

5、語法高亮

:syntax on

:syntax off

二十三、配置檔案

/etc/vimrc 主配置檔案

~/.vimrc 當前使用者下獨用的配置檔案

鳥哥的linux私房菜學習筆記

1.電腦的五大單元 輸入單元 輸出單元 cpu內部的控制單元 算術邏輯單元與記憶體。2.常用的英文編碼表為ascii系統,每個符號占用1位元組的記錄,總共會有256變化。3.作業系統其實也是一組程式,這組程式的重點在於管理電腦的所有活動以及驅動系統中的所有硬體。4.bios是乙個程式,這個程式是寫死...

鳥哥的 Linux 私房菜學習筆記

cat etc shells 僅檢視可用的shell。vim etc shells 檢查並編輯可用的shell。cat etc passwd 系統賬號 bin daemon 等 root 賬號顯示當前核心版本 uname r環境變數 直接在命令列輸入env or export,然後輸入echo命令 ...

鳥哥Linux私房菜

linux相關知識 鳥哥linux私房菜 真是人間美味啊!linux 基礎篇 引言 這部份包括了早期的red hat 6.x以及 鳥哥寫的 一 二版的基礎篇各章節文章彙整!第一部份 linux的規劃與安裝 第二部份 linux檔案 目錄與磁碟格式 第三部份 學習shell與shell scripts...