emacs에서 들여쓰기와 내어쓰기

rainmon의 이미지

영역 들여쓰기를 하기위해 indented-text-mode로 바꾼다음
영역을 지정하여 C+M, \ 단축키를 사용하면 엉망이 되버리네요.
제가 하려던건

무궁화
꽃이
피었습니다.

이상태에서 영역을 지정해서 들여쓰기를 하면
    무궁화
    꽃이
    피었습니다.

이렇게 될줄 알았는데 지금은
    무궁화
          꽃이
                피었습니다.

이렇게 됩니다.

SQL 모드에서 쿼리를 작성중인데 indented-text-mode 로 변환하니
신택스 하이라이팅이 안되는데 영역 들여쓰기하는 간단한 방법 없을까요?

File attachments: 
첨부파일 크기
Image icon emacs_0-2.PNG24.34 KB
Image icon emacs_0-1.PNG20.23 KB
Image icon emacs_0.PNG23.87 KB
cinsk의 이미지

현재 major mode와 minor mode를 알려주시기 바랍니다. (현재 모드는 M-x describe-mode나 modeline에 [(...)] 형태로 표시됩니다.) 잘 모르겠으면 indent한 다음, screenshot을 올려주세요.

sql-mode, text-mode등에서 indent-region은, 말씀하신 대로 잘 동작합니다. 혹시 쓰시는 환경에서 C-M-\이 다른 키로 mapping되어 있을 수 있으니, region 지정 후에 M-x indent-region을 실행해도 똑같은 현상이 발생하는지 확인바랍니다.

rainmon의 이미지

안녕하세요~

제 emacs에선 M-x indent-region 은 C-M \ 단축키가 맞는것 같습니다.

Quote:

You can run the command `indent-region' with C-M-\'

이거 꼭 되어야 하는데.. ^^;
이번엔 정성을 좀 들여 이미지로 현재 상황을 보고합니다.

첨부파일에 설명을 달아두었습니다.

댓글 첨부 파일: 
첨부파일 크기
Image icon 0바이트
Image icon 0바이트
Image icon 0바이트
cinsk의 이미지

아.. 깜박했군요.. :)

Emacs에서 <TAB>은 기타 다른 editor들과 상당한 차이가 있습니다. <TAB>키는 보통 현재 mode에 따라서 적절하게 자동으로 indent 해 주는데, text mode등에서는 <TAB>이 indent-relative에 연결되어 있어서, region을 indent하게 될 경우, 두번째 라인은 첫번째 라인이 indent 된 양만큼 자동으로 들여써진 다음, 동작하게 됩니다. 따라서 원하는 기능을 수행하기 위해서, indent-rigidly를 써야 하는데, 이 함수는 들여쓰기 할 만큼의 크기를 지정해 주어야 합니다.

따라서 region을 8칸만큼 (정확하게, 다른 interpretation을 하지 않고) 띄어 쓰기 위해서 C-u 8 C-x TAB을 누르거나, 그냥 C-8 C-x TAB을 치면 됩니다.

cinsk의 이미지

또는, 사각형 블럭 (rectangle) 명령을 써서, (아래 예의 사각형처럼) 들여쓰기 할 만큼의 분량을 지정하고, left-top corner에서 C-SPC로 mark, right-bottom corner에 커서를 위치하고, 공백 문자를 사각형에 채워 넣는 명령인 C-x r o를 수행해도 원하는 맘큼 들여쓰기를 할 수 있습니다.

+--------+sadfas dasdf a
|        |    asdf ad a f
|        |   asdfas asdf a f
+--------+ asdf asdf asf
rainmon의 이미지

제가 예상했던 결과를 보여주네요. C-8 C-x TAB 어째 좀 욕같지만.. -_-;
매번 감사드립니다.

rainmon의 이미지

내어쓰기는 사각형을 지정해서 C-x r k 단축키를 쓰는데
영역을 잘 지정해야 하는 점이 아쉽습니다. C-8 C-x TAB의 반대는 없는가요?

보통 indent, outdent는 mode에서 알아서 잘 조정해주는것
같은데 sql mode는 그런게 없네요. 영역지정해서 코딩 스타일 바꿔주는거요.
지금 기억이 안나는데 c mode 에서 영역지정한 다음
어떤 명령을 입력하면 스타일을 바꾸주던게 있었는데 그게 뭐였지요? ^^;;

cinsk의 이미지

Quote:
내어쓰기는 사각형을 지정해서 C-x r k 단축키를 쓰는데
영역을 잘 지정해야 하는 점이 아쉽습니다. C-8 C-x TAB의 반대는 없는가요?

잘 생각하시면 C-- C-8 C-x TAB을 쓰면 되겠다는 생각이 들 겁니다. :)

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.