Vim使用總結

2021-12-30 04:25:40 字數 3929 閱讀 4177

vim是乙個類似於vi的著名的功能強大、高度可定製的文字編輯器,在vi的基礎上改進和增加了很多特性。vim是純粹的自由軟體

三種模式

一般模式:

vim開啟乙個檔案就進入一般模式。

尾部顯示

該模式可移動游標,刪除字元或行,可複製或黏貼檔案資料。

編輯模式

鍵入以下鍵進入編輯模式

i: insert,插入 

a:append, 

o:new line, 

i: 行首 

a:行尾 

o:上方新建行

尾部顯示

vim的操作

游標的移動

字元間跳轉

hjkl->左下上右,方向鍵同樣可以

單詞間跳** 

w:後單詞的詞首 

e:當前或後乙個單詞的詞尾; 

b:當前或前一單詞的詞首;

#command:

行內跳** 

^: 跳轉至行首的第乙個非空白字元; 

0:跳轉至行首; 

$: 跳轉至行尾;

行間移動: 

#g: 

1g, gg 

g句間移動: ) (

段落間移動: } {

編輯操作

字元編輯命令:

x : 大x為向前刪除乙個字元,相當於backspace

x : 小寫x向後刪除乙個字元,相當於del

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

xp:將游標所在處的字元和後邊乙個字元位置對調

刪除命令:

d:d^ 刪除游標所在處到行首的所有字元

d$ 刪除游標所在處到行尾的所有字元

d0 刪除游標所在處到行首的所有字元

dg:刪除游標所在至最後一行的所有字元

d1g:刪除游標所在到第一行的所有字元

dd: 刪除游標所在行

#command

注意:刪除內容會被vim編輯器儲存至緩衝區當中

貼上命令:p (paste, put)

如果此前複製或者刪除的內容不是完整的行:

p 小寫:貼上至當前游標所在處的後面

p 大寫:貼上至當前游標所在處的前面

如果複製的內容是完整行(可以不止一行)

p小寫:貼上之當前游標所在行下方

p大寫:貼上至當前游標所在行上方

複製命令: y, yank

y:yy: 複製游標所在的那一行

#yy:複製游標所在的向下#行

y1g:複製游標所在行到第一行所有字元

yg:複製游標所在行到最後一行所有字元

y$:複製游標所在字元至行尾的所有字元

y^,:複製游標所在字元至行首的所有字元

改變命令:c, change 兼具檔案編輯和模式轉換

c$,c^,c0,cb,

ce,ce,cw

cc: 刪除游標所在行,進入插入模式

撤銷此前的編輯工作

u: undo

撤銷此前的編輯操作

#uctrl+r 恢復此前的撤銷工作

.:重複起乙個編輯操作

翻屏操作:

ctrl+f: 螢幕向下翻一頁

ctrl+b: 螢幕向上翻一頁

ctrl+d:螢幕向下移動半頁

ctrl+u:螢幕向上移動半頁

末行模式:

(1)位址,定界

:start_pos,end_pos

#: 第#行

#,#:從#行到#行

#,+#:從#行到第#+#行

.:當前行

$:組後一行

%: 全文,相當於1,$

/pat1/: 第一次被此模式所匹配到的行;

#,/pat1/:從第#開始,第一次被此模式所匹配到的行

/pat1/,/pat2/:第一次被此模式所匹配到的行 到 第二次被匹配到的行

後邊可跟編輯命令:

y,w,r

(2)查詢

/pattern: 向尾部進行搜尋

?pattern: 向首部進行搜尋

n: 與命令同方向

n: 與命令反方向

(3)查詢替換

s:在末行模式下,在地制定界的範圍內完成查詢替換操作

s/要查詢的內容/替換為的內容/修飾符

要查詢的內容:可使用模式

替換為的內容:不能使用模式,但可以使用後向引用符號,以引用前面模式中的分組括號所匹配到的內容;

\1, \2, ...

&:引用"要找的內容"匹配到的整個內容;

修飾符:

i: 忽略大小寫

g: 全域性替換

c:提示給使用者確認是否需要替換

/:用於分隔符,所以,要查詢的內容或替換為的內容**現此符號,要使用\對其轉義,使用格式:\/

分隔符可替換為其它字元:例如@,#等;

多檔案模式:

vim file1 file2 ...

:n 編輯下乙個檔案

:n 編輯上乙個檔案

:files 列出目前這個vim開啟的所有檔案

:next 編輯下乙個檔案

:first 編輯第乙個檔案

:prev 編輯上乙個檔案

:last 編輯最後乙個檔案

:wqall 儲存並退出所有開啟檔案

:q!all  強制退出所有開啟檔案

多檔案視窗分割:

ctrl+w, arrow(箭頭) 切換視窗

單檔案視窗分割:

ctrl+w, s: split, 水平分割

ctrl+w, v: vertical, 垂直分割

定製vim的某些工作特性:

(1) 行號

顯示:set nu

禁用:set nonu

(2) 括號匹配

顯示:set sm

禁用:set nosm

(3) 自動縮排:

set ai

set noai

(4) 高亮搜尋

set hlsearch

set nohlsearch

(5) 語法著色

syntax on

syntax off

(6) 忽略字元大小寫

set ic

set noic

練習:1、復用查詢替換命令刪除檔案中的行首的空白字元;

2、用查詢替換命令為檔案每行開頭為空白字元的行的行首加乙個#; 原有空白字元保留;

3、替換/tmp/functions檔案中的/etc/sysconfig/init為/var/log;

4、刪除/tmp/functions檔案中所以#開頭,且#後面至少跟了乙個空白字元的行的行首#

VIM使用總結

一 關於如何搭建成ide可以參考下面兩篇文章 2.vi vim使用高階 目錄 add 把vim打造成ide 整理,修訂 對si比較熟悉的,可以看看下面這篇,有si和vim功能的對比 從source insight到vim 二 新建乙個工程需要執行的操作 1.cscope rbq 生成cscope.i...

Vim使用總結

前言vim是乙個超級牛的編輯器,可以說是專為程式設計師設計的編輯器,強大的有些不可思議 不過其學習曲線稍顯陡峭,前兩天在網上找到乙個小圖表,比較全,如果對錶中所列的命令學習熟悉以後,處理日常的文字就已經足夠,所以貼出來,大家參考參考。vim的牛b之處不在於其功能之繁多,更不在於其學習曲線之陡峭,而在...

vim使用總結

1.vim 將檔案從dos格式轉換到unix格式 vim file.txt set fileformat unix w2.刪除文字中的 m 三種行尾格式如下 unix n dos r n mac r 這意味著,如果你試圖把乙個檔案從一種系統移到另一種系統,那麼你就有換行符方面的麻煩。因為ms dos...