縮寫abbreviation
回憶上次摺疊的細節
- 這次瞭解到了
:mkview
、:loadview
- 保存和加載視圖
- 可以把當前的狀態保存下來
- 可以在
viewoption
中配置保存選項,設置哪些需要保存 -
還可以保存多個視圖
- 在整個文檔中跳來跳去
-
視圖裏面可以有很多本地窗口的設置
- 摺疊
- 縮寫
- 映射
- 那麼到底什麼是縮寫(
abbreviations
)和映射(mappings
)呢?🤔
縮寫就是abbreviations
)
-
縮寫之類的東西我們早就見過
:se nu
:se[t] nu[mber]
- 不用都打上,打上縮寫形式就自動能好使
-
類似的還有
:%s
- 等價於
:%substitute
縮寫abbreviation
- 我們可以快速地定義縮寫
-
:abbreviate hi hello
- 這個時候如果輸入
hi
空格 - hi就自動變成了hello
- 不過目前系統配置有點問題
- 這個時候如果輸入
調整設置
- 當前系統配置有點問題
- 需要看一下
~/.vimrc
- 把177這句
set paste
是控制粘貼用的 - 有的時候粘貼出來時對不齊就用
:set paste
- 粘貼完之後
:set nopaste
- 現在我們
:set nopaste
確保縮寫可以用起來
設置縮寫
- 這有點像顏文字轉化工具
-
:abbreviate sml ヾ(❀╹◡╹)ノ~
- 還挺好使 哈哈
-
還可以使用縮寫形式
ab
:ab o1z oeasy
-
還可以用來改錯
:ab teh the
- 不論是在插入模式下,還是在命令行模式下
- 只要輸入縮寫形態,然後加一個空格
- 就自動完成切換
-
這個東西其實還是有一定實用性的
:ab sysout System.out.println();
- 不過我可以控制最終的光標位置麼?
光標的控制
-
定義新的縮寫
:ab sysout System.out.println("");<left><left><left>
- 這樣就可以在快速得到輸出語句之後
- 還把光標放在最合適的位置
- 這樣就可以快速插入一些複雜的語句
- 那麼這個可以換行麼?
添加換行符號
:ab htmlbase <html><cr><tab><head></head><cr><body></body><cr><backspace></html><up><right><right>
- 這樣就可以快速插入一些更大規模的模板之類的內容
- 目前有什麼縮寫abbreviate
- 可以列表出來麼
列出所有的縮寫abbreviate
ab[breviate]
可以列出所有的縮寫
-
第一列代表使用範圍
!
- 全部模式包括輸入和命令行i
- 輸入模式 insertc
- 命令行模式 command
-
單獨定義某模式下的ab
:iab o1z oeasy
只在插入模式下進行縮寫替換:cab o1z oeasy
只在命令模式下進行縮寫替換:ab o1z oeasy
在全部模式下都能進行縮寫替換
取消縮寫
:ab
先看看有啥:una o1z
- 再
:ab
發現這個o1z
已經刪除了 - 清空
clear
-
:iabc[lear]
- 清空輸入(insert)狀態下的縮寫abbreviate
-
:cabc[lear]
- 清空命令(command)狀態下的縮寫abbreviate
-
:abc[lear]
- 清空一切狀態下的縮寫abbreviate
- 一個個定義映射有點麻煩
- 我能直接利用曾經寫過的單詞麼?
自動補全
- 我們的緩衝中有很多已經寫出來的單詞
- 我們可以用這些來做自動補全
-
我們寫下S然後按下ctrlp
- 出現一個提示框我們可以選擇裏面的單詞
- ctrlp - previous
- ctrln - next
- 隨着輸入的進行還可以縮小查找範圍
- 這個東西也是非常實用的小技巧
總結
- 這次瞭解到了
:abbrivate
縮寫 -
可以定義縮寫
:ab o1z oeasy
- 這裏面還可以包括方向鍵、回車鍵之類的東西
-
可以定義到指定的模式
iab
cab
-
查看縮寫
:ab
- 所有的:ab o1z
- o1z
-
自動補全
- ctrlp
- ctrln
-
這些縮寫都可以保存在視圖裏
- 保存的選項在
viewoption
中
- 保存的選項在
- 可以保存的除了
縮寫abbreviate
還有個映射map
映射map
什麼意思呢?🤔- 下次再說!
[Github地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (overmind1980/oeasyvim)
[藍橋實驗樓 邀請碼FJWYIMGB] (oeasy 教您零基礎玩轉編輯神器 Vim_Linux 藍橋雲課)