manywaypark's Blog
개발, 검색, 함수

eshell buffer 내용 지우기

emacs 2019. 1. 16. 16:43 by manywaypark

개발 도중에 eshell buffer에서 server 프로그램 등을 실행하는 경우가 있는데 가끔 며칠 동안 로그가 쌓이면 텍스트 검색 등이 무지하게 느려진다.

다음 함수를 *scratch* buffer 등에서 한번 eval(C-x, C-e)해주거나 초기화 과정에서 eval될 수 있도록 설정한 후에 eshell buffer에서 clear를 입력해주면 버퍼가 깨끗이 비워진다.

(defun eshell/clear ()

  "Clear the eshell buffer."

  (let ((inhibit-read-only t))

    (erase-buffer)

    (eshell-send-input)))

이걸 왜 여태껏 모르고 살았던 거지? Orz.


ref: https://emacs.stackexchange.com/questions/12503/how-to-clear-the-eshell


happy hackin'


PS. 컥... eshell/clear는 기본 함수구나.... eshell-truncate-buffer(C-c C-t)를 쓰면 될듯.

https://github.com/cpitclaudel/emacs/blob/master/lisp/eshell/esh-mode.el

build emacs for windows 64

emacs 2017. 12. 5. 12:06 by manywaypark

window에서 emacs 직접 build 하는 방법:

(chocolatey에 포함된 emacs64 package 만드는 사람이 작성한 것)

https://github.com/zklhp/emacs-w64/wiki/Guideline-for-building-Emacs-in-MSYS2-MinGW-w64-system


happy hackin'

emacs

emacs -mm


emacsclient

아래 방법들 중 하나로 한다.

emacsclient -c -F "'(fullscreen . fullboth)"

emacsclient -c -F "'(fullscreen . maximized)"

alias ecx="emacsclient -c -F \"'(fullscreen . maximized)\""

emacsclient -c -F "((width . 100) (height . 100) (left . 400))"


ref: https://stackoverflow.com/questions/20285965/how-can-i-launch-emacsclient-maximized-from-the-commandline


happy hackin'

ModuleNotFoundError: No module named 'jedi'

emacs 2017. 3. 31. 00:16 by manywaypark

어젠가 그젠가 melpa를 통해 emacs package들을 업데이트 했는데 그 이후로 python anaconda mode에서 아래와 같은 에러가 났다. (linux와 mac 양쪽에서 공통으로 발생)


Traceback (most recent call last):

  File "<string>", line 4, in <module>

  File "/Users/airdh/.emacs.d/anaconda-mode/0.1.7/anaconda_mode-0.1.7-py3.6.egg/anaconda_mode.py", line 17, in <module>

    from jedi import Script, NotFoundError

ModuleNotFoundError: No module named 'jedi'


해결 방법은 jedi를 수동으로 설치하는 것이다.

git clone https://github.com/davidhalter/jedi
cd jedi
git checkout v0.10.0
python setup.py sdist
cd dist
PYTHONPATH=$HOME/.emacs.d/anaconda-mode/0.1.7 easy_install -d $HOME/.emacs.d/anaconda-mode/0.1.7 -S $HOME/.emacs.d/anaconda-mode/0.1.7 -a -Z jedi-0.10.0.tar.gz

https://github.com/proofit404/anaconda-mode/issues/225


happy hacking'

초간단 emacs package 관리법

emacs 2017. 3. 21. 15:57 by manywaypark

아래 페이지를 방문해서 설치방법을 참고하여 emacs.d를 설치한다.

https://github.com/purcell/emacs.d

이제 emacs를 다시 시작하면 개발자에게 필요한 대부분의 패키지들이 깔려있다. 


가끔 아래 세가지 명령으로 패키지 업데이트를 해준다.

M-x package-refresh-contents

M-x package-list-packages

Ux


아주 가끔 불필요한 패키지를 아래 명령으로 지워준다.

M-x package-autoremove


happy hackin'

gtags는 어디에?

emacs 2014. 7. 17. 14:34 by manywaypark

제법 예전에 만들었던 .emacs파일을 새로 설치한 박스에 복사했더니 다음과같은 에러가 났다.

File error: Cannot open load file, gtags

.emacs 파일을 열어보니 언제 설정했는지도 기억 안나는 설정 항목이 많다. Orz.

틈틈히 정리해줘야겠다.

(require 'gtags) 가 실패해서 생기는 문제였다.

이걸 수동으로 설치했던가? 패키지가 있었던가? 헷갈렸다. 유명한거라 패키지가 있을텐데...
~ $ apt-cache search gtags
perl-modules - 핵심 펄 모듈
seascope - source code navigation tool
~ $ apt-file search gtags | grep gtags.el
emacspeak: /usr/share/emacs/site-lisp/emacspeak/lisp/emacspeak-gtags.el
global: /usr/share/emacs/site-lisp/global/gtags.el

apt-cache 로 찾기는 실패했고 (물론 의존성 걸려있어서 깔렸겠지만), apt-file로는 한방에 성공했다.

결론은 GNU global을 설치하면 해결된다.

~ $ sudo apt-get install global


gtags 단축키 설정 관련 참고: http://www.emacswiki.org/emacs/CyclingGTagsResult


happy hackin'

먹고 살려고 windows 환경에서 emacs를 쓰고 있는데, 어느 순간엔가 제목과 같은 에러가 나면서 emacs가 시작조차 되지 않았다.

emacs가 안되면 나는 아무것도 할 수 없는 상태... 완전 맨붕.

*Messages* buffer의 내용은 아래와 같았다.

......

Desktop: 367.00ms to restore ~/.emacs.d/custom.el

Entering debugger...

condition-case: Variable binding depth exceeds max-specpdl-size

Error in post-command-hook (global-rinari-mode-check-buffers): (error "Variable binding depth exceeds max-specpdl-size")

Mark activated

rinari-root: Lisp nesting exceeds `max-lisp-eval-depth'

......

검색해봐도 별로 유의미한 것은 없었고 rinari는 ruby 관련 패키지라는 것 말고는 알아낸게 없었다 (난 ruby 쓰지도 않음).

얼마전부터 개별 패키지 설치를 하지 않고(너무 많아서 귀찮음) 대부분의 각종 설정을 해주는 emacs.d를 잘 쓰고 있었는데 거기에는 desktop이라는 패키지도 기본으로 포함되어 있었다. emacs 종료 직전의 상태(열린 파일 즉 버퍼 등)로 복구해주는 아주 유용한 패키지인데, 파일들을 열다가 상기 메시지를 뿌리는 것으로 보아 좀 의심이 갔다. 설정 파일(~/.emacs.d/.emacs.desktop)을 열어 보았다.
에러 메시지를 뿌리기 직전 custom.el을 열고 그 다음에 remote server의 파일(//으로 시작하는 path)을 열면서 에러가 난 것으로 추정되었다.

기억을 더듬어 보니 며칠전에 remote file server에 있는 파일을 drag & drop으로 열려고 시도했는데 제대로 열리지 않아서 local로 옮겨서 열었던것이 용케 떠올랐다 (사실 rebooting 요구하는 windows update만 안했어도 몇주 이상 더 띄워 놓았을 거다).
해당 부분을 파일에서 삭제하고 emacs를 시작했더니 제대로 올라왔다.
해당 부분(lisp expression 이다):
(desktop-create-buffer 206
  "//a.file.server/path/to/file"
  "file"
  'fundamental-mode
  '(anzu-mode global-auto-revert-mode whitespace-cleanup-mode undo-tree-mode whole-line-or-region-mode hes-mode auto-compile-on-load-mode)
  1
  '(nil nil)
  nil
  nil
  '((buffer-file-coding-system . iso-latin-1-dos)))

간만에 구글느님께서도 정답을 알려주지 못하는 문제가 생겨서 삽질좀했다.

happy hackin'



[TIP] Emacs와 Qt Creator 연동?

emacs 2010. 3. 25. 12:03 by manywaypark
Windows에서는,
Qt Creator에서 Tools > Options... > Environment > General 선택 후
External Editor: path\to\emacsclientw.exe -n +%l:%c %f
로 설정하고,
현재 파일을 emacs에서 편집하고자 한다면, Edit > Advanced > Open in External Editor (Alt+V, Alt+I) 하면 된다.

몇몇 참고 사항:
emacsclientw.exe --help 는 emacs의 명령행 옵션을 알려준다.
Qt의 External Editor 설정 오른쪽의 물음표(?)를 누르면 외부 편집기 실행시 대치가능한 변수를의 목록을 볼 수 있다.

2011-06-13: Qt Creator 2.2(현재 최신)에서는, Tools > Options... > Environment > External Tools 선택 후 text 선택후 Add 버튼을 누른 후 적당한 이름(Edit in THE Editor) 입력한 다음,
Description: Opens the current file in Emacs
Executable: /path/to/runemacs.exe
Arguments: +%{CurrentDocument:Row}:%{CurrentDocument:Column} "%{CurrentDocument:FilePath}"
Working Directory:  %{CurrentDocument:Path}
로 설정.

happy hackin'
GUI 버전을 많이 써서 그런지 매번 까먹는다. 잊지말자!!

M-` or F10


happy hackin'

[TIP] 쓸만한 win32용 emacs

emacs 2009. 3. 11. 09:25 by manywaypark
http://ourcomments.org/cgi-bin/emacsw32-dl-latest.pl

최신의 패치된 것을 받아서 깔면 win32에서도 웬만한 작업은 가능해진다.
(물론 입맛에 맞게하려면 좀 귀찮은 작업을 해 주어야겠지만...)

한가지 문제는,
C-SPC로 영역 선택하는 기능이 이상하게 동작하지 않았다.
<C-kanji> is undefined

일본 자판으로 인식된건가? 여하튼 다음을 ~/.emacs에 추가하면 해결 된다.
(global-set-key [C-kanji] 'set-mark-command)

참고: http://66.232.145.162/tc/68

2011-06-13 추가: GNU emacs 설치 설명 http://www.cmc.edu/facultysites/math/FacMember/ALee/emacs/emacs.html
2012-01-18 추가: Caps Lock을 Ctrl로 만들기
                        (윈도에서는 영구적으로 없애는 방법이 제일 나은 듯하다).

2013-02-20 추가: http://vgoulet.act.ulaval.ca/en/emacs/ (ESS 및 몇몇 패키지들 미리 추가된 Windows, OSX 용 커스텀 배포판)

2013-04-14 추가: 우연찮게 상기 본문의 C-kanji가 발생하는 경우를 특정할 수 있게되었다. 새 노트북에서 shift+space로 한영전환을 하려고 키보드 설정을 키보드 종류3으로 변경했더니 그전에는 생기지 않았던 C-kanji 문제가 생겼다 (emacs는 cygwin에 포함되어 있는 것(emacs-w32)으로 상기본문과는 상관없는 버전이다. 아마 모든 상황에서 발생하는 듯하다).  

happy hackin'


1 2 
분류 전체보기 (306)
잡담 (20)
함수형 언어 (65)
emacs (16)
java (18)
tips & tricks (154)
사랑 (1)
가사 (0)
독서 (4)
mobile (6)
비함수형 언어 (2)

공지사항

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

12-24 01:52