posted by dalnimbest 2014. 1. 4. 12:14

 

명령어모드에서 실행해야한다. 현재 모드가 뭔지 모르겠으면 일단 <esc>키를 두번 치고 시작한다.

 

/pattern pattern에 해당되는 문자를 찾아 커서를 이동한다.

 

 

:s/pattern1/pattern2 현재줄에서 pattern1에 해당되는 문자열을 찾아 pattern2로 치환해 준다. (처음 만나는 pettern1, 전체에 대해서 적용할려면 g를 붙인다. ) :s/pattern1/pattern2/g)

 

:%s/pattern1/pattern2 현재 파일내에서 pattern1에 해당되는 문자열을 찾아 pattern2로 치환해 준다.

:1-5s/pattern1/pattern2 현재 파일의 1~5줄 내에서 pattern1에 해당되는 문자열을 찾아 pattern2로 치환해 준다.

 

* <>로 둘러싸여있는거 다 없애기
:%s/\(<.\{-}>\)//g

*:
문서에
: fsfd[sgsdgsgsg]sfdfdf
:
저런 식으로 여럿 있습니다.
:
저기서 [ ] 사이의 모든 글을 지우고 싶습니다.
:
즉 위의 글을 fsfd[]sfdfdf 로 만들고 싶은데요.
:
잘 안되네요.
:
제 생각엔 :%s;[.*];[];g
:
저렇게 하면 될 것 같았는데 안돼네요.
:
아시는분 좀 갈챠주시길...
:
그럼 좋은 주말 보내셈~~


:%s/\[.*\]/\[\]/g
:%s/\[[^\]]*\]/\[\]/g
:help regular

* ct(
(
를 만나기 전까지 치환한다.
(
대신 다른것을 써도 된다.
)cta
a
를 만나기 전까지 치환한다.
c2ta
두번째 a를 만나기 전까지 치환한다.

*
두번째 스페이스까지만 남기고 뒷줄은 없애는것
:%s/^\(\(.\{-} \)\{2}\).*/\1/g

*
: cuit:x28
: xyzhero:x30ix
: xero:x18_lk
를 다음과 같이 바꿀려면, 즉 숫자뒤의 문자들을 없애는것
: cuit:x28
: xyzhero:x30
: xero:x18

%s/\D*$

* 1234,
김형달
에서 맨첨의 , ;로 바꾸기

:%s/,/;

*
여러 빈줄을 한 빈줄로 바꿈
:g/^$/.,/./-j

*
한글만 없애는것

*
숫자만 빼고 나머지는 다지우기
:%s/\D//g

*
맨앞의 #만 없애는것
:5,$s/\(^.*\)\(#\)/\1
맨처음의 것(뭐가 되든지)을 찾고 그다음 #을 찾고 맨처음의 것만 남긴다.

*
copy d:\0423\100\na029w d:\0424\na029w
copy d:\0423\100\na030w d:\0424\na030w
에서 맨마지막 \다음을 가져오는것

:%s/.*\\//

*
한줄을 ""로 감싸는것
:%s/.*/"&"/g

*
여러개의 공백을 한개의 공백으로 바꾸기
:%s/ \+/ /g

"
부분을 없애고
:%s/"//g

줄맨앞의 공백도 없애준다.
:%s/^\s*//g

줄맨뒤의 공백도 없애준다.
:%s/\s*$

*
화일전체를 대문자로 바꾸는것
:%s/.*/\U&/g
&
는 패턴찾기에서 나온 전부를 가리킨다.


유니코드로 찾기
/[\u숫자]

'Computer > vi에디터' 카테고리의 다른 글

커서 이동, 입력, 삭제  (0) 2014.01.04