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

我最终在_vimrc下加入的是:

1 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>

posted on 2013-01-28 23:24  龙豆  阅读(1150)  评论(0编辑  收藏  举报

导航