vim進入編輯模式
按鍵 |
做用 |
i |
在當前(光標所在位置)字符前插入 |
I(大寫i) |
在光標所在的行首插入 |
a |
在當前字符後插入 |
A |
在光標所在的行尾插入 |
o |
在當前行的下一行插入新的一行 |
O |
在當前行的上一行插入新的一行 |
vim命令模式
按鍵 |
做用 |
/word |
在光標以後查找一個字符串word,按n向後搜索下一個 |
?word |
在光標以前查找一個字符串word,按n向前搜索下一個 |
:n1,n2s/word1/word2/g(n=任意數字) |
在n1和n2行質檢查找word1並替換爲word2,不加g責只替換每行的第一個word1 |
:1,$s/word1/word2/g |
將文檔中全部的word1替換爲word2,不加g責只替換每行的第一個word1 |
按鍵 |
做用 |
:w |
保存文本 |
:q |
退出vim |
:w! |
強制保存文本,在root用戶下,即便文本只讀也能夠完成保存 |
:q! |
強制退出,全部的改動不會生效 |
:wq |
保存並退出 |
:set nu |
顯示行號 |
:set nonu |
不顯示行號 |
:nohl |
取消高亮 |
:x |
跟wq的用法同樣,只是q會改動mtime,而x不會改動 |
vim實踐
爲了更高效的記住vim的操做使用,常用纔會記得牢,咱們能夠自行模擬如下操做環境,而後開始操做,如下咱們能夠嘗試阿銘老師爲咱們設計的步驟來實踐,首先先將dnsmasq.conf複製到/mnt下,而且重命名爲shijian.txtvim
[root@Ask-02 ~]# cp /etc/dnsmasq.conf /mnt/shijian.txt
[root@Ask-02 ~]# vim /mnt/shijian.txtbash
vim實踐操做 |
分別向下、向右、向左、向上移動6個字符(6j;6l;6h;6k) |
分別向下、向上翻兩頁(分別按兩次Ctrl+F和Ctrl+B) |
把光標移動到第49行(49G) |
把光標移動到行尾,再移動到行首(Shift+4;Shift+6) |
移動到本文件的最後一行(G) |
移動到本文件的首行(gg) |
搜索文件中出現的dnsmasq字符串,並數一下該字符串出現的次數(輸入/dnsmasq,而後按n繼續下一個) |
把從第1行到第10行出現的dnsmasq替換成dns(:1,10s/dnsmasq/dns/g) |
還原上一步操做(u) |
把整個文件中全部的etc替換成cte(:1,$s/etc/cte/g) |
把光標移動到第25行,刪除字符串ly(輸入25G後回車,而後按l(小寫L)向右移動光標到ly位置而後按v再按l選中ly兩個字符,最後按x) |
還原上一步操做(u) |
刪除第50行(50G;dd) |
還原上一步操做(u) |
刪除第37行至第42行的全部內容(37G;6dd) |
還原上一步操做(u) |
複製第48行的全部內容將其粘貼到第52行下面(48G;yy;52G;p(小寫)) |
還原上一步操做(按兩下u) |
複製第37行至第42行的內容並將其粘貼到44行上面(37G;6yy;44G P(大寫)) |
還原上一步操做(按兩下u) |
把第37行至第42行的內容並將其移動到19行下面(37G;6dd;19G p(小寫)) |
還原上一步操做(按兩下u) |
把光標移動到首行,把第1行內容改成#!/bin/bash(先按gg把光標定位到第1行,而後按字母A,進入編輯模式,同時將光標移動到行末尾進行修改,完成操做後按Esc鍵) |
在第1行下面插入新的一行,並輸入#hello!(按o進入編輯模式,同時將光標下移另起一行,輸入#hello!) |
保存並退出(按Esc鍵,輸入:wq或者是:x) |