vim的簡單應用

vim的簡單應用

        之前我們學習過Linux的思想,其中有一條就是一切皆文本,所以在這里大部分配置文件都是文本模式存在的,那么使用簡單的文字編輯器就可以修改配置了,之前我們學習過nano文本編輯器,但是Vim會比nano使用的更為方便,也更強大。

  • 基本現在所有的Linux系統都會內置vim,但是其他的文本編輯器就不一定會有了。

  • vim具有程序編輯的能力,還可以使用字體顏色標明語法,方便程序設計。

  • 程序簡單,如果上手了之后會更加快速的編輯文本。

  • 很多軟件的編輯接口都會主動調用vim。

        本編輯器分為很多種類

  • 行編輯器:sed

  • 全屏編輯器:nano , vi

  • gedit 圖形編輯器

  • gvim vim的圖形版本

        vi的基本概念 基本上vim可以分為三種狀態,分別是命令模式(command mode)、插入模式(Insert mode)和擴展模式(last line mode),各模式的功能區分如下:

  • 命令模式:默認的模式,控制光標的移動、字符、字或行的刪除/剪切/粘貼,或者進入插入模式和擴展模式,相當于一個中轉站,你無論進入那個模式都需要在命令模式里切換。

  • 插入或者編輯模式:在這個模式里可以進行編輯,修改文本,按ESC退出到命令模式,在命令模式按i進入到編輯模式(后面會講很多方法進入插入模式)。

  • 擴展命令模式:將文件保存或者退出,也可以設置編輯環境,比如輸入命令尋找字符串,列出行號等。

模式轉換

        命令模式切換至編輯模式

  1. i      進入編輯模式光標原地不動

  2. a     進入編輯模式光標向后移動一位

  3. o     進入編輯模式光標向下插入一行

  4. I     進入編輯模式光標跳至行首

  5. A     進入編輯模式光標跳至行尾

  6. O     進入編輯模式光標向上插入一行

        模式轉換

  • 編輯模式按(Esc)切換至命令模式

  • 命令模式按(:)切換至擴展命令模式

  • 擴展命令模式按(Esc,enter回車)切換至命令模式

  • 鎖定和解鎖:Ctrl+s,ctrl+q

        擴展模式如何退出:

  1. :q     退出

  2. :q!     強制退出,不保存退出。

  3. wq     保存退出

  4. x     保存退出

        命令模式如何退出:

  1. ZZ     保存退出

  2. ZQ     不保存退出

        擴展模式(Ex模式)

  • 按(:)進入編輯模式

  • 創建一個命令提示符(:)在屏幕底部顯示

  • 命令:

  1. r+文件名     讀文件內容到當前光標處

  2. w+文件名     將當前文件內容寫入到另一個文件(另存為)

  3. !+命令     執行命令

  4. r!+命令     將執行命令的輸出讀入進來

        命令模式

  • 字符間移動:
  1. h     向左移動(87鍵盤)     ←  (全鍵盤)

  2. l     向右移動(87鍵盤)     →   (全鍵盤)

  3. j     向下移動(87鍵盤)      ↓    (全鍵盤)

  4. k     向上移動(87鍵盤)     ↑    (全鍵盤)

  5. w     下一個單詞的詞首

  6. e     當前或下一個單詞的詞尾

  7. b     當前或前一個單詞的詞首

  8. H     頁首

  9. M     頁中間行

  10. L     頁底

  11. G     最后一行行首

  12. ^     跳至行首的第一個非空白字符

  13. 0     跳至行首

  14. $     跳至行尾

  15. gg     第一行行首

  16. Ctrl+f     向文件尾部翻一屏

  17. Ctrl+b     向文件首部翻一屏

  18. Ctrl+d     向文件尾部翻半屏

  19. Ctrl+u     向文件首部翻半屏

  • 刪除,替換:
  1. x     刪除光標處字符

  2. 3x     刪除光標處起始3個字符(數字可以隨意換)

  3. xp     交換光標所在處前后的字符位置

  4. ~     轉換大小寫

  5. J     刪除當前行后的換行符

  6. r     替換光標所在處的字符

  7. R     切換成REPLACE模式(替換模式)

  • 刪除,復制,粘貼:
  1. d$     刪除到行尾

  2. d^     刪除到非空白行

  3. d0     刪除到行首

  4. dw     刪除一個單詞

  5. dd     刪除一行 (刪除命令d可以結合其他命令一起使用,我就不全部寫下去了)

  6. D     從當前光標位置一直刪除到行尾,留空行(d$一樣)

  7. y     復制 (跟d一樣,可以結合其他命令一起使用,我就不全部寫了)

  8. yy     復制行

  9. p     粘貼

  • 撤銷
  1. u     撤銷最近的更改

  2. #u     撤銷之前多次更改 (#次)

  3. U     撤銷光標在這此行前后所有操作(光標不可離開這行,離開則無效)

  4. (.)     重復前一個動作

  5. n(.)     重復前一次操作n次

(注意在vim里面一定要注意大小寫,大小寫一定要分清楚)

沒事可以多看看圖片,當然自己多敲敲最好:

vim的簡單應用

        擴展命令模式

  • 按(:)進入擴展命令模式

  • 位置定界

  1. #     具體第#行,如果是3就是第3行。

  2. #,#     從左側#表示起始行,到右側#表示結尾行

  3. #,+#     從左側#表示起始行,加上右側#表示結尾行,如果2,+3就是2到5行

  4. (.)     當前行

  5. $     最后一行

  6. %     全文

  7. /PATTERN     從當前光標所在處向文件尾部查找

(例如:/^a 搜索a開頭)

vim的簡單應用

  1. ?PATTERN     從當前光標所在處向文件首部查找
  • s 在擴展模式下完成查找替換的操作

  • :%s /文件1/文件2/修飾符/ 搜索文件1替換為文件2

  • 修飾符

  1. i     忽略大小寫

  2. g    全局替換;默認情況下,每一行只替換第一次出現的

  3. gc     全局替換,替換時會詢問

        編輯二進制文件

  • 以二進制方式打開文件:vim -b 文件

  • 擴展命令模式下,利用xxd命令轉換為易讀的十六進制:%!xxd

  • 編輯二進制文件

  • 擴展命令模式下,利用xxd轉換回二進制:%!xxd -r

  • 保存退出

        vim 可以同時打開多個文件,簡稱多文件模式

  • vim 文件1 文件2 文件3
  1. :next     下一個

  2. :prev     前一個

  3. :first     第一個

  4. :last     最后一個

  5. :wall    保存所有

  6. :qall     退出所有

  7. wqall     保存退出所有

        vim 可以使用多個窗口

  • 多文件分割
  1. vim -o     水平分割

  2. vim -O    垂直分割

  3. 在窗口里面切換:Ctrl+w,Arrow

  • 單文件窗口分割
  1. Ctrl+w,s:split     水平分割

  2. Ctrl+w,v:vertical     垂直分割

  3. Ctrl+w,q     取消相鄰窗口

  4. Ctrl+w,o     取消全部窗口

  5. wqall 退出

        寄存器

  • 寄存器就是粘貼,復制的意思,在Linux里一共有26個寄存器和一個無名寄存器,意思就可以復制26個不同的內容,然后進行粘貼,相當方便。

  • 從a-z,一共26個字符,就相當于26個寄存器,它的時候方法是:

  • 復制粘貼的時候加上a,就是復制到a的寄存器中

  1. “ayy”     復制 (a可以隨時更改一共26個字符,可以存26個)

  2. “ap”       粘貼 (a可以隨時更改一共26個字符,可以存26個)

        vim的功能相當強大,這些都只是其中的一部分,這么多功能還要你自己去熟練運用,當你熟悉之后,你可以查看幫助了解更多。

  • type vim 查看是內部或外部命令

  • help 查看內部命令幫助

  • man 查看外部命令幫助

原創文章,作者:Az2h1丶,如若轉載,請注明出處:http://www.www58058.com/78154

(0)
Az2h1丶Az2h1丶
上一篇 2017-06-17
下一篇 2017-06-17

相關推薦

  • 用戶組和用戶權限的使用2

    touch /etc/nologin  echo system is maintanining >> /etc/nologin  可以控制非管理員root之外的所有普通用戶不能登陸 7版本里面 cd /run/ touch /run/nologin 效果一樣讓普通用戶不能登陸 ehho weihu > /run/nolo…

    Linux干貨 2016-08-04
  • Linux 第八天: Linux文本編輯器vim

    Linux 第八天: (08月09日) Linux文本編輯器vim       sed 行編輯器 stream EDitor sed -n 不輸出模式空間內容的自動打印sed -e 多點編輯sed -f /PATH/TO/SCRIPTFILEsed -i 原處編輯   script單地址 # 指定的行/pattern/…

    Linux干貨 2016-08-11
  • lvs 基本概念

    LVS(linux virtual machine) 的簡寫,是一個虛擬的服務器集群系統,主要用于4層負載均衡。 宗旨: 使用集群技術和Linux操作系統實現一個高性能、高可用的服務器. 很好的可伸縮性(Scalability) 很好的可靠性(Reliability),應該還是高可用吧 很好的可管理性(Manageability…

    Linux干貨 2015-09-14
  • 用戶及組概念和管理

    用戶和組概念 /etc/passwd文件字段含義 root:x:0:0:root:/root:/bin/bash 用戶名:登陸名,具有唯一性 密碼存放加密用戶的密碼,看到的是一個x,其實已經映射到/etc/shadow文件中 UID:用戶ID GID:組群ID 用戶名全稱:可以不設置 主目錄:用戶登陸系統中首先進入的目錄 登陸Shell:用戶使用shell類…

    Linux干貨 2016-11-04
  • cp,chmod,chown,chgrg,grep命令應用實例和總結

    1.復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的其他屬組和其他用戶沒有任何訪問權限。[root@dxlcentOS ~]# cp -a /etc/skel/ /home/tuser1[root@dxlcentOS ~]# chmod -R go= /home/tuser1 遞歸修改權限,g:組的權限,o其他…

    Linux干貨 2017-10-26
  • 位運算符及其應用

    一、C語言的六種位運算符: & 按位與 | 按位或 ^ 按位異或 ~ 取反 << 左移 >> 右移 1.   按位與運算 按位與運算符"&"是雙目運算符。     &nb…

    Linux干貨 2015-11-18
欧美性久久久久