Emacs에서 블록을 선택하거나 강조 표시하는 방법은 무엇입니까?
마우스를 사용하지 않고 vim의 비주얼 모드처럼 키보드에서 수행하는 이맥스에서 블록을 선택하거나 강조 표시하고 싶습니다. 키보드에서이 작업을 수행하는 가장 쉬운 방법은 무엇입니까?
emacs에서 region-rectangle을 살펴보십시오.
즉, 당신은 평소처럼 선택을 시작 Control- Space다음으로 지역을 죽일 Control- x r k붙여 넣기 (또는 홱 당김 과 블록을 살해) Control- x r y.
질문을 올바르게 이해했다면 원래 직사각형 영역에 관한 것이 아닙니다.
C-Spc
현재 위치에 표시를합니다.
나중에 커서가 어디에 있든 마지막 표시와 현재 위치 사이의 텍스트가 "선택"됩니다 (를 활성화하여 강조 표시 할 수 transient-mark-mode
있지만 강조 표시를 원하지 않을 때 표시를 삭제해야 함을 의미합니다).
다음과 같은 명령을 사용하여 해당 지역에서 작업 할 수 있습니다.
C-w
. . 킬 지역. 이것은 영역을 삭제하고 킬 링에 넣습니다.
C-y
. . 양키. 킬 링의 마지막 스 니펫이 삽입됩니다.
M-y
. . 사이클 킬 링. 직후 C-y
에 이것은 킬 링의 다른 스 니펫으로 늘어난 부분을 대체합니다.
M-w
. . 킬 링에 영역을 저장합니다. 과 유사 C-w
하지만 삭제하지는 않습니다.
이것은 기본적인 사용법입니다. 마크는 다른 용도로도 사용됩니다. 튜토리얼 ( C-h t
)을 추천합니다 .
Emacs 24.4에는 이제 사각형 표시 모드가 있습니다. 그것을 호출 할 Cx 공간.
"직사각형 선택 작업" 문서 , 특히 주석 섹션을 참조하십시오. "CUA 직사각형 지원"이라는 제목 의 CUA 모드 문서 섹션도 참조하십시오 . vimeo에 멋진 비디오 도 있습니다 .
C-SPC
포인트가있는 곳에서 무언가를 표시하는 일반적인 방법 이지만 , 시작 / 종료 포인트로 명시 적으로 이동하지 않는 더 빠르고 쉬운 방법이 있습니다.
내장 된 선택 단축키
M-h
— 단락 을 표시 하는 중요한 수단 . "문단"은 종종 코드 블록을 의미합니다.C-M-h
및C-M-@
- 각각 sexps 및 defuns 를 표시 합니다. 이것은 lisps뿐만 아니라 여러 언어에서 작동합니다.Shift 누르기 — 이동 중에 강조하는 또 다른 매끄러운 방법입니다. 예를 들어
M-S-f
전체 단어를 앞으로 선택합니다. 이것은이며shift-select-mode
Emacs 24+에서 기본적으로 활성화되어 있습니다. 치 클릿이 아닌 일부 키보드에서는C-S-
새끼 손가락 하나로 길게 누를 수 있어야합니다 .
이 중 하나를 반복해서 눌러 선택 영역을 늘릴 수 있습니다.
(참고 : C-g
실험 중 표시를 취소 하려면 자주 사용하십시오 .)
부가 기능
지역 및 사물 선택을 개선 하는 몇 가지 추가 패키지 가 있습니다. 이들은 모두 잘 어울리고 서로 다른 사용 사례에 적합합니다. 모두 사용하세요!
Expand-Region : 영역 확장은 선택된 영역을 의미 단위로 증가시킵니다. 원하는 것을 선택할 때까지 키를 계속 누르십시오.
C-=
권장되는 바인딩입니다. 필요한 것을 얻으려면 몇 번 누르십시오.Easy-Kill :
M-w
및 니모닉을사용하여 단어, 성별, 목록 등과 같은 다양한 유형을 선택합니다.Zop-to-Char : zap-to-char 와 비슷하지만 멋진 선택 및 기타 메뉴 기반 작업을 제공합니다.
diff-hl : 커밋되지 않은 변경된 영역을 강조 표시합니다.
diff-hl-mark-hunk
덩어리를 선택 / 표시하는 데사용합니다.
사용 Control- Space마크를 설정하고 커서를 이동합니다.
transient-mark-mode
의지는 당신을 위해 선택을 강조 표시합니다. M- x transient-mark-mode
.
사용자 정의를 사용하여 기본적으로이 모드를 활성화하도록 Emacs를 설정할 수 있습니다. M- x customize-option
RET transient-mark-mode
.
... 우분투를 사용하고 있고 C-spc작동하지 않는 경우 : 다음과 같이 IBus "다음 입력 방법"키 바인딩을 지워야합니다.
ibus-setup
"다음 입력 방법"에 대한 키 바인딩을 실행 하고 다른 것으로 변경합니다 (또는 "..."버튼을 클릭 한 다음 "삭제"버튼을 클릭하여 완전히 삭제).
SO 질문에 대한 답변 에서 인용 한 내용입니다 .
Edin Salkovic의 답변을 확장하려면 CUA 모드를 사용하는 경우을 사용하여 시각적 블록 선택을 시작할 수 있습니다. CUA 문서에 설명 된 블록 선택을 제어하는 바로 가기가 많이 있습니다 .
Emacs 25를 사용하면 C- Space를 누른 다음 관심있는 텍스트 영역을 강조 표시하거나 선택하려는 위치로 커서를 이동합니다. 그 후에 다음 명령이 필요할 수 있습니다.
- C- w절단 용.
- M- w복사 용.
- C- y붙여 넣기.
참고 URL : https://stackoverflow.com/questions/657672/how-to-select-or-highlight-a-block-in-emacs
'Programing' 카테고리의 다른 글
Android Studio : 새로 생성 된 디렉터리가 폴더보기에 나타나지 않음 (0) | 2020.10.16 |
---|---|
오버플로 정렬 단계 버퍼링 된 데이터 사용량이 내부 제한을 초과 함 (0) | 2020.10.16 |
MySQL에서 인덱스 이름을 어떻게 바꾸나요? (0) | 2020.10.16 |
ComboBoxItem의 내용에 앰퍼샌드 (&)를 포함하는 방법 (0) | 2020.10.16 |
LINQ의 표준 편차 (0) | 2020.10.16 |