Emacs 구성: 단축키를 사용하여 코드 포맷하기
3318 단어 소프트웨어
전언
모두가 알다시피,emacs는 매우 자유롭고, 많은 설정을 추가할 수 있다.
프로그래머로서 자신의 코드를 엉망진창으로 축소시키려 하지 않을 것이다. 그러나 때때로 몇 개의tab을 두드리는 것은 매우 짜증스럽다. 그러면 Emacs를 설정해서 우리가 단축키로 코드를 자동으로 포맷할 수 있도록 할 수 있을까?
물론
준비 작업
Astyle 소개
Emacs 자체의 코드 축소 기능이 이상적이지 않기 때문에 우리는 제3자의 Astyle을 빌려 코드를 포맷한다.
Astyle은 소스 오픈 프로그램입니다.
astyle
를 사용하여 코드를 포맷할 수 있습니다.또한 Atyle에는
--style=
, 구체적인 도움말 옵션 사용astyle -h
등 다양한 옵션이 있습니다.의 원리
Lisp 함수를 사용하여 현재 편집 중인 파일의 이름을 가져옵니다.Astyle 포맷 코드를 호출합니다.
코드 구현
(let ((style "google"))
(setq format-command (format "astyle --style=%s" style)))
(global-auto-revert-mode t)
(defun format-code ()
"Format current buffer"
(interactive)
(let ((file (buffer-file-name)))
(save-excursion
(shell-command-to-string (format "%s %s" format-command file))
(message "Code formatted"))))
(global-set-key "\C-f" 'format-code)
(provide 'init-astyle)
코드 해석
format-command
에는 Astyle 옵션이 포함됩니다.(global-auto-revert-mode t)
모드는 Emacs로 하여금 디스크 파일이 바뀐 후에 캐시 영역을 자동으로 업데이트하게 할 수 있다. 그렇지 않으면 수정할 것인지 물어볼 수도 있어 비교적 번거롭다.format-code
는 포맷 함수입니다. (interactive)
옵션은 함수를 버튼에 연결시키기 위해 (buffer-file-name)
현재 캐시에서 편집한 파일의 파일 이름을 되돌려주고 shell-command-to-string
함수는 셸 명령을 실행할 수 있습니다.(global-set-key)
바인딩 키에 사용됩니다.성명
인용 전재에 반대하지 않지만 출처를 밝혀 주십시오.코드는 자신의emacs 설정으로 복사할 수 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
XXX 플랫폼 전체 아키텍처 설계 어플리케이션 배포미디어 기구 플랫폼 소프트웨어 목록 이름 버전 서버 JDK 1.8.0_육십 transaction-server/trade-server/transaction-app/memberapp/designapp-WebAPI/des...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.