때로는 emacs에서 텍스트를 조정하는 데 사용합니다 C-u 70 M-x fill-region
.
..emacs
C-u 70 fill-region
저는 emacs 프로그래밍이 처음이지만 한동안 emacs를 사용해 왔습니다. 해결책이 있다면 어떻게 하는지 설명해 주실 수 있나요?
답변1
함수 앞에 접두사를 붙이면 C-h f
해당 문서를 읽을 수 있습니다. 이렇게 하면 fill-region
무엇보다도 다음이 표시됩니다.
The `fill-column' variable controls the width.
확인해보면Fill 명령에 관한 Emacs 매뉴얼당신은 읽을 수있다:
채우기의 최대 선 너비는 버퍼 로컬 변수에 의해 지정됩니다
fill-column
. 기본값(참조 현지인)은 70이다. 현재 버퍼에 설정하는 가장 쉬운 방법은fill-column
명령C-x f
(set-fill-column
)을 사용하는 것입니다. 숫자 매개변수의 경우 이를 새 채우기 열로 사용합니다. 매개변수와 마찬가지로 점의 현재 수평 위치로C-u
설정됩니다 .fill-column
이것이 어떻게 C-u 70 M-x fill-region
작동하는지 설명합니다. 또한 패딩 너비를 설정하여 설정할 수 있음을 보여줍니다 C-x f
. 따라서 인수가 필요한 함수를 작성할 필요가 없을 수도 있습니다. 즉, 대신 C-x f
and를 사용할 수 있습니다 fill-region
.
여전히 이 작업을 수행하는 새 함수를 원하는 경우 다음을 사용할 수 있습니다.
(defun fill-region-ask-width (fill-width)
"Asks for a width and fills the region to it"
(interactive "nFill region to column: ")
(fill-region-width fill-width))
(defun fill-region-width-70 ()
"Fills the region with width 70"
(interactive)
(fill-region-width 70))
(defun fill-region-width (fill-width)
"Fills the region with the given width"
(set-fill-column fill-width)
(fill-region (region-beginning) (region-end)))
이러한 기능은 다음과 같이 설명됩니다.독스트링그러나 여기에 몇 가지 주의사항이 있습니다.
fill-region-ask-width
사용자에게 요청하여 얻은 매개변수를 받아들이고 그 숫자를 정수(n
)로 처리하여 에 전달합니다fill-region-prompt-width
.fill-region-width-70
에 하드코드된 숫자가 전달되었습니다fill-region-prompt-width
.fill-region-width
다른 두 함수의 공통점을 모듈화하는 데 사용되는 도우미 함수입니다. 대화형으로 정의되지 않았으므로 호출할 수 없습니다M-x
.fill-column
주어진 매개변수를 설정 하고 영역을 채웁니다.
Emacs 함수를 작성하고 이를 키에 바인딩하는 방법을 알아보려면 다음을 참조하세요.Emacs용 Elisp 배우기: 4-2과 - Emacs에 사용자 정의 함수 추가.