VI常用命令

開發轉向LINUX平臺,用好vi對提高工作效率極有好處。原本在讀大學的時候學過一陣vi,略知皮毛,後來一直在windows平臺上做開發就荒廢了,現在拾起來。

把這些命令稍微整理了下,以作個備忘吧。


移動光標

h: 左

j: 下

k: 上

l: 右


w: 向右移動一個word

b: 向左移動一個word


0: 行首(第一列)

^: 第一個非空(空格或tab)字符

$: 行尾


H: 移動光標到屏幕頂行(high)

M: 移動光標到屏幕中間(middle)

L: 移動光標到屏幕底部(low)


nG: 移動光標到第n行

gg: 移動光標到文件第一行行首

G: 移動光標到文件最後一行行首


Ctrl+f: 屏幕向文件尾移動一屏

Ctrl+b: 屏幕向文件首移動一屏

Ctrl+u: 屏幕向文件首移動半屏

Ctrl+d: 屏幕向文件尾移動半屏


編輯

i: 在當前字符前面輸入字符: insert

I: 在當前行首插入字符

a: 在當前字符後面輸入字符: append

A: 在當前行尾插入字符

x: 刪除當前字符

r: 以隨後輸入的字符替代當前字符 replace

R: 替換當前字符及其後的字符,直到按ESC

o: 在當前行之下新開一行

O: 在當前行之上新開一行


dw: 刪除當前word

d$: 刪除從當前字符到行尾中間所有的字符

D: 同上

d0: 刪除從當前字符到行首中間所有的字符

d^: 刪除從當前字符到第一個非空字符中間的所有字符

dd: 刪除當前行


ndd:從當前行開始刪除n行. 比如5dd,從當前行開始刪除5行

s: 刪除當前字符並進入插入模式

S: 刪除當前行並進入插入模式


J: 合併行


u: 撤消

Ctrl+r: 撤消


選擇和複製

yy: 複製當前行

nyy: 比從當前行復制n行.比如5yy,從當前行開始複製5行

y$: 複製當前所在字符到行尾

y0: 複製當前所在字符到行首

y^: 複製當前所在字符到第一個非空字符


當前字符按下v,移動光標,選中的字符串會高亮顯示,選中後按y(複製)或d(剪切),然後移動光標到要複製或剪切的目標位置,按p



搜索

/keyword : 搜索keyword

?keyword : 向前搜索keyword

n: 下一個匹配的字符串 next

N: 上一個匹配的字符串


退出

:w 保存文件

:q 退出程序

:q! 強制退出程序,不保存

:wq 保存文件並退出


常用設置:

:set number  顯示行號

:set ignorecase 搜索時忽略大小寫

:syntax on

:set ts=4

:set expandtab


可以在vimrc中做以上的設置,這樣即使退出vim,再次啓動,設置也會保留


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章