中文没有空格,e w b t T f F 跳转全都没有用。
只能老老实实 hjkl 移动 光标,想要改某个词组,不小心按了 e,直接跳到句子末尾去了!
搜索了 github ,vim chinese 全都是教程或者 是输入法,难道没有人在意这个问题么?
![]() | 1 wd 2019-12-05 09:25:11 +08:00 via iPhone https://github.com/cute-jumper/ace-pinyin/blob/master/README.org emacs 有一个...要不换 emacs 用 evil... |
![]() | 2 U7Q5tLAex2FI0o0g 2019-12-05 09:25:45 +08:00 额,你为什么要在 vim 上编辑中文? 一般最多也就是代码里掺杂的中文注释这完全可以接受。 你该不会是全篇中文文章吧??? |
![]() | 3 dppd 2019-12-05 09:26:14 +08:00 你安装的时候选择中文就好了 |
4 luozic 2019-12-05 09:27:51 +08:00 via iPhone 写文章 还是写 markdown ? |
![]() | 5 dreamerlv3ex 2019-12-05 09:32:46 +08:00 centos vim 7.4 搜索了 github ,vim chinese 全都是教程或者 是输入法,难道没有人在意这个问题么? 光标在'搜'字符上 按下 e 位于'了' 按下 e 位于'b' 按下 e 位于',' 按下 e 位于'm' 按下 e 位于'e' 按下 e 位于'者' 按下 e 位于'法' 按下 e 位于',' 按下 e 位于'么' 按下 e 位于'?' 楼主描述的是这样? |
![]() |
7 jinliming2 2019-12-05 09:43:23 +08:00 via iPhone 因为中文这种语言的词组很大程度上是看上下文的,你可以了解一下中文分词的基本问题,要准确分词还要看概率频率之类的…… 给一个简单的解决方案:用宏,固定往后跑 2 个字符,这样估计会好用一些…… |
8 telnetning 2019-12-05 09:43:34 +08:00 不少人在某个阶段应该都在意过这个问题,所以有了 vimim,可以一定程度上解决这个问题。 但是可能一段时间后,大家发现了,为啥我要在 vim 里写中文折磨自己呢,或者形成了自己的编辑惯性,也就不再折腾这种了吧。 我也是曾经折腾过 vimim,主要是想用 vim 写 markdown,后来明白了,没必要折腾自己,vim 老老实实写代码,markdown 老老实实用各种好用的 md 编辑器就完事了。 |
![]() | 9 Tumblr 2019-12-05 09:47:34 +08:00 所以我的代码里习惯用英文写注释。。。 意外之喜就是,我带的一批人现在的英语词汇量增加了,同时并不那么排斥英文资料了(微软系资料为主,平时就是丢个 en-us 的链接)。以前他们会第一时间用网页翻译,现在对于一些比较短的文章,可以直接看了。 |
![]() | 10 iCyMind 2019-12-05 09:53:44 +08:00 没办法, 不支持实时的中文分词. 不过至少你还可以用 jkhl 定位, 比英文定位慢, 但至少比鼠标快把? |
![]() | 11 jdhao 2019-12-05 09:54:35 +08:00 不在 Vim 里使用中文,一般都是用英文 |
![]() | 12 iCyMind 2019-12-05 09:54:54 +08:00 不仅你搜到的都是输入法, 甚至你的帖子的回复也有一大部分的输入法, 哈哈哈太讽刺了 |
13 jinliming2 2019-12-05 09:55:52 +08:00 或者自己数字符,比如往右跳 5 个字,就按 5l,往左跳 7 个字,就按 7h 之类的 |
![]() | 14 poplar50 2019-12-05 10:01:33 +08:00 via Android hjkl 也可以 100h 100k 这么用。上下加个 g,基本也还行。 |
![]() | 15 klaas 2019-12-05 10:04:39 +08:00 我还以为只有我有这种烦恼呢 |
![]() | 16 henices 2019-12-05 10:12:51 +08:00 为啥不用 markdown 呢,vim 写代码用啊,VNote vim mode 真不错。 |
![]() | 17 season4675 2019-12-05 10:13:46 +08:00 我就一个问题……为啥要写中文…… |
![]() | 19 LuffyWong 2019-12-05 10:34:07 +08:00 简直不能更痛苦, 写中文就是要中英文切换, 再加上 vim 的模式切换 贼烦 |
![]() | 20 scriptB0y 2019-12-05 10:40:56 +08:00 是的。。。我想一切东西都在 Vim 中写,就中文一直蛋疼 |
![]() | 21 xpfd 2019-12-05 10:55:08 +08:00 你为啥要用屠龙刀雕豆腐花? |
22 ysn2233 2019-12-05 11:01:49 +08:00 不只是 vim,我其他所有能用 vim 模式的编辑器全开了 vim 模式,所以写中文都蛋疼,只能用 vimim 勉强解决一下。 |
![]() | 23 jingcoco 2019-12-05 11:48:06 +08:00 你可以用 vscode 远程开发 |
![]() | 24 sirius4gnu 2019-12-05 12:23:05 +08:00 鉴于英语不行,vim 成功让我养成了不写注释的好习惯。 |
26 shenyuanlaolarou 2019-12-05 12:41:58 +08:00 via iPhone mac 下有一个可以切换输入法的命令行工具,如果对 vimscript 熟悉的话可以自己写一个插件实现进入 normal 模式就切换到英文,如果不想自己写的话可以去 github 上搜 coc-imselect。这个插件可以实现这个功能,不过要装 coc.nvim。另外 vscode 和 jetbrains 系的 idea 的 vim keymapper 都实现了这个功能。 |
![]() | 27 Trim21 2019-12-05 12:43:43 +08:00 via Android 这个帖子里楼主说的是分词的问题,不是输入法切换的问题… |
![]() | 28 ThomasZ 2019-12-05 12:45:45 +08:00 via Android vim 治好了我中文注释的病。。。 |
29 shenyuanlaolarou 2019-12-05 12:47:06 +08:00 via iPhone @Trim21 额。。。理解错了 |
30 shenyuanlaolarou 2019-12-05 12:47:48 +08:00 via iPhone @shenyuanlaolarou 理解错了,请忽略 |
![]() | 31 agagega 2019-12-05 12:48:00 +08:00 via iPhone 我记得 mac 系统好像自带中文分词 |
![]() | 32 silenceeeee 2019-12-05 13:45:41 +08:00 搭车问一下,用 VIM 写代码时,如何快速复制从当前位置往前十几行的某个单词到当前光标所在处啊。感觉怎么都达不到鼠标复制的速度。 |
![]() | 33 poisedflw 2019-12-05 13:51:26 +08:00 @silenceeeee 按整行,按区块。或者借助标记位置(各种括号、引号、尖括号)删除内部的东西。 |
![]() | 34 silenceeeee 2019-12-05 14:10:23 +08:00 @poisedflw 我说的是复制,基本上我就是先看一下 relativenumber 然后 nk,然后要么是 easymotion 的 <leader> fs 或者是 fs (这里假设 s 是我需要复制的字符串的首字母)一顿操作才能复制到它。不知道有没有更好的方法,感觉这样好慢啊。 |
![]() | 35 thinker3 2019-12-05 14:24:15 +08:00 我为此写了一个小小的 swift 程序,按 esc 退出中文输入法 |
36 fps23dot9999 2019-12-05 14:43:10 +08:00 @silenceeeee ), }, ]}, ]], vib, vi], vi} :help text-objects |
![]() | 37 silenceeeee 2019-12-05 14:45:55 +08:00 @fps23dot9999 sorry, 我估计是我表达有误,我说的场景是:当前光标在 100 行,在第 70 行的位置有一个我需要的字符串,我想将这个字符串复制到 100 行来 |
![]() | 38 tomychen 2019-12-05 14:50:11 +08:00 |
![]() | 39 Chry3anthemum 2019-12-05 14:53:11 +08:00 @silenceeeee #37 原文:“@fps23dot9999 sorry, 我估计是我表达有误,我说的场景是:当前光标在 100 行,在第 70 行的位置有一个我需要的字符串,我想将这个字符串复制到 100 行来” ====== 回复: esc :70 或 30k 或 30<up> w 到字符串头,v,e 到字符串尾 或 t<某字符>到字符串头,v,t<某字符>到字符串尾 y esc :100 或 30j 或 30<down> p |
![]() | 40 ibeta 2019-12-05 14:55:46 +08:00 以前也是深受其苦,现在好多了 主要就是我需要随时知道当前输入法是什么,并且可以快速切换到我想要的输入法 说一下我的方案 1. 使用 t/565667 里面的方法 使用 left-command 切换到英文,right-command 切换成中文 2. 使用 https://github.com/pqrs-org/ShowyEdge 当前输入法是中文的时候,在左上角显示个红色方块 |
41 quietnight 2019-12-05 15:10:07 +08:00 ![]() emacs 写 latex 跟写小说一样流畅 |
![]() | 42 silenceeeee 2019-12-05 15:12:02 +08:00 @Chry3anthemum 我现在就是这么操作的,用 w,e,t,b 进行定位,感觉超级慢。不如鼠标一下就能精确定位,比较苦恼这个问题。 |
![]() | 43 waruqi 2019-12-05 15:17:57 +08:00 via Android 还好吧 我平常写文章也是 vim 没感觉出来有啥区别 |
![]() | 44 975779964 OP @wd 谢谢你 也有人推荐我用 emacs 了,我现在 vim 都还没学习好呢。我买了本 vim 实用技巧的书。等我把 vim 学习好了,在去看看 |
![]() | 45 975779964 OP @littleylv 为什么不能在 vim 下编辑中文啊,我很喜欢 vim 的这种 操作 方式 ,想 更快 的编辑 中文 呀…… |
![]() | 46 975779964 OP @dreamerlv3ex 对对对,就是 按照 词组 跳转, 现在的 vim 你在中文下 按 e b 他直接 就按句子 跳转 了,除非 中文句子中间 夹杂 英语 。这样你 修改 某个中文 词组的时候 一点 都不好定位,非常恼火…… |
![]() | 48 975779964 OP @jinliming2 这是个妥协的方案 …… 但是你在浏览器 下 输入 中文 句子 按 ctrl+-> 或者 ctrl+ <- 方向键,你会发现他会根据 中文 的词组来的呀…… 为什么 vim 连 这样 的功能 都不支持 呢? |
![]() | 50 975779964 OP @iCyMind em …… 这样比的话 是的,但是没有更好 的解决方法 或者 插件 么?现在的问题是 github 上面我搜索不到(可能我用不好 github 搜索) 。大家 或多或少 都有这个问题吧, 但是 看 大家 都忽略了这个问题…… |
![]() | 51 975779964 OP @iCyMind 可能也是我描述 有问题,我在 win 下用 gvim 输入法他会自动 切换 的(当你按 esc 的时候) ,这个对我来说不是问题呀…… 可能对他们来说 用 linux 或者 别的系统 可能是问题吧…… |
![]() | 52 975779964 OP @jinliming2 这样 还不如用鼠标 呢…… 我想 应该有更好 的解决方法 …… |
![]() | 53 975779964 OP @klaas 咱俩 都有这个问题呀,希望能有个 vim 大佬 看到 这个需求 ,写一个插件 来解决 我们的痛点!而不是说 唉呀,vim 中文 分词 支持 不好,你们 别用 vim 编辑 中文 了! |
![]() | 54 975779964 OP @season4675 使用 vim 也不一定是写代码 的啊,我是看 善用佳软的文章 入的 vim 坑, 他也可以 披处理 文字 之类 的 |
![]() | 57 975779964 OP @waruqi 你看着 e b w f t 这些好用 的光标移动 在中文 下 全都 废了 ,然后 只能用 hjkl 一点一点的移动 光标……这样能忍呀? |
58 Jirajine 2019-12-05 20:45:09 +08:00 via Android vim 支持 Python 的,你可以用那个中文分词库开发个 vim 插件。 |
![]() | 59 stanjia 2019-12-06 09:23:30 +08:00 Vim 中写中文有什么问题么??? |
60 cursorzz 2019-12-06 10:47:25 +08:00 挺好奇截图里面那个日文是怎么做到的 |
![]() | 61 njutree 2019-12-06 10:55:53 +08:00 其实我倒一直有个问题就是 vim 遇到驼峰的英文不能跳很难受,不知道有没有插件可以支持。eg. RuleNameInterval 在 'R' 位置按 w 可以调到 'N' |
![]() | 62 skyrem 2019-12-06 13:15:29 +08:00 我猜测 vim 本质上是根据空格来区分英文词组的,这很容易做到,日文的分词也仅限于中文字符和假名之间 f 键可以定位字符位置,中英文都可以,但中文这么做操作很繁琐 如楼上有人提到的,中文的分词是考虑上下文的,你搜到的结巴那么你可以看下结巴的示例句子 要想集成中文分词功能我觉得是挺不容易的一件事 现阶段也许小红点是个不错的替代方案 |
![]() | 63 RemiliaForever 2019-12-06 13:17:52 +08:00 @njutree chaoren/vim-wordmotion |
![]() | 64 jdhao 2019-12-07 16:02:27 +08:00 @silenceeeee 如果是当前 buffer 的单词,可以在 insert 模式输入 ctrl-x,ctrl-n 或 ctrl-x,ctrl-p,自动补全当前 buffer 的单词,详细参考 :h i_CTRL-X_CTRL-P |
![]() | 65 silenceeeee 2019-12-09 09:40:58 +08:00 @jdhao 好的,我了解下。 |
![]() | 66 gbin 2020-05-09 12:21:45 +08:00 @telnetning 看到头像还以为是我回复的。。。 |
67 lazypanda 2021-11-24 23:41:59 +08:00 别想了,别在 vim 中输入中文了,vim 不适合干这个,老老实实用 vim 写代码吧 |
![]() | 68 975779964 OP @fighter9010 写代码注释,mardown 文档 这些都要中文输入啊…… |
![]() | 69 OrangeGege 2022-05-02 15:06:37 +08:00 原来不止我这个问题. 我已经妥协了. 写代码就用英文注释. 写 MD 文档,讲究着使用 hjkl 了 |
![]() | 70 975779964 OP @OrangeGege 我现在是 用的 ideavim ,有个 插件 类似 easymotion 但是他支持 中文 ascii 跳转 的 https://i.bmp.ovh/imgs/2022/05/02/79b5a501aaa16483.png 支持中文首字母 ,并且 可以 连续 按键 |