티스토리 뷰
jEdit의 찾기/바꾸기 기능은 아래의 그림과 같이 선택 범위<현재 버퍼(편집창)<모든 버퍼<디렉토리로 그 찾기/바꾸기 영역을 지정할 수 있습니다.
일반적인 찾기를 위해서는 "찾기 대상" 입력란에 검색할 문자열을 입력하고 찾습니다. 바꾸기를 적용할 경우에는 "바꾸기 내용"란에 찾은 문자열을 대치할 문자열을 입력합니다. 찾은 문자열을 지울 경우에는 "바꾸기 내용"란에 아무것도 입력하지 않고 [바꾸기]를 수행하면 됩니다.
"찾기 대상" 및 "바꾸기 내용"란에서 페이지 Up/Down 키를 누르면 이전에 찾기 대상 및 바꾸기 내용으로 입력한 것을 선택하여 다시 사용할 수 있고 입력란에 우측 마우스를 클릭하면 이전 입력 목록을 보여주어 간편하게 선택할 수도 있습니다.
검색 옵션에 대한 설명은 다음과 같습니다.
- 창유지 : 찾기/바꾸기를 수행할 때 검색 창을 숨기지 않고 그대로 둔 상태에서 찾기/바꾸기를 수행
- 대소문자 구분 안함 : 옵션을 체크하면 ABC나 abc 모두를 검색합니다.
- 정규식 : "찾기 대상" 및 "바꾸기 내용"란의 내용을 단순 텍스트가 아닌 정규식으로 취급하는 것으로 아래에서 자세히 다루겠습니다.
- 하이퍼 검색 : 검색 결과를 별도의 창에 목록으로 표시하고 하이퍼 검색 결과에서 개별 항목을 클릭하여 해당 위치로 이동하며 검토할 때 사용합니다. 검색 결과가 너무 많을 때는 적절하지 않습니다.
- 전체 단어 : 체크하면 단어의 일부가 일치하는 것은 검색에서 제외하고 단어 전체가 일치하는 것만을 검색합니다. 예를 들어 "국어"를 찾는데 "전체 단어" 옵션이 켜있으면 "국어를"과 같이 "국어"가 단어의 일부인 것은 검색 대상에서 제외하는 것입니다.
- 방향>자동순환 : 찾기를 앞으로/뒤로해서 파일의 끝이나 처음에 도달하면 다시 파일의 처음이나 끝으로 돌아가서 순환하여 다시 검색할 것인지를 설정합니다.
- 디렉토리 검색 옵션 : 하단의 필터, 디렉토리 및 생략 옵션등은 찾기 영역을 디렉토리로 했을 때 사용하는 것으로 파일을 편집창에 열어 놓지 않고도 검색할 수있는 기능입니다. 콤마(,)로 구분하여 여러개의 필터를 설정할 수 있으며, 필터를 설정하면 디렉토리를 검색할 때 필터에 해당하는 것만 찾기 대상으로 합니다. [동기화] 버튼을 클릭하면 현재 버퍼에 있는 파일의 확장자나 디렉토리를 기본값으로 가져와서 디렉토리를 검색할 수 있도록 해줍니다.
찾기/바꾸기, 모든 버퍼에서 검색, 디렉토리에서 검색 등은 모든 위에서 다룬 검색창을 통해서 작업을 수행하며 "빠른 검색", "빠른 하이퍼 검색", "선택 단어 빠른 검색", "선택 단어 빠른 하이퍼 검색"은 위의 찾기/바꾸기 창을 사용하지 않고 화면 상단의 빠른 검색창을 통해서 간편하게 찾기를 할 수 있도록 기능을 지원합니다. 아래의 그림은 하이퍼 검색을 수행했을 때의 결과창으로 도킹가능한 창이므로 한쪽으로 붙여놓고 사용하셔도 좋습니다.
* jEdit의 정규식
단순 단어 일치 여부가 아니라 조금 복잡한 검색, 예를 들면 Ab로 시작하고 ly로 끝나는 단어를 찾고 싶을 경우에는 일반적인 검색으로는 해결하기 어려운 기능입니다. 이런 경우 적용할 수 있는 것이 정규식(Regular Expressions)입니다. 앞서 언급한 예를 정규식으로 기술하면 Ab[a-zA-Z]+ly 로 이 내용을 찾기 대상에 입력하고 찾기하면 원하는 내용을 찾을 수 있습니다. "Ab[a-zA-Z]+ly"를 간단히 설명하면 Ab로 시작하고 1개 이상의 대소문자로 구성되어 있는 문자열과 ly로 끝나는 단어입니다. 정규식을 찾기 및 바꾸기에 사용할 때는 반드시 정규식 옵션을 켜야 합니다. 이 경우 앞선 예의 []처럼 특별한 의미로 사용하는 연산자들이 있으므로 이런 연산자 몇개를 알아두고 적절하게 사용합니다.
참조 : http://www.jedit.org/users-guide/regexps.html
참조 : http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
다음은 행 및 단어 위치 지정 연산자입니다.
^ : 행의 시작을 의미.
"^국어를" 은 행 시작 위치에 있는 "국어를"를 찾습니다.$ : 행의 끝을 의미.
"습니다$" 는 "습니다"로 끝나는 행을 찾습니다.\B : 단어의 끝이 아님을 의미.
"국어\B"를 찾으면 국어뒤에 조사나 뭔가가 붙어있는 것을 찾습니다.\b : 단어의 끝을 의미.
"국어\b"를 찾으면 "국어"로 끝나는 단어를 찾습니다.
. : 어떤 한 문자
\d : 숫자 하나
\D : 숫자가 아닌 문자 하나로 눈에 보이지 않는 개행문자도 이 범주에 모두 포함 됩니다.
\w : 영숫자 하나
\W : 영숫자가 아닌 나머지 문자중 하나
\n : 개행 문자
\s : White space로 탭, 개행문자, 공백등 눈에 보이지 않는 것들 입니다.
\S : White space가 아닌 나머지 모든 문자 하나.
\xNN : 16진수로 지정하는 문자 코드
\t : 탭 문자
\\ : \문자 자체
[abc] : []안에 지정한 문자들로 이루어진 문자 그룹
[^abc] : [^ ]안에 지정한 문자를 제외한 나머지 문자들로 이루어진 문자 그룹
[a-z][^a-z] : 범위를 지정한 문자그룹으로 -가 문자 사이에 있을때는 범위로 인식하지만 앞이나 뒤에 붙을 경우에는 -문자 자체로 인식합니다.
위의 하나의 문자 또는 문자그룹에 붙어서 N개의 문자로 이루어진 단어나 문장을 찾는데 사용하는 반복 연산자입니다.
* : 널스트링이거나 N회 연속
+ : 1회이상 반복
[\d] 1자리 이상의 숫자 찾기{m} : m회 반복
[0-9]{3} 3자리 숫자 찾기{m,n} : m-n회 반복
[0-9]{2,10} 2-10자리 숫자 찾기{m,} : m회 이상 반복
[0-9]{3,} 3자리 이상의 숫자 찾기
'무료 소프트웨어 > 사용자 도구' 카테고리의 다른 글
jEdit 묶음과 접기 기능 사용하기 (0) | 2015.02.27 |
---|---|
jEdit 추가 편집 기능 사용하기 (0) | 2015.02.26 |
jEdit 클립보드와 선택 기능 활용하기 (0) | 2015.02.25 |
jEdit 단어자동완성과 약어기능 활용하기 (0) | 2015.02.25 |
jEdit 파일 메뉴 팁 (0) | 2015.02.25 |