emacs 질문..

auditory의 이미지

세가지 질문 드립니다.

첫째는 이전 커서 위치로 이동하는 명령어가 있는지요?
sentence, paragraph, defunc등을 기준으로 점프하기 직전의 위치로 되돌아갈 수 있는 방법이
있으면 좋겠는데요.. 아니면 직전에 편집하던 라인이라든가..(vim의 '에 해당되겠네요.)

둘째는 키조합으로된 명령을 취소하는 방법입니다. C-g라고하지만
예를 들어 C-x를 누르고 C-g를 누르면
C-x C-g is undefined 라고 나옵니다.
질문은 C-x를 누른상태에서 아무것도 하지 않고 그냥 편집상태로 되돌아가는 방법입니다.

셋째는 좀 복잡한데, auctex에서 한영자동전환관련입니다.
대부분의경우 한영자동전환은 만족스럽습니다.
예를들어 한글로 본문을쓰다가 $를 열어서 수식모드를 시작하면
자동으로 영문으로 바뀝니다. 여기까진 좋은데,
다시 $를 입력해서 수식모드를 닫으면 이전의 한/영 모드를 기억하고 있다가
돌아올 수 있는 방법이 있을까요?

cinsk의 이미지

1. C-u C-SPC ; 기존 수정한 위치로 jump

2. 어차피 C-g를 눌러서 기능이 취소된 상태 아닌가요?
아니면 단순히 "C-x C-g is undefined"란 말이 나오지 않게 하고 싶다는 것인가요?

3. 바빠서 test를 제대로 해 보지는 않았지만..

(defadvice TeX-insert-dollar (around tex-handle-input-method
                                     (&optional arg))
  (if (texmathp)
      (progn
        ad-do-it
        (if (and (boundp 'current-input-method)
                 saved-input-method)
            (activate-input-method saved-input-method))
        (setq saved-input-method nil))
    (progn
      (if (boundp 'current-input-method)
          (setq saved-input-method current-input-method))
      ad-do-it)))
 
(ad-activate 'TeX-insert-dollar)

추가해 보세요.

--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/

auditory의 이미지

정확한 답변 감사드립니다..

1,3은 모두 잘 되네요..

2번의 경우에는 그러면 C-g를 누르면 모든 경우에 undefined 된 명령이 되는건가요?
혹시 기존의 명령에 C-g가 포함된 조합이 있어서, 불필요한 명령이 내려지는 경우가 있지 않을까 싶어서요..

특히나 vi습관때문에 아직 esc키를 자꾸 누르게 되는데 이걸 취소하고 싶은 경우가 있었는데,
C-g를 눌러도 명령이 끝나지 않은 조합이 계속된 경우가 있었던 듯 같습니다만,
이건 제가 아마 잘못 기억하고 있는것 같습니다. (지금해보니 못찾겠네요.. ^^)

dl3zp3의 이미지

C-g를 포함하는 키바인딩을 만들면 생기긴 생기는 듯합니다.

(defun hello-world()
  (interactive)
  (message "Hello World"))
(global-set-key (kbd "\C-x \C-g") 'hello-world)

위의 코드를 실행 후 C-x C-g를 눌러본 결과 hello-world가 실행됩니다.

madman93의 이미지

어떤 특별한 경우에 C-g를 키바인딩 할 수는 있겠지만
그렇게 쓰는 사람은 없을 것 같습니다.
---------------------------------------------
git init
git add .
git commit -am "project init"
---------------------------------------------

---------------------------------------------
git init
git add .
git commit -am "project init"
---------------------------------------------

댓글 달기

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