Vim編輯/命令模式的基本操做

本文索引vim

  • Vim編輯模式
    • 進入編輯模式
    • 退出編輯模式
  • Vim命令模式
    • 位置定位
    • 內容搜索
    • 內容替換
    • 其餘命令
  • Vim擴展知識

Vim編輯模式

進入編輯模式

操做 說明
i 在光標所在字符前插入內容
I 在光標所在行行首插入內容
a 在光標所在字符後插入內容
A 在光標所在行行尾插入內容
o 在光標所在行及下一行之間插入一個新行,並在該行行首處進行編輯
O 在光標所在行及上一行之間插入一個新行,並在該行行首處進行編輯

退出編輯模式

按ESC鍵便可bash

vim命令模式

位置定位

通常模式下,輸入**:n**(n爲行號),而後按回車鍵,光標自動定位到n行行首。加密

內容搜索(高亮顯示)

在通常模式下輸入/或?進行內容的搜索code

  • /搜索內容

/搜索內容

n向下搜索,N向上搜索索引

  • ?搜索內容

?搜索內容

n向上搜索,N向上搜索get

內容替換

在通常模式下輸入「:」加 s能夠進行替換操做it

格式 「 :範圍 s/替換前/替換後/g 」table

(s替換,g所有,不加g只替換一行中最早出現的那個)ast

:替換/etc/passwd的拷貝文件中1-10行內全部的/sbin爲/testtest

初始數據以下:

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
  • 加g的效果

:1,10 s#/sbin#/test#g

加g參數

  • 不加g的效果

:1,10 s#/sbin#/test#

不加g參數

只替換了當行的第一個匹配項

當替換的內容裏包含/,有兩種方法解決:

  • 在內容的/前加\進行轉義
  • 使用其餘字符(#%*)進行分割如s#/root#/home#g

其餘命令

  • :wq | :wq! 保存退出
  • :set nu 顯示行號
  • :set nonu 不顯示行號
  • :nohl 取消高亮
  • :x
    • 文件被修改了 跟:wq效果一致
    • ==文件未被修改== :wq會修改mtime,:x不會

vim擴展知識

經常使用快捷鍵

快速註釋文本內全部的行

  • ctrl+v (進入可視塊編輯模式)
  • j/k (向下移動選擇每行行首)
  • shift+i + # (在第一行插入#)
  • 按esc (每行自動插入第一行插入的#)

查看光標所在位置單詞(命令)的man手冊

shift+k

刪除光標所在字符到某個字符之間的全部字符

#  刪除前
sync:x:5:0:sync:/sbin:/bin/sync

d + f + /
刪除了中間的「sync:/」

# 刪除後
sync:x:5:0:sbin:/bin/sync

刪除光標後的全部字符

D 或 shfit+d

刪除當前光標所在位置的單詞

d + i + w

選中當前光標上的單詞

v + i + w

自動代碼縮進致使黏貼代碼縮進混亂的2種解決

  1. :set noai nosi (黏貼前執行)
  2. :set paste

文件加密、解密

加密

  1. vim/vi file
  2. :X 回車,輸入密碼並確認
  3. 保存退出
  4. 再次使用vim/vi編輯,不輸入密碼回車會顯示爲亂碼

解密

  1. vim/vi file
  2. :set key= 設置密碼爲空
  3. 保存退出

更多使用操做,能夠查看《Vim實用技巧》一書。 https://book.douban.com/subject/25869486/

相關文章
相關標籤/搜索