2014-03-27 5 views
3

나는 다른 곳의 텍스트를 붙여 넣었을 때 fi 대신에 많은 합자가 생겼다는 것을 알지 못하는 채로 나는 이맥스에서 타이핑 한 컴파일 된 LaTeX 문서에서 오타를 한꺼번에 발견했다. fi의. 이 특정 인스턴스를 수정하기 위해 검색 및 바꾸기를 수행했지만 더 이상 존재하지 않는다고 확신하는 것이 좋을 것입니다. 그런 수정을 찾기 위해 제가 이맥에서 할 수있는 더 많은 것이 있습니까?[^CJSPC가-~]emacs가 특별한 합자를 찾는다

검색 즉

의 CM : 전체 문서가 ASCII에있는 것으로 예상되는 경우

답변

4

, 당신은 그 범위 밖의 아무것도에 대한 정규 표현식 검색을 사용할 수 있습니다 개행 문자 (문자 코드 10)도 아니고 스페이스 (32) 또는 물결표 (126) 사이의 것도 아닙니다. 합자는이 범위를 벗어납니다.

+0

감사합니다, 트릭을 않습니다. –

2

나는 당신이 무엇을 요구 진짜 모르겠어요,하지만 당신은 자신의 유니 코드 문자 이름의 일부로 LIGATURE이 (또는 query-replace 또는 replace-string) 합자있는 모든 유니 코드 문자, 즉하기 쉽 isearch 기능을 할 수 있습니다. 그러나 각각을 개별적으로 검색해야합니다 (실제로는 그렇지 않지만 가장 쉬운 방법입니다).

특정 합자를 검색하려면 Isearch 중에 C-x 8 RET을 사용한 다음 문자 이름의 일부를 입력하고 입력하십시오. 이 그것을 를 들어

정말 적어도 당신이 문자열 또는 다른 정규 표현식을 완료 할 수 있습니다 다른 완료 향상을 Icicles를 사용하는 데 도움이, 또는.

고드름 또한 progressive completion입니다. 즉, 일치하는 부분 문자열 (일반적으로 정규 표현식)을 여러 개 제공 할 수 있습니다. 누구의 유니 코드 문자 이름 합자를 검색 할 수 예를 들어

가있다 LATIN SMALL LIGATURE FF 다음을 수행 할 수 있습니다 : 유니 코드 문자의 이름을 입력하라는 메시지가 나타납니다

C-s C-x 8 RET 

합니다. ligature S-SPC을 입력하면 누구나 이름에 ligature (대소 문자는 구분하지 않음)이 포함됩니다. 그런 다음 latin S-SPC을 입력하여 라틴어 합자로 좁 힙니다. 그런 다음 small S-SPC을 입력하여 소문자 합자만으로 범위를 좁 힙니다. 그런 다음 ffi을 입력하여 원하는 것을 얻으십시오.

C-s C-x 8 RET ligature S-SPC latin S-SPC small S-SPC ffi RET 

여러 패턴을 제공하는 순서는 부적합합니다. 물론 여러 패턴을 사용하려면 이 필요하지 않습니다. 당신은 쉽게 하나의 정규 표현식으로 그것을 할 수 :

C-x C-x 8 RET latin.*small.*ligature.*ffi RET 

당신이 C-s C-x 8 RET ligature S-TAB (또는 대신 S-TABS-SPC)를 사용하는 경우, 당신은 합자 모든 문자 (그 중 517가)를 참조하십시오. C-s C-x 8 RET small.*ligature S-TAB을 사용하면 모든 소문자 합자 (아랍어, 아르메니아어, 키릴 문자, 히브리어 및 라틴어를 포함하여 22 개)가 표시됩니다.

아, 고드름 버퍼 *Completions*의 문자 이름뿐 아니라 이름 옆에 문자 자체 (WYSIWYG)가 표시됩니다.

는 (들어 query-replace 등 절차는 isearch 기능과 동일합니다.)

+0

내가 실제로 알고있는 작은 이맥을 생각 나게하는 것은 이것과 같은 대답이다. 매우 유익한 감사합니다! –