Magic Studio

专心做有逼格的APP!

BSD vi/vim 命令大全(上)[转]

from: http://www.pctartarus.com/bbs/thread-910-1-1.html

為了便於查找,這裡一併給出了命令和它們的定制參數。在使用之前,必須注意以下幾點:
   ●很多命令可以與重複因子一起使用(vi);
   ●vim(不是vi)把一個區域(region)定義為一個連續的文本塊,許多命令與文本塊有關;
    一個區域可以用v定義,後面跟一個光標移動命令;
   ●用[Ctrl+l]組合鍵可以清除並重畫屏幕;
   ●:set命令用來定制編輯環境。

移動光標

h  光標左移
l(或空格鍵)  光標右移
k(或[Ctrl+p])  光標上移
j(或[Ctrl+n])  光標下移
[Ctrl+f]  向前翻頁
[Ctrl+b]  向後翻頁
[Ctrl+d]  向前翻半頁
[Ctrl+u]  向後翻半頁
1G  跳到文件
40G  跳到第40行
G  跳到文件尾
[Ctrl+g]  顯示當前行號及文件的百分比
:set number 顯示所有帶行號的行



在一行內移動光標

b  向後移動到單詞首
e  向前移動到單詞尾
w  向前移動到單詞首
0或|  移動到行首
30|  移動到第30列
^  移動到本行的第一個單詞的首字符
$  移動到行尾



插入文本

i  在光標的左側插入字符
20i-[Esc]  插入20個連字符
I  在行首插入字符
[Ctrl+v][Ctrl+b]  插入[Ctrl+b]字符
[Ctrl+v][Esc]  插入[Esc]字符
a  在光標的右側添加文本
A  在行尾添加文本
o  在當前行下面插入一空行
O  在當前行上面插入一空行
:set showmode  當vi處在輸入模式下時顯示提示信息
:set sm  即時顯示配對的)或}
:set ts=n  把製表符設置為n(默認為8)
:set ai  下一行從前一行的縮進位置開始



刪除和移動文本

x  刪除光標所在的字符
6x  刪除光標位置的字符以及右側的5個字符
X  刪除前一個字符
dd  刪除當前行
4dd  刪除4行
64dd  刪除64行
dw  刪除一個單詞
d0  刪除到行首
d$  刪除到行尾
d  刪除一個區域(只用於vim)
p  把被剪切的文本粘貼到下面(整行)或右側(部分行)
P  把被剪切的文本粘貼到上面(整行)或左側(部分行)
"add  把當前行粘貼到緩衝區a裡
"ap  把緩衝區a裡的內容粘貼到當前位置
J  把當前行於下一行合併為一行
xp  調換兩個字符的位置


修改文本

rch  把光標位置的字符替換為ch
R  替換光標右邊的文本
s  把光標所在的字符替換為任意個字符
S  替換整行內容
cw  修改一個單詞
c  修改區域裡的文本(vim)
~  改變所掃瞄的或區域裡的字母的大小寫
!tr'[a-z]''[A-Z]'  把區域裡的字母轉換為大寫(vim)
!tr'[A-Z]''[a-z]'  把區域裡的字母轉換為小寫(vim)



複製文本

yy  複製當前行
6yy  複製六行
yw  複製單詞
y  複製區域(vim)
p  把複製的文本粘貼到右邊或下面
P  把複製的文本粘貼到左邊或上面
"ayy  把當前行複製到緩衝區a裡
"ap  恢復緩衝區a裡的內容



啟動編輯器

vi +100 foo
  打開文件foo並把光標定位在100行
vi +/pat foo
  打開文件foo並把光標定位在pat第一次出現的行
vi +foo  打開文件foo,把光標定位在文件尾
vi foo1 foo2 ...
  打開文件foo1,用n切換到foo2等
vi -r foo
  把交換文件裡的內容恢復到緩衝區裡
vi -R foo
  一隻讀模式打開foo文件



保存與退出

:w  保存文件並繼續編輯
:w bar
  同微軟Windows操作系統中的「另存為……」
:w! bar
  同上,但是覆蓋現存的文件bar
:n1,n2w foo
  把n1到n2之間的行保存到文件foo

:n1,n2w>>foo  把n1到n2之間的行添加到foo文件尾
:.w foo
  把當前行保存到文件foo
w foo
  把最後一行保存到文件foo
:x  保存並退出編輯器
:wq  同上
:q  如果文件的內容沒有變化則退出編輯器
:q!  放棄修改並退出編輯器

posted on 2010-11-06 23:38  Mr 布鲁斯  阅读(265)  评论(0)    收藏  举报

导航