VIM編輯器

vim編輯器

  文本編輯器:
      文本:純文本雕凹,ASCII text嗜闻,Unicode 盆驹;【word不是純文本處理 工具缎浇,有各種格式】
  文本編輯器種類:
      行編輯器:sed
      全屏編輯器:nano揭蜒,vi

      vi:visual interface
      vim:vi improved 即vi的增強版

vim:格式 化的編輯器
        基本模式:
            編輯模式,即命令模式  
            輸入模式集畅,即插入模式
            末行模式:
                內置的命令行接口旨椒。

    打開文件:
      vim [options] [file ..]
       默認打開光標在首行
        +:只帶+這一個參數(shù),光標顯示在尾行行首
        +# :打開文件后魔吐,讓光標處于#行的行首
        +/pattern:打開文件后扎筒,直接讓光標處于第一個被 pattern匹配的位置行的行首【例如到達文件中l(wèi)isa的位置,vim /path/to/file +/lisa即可
  
   模式轉換:
        編輯模式:默認模式
             編輯模式 --> 輸入模式:
                i:insert 在光標所在處輸入酬姆;
               a:append嗜桌,在光標處后方輸入;
               o:在光標所在處下方打開一個新行辞色,會把原來處于下行的數(shù)據(jù)整體下移骨宠;
                I:【大寫的i】在光標所在的行的行首輸入;
                A:在光標所在行的行尾進行輸入;
                O:在光標所在處的上方打開一個新行层亿。
            
          輸入模式 -->編輯模式:
              ESC

          編輯模式  -->末行模式【內置命令行】:
              :冒號
          末行模式 -->編輯模式:
                ESC

        關閉文件:
              ZZ:保存并退出【編輯模式下】
              :w 保存
              :q退出
              :q! 強制退出桦卒,不保存此前的編輯        
              :wq 保存并退出
              :x 保存并退出
              :w /path/to/file 另存為/path/to/file

        光標跳轉:
                字符間跳轉
                  h,l向左和向右一個字符跳轉
                  j匿又,k向下和向上一行跳轉
                如果在這四個字母前面加上一個數(shù)字方灾,則表示往此方向跳轉此數(shù)字個字符
                單詞間跳轉
                    w:跳到下一個單詞的詞首;
                    b:當前或前一個單詞的詞首碌更;
                    e:當前或后一個單詞的詞尾      
                    也可以在字母前加數(shù)字表示跳轉單詞的個數(shù)

                行首行尾跳轉
                    ^:跳轉至行首的非空白字符裕偿;
                   0:跳轉至絕對行首,包括空字符痛单;
                   $:跳至絕對行尾

                行間跳轉
                   #G: 跳轉至#行行首
                    1G或gg:跳轉至第一行
                    G:跳轉至最后一行

                句間跳轉:
                      ):下一句
                      (:前一句
                        前面可以加數(shù)字

                段間跳轉 
                    }下一段
                    {上一段

      翻屏:
              CTRL+f :向文件尾部翻一屏
              CTRL+b:向文件首部翻一屏
              CTRL+d:向文件尾部翻半屏
              CTRL+u:向文件首部翻半屏
              回車鍵:向后翻行

   vim的編輯命令:
        字符編輯
              x:刪除光標所在處的字符嘿棘,#x 刪除光標處所在處起始的#個字符
              xp:交換光標所在處的字符與其后面的字符的位置

          
        替換命令(replace)
            r:替換廣播所在處的字符
                r之后輸入將要替換后的字符

        刪除命令
            d:刪除命令
                d$ 刪除當前光標所在處至行尾
                d^:刪除當光標至行首【非空行首】
                d0:刪除當光標至絕對行首
                dw:刪除至下一個單詞行首
                de:刪除至當前單詞結尾
                db:刪除至當前單詞行首
                dd:刪除整行
              以上命令前添加數(shù)字即可對數(shù)字倍數(shù)的目標數(shù)據(jù)進行刪除 ,刪除后的結果會保存在緩沖區(qū)桦他,即剪切的功能 

        粘貼命令(p,put,paste):
              p:緩沖區(qū)的內容如果是整行,則粘貼在當前光標所在行的下方谆棱,否則粘貼至當前光標所在處的后方
             P:緩沖區(qū)的內容如果是整行快压,則粘貼在當前光標所在行的上方,否則粘貼至當前光標所在處的前方

            dd命令的復制的都是行數(shù)據(jù)垃瞧,其他的都是非行數(shù)據(jù).


        復制命令(yank,y):
                y:復制蔫劣,工作行為相似于d命令
                y$
                y^
                y0
                ye
                yw 
                yb
                 yy 復制一整行
                  #command 復制#個/行數(shù)據(jù)

      改變命令(change,c):
           編輯模式 --> 輸入模式,實現(xiàn)刪除操作 个从;
                c$
                c^
                c0 

                cb
                ce
                cw
        
                cc 刪除光標所在行脉幢,并且轉換為輸入模式
                        #command刪除#個,并轉換為輸入模式

       可視化模式(visual):
              移動上下左右即可進行范圍內選中
              v:按字符選定
              V:按行選定
             結合編輯命令:d嗦锐,c嫌松,y

      撤銷操作(undo):
              u:最多可以撤回50步
                    #u 撤銷此前的#步操作
      撤銷此前的撤銷:
              CTRL + r 

      執(zhí)行重復前一個編輯操作:
              .小數(shù)點

       vim 自帶教程:vimtutor命令

  vim末行模式:
      內建的命令行接口
      
      1、地址定界
            :start_pos,[end_pos]
                 #:特定的第#行
                 #,#:指定行范圍起始-結束奕污;
                 .:小數(shù)點表示當前行再芋;
                 $:表示最后一行溶弟;
                 #,+#:指定行范圍,做錯為起始行絕對編號勾徽,右側為相對左側行號的偏移量,例如3嚣潜,+7表示第三行和后面的7行
                %:全文
                  /pattern/:從光標所在處起始向文件尾部懒棉,第一次被模式所匹配的行
                /pattern1/,/pattern2/:從廣播所在其實向文件尾部,第一次由pattern1匹配到的行開始该抒,到第一次由pattern2匹配到的行結束之間的所有行慌洪。
       一般同編輯命令一同使用,實現(xiàn)編輯操作:
        d刪除
        y復制
        c刪除并輸入

        例如:1,$d即刪除全文
  
      w /path/to/file :將范圍內的 文本另存為;
      r /path/to/file:將指定的文本讀取并插入至當前文本的指定位置 

    2蒋譬、查找
          /pattern:從當前光標處所在處往文件尾部查找能夠被當前模式匹配道德所有字符串割岛;
         ?pattern:從當前光標處所在處往文件首部查找能夠被當前模式匹配道德所有字符串;
            n:下一個犯助,與查找方向相同癣漆;
           N:上一個,與查找方向相反剂买。
  
    3惠爽、查找并替換
          s:末行模式的命令,使用格式:
              s/要查找的內容/替換為的內容/修飾符
                  要查找的內容:可使用正則表達式瞬哼;
                  替換為的內容:不能使用正則表達式婚肆,但是可以引用(如果要查找的內容福分在模式中使用分組符號,使用\1,\2...后向引用坐慰;或者可以直接引用查找模式匹配的全部文本较性,使用&符號)
                   修飾符:
                        i:忽略大小寫;
                       g:全局替換结胀,意味著一行中如果匹配到多次赞咙,則均替換【默認是只替換一行中第一次出現(xiàn)的】
      
          可把分隔符/替換為其他分隔符,可以使用@或#糟港,因為/有時候是文本內的內容攀操。

      實例:
          把文檔中的所有以t開頭的單詞轉換為首字母大寫,即T開頭:
              :%s@\<t\([[:alpha:]]\+\)\>@T\1@g

          把文檔中的所有以t開頭的單詞轉換為此單詞后加er:
              :%s@\<t([[:alpha:]]+\)\>@er@g

  vim的多文件功能:
      vim  file1 file2 ...
            在文件間切換:
                  :next
                  :prev
                  :first
                  :last
          退出所有文件:
                  :wqall 保存并退出所有文件秸抚;
                  :wall 保存所有文件
                  :qall  退出所有文件
        多窗口顯示:
                  -o:水平分割窗口
                  -O:垂直分割窗口

                 CTRL+w 松開后按上下左右鍵切換
                  當前單文件也可以分割為多個窗口查看:CTRL+w 松開后按s水平分割速和,CTRL+w,松開后按v垂直分割窗口

      定制vim的工作特性:
           在末行模式下的設定剥汤,僅對當前vim進程有效
           永久有效:
                全局:/etc/vimrc
                用戶個人:~/.vimrc
          1颠放、行號
                顯示:set number,簡寫為set nu
                取消顯示:set nonumber簡寫為set nonu
          2吭敢、括號匹配高亮【但是經(jīng)驗證慈迈,好像沒那么有效,即設置不起作用省有,默認都是會匹配的】
                  匹配:set showmatch痒留,set sm
                  取消:set nosm
          3、自動縮進
                  編輯一行縮進到一定位置蠢沿,回車后自動縮進伸头。
                set ai /noai :ai 即auto indent
         4、高亮搜索
                啟用:set hlsearch
                禁用:set nohlsearch

        5舷蟀、語法高亮
                啟用:syntax on
                禁用:syntax off

        6恤磷、忽略字符大小寫
               啟用:set lc
               禁用:set nolc
              
          獲取幫助:
              :help
              :help subject
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末面哼,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子扫步,更是在濱河造成了極大的恐慌魔策,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件河胎,死亡現(xiàn)場離奇詭異闯袒,居然都是意外死亡,警方通過查閱死者的電腦和手機游岳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進店門政敢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人胚迫,你說我怎么就攤上這事喷户。” “怎么了访锻?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵褪尝,是天一觀的道長。 經(jīng)常有香客問我期犬,道長河哑,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任哭懈,我火速辦了婚禮灾馒,結果婚禮上茎用,老公的妹妹穿的比我還像新娘遣总。我一直安慰自己,他們只是感情好轨功,可當我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布旭斥。 她就那樣靜靜地躺著,像睡著了一般古涧。 火紅的嫁衣襯著肌膚如雪垂券。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天羡滑,我揣著相機與錄音菇爪,去河邊找鬼。 笑死柒昏,一個胖子當著我的面吹牛凳宙,可吹牛的內容都是我干的。 我是一名探鬼主播职祷,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼氏涩,長吁一口氣:“原來是場噩夢啊……” “哼届囚!你這毒婦竟也來了?” 一聲冷哼從身側響起是尖,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤意系,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后饺汹,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蛔添,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年首繁,在試婚紗的時候發(fā)現(xiàn)自己被綠了作郭。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡弦疮,死狀恐怖夹攒,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情胁塞,我是刑警寧澤咏尝,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站啸罢,受9級特大地震影響编检,放射性物質發(fā)生泄漏。R本人自食惡果不足惜扰才,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一允懂、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧衩匣,春花似錦蕾总、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至柄延,卻和暖如春蚀浆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背搜吧。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工市俊, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人滤奈。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓摆昧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親僵刮。 傳聞我的和親對象是個殘疾皇子鹦牛,可洞房花燭夜當晚...
    茶點故事閱讀 44,647評論 2 354