jEdit는 블록 편집을 지원하지만 Emacs와 Vim은 동일한 주제에 대해 심각한 사용성 문제가 있는 것 같습니다. 누군가 여기에 알려지지 않은 내용을 채울 수 있다면 두 편집기 중 하나를 사용하는 것이 더 견딜 수 있을 것입니다.
- 실제 직사각형 선택: 어디를 선택할 것인가화면에Emacs가 제한하는 계산 영역의 선형 선택이 아닌 직사각형입니다.
- jEdit: 누르고 Ctrl선택합니다.
- Vim: 클릭 Ctrl-v하고 선택하세요.
- 이맥스:알려지지 않은;400줄이 넘는 것 같습니다끼워 넣다필요한.
- 실시간 직사각형 편집: 결과가 어떻게 나올지 볼까요?모두블록을 선택한 후 편집할 때의 라인입니다.
- jEdit: 입력을 시작하면 최종 결과가 표시됩니다.
- Vim: 클릭해서 Shift-i들어가세요. 를 눌러 삽입 모드를 종료할 때까지 최종 결과만 첫 번째 줄에 표시됩니다 Esc.알려지지 않은한 번에 모든 행의 결과를 볼 수 있는 방법이 있습니까?
- 이맥스:알려지지 않은; 유일한 방법은 C-x r t누를 때 텍스트가 채워지도록 설정하는 것 입니다 Ret.
- 텍스트 외부에서 선택 시작 및 종료: 예를 들어, 각 줄의 처음 N자를 제거하고 싶지만 첫 번째와 마지막 줄에 N개 미만의 문자가 포함되어 있습니다.
- jEdit: 문제 없습니다. 블록 선택은 텍스트 외부에서 시작할 수 있습니다.
- 윔:
:set virtualedit=block
. - 이맥스:어쩌면 가능할지도 몰라그리고
artist-mode
그리고/또는picture-mode
.
- 인라인 붙여넣기 블록:복사한 블록을 여러 줄을 붙여넣는 것처럼 붙여넣습니다. 예: 이미 존재하는 텍스트를 밀어넣습니다.아래에, 아니요.
- jEdit: 기본값입니다. 블록을 블록으로 붙여넣으려면 먼저 다른 블록을 선택해야 합니다.
- 윔:OEscVp.
- 이맥스:알려지지 않은.
일반적인 Emacs 블록 선택 기능은 다음에서 찾을 수 있습니다.cua-mode
끼워 넣다.
답변1
Vim에는 답변할 수 있지만 Emacs에는 답변할 수 없습니다.
텍스트 외부 선택 시작 및 끝:
:set virtualedit=block
원하는 동작이 가능해집니다. 원한다면 초기 콜론을 제거하고 .vimrc에 추가할 수 있습니다. 자세한 내용은 :help 'virtualedit'
Vim 내에서 확인하세요.
인라인 붙여넣기 블록:
명령 모드에서 클릭 만 하면 pVim은 블록을 삽입하고 각 줄의 오른쪽으로 문자를 밀어넣습니다. 다른 블록을 선택하고 을 클릭하면 pVim은 해당 블록을 붙여넣은 블록으로 대체합니다.
명령 모드 키 시퀀스를 사용하여 블록을 "한 줄씩" 붙여넣을 수 있습니다 OEscVp. 현재 행 위에 행을 삽입하고( O Esc
) 행별로 선택한 V
다음( ) 위에 붙여넣습니다( p
). 예를 들어 yp매핑을 사용하여 이를 단축할 수 있습니다. 문자 그대로 입력 하고 Esc 키를 누르는 대신 :nmap yp O<Esc>Vp
5번의 키 입력을 사용하십시오 .<Esc>
답변2
예를 들어, 각 줄의 처음 N자를 제거하고 싶지만 첫 번째와 마지막 줄에 N개 미만의 문자가 포함되어 있습니다.
Emacs: 첫 번째 줄부터 선택을 시작하고 누락된 문자 수(예: 공백)를 마지막 줄에 추가하고 kill-사각형을 사용합니다.
또는 줄 길이에 관계없이 창 내에서 자유롭게 이동할 수 있는 artist-mode
또는를 참조하세요.picture-mode
인라인 붙여넣기 블록
Emacs: 먼저 블록을 kill-사각형으로 저장하거나 레지스터에 저장한 다음 삽입 지점으로 이동하여 삭제 직사각형을 사용한 다음 저장된 직사각형을 삽입합니다.
400줄 이상의 플러그인이 필요한 것 같습니다.
Emacs라면 왜 문제가 있는 걸까요? 플러그인을 컴파일할 수 있는데, emacs의 아이디어는 모든 것을 코어에 넣는 것이 아니라 플러그인을 사용하여 편집기를 확장하는 것입니다.
답변3
답변4
vim에서 처음 n자를 삭제하는 일반적인 방법은 다음과 같은 작업을 수행하는 것입니다 :%s/.\{0,6\}//
.
%
전체 문서가 완성됩니다. 선택한 항목이나 관심 있는 실제 줄로 바꿀 수 있습니다. 이 s
명령은 "교체"하는 데 사용됩니다. 정규식은 사용자가 제공한 내용으로 대체되며 특정 옵션을 추가하지 않는 한 각 줄은 한 번만 일치합니다. 구분 기호 입니다 /
. 임의의 문자일 수 있지만 일반적으로 다른 문자를 사용하는 것이 더 유리하지 않는 한 사용됩니다(따라서 명령의 나머지 부분에서 이스케이프할 /
필요가 없습니다 ). /
첫 번째 구분 기호 뒤의 인수는 선택 항목에서 일치하는 문자열을 찾는 데 사용되는 정규식입니다. 두 번째 구분 기호 뒤의 인수는 일치 항목으로 대체됩니다.
따라서 이 명령은 모든 문자의 인스턴스를 0~6개 찾아 아무것도 없는 것으로 바꾸는 것을 의미합니다.