天天看點

Linux下vi/vim的使用(常用)

Vi/Vim 三種操作狀态,分别是 --指令模式(Command mode) --插入模式(Insert mode) --底線指令模式(Last line mode)      各模式的功能區分如下:            Comand mode:控制螢幕光标的移動,字元或光标的删除,移動複制某區段及進入Insert mode下,或者到Last line mode。            Insert mode:唯有在Insert mode下,才可做文字資料輸入,按Esc等可回到Comand mode。            Last line mode:将儲存檔案或離開編輯器,也可設定編輯環境,如尋找字元串、列出行号等。

一般簡化成Command 和Insert mode。

一、進入:      vi test.c或者vim test.c      vi +n test.c或者vim +n test.c------->打開至n行      1、Command mode----------->Insert mode      按a/i/o進入Insert mode:           i: 插入,從目前光标所在之處插入所輸入的文字。           a: 增加,目前光标所在的下一個字開始輸入文字。           o: 插入新的一行,從行首開始輸入文字。

     2、Insert mode----------->Command mode      按Esc鍵

二、退出:      在Command mode下,可按冒号“:”鍵入入Last line mode,例如:           :w filename (輸入“w filename”,将文章存入指定的檔案名filename)           :wq (輸入“wq”,因為進入之時已經指定檔案名testfile,是以會寫入testfile并離開vi)           :q! (輸入“q!”,強制離開并放棄編輯的檔案)

     也可以是ZZ/ZQ       儲存/不儲存退出(ZZ本人常用)

三、移動光标:      1、上下左右鍵移動或者(i/j/k/l)移動,兩者效果相似。      2、按Ctrl+b:螢幕往後移動一頁。[常用]           按Ctrl+f:螢幕往前移動一頁。[常用]           按Ctrl+u:向檔案首翻半屏           按Ctrl+d:向檔案尾翻半屏

     3、nG或者ngg:移動到第n行行首      4、G:移動到末尾      5、w:光标跳到下個word的開頭      6、$:移到光标所在行的行尾。

四、删除文字:(#表示數字)      1、x:每按一次删除光标所在位置的後面一個字元。[超常用]      2、#x:例如,6x 表删除光标所在位置的後面6個字元。[常用]

     3、X:大字的X,每按一次删除光标所在位置的前面一個字元。      4、#X:例如,20X 表删除光标所在位置的前面20個字元。

     5、dd:删除光标所在行。[超常用]      6、#dd:例如,6dd表删除從光标所在的該行往下數6行之文字。[常用]

     7、dw:删除一個單詞。      8、#dw:删除#個單詞。

     9、d$:删除光标位置到行尾的内容      10、do:删至行首

五:恢複操作:      1、u:恢複剛才被修改的文本       2、U:恢複光标所在行的所有修改      3、.:重複上一次指令的操作

六:複制字元:      1、yy:複制目前光标所在行      2、nyy:複制目前所在行以及下面n行

     3、yw:複制目前光标所在單詞      4、nyw:複制目前光标以及後面的n個單詞

七、粘貼指令:      p

八、搜尋指定字元串:      在Last line mode 下      1、按(/+字元串):搜尋指定字元串           按(n):會從目前位置向後查找

     2、按(?+字元串):搜尋指定字元串           按(n):會從目前位置向前查找

九、(:set)用法:目前本人用來顯示行号和檢視檔案屬性:      在Last line mode 下      按(:set)會出現set的參數及檔案資訊:

     1、(:set nu):顯示行号      2、利用如下指令檢視檔案格式   :set ff 或 :set fileformat   可以看到如下資訊   fileformat=dos 或 fileformat=unix  

利用如下指令修改檔案格式   :set ff=unix 或 :set fileformat=unix

繼續閱讀