oeasy教您玩轉vim - 42 - # 剪切進入

 

剪切進入

回憶上節課內容🤔

  • 上次我們瞭解到了各種寄存器
  • :reg

    • 無名寄存器""
    • 數字寄存器"0-"9
    • 行內刪除專用寄存器"-
    • 指定寄存器"a-"z"A-"Z
    • 3個只讀寄存器":"."%

      • ". 裏面存儲着上次插入的內容
      • "% 裏面存儲着當前文件的名字
      • ": 裏面存儲着剛剛執行的命令
    • 輪換文件寄存器"#
    • 表達式寄存器"=
    • 選擇和拖拽寄存器"*"+"~
    • 黑洞寄存器"-
    • 搜索模式寄存器"/
  • 插入模式下ctrl+r 再加寄存器名稱
  • 可以粘貼指定寄存器中的內容
  • d、x、y、p都在在正常模式
  • 刪除之後能否自動切換進入插入模式呢?🤔
  • 翻幫助查到這個命令好像叫做 s

找到手冊📕

  • 想要知道 s 的作用,就要查一查
  • 也可以用 :h s

圖片描述

  • 這個s和x有點像

    • 都是刪除當前字符
    • 都是默認放入無名寄存器""
    • 如果設定某個命名寄存器,就放入命名寄存器
    • 都可以通過[count]翻倍
  • 不同在於刪除之後的的模式

    • x 保持在 普通模式
    • s進入到了 插入模式
  • 這其實很爽
  • 因爲很多時候刪除了之後就是希望進入插入模式的!!!
  • S是刪除當前這一行,然後進入插入模式

    • 相當於d$i

有用的c

  • c 的意思是change
  • 這個c和d有點像

    • 都是刪除當前內容
    • 都是默認放入無名寄存器""
    • 如果設定某個命名寄存器,就放入命名寄存器
    • 都可以通過[count]翻倍
    • 而且都支持motion
  • 不同之處就是就是完成工作後

    • d 保持在普通模式
    • c進入到了插入模式

圖片描述

  • 比如我想把hello world!變成hello oeasy
  • 那麼我需要

    • dw刪除到當前單詞word詞尾
    • i然後再進入插入模式
    • 輸入oeasy
    • 然後esc完成
  • 現在我只需要

    • cw刪除到當前單詞word詞尾
    • 直接進入插入模式
    • 輸入oeasy
    • 然後esc完成,一氣呵成
  • 如果要刪除的位置很遠
  • 可以考慮cft
  • 配合.來操作

配合重複

圖片描述

  • n是下一個
  • .是cwfiveesc

    in操作

  • 這次我們的光標位置在這個單詞中間

圖片描述

  • 我如果想要刪除world怎麼辦?

    • 我需要先b回詞頭
    • cw刪除到詞尾
    • 這還是有點麻煩
  • 現在只需要一句話

    • ciw就可以一氣呵成

圖片描述

in

  • 不論光標在單詞裏面什麼位置
  • 只要是這個 word 範圍內的都可以刪除
  • 這個時候如果是 ciW 意味着不是 word 而是 WORD
  • 類似的還有·

    • ci(、ci(刪除小括號裏面的

圖片描述

  • ci[、ci]刪除中括號裏面的
  • ci"刪除雙引號裏面的
  • ci'刪除單引號裏面的
  • 這在編程時是非常實用的!!!🤓

文字對象

  • cis刪除當前這句
  • cip刪除當前這段

圖片描述

tag塊標籤

git clone http://github.com/overmind1980/vimtutorial.git
cd vimtutorial
vi oeasy.html
  • cit

    • 刪除tag裏面的內容
  • cat

    • 刪除包括標籤本身
  • c2it刪除兩層標籤裏面的

    • 這個功能在htmlxml很有效率

圖片描述

block塊

  • ci{、ci}

    • 刪除大括號裏面的
  • ciB

    • 也有同樣的效果
    • c2i{、c2i}刪除兩層大括號裏面的
    •  
    • 這個功能也可以和 d、y配合,非常爽!!
    • 大規模程序塊控制

圖片描述

關於ia的整理

  • h aw可以看到相關資料
  • w word 小詞
  • W Word 大詞
  • s sentence 句子
  • p paragraph 段落
  • () 小括號
  • [] 中括號
  • {} 大括號
  • t tag 標籤

    • it 標籤內部 不包含標籤
    • at 標籤外部 包含標籤
  • "' 引號

細節

  • s

    • 相當於cl
    • 也相當於dl,再進入插入模式
  • S

    • 刪除當前行d$
    • 再進入插入模式
  • C

    • 相當於c$
    • 也相當於d$,再進入插入模式
    • 也就是D,再進入插入模式
  • cc就是

    • 刪除當前行並進入插入模式
    • 等同於S
  • 2C

    • 相當於刪除兩行,再進入插入模式
    • 也就是2D,再進入插入模式

總結

  • 這次我們學到的最有用的就是c

    • 他和d的區別就是刪除之後進入到插入模式
    • c可以配合motion
    • 可以用ciw來快速刪除當前光標所在的單詞
  • 可i和a的文字塊

    • w word 小詞
    • W Word 大詞
    • s sentence 句子
    • p paragraph 段落
    • () 小括號
    • [] 中括號
    • {} 大括號
    • t tag 標籤

      • it 標籤內部 不包含標籤
      • at 標籤外部 包含標籤
    • "' 引號
  • 還有沒有更快速的辦法進行編輯嗎?🤔
  • 下次再說 👋

[Github地址] (https://github.com/overmind1980/vimtutorial)
[Gitee地址] (https://gitee.com/overmind1980/vimtutorial)
[藍橋實驗樓 邀請碼FJWYIMGB] (https://www.lanqiao.cn/courses/2840)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章