vim 编辑中文太痛苦了!

2019-12-05 09:17:21 +08:00
 975779964

中文没有空格,e w b t T f F 跳转全都没有用。

只能老老实实 hjkl 移动 光标,想要改某个词组,不小心按了 e,直接跳到句子末尾去了!

搜索了 github ,vim chinese 全都是教程或者 是输入法,难道没有人在意这个问题么?

12471 次点击
所在节点    Vim
70 条回复
xpfd
2019-12-05 10:55:08 +08:00
你为啥要用屠龙刀雕豆腐花?
ysn2233
2019-12-05 11:01:49 +08:00
不只是 vim,我其他所有能用 vim 模式的编辑器全开了 vim 模式,所以写中文都蛋疼,只能用 vimim 勉强解决一下。
jingcoco
2019-12-05 11:48:06 +08:00
你可以用 vscode 远程开发
sirius4gnu
2019-12-05 12:23:05 +08:00
鉴于英语不行,vim 成功让我养成了不写注释的好习惯。
Trim21
2019-12-05 12:25:32 +08:00
@jingcoco vscode 的中文分词支持也不太好…
shenyuanlaolarou
2019-12-05 12:41:58 +08:00
mac 下有一个可以切换输入法的命令行工具,如果对 vimscript 熟悉的话可以自己写一个插件实现进入 normal 模式就切换到英文,如果不想自己写的话可以去 github 上搜 coc-imselect。这个插件可以实现这个功能,不过要装 coc.nvim。另外 vscode 和 jetbrains 系的 idea 的 vim keymapper 都实现了这个功能。
Trim21
2019-12-05 12:43:43 +08:00
这个帖子里楼主说的是分词的问题,不是输入法切换的问题…
ThomasZ
2019-12-05 12:45:45 +08:00
vim 治好了我中文注释的病。。。
shenyuanlaolarou
2019-12-05 12:47:06 +08:00
@Trim21 额。。。理解错了
shenyuanlaolarou
2019-12-05 12:47:48 +08:00
@shenyuanlaolarou 理解错了,请忽略
agagega
2019-12-05 12:48:00 +08:00
我记得 mac 系统好像自带中文分词
silenceeeee
2019-12-05 13:45:41 +08:00
搭车问一下,用 VIM 写代码时,如何快速复制从当前位置往前十几行的某个单词到当前光标所在处啊。感觉怎么都达不到鼠标复制的速度。
poisedflw
2019-12-05 13:51:26 +08:00
@silenceeeee 按整行,按区块。或者借助标记位置(各种括号、引号、尖括号)删除内部的东西。
silenceeeee
2019-12-05 14:10:23 +08:00
@poisedflw 我说的是复制,基本上我就是先看一下 relativenumber 然后 nk,然后要么是 easymotion 的 <leader> fs 或者是 fs (这里假设 s 是我需要复制的字符串的首字母)一顿操作才能复制到它。不知道有没有更好的方法,感觉这样好慢啊。
thinker3
2019-12-05 14:24:15 +08:00
我为此写了一个小小的 swift 程序,按 esc 退出中文输入法
fps23dot9999
2019-12-05 14:43:10 +08:00
@silenceeeee ), }, ]}, ]], vib, vi], vi}
:help text-objects
silenceeeee
2019-12-05 14:45:55 +08:00
@fps23dot9999 sorry, 我估计是我表达有误,我说的场景是:当前光标在 100 行,在第 70 行的位置有一个我需要的字符串,我想将这个字符串复制到 100 行来
tomychen
2019-12-05 14:50:11 +08:00
@silenceeeee
CTRL+F CTRL+B
CTRL+D CTRL+U
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
ibeta
2019-12-05 14:55:46 +08:00
以前也是深受其苦,现在好多了
主要就是我需要随时知道当前输入法是什么,并且可以快速切换到我想要的输入法
说一下我的方案
1. 使用 https://www.v2ex.com/t/565667 里面的方法 使用 left-command 切换到英文,right-command 切换成中文
2. 使用 https://github.com/pqrs-org/ShowyEdge 当前输入法是中文的时候,在左上角显示个红色方块

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/626094

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX