oeasy教您玩轉vim - 56 - # 字符可視化模式


可視化編輯

回憶上節課內容🤔

  • 我們學習了關於模式匹配中使用參數
  • 單個參數

    • :%s/<h2>\(.*\)</h2>/ - \1/g
  • 多個參數

    • :%s/<img src=\"\(.*\)\" title=\"\(.*\)\" \/>/[!\2]\1
  • 非貪婪匹配

    • :%s/<a href=\"\(.\{-\})\">\(.\{-\}\)<\/a>/[\2]\1/g
  • 我們這回會遇到一種新的模式
  • 什么模式呢?
  • 我們先回憶一下已經了解的模式

三種模式

  • 我們先回顧一下以前學過的模式

    • 正常模式
    • 插入模式
    • 替換模式
    • 命令行模式
  • 今天的新模式是可視化模式
  • 其實可視化對應三種可視化

    • 字符可視化 v
    • 行可視化 V
    • 塊可視化ctrl+v

圖片描述

字符可視模式

  • v進入

    • 還是可以用 {motion} 移動光標
    • 從開始位置到目前光標位置文本高亮顯示
    • 相當於把選擇范圍高亮顯示
  • 在左下角顯示可視

    • 意味着進入了可視-字符模式
  • 可以用o切換首尾

    • 控制選擇范圍

圖片描述

  • 為什么要有可視化模式?

具體選擇

  • 為什么要有可視化模式?

    • 因為很多時候移動工具不直觀

圖片描述

  • 可視化

    • 明確點兒可以叫做選擇范圍可視化
  • 像這樣很容易就知道自己所選擇的范圍

    • 然后就可以進行相關操作了
  • 做什么操作呢?

相關操作

  • 在可視化模式也可以進行編輯操作

    • 相當於對於選好的內容進行操作
  • 選好了之后,

    • d

      • 刪除所選文本
    • c

      • 修改所選文本
      • 刪除選中的文本
      • 然后輸入想要的內容
    • r

      • 替換所選文本
      • 將選中的文本替換成單個字符
    • I

      • 在所選文本前插入
    • A

      • 在所選文本后插入
    • gu

      • 所選區域轉為小寫
    • gU

      • 所選區域轉為大寫
    • g~

      • 所選區域大小寫互調
    • >

      • 所選區域對應的行向右縮進一個 shiftwidth
    • <

      • 所選區域對應的行向左縮進一個 shiftwidth
    • 這個和我們常用的相似

操作細節

  • 大小寫不同

    • d只刪除選中的字符
    • 而D刪除選中字符所在行的所有字符,包含結尾的換行符號
    • c 和 C 、 y 和 Y 同理
  • 可以在前面添加 "a 指定 寄存器a

圖片描述

快速選擇文字塊

圖片描述

  • vaw可以進入字符可視模式,並選中單詞
  • vaW

    • a WORD (with white space)
    • 包含空格的一個WORD
  • iW

    • inner WORD
    • 不包含空格的WORD
  • as

    • a sentence (with white space)
    • 包含空格一個句子
  • is

    • inner sentence
    • 不包含空格一個句子
  • ap

    • a paragraph (with white space)
    • 包含空格一個段落
  • ip

    • inner paragraph
    • 一個段落

各種括號引起的文字塊

  • ab

    -    a () block (with parenthesis)    
    -    一個小括號包圍的塊,含括號
  • ib

    -    inner () block    
    -    不包含括號的一個塊
  • aB

    -    a {} block (with braces)
    -    一個大括號包圍的塊,含括號
  • iB

    -    inner {} block
    -    一個大括號包圍的塊
  • at

    -    a <tag> </tag> block (with tags)
    -    一個標簽包圍的塊,含標簽
  • it

    -    inner <tag> </tag> block
    -    一個標簽包圍的塊,不含標簽
  • a<

    -    a <> block (with <>)    
    -    一個尖括號包圍的標簽,含標簽
    -    相當於at    
  • i<

    -    inner <> block    
    -    一個尖括號包圍的標簽,不含標簽
    -    相當於it
  • a[

    -    a [] block (with [])                
    -    中括號包含的塊,含中括號
  • i[

    -    inner [] block                    
    -    中括號包含的塊,不含中括號
    

還有各種引用文字塊

  • a"

    -    a double quoted string (with quotes)
    -    雙引號括號包含的塊,含雙引號
  • i"

    -    inner double quoted string    
    -    雙引號括號包含的塊,不含雙引號
  • a'

    -    a single quoted string (with quotes)
    -    單引號括號包含的塊,含單引號
  • i'

    -    inner simple quoted string        
    -    單引號括號包含的塊,不含單引號
  • a`

    -    a string in backticks (with backticks)
    -    反引號括號包含的塊,不含反引號
  • i`

    -    inner string in backticks    
    -    反引號括號包含的塊,不含反引號
    

用行命令操作選區

  • 選好選區后

    • :
  • 左下角會出現:'<,'>

    • 就是從選區開頭,到選區結尾
    • '< 選區開頭
    • '> 選區結尾
  • 然后我們摁下d回車

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

圖片描述

總結

  • 今天我們了解到可視模式,其實可視化對應三種子模式

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

    • 快捷鍵 v
    • 可配合各種 motion
    • o切換首尾
    • 字符可視化就是把選擇范圍可視化
  • 快速操作

    • 選中了之后可以進行

      • d
      • c
      • y
    • 可以用"a使用指定寄存器
  • 可以用ia快速選擇范圍

    • w 小詞 W 大詞
    • ()[] {} 各種括號
    • t 標簽,編寫網頁的時候很有用
    • s 句子 p 段落
    • b 小括號,這個編寫程序的時候很有用
    • B 大括號,編寫程序的時候也很有用
    • " ' `引號內
  • 還可以在命令行下對選區范圍內字符進行操作

    • :'<,'>
  • 這次是字符可視化模式,那么行可視化模式是什么意思呢?🤔
  • 下次再說 👋

[Github地址] (GitHub - overmind1980/oeasyvim: 這是oeasy制作的的一套關於vim的教程 可以在 https://www.lanqiao.cn/teacher/courses/2840 做實驗 邀請碼FJWYIMGB 本教程從0基礎開始,到精通vim配置,和高級命令。希望能讓vim是你的開發更高效。)
[Gitee地址] (overmind1980/oeasyvim)
[藍橋實驗樓 邀請碼FJWYIMGB] (oeasy 教您零基礎玩轉編輯神器 Vim_Linux - 藍橋雲課)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM