Vim 高級技巧
常用技巧
- 跳到上次編輯的行號:
'. - 刪除游標以下所有內容:
dG - 刪除游標以上所有內容:dgg
- 開啟指令視窗:
:terminal:below terminal,:bel term:vertical terminal,:vert term- 切換視窗:
Ctrl + w + w - 編輯模式:
Ctrl + w + N(切換回指令列:hi)
- 搜尋檔案並開啟:
:find your-script.sh(可用 tab 自動補全與*符號):find *.sh
Visual mode
- 選擇行模式:
Shift + V
- 整行文字:
V - 文字起始點至結束點:
v
- 整行文字:
- 選擇區塊模式:
Ctrl + v- 區塊左邊插入文字:
I - 區塊右邊插入文字:
A - 選擇區塊內至行尾的文字:
$
- 區塊左邊插入文字:
- 選擇操作
- 游標: 上/下鍵
- 下一個單字:
w - 下一個單字頭是點:
f . - 下一個段落:
}
- 取消選擇:
Esc - 複製選擇區文字:
y - 貼上文字:
p - 刪除選擇區的文字:
d*(Delete)* - 移動選擇區的文字:
d> Move to target line >p - 取代選擇區的文字:
r*(Replace)* - 變更選擇區的文字:
c*(Change)* - 復原最近刪除文字:
u*(Undo)* - 快速選擇目前引號("或')內的文字:
i+"或'
情境: 在中間欄一段文字的每行行首插入多個空白字元
- Ctrl + v
- 移動上下鍵選擇區塊文字區
- I (
shift + i) - 輸入空白
- Esc 跳離後完成
情境: 在中間欄一段文字的每行行尾插入`;`
- Ctrl + v
- 移動上下鍵 +
$選擇區塊文字區 - A (
shift + a) - 輸入
; - Esc 跳離後完成
vimrc
" BASIC SETUP:
" enter the current millenium
set nocompatible
" enable syntax and plugins
syntax enable
filetype plugin on
" FINDING FILES:
" Search down into subfolders
" Provides tab-compleation for all file-related tasks
set path+=**
" Display all matching files when we tab complete
set wildmenu
Q & A
Q: 貼上文字後,因為自動縮排(autoindent)因素,導致內容編排錯亂。
A: 貼上文字前先執行 :set paste