分页: 1 / 1

Emacs有没有字数统计的功能

发表于 : 2007-09-25 16:35
cheneymx
学习需要, 很多时候还是要统计一下论文的字数, Emacs有没有相应的功能?

发表于 : 2007-09-25 17:11
zhangsong023
没有直接提供,但可以自己写函数来实现,给一个:

代码: 全选

(defun zjs-count-word ()
  (interactive)
  (let ((beg (point-min)) (end (point-max))
        (eng 0) (non-eng 0))
    (if mark-active
        (setq beg (region-beginning)
              end (region-end)))
    (save-excursion
      (goto-char beg)
      (while (< (point) end)
        (cond ((not (equal (car (syntax-after (point))) 2))
               (forward-char))
              ((< (char-after) 128)     
               (progn
                 (setq eng (1+ eng))
                 (forward-word)))
              (t
               (setq non-eng (1+ non-eng))
               (forward-char)))))
    (message "English words: %d\nNon-English characters: %d"
             eng non-eng)))

发表于 : 2007-09-25 17:14
boydd
C-x h
M-|
wc -w

适用英文
中文你再搜搜
wc -m可以统计字数,但是空格和一些特殊符号可能也会计算进去,所以你自己测试一下

发表于 : 2007-09-25 17:21
zhangsong023
给那个函数可以分别统计英文单词和非英文字符的数目。但同样没有完全避免特殊符号的计算问题。你自己可以扩展一下,不过我觉得完全没有必要。

发表于 : 2007-09-27 6:47
cheneymx
已经很不错了.. 真正最后定稿上交的时候都得转到word里面去, 所以有个大概就很好了. 非常感谢!

发表于 : 2007-11-25 19:26
cai120120
perl -ne 'END { print $t."\n" } @w = /(\w+)/g; $t += @w' <文件名>
应该可以的,试试哦