줄 끝을 넘어 사각형에 작용하는 방법?


16

Vim의 문서에 대한 내용은 다음과 같습니다.

가상 편집은 실제 문자가없는 곳에 커서를 놓을 수 있음을 의미합니다. 이것은 탭의 절반이나 줄 끝을 넘어서있을 수 있습니다. 비주얼 모드에서 사각형을 선택하고 테이블을 편집하는 데 유용합니다.

이 모드를 마이너 모드 또는 내장 설정으로 구현하는 것이 바람직합니다.


사각형을 선택할 때이 기능을 원하십니까? 이 경우 현재 개발 버전의 기본값입니다.
Malabarba

아니요, 사각형을 잡아 당기거나 바꾸는 것과 같습니다. 나는 사각형 표시 모드를 사용하고 좋은 기능이지만 내가 찾고있는 것이 아닙니다.
nanny

실제로, 사각형을 얀킹 / 바꾸기하는 경우 사각형 표시 모드의 기존 기능과 자연스럽게 어울립니다. UI가 무엇인지 잘 모르겠습니다.
Stefan

답장을 보내 주셔서 감사합니다, 스테판 이 기능은 사각형을 다룰 때 가장 유용하므로 사각형 표시 모드에서 명령이 가상 편집 유형의 모드를 토글 할 수 있습니다. 현재 사각형 표시 모드에서 점은 가상 편집 모드에있는 것처럼 보입니다 C-f. 으로 줄 끝을지나 이동할 수 있습니다 . 그러나이 작업을 수행 한 후 사각형을 잡아 당기면 사각형 대신 점이 표시에 나타납니다. 그 시점에 나타나면이 문제를 해결할 것입니다.
nanny

답변:


10

패키지 의 extend-rectangle-to-end기능은 rectangle-utils원하는 것입니다. 에 melpa있습니다.

영역에서 가장 긴 선을 포함하도록 현재 사각형 선택을 확장 할 수 있도록 공백을 삽입합니다.

이 동작을 얻으려면 init.el에 있습니다. C-x r e바닐라 이맥스의 다른 것에 묶이지 않습니다

(require 'rectangle-utils)
(global-set-key (kbd "C-x r e") 'extend-rectangle-to-end)

1
명확히하기 위해이 패키지를 사용하여 지역을 선택한 다음 수행 M-x extend-rectangle-to-end한 다음 C-x r M-w또는 을 선택합니다 C-x r k.
Kaushal Modi

18

또 다른 대답은 use M-x picture-mode입니다. 탭 문자 등을 통해 사각형을 죽이거나 복사하거나 레지스터 등으로 보낼 수 있습니다.


3
이 방법을 사용하면 사각형 선택의 폭을 정확히 제어 할 수 있다는 장점이 있습니다. 30 자의 1 줄과 5 자의 2 줄이있는 경우 너비를 15 자, 높이는 2 줄로 사각형을 선택할 수 있습니다. extend-rectangle-to-end사각형 선택은 항상 30x2이므로 그렇게 할 수 없습니다 .
Kaushal Modi

1
picture-mode오래되고 거의 알려지지 않았습니다. 잘 알려지지 않은 다른 기능들 중에는 종료 ( C-c C-c)가 후행 공백을 제거합니다.
Drew

1
훌륭합니다, 드류! 질문 : "포장 된" 조언 을 하지 않는 이유 rectangle-minor-modepicture-mode있습니까? (의 소스에 후크가 표시되지 않으므로 조언 rectangle-minor-mode).
rasmus

1
여기 내 조언이 있습니다, btw. 여기에는 불필요하기 때문에 공백을 제거하지 않습니다.(defun rectangle-mark-mode-wrapped-in-picture-mode (orig-fun &rest args) (if rectangle-mark-mode (picture-mode) (and (eq major-mode 'picture-mode) (picture-mode-exit t)))) (advice-add 'rectangle-mark-mode :around #'rectangle-mark-mode-wrapped-in-picture-mode)
rasmus
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.