帮酷LOGO
  • 显示原文与译文双语对照的内容
文章标签:VIM  LANG  POW  LAN  languagetool  
A powerful grammar checker for Vim using LanguageTool.

  • 源代码名称:vim-grammarous
  • 源代码网址:http://www.github.com/rhysd/vim-grammarous
  • vim-grammarous源代码文档
  • vim-grammarous源代码下载
  • Git URL:
    git://www.github.com/rhysd/vim-grammarous.git
  • Git Clone代码到本地:
    git clone http://www.github.com/rhysd/vim-grammarous
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/rhysd/vim-grammarous
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • grammarous

    Vim grammarous是一个强大的Vim语法检查器。 只需做 :GrammarousCheck 查看强大的检查。 这里插件自动下载 LanguageTool插件,它需要 java5 + 。

    这里插件可以在 Vim 8.0.27 ( 或者更高) 或者Neovim上使用作业功能。 它启用异步命令执行,因此在检查Vim8+或者Neovim上的检查之前不需要阻塞。

    demo screen cast

    命令

    :[range]GrammarousCheck [--lang={lang}] [--(no-)preview] [--(no-)comments-only]

    执行当前缓冲区( 当指定 [range] 时,目标是范围内的文本)的语法检查器。

    • 它使LanguageTool检查语法( 需要一段时间)
    • 它突出了检测到的语法错误的位置
    • 在将光标移到错误位置时,它会自动显示信息窗口中的错误。

    请执行 :GrammarousCheck --help 以显示有关命令的更多详细信息。

    :GrammarousReset

    重置当前检查。

    映射

    信息窗口中的本地映射

    当光标移动到错误时,你可以在信息窗口中使用一些映射来显示错误的详细信息。

    映射描述
    q退出信息窗口
    <CR>移动到错误的位置
    f自动将错误固定为
    r删除错误而不修复
    r禁用选中缓冲区中的语法规则
    n移动到错误的下一个位置
    p移动到以前的错误位置
    ?在信息窗口中显示映射的帮助

    <Plug> 映射在任何位置执行操作

    vim-grammarous在正常模式下提供这些全局映射。 你可以通过 :nmap 将它们设置为你喜欢的键。 然而,上的映射足以处理语法错误。 并不总是必要的。

    映射描述
    <Plug>(grammarous-move-to-info-window)将光标移动到信息窗口
    <Plug>(grammarous-open-info-window)打开光标下错误的信息窗口
    <Plug>(grammarous-reset)重置当前检查
    <Plug>(grammarous-fixit)自动修复光标下的错误
    <Plug>(grammarous-fixall)自动修复当前缓冲区中的所有错误
    <Plug>(grammarous-close-info-window)从选中的缓冲区关闭信息窗口
    <Plug>(grammarous-remove-error)移除光标下的错误
    <Plug>(grammarous-disable-rule)禁用光标下的语法规则
    <Plug>(grammarous-move-to-next-error)将光标移动到下一个错误
    <Plug>(grammarous-move-to-previous-error)将光标移动到上一个错误

    运算符映射

    算子映射在文本对象指定的范围内检查语法错误。 当安装 vim-operator-user 时,这里映射可用。

    映射描述
    <Plug>(operator-grammarous)对文本对象执行语法检查

    grammarous unite.vim-源

    如果你是用户,那么可以通过 grammarous 联合源代码incrementally查找和搜索错误列表。 对于列表的候选项,你可以执行与信息窗口中的操作相同的操作。 ( fixitremove errordisable rule ) 在已经检查的缓冲区中执行以下命令或者你想检查。

    :Unite grammarous

    grammarous denite.nvim-源

    对于 denite.nvim 用户,可以使用 grammarous denite源。 注意,这种类型目前设置为 file,这意味着用户可以使用的动作只限于 open(jump), 预览,在缓冲区中的命令中执行的是 等等 。

    :Denite grammarous

    修复示例

    常见问题解答

    默认情况下,如何只在源代码中检查注释?

    请使用 g:grammarous#default_comments_only_filetypes

    例如以下设置使语法检查器只检查注释,但 Markdown 和vim帮助除外。

    letg:grammarous#default_comments_only_filetypes = {
     '*' : 1, 'help' : 0, 'markdown' : 0,
     }

    一些规则惹恼了我。

    请使用 g:grammarous#disabled_rules 禁用特定规则。

    例如下面设置将禁用每个文件的某些规则。 * 表示所有文件类型,help 表示vim帮助。

    letg:grammarous#disabled_rules = {
     '*' : ['WHITESPACE_RULE', 'EN_QUOTES'],
     'help' : ['WHITESPACE_RULE', 'EN_QUOTES', 'SENTENCE_WHITESPACE', 'UPPERCASE_SENTENCE_START'],
     }

    当你禁用信息窗口中的规则时,则在 Vim 命令行 中显示规则名称 <Plug>(grammarous-disable-rule)

    :如何将这个插件与vim的一起使用

    请使用 g:grammarous#use_vim_spelllang 。默认 0来启用 1.

    只在检查后才使用上面的<Plug> 映射。

    on_checkon_reset 可用。

    例如以下设置在完成检查时将 <C-n><C-p> 映射定义为缓冲区本地映射。 重新设置检查时它们被清除。

    letg:grammarous#hooks = {}function!g:grammarous#hooks.on_check(errs) abortnmap<buffer><C-n><Plug>(grammarous-move-to-next-error)
     nmap<buffer><C-p><Plug>(grammarous-move-to-previous-error)endfunctionfunction!g:grammarous#hooks.on_reset(errs) abortnunmap<buffer><C-n>nunmap<buffer><C-p>endfunction

    我想使用系统全局LanguageTool命令

    g:grammarous#languagetool_cmd 可以用于以下目的。 如果将某个命令设置为 .vimrcg:grammarous#languagetool_cmd,vim grammarous不会安装自己的LanguageTool jar 并使用命令运行 LanguageTool 。

    letg:grammarous#languagetool_cmd ='languagetool'

    我想在 :GrammarousCheck 之后立即查看信息窗口中的第一个错误

    请将 g:grammarous#show_first_error 设置为 1 。 在 :GrammarousCheck 立即出现错误时,它会打开一个信息窗口。

    自动安装

    这个插件尝试在第一次使用 curl 或者 wget 命令安装 LanguageTool 。 如果失败,你应该手动安装它。 请下载LanguageTool的zip文件并将它的解压缩到 path/to/vim-grammarous/misc

    要求

    的未来

    • 忽略特定区域: 启用以指定 vim-grammarous不应检查的区域。 对gfm码块有帮助。
    • 增量grammarous检查: 仅在开始输入和离开插入模式时检查输入的语句。

    捐赠

    如果你找到了一些 Bug,请将它报告给发布页面。 欢迎请求。它们中的任何一个都不太短。

    许可证

    Copyright (c) 2014 rhysd
    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the"Software"), to deal
    in the Software without restriction, including without limitation the rights
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
    of the Software, and to permit persons to whom the Software is furnished to do so,
    subject to the following conditions:
    The above copyright notice and this permission notice shall be included in all
    copies or substantial portions of the Software.
    THE SOFTWARE IS PROVIDED"AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
    INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
    PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
    LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
    TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
    THE USE OR OTHER DEALINGS IN THE SOFTWARE.


    文章标签:LAN  POW  LANG  VIM  languagetool  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语