[질문] Emacs 로 C코드 라인 표시/ 폰트 바꾸기

kksir의 이미지

안녕하세요.
갑자기 Emacs 가 쓰고 싶어졌습니다 ; )
뭐가 뭔지 @.@ vi 와 너무 다른 단축키에 적응이 안되고 있습니다.
또한 주변에 emacs 쓰는 사람이 없습니다. ㅜ.ㅜ

국내에 참고해야 할 사이트가 있는지요.

다음의 사항을 알고 싶습니다.

소스에 라인을 달아 프린트로 출력하는 기능은 어떻게
소스의 주석 부분을 모두 지우는 기능은 어떻게
소스를 함수 단위로 폴딩 하는 기능은 어떻게
소스코드의 폰트를 바꾸고 싶습니다.(기본 터미널 폰트로)

이렇게 4가지가 궁금합니다.
또한 참고할 만한 책을 추천해 주시면 감사하겠습니다.

:set nu
의 유혹에서 언능 벗어나야 ; (

부탁드립니다.

cinsk의 이미지

(1) 소스에 라인 번호 붙여서 출력..

왜 editor에서 직접 출력하려고 하시는지는 모르겠지만, GNU trueprint를 써 보시기 바랍니다.

(2) 현재 라인의 주석을 지우는 법..

M-x kill-comment
(실제는 global-set-key나 다른 방법을 써서 단축키로 등록해서 씁니다.)

참고로 C-;를 누르면 현재 줄에 자동으로 주석을 만들어 줍니다. 꽤 편합니다.

(3) 함수 단위로 폴딩? folding?

무슨 말씀인지 잘 모르겠군요. Netbean처럼 함수 내용을 가려 주는 것을 의미하는 것인지, 함수 단위로 scroll을 하는 것인지..

(4) 폰트 바꾸는 방식은, ${HOME}/.Xdefaults에 다음과 같이 써 주시면 됩니다. (X에서 GNU emacs를 쓴다고 가정) (!로 시작하는 라인은 주석.. 기타 잡다한 정보 포함)

Emacs.geometry: 80x46+500+20
!Emacs.geometry: 166x58-0+0
!emacs.geometry:        =80x42-0+0
emacs*Background:       navy
!emacs*Background:      black
emacs*Foreground:       powder blue
emacs*pointerColor:     white
emacs*cursorColor:      white

Emacs*Fontset-0:-*-lucidatypewriter-*-*-*-*-14-*-*-*-*-*-fontset-lucida14,\
          ascii:-*-lucidatypewriter-*-*-*-*-14-*-*-*-*-*-*-1, \
 korean-ksc5601:-*-gulimche-*-*-*-*-14-*-*-*-*-180-ksc5601*-*

Emacs*Fontset-1:-etl-fixed-medium-r-normal-*-14-*-*-*-*-*-fontset-etl14,\
          ascii:-etl-fixed-medium-r-normal-*-14-*-iso8859-1,\
 korean-ksc5601:-baekmuk-gulimbdf-medium-r-normal-*-14-*-ksc5601*-*
Necromancer의 이미지

emacs.kldp.org가 있었는데, 지금은 어찌 됐는지 모르겠습니다.

없어졌다면 구글 외는 답 없고요

Written By the Black Knight of Destruction

sangu의 이미지

kksir wrote:

소스를 함수 단위로 폴딩 하는 기능은 어떻게

http://www.emacswiki.org/cgi-bin/wiki/HideShow

Quote:
Invoke HideShow mode with M-x hs-minor-mode.

For Emacs 20:

* C-c S show all
* C-c H hide all
* C-c s show block
* C-c h hide block

For Emacs 21:

* C-c @ ESC C-s show all
* C-c @ ESC C-h hide all
* C-c @ C-s show block
* C-c @ C-h hide block
* C-c @ C-c toggle hide/show

익명 사용자의 이미지

감사합니다.
몇일 연습과 문서를 찾아본 결과 많은 부분을 알 수 있었습니다.
4가지 문제중 3가지는 해결했는데

1가지를 해결하지 못하였습니다.
라인넘버가 필요한 이유는 소스를 프린트 해서 볼 일이 있습니다.
그때 필요해서 인데

현재 해결한 방법은

http://kltp.kldp.org/stories.php?topic=26
http://www.wonderworks.com

다음의 2개의 글을 참고하여 일단 라인번호를 vi스타일로 보이게 하는
데는 성공하였습니다. 그러나 프린트를 하면 라인넘버가 찍히지는 않습니다.

혹 사용하고 계신다면 해결방법을 부탁드리겠습니다.

ps : 학생이라 학교에서 프린트 하여 집에가서 소스를 보는 경우가 있는데
이때 emacs의 기본 글꼴이 너무 작아 라인번호가 없으면 쉽게 눈에 들
어 오지 않습니다 ; (

버려진의 이미지

프린트를 위해서라면 꼭 emacs에서 하지 않아도 되지 않나요?

참고로 cat filename -n 해보세요. (이미 아실지도 퍽퍽~)

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.