Emacs有没有字数统计的功能

Vim、Emacs配置和使用
回复
头像
cheneymx
帖子: 159
注册时间: 2007-03-13 4:59
来自: Erlangen
送出感谢: 0
接收感谢: 0

Emacs有没有字数统计的功能

#1

帖子 cheneymx » 2007-09-25 16:35

学习需要, 很多时候还是要统计一下论文的字数, Emacs有没有相应的功能?
zhangsong023
帖子: 768
注册时间: 2006-09-20 19:56
送出感谢: 0
接收感谢: 1 次

#2

帖子 zhangsong023 » 2007-09-25 17:11

没有直接提供,但可以自己写函数来实现,给一个:

代码: 全选

(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)))
头像
boydd
帖子: 255
注册时间: 2007-05-10 19:42
来自: 南京, Deutschland, Karlsruhe
送出感谢: 0
接收感谢: 0
联系:

#3

帖子 boydd » 2007-09-25 17:14

C-x h
M-|
wc -w

适用英文
中文你再搜搜
wc -m可以统计字数,但是空格和一些特殊符号可能也会计算进去,所以你自己测试一下
zhangsong023
帖子: 768
注册时间: 2006-09-20 19:56
送出感谢: 0
接收感谢: 1 次

#4

帖子 zhangsong023 » 2007-09-25 17:21

给那个函数可以分别统计英文单词和非英文字符的数目。但同样没有完全避免特殊符号的计算问题。你自己可以扩展一下,不过我觉得完全没有必要。
头像
cheneymx
帖子: 159
注册时间: 2007-03-13 4:59
来自: Erlangen
送出感谢: 0
接收感谢: 0

#5

帖子 cheneymx » 2007-09-27 6:47

已经很不错了.. 真正最后定稿上交的时候都得转到word里面去, 所以有个大概就很好了. 非常感谢!
cai120120
帖子: 27
注册时间: 2007-09-28 10:21
送出感谢: 0
接收感谢: 0

#6

帖子 cai120120 » 2007-11-25 19:26

perl -ne 'END { print $t."\n" } @w = /(\w+)/g; $t += @w' <文件名>
应该可以的,试试哦
回复

回到 “Vim和Emacs”