(一)vi/vim是什麼?
Linux世界幾乎全部的配置文件都是以純文本形式存在的,而在全部的Linux發行版系統上都有vi編輯器,所以利用簡單的文字編輯軟件就可以輕鬆地修改系統的各類配置了,很是方便。vi就是一種功能強大的文本編輯器,而vim則是高級版的vi,不但能夠用不一樣顏色顯示文字內容,還能進行諸如shell腳本、C語言程序編輯等功能,能夠做爲程序編輯器。shell
(二)爲何要學習vi/vim?
首先全部的Linux發行版系統上都會默認內置vi編輯器,而不必定帶有其餘文本編輯器,很是通用;其次,不少軟件的編輯接口都會默認調用vi;第三,vi具備程序編輯的能力;最後,vi程序簡單,編輯速度至關快速。
(三)vi的三種模式及各個模式之間的轉換關係vim
(四)通常模式經常使用操做
【h(或向左方向鍵)】 光標左移一個字符
【j(或向下方向鍵)】 光標下移一個字符
【k(或向上方向鍵)】 光標上移一個字符
【l(或向右方向鍵)】 光標右移一個字符編輯器
【[Ctrl] + f】 屏幕向下移動一頁(至關於Page Down鍵)
【[Ctrl] + b】 屏幕向上移動一頁(至關於Page Up鍵)學習
【[0]或[Home]】 光標移動到當前行的最前面
【[$]或[End]】 光標移動到當前行的末尾ui
【G】 光標移動到文件的最後一行(第一個字符處)
【nG】 n爲數字(下同),移動到當前文件中第n行
【gg】 移動到文件的第一行,至關於"1G"
【n[Enter]】 光標向下移動n行編碼
【/word】 在文件中查找內容爲word的字符串(向下查找)
【?word】 在文件中查找內容爲word的字符串(向上查找)
【[n]】 表示重複查找動做,即查找下一個
【[N]】 反向查找下一個
【:n1,n2s/word1/word2/g】 n一、n2爲數字,在第n1行到第n2行之間查找word1字符串,並將其替換成word2
【:1,】從第一行(第行同理)到最後一行查找注冊,並將其替換成【s/word1/word2/g】從第一行(第n行同理)到最後一行查找word1註冊,並將其替換成word2【:1,s/word1/word2/gc】 功能同上,只不過每次替換時都會讓用戶確認atom
【x,X】 x爲向後刪除一個字符,至關於[Delete],X爲向前刪除一個字符,至關於[Backspace]
【dd】 刪除光標所在的一整行
【ndd】 刪除光標所在的向下n行spa
【yy】 複製光標所在的那一行
【nyy】 複製光標所在的向下n行
【p,P】 p爲將已經複製的數據在光標下一行粘貼;P爲將已經複製的數據在光標上一行粘貼命令行
【u】 撤消上一個操做
【[Ctrl] + r】 屢次撤消
【.】 這是小數點鍵,重複上一個操做unix
(五)通常模式切換到編輯模式的操做
1、進入插入模式(6個命令)
【i】 從目前光標所在處插入
【I】 從目前光標
【a】 從當前光標所在的下一個字符處開始插入
【A】 從光標所在行的最後一個字符處開始插入
【o】 英文小寫字母o,在目前光標所在行的下一行處插入新的一行並開始插入
【O】 英文大寫字母O,在目前光標所在行的上一行處插入新的一行並開始插入
二、進入替換模式(2個命令)
【r】 只會替換光標所在的那一個字符一次
【R】 會一直替換光標所在字符,直到按下[ESC]鍵爲止
【[ESC]】 退出編輯模式回到通常模式
(六)通常模式切換到命令行模式
【:w】 保存文件
【:w!】 若文件爲只讀,強制保存文件
【:q】 離開vi
【:q!】 不保存強制離開vi
【:wq】 保存後離開
【:wq!】 強制保存後離開
【:! command】 暫時離開vi到命令行下執行一個命令後的顯示結果
【:set nu】 顯示行號
【:set nonu】 取消顯示行號
【:w newfile】 另存爲
(七)文件恢復模式
【[O]pen Read-Only】 以只讀方式打開文件
【[E]dit anyway】 用正常方式打開文件,不會載入暫存文件內容
【[R]ecover】 加載暫存文件內容
【[D]elete it】 用正常方式打開文件並刪除暫存文件
【[Q]uit】 按下q就離開vi,不進行其餘操做
【[A]bort】 與quit功能相似
(八)塊選擇(通常模式下用)
【v,V】 v:將光標通過的地方反白選擇;V:將光標通過的行反白選擇
【[Ctrl] + v】 塊選擇,可用長方形的方式選擇文本
【y】 將反白的地方複製到剪貼板
【d】 將反白的內容刪除
(九)多文件編輯
【vim file1 file2】 同時打開兩個文件
【:n】 編輯下一個文件
【:N】 編輯上一個文件
【:files】 列出當前用vim打開的全部文件
(十)多窗口功能
【:sp [filename]】 打開一個新窗口,顯示新文件,若只輸入:sp,則兩窗口顯示同一個文件
【[Ctrl] + w + j】 光標移動到下方窗口
【[Ctrl] + w + k】 光標移動到上方窗口
【[Ctrl] + w + q】 離開當前窗口
(十一)vim配置文件
vim的配置文件爲/etc/vimrc,但通常不建議直接修改這個文件,而是在用戶根目錄下建立一個新的隱藏文件:
vim ~/.vimrc
而後編輯這個文件,經常使用的配置以下:
"雙引號後面的內容爲註釋
set nu "顯示行號
set hlsearch "查找的字符串反白顯示
set backspace=2 "可隨時用退格鍵進行刪除
set autoindent "自動縮排
set ruler "在最下方一行顯示狀態
set showmode "在左下角顯示模式
set bg=dark "顯示不一樣的底色,還能夠爲light
syntax on "語法檢驗,顏色顯示
(十二)Dos與Linux的斷行字符(文件轉化)
dos2unix [-kn] file [newfile]
unix2dos [-kn] file [newfile]
-k:保留該文件本來的mtime時間格式
-n:保留本來舊文件,將轉換後的內容輸出到新文件
(十三)語系編碼轉化iconv --list 列出iconv支持的語系編碼iconv -f 本來編碼 -t 新編碼 filename [-o new file]-f:from,後接本來的編碼格式-t:to,後接新編碼格式-o file:可選參數,創建新文件例:將/tmp/a.txt從big5編碼格式轉換成utf8編碼格式:iconv -f big5 -t utf8 /tmp/a.txt -o new.txt