JapanWordStop
Sublime Text插件,提供日语的词汇跳转功能
详情
安装
- 总计 426
- Win 404
- Mac 0
- Linux 22
8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | 6月23日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
Mac | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Readme
这是一个插件,使Sublime能够正确处理言语跳转(ctrl+right等)的日语字符串。
英文README在这里这里
JapanWordStop
使用ctrl+right等执行词汇跳转时,Sublime标准版将把日语文字、汉字、平假名全部视为一个整体进行跳转。
此插件将以换行标记的位置为终止点来改变行为。
特点
- 仅仅通过文字种类进行判断,因此可以预测停止点。
- 以拦截标准命令的形式运行,因此不需要设置快捷键(可设置)。
- 因此,它不会阻止Sublime双击时的异常行为。
- 也支持subtractive选项。
- Ctrl+D也能进行词汇选择。
- 在ascii字符串中的词汇跳转基本上遵循Sublime标准,同时反映Sublime设置“word_separators”。
但是,对于涉及符号文字(尤其是逗号)的停止位置进行了更改(下面详述)。
停止位置的示例
在“|”所示的位置停止。
※将平假名视为和前一个文字一起组成的假名,类似于ascii字符串中的空格字符的处理。
|吾輩|《わがはい|》は|猫である|。|名前はまだ|無い|。|
|どこで|生れたかとんと|見当|《けんとう|》がつかぬ|。|何でも|薄暗いじめじめした|所で|ニャーニャー|泣いていた|事だけは|記憶している|。|
|吾輩はここで|始めて|人間というものを|見た|。|しかもあとで|聞くとそれは|書生という|人間中で|一番獰悪|《どうあく|》な|種族であったそうだ|。|
如果执行了子词汇跳转(alt+right, alt+left),则无法跳过平假名。
吾輩|《|わがはい|》|は|猫|である|。|名前|はまだ|無|い|。|
|どこで|生|れたかとんと|見当|《|けんとう|》|がつかぬ|。|何|でも|薄暗|いじめじめした|所|で|ニャーニャー|泣|いていた|事|だけは|記憶|している|。|
|吾輩|はここで|始|めて|人間|というものを|見|た|。|しかもあとで|聞|くとそれは|書生|という|人間中|で|一番獰悪|《|どうあく|》|な|種族|であったそうだ|。|
与Sublime标准的ascii字符串之间的区别
以下是一些示例字符串…
loving_word ENUM('hello', 'world', 'sublime') NOT NULL
在Sublime标准中,点击ctrl+right将在以下位置停止。强调逗号是非常明显的。
loving_word| ENUM|('hello|'|,| 'world|'|,| 'sublime|'|)| NOT| NULL|
另一方面,点击ctrl+left将在以下位置停止。对逗号的认识发生了变化。
|loving_word |ENUM|(|'|hello', |'|world', |'|sublime') |NOT |NULL
引入此插件后,ctrl+right将在以下位置停止。
逗号不会被特别处理,而是简单地以单词末尾和符号末尾为终止点。
loving_word| ENUM|('|hello|',| '|world|',| '|sublime|')| NOT| NULL|
ctrl+left也是如此。简单地以单词开头和符号开头为终止点。
|loving_word |ENUM|('|hello|', |'|world|', |'|sublime|') |NOT |NULL
由于Sublime标准的行为本身就不太一致,因此我并没有刻意去实现再次。
关于鼠标拖动的说明
Sublime通常会在双击后,不释放鼠标按钮而直接拖动时,以单词为单位扩展选择范围。
在此插件中,我实现了双击时以单词为单位选择日语字符串的行为,但直接拖动时保持Sublime标准的行为。也就是说,日语字符串将被整体选择。
这是因为Sublime的on_hover()事件有一个很大的延迟,如果试图进行修改,则ascii字符串上的拖动体验会变差。
关于子词汇跳转的小贴士
使用下划线“_”进行停止的子词汇跳转,但在两侧存在的字符是大写还是小写时,其行为会有所不同。
例如,“AUTO_INCREMENT”和“auto_increment”在从左到右通过alt+right进行子词汇跳转时会在以下位置停止。
AUTO|_|INCREMENT|
auto|_increment|
这是由Sublime标准引起的,并非此插件引起的。