Normal state 下对中文进行编辑的最佳实践是什么,求推荐!!

用过 emacs 还能退回 vim?

之前算是 vim 党,看评论说 spacemacs 不错。

结果看完了整个 spacemacs 手册,看完了 emacs 基本手册。

折腾到现在,还是觉得 emacs 不趁手。只能说这玩意儿不适合我。

现在基本放弃治疗了,乖乖滚回去用 vim。

以后可能会用 emacs 干点别的事,比如 org、邮件、rss… 但是最近也懒得动,所以还裸着。

1 个赞

这个是 C++ 版 jieba 的 C 语言接口。 这里有对几个不同语言版本结巴的评测,的确是 C++ 版更快。

https://yanyiwu.com/work/2015/06/14/jieba-series-performance-test.html

1 个赞

中文分词的缺点是在对词库不熟悉的情况下可能出现不能预见的分词结果。

可能需要培养对 Lisp 的兴趣,不然的确很难坚持。

我现在连写个自动控制系统背光的脚本都用的 newlisp

我之前倒是发过一个 提问贴 ,不过也没有解决这个问题

不一定要用分词,推荐 evil-find-char-pinyin,我用的爱不释手,中文标点也是支持的哦!

可参考我之前的提问

2 个赞

用起来不错,感谢推荐。

但是用这个包之后,貌似 evil-snipe 原来具有的高亮搜索结果的功能被屏蔽了?

我没用过 evil-snipe, 不太了解,是用来搜索什么的?好用吗

evil-snipe 会将所有符合条件的字符都高亮,另外用 s 来匹配两个字符(s在 Evil 中默认是替换当前字符),这样大大提高了移动效率。(虽然我不用 s)

normal-state下f/t重复字母多的时候不好用,evil-snipe按连续的两个字母搜索移动,有时比f/t好用:https://github.com/hlissner/evil-snipe 它和evil-multiedit, doom emacs是同一个作者。

2s 不能用了,spacemacs 中的 evil-snipe 功能修复了,现在 s 被占用了。有什么替代方案吗?先v选中再c太蛋疼了。

  (evil-snipe-override-mode 1)
;; 恢复evil的s/S,要用evil-define-key, define-key不行,a bit tricky,一个issue里抄来的
  (with-eval-after-load 'evil-snipe
    (evil-define-key* '(normal) evil-snipe-mode-map
                      "s" #'evil-substitute
                      "S" #'evil-change-whole-line)
    (define-key evil-normal-state-map "s" #'evil-substitute)
    (define-key evil-normal-state-map "S" #'evil-change-whole-line)
    )
;; 只用;来repeat,禁用移动后立即按f/t来repeat
(setq evil-snipe-repeat-keys nil)
;; override-mode之后如果要给evil-repeat绑其他键位要用evil-snipe的对应函数
  (define-key evil-normal-state-map (kbd "DEL") 'evil-snipe-repeat-reverse)
;; 不用s/S那用gs之类的吧
  (evil-define-key 'normal evil-snipe-mode-map (kbd "g s") #'evil-snipe-s)
  (evil-define-key 'normal evil-snipe-mode-map (kbd "g S") #'evil-snipe-S)
  (evil-define-key 'normal evil-snipe-mode-map (kbd "g t") #'evil-snipe-x)
  (evil-define-key 'normal evil-snipe-mode-map (kbd "g T") #'evil-snipe-X)
  (evil-define-key 'visual evil-snipe-mode-map "z" #'evil-snipe-s)
  (evil-define-key 'visual evil-snipe-mode-map "Z" #'evil-snipe-S)
  (evil-define-key 'visual evil-snipe-mode-map "x" #'evil-snipe-x)
  (evil-define-key 'visual evil-snipe-mode-map "X" #'evil-snipe-X)

另外vlc可以换成c2l,更vimmy一点 :beers:

1 个赞

怎么基础的单键 s 它也要占用?丧心病狂。

v2sv2cvlc 都能凑活用,多按一个键而已。

虽然只是多按一个键,按惯了s,那就是每次按了s发现不对,取消了再按c,多了好几个键。。

占用s大概是因为作者觉得s没什么用,有c就够了,不过好像我们都不觉得是这样。。

我也更习惯 s 呐。话说作者是不是太武断了。

你是在说 doom (evil-snipe)的作者和 spacemacs 的作者吗?

哈哈哈,大牛可能都是这么武断的。

我的习惯已经被他们改写 n 次了

除了高亮之外,没看出 evil-snipef/t 方便在哪里,占用了 s 键,还多按一个回车键(我操作不对吗?):

  • f/t

    fa 直接就跳到第一个 a,然后按 ;/, 前进/后退

  • evil-snipe

    sa 再按回车,才到第一个 a, 然后按 ;/, 前进/后退

不过他们有一点说对了:easymotion 操作带来的不连续感太强烈了。

于是……我就把 easymotion 插件卸载了 :roll_eyes:

当然我也没用他们说的什么 snipe 插件 :roll_eyes:

正确用法应该是 sab 跳到第一个 ab 开头的位置(不一定是词的开头,中间也可以),比如

This is a test bbccdd[a]bdddd

方括号那里(没法反白,只能这样说明一下)。这样可以极大地减少跳转的次数。

1 个赞

不如直接 /ab<return> 拉倒,还不需要额外插件。想输几个字母就输入几个,还能跨窗口高亮。

昨天尝试的时候,想输入第三个字母 narrow down,然而……并不能。差点要憋出内伤。