2019 - 03 - 26 Vim 에서 찾기 및 교체
찾다
normal 모드 에서
/
을 누 르 면 검색 모드 에 들 어 갈 수 있 습 니 다. 찾 을 문자열 을 입력 하고 리 턴 을 누 르 십시오.Vim 은 첫 번 째 매 칭 으로 이동 합 니 다.누 르 고 n
다음 을 찾 고 N
누 르 고 이전 을 찾 습 니 다.Vim 은 정규 표현 식 을 지원 합 니 다. 예 를 들 어
/vim$
줄 끝 에 일치 하 는 "vim"
을 찾 습 니 다.특수 문 자 를 찾 으 려 면 전의 가 필요 합 니 다. 예 를 들 어 /vim\$
일치 "vim$"
.되 돌아 오 는 차 를 찾 으 려 면
사용 해 야 하고, 되 돌아 오 는 차 로 바 꾸 려 면 \r
사용 해 야 한다.대소 문자 민감 검색
검색 모드 에 대소 문자 가 민감 하지 않 음 을 표시 하고 대소 문자 가 민감 하지 않 음 을 표시 합 니 다.
\c
대소 문자 가 민감 한 검색 을 표시 합 니 다.예 를 들 면:/foo\c
모든
\C
, "foo"
, "FOO"
등의 문자열 을 찾 을 수 있 습 니 다.대소 문자 민감 설정
Vim 은 기본적으로 대소 문자 민감 한 검색 을 사용 합 니 다. 편리 하도록 대소 문자 민감 하지 않 은 것 으로 설정 합 니 다.
"
set ignorecase
" ,
set smartcase
위 설정 을 당신 의
"Foo"
에 붙 여 넣 고 Vim 을 다시 열 면 유효 합 니 다.현재 단어 찾기
normal 모드 에서
~/.vimrc
을 누 르 면 커서 가 있 는 단어 (word) 를 찾 을 수 있 습 니 다. 매번 나타 나 는 앞 뒤 가 공백 문자 나 문장 부 호 를 요구 합 니 다.예 를 들 어 현재 *
는 foo
중의 foo bar
와 일치 할 수 있 으 나 foo
중의 foobar
와 일치 할 수 없다.이것 은 함수 명, 변수 명 을 찾 을 때 매우 유용 하 다.foo
을 누 르 면 커서 가 있 는 단어의 문자 순 서 를 찾 을 수 있 고 앞 뒤 문자 가 나타 날 때마다 요구 하지 않 습 니 다.즉 g*
과 foo bar
중의 foobar
가 모두 일치 할 수 있다.찾기 및 교체
foo
(substitute) 명령 은 문자열 을 찾 고 바 꾸 는 데 사 용 됩 니 다.문법 은 다음 과 같다.:{ }s/{ }/{ }/{ }
예 를 들 어
:s
는 전체 범위 :%s/foo/bar/g
에서 찾기 %
를 찾 고 foo
로 교체 되 며 모든 출현 은 교체 된다 bar
.작용 범위
역할 범 위 는 현재 줄, 전문, 선택 구역 등 으로 나 뉜 다.
현재 줄:
:s/foo/bar/g
전체 텍스트:
:%s/foo/bar/g
선택 영역 은 Visual 모드 에서 영역 을 선택 한 후 입력
g
하면 Vim 이 자동 으로 :
으로 보 완 됩 니 다.:'s/foo/bar/g
2 - 11 줄:
:5,12s/foo/bar/g
현재 줄
:'
과 다음 두 줄 .
::.,+2s/foo/bar/g
표지 바 꾸 기
앞에서 명령 한 끝
+2
은 바로 교체 표지 중 하나 로 전체 g
의 교체 (즉, 목표 의 모든 출현) 를 나타 낸다.다른 유용 한 교체 표지 도 많이 있 습 니 다.빈 바 꾸 기 표 지 는 커서 위치 에서 만 바 꾸 는 것 을 표시 합 니 다. 목표 의 첫 번 째 출현:
:%s/foo/bar
global
대소 문자 가 민감 하지 않 음 을 나타 내 고 i
대소 문자 가 민감 함 을 나타 낸다.:%s/foo/bar/i
모드 의 \ c (민감 하지 않 음) 또는 \ C (민감 하지 않 음) 와 같 습 니 다.
:%s/foo\c/bar
I
확인 이 필요 하 다 고 밝 혔 습 니 다. 예 를 들 어 전체 검색 c
이 "foo"
으로 바 뀌 었 고 확인 이 필요 합 니 다.:%s/foo/bar/gc
돌아 오 면 Vim 은 커서 를 매번
"bar"
나타 나 는 위치 로 이동 시 키 고 알려 줍 니 다.replace with bar (y/n/a/q/l/^E/^Y)?
누 르 면
"foo"
교 체 를 표시 하고 y
교 체 를 표시 하 며 n
모든 것 을 교체 하 는 것 을 표시 하고 a
검색 모드 를 종료 하 는 것 을 표시 하 며 q
현재 위 치 를 교체 하고 종료 하 는 것 을 표시 합 니 다.l
와 ^E
커서 이동 단축 키 입 니 다.하 이 라이트 설정
하 이 라이트 색상 설정
나 처럼 하 이 라이트 색상 이 불편 하 다 면
^Y
에서 설정 할 수 있 습 니 다.highlight Search ctermbg=yellow ctermfg=black
highlight IncSearch ctermbg=black ctermfg=yellow
highlight MatchParen cterm=underline ctermbg=NONE ctermfg=NONE
위 설정 에서 지정 한 Search 결과 의 전경 색 (foreground) 은 검은색 이 고 배경 색 (background) 은 회색 입 니 다.점진 적 검색 의 전경 치 는 검은색 이 고 배경 색 은 노란색 입 니 다.커서 의 문자 에 밑줄 을 치다.
하 이 라 이 트 를 사용 하지 않 거나 사용 하기
바 꿀 때마다 Vim 이 검색 결 과 를 밝 히 고 있다 고 생각 하 는 나무 가 있 습 니까?하 이 라 이 트 를 수 동 으로 멈 추고 normal 모드 에서 입력 할 수 있 습 니 다.
:nohighlight
"
:nohl
사실 이 명령 은 모든 하 이 라 이 트 를 사용 하지 않 고 하 이 라 이 트 를 검색 하 는 명령 만 사용 하지 않 습 니 다
~/.vimrc
.다음 검색 시 :set nohlsearch
검색 하 이 라 이 트 를 다시 시작 해 야 합 니 다.사용 하지 않 음
어떻게 Vim 이 검색 / 교체 후 일정 시간 동안 하 이 라 이 트 를 자동 으로 취소 하고 검색 이 발생 하면 자동 으로 열 릴 수 있 습 니까?
" ,
autocmd cursorhold * set nohlsearch
" ,
noremap n :set hlsearchn
noremap N :set hlsearchN
noremap / :set hlsearch/
noremap ? :set hlsearch?
noremap * *:set hlsearch
위 설정 을
:set hlsearch
에 붙 여 넣 고 vim 을 다시 열 면 유효 합 니 다.원 클릭 비활성화
검색 하 이 라 이 트 를 사용 하지 않 는 것 이 불편 하 다 면 단축 키 를 설정 하여 검색 하 이 라 이 트 를 사용 하지 않 거나 열 수 있 습 니 다.
noremap n :set hlsearchn
noremap N :set hlsearchN
noremap / :set hlsearch/
noremap ? :set hlsearch?
noremap * *:set hlsearch
nnoremap :call DisableHighlight()
function! DisableHighlight()
set nohlsearch
endfunc
하 이 라 이 트 를 닫 으 려 면 누 르 기만 하면 됩 니 다
~/.vimrc
. 다음 검색 이 발생 하면 자동 으로 사 용 됩 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.