网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月24日漏签0天
emacs吧 关注:2,853贴子:5,598
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 1 2 下一页 尾页
  • 18回复贴,共2页
  • ,跳到 页  
<<返回emacs吧
>0< 加载中...

在Emacs里写中文,如何统计中文字数,有什么插件好用?

  • 只看楼主
  • 收藏

  • 回复
  • 蛮多肉
  • C-p
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
要一边输出,一边就有统计输出的效果(要能统计中文,英文及其符号的和Word一样)
而不是,M-x + 命令的形式(以函数方式实现)
有没有这样的×.el扩展?
求分享!


  • zytotc
  • C-v
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
不是自带count-words命令么,不知道识别中文不。M-x count-words就可以了,实时统计的插件就没听过了


2025-08-24 14:19:18
广告
不感兴趣
开通SVIP免广告
  • 蛮多肉
  • C-p
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
count-words 中文识别,不精准


  • 北极幻狐
  • C-a
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
;;; word-like-count.el --- show word like count in status bar
;;; Commentary:
;;
;; A simple minor-mode to display the word like coun in the status bar.
;;; Code:
(provide 'word-like-count-mode)
(defun spciall-words-count (start end regexp)
(let ((count 0))
(save-excursion
(goto-char start)
(while (and (< (point) end)
(re-search-forward regexp end t))
(setq count (1+ count))))
count))
;; add length display to mode-line construct
(setq mode-line-position (assq-delete-all 'word-like-count-mode mode-line-position))
(setq mode-line-position
(append
mode-line-position
'((word-like-count-mode
(6 (:eval (format " %d,%d,%d,%d,%d"
(+ (spciall-words-count (point-min) (point-max) "\\cc") (spciall-words-count (point-min) (point-max) "[A-Za-z0-9][A-Za-z0-9[:punct:]]*"))
(spciall-words-count (point-min) (point-max) "[^[:space:]]")
(- (point-max) 1)
(spciall-words-count (point-min) (point-max) "[A-Za-z0-9][A-Za-z0-9[:punct:]]*")
(spciall-words-count (point-min) (point-max) "\\cc"))))
nil))))
(define-minor-mode word-like-count-mode
"A simple minor-mode to display the word like coun in the status bar.")
;;; word-like-count-mode.el ends here
---------------------------------------------------------------------------------------------------------------
找不到这种插件,我用wc-mode按照word规则改了一个,你用用看吧。
新建一个word-like-count-mode.el文件
然后在你的配置文件中加入
(add-to-list 'load-path "word-like-count-mode.el所在的文件夹")
(require 'word-like-count-mode)
(global-set-key "\C-xw" 'word-like-count-mode)


  • 北极幻狐
  • C-a
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
按C-x w会显视统计栏

上图为对应关系
由于,页数,段数,行数,没什么意义,就没写


  • 北极幻狐
  • C-a
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

代码中的对应关系,同一种颜色是一组,不想它显示的可以把它删掉。
今天没什么时间,就处理了这些。等我周末有时间再改的智能点吧。


  • 蛮多肉
  • C-p
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我流泪了
大神
请受我一拜先
我操作下


  • 蛮多肉
  • C-p
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
好用,真是太好用了
大牛你好
太符合我的需求了
爱不释手
再次感谢!
求大牛,推荐几个emacs的阅读材料,和全球emacs用户的聚集地
我想让emacs 跟随我度过无数岁月


2025-08-24 14:13:18
广告
不感兴趣
开通SVIP免广告
  • 北极幻狐
  • C-a
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
阅读材料的话
我是直接看的https://www.gnu.org/software/emacs/manual/(不感觉趣的章节跳过,GNU Emacs Lisp reference manual最后看)。另外1年emacs那篇文章推荐了一本<Writing GNU Emacs Extensions>,主要讲elisp的,不过我没看过(找不到pdf)。
网站的话,emacswiki应该是最有影响力的。
另外,就是git上特定项目的issue,和stackoverflow。不过这两个,还是查问题的时候用的多。
再有就是,google plus(据说Facebook和twitter上有挺多,还过这两网我用的比较少,不是很清楚)。不过google plus,有点微信那种性致,主要是看看别人用emacs作什么。
以前有人推荐过google group,不过以我自身体验而言,google group上emacs的主题的质量说不上高。
我知道的就这些,我一直也没找到emacs比较好的交流地,emacs目前还是张贴板,这种形式比较多。我自已emacswiki和stackoverflow逛的比较多。


  • 蛮多肉
  • C-p
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
听君一席言
胜读十年书


  • jan_fan_zxc
  • C-f
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
1.如果打开 500 千字节的文件会怎么样(一般的电子书,而elisp的reference有3百万字节)
2.可以一次搜索所有的,应该不必重复搜索(一个 search-forward 就够了)
3.我加个空格的话,他也会从头到尾搜索一遍,难道他就不能知道我只是加了个空格吗?
4.关于语法表,有什么值得借鉴的吗?


  • 北极幻狐
  • C-a
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
1. 我先说下我的实现,其实很明了,就是用正则从头数一遍
这个只要规则没问题,统计本身不会有问题
但效能上确实会有问题,因为统计的速度与字数是直接相关的,在字数非常多的时候(比如你说的500k),这时会出现卡顿的现像(由于emacs是单线和,如果统计时间过长,会卡住emacs)
当然根据实现的优劣,效能的瓶颈也会有高低。精细处理,字数的上限就能更高。实现差,则字数的上限就低。
我写这个elisp的时候,设定的上限是10成万字(实际应该不止这个数)。这个主要是应用场景的问题,这类统计主要的用途应该是作文或是论文一类,10万字应该差不多了(个人感觉)。像你说的几百万字的elisp文档,也没必要开这个吧。这也是我为什么写成minor-mode,不需要的时候可以不开。
2. 这确实是个不错的思路,我有时间优化下这个elisp
这个我还是解释下,由于那天没什么时间了(我要睡觉了),而效能也达标了(10万字无卡顿),我就发出来了。
3. 就以空格而言,我单纯输入一个空格,tab出几个空格(假设设置tab为固定空格的话),C-y出一堆空格,更进一步,把空格设置成的快捷键的话。这里变数太多,风险完全不可控,我从一开始,就没考虑过这种实现。
4. 不太明白你的意思,"\\cc","[:space:]","[:punct:]"都是在使用语法表,"[A-Za-z0-9]"这个是由于我想不出别的匹配方法才用的("\\w"同时包含的中英文)。


  • 蛮多肉
  • C-p
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我配置里这个统计el的文件名,都是北极幻狐


  • jan_fan_zxc
  • C-f
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我想你很快就会解决2中提到的问题
关于3,希望你有一天能改变 中的代码
第4条:语法表肯定不会每次都搜索"而判断字符串. 既然有语法表,为什么就不能有一个叫词汇表的呢?
1.代码的长短和时间成正比,有成反比的吗?


2025-08-24 14:07:18
广告
不感兴趣
开通SVIP免广告
  • 北极幻狐
  • C-a
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
2. 暂时不讨论了,这个理论上没问题,改出来也只是时间问题。
3. 我依然觉得风险无法估计,不过倒是愿意尝试一下,毕竟这个如果能达成,那应该是满分的答案了。
4. 我想你的表述有点问题,你指的是语法高亮的操作吧?(语法表只是模式下的静态表,用来标记字,词,符号的语法持性)。
1. 除了成正比,还有不相关。如果3这种真能达成的话,除了初次扫描,理论上可以无限接近于不相关o(1).


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 下一页 尾页
  • 18回复贴,共2页
  • ,跳到 页  
<<返回emacs吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示