[Github位址] (https://github.com/overmind1980/oeasyvim)
[Gitee位址] (https://gitee.com/overmind1980/oeasyvim)
[藍橋實驗樓 邀請碼FJWYIMGB] (https://www.lanqiao.cn/courses/2840)
上次了解到塊可視模式
-<kbd>ctrl</kbd>+<kbd>v</kbd>
左下角<code>-- 可視 塊 --</code>
然後配合<code>motion</code>
<kbd>o</kbd>切換首尾
這個塊可以有四個頂點
<kbd>O</kbd>橫向切換
可以在選區内進行編輯和替換
可以直接<kbd>d</kbd>、<kbd>c</kbd>、<kbd>y</kbd>
或者<kbd>D</kbd>、<kbd>C</kbd>、<kbd>Y</kbd>
也可以直接編輯
<code>:'&lt;,'&gt;d</code>
<code>:'&lt;,'&gt;s/shiyanlou/oeasy/g</code> 範圍内批量替換
可以在塊·可視化模式下替換
<code>:'&lt;,'&gt;s/\%Vg/graphic/g</code>
'<,'>表示範圍
s表示substitute
\%V表示在塊内
文本編輯終于告一段落🤔
這次來總結總結
我們現在了解到有<code>5</code>種模式
預設模式 也叫正常模式 這是基礎
想要從别的模式回到正常模式
<kbd>ctrl</kbd>+<kbd>c</kbd>
<kbd>esc</kbd>
從正常模式到指令行模式
<kbd>:</kbd>
從正常模式到插入模式者
<kbd>i</kbd> 前插
<kbd>I</kbd> 最前插
<kbd>a</kbd> 後插
<kbd>A</kbd> 最後插
<kbd>o</kbd> 下面插一新行
<kbd>O</kbd> 上面插一新行
從正常模式到替換模式
<kbd>R</kbd>
從正常模式到可視模式,分成三種
<kbd>v</kbd> 字元可視
<kbd>V</kbd> 行·可視
<kbd>ctrl</kbd>+ <kbd>v</kbd> 塊·可視
基本的編輯是<code>基本操作</code>+<code>基本運動</code>
常用的基本操作都是動作
小寫操作的是{range}
大寫操作的是行
具體指令
删除
<kbd>d</kbd>、<kbd>D</kbd>
<kbd>x</kbd>、<kbd>X</kbd>
複制
<kbd>y</kbd>
粘貼
<kbd>p</kbd>、<kbd>P</kbd>
剪切并切換到插入模式
<kbd>c</kbd>、<kbd>C</kbd>
基本運動都是方向
首行<kbd>g</kbd> <kbd>g</kbd> 、末行<kbd>G</kbd> 、第n行<kbd>n</kbd> <kbd>G</kbd>
光标運動的方式是<kbd>h</kbd> <kbd>j</kbd> <kbd>k</kbd> <kbd>l</kbd>
這些方向都可以加上<code>[count]</code>翻倍
單詞運動<code>wbe</code>
<kbd>w</kbd> 是到下一個<code>word</code>的開頭
<kbd>b</kbd> 是到目前<code>word</code>的開頭
<kbd>e</kbd> 是到目前<code>word</code>的結尾
除了<code>word</code>之外還有<code>WORD</code>
行頭行尾
<kbd>^</kbd> 是到本行第一個非空字元
<kbd>0</kbd> 是到本行第一個字元,不管是不是空格
<kbd>g</kbd><kbd>_</kbd> 是到本行最後一個非空字元
<kbd>$</kbd> 跳到本行最後一個字元,即使他是空格
行内跳躍和貼靠
向<code>前</code>跳躍是<kbd>f</kbd>
向<code>後</code>跳躍是<kbd>F</kbd>
向<code>前</code>貼靠是<kbd>t</kbd>
向<code>後</code>貼靠是<kbd>T</kbd>
全文查找
查找的話就是<kbd>/</kbd>
反向查找的話就是<kbd>?</kbd>
文本區塊
<kbd>{</kbd>、<kbd>}</kbd>按段落移動
<kbd>(</kbd>、<kbd>)</kbd>按句子移動
以in為範圍的操作
<kbd>c</kbd><kbd>i</kbd><kbd>w</kbd>
<kbd>d</kbd><kbd>i</kbd><kbd>t</kbd>
<kbd>y</kbd><kbd>i</kbd><kbd>b</kbd>
<kbd>d</kbd><kbd>i</kbd><kbd>"</kbd>
可以進行基本編輯
在<kbd>:</kbd>下可以運作指令
<kbd>d</kbd>、<kbd>D</kbd>、<kbd>x</kbd>、<kbd>X</kbd>
可以在前面加上<code>range</code>
<code>:3,6d</code>
可以操作檔案 (讀、寫、編輯)
<code>:3,5w oeasy.txt</code>
<code>:1,3r oeasy.txt</code>
<code>:3,9w oeasy.txt</code>
<code>:3,9w oeasy.txt &gt;&gt;</code>
<code>:e .</code>
查找
<code>/oeasy</code>
<code>/^a.*b$</code> a開頭b結束的行
<code>/\&lt;a.*b\&gt;</code> a開頭b結束的單詞
替換
<code>:%s/shiyanlou/oeasy/gc</code>
<code>:3,9s/\&lt;a.*b\&gt;//gc</code> 3-9行中a開頭b結束的單詞都删除
<code>:g/oeasy/d</code>帶oeasy的都删除
可視模式的首尾切換
<kbd>o</kbd>
<kbd>O</kbd>
可以用<code>in</code>的方式制作選擇範圍
<code>vit</code>
<code>vi}</code>
<code>vib</code>
總共有三種可視化模式
字元可視化
行·可視化
塊·可視化
可以在選區裡面進行編輯操作
<kbd>d</kbd>、<kbd>c</kbd>、<kbd>y</kbd>、<kbd>p</kbd>
還可以進行替換
也可以在指令模式下對範圍進行操作
<code>:r !ls -lah</code>
使用指令<code>:2,15normal I001.</code>
注意是<code>001</code>,而不是1
<kbd>ctrl</kbd>+<kbd>v</kbd>選中<code>3-5</code>行的開頭字元
<kbd>g</kbd>之後<kbd>ctrl</kbd>+<kbd>a</kbd>
<code>1111</code>變成<code>1234</code>
包括5種模式
正常、插入、指令行、可視化、替換
許多編輯指令
編輯指令可以配合<code>motion</code>和<code>in</code>
文本可以進行搜尋和替換
基本就這些吧!!!🧘🏻♂️
真是全面地大總結啊
可以在終端裡面玩開了
<code>shell</code> 下 運作 <code>vimtutor zh</code>
看看自己多久能夠通關
這是一個重大的關卡
做完了之後
我們繼續向前 👋