How to configure GNU Emacs to write UNIX or DOS formatted files by default?

后端 未结 2 1051
名媛妹妹
名媛妹妹 2020-12-25 14:18

I\'ve had these functions in my .emacs.el file for years:

(defun dos2unix ()
  \"Convert a DOS formatted text buffer to UNIX format\"
  (interac         


        
相关标签:
2条回答
  • 2020-12-25 14:45

    I've got a bunch of these in my .emacs:

    (setq-default buffer-file-coding-system 'utf-8-unix)
    (setq-default default-buffer-file-coding-system 'utf-8-unix)
    (set-default-coding-systems 'utf-8-unix)
    (prefer-coding-system 'utf-8-unix)
    

    I don't know which is right, I am just superstitious.

    0 讨论(0)
  • 2020-12-25 14:53

    I up-voted question and answer, but spent a couple minutes possibly improving on the info, so I'll add it.

    First, I checked documentation on each variable and function in user181548's answer, by (first cutting and pasting into Emacs, then) putting cursor over each, and typing C-h v RET and C-h f RET respectively.

    This suggested that I might only need

    (prefer-coding-system 'utf-8-unix) 
    

    Experimenting with the other lines didn't seem to change pre-existing buffer encodings (typing C-h C RET RET to check (describe-coding-system) and g each time to refresh), so I omitted the other lines and made a key-binding to quickly change any old files that were still DOS, that is,

    (defun set-bfr-to-8-unx ()
      (interactive)
      (set-buffer-file-coding-system
       'utf-8-unix)
      )
    (global-set-key (kbd "C-c u") 
            'set-bfr-to-8-unx
            )
    

    For the curious, to discover the 3rd and 4th line of above function, (set-buffer-file-coding-system 'utf-8-unix), I used C-x RET f RET to manually change the current buffer's encoding, then M-x command-history RET to see how those keys translate to code.

    Now maybe my git commit's will stop whining about CRs.

    0 讨论(0)
提交回复
热议问题