剪切進入
回憶上節課內容🤔
- 上次我們瞭解到了各種寄存器
-
:reg
- 無名寄存器
""
- 數字寄存器
"0-"9
- 行內刪除專用寄存器
"-
- 指定寄存器
"a-"z
、"A-"Z
-
3個只讀寄存器
":
、".
、"%
".
裏面存儲着上次插入的內容
"%
裏面存儲着當前文件的名字":
裏面存儲着剛剛執行的命令
- 輪換文件寄存器
"#
- 表達式寄存器
"=
- 選擇和拖拽寄存器
"*
、"+
、"~
- 黑洞寄存器
"-
- 搜索模式寄存器
"/
- 無名寄存器
- 插入模式下ctrl+r 再加寄存器名稱
- 可以粘貼指定寄存器中的內容
- d、x、y、p都在在正常模式
- 刪除之後能否自動切換進入插入模式呢?🤔
- 翻幫助查到這個命令好像叫做 s
找到手冊📕
- 想要知道 s 的作用,就要查一查
- 也可以用
:h s
-
這個s和x有點像
- 都是刪除當前字符
- 都是默認放入無名寄存器
""
- 如果設定某個命名寄存器,就放入命名寄存器
- 都可以通過
[count]
翻倍
-
不同在於刪除之後的的模式
- x 保持在
普通模式
- s進入到了
插入模式
- x 保持在
- 這其實很爽
- 因爲很多時候刪除了之後就是希望進入插入模式的!!!
-
S是刪除當前這一行,然後進入
插入模式
- 相當於d$i
有用的c
c
的意思是change
-
這個c和d有點像
- 都是刪除當前內容
- 都是默認放入無名寄存器
""
- 如果設定某個命名寄存器,就放入命名寄存器
- 都可以通過
[count]
翻倍 - 而且都支持
motion
-
不同之處就是就是完成工作後
- d 保持在
普通模式
- c進入到了
插入模式
- d 保持在
- 比如我想把
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刪除兩層標籤裏面的
- 這個功能在
html
、xml
很有效率
- 這個功能在
block塊
-
ci{、ci}
- 刪除大括號裏面的
-
ciB
- 也有同樣的效果
- c2i{、c2i}刪除兩層大括號裏面的
- 這個功能也可以和 d、y配合,非常爽!!
- 大規模程序塊控制
關於i
和a
的整理
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)