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...