vim 전역, 부분 검색 대체 문자열

7571 단어
찾다
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 는 커서 이동 단축 키 입 니 다. 참고: Vim 에서 어떻게 빠르게 커서 이동 을 진행 합 니까?
하 이 라이트 설정
하 이 라이트 색상 설정
나 처럼 하 이 라이트 색상 이 불편 하 다 면  ^Y  진행 중 설정:
highlight Search ctermbg=yellow ctermfg=black 
highlight IncSearch ctermbg=black ctermfg=yellow 
highlight MatchParen cterm=underline ctermbg=NONE ctermfg=NONE

위 설정 에서 지정 한 Search 결과 의 전경 색 (foreground) 은 검은색 이 고 배경 색 (background) 은 회색 입 니 다.점진 적 검색 의 전경 치 는 검은색 이 고 배경 색 은 노란색 입 니 다.커서 의 문자 에 밑줄 을 치다.
더 많은 CTERM 색상 을 찾 을 수 있 습 니 다:http://vim.wikia.com/wiki/Xterm256_color_names_for_console_Vim
하 이 라 이 트 를 사용 하지 않 거나 사용 하기
바 꿀 때마다 Vim 이 검색 결 과 를 밝 히 고 있다 고 생각 하 는 나무 가 있 습 니까?하 이 라 이 트 를 수 동 으로 멈 추고 normal 모드 에서 입력 할 수 있 습 니 다.
:nohighlight
"    
:nohl

사실 이 명령 은 모든 하 이 라 이 트 를 사용 하지 않 고 하 이 라 이 트 를 검색 하 는 명령 만 사용 하지 않 습 니 다 ~/.vimrc.다음 검색 시 :set nohlsearch 검색 하 이 라 이 트 를 다시 시작 해 야 합 니 다.
사용 하지 않 음
어떻게 Vim 이 검색 / 교체 후 일정 시간 동안 하 이 라 이 트 를 자동 으로 취소 하고 검색 이 발생 하면 자동 으로 열 릴 수 있 습 니까?
"             ,     
autocmd cursorhold * set nohlsearch
"         ,     
noremap n :set hlsearch<cr>n
noremap N :set hlsearch<cr>N
noremap / :set hlsearch/
noremap ? :set hlsearch<cr>?
noremap * *:set hlsearch<cr>

위 설정 을 :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 다음 검색 이 발생 하면 자동 으로 사 용 됩 니 다.

좋은 웹페이지 즐겨찾기