VIM經常使用用法

VIM 經常使用用法linux


Vim是vi文本編輯器的升級版。也是linux最經常使用的編輯器,其功能之強大。聽說還對此專門出一本500多頁的書。正則表達式

Vim分三個模式:默認模式:命令模式,編輯模式vim

輸入模式:app

末行模式編輯器

模式轉換:ide

編輯模式 --> 輸入模式:spa

i: insert, 實如今當前光標所在處字符前面轉換爲輸入模式;blog

a: append, 實如今當前光標所在處字符後面轉換爲輸入模式;圖片

o: 實如今當前光標所在行的下方新建一個空白行並轉換爲輸入模式;文檔

I: 在當前光標所在行的行首轉爲輸入模式;

A: 在當前光標所在行的行尾轉爲輸入模式;

O: 在當前光標所在行的上方新建一行,並轉爲輸入模式;


輸入模式 --> 編輯模式;

按下Esc鍵;


編輯模式 --> 末行模式;

鍵入:(冒號)


末行模式 --> 編輯模式;

Esc,Esc(雙擊Esc鍵)


214405931.jpg

光標跳轉:

字符間跳轉:

h:

l:

j:

k:


#h: 向左側跳#個字符;

通常用鍵盤上下左右鍵居多。

單詞間跳轉:

w: 後一個單詞的詞首

e: 跳至當前或下一個單詞啓尾;

b: 跳至當前或前一個單詞啓首;



句子間跳轉:段落間跳轉:

) : 下一句; } : 下一段;

( : 前一句; { : 前一段;這2個通常用得不多


行間跳轉:

1G, gg:

G:

#G:


行內跳轉:

^: 行首的第一個非空白字符

$: 絕對行尾

0(零): 絕對行首


關閉文件:

在末行模式下,即鍵入:(冒號)

:w 保存

:q 退出

:! 強制

:x 保存並退出,通常習慣用wq

這些命令均可以組合好比wq, q!, qall, wqall(所有退出,所有保存並退出。這兩個後面介紹適用環境)

在編輯模式下:

ZZ:保存退出;


打開文件:

Vim [opinion] /path/to/file

打開多個文件:

Vim [opinion] /path/to/file /path/to/file

末行模式下輸入:

next 下一個;

last 最後一個;

first 第一個;

prev 前一個;

-O:垂直分割窗口 Ctrl+w 鬆開再點方向鍵切換,固然也能夠用上面的命令。可是沒有加選項,就不能用Ctrl+w,且輸入:q退出時是多個一塊兒退出。

-o:水平分割窗口

這樣就能夠用qall,qwall命令

編輯命令:

x: 刪除當前光標所指的字符

#x:(#填數字)刪除當前光標向右#個字符


d:剪切,刪除命令。

dd: 刪除整行。

dw:刪除單個單詞,可是若是光標不在這個單詞開始位置,則會刪除此單詞當前光標後面的內容。

db:

de:

d^:刪除當前光標至首行的內容

d$:刪除當前光標至末行的內容,包括當前光標內容。



在末行模式下使用d命令

末行模式地址定界:

起始地址,結束地址

$:最後一行;

.:當前光標所在行;

%:全文


1,7d

%: 全文

1,$:

1,+6 即1-7行

1,$-2

.,+3


粘貼操做:p

刪除的是整行:

p: 在當前光標所在行的下方粘貼;

P:在當前光標所在行的上方粘貼


刪除的不是整行:

p: 在當前光標所在處字符的後方粘貼;

P:在當前光標所在處字符的前方粘貼;


複製:y, yank

yy

#yy

y$光標到行尾複製,包括當前光標內容

y^光標到行首複製,不包括當前光標內容


複製的是整行:

p: 在當前光標所在行的下方粘貼;

P:在當前光標所在行的上方粘貼


複製的不是整行:

p: 在當前光標所在處字符的後方粘貼;

P:在當前光標所在處字符的前方粘貼;

編輯操做可撤消:

u: vim默認會最近50次的操做,u命令可逐一撤消此前的編輯操做;


撤消此前的撤消:Ctrl+r:


翻屏:

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

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


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

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


文本搜索:

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

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

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

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

經常使用/keyword


模式

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

基本表達式:

.

[]

[^]

*

\?

\{m,n\}

\{m\}

^

$

\<

\>

\(\), \1,\2


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

.

[]

[^]

*

?

+

{m,n}

{m}

^

$

\<

\>

a|b|c ac|b|c 指的是ac或b或c

()

關於正則表達式的內容見前面博客。


編輯命令

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

cc其用法就如dd後再編輯該行

#cc

c

c$: 刪除光標之後行,並進行a處理該行。即d$+a.


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 不區分大小寫

/和@這2個只是個符號,有時遇到\這個符號通常就用@代替,方便查看。你本身也用其餘的符號,但3個必須同樣。


查找替換例子:

1.把/dev/null替換成/tmp/a.txt

%s/\/dev\/null/\/tmp\/a.txt/g(沒有g只替換第一個,有了g無論這行有多少都替換)

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


2.刪除行首開頭的#:

%s@^#@@


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

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


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

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

相關文章
相關標籤/搜索