2009年11月25日

vi vim 基本操作指令

vi 操作

一般模式:移動游標的方法

h,← 向左移動一個字元

j,↓ 向下移動一個字元
k,↑ 向上移動一個字元
l,→ 向右移動一個字元
20j 向下移動20個字元
Ctrl+f 螢幕向下移動一頁
Ctrl+b 螢幕向上移動一頁
Ctrl+d 螢幕向下移動半頁
Ctrl+u 螢幕向上移動半頁

+ 移動到非空白字元的下一列
- 移動到非空白字元的上一列
n [space] n為數字,20 [space] 為向後移動20個字元
0 移動到這一行的最前面字元
$ 移動到這一行最後面的字元
H 移動到螢幕最上方那一行
M 移動到螢幕中央那一行
L 移動到螢幕最下方那一行
G 移動到這個檔案的最後一行
nG n為數字,20G會移到這個檔案的第20行
gg 移動到這個檔案的第一行
n [Enter] n為數字,20 [Enter] 為向下移動20行

一般模式:搜尋與取代
/word 往下搜尋word這個字
?word 往上搜尋word這個字
n 下一個
N 上一個
:n1,n2s/word1/word2/g 在第n1與n2行之間尋找word1以word2取代
:n1,n2s/word1/word2/gc 在第n1與n2行之間尋找word1以word2取代,取代前詢問

一般模式:刪除、複製、貼上
p,P p為貼在游標下一行,P為貼在游標上一行
J 游標所在列與下一列資料結合成同一列
c 重複刪除多個資料,10cj為向下刪除10行
u 復原前一個動作
Ctrl+r 重做上一個動作
. 重複前一個動作

編輯模式
i , I 插入:i從目前游標處插入 I從此行第一個非空白字元處插入
a , A a從目前游標下一個位置插入 A從此行的最後一個字元處插入
o , O o在此行的下一行插入新的一行 O 在此行的上一行插入新的一行
r , R 取代:r會取代游標所在那一個字元 R會一直取代下一個字元
Esc 回到一般模式

指令列命令模式
:w 儲存
:w! 強制儲存
:q 離開vi
:q! 強制離開不儲存
:wq 儲存後離開
:e! 將檔案還原到最原始的狀態
:w (filename) 另存新檔
:r (filename) 讀入另一個檔案加到游標所在行後面
:n1,n2 w (filename) 將n1~n2的內容存入filename
:! command 暫時離開vi執行command的顯示結果
:set nu 顯示行號
:set nonu 隱藏行號

vim 新增功能
一般模式:區塊選擇
v 字元選擇
V 行選擇
Ctrl +v 區塊選擇
y 將反白地方複製
d 將反白地方刪除

指令列命令模式:多檔案編輯
:n 編輯下一個檔案
:N 編輯上一個檔案
:files 列出目前這個vim開啟的所有檔案

指令列命令模式:多視窗功能
:sp [filename] 開啟一個新視窗
ctrl+w j 游標移到下方視窗
ctrl+w k 游標移到上方視窗
ctrl+w q 此視窗結束離開

指令列模式:環境設定參數
:set nu 設定行號
:set hlsearch 將搜尋字串反白
:set nohlsearch 不將搜尋字串反白
:set autoindent 是否自動縮排
:set backup 是否自動儲存備份檔
:set ruler 顯示狀態列說明
:set showmode 顯示—INSERT—之類的字
:set backspace=(012) 設定是否在編輯模式使用backspace來刪除任意字元
(2可任意刪除,0或1只能刪除剛剛輸入的字元)
:set all 顯示目前所有環境參數設定值
:syntax (off | on) 顯示相關語法的顏色

vim設定值放置在/etc/vim/vimrc 但修改時建議修改~/.vimrc (請手動建立)

沒有留言:

張貼留言