[완료] emacs에서 kil-buffer 할때 확인 창 띄우기

nomail의 이미지

emacs에서 새 버퍼를 생성하여 편집 상태이고 저장하지 않은 상태에서 kill-this-buffer 명령을 내리면
버퍼가 그대로 닫혀 버립니다.
상식적으로 "저장할까요?" 메세지가 나올 줄 알았는데 그냥 닫혀버립니다.
그동안 몰랐다가 오늘 처음 알았습니다ㅜㅜ 그동안 이상하게 파일이 몇개 빠진 기분이 들더라구요.

초보가 혼자 해결 해볼려고 열심 찾아봤습니다만 구글에서 여러 검색어로 검색을 해봐도 뾰족한 답이 없습니다. 제가 이상한건지..
새 배퍼에서 저장되지 않은 상태에서 emacs를 종료하거나 kill-buffer 했을 때 확인 창 띄울려면 어떻게 해야 하나요??
해답을 찾을 수 있는 링크나 검색어라도 알려주시면 고맙겠습니다.

cinsk의 이미지

C-u M-~
를 누르면 해당 버퍼가 modified 상태가 되어 원하는 대로 물어볼 겁니다.

nomail의 이미지

cinsk님 알려주셔서 고맙습니다.
그런데 제 emacs 버전과 안 맞는지 제대로 동작을 안합니다. (24.3 사용 중입니다)

C-u M-~

이 명령어가 버퍼를 수정한 상태로 바꾸는 것 같습니다.
C-x C-f로 파일을 열어서 수정 후 C-u M-~ 했을 때는 동작을 하는데 빈 버퍼를 만들어서 해보면 그냥 닫깁니다.
그래서 검색어 kill buffer modified로 다시 구글링해보니까 이미 누군가 만들어 놓은 코드가 있네요.
혹시 참고하실 분들을 위해서 링크 남깁니다.

https://github.com/mbneedham/emacs-snippets/blob/master/buffer-kill-prompt.el

cinsk의 이미지

네, Emacs는 file과 연결이 되어 있지 않은 버퍼에 대해서는 변경되어 있더라도, prompt 없이 바로 죽입니다.

어떤 명령들은 내부적으로 임시 버퍼를 만들어서 작업하는 경우가 있는데, 이런 버퍼들을 편리하게? 죽일 수 있도록 하기 위해서가 아닐까 추측해 봅니다.

파일과 연결이 되어 있지 않다면 auto-save 등의 기능이 동작하지 않을 가능성이 있으므로, 사용자 level에서 버퍼를 만들어 쓸 때에는 가능한 파일과 연결되어 있는 버퍼를 만들어 쓰는 것이 바람직할 것 같네요. (C-x C-f).

nomail의 이미지

조언 해주셔서 고맙습니다.
저는 vim을 오랫동안 사용하다가 체계적인 ide환경이 필요해서 emacs로 넘어왔는데 elisp과 짧은 영어실력 때문에 쉽지가 않네요.
공식 매뉴얼을 얼른 빨리 끝내서 초보적인 수준을 좀 벗어나고 싶습니다.. ㅜㅜ
그나마 kldp에서 많은 도움 받으면서 적응하고 있습니다. 어렵지만 배우는 즐거움도 있구요.
감사합니다^^

댓글 달기

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