[VIM 기술] global 명령 상세 설명
: vale ( ), : VIM
: global
: (Fri Jun 15 17:05:55 2007),
global Vim ( No.1), ,
, ,
。 , , , 。
, 。 Vim help ,
。 ( Vim ), , 。
|1.| global
|2.| global substitute
|3.| global [range]
|4.| global Vim
|5.|
==============================================================================
*1.* global
:h :g
:h 12.4
:[range]global/{pattern}/{command}
global [range] ( ) {pattern},
{command}, , global!
vglobal 。
Vim 。
【 1】 ( unix tac )
:g/^/m 0
/^/ ( , /./
, ), move ( 0
), 。
global : [range] , {pa
ttern} ; {command} ,
、 , ,
{command} 。{command} ex , | ex ,
, 。
, 。
【 2】
:g/^/+1 d
, ( +1 )。
? +1 d ,
, , 。
normal :
:%norm jdd
% , jdd, 。 global
,%norm , ,
, jdd 。 ,global
, normal 。
【 3】
:g/^/d|m.
:g/^/d , , move 。
, 【 2】, 。
normal ,%norm dd ,%norm jkdd
, , normal 。
==============================================================================
*2.* global substitute
:h 10.4
:helpg ms-word/c
vimmer , , , ,
substitute global ( ,substitute [r
ange] , )。 , :s :g 。
【 4】double
:%s/.*/&/r&/
:g/^/t.
substitue , ;global (:t :co
py) , 。
【 5】 、
txt ebook, vim help , ,
。 word , , word
, Vim 。 。
:%s//n/n/@!/ /
/n/n/@! ( /@! :h //@!, ),
, 。global 。
:g/./,/^$/j
/./ ,/^$/ , 。
, j ? ,
, ,
j 。 global [range] ,
。
? , :
:%s//n/@<!/n/n/@!/ /
vimmer 。 global
, global 。
:g/./,/^$/-1j
global substitute , ,
。 :
【 6】 aaa bbb, ccc ddd
:v/ccc/|ddd/s/aaa/bbb/g
【 7】 aaa bbb, ccc ddd
aaa ccc ddd ? 。
, 。 global :
:g/ccc/if getline('.') !~ 'ddd' | s/aaa/bbb/g
ccc , if (if ex !),getline
, ddd, (!~ true) 。
ex 、Vim , ,
。 , g v , global
( ) 。
==============================================================================
*3.* global [range]
:h range
global , {command} [rang
e]。 【 2】 【 5】 , [range],
。 【 2】 【 3】 。
【 8】 n , / m ( , 10 / 3 )
:g/^/d 3 | ,+6 m -1
:g/^/,+6 m -1 | +1 d 3
move ,
。 。
【 9】 。 , C :
#ifdef WIN32
XXX1
XXX2
#endif
...
#ifdef WIN32
XXX3
XXX4
#else
YYY1
YYY2
#endif
global Win32 , :
:g/#ifdef WIN32/+1,/#else/|#endif/-1 t $
t [range] , /#ifdef WIN32/ ,
, #endif #else ,t
。
【 10】 C Win32 (YYY )
, , [range] ,
global , 。 , 。
: , #else #endif ,
, #ifdef WIN32 block ; , block
#else , 。 :
:try | g/#ifdef WIN32//#else/+1, /#endif/-1 t $ | endtry
try endtry, global : WIN32, #else,
[range] , (WIN32 , #else
) #endif, [range] , t 。
#else block, ,[range] YYY1, XXX2(
#endif , YYY1 ), [range],
exception, try global 。
(,) , [range] (;) , ,
#endif #else , [range], try,
: #else block block #else 。
==============================================================================
*4.* global Vim
:h script
:h expression
:XxEditor ,Vim ? , Vim
, Vim , ,
vimrc plugin 。 Vim 。 ,
global , , ,
。
【 11】 ( )
:let i=0
:g/^/let i+=str2nr(getline('.'))
:echo i
i , str2nr i , Vim
。global for 。
Vim , , ,
, substitute , , global ,
。 。
【 12】
_Data Structures and Algorithm Analysis in C_ , ,
, :
/* 1 */ unsigned int factorial( unsigned int n )
{
/* 2 */ if( n <= 1 )
/* 3 */ return 1;
/* 4 */ return( n * factorial(n-1) );
}
, ( ),
global :
:let i=1 | g//a/s/ /{8}//=printf("//* %2d *//",i)/ | let i+=1
i ,g , 8 ,
。 //=, 。
, 。
【 13】 n , / m
:let n=10 | let m=3
:let i=-1 | g/^/let i+=1 | if i%n<m | d
:let i=-1 | g/^/let i+=1 | if i%n>(n-m-1) | d
i , i m n ,
【 8】 , 。
==============================================================================
*5.*
global , : range
, ; pattern, ;
ex , ; 、 、
, global 。 ,global , Vim
, , 。
global , ,
, ( , mv runsnake ,
), 。 ,
。 sed、awk , perl
script , 。 Vim
, , global 。
, 。 Vim , 。
, ,
, 。
==============================================================================
vim:tw=78:fo=tcq2:isk=!-~,^*,^/|,^/":ts=8:ft=help:norl:
※ :·vale Sep 27 12:26:18 ·[FROM: 219.143.141.*]
※ :· newsmth.net·[FROM: 219.143.156.*]
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Exception Class에서 에러 코드 해석 ~초기초편~직장에서 C# 프로젝트가 내뿜는 오류 코드를 구문 분석하고 오류의 위치를 확인하기 위해 Exception class를 활용할 수 있었습니다. 지금까지 Exception Class 에 대해서 별로 파악할 수 없었기 때...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.