vim - 动态更改击键时的拼写检查

标签 vim spell-checking

你好,我发现了spelllang如果 Vim .我正在努力实现以下目标:

  1. 当我按 F7 时,会打开一个对话框,询问我是否要激活法语或英语词典 set spelllang=fr spellset spelllang=en spell
  2. 当我再次按 F7 时 spell已禁用

我可以在我的vimrc中轻松地做这样的事情吗? ?

干杯(我正在使用 gvim 和 windows,但我想这并不重要)

最佳答案

是的,您可以实现这一目标。我写了一个小脚本来进行说明。您可以将其按原样放入 .vimrc 中。

关键点是使用inputlist()提示用户输入数字。当然,您可以根据需要扩展包含可能语言列表的 spelllang_list

function! <SID>ToggleSpell()
    let spelllang_list = [ 'fr', 'en' ]
    let string = []

    for i in range(len(spelllang_list))
        call add(string, i+1 . ") " . spelllang_list[i])
    endfor

    if ! &spell
        let &spell = 1
        let selection = inputlist(string)
        let &spelllang = spelllang_list[selection-1]
    else
        let &spell = 0
        echo "'spell' disabled..."
    endif
endfunction

noremap <F7> :call <SID>ToggleSpell()<CR>

关于vim - 动态更改击键时的拼写检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17964612/

相关文章:

windows - Vim 打开一个新文件夹而不是一个启用了 `set enc=utf-8` 的现有文件

CSS 巨大的单行文件缩进不起作用

machine-learning - 姓名拼写检查机器学习

php拼写检查迭代优化

vim - 你能用占位符在 VIM 中创建模板吗?

vim 快捷方式用表达式替换光标下的字符?

vim - 是否有 Vim 命令删除文件中的所有折叠标记?

user-interface - Flyspell 正确单词的用户交互改进

python - 多词拼写更正

algorithm - 拼写检查城市名称?