vi 編輯器

VIM:


編輯,輸入,末行


編輯-->輸入

i,I

o,O

a,A


編輯-->末行


跳轉(編輯模式):

h,l; j,k


w

e

b


0,^: 跳至

$:


1G, gg

G

#G


編輯:

x

#x

d

dd

#dd


末行模式

:起始地址,結束地址d

.: 當前光標所在行;

$: 最後一行;

%: 全文


p|P

p:

整行:下方粘貼

非整行:後方粘貼


P:

整行:上方粘貼

非整行:前方粘貼


u:

Ctrl+r


y

yy

#yy


vim [options] FILE

-#:

-o:

-O:


next, prev, first, last


:wq

:q!

:w!

:wall

:qall

:wqall

:x


編輯模式,ZZ



翻屏:

Ctrl+f: 向文件尾部翻一屏;

Ctrl+b: 向文件首部翻一屏;


Ctrl+d: 向文件尾部翻半屏;

Ctrl+u:向文件首部翻半屏;


文本搜索:

/keyword: 從當前光標所在處向文件尾部查找

?keyword:從當前光標所在處向文件首部查找

n: 下一個,跟查找命令相同的方向

N:前一個,跟查找命令相反的方向


模式

/\<d[[:alpha:]]\{2\}n\>

基本表達式:

.

[]

[^]

*

\?

\{m,n\}

\{m\}

^

$

\<

\>

\(\), \1,\2


擴展的正則表達式元字符:

.

[]

[^]

*

?

+

{m,n}

{m}

^

$

\<

\>

a|b|c

()


編輯命令

c:編輯,轉換至輸入模式

cc

#cc

c


vim可視化模式

visual模式

v: 選中光標劃過的字符

V:選中光標劃過的行,整行選取


Esc, Esc:回到編輯模式


同一文檔窗口分割:

Ctrl+w,s: 水平分割

Ctrl+w,v: 垂直分割


Ctrl+w, 箭頭


窗口屬性定義:

顯示行號:

set number, set nu

set nonumber, set nonu


自動縮進

set autoindent, set ai

set noai


不區分字符大小寫

set ignorecase, set ic

set noic


獲取幫助:

set


顯示匹配的括號:

set showmatch, set sm

set nosm


語法着色:

syntax on

syntax off


搜索高亮顯示

set hlsearch

set nohlserach


vim的配置文件:

全局:/etc/vimrc

個人:~/.vimrc



查找替換:

:地址定界s/查找模式/替換成的內容/gi

:地址定界s@查找模式@替換成的內容@gi

global

ignorecase


/dev/null --> /tmp/a.txt


%s/\/dev\/null/\/tmp\/a.txt/g

%s@/dev/null@/tmp/a.txt@g


%s/\<d[[:alpha:]]\{2\}n\>/what/g



down, DowN, doon, DooN


%s@\<d\([[:alpha:]]\{2\}\)n\>@D\1N@g





%s/dev/device/g

Dev, DEVice

dEVice


%s/[dD][eE][Vv]/&ice/g



刪除行首開頭的#:

%s@^#@@


刪除行首開頭的#及後面緊跟的空白字符;

%s@^#[[:space:]]*@@


爲空白字符開頭的行的行首加上#;

%s@^[[:space:]]@#&@





1、刪除/etc/grub.conf文件中行首的空白符;

%s@^[[:space:]]\{1,\}@@


2、替換/etc/inittab文件中"id:3:initdefault:"一行中的數字爲5;

%s@id:3:@id:5:@g


3、刪除/etc/inittab文件中的空白行;


4、刪除/etc/inittab文件中開頭的#號;


5、刪除某文件中開頭的#號及後面的空白字符,但要求#號後面必須有空白字符;

%s@^#[[:space:]]\{1,\}@@


6、爲指定範圍內的行的行首添加#;

1,10s@^@#@g


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章