답변:
내가 생각할 수있는 두 가지 경우가 있습니다 : 영역을 재 활성화하고 영역의 크기를 조정합니다.
필자는 종종이 바인딩을 사용하여 영역을 비활성화하는 명령을 수행하거나 영역을 활성화하지 않고 표시 및 이동 점을 설정하는 작업을 수행 한 후 영역을 다시 활성화합니다.
예를 들어 Cs를 수행하고 무언가를 검색하십시오. RET을 눌러 검색을 종료 한 다음 Cx Cx를 눌러 검색을 시작한 곳의 모든 항목을 표시하십시오.
StackExchange 답변에 샘플 elisp를 포함시키고 싶을 때 많이하는 또 다른 예 :
다른 경우는 영역을 표시하고 확장 / 축소하려는 경우입니다. 이 경우 해당 지역의 "다른 쪽 끝"으로 이동하여 이동 한 다음 뒤로 이동하는 것이 편리합니다. 영역이 이미 활성화 된 경우 Cx Cx를 누르면 활성 상태로 유지되어 양쪽 끝을 이동할 수 있습니다.
: 이맥스 질문 C-h r i exchange-point-and-mark RET
, 더 나은, 또는 C-h r i C-x C-x RET
. 아래 표시된 정보로 이동합니다.
이것은 Emacs 매뉴얼의 노드 설정 마크 가 귀하의 질문에 대한 답변으로 말한 것입니다.
C-x C-x
포인트 위치에 만족하지만 영역의 다른 쪽 끝 (마크가있는 곳)을 이동 하려는 경우에 유용합니다 .C-x C-x
필요한 경우 두 번째 시간을 사용 하면 새 위치에 마크를 놓고 원래 위치로 포인트를 되돌립니다. 일반적으로 마크가 비활성 상태 인 경우이 명령은 먼저 마지막으로 설정된 위치에서 마크를 다시 활성화하여 영역이 강조 표시되도록합니다. 그러나 접두사 인수와 함께 호출하면 마크가 비활성화되고 영역이 강조 표시되지 않습니다. 이것을 사용 하여와 비슷한 방식으로 마크로 이동할 수 있습니다C-u C-<SPC>
.
그리고 이것이 Disabled Transient Mark 노드에서 그것에 대해 말합니다 :
[
transient-mark-mode
]를 끄면 Emacs가 대체 작동 모드로 전환됩니다.
C-<SPC>
또는 과 같은 명령으로 마크를C-x C-x
설정해도 영역이 강조 표시되지 않습니다. 따라서 마크의 위치를 확인하면 알 수 없습니다. 당신은 기억해야합니다.이 문제에 대한 일반적인 해결책은 마크를 설정 한 다음 위치를 잊기 전에 빨리 사용하는 것입니다. 당신은 또한 수 있습니다 마크를 사용하는 것입니다 경우 확인
C-x C-x
을 참조하십시오 -하는 교환 점과 마크의 위치를 마크를 설정 .과도 마크 모드가 꺼져있는 동안
C-<SPC> C-<SPC>
또는을 사용하여 일시적으로 활성화 할 수 있습니다C-u C-x C-x
.
과:
C-u C-x C-x
교환 점과 마크는 마크가 다음에 비활성화 될 때까지 일시적으로 마크를 활성화하고 일시적 마크 모드를 활성화합니다. (이것은 접두사 인수를 가진C-x C-x
명령exchange-point-and-mark
입니다.)
다른 답변은 C-x C-x
언제 transient-mark-mode
활성화 되어 있는지의 유용성에 중점을 둡니다 . 그러나 C-x C-x
이전 버전 transient-mark-mode
이며 독립적으로 유용합니다.
의 주요 역할은 C-x C-x
포인트와 마크를 바꾸는 것입니다. 단일 버퍼에서 두 점을 편집 할 때 어떤 이유로 든 현재 창을 분할하지 않으려는 경우에 유용합니다. 일부 편집, 마크 설정, 버퍼의 다른 지점으로 이동, 일부 편집, C-x C-x
이전 위치에서 C-x C-x
일부 편집, 일부 편집, 광고 구역질을 수행하십시오. (두 번째 지점으로 돌아갈 계획 C-u C-SPC
이 없다면 더 직관적 일 수 있습니다. Emacs 매뉴얼에서 마크 링 을 찾으십시오 .)
때 transient-mark-mode
비활성화되어 C-x C-x
또 다른 중요한 목적을 가지고 : 그것은이 지역이 어디 있는지 알 수 있습니다. C-x C-x
, C-x C-x
다시 한 번 엿볼 수 있습니다.
(혹시 궁금한 점이 있으시면 저희 중 일부는 여전히 Emacs를 transient-mark-mode
비활성화 된 상태 로 사용하는 것을 선호합니다 .)