linux 文字編輯器Vim/Vi詳細介紹,vimvi
二:文字編輯器Vim/Vi(早起叫Vi後期升級版Vim)vim/vi是一個功能強大的全螢幕文字編輯器,是linux/unix上最常用的文字編輯器,它的作用是建立、編輯、顯示文字檔。vim/vi 沒有菜單,只有命令 ----官方:www.vim.org三種模式: vi filename 命令模式 按i、a、o 插入模式 :set nu 編輯模式(設定行號,這種就是編輯模式下,:號開頭) 常用命令:一組:插入命令命令 作用 a 在游標後附加文本 A 在本行行末附加文本 i 在游標前插入文本 I 在本行開始插入文本 o 在游標下插入新行 O 在游標上插入新行二組:定位命令命令 作用h、方向左鍵 左移一個字元j、方向下鍵 下移一行k、方向上鍵 下移一行l、方向右鍵 右移一個字元$ 移至行尾0 移至行首(字母零)H 移至螢幕上端M 移至螢幕中央L 移至螢幕下端:set nu 設定行號:set nonu 取消行號gg 到第一行G 到最後一行nG 到第n行:n 到第n行三組:刪除命令命令 作用 x 刪除游標所在處的字元 nx 刪除游標所在處後n個字元 dd 刪除游標所在行,ndd刪除n行 dG 刪除游標所在行到末尾的內容 D 刪除從游標所在處到行尾 :n1,n2d 刪除指定範圍的行 如:66,67d --刪除66-67行四組:複製和剪下命令命令 作用yy、Y 複製當前行nyy,nY 複製當前行以下n行 ---5yy(複製5行包括當前行)dd 剪下當前行ndd 剪下當前行以下n行p、P 粘貼在當前游標所在行下(p) 或 行上(P)五組:替換和取消命令命令 作用 r 取代游標所在處字元 R 從游標所在處開始替換字元,按Esc結束 u取消上一步操作六:搜尋和替換命令命令 作用 /string 向前搜尋指定字串,搜尋是忽略大小寫:set ic (搜尋前面先執行這個ceil不區分大小寫)--set noic關閉---如:/leyangjun 命令模式下,按n依次搜尋leyangjun n 搜尋指定字串的下一個出現位置(小寫n從前往後找,大寫的N從後往前找) :%s/old/new/g 全文替換指定字串(%s表示全文替換)如:%s/ftp/leyangjun/g 將全文所有ftp替換成leyangjun, g表示替換的時候不需要確認 :n1,n2s/old/new/g 在一定範圍內替換指定字串如:4,10/leyangjun/ftp/g 將第4-10行的leyangjun全部替換為ftp4,10/leyangjun/ftp/c 需要確認儲存退出:----:wq 等同於 shift + ZZ 強行儲存退出:wq! (只有檔案的所有者/root才可以操作)另存新檔:w /root/service.bak 另存新檔root目錄下應用例子:匯入檔案內容 : r 檔案名稱 (當你在編輯a檔案的時候可以將b檔案的內容匯入a檔案)如: :r /etc/leyangjun 將leyangjun檔案匯入到當前編輯的檔案內容。在vi中執行命令:!命令如:我現在在編輯某個檔案但是現在想看某個檔案的內容 :!ls /root -->能後提示你斷行符號就回去了如:結合上面的匯入,把一個命令執行的結果匯入某個檔案:r !date ----將日期匯入到我現在在編輯的檔案中定義快速鍵:map 快速鍵 觸發命令範例: :map ^P I#<ESC> ^表示是一個快速鍵 注意一定要用ctrl+v+p 才能得到 ^pI# 表示插入一個#號,(I表示進入插入模式) :map ^E iyangjun518@163.com (是按ctrl+v+E,有個字母i) 定義的插入郵箱的快速鍵取消用:unmap ^P (ctrl+v+p)連續行注釋 :n1,n2s/^/#/g (/^表示行首)例子:4,8s/^/#/g (4-8行加#好注釋掉) :n1,n2s/^/#//g例子:4,8s/^/#//g (去掉4-8行的#)替換的意思給個空:n1,n2s/^/\/\//g例子:4,8s/^/\/\//g (將4-8行 //的注釋符號去掉)替換(推薦使用ab,比快速鍵還方便):ab mymail leyangjun518@163.com (ab命令可以理解為,將a替換為b)當你設定完後,能後回到你當前編輯文本裡:你輸入 myemail-->斷行符號或空格,你會發現替換成leyangjun518@163.com了unab myemail (取消ab的定義)vi的配置文鍵:改變vi的設定檔(修改完後下次開啟檔案就按照設定檔走):~ home director 進入樹主目錄(如/home/leyangjun)~/.vimrc 每個使用者都有自己的vim設定檔,開啟預設是空的實際操作:一:vi /root/.vimrc 或 vi ~/.vimrc 二:編輯set nu (下次開啟每個檔案的時候就會有行號)ab lyj leyangjun