특정 줄의 vim에서 검색 및 바꾸기
나는 사용할 수있다
:5,12s/foo/bar/g
검색하기 foo
에 의해 교체 bar
만 라인 (5)와 (사이의 라인이 아닌) 12에서 내가 할 수있는 방법 라인 (5)과 12 사이?
Vim에는 특정 행, 열 등에서 일치하는 특수 정규식 원자가 있습니다. 일치를 제한하기 위해 (가능하면 범위에 추가하여) 사용할 수 있습니다.
:5,12s/\(\%5l\|\%12l\)foo/bar/g
보다 :help /\%l
5 행에서 대체를 수행하고 12 행에서 최소한의 노력으로 반복 할 수 있습니다.
:5s/foo/bar
:12&
Ingo가 지적했듯이, :&
깃발을 잊어 버립니다. 을 사용 /g
하고 있으므로 올바른 명령은 다음과 :&&
같습니다.
:5s/foo/bar/g
:12&&
보고 :help :&
친구.
항상 c
끝에 a 를 추가 할 수 있습니다 . 이것은 매 경기마다 확인을 요청합니다.
:5,12s/foo/bar/gc
흥미로운 질문입니다. 범위 선택 만 있고 여러 줄 선택이없는 것 같습니다.
http://vim.wikia.com/wiki/Ranges
그러나 5 번과 12 번 줄에 특별한 내용이있는 경우 :g
연산자를 사용할 수 있습니다 . 파일이 다음과 같은 경우 (참조 용 번호) :
1 line one
2 line one
3 line one
4 line one
5 enil one
6 line one
7 line one
8 line one
9 line one
10 line one
11 line one
12 enil one
그리고 당신은 대체 할 one
가 eno
거기 라인에 enil
대신 line
:
:g/enil/s/one/eno/
ed
vi 및 vim과 유사한 명령을 사용 하는 행 지향 텍스트 편집기를 사용할 수 있습니다 . 아마도 vi와 vim보다 앞선 것입니다.
스크립트 (EndCommand 마커까지 입력을 처리하는 here 문서 사용)에서는 다음과 같습니다.
ed file <<EndCommands
5
s/foo/bar/g
7
s/foo/bar/g
wq
EndCommands
분명히 ed 명령은 명령 줄에서도 사용할 수 있습니다.
참고 URL : https://stackoverflow.com/questions/17319557/search-and-replace-in-vim-in-specific-lines
'Nice programing' 카테고리의 다른 글
iOS / Android의 웹 앱에서 기본 날짜 선택기 호출 (0) | 2020.10.14 |
---|---|
절대 위치 내 절대 위치 (0) | 2020.10.14 |
앱 충돌 방지를 위해 try / catch 사용 (0) | 2020.10.14 |
Github : 내 저장소를 체크 아웃하는 방법 (0) | 2020.10.14 |
ASP.NET MVC 3 작업 필터에 종속성 삽입. (0) | 2020.10.14 |