vim-可視化操作
vim 支援的可視化操作包括:
v → 單字元選取。
V → 每次選取一行。
<C-v> → 塊選取。配合 A 和 I 鍵進行整體操作,非常強大。
gv → 退出可視化模式後,可以使用這個命令用同樣的方式自動選取之前的地區。
例子:
1. 一般操作
使用上面的命令選中要進行操作的內容後,就可以配合其它命令進行塊操作,譬如:d 刪除、y 複製、J 行串連、< > 左右縮排、= 自動縮排等。
2. 刪除或添加指令碼注釋
在編輯指令碼的過程中,有時需要開啟或者注釋某個塊,逐個逐個編輯實在是太影響速度了,這時必須要進行塊操作。例如我要注釋下面的塊。
echo
"**********************************"
echo "There are 100
lines"
...
echo
"**********************************"
在 normal 模式下鍵入:
<C-v> → 配合 h 或者 <C-d> (末尾行)選中上面的內容。v 和 V 不提供這個功能。
I → 插入 # 。我們發現並沒有達到預定的效果,只在首行中插入了 # 。因為還沒完。
Esc → OK 了,看下面的結果。
#echo
"**********************************"
#echo "There are 100
lines"
#...
#echo
"**********************************"
刪除就也是同樣的過程,在 normal 模式下鍵入:
<C-v> → 配合 h 或者 <C-d> (末尾行)選中上面的內容。v 和 V 不提供這個功能。
d → 刪除首行 # 。
Esc → OK 。
3. 在所有行的末尾添加字元
有時候我們需要在每行的末尾添加什麼,例如把上面的例子的列印重新導向到某個檔案中。在 normal 模式下輸入:
<C-v> → 配合 $ 還有 h 或者 <C-d> (末尾行)選中上面的內容。v 和 V 不提供這個功能。
A → 進入插入模式,輸入 >filename.txt 。
Esc → OK,看效果吧。
echo
"**********************************">filename.txt
echo "There are 100
lines">filename.txt
...
echo
"**********************************">filename.txt