1. 程式人生 > >vi&vim工具

vi&vim工具

blank 快捷鍵 target file users

  • 簡介
  • vim
  • 模式類別及快捷鍵

簡介

  vim/vi  作用是建立、編輯、顯示文本文件      沒有菜單,只有命令!     

  vim是從vi發展出來的,比vi有部分增強功能!!

vim

作用:

發行版本內置文本編輯器

安裝方法:

  yum install -y vim-enhanced
  yum install -y vim-*(用通配符來找到以"vim-"開頭的包來安裝)

語法:

  vim filename

  vim +n filename,n是數字,可以定位到該文件的第n行,多用於程序調試

模式:

vi  filename                  進入 命令模式        輸入 :wq            保存退出
命令模式    輸入 i a o          進入 插入模式        ESC鍵                退出
命令模式    輸入 :               進入 編輯模式        命令以回車結束運行   自動回到命令模式

模式類別及快捷鍵

1、一般模式

進入方式:   
 按下 Esc  或者 剛剛使用vim打開一個文件時
可執行操作:  
移動光標    刪除內容  復制   粘貼
光標位移動:
"h"和"←"、"j"和"↓"、"k"和"↑"、"l"和"→",四組分別代表向左、下、上、右各移動一個字符
"space",空格鍵代表向右移動一個字符,跟"l"和"→"不同的是,空格鍵在遇到換行符的時候換行 

PS:先輸入數字n後面跟上面相應的快捷鍵,代表向相應方向移動該數字個位
光標頁移動:
Ctrl+f或pagedown鍵      屏幕向前移動一頁
Ctrl+b或pageup鍵        屏幕向後移動一頁

光標精準移動:
"0"             移動到本行行首
"^"             移動到本行行首的第一個非空字符
"$"             移動到本行行尾
"H"             移動到本顯示屏的最上面一行首字母
"L"             移動到本顯示屏的最下面一行首字母
"gg"            移動到文檔首行首字母
"G"             移動到尾行首字母
"nG"            移動到第n行

復制、粘貼與刪除、還原:
"x,X"           x向後刪除一個字符,X向前刪除一個字符
"nx"            向後刪除n個字符
"dd"            刪除/剪切光標所在的那一行(dd後可以直接p,相當於剪切)
"ndd"           刪除/剪切光標所在行起向下一共n行
"D"             刪除光標後面的內容(dw)
"yy"            復制光標所在行
"nyy"           從光標所在行算起向下復制n行
"p"             從光標所在行向下粘貼已經復制或者粘貼的內容
"P(大寫)"             從光標所在行向上粘貼已經復制或者粘貼的內容
"u"             還原上一步操作
"ctrl+r"        與"u"相反的操作
"v"             按v後移動光標會選中指定字符,然後可以復制、粘貼等
"V"             整行選中光標所跨越的行

2、編輯模式

進入方式:
(i, I, a, A, o, O, r, R)按下任意一個鍵,想退回到一般模式時按下Esc即可。
可執行操作:
輸入內容    

i               在當前字符前插入
I               在光標所在行行首插入
a               在當前字符後插入
A               在當前行行尾插入
o               在當前行的下一行插入新的一行
O               在當前行的上一行插入新的一行

3、命令模式

進入方式:
在一般模式下,輸入 ":" 、"/"或"?" 即可進入命令模式。
可執行操作:
搜索、替換、保存、退出、顯示行號等。
查找和替換:
/word
尋找字符串word,按n將光標移動至下一個匹配項首字母,按N則相反

?word
與/word功能相同,只不過n和N的光標移動方向顛倒過來

:n1,n2s/word1/word2/g
"n1,n2" 代表在n1,n2行之間作為搜索範圍,"1,$"和"%"代表搜索整個文檔;
"s" "search"的縮寫,其後緊跟的第一個字符作為隔斷符,一般為"/"、"$"、"@"或"#",但不限於;
"word1"與"word2" 代表"被替換的內容"與"替換的內容";
"g" "global"的縮寫,代表替換此文檔內搜索到所有關鍵字,如過沒有,則只替換每行的第一個關鍵字

PS:g換成數字n可以替換每行的前n個

 :%s/old/new/g           全文替換指定字符串
保存及退出:
:w              保存文本
:q              退出vim
:w!             強制保存,在root用戶下即使文本只讀也可以完成保存
:q!             強制退出,所有改動不生效
:wq             保存並退出
ZZ              等同於:wq

其他命令:
:set nu         顯示行號
:set nonu       不顯示行號

導入文件                :r 文件名
在vi中執行命令          :!命令
在vi編輯時直接把命令的執行結果導入到編輯的文件中       :r !命令

定義快捷鍵            :map 快捷鍵 觸發命令      unmap取消
連續行註釋 
:n1,n2s/^/#/g         在n1到n2行的行首加#
:n1,n2s/^#//g         在n1到n2行的行首去掉#
:n1,n2s/^/\/\//g      在n1到n2行的行首加//   \轉義

替換                    
:ab  mail   [email protected]   [email protected]   unab來取消替換

vi配置文件:用戶家目錄下 .vimrc     更改這個配置文件可以保存定義的快捷鍵及其他設置

vi&vim工具