您的位置:首页 > 编程语言 > ASP

Vim 中设置对 Aspell 的支持 (windows)

2013-01-28 23:24 369 查看
我最终在_vimrc下加入的是:

map <F9> :w!<CR>:!E:\Aspell\bin\aspell --lang=en check %<CR>:e! %<CR>


即按 F9 执行 aspell 对当前文件的检查

注:vimrc中 %号 表示当前文件

E:\Aspell\bin\aspell 改成自己的aspell所在目录

========== [以下是参考文献] ===========

[转] http://ar.newsmth.net/thread-5ad4875c9af373.html
一直想让vim在winxp下也可以spell check,这样就可以随意的使用beloved vim
来写tex了,不用老得用winedt去检查一下spell。

于是昨天就下了个aspell,装上了。

或许大家都看到过vimaspell.vim或vimispell.vim这两个文件,其实把它们放到
*nix下工作是完全没有问题的,它可以直接调用ispell或aspell。但是在win32下,
由于vim通过cmd.exe 来执行外部命令,所以即使你把aspll添加到PATH里也没用,
vim不能用这个教本来check spell.我想一会儿再看看vimaspell.vim里面是怎么
找到aspell命令的,或许可以解决。

另一个常见的解决方法就是:
map ^T :w!<CR>:aspell check %<CR>:e! %<CR>

注意:^T是<CTRL+V><CTRL+T>的组合,在win32下是敲不出来的,因为
<CTRL+V>是paste的shortcut。一个办法就是到*nix下写到一个文件里,在拷贝回来,
在vi中用:r命令读入。---我自己就是这么弄的,笨了点儿!哪位有好办法请
指教! [转者注:(见上)不用^T,而用<F9>之类]

事实上,直接把这条map指令放到_vimrc里还是没用的,原因就是上面讲的,cmd.exe
根本找不到aspell.

所以只好把你的aspll的完全路径加上:--我的是这样的:
map ^T :w!<CR>:d:\Aspell\bin\aspell check %<CR>:e! %<CR>

好了,启动vi,随便找个文件,当然要有错误的单词了,不然check what :),
press CTRL+T,是不是看到DOS窗口中居然又有错误?大致是不是这样讲的:

Error: no word lists can be found for the language "zh_CN"
shell return 1

肯定是的,不过到这里就容易多了,
在你的vi里来这么一下:
:lan en
或者
:lan en_US
除非你用的是e版系统,中文系统出这个问题很正常,只要暂时修改一下language属性
就可以了。

现在再来一次CTRL+T

是不是在一个DOS窗口中出来了让你激动不已的冬冬?

这是自己的一点收获,欢迎大家拍板砖!

最后的应该是:
map ^T :w!<CR>:lan en<CR>:!<path_to_aspell>\bin\aspell check %<CR>:e! %<CR>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: