Emacs의 행 번호 표시에 모야 모야 한 이야기

3706 단어 Emacs

linum에서 display-line-numbers로 마이그레이션



지금까지 Emacs로 행 번호를 표시한다고 하면 linum이 일반적이었지만, ver.26부터는 display-line-numbers-mode를 사용할 수 있게 된 것 같다 1 linum보다 빠릅니다. 조속히 도입해 본다.
;; display line numbers
(if (version<= "26.0.50" emacs-version)
    (progn
      (global-display-line-numbers-mode)
      ;; テーマはdeeper-blueを使用している。これに合わせた色を選んだつもり
      (set-face-attribute 'line-number nil
                          :foreground "DarkOliveGreen"
                          :background "#131521")
      (set-face-attribute 'line-number-current-line nil
                          :foreground "gold")))

마지막 줄 어떻게 되는지 모르는 문제



그래서, 외형은 이런 느낌이 된다.

뭐 나쁘지 않지만, 최종행(이미지로 말하면 5행째)에 개행이 있을지 없는지, 구분이 붙지 않는 것이 신경이 쓰인다 2 즉, 공행이 있거나 없어도 동일한 표시이며, 커서를 종단까지 이동시키지 않으면 빈 행의 유무를 모른다. 형식에 따라 마지막 줄을 빈 줄로 만드는 것이 좋습니다 (예 : YAML). 다른 에디터(예를 들어 PyCharm)에서는, 공행에도 행 번호가 흔들리고 있기 때문에 알기 쉽다.

타협안



여러가지 조사해 보았지만 만족스러운 솔루션을 찾을 수 없었다. 버퍼의 끝에 [EOB] 와 같은 기호를 표시시키거나, whitespace-mode로 행말을 표시시키는, 같은 방법은 있을 것 같지만, 하고 싶은 것에 대해서 수고를 걸고 있다고 생각한다. 현재 채용하고 있는 것은 다음의 설정.
(setq-default indicate-empty-lines t)
(setq-default indicate-buffer-boundaries 'left)

프린지(프레임의 좌단에 있는 영역을 이렇게 부른다)에 공행이나 버퍼의 종단을 표시할 수 있다. 다음과 같이 표시됩니다.
3
이것은 다섯 번째 줄에 줄 바꿈이있을 때.


이쪽은 없을 때. 열쇠 괄호 같은 마크가 점선(공행을 나타내는)과 연결되어 있지 않기 때문에 이상과 눈치가 쉽다.



참고: ¦ emacs 26에 들어간 display-line-numbers 사용

display-line-numbers-mode만의 이야기는 아니고, linum에서도 마찬가지이다. Emacs의 기초 부분에 관여하여 쉽게 수정할 수 없는 것일지도.

보존시에 경고시키거나 다른 솔루션이 있다는 것에 집필 시점에서 깨달았다.

좋은 웹페이지 즐겨찾기