2013-03-10 1 views
2

2 행 모드에서 emacs를 사용하여 기본적으로 한 줄에 키워드를 추가하여 일부 메모를 "가장자리 코드"합니다. 텍스트 파일을 메모가있는 파일로 엽니 다. 나는 열 72로 탭하고 '|'; 나는 오른쪽에 표시를하고 두 개의 열로 나누기 위해 'C-x 6 s'라고 표시했습니다. 그런 다음 'C-x o'를 눌러 2C 버퍼를 얻습니다.emacs에서 두 번째 열을 채우는 방법 두 번째 열 모드에서 첫 번째 열의 길이를 줄 바꿈?

그러나이 새로운 2C 버퍼는 단 한 줄로되어있어 텍스트와 줄 바꿈을 입력 한 곳을 벗어나 스크롤 할 수 없도록합니다.

첫 번째 열 (원본 텍스트 파일) 버퍼의 각 줄에 하나의 줄 바꿈으로이 2C 버퍼를 자동으로 채우면 한 번에 두 버퍼를 모두 스크롤 할 수 있습니까?

+0

키보드 매크로를 정의하는 것이 좋습니다. –

+0

그건 의미가 있지만, 첫 번째 버퍼의 길이는 매번 다릅니다. 커서 이동, 삽입, 2C 분할 및 기타 창을 수행하는 함수를 만들 것 같지만 원래 버퍼의 줄 길이를 얻는 방법이 명확하지 않습니다 (분할 된 것) . – user2008778

+0

분명히 내 newb-ness 넘어. 2C 분할 후 활성 창은 텍스트가있는 원본 버퍼이므로'(setq first-buffer-lines (행 번호 -Apos-pos (point-max)))'사용했습니다. – user2008778

답변

1

다음은 내가 작성한 기능입니다. 어떤 이유로 함수 내에서 2C-split을 호출하면 오류가 발생하므로 2C-set-separator, 2C-split 및 2C-insert-newlines를 실행하는 키보드 매크로를 만들었습니다.

(defun 2C-set-separator() 
     "Insert a separator at column 72." 
     (interactive) 
     (move-to-column '72 t) 
     (insert "|") 
) 

(defun 2C-insert-newlines() 
    "Inserts newlines in the 2C buffer." 
    (interactive) 
    (setq first-buffer-lines (line-number-at-pos (point-max))) 
    (other-window 1) 
    (while (< (line-number-at-pos) first-buffer-lines) 
    (insert "\n") 
    (forward-line)) 
(beginning-of-buffer) 
)