oeasy教您玩轉vim – 57 – # 行可視化

可視化編輯

回憶上節課內容🤔

  • 上次我們了解到可視模式
  • 其實可視化對應三種子模式

    • 字元可視模式 v
    • 行可視模式 大寫V
    • 塊可視模式ctrl+v
  • 我們先來了解字元可視化模式

    • 快捷鍵 v
    • 可配合各種motion
    • o切換首尾
  • 快速操作

    • 選中了之後可以進行以下操作

      • d
      • c
      • y
    • 可以用”a使用指定暫存器
  • 可以用ia快速選擇範圍

    • w 小詞 W 大詞
    • ()[] {} 各種括弧
    • t 標籤,編寫網頁的時候很有用
    • s 句子 p 段落
    • b 小括弧,這個編寫程式的時候很有用
    • B 大括弧,編寫程式的時候很有用
    • ” ‘ `引號內
  • 以上是 字元 可視化模式
  • 那麼 可視化模式是什麼意思呢?

切換模式

  • 我們上次從正常模式切換到字元可視化模式用的是小寫v
  • 如果想切回來呢?

    • 再摁下一下v
    • 或者esc
    • 或者ctrl+c
  • 這次我們切換到行編輯模式,用大寫V

    • 可以看到左下角提示,”— 可視· —“
    • 切換過來之後可以快速的使用motion控制結束行的位置
    • 可以使用33G跳轉位置
  • 也可以用o,切換選區首尾字元
  • 選區選好之後可以做操作了

操作方法

圖片描述

  • 行可視化模式選擇的內容是
  • Vjj可以選中3行

    • V 選中當前行
    • j 加選下面一行
    • j 再加選一行

基本操作

  • 我們選擇好了很多行之後怎麼辦呢?
  • 我們選好選取之後,就可以

    • d
    • c
    • y
  • 這和字元可視化模式一樣的
  • 可以使用

    • D
    • C
    • Y
  • 可視化模式,大小寫沒什麼區別
  • 不過對 字元 可視化模式,還是有區別的

使用命令行

  • 用命令行模式
  • 就像字元可視化模式一樣
  • 比如我:
  • 左下角會出現:'<,’>就是從選區開頭,到選區結尾

    • ‘< 選區開頭
    • ‘> 選區結尾
  • 然後我們摁下d回車

    • 就把選區範圍內都刪除了
  • 我們可以:h '< 查看相應手冊

圖片描述

  • '< 這種形式很像標記啊
  • 就像ma做標記、’a跳轉到標記那樣
  • 能否看看'<是否也是一個標記

選區標記

  • 做好選區
  • :marks <>查看標記
  • 可以查找到選區的開始和結束標記mark

圖片描述

  • 這剛好標記在了選取的開始結束位置
  • 想要恢複選區應該怎麼辦?

恢複選區

  • 做好了選區
  • 進入了命令行模式
  • ctrl+c 丟失了選區
  • 想要恢復
  • '<v'>

    • '< 跳到原選區開頭
    • v 進入字元可視化模式
    • '> 跳到原選區結尾

選區內替換

  • 在選擇好文本範圍後,可以在選區範圍內控制查找替換

    • 也就是說把:'<,'>作為range來使用
  • :'<,'>s/shiyanlou/oeasy/g

    • 範圍內批量替換subtitute
  • :'<,'>s/shiyanlou/oeasy/gc

    • 範圍內批量替換並需要確認confirm
  • :'<,'>g/^.*drwxwr.*$/d

    • 範圍內有drwxwr的直接刪除delete

合併多行

  • 可以用J把這好多行合併成1
  • 可以查詢幫助:h v_J 可視模式下的J的作用
  • 除了行可視化之外,字元可視化也可以J將多行合成一行
  • 簡單說就是把回車換行刪除掉

圖片描述

總結

  • 這次我們了解到行可視模式

    • 行可視模式 V
    • 也可配合各種motion
    • o切換首尾
  • 選區的開頭和結尾是mark標記

    • 開頭是 ‘<
    • 結尾是 ‘>
  • 可以在選區內進行替換和刪除

    • :'<,'>s/shiyanlou/oeasy/g 範圍內批量替換
    • :'<,'>s/shiyanlou/oeasy/gc 範圍內批量替換待確認
    • :'<,'>g/^.*drwxwr.*$/d 範圍內有drwxwr的直接刪除
    • 選中了之後可以進行d、c、y等操作
    • 可以用”a使用指定暫存器
  • 可以合併多行

    • 用J把這好多行合併成1
  • 這次是可視化模式
  • 那麼可視化模式又是什麼意思呢?🤔
  • 下次再說 👋

[Github地址] (//github.com/overmind1980/oeasyvim)
[Gitee地址] (overmind1980/oeasyvim)
[藍橋實驗樓 邀請碼FJWYIMGB] (oeasy 教您零基礎玩轉編輯神器 Vim_Linux – 藍橋雲課)


Tags: