현재 줄이 비어 있는지 확인하고 싶습니다 (공백 만 포함 된 경우 여전히 비어 있음).
내 초기 버전은 다음과 같습니다.
(defun strip-text-properties(txt)
(set-text-properties 0 (length txt) nil txt)
txt)
(defun is-current-line-empty ()
(interactive)
(setq c-line (thing-at-point 'line))
(string-match "^\s*$" (strip-text-properties c-line)))
현재 줄이 비어 있는지 확인하는 가장 쉬운 방법은 무엇입니까?
일반적인 의견으로, elisp는 문자열로 작업하는 것과는 반대로 (다른 언어에서와 같이) 버퍼에 대한 작업 측면에서 생각하기 시작하면 더 의미 가 있습니다 . 일부 테스트를 수행하기 위해 문자열을 분리하고 추출하는 것은 (a) 비효율적이며 (b) 귀하의 처분에 따른 도구 수를 크게 줄입니다. Elisp는 버퍼의 내용을 직접 처리하는 데 정말 능숙 합니다.
—
phils
@YoungFrog, 또한
—
Kaushal Modi
\\s-
대신 해야합니다 \\s
. 해당 하이픈은 elisp regexp에 필요합니다.
\s
은 writing 과 같습니다s
. 아마도 당신은 의미했다"^\\s*$"
.