3.23 vi/vim:纯文本编辑器
生活随笔
收集整理的這篇文章主要介紹了
3.23 vi/vim:纯文本编辑器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
vi/vim
是Linux命令行界面下的文字編輯器,幾乎所有的Linux系統都安裝了vi,只要學會了vi這個編輯工具,就可以在任何Linux系統上使用它。而vim是vi命令的增強版(Vi IMproved),與vi編輯器完全兼容,此外還有很多增強功能,例如用不同顏色高亮顯示代碼。因此,如果系統有vim命令,那么建議大家就使用vim編輯文本。vim的三種模式
一般來說,vim可分為三種模式:普通模式、編輯模式、命令模式。這三種模式的作用分別如下。 (1)普通模式 用vim命令打開一個文件,默認的狀態就是普通模式。在這個模式中,不能進行編輯輸入操作,但可以按“上下左右”鍵來移動光標,也可以執行一些操作命令進行如刪除、復制、粘貼等之類的工作。 (2)編輯模式 在普通模式下不能進行編輯輸入操作,只有按下“i,I,o,O,a,A,r,R,s,S”(其中“I”最常用)等字母進入編輯模式之后才可以執行錄人文字等編輯操作。看文件是否處于編輯模式狀態有一個重要的特征,那就是在窗口的左下角要有插入的標記“--INSERT--”或“--插入--” (3)命令模式 在普通模式下,輸入“:”或“/”或“?”時,光標會自動定位在那一行,在這個模式中,可以執行保存、退出、搜索、替換、顯示行號等相關操作。vim命令的參數選項及說明
普通模式:移動光標的操作
G或(shift+g)?? ?將光標移動到文件的最后一行 gg?? ??? ??? ?? ??將光標移動到文件的第一行,等價于1gg或1G 0?? ??? ??? ??? ??數字0,將光標從所在位置移動到當前行的開頭 $?? ??? ??? ?? ? ?從光標所在位置將光標移動到當前行的結尾 n<Enter>?? ?? ? ??n為數字,<Enter>為回車鍵,將光標從當前位置向下移動n行 ngg?? ??? ??? ??? n為數字,移動到文件的第n行,如11gg可移動到第11行,可配合“:setnu”查看,同nG H?? ??? ??? ??? ??光標移動到當前窗口最上方的那一行 M?? ??? ??? ??? ??光標移動到當前窗口中間的那一行 L?? ??? ??? ??? ??光標移動到當前窗口最下方的那一行 h或()?? ?? ??? ?光標向左移動一個字符 j或()?? ??? ??? ?光標向下移動一個字符 k或()?? ??? ??? ?光標向上移動一個字符 l或(→)?? ??? ??? 光標向右移動一個字符普通模式:搜索與替換操作
/lewen?? ??? ?從光標位置開始,向下尋找名為lewen的字符串 ?lewen? ? ???從光標位置開始,向上尋找名為lewen的字符串 n?? ??? ?? ? ?從光標位置開始,向下重復前一個搜索的動作 N?? ??? ?? ? ?從光標位置開始,向上重復前一個搜索的動作 :%s/A/B/g?? ?把符合A的內容全部替換為B,斜線為分隔符,可以用@、#等替代 :n1,n2s/A/B/g? ??n1、n2為數字,在第n1行和n2行之間尋找A,用B替換普通模式:復制、粘貼、刪除等操作
yy?? ??? ?復制光標所在的當前行 nyy?? ??? n為數字,復制光標開始向下共n行 p/P?? ??? p將已復制的數據粘貼到光標的下一行,P則為粘貼到光標的上一行 dd?? ??? ?刪除光標所在的當前行 ndd?? ?? ?n為數字,刪除從光標開始向下共n行 u?? ?? ? ?恢復(回滾)前一個執行過的操作 .?? ?? ? ?點號。重復前一個執行過的動作 x?? ?? ? ?向后刪除字符 X?? ?? ? ?向前翻除字符 d1G?? ??? 刪除當前行至第一行 dG?? ??? ?刪除當前行至最后一行 d0?? ??? ?刪除當前光標文本至行首 d$?? ??? ?刪除當前光標文本至行尾進入編輯模式命令
i?? ?在當前光標所在處插入文字 a?? ?在當前光標所在的下一個字符處插入文字 I?? ?在當前所在行行首的第一個非空格符處開始插入文字,和A相反 A?? ?在當前所在行行尾的最后一個字符處開始插入文字,和l相反 O?? ?在當前所在行的上一行處插入新的一行 o?? ?在當前所在行的下一行處插入新的一行 Esc? 退出編輯模式,回到命令模式中命令行模式
:wq?? ??? ?退出并保存 :wq!? ? ??退出并強制保存,“!”為強制的意思 :q!????? ?強制退出,不保存 :n1,n2 w filename? n1、n2為數字,將n1行到n2行的內容保存成filename這個文件 :nl,n2 co n3?? ??? nl、n2為數字,將nl行到n2行的內容復制到n3位置下 :n1,n2 m n3?? ??? ?nl、n2為數字,將n1行到n2行的內容剪切至n3位置下 :!command?? ?? ? ??暫時離開vi到命令行模式下執行command的顯示結果!例如:!ls /etc :set nu?? ??? ??? ?顯示行號 :set nonu?? ??? ???與setnu相反,取消行號 :vs filename?? ??? 垂直分屏顯示,同時顯示當前文件和filename對應文件的內容 :sp filename ? ? ??水平分屏顯示,同時顯示當前文件和filename對應文件的內容 I + # + Esc?? ?? ? ?在可視塊模式下(Ctrl+V),一次性注釋所選的多行,取消注釋可用“:nl,n2s/#//g”,這里的操作是一個通用的方法,#號可以換成別的操作,例如Tab鍵,這樣就是批量縮進 Del?? ??? ??? ?? ? ?在可視塊模式下(Ctrl+V),一次性刪除所選內容 r?? ??? ??? ??? ??? 在可視塊模式下(Ctrl+V),一次性替換所選內容.輸入r,再輸入替換成的字符vim打開文件的方法小結
以下為vim打開文件的幾種方法。 vim file:打開/新建文件,光標置于第1行行首,file為任意文件名。 vim file +n:打開文件,光標置于第n行行首,n為自然數。? ?#eg:?vim test.txt +4 vim file +:打開文件,光標置于最后1行行首。 vim file +/pattern:將光標置于第一個與pattern匹配的字符串處,pattern為任意字符串。總結
以上是生活随笔為你收集整理的3.23 vi/vim:纯文本编辑器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3.1 cat:合并文件或查看文件内容
- 下一篇: 3.21-22 od、tee