ºìÁªLinuxÃÅ»§
Linux°ïÖú

Linux»ù´¡Ö®VimÃüÁî

·¢²¼Ê±¼ä:2014-06-27 11:12:40À´Ô´:ºìÁª×÷Õß:velcbo
VimÊÇ´Ó vi ·¢Õ¹³öÀ´µÄÒ»¸öÎı¾±à¼­Æ÷¡£

VimÓÐÈýÖÖģʽ£º±à¼­Ä£Ê½--ÊäÈëģʽ--Ä©ÐÐģʽ

ģʽת»»£ºÊäÈëģʽ<<==>>±à¼­Ä£Ê½<<==>>Ä©ÐÐģʽ

±à¼­Ä£Ê½ --> ÊäÈëģʽ£º

i: insert, ʵÏÖÔÚµ±Ç°¹â±êËùÔÚ´¦×Ö·ûÇ°Ãæ×ª»»ÎªÊäÈëģʽ£»

a: append, ʵÏÖÔÚµ±Ç°¹â±êËùÔÚ´¦×Ö·ûºóÃæ×ª»»ÎªÊäÈëģʽ£»

o: ʵÏÖÔÚµ±Ç°¹â±êËùÔÚÐеÄÏ·½Ð½¨Ò»¸ö¿Õ°×Ðв¢×ª»»ÎªÊäÈëģʽ£»

I: ÔÚµ±Ç°¹â±êËùÔÚÐеÄÐÐÊ×תΪÊäÈëģʽ£»

A: ÔÚµ±Ç°¹â±êËùÔÚÐеÄÐÐβתΪÊäÈëģʽ£»

O: ÔÚµ±Ç°¹â±êËùÔÚÐеÄÉÏ·½Ð½¨Ò»ÐУ¬²¢×ªÎªÊäÈëģʽ£»

ÊäÈëģʽ --> ±à¼­Ä£Ê½£º

°´ÏÂEsc¼ü;

±à¼­Ä£Ê½ --> Ä©ÐÐģʽ£º

¼üÈë:

Ä©ÐÐģʽ --> ±à¼­Ä£Ê½£º

Esc, Esc

¹â±êÌø×ª£º

×Ö·û¼äÌø×ª£º

h: ×ó

l: ÓÒ

j: ÏÂ

k: ÉÏ

#h: Ïò×ó²àÌø#¸ö×Ö·û£»

µ¥´Ê¼äÌø×ª£º

w: ºóÒ»¸öµ¥´ÊµÄ´ÊÊ×

e: ÌøÖÁµ±Ç°»òÏÂÒ»¸öµ¥´ÊÆôβ£»

b: ÌøÖÁµ±Ç°»òǰһ¸öµ¥´ÊÆôÊ×£»

¾ä×Ó¼äÌø×ª£º

): ÏÂÒ»¾ä£»

(: ǰһ¾ä£»

¶ÎÂä¼äÌø×ª£º

}: ÏÂÒ»¶Î£»

{: ǰһ¶Î£»

ÐмäÌø×ª£º

1G, gg:

G:

#G:

ÐÐÄÚÌø×ª£º

^: ÐÐÊ׵ĵÚÒ»¸ö·Ç¿Õ°××Ö·û

$: ¾ø¶ÔÐÐβ

0: ¾ø¶ÔÐÐÊ×

¹Ø±ÕÎļþ£º

ÔÚÄ©ÐÐģʽÏ£º

£ºw ±£´æ

£ºq Í˳ö

£º! Ç¿ÖÆ

£ºwq

: q!

: x

Ôڱ༭ģʽÏ£º

ZZ£º±£´æÍ˳ö£»

qall

´ò¿ªÎļþ£º

vim [options] /path/to/file

ͬʱ´ò¿ª¶à¸öÎļþ

vim +# /path/to/file

next ÏÂÒ»¸ö£»

last ×îºóÒ»¸ö£»

first µÚÒ»¸ö£»

prev ǰһ¸ö

-O: ´ò¿ªÊ±´¹Ö±·Ö¸î´°¿Ú

-o£º´ò¿ªÊ±Ë®Æ½·Ö¸î´°¿Ú

±à¼­ÃüÁ

x: ɾ³ýµ¥¸ö×Ö·û

#x:

d: ɾ³ýÃüÁî

¶ÔÓ¦Ìø×ªµÄ·ûºÅ¶øÉ¾³ý
dw:

db:

de:

d^

d$

dw:ɾ³ýµ¥´Ê
dd£ºÉ¾³ýÒ»ÐÐ
#ddɾ³ý¹â±êËùÔÚÐв¢ÏòÏÂ#ÐÐ

±à¼­²Ù×÷¿É³·Ïû£º

u: vimĬÈÏ»á×î½ü50´ÎµÄ²Ù×÷£¬uÃüÁî¿ÉÖðÒ»³·Ïû´ËǰµÄ±à¼­²Ù×÷£»

³·Ïû´ËǰµÄ³·Ïû£ºCtrl+r:

Õ³Ìù²Ù×÷£ºp

paste, put

p

ɾ³ýµÄÊÇÕûÐУº

p: ÔÚµ±Ç°¹â±êËùÔÚÐеÄÏ·½Õ³Ìù£»

P£ºÔÚµ±Ç°¹â±êËùÔÚÐеÄÉÏ·½Õ³Ìù

ɾ³ýµÄ²»ÊÇÕûÐУº

p: ÔÚµ±Ç°¹â±êËùÔÚ´¦×Ö·ûµÄºó·½Õ³Ìù£»

P£ºÔÚµ±Ç°¹â±êËùÔÚ´¦×Ö·ûµÄǰ·½Õ³Ìù£»

¸´ÖÆ£ºy, yank

yy

#yy

y$

y^

¸´ÖƵÄÊÇÕûÐУº

p: ÔÚµ±Ç°¹â±êËùÔÚÐеÄÏ·½Õ³Ìù£»

P£ºÔÚµ±Ç°¹â±êËùÔÚÐеÄÉÏ·½Õ³Ìù

¸´ÖƵIJ»ÊÇÕûÐУº

p: ÔÚµ±Ç°¹â±êËùÔÚ´¦×Ö·ûµÄºó·½Õ³Ìù£»

P£ºÔÚµ±Ç°¹â±êËùÔÚ´¦×Ö·ûµÄǰ·½Õ³Ìù£»

ͬһÎĵµ´°¿Ú·Ö¸î£º

Ctrl+w,s: ˮƽ·Ö¸î

Ctrl+w,v: ´¹Ö±·Ö¸î

Ctrl+w, ¼ýÍ·

´°¿ÚÊôÐÔ¶¨Ò壺

ÏÔʾÐкÅ:

set number, set nu

set nonumber, set nonu

×Ô¶¯Ëõ½ø

set autoindent, set ai

set noai

²»Çø·Ö×Ö·û´óСд

set ignorecase, set ic

set noic

»ñÈ¡°ïÖú£º

set

ÏÔʾƥÅäµÄÀ¨ºÅ£º

set showmatch, set sm

set nosm

Óï·¨×ÅÉ«£º

syntax on

syntax off

ËÑË÷¸ßÁÁÏÔʾ

set hlsearch

set nohlserach

vimµÄÅäÖÃÎļþ:

È«¾Ö£º/etc/vimrc

¸öÈË£º~/.vimrc

²éÕÒÌæ»»£º

£ºµØÖ·¶¨½çs/²éÕÒģʽ/Ìæ»»³ÉµÄÄÚÈÝ/gi

£ºµØÖ·¶¨½çs@²éÕÒģʽ@Ìæ»»³ÉµÄÄÚÈÝ@gi

Gi£ºGlobalignorecase ºó±ß¿ÉÒÔ²»Ð´gi

Ä©ÐÐģʽϵIJÙ×÷Á·Ï°

ΪÂú×ã1-3Ìâ×öÌâÐèÒª£¬ÔÚµ±Ç°Ä¿Â¼ÏÂн¨Ò»¼òµ¥µÄÎĵµ£¬a.vim,ÄÚÈÝÈçÏÂ

# abc

# abc

abc #

abc345abc

Ê×ÏÈʹÓÃÃüÁîvim½øÈë±à¼­Ä£Ê½

# vim a.vim ÊäÈ룺ºÅ¾Í¿É½øÈëÄ©ÐÐģʽ

ÏÂÃæÖ»¸ø³övimÄ©ÐÐģʽϵĴúÂë

1£¬É¾³ýÐÐÊ׿ªÍ·µÄ#£º

%s@^#@@gi

%s@^#@@g

%s@^#@@

2£¬É¾³ýÐÐÊ׿ªÍ·µÄ#¼°ºóÃæ½ô¸úµÄ¿Õ°××Ö·û£»

%s@^#[[:space:]]\{1,\}@@

3£¬Îª¿Õ°××Ö·û¿ªÍ·µÄÐеÄÐÐÊ×¼ÓÉÏ#£»

%s@^[[:space:]]@#&@

4£¬É¾³ý/etc/grub.confÎļþÖÐÐÐÊ׵Ŀհ׷û£»

%s@^[[:space:]]*@@

5£¬Ìæ»»/etc/inittabÎļþÖÐ"id:3:initdefault:"Ò»ÐÐÖеÄÊý×ÖΪ5£»

%s@id:3:ini@id:5:ini@

/id:3:initdefault .s@[0-9]@5@g £¨ÏȽ«¹â±êËø¶¨µ½ÕâÒ»ÐУ¬È»ºóÔÙÌæ»»£¬Òª·ÖÐнøÐУ©

6£¬É¾³ý/etc/inittabÎļþÖпªÍ·µÄ#ºÅ;

%s@^#@@g

7£¬É¾³ýijÎļþÖпªÍ·µÄ#ºÅ¼°ºóÃæµÄ¿Õ°××Ö·û£¬µ«ÒªÇó#ºÅºóÃæ±ØÐëÓпհ××Ö·û;

%s@^#[[:space:]]\{1,\}@@g

8£¬ÎªÖ¸¶¨·¶Î§ÄÚµÄÐеÄÐÐÊ×Ìí¼Ó#£»

1-13ÐÐÐÐÊ×Ìí¼Ó#

1,13s@^@#@g

9£¬ÏÔʾÐкÅ,È¡ÏûÐкÅ

£ºset nu

£ºset nonu

10£¬ÉèÖÃËÑË÷½á¹û¸ßÁÁÏÔʾ

: set hlsearch

Èç¹û֮ǰÓÐËÑË÷¹ýÎı¾ÖеÄÄÚÈÝ£¬ÔòÕâЩÄÚÈÝ»á¸ßÁÁÏÔʾ³öÀ´

ÒªÈÃ×Ö·û»Ø¸´Ô­À´µÄÑÕÉ«£¬È¡ÏûÉèÖü´¿É

£ºset nohlsearch

ÉÏÎÄÖÐÁгöµÄµÈµÈÓ÷¨¾ù¿ÉÒÔ°´ÕÕµÚ9,10Ìâ¼ÓÒÔÍê³É£¬²»ÔÙ¶à×ö½éÉÜ¡£

×÷Õߣºluliming
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ