첫 번째 간단한 Emacs 명령
11028 단어 emacs-lispEmacs
너 누구야
Emacs에서
패키지란 무엇
명령은 어렵지 않습니다.
@tadsan 그렇게 복잡하지는 않지만 기본 기능을 간단하게 결합한 경우가 많습니다
먼저 기억하는 것
조금 떠나는 Lisp
;
는 행 코멘트;; たしざん
(+ 1 2 3) ;=> 6
;; かけざん
(* 1 2 3) ;=> 6
비교
다른 언어의
true
는 t
, false
는 nil
입니다.(익숙해질 수밖에 없는 용어)
(> 1 2) ;=> nil
(equal 1 2) ;=> nil
(< 1 2) ;=> t
(equal 1 1) ;=> t
비교 함수 여러가지 있지만
equal
에서 ok.임시 변수는 let*
(let* ((name "ミク"))
(message "こんにちは、%s" name))
let
하지만 좋지만, 기본은 let*
를 사용해 두는 것이 혼란하지 않습니다.임시 변수는 let*
(let* ((name "ミク")
(hour (string-to-int (format-time-string "%H"))))
(message "こんにちは、%s。今は%d時です。" name hour))
물론 복수의 변수도 만들 수 있고, 식도 쓸 수 있습니다.
setq로 변수 덮어쓰기
(let* ((name "ミク")
(hour (string-to-int (format-time-string "%H"))))
(if (>= hour 12)
(setq name "リン"))
(message "こんにちは、%s。今は%d時です。" name hour))
이 경우에는 이렇게 쓰는 것이 좋습니다.
(let* ((hour (string-to-int (format-time-string "%H")))
(name (if (>= hour 12)
"リン"
"ミク")))
(message "こんにちは、%s。今は%d時です。" name hour)
들여쓰기는 Emacs에 의존한다
키보드의 TAB 버튼을 누르면 좋은 느낌으로 정렬해줍니다. No 자기유동 들여쓰기🙅🏻
기억하면 좋은 함수
format
C 언어라든지
sprintf
같은 느낌으로 문자열을 포맷합니다.(format "%s, %s" "こんにちは" name)
message
비슷한 느낌이지만 메시지를 표시하고 싶을 때 사용합니다.
(message "%s, %s" "こんにちは" name)
kill-new
킬링에 넣는다(요점은 클립보드에 코피페)
(kill-new "こんにちは!")
insert
현재 편집중인 버퍼에 문자열 입력
(insert "こんにちは!")
함수로 해보자.
먼저 설정
init.el
(show-paren-mode 1)
(add-hook 'emacs-lisp-mode-hook 'turn-on-eldoc-mode)
↑ 이런 설정을 해 두면 좋다
실수로 init.el에 씁니다.
명령은 단지 함수
(defun my/insert-datetime ()
"現在のdatetimeを挿入する"
(interactive)
(insert
(format-time-string "%Y-%m-%d %T")))
알아두면 좋은 함수·변수
buffer-file-name
파일 이름이 들어 있는 변수
(defun my/copy-file-name ()
"いまのファイル名をコピペする"
(if buffer-file-name
(kill-new buffer-file-name)
(user-error "ファイルが開かれてないよ")))
default-directory
현재 디렉토리
(defun my/find-file-temporary-file-directory (filename)
"`temporary-file-directory'."
(interactive
(list (read-file-name "Find files: " temporary-file-directory)))
(find-file filename))
(locate-dominating-file)
디렉토리 파일
(locate-dominating-file (f-dirname buffer-file-name) ".idea")
(read-file-name)
파일 이름을 읽는 함수
(defun my/find-file-temporary-file-directory (filename)
"`temporary-file-directory'."
(interactive
(list (read-file-name "Find files: " temporary-file-directory)))
(find-file filename))
Reference
이 문제에 관하여(첫 번째 간단한 Emacs 명령), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tadsan/items/53369d3073d77b697ba4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)