歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> vim編輯器用法

vim編輯器用法

日期:2017/3/3 11:24:12   编辑:Linux技術

Vim在linux的世界中,絕大多數配置文件是以ASCII的純文本形式存在,(什麼是純文本文件:其實文件記錄的就是1或者0,而我們通過編碼系統將這些0或者1轉換成我們認識的文字就是了)為何要學習vim?1.所有的unix like系統都會內置vi文本編輯器,其他的文本編輯器不一定存在;2.很多軟件的編輯接口都會主動調用vim;3.Vim具有程序編程能力,可以主動以字體顏色辨別語法的正確性,方便程序設計;4.編程簡單,編輯速度相當快速;Vim分為三種模式:一般模式;命令模式;編輯模式;在vim裡面,【tab】健所得到的結果和空格是不一樣的在一般模式移動光標的方法:1 . h 向左移動一個字符 j 向下.... k 向上... l 向右...(如果要進行多此移動的話,例如向下移動30行,可以使用30j)2 . [ctrl]+f == [page down]向下移動一頁3 . [ctrl]+b == [page up] 向上移動一頁4 . [ctrl]+d 向下移動半頁5 . [ctrl]+u 向上移動半頁6. + 光標移動非空白行的下一行7. - .................的上一行8. n[space] 光標會向右移動這一行的n個字符9. 0或者功能鍵【home】移動到這行字符的最前面10. $或者[end]移動到這行字符最後面字符處11. H 光標移動到這個屏幕的最上方那一行的第一個字符12. M .................................的中央...................................13. L ..................................的最下面..............................14. G 移動到這個文件的最後一行15. nG n為數字,移動到這個文件的第n行16. gg 移動到這個文件第一行 ,相當於1G17. N[enter] N為數字,光標向下移動N行一般模式下的查找和替換:1./word 向下尋找一個名為word的字符串2.?word 向上尋找一個名為word的字符串3.n 這個n是英文鍵,代表重復前一個查找的操作,例如,剛才查找的是word這個字符串,當按下n時,他向下繼續查找一個名稱為word的字符串4.N 和n的功能相反,N是向上查找一個名為word的字符串5.:n1,n2s/word1/word2/g n1,n2為數字,意思是在n1和n2行之間查找word1這個字符串,並用word2替換掉。6.:n1,$s/word1/word2/g 從第n1行到最後一行查找並替換7.n1,$s/word1/word2/gc 和上面的功能一樣,就是在替換之前提示是否確認替換掉一般模式的刪除,復制與粘貼1.x,X 在一行中,x為向後刪除一個字符,X向前刪除一個字符2.nx n為數字,nx表示向後刪除n個字符,nX 相前刪除3.dd 刪除一整行4.ndd n為數字,刪除光標所在向下n行 5.d1G 刪除光標所在到第一行的所有數據6.dG 刪除從光標所在到最後以行的所有數據7.d$ 刪除光標所在處到該行最後一個字符8.d0 刪除光標所在處到該行第一個字符9.yy 復制光標所在的那一行10.nyy n為數字,復制光標所在行向下n行的數據11.y1G 復制光標所在到第一行的所有數據12.yG 復制從光標所在到最後以行的所有數據 13.y0 復制光標所在處到該行第一個字符14.y$ 復制光標所在處到該行最後一個字符 15.P,P p為將復制的數據在光標下一行粘貼,P為將復制的數據在光標的上一行粘貼16.J 將光標所在行與下一行所結合17.c 重復刪除多個數據,例如向下刪除10行(10c)18.u 復原上一個操作19.[ctrl]+r 重做上一個操作20. . 小數點,重復上一個操作(重復刪除,重復粘貼)一般模式到編輯模式的可用按鈕i,I i為目前光標所在行處插入,I為目前所在行的第一個非空格處開始插入A,a a為從目前光標所在的下一個字符處開始插入,A為從光標所在行的最後一個字符開始插入O,o o為目前光標所在行的下一行開始插入,O為目前光標所在的上一行開始插入R,r r只會替換光標所在的第一個字符一次,R會一直替換光標所在的文字,直到安退出鍵為至一般模式切換到命令模式可用 說幾個不錯的:w 【filename】 將這個編輯好的文件保存成為另一個文件:r 【filename】 在編輯的數據中,讀入另一個文件的數據,即將‘filename’這個文件內容加到光標所在行的後面:n1,n2 w 【filename】 將此文件的n1到n2行保存到另一個文件中 Vim 的保存文件,恢復與打開的警告信息 目前主要的編輯軟件都會有‘恢復’的功能,當系統因為某些原因導致死機的情況時,還可以通過某些特別的機制將之前未保存的數據救回來。當我們使用vim編輯時,vim會在被編輯的文件目錄下在建一個名為 .filename.swp 的文件,下來我們以 /tmp/passwd 為例,當系統斷線時,編輯的文件還沒保存,此時 .filename.swp 就起到了作用:不正常關閉; 生成的暫存文件(由於不正常中斷,導致暫存盤無法通過正常流程來結束,所以暫存文件就不會消失,而繼續保留下來)

出現上面的問題有兩類可以導致:1.可能有其他人或程序同時在編輯這個文件。解決方法:由於linux時多人,多任務的環境,因此可能很多人同時在編輯同一個文件。找到另外那個程序或人員,請他將該vim結束還有你可以輸入大寫o,只讀模式2,在前一個vim的環境中,可能因為某些不明原因導致vim中斷如果你當前沒有保存你編輯的東西,此時你可以選擇R,O 只讀 E 還是用正常的方式打開你要編輯的那個文件,並不會載入暫存文件的內容。不過很容易出現兩個用戶互相改變對方文件等問題。R 就是救回你之前編輯沒有保存的文件,當時救回之後,退出,還要手動刪除那個暫存文件。D 如果你確定那個暫存文件無用,就按D直接刪除Q 不會進行任何操作回到命令提示符A 忽略這個編輯行為i,和Q相識Vim 塊選擇v 字符選擇,會將經過的地方反白選擇V 行選擇,會將光標經過的行反白處理[ctrl]+v 塊選擇,可以用長方形的方式選擇數據y 將選擇的地方復制d 刪除 Vim 多文件編輯 假如,你想要將hosts 裡面的ip復制到你的/etc/ww下,此時,解決的辦法是:vim filname1 filename2 用vim同時打開兩個文件 :n 編輯下一個文件:N 編輯上一個文件:files 列出當前這個vim的打開所有文件 Vim 多窗口功能 當我有一個非常大的文件,我查閱到後面的數據時,想要對照前面的數據,師傅需要使用[ctrl]+fPage up 來跑前跑後查閱?用法:用vim打開一個文件,在命令行輸入 “:sp [filename]” 只有一個文件時,可以不加上文件名,但是如果打開了兩個文件時,就必須加上文件名 :sp [filename] 打開一個新窗口 [ctrl]+w+向下鍵/j 將光標移動到下方的窗口 [ctrl]+w+向上鍵/k 將光標移動到上方的窗口 [ctrl]+k+q 結束當前窗口水平拆分窗口 ctrl+w, s垂直拆分窗口 ctrl+w, v / :sp:qa 關掉所有窗口分窗口顯示多個文件:#vim -o filename1 filename2 水平顯示文件#vim -O filename1 filename2 垂直顯示多個文件在vim中如何和shell交互:! 命令 然後回車,看完之後在回車還是回到了vim中顯示忽略區分字符大小寫:set ic:set noignorecase /:set noic設定自動縮鍵:set autoindent:set ai取消為:set noai查找到的文本高亮顯示或取消:set hlsearch:set nohlsearch(取消)語法高亮:syntax on:syntax off(關閉)Vim環境設置與記錄: ~/.vimrc ~/.viminfo~/.viminfo 如果我們以vim軟件查找一個文件的某個字符串時,這個字符串會反白,這是因為我們會主動將你曾經做過的行為記錄下來,保存在~/.viminfo 當中~/.vimrc 整體的vim設置值一般放在/etc/vimrc,不過,不建議修改它,你可以修改~/.vimrc(默認不存在,你可以手動建立這個文件)。 DOS與linux的段行字符DOS(windows) 使用的段行字符為“^M$” 我們稱為CR和LF兩個字符。Linux,則僅有LF($)段行字符將linux文件轉換為DOS##UNIX2dos -k filename將DOS文件轉換為linux#dos2UNIX -k -n filename1 filename.linux

本文出自 “11716212” 博客,請務必保留此出處http://11726212.blog.51cto.com/11716212/1827719

Copyright © Linux教程網 All Rights Reserved