<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://workspace.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=EmacsWithGentoo</id>
	<title>EmacsWithGentoo - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://workspace.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=EmacsWithGentoo"/>
	<link rel="alternate" type="text/html" href="https://workspace.onionmixer.net/wiki/index.php?title=EmacsWithGentoo&amp;action=history"/>
	<updated>2026-05-22T22:08:57Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://workspace.onionmixer.net/wiki/index.php?title=EmacsWithGentoo&amp;diff=191&amp;oldid=prev</id>
		<title>Onionmixer: emacs 단축키 내용 추가-cmode</title>
		<link rel="alternate" type="text/html" href="https://workspace.onionmixer.net/wiki/index.php?title=EmacsWithGentoo&amp;diff=191&amp;oldid=prev"/>
		<updated>2014-04-14T08:31:03Z</updated>

		<summary type="html">&lt;p&gt;emacs 단축키 내용 추가-cmode&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;;Emacs를 Gentoo에서 처음 사용할때&lt;br /&gt;
&lt;br /&gt;
==설치==&lt;br /&gt;
&lt;br /&gt;
emerge emacs로 설치한다. 버전은 24로 사용. 대략 사용된 USE Flag는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
root ~ # emerge -pv emacs&lt;br /&gt;
&lt;br /&gt;
These are the packages that would be merged, in order:&lt;br /&gt;
&lt;br /&gt;
Calculating dependencies... done!&lt;br /&gt;
[ebuild   R    ] app-editors/emacs-24.2:24  USE=&amp;quot;X alsa dbus gconf gif gnutls gpm gtk gzip-el imagemagick jpeg m17n-lib motif png sound svg tiff toolkit-scroll-bars xft &lt;br /&gt;
xpm -Xaw3d (-aqua) -athena -games -gsettings -gtk3 -hesiod -kerberos -libxml2 -livecd -pax_kernel (-selinux) -source -wide-int&amp;quot; 0 kB&lt;br /&gt;
&lt;br /&gt;
Total: 1 package (1 reinstall), Size of downloads: 0 kB&lt;br /&gt;
&lt;br /&gt;
 * IMPORTANT: 2 news items need reading for repository &amp;#039;gentoo&amp;#039;.&lt;br /&gt;
 * Use eselect news to read news items.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
지금의 use flag는 gtk2를 대상으로 설치하게 된다. 본인은 gnome2기때문에 gtk3가 싫다. (2013년2월17일기준)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==테마세팅==&lt;br /&gt;
&lt;br /&gt;
emacs는 기본적으로 ~/.emacs 를 설정파일로 사용한다. resource는 ~/.emacs.d/ 안에 넣게된다.&lt;br /&gt;
&lt;br /&gt;
일단 아래의 사이트에서 아래의 파일을 받는다&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://github.com/chriskempson/tomorrow-theme/blob/master/GNU%20Emacs/tomorrow-night-bright-theme.el&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
받아서 아래의 디렉토리에 넣는다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
~/.emacs.d/theme/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
아.. 쉽다.. 일단 테마파일은 설치했고 이제부터 설치한 테마파일을 &amp;#039;&amp;#039;&amp;#039;설정&amp;#039;&amp;#039;&amp;#039; 해야할차례가 됐음.&lt;br /&gt;
&lt;br /&gt;
~/.emacs파일에 아래의 내용을 넣고 이맥스를 다시 시작해주도록한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
(add-to-list &amp;#039;custom-theme-load-path &amp;quot;~/.emacs.d/theme&amp;quot;)&lt;br /&gt;
(load-theme &amp;#039;tomorrow-night-bright t)&lt;br /&gt;
(setq custom-file &amp;quot;~/.emacs.d/custom.el&amp;quot;)&lt;br /&gt;
(load custom-file &amp;#039;noerror)&lt;br /&gt;
(put &amp;#039;upcase-region &amp;#039;disabled nil)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
emacs의 기본 바탕이 검은색으로 바뀐다. 아 좋다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==폰트설정==&lt;br /&gt;
&lt;br /&gt;
===폰트의 설치===&lt;br /&gt;
&lt;br /&gt;
대다수의 gentoo에서 사용하는 나눔고딕코딩은 사실 emacs에서 조금의 문제가 있다. 그래서 license덕분에 나눔고딕코딩을 emacs에서 사용할 수 있도록 수정한 무난코딩이라는게 있다.&lt;br /&gt;
&lt;br /&gt;
감사하게도 관련된 이빌드를 올려주신분이 있으니... 이 URL을 참고하도록 한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://www.gentoo.or.kr/tips/406545&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
받아서 ebuild파일로 만들어 설치를 하도록한다. 문제는.... 저 ebuild가 완벽한게 아니라서 설치 디렉토리가 /로 잡힌다...&lt;br /&gt;
&lt;br /&gt;
설치된 ttf파일을 /usr/share/fonts/TTF 정도로 넣어주도록 한다. 물론 fc-cache를 해주는것도 잊지 말도록 한다.&lt;br /&gt;
&lt;br /&gt;
아까의 ~/.emacs 파일을 열어서 아래의 라인을 추가해주도록 한다&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
(set-fontset-font &amp;quot;fontset-default&amp;quot; &amp;#039;(#x1100 . #xffdc) &amp;#039;(&amp;quot;무난코딩&amp;quot; . &amp;quot;iso10646-1&amp;quot;))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
emacs를 재시작한다. 여기까지하면 다음정도의 화면을 볼 수 있다.&lt;br /&gt;
&lt;br /&gt;
[[image:emacs_tomorrorw_theme.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==간단한팁 몇가지==&lt;br /&gt;
&lt;br /&gt;
===emacs에 현재 작성한 lisp코드를 바로 emacs에 적용하는법===&lt;br /&gt;
&lt;br /&gt;
* C-x b scratch 로 새로운 버퍼를 연다&lt;br /&gt;
* lisp코드를 작성한다&lt;br /&gt;
* M-x eval-buffer 로 현재 열려있는 버퍼의 lisp코드를 emacs에 적용시킨다&lt;br /&gt;
* 사실......... 실패하면 emacs 재시작........&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===emacs에서 buffer란?===&lt;br /&gt;
&lt;br /&gt;
emacs는 파일을 열면 실제 파일을 편집하는게 아니라 메모리상에 buffer를 잡아서 편집을 다 하고 save를 하면 그때 파일에 저장한다&lt;br /&gt;
&lt;br /&gt;
C-x b 는 새로운 버퍼를 생성하는 단축키. 고로 버퍼를 저장하는경우는 C-x C-s로 Save를 하는게 제일 좋다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===emacs의 elisp 명령행모드===&lt;br /&gt;
&lt;br /&gt;
M-x ielm 으로 하면 elisp의 명령행모드를 사용할 수 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===emacs의 shell호출===&lt;br /&gt;
&lt;br /&gt;
M-x eshell 을 누르면 shell이 나온다. 물론 ctrl-d 또는 exit를 누르면 emacs로 돌아올 수 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===emacs의 daemon mode===&lt;br /&gt;
&lt;br /&gt;
* emacs --daemon 으로 daemon mode로 실행&lt;br /&gt;
* emacsclient -c 로 daemon mode의 emacs를 호출해서 사용&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===emacs에서 buffer관련 단축키===&lt;br /&gt;
&lt;br /&gt;
* C-x 0 없애고 싶은 버퍼에서 이 단축키를 누르면 현재 버퍼가 죽는다&lt;br /&gt;
* C-x 1 남겨두고싶은 버퍼에서 이 단축키를 누르면 다른 버퍼가 죽는다&lt;br /&gt;
* C-x 2 (vertical) 화면 split&lt;br /&gt;
* C-x 3 (horizotal) 화면 split&lt;br /&gt;
* C-x 5 2 프레임 하나 더 띄우고 싶은경우&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===emacs에서 mode를 전환하기===&lt;br /&gt;
&lt;br /&gt;
* M-x mode_name 하면 mode가 바뀐다&lt;br /&gt;
* M-x sql-mode는 sqlmode, M-x c-mode는 C언어 mode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===emacs에서 주석을 처리하는 단축키===&lt;br /&gt;
&lt;br /&gt;
* mode에 따라서 주석 처리시 삽입되는 문자가 바뀜&lt;br /&gt;
* sql mode는 -- 문자열&lt;br /&gt;
* c mode는 // 문자열&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===emacs 에서 검색을 하려고 할때===&lt;br /&gt;
&lt;br /&gt;
* C-s 순방향검색&lt;br /&gt;
* C-r 역방향검색&lt;br /&gt;
* grep같은 async 방식은 M-x list-matching-lines&lt;br /&gt;
* M-x grep / find-grep / find-grep-dired 등도 있음&lt;br /&gt;
* 고급검색은 https://kldp.org/node/61514 주소를 참고&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===emacs 에서 영역을 선택 하려고 할때===&lt;br /&gt;
&lt;br /&gt;
gtkemacs(xemacs)에서는 별로 쓸모가 없지만 사실 terminal 에서 사용하는경우에는 꽤나 필요하다. 복사를위한 영역등을 선택하는 key 를 설명한다.&lt;br /&gt;
&lt;br /&gt;
C-SPC 다음에&lt;br /&gt;
&lt;br /&gt;
* C-n 혹은 C-p로 라인단위&lt;br /&gt;
* C-f/b는 글자단위&lt;br /&gt;
* M-f/b는 단어단위&lt;br /&gt;
* M-a/e는 문장단위&lt;br /&gt;
* M-}/{는 단락단위&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===emacs 의 c-mode===&lt;br /&gt;
&lt;br /&gt;
emacs 의 c-mode 에서 c 소스를 comile 하려고할때의 단축키&lt;br /&gt;
&lt;br /&gt;
* M-x compile RET&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
해당되는 C 소스에 compile 관련 option 을 넣어놓으려 할때는. 소스코드의 맨 아래부분에 아래같은 부분을 넣어주면 된다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
// Local Variables:&lt;br /&gt;
// Compile Command: gcc blah blah -o blah&lt;br /&gt;
// End:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===그외 emacs단축키===&lt;br /&gt;
&lt;br /&gt;
* C-x C-c emacs종료(몇년동안 익지않은 단축키)&lt;br /&gt;
* C-x C-f 현재 버퍼로 파일열기&lt;br /&gt;
* C-x C-s 현재 버퍼를 저장하기&lt;br /&gt;
* M-l 커서기준 현재단어 소문자&lt;br /&gt;
* M-u 커서기준 현재단어 대문자&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==참고자료==&lt;br /&gt;
&lt;br /&gt;
===Programming in the Emacs===&lt;br /&gt;
&lt;br /&gt;
* 신성국님이 KLDP 10주년 컨퍼런스에서 발표하신내용&lt;br /&gt;
* 자료는 http://www.cinsk.org/articles/ &amp;lt;- 이 주소에서 찾으면 된다.&lt;br /&gt;
* 물론 자료원본은 저자에게 확인받고 올리는것.&lt;br /&gt;
* [[file:emacs-devel.odp]] 이 파일을 다운로드받으면 된다&lt;/div&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
</feed>