分页: 1 / 2

Vim 不认中文句子

发表于 : 2009-06-07 10:20
nickleeh
在我想用

代码: 全选

)    下一个句子
(    上一个句子
移动时,发现Vim不认中文的句号。

我查了Vim的帮助文档,Sentence的定义是
*sentence*
A sentence is defined as ending at a '.', '!' or '?' followed by either the
end of a line, or by a space or tab. Any number of closing ')', ']', '"'
and ''' characters may appear after the '.', '!' or '?' before the spaces,
tabs or end of line. A paragraph and section boundary is also a sentence
boundary.
If the 'J' flag is present in 'cpoptions', at least two spaces have to
follow the punctuation mark; <Tab>s are not recognized as white space.
The definition of a sentence cannot be changed.
请问如何能把中文的句号,叹号,问好加进去?这样Vim就识别中文句子了。

注:我是在Windows下使用gVim 7.2.

Re: Vim 不认中文句子

发表于 : 2009-06-07 10:41
BigSnake.NET
The definition of a sentence cannot be changed.

Re: Vim 不认中文句子

发表于 : 2009-06-07 10:42
leeaman
英文标点好一点吧?

Re: Vim 不认中文句子

发表于 : 2009-06-07 10:49
lll9p
The definition of a sentence cannot be changed.
这句话说明了。。。

Re: Vim 不认中文句子

发表于 : 2009-06-07 13:28
sarrow
真要实现这个功能,自己写一个脚本不就行了么?

Re: Vim 不认中文句子

发表于 : 2009-06-08 1:21
starwing
在vimrc里面加入下面两行:
nmap ( ?。\|?\|!<CR>
nmap ) /。\|?\|!<CR>

当然你可以自己加…………

Re: Vim 不认中文句子

发表于 : 2009-06-09 9:43
nickleeh
starwing 写了:在vimrc里面加入下面两行:
nmap ( ?。\|?\|!<CR>
nmap ) /。\|?\|!<CR>

当然你可以自己加…………
可是这样英文的句子又不认了呀!

在翻译的时候,是一段英文,对应一段中文的,也就是说,中英文混排的。

Re: Vim 不认中文句子

发表于 : 2009-06-09 9:43
nickleeh
sarrow 写了:真要实现这个功能,自己写一个脚本不就行了么?
请教高手这个脚本怎么写?

Re: Vim 不认中文句子

发表于 : 2009-06-09 9:44
nickleeh
lll9p 写了:The definition of a sentence cannot be changed.
这句话说明了。。。
如果这样的话,Vim岂不是把中国用户忽略了?不是很理解。

Re: Vim 不认中文句子

发表于 : 2009-06-09 9:47
eexpress
nmap 里面,继续加英文标点啊。

Re: Vim 不认中文句子

发表于 : 2009-06-09 15:57
nickleeh
eexpress 写了:nmap 里面,继续加英文标点啊。
nmap不起作用啊!不知道是怎么回事!

Re: Vim 不认中文句子

发表于 : 2009-06-09 16:00
nickleeh
其实我觉得Vim使用起来挺方便的,各个选项更改也很顺手,怎么就中文句子没法识别呢?期待高人解决!

Re: Vim 不认中文句子

发表于 : 2009-06-09 16:59
roylez
nickleeh 写了:
starwing 写了:在vimrc里面加入下面两行:
nmap ( ?。\|?\|!<CR>
nmap ) /。\|?\|!<CR>

当然你可以自己加…………
可是这样英文的句子又不认了呀!

在翻译的时候,是一段英文,对应一段中文的,也就是说,中英文混排的。
他说了可以后面加的。

代码: 全选

nmap ( ?。\|?\|!\|.\|?\|!<CR>
你还可以琢磨下怎么在搜索的时候去掉高亮。

Re: Vim 不认中文句子

发表于 : 2009-06-09 18:30
nickleeh
roylez 写了:
nickleeh 写了:
starwing 写了:在vimrc里面加入下面两行:
nmap ( ?。\|?\|!<CR>
nmap ) /。\|?\|!<CR>

当然你可以自己加…………
可是这样英文的句子又不认了呀!

在翻译的时候,是一段英文,对应一段中文的,也就是说,中英文混排的。
他说了可以后面加的。

代码: 全选

nmap ( ?。\|?\|!\|.\|?\|!<CR>
你还可以琢磨下怎么在搜索的时候去掉高亮。
这样的nmap无效!
我不知道什么原因,map后的`('和`)'找不到中文句号!

E486:找不到模式!

Re: Vim 不认中文句子

发表于 : 2009-06-09 20:13
roylez
已经说了方向了,细节自己去查吧。

代码: 全选

nmap ( ?[。?!.?!]<CR>