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

后端 未结 2 1075
名媛妹妹
名媛妹妹 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: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.

提交回复
热议问题