当前位置:  开发笔记 > 开发工具 > 正文

确定Emacs中的行终止符

如何解决《确定Emacs中的行终止符》经验,为你挑选了1个好方法。

我正在编写配置文件,我需要定义进程是否需要Windows格式文件或unix格式文件.我有一份预期文件的副本 - 有没有办法可以检查它是否使用\n或\ r \n而不退出emacs?



1> Jouni K. Sep..:

如果在Unix上打开文件时在模式行上显示(DOS),则行结尾为Windows样式.如果在Windows上打开文件时说(Unix),那么行结尾是Unix风格的.

从Emacs 22.2手册(节点:模式行):

如果缓冲区的文件使用回车换行,冒号将变为反斜杠('\')或'(DOS)',具体取决于操作系统.如果文件仅使用回车符,则冒号指示符将变为正斜杠('/')或'(Mac)'.在某些系统上,对于使用换行作为行分隔符的文件,Emacs显示"(Unix)"而不是冒号.

这是一个函数 - 我认为 - 展示了如何从elisp检查Emacs已经确定哪种行结尾类型.如果看起来非常复杂,也许就是这样.

(defun describe-eol ()
  (interactive)
  (let ((eol-type (coding-system-eol-type buffer-file-coding-system)))
    (when (vectorp eol-type)
      (setq eol-type (coding-system-eol-type (aref eol-type 0))))
    (message "Line endings are of type: %s"
             (case eol-type
               (0 "Unix") (1 "DOS") (2 "Mac") (t "Unknown")))))

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有