반응형 이맥스34 파일 읽어서 내용 수정하고 저장하기 (Emacs Lisp) Emacs Lisp을 이용해 특정 파일 내용을 읽어서 여기에 몇 가지 내용을 추가한 후 다른 파일로 저장하는 코드입니다.(with-temp-buffer (insert-file-contents "/foo/bar/file.md") (goto-char (point-min)) (insert "# New Header") (search-forward "Status: ") (insert "TODO") (goto-char (point-max)) (insert "# Footer") (write-file "/foo/bar/file-updated.md"))추가로 아래와 같은 함수를 참고할 수 있습니다.(erase-buffer) :: 버퍼 내용을 몽땅 삭제(delete-char N) :: N 개수만큼 글자를 삭.. 2020. 3. 23. 흥미로운 링크들 2월 4주차 지난주엔 별로 쓸 내용이 없어서 무시했지만 이번 주엔 재미있는 글들이 좀 있네요. 일단 시국이 시국인 만큼 코로나19와 관련된 링크로 시작합니다.https://graphics.reuters.com/CHINA-HEALTH-SOUTHKOREA-CLUSTERS/0100B5G33SB/index.html 2019 coronavirus: The Korean clustersHow coronavirus cases exploded in South Korean churches and hospitalsgraphics.reuters.com신천지 발 코로나19 집단 감염 사태에 대응하는 대한민국에 관해 정리한 글입니다. IT 관련 이슈가 아닐 수도 있겠지만, 인포그래픽 등이 굉장히 잘 만들어져 있고 내용도 쉬운 편이라 현 사태.. 2020. 3. 2. Tmux에서 트루컬러 이맥스 사용하기 앞서 쓴 터미널에서 트루컬러 이맥스 사용하기에 대한 글의 연장선의 내용입니다. 터미널에서 24비트 트루컬러를 지원하더라도 Tmux 안에서 이맥스를 실행시킬 경우 색상이 이상하게 표시되는 경우도 있습니다. 이 경우는 아마도 tmux 가 사용하는 screen-256이라는 터미널 타입의 문제로 추측됩니다. 이 경우도 앞의 터미널 타입을 만드는 방식과 비슷한 방법으로 해결할 수도 있습니다.우선 tmux 설정에 아래 내용을 추가합니다.set -ga terminal-overrides ",st-256color:Tc"이후 tmux 를 재시작합니다.다음으로 아래 내용을 screen-24bit.terminfo 라는 파일에 저장합니다. 역시 위치도 상관은 없지만 셸에서 접근하기 편한 경로가 좋습니다.# From [[info.. 2020. 2. 8. 터미널에서 트루컬러 이맥스 사용하기 저는 터미널로 iTerm2를 사용합니다. 그리고 iTerm2는 트루컬러(24bit True Color)를 지원하는 터미널입니다. 그런데 이상하게도 이맥스(Emacs)를 터미널 모드로 띄워보면 GUI 모드와 색상이 다른 경우를 종종 볼 수 있습니다. 이는 사용하는 터미널 타입이 트루 컬러 모드가 아니기 때문에 나타나는 어쩔 수 없는 증상입니다.터미널에서 트루컬러를 제대로 지원하기 위해서 약간의 트윅(tweak)이 필요합니다. 참고로 이 트윅은 개인적으로 macOS에서 iTerm2로만 확인했기 때문에 다른 OS나 터미널 앱에서는 어떻게 되는지는 잘 모른다는 것에 주의 부탁드립니다.우선 xterm-24bit.terminfo 라는 파일을 만들고 아래 내용을 붙여 넣습니다.xterm-24bit|xterm with.. 2020. 2. 7. Org Mode 테이블 스프레드시트 Org Mode 문서의 테이블은 다양한 기능을 제공합니다. 그중 하나가 테이블 셀을 이용해 계산을 하는 것입니다. 마치 엑셀이나 Numbers, 구글 독스에서 제공하는 스프레드시트(Spreadsheet)와 비슷합니다. 이 기능에 대해 간략히 정리해 보는 글입니다.참고로 이 글에서 언급하는 단축키는 Doom Emacs 기준입니다.테이블일단 아래와 같은 테이블을 만들었다고 가정해봅시다.| Kind | Price | Ideal | Earning ||-------+-------+-------+---------|| Book | 100 | 99 | || Apple | 256 | 30 | || Coke | 4 | 9 | ||-------.. 2020. 1. 31. Org Mode 문서에 외부 이미지 넣기 Org Mode 문서에 이미지를 넣기 위해서는 단순히 이미지 파일을 준비해놓고 아래처럼 링크 문법으로 이미지 파일의 경로를 적어주면 됩니다.[[./foo/bar/image.png]]하지만 외부 이미지, 즉 다른 사이트에 있는 이미지를 문서에 첨부하려는 경우는 좀 다릅니다. 예를 들어 아래의 경우를 봅시다.[[https://foo.bar/img/image.png]]위 링크는 과연 이미지가 나올까요? 아니면 링크가 걸릴까요? 물론 평범하게 URL 링크가 걸리게 됩니다. 따라서 당연하게도 익스포트 한 결과물에는 이미지가 나오지 않지요.자 그러면 이 문제를 어떻게 해결하면 좋을까요?커스텀 링크Org Mode에는 친절하게도 org-add-link-type 함수를 이용해 커스텀 링크를 추가하는 방법을 제공합니다. .. 2020. 1. 14. Org Publish가 이맥스를 자꾸 얼리고 있어요 앞서 Org Publish에 관한 글을 썼습니다. 매우 편하게 Org Mode 글들을 자동으로 익스포트 해주는 고맙고 편한 도구이지요. 그런데 글들을 익스포트 하기 위해 org-publish-all 등의 함수를 사용하면 간혹 이맥스가 꽁꽁 얼어버립니다. 반응도 없이 마치 죽은 것처럼 말이죠.이 글은 이 문제를 해결하기 위한 사투를 간단하게(?) 정리하는 글입니다.긴 글을 읽고 싶지 않으시다면 가장 마지막의 '대안' 항목을 읽어보세요.문제를 찾아보려 했으나증상을 정확히 정의하자면, 글을 편집하고 나서 org-publish 혹은 org-publisha-all 함수를 사용해 업데이트 한 글을 자동으로 퍼블리시를 시도하는데 이때 특정 확률로 이맥스가 멈춰 버리고 커서가 바람개비 뺑뺑이로 표시되고 CPU 사용량이.. 2020. 1. 10. Org Publish로 익스포트 자동화하기 Org Publish는 이맥스(Emacs)에서 Org Mode로 작성된 .org 문서들로 정적 웹사이트를 만들 수 있게 해주는 도구입니다. 쉽게 말해서 특정 디렉터리 안의 .org 파일들을 .html 파일로 익스포트 해서 원하는 디렉터리로 복사해 줍니다. 그리고 각종 css나 스크립트, 이미지 등의 파일도 자동으로 복사하는 등의 기능을 제공합니다. 제 관리가 안 되는 😭 깃헙 페이지도 이 Org Publish를 이용해 만들었습니다.시작하기설명을 시작하기에 앞서 아래와 같은 디렉터리에서 글을 쓴다고 가정합니다.~/org/ static/ style.css img/ someimage.jpg index.org foobar.org ...이 가정에서는 ~/org.. 2020. 1. 9. Emacs에서 CRLF를 LF로 변환하기 윈도 등에서 사용하는 DOS 텍스트 파일의 개행문자(CRLF, \r\n)와 UNIX 텍스트 파일의 개행문자(LF, \n)는 차이가 있다. 그래서 두 OS에서 작성된 파일의 개행문자가 달라서 표시가 이상해서 읽기가 힘들거나 특정 스크립트에서 오류가 발생하는 등 불편한 상황이 가끔 발생한다. 물론 과거에 비해서 요즘은 잘 구경하긴 힘들긴 하지만 그래도 없진 않다. 그래서 이를 변환하는 방법이 정말 간혹 필요할 때가 있다.Vim에 비해 Emacs는 이럴 때를 대비해 상당히 통제된(?) 방법을 제공하는데, 이를 변환하려면 file coding system을 바꿔주면 된다. 이 방법은 아래와 같은 커맨드로 사용할 수 있다.M-x set-buffer-file-coding-systemDoom Emacs 등을 사용한다.. 2020. 1. 6. Doom Emacs에서 Emojify 사용해보기 이맥스에서 글을 쓰다 보면 종종 이모티콘을 입력하고 싶은데 막막할 때가 있습니다. 맥의 경우 Command+Control+Space 키를 이용해 이모티콘을 쉽게 검색해서 입력할 수 있는데 이맥스는 이 키 입력을 몽땅 먹어버리기 때문이지요. (윈도는 어떤지 모릅니다만...)그래서 정보를 찾아보니 Emojify라는 확장이 있었습니다. 이맥스에서 이모티콘(에모지)를 표시하거나 입력하는 것을 도와주는 확장이라니 딱 맞네요.설치, 설정 및 사용하기우선 설치하기 위해서 packages.el 파일을 열어서 아래 한 줄을 넣습니다.(package! emojify)이후 터미널에서 아래 커맨드를 입력하여 패키지가 설치될 수 있도록 합니다.~/.emacs.d/bin/doom refresh그 다음 아래 설정을 config.e.. 2019. 12. 29. 흥미로운 링크들 12월 3주차 이번 주엔 그다지 재미있는 소식이 없었네요. 그래서 땜빵(?)을 몇 개 넣었습니다.https://csslayout.io CSS LayoutStarting with the most basic part, you can customize easily for each specific need. By composing them, you can have any possible layout that exists in the real life.csslayout.io레이아웃 CSS 코드의 66가지 예제를 볼 수 있습니다. 사이트나 페이지의 전반적인 레이아웃을 잡을 때 참고하면 좋을 것 같습니다.https://github.com/docker-slim/docker-slim docker-slim/docker-slimDocke.. 2019. 12. 23. 흥미로운 링크들 12월 1주차 개인적으로 재미없는 것들을 걸러내니 양이 얼마 안 되는군요. 🤪 만화로 보는 DNS over HTTPS ★ Mozilla 웹 기술 블로그사용자의 프라이버시와 보안에 대한 위협이 커지고 있습니다. Mozilla 는 이런 위협들을 면밀히 관찰하고 있습니다. Mozilla 는 Firefox 사용자와 그들의 데이터를 보호하기 위해 할 수 있는 모든 일을 해야 한다는 책임감을 느낍니다. Mozilla 는 은밀하게 사용자의 데이터를 수집하려 하고 판매하려 하는 회사들과 조직들을 알고 있습니다. 바로 추적 금지 기능과 Facebook Container 확장기능을 만든 이유입니다. 이제 곧 당신은 Mohacks.mozilla.or.krHTTPS가 인터넷의 보안성을 높여 주었지만 DNS는 여전히 이런 보안의 혜택을 보.. 2019. 12. 9. Doom Emacs 라는 것을 설치해봤다 TL;DR설치 방법은 공식 문서를 보시거나 혹은 Doom Emacs 설치하기 글을 참고하세요.Doom Emacs라는 것을 설치해봤다저는 Emacs와 Vim을 10년 이상 써온 늙은(?) Emacer이자 Vimmer입니다. 둘 다 장단점이 있고 유용한 곳이 있는 만큼 둘 다 손을 놓지 않고 있었지요. 그러다가 Spacemacs를 만나게 되고 Emacs와 Vim의 합체가 그다지 나쁘지는 않다는 생각에 Spacemacs를 계속 써 왔습니다.그런데 뭐 영원한 순간은 잘 없지요. Spacemacs에 뭔가 잘 안 될 때마다 라이벌 관계에 있는 Doom Emacs에 대한 관심이 점점 증폭해 갔습니다. 그러다 누군가의 설치기를 구글링으로 찾게 되었고 그대로 해보기로 결심합니다.Spacemacs와 동일하게 시작은 git.. 2019. 11. 25. 흥미로웠던 링크들 10월 2주차 애플, macOS 카탈리나 배포 시작아기다리고기다리던 macOS 카탈리나가 드디어 공식 릴리즈 되었습니다. 원래는 UIKit for macOS 즉 Catalyst를 기다리고 있었지만 SwiftUI가 소개된 이후 이 녀석을 써보기 위해서 카탈리나를 기다려 왔었지요. 그리고 드디어 이 글을 쓰는 지금 감동적인 설치를... 다운로드가 18시간이... 애플 서버 일해라 🙁기타 iPad를 사이드카를 이용해 서브 모니터로 쓰는 기능과, iTunes가 몇 가지 앱으로 분리가 되는 점, 32비트 지원이 완전히 사라지는 점 등등 다양한 변화가 있습니다. 그래도 메이저 버전 업데이트이니 혹시나 자신이 보수적이라면 다음 마이너 패치 릴리즈를 기다리는 것도 나쁘지는 않은 선택 같습니다.여담이지만, 정식 버전은 GM과 릴리즈.. 2019. 10. 14. 흥미로웠던 링크들 10월 1주차 블로그 글 업데이트가 점점 늦어지고 있다는 것에 좀 압박감을 느끼고 있다. 이대로 묻히는 것은 안 좋을 것 같고, 글 쓰는 게 오래 걸리는 만큼 좀 더 가벼운 주제의 글로 빈 공간을 메꿔보고자 하는 생각이 들었다. 그래서 한 주 단위로 링크를 정리하는 글을 종종 써보려고 한다. 이 글은 이 시리즈의 첫 글이다.Commits - hlissener/doom-emacsDoom Emacs는 Spacemacs와 함께 Emacs 커뮤니티 드리븐 설정 프로젝트의 양대 산맥 중 하나이다. 뭔가 하면, 이맥스의 방대한 패키지들의 설정을 한데 모아서 좀 더 설정하기 쉽게 만든 프로젝트, 좀 더 단순하게 말해서 그냥 이맥스 설정 덩어리다.둘 다 특징으로 Vim 키맵 확장인 evil을 기반으로 만들어졌다는 점이 특징이긴 하고.. 2019. 10. 7. 시작하기 위해 개발환경을 만들다 | Javascript & ES6 공부 노트 #1 ES6는 어떤 한 언어 이름의 약자와 버전이 합쳐진 이름입니다. 그리고 ES2015라 불리는 언어 스펙의 다른 이름이기도 합니다. 그리고 ES는 ECMAScript를 줄여서 부르는 이름이지요. 그냥 쉽게 말해서 ECMAScript 2015년 버전이 ES6입니다. 이 언어는 Javascript(자바스크립트)를 보완 혹은 대체하기 위해 나온 언어라고 볼 수 있습니다.ES는 Javascript와 비슷합니다. 하지만 같지는 않습니다. 하지만 아무리 ECMAScript와 Javascript가 다르다고 이야기해도, ES가 Javascript 토대에서 만들어진 것 같다는 느낌이 너무 강하게 들기 때문에 완전히 다르다고 하기에도 어렵다고 생각됩니다. 다만 이 글 타래는 Javascript와 ES6 모두를 공부하기 위한.. 2019. 3. 28. 이전 1 2 다음 728x90 반응형