ZSaberLv0 / ZFVimIM

vim输入法 / Vim Input Method by pure vim script, support: user word, dynamic word priority, cloud db files
204 stars 14 forks source link

不想显示后面的拼音和状态栏信息 #46

Closed gVimer closed 2 years ago

gVimer commented 2 years ago

image 能不能把上面标出的地方去掉?我之前用的老版本是去掉了后面的拼音的 但是忘记改的是哪里 然后建议每次提交一个版本的时候加上TAG便于追溯

gVimer commented 2 years ago

第一个找到了设置即可 ZFVimIM_showKeyHint

ZSaberLv0 commented 2 years ago

底下那个是 vim 的 b:keymap_name (:h i_CTRL-^), 似乎是没有办法隐藏

gVimer commented 2 years ago

1、感觉没之前的版本流畅 (我之前的版本大概是去年六月份的) 2、个数超过pumwidth后不会显示滚动条 这个是现在的版本 Dingtalk_20220601201014 这个是之前的版本 显示了滚动条 Dingtalk_20220601201037

gVimer commented 2 years ago

RUIV8A94zz 在命令行下面输入 没看懂

ZSaberLv0 commented 2 years ago

感觉没之前的版本流畅

期间加了跨词库匹配, 多了一些排序和去重, 应该会略微慢一点 但也有发现 Windows 下跑久了会有较明显卡顿, Mac 下没发现有这问题, 目前也没找到具体什么原因


个数超过pumwidth后不会显示滚动条

这是有意为之, complete popup 用 <up>/<down> 选择是没法获取到具体选了哪项的, 尽量期望用户用 -/= 翻页并用 0-9 选择, 这种前提下去掉滚动条更符合直觉


PassToTerm 问题

这个是通过 tmapterminal 进到 command-line-window 来输入, 是在 terminal window 中 insert mode 时使用的, 不是在 : 中输入 ;;

正常情况应该是在这个状态开始输入: image

gVimer commented 2 years ago

我就是在WIN下用的GVIM 反正感觉没之前的好 然后就是下面的文字输入还是有问题 我个人不是很喜欢用翻页 还是喜欢用C-n/C-p or C-j/C-K来选择 因为这样移动也快 手指不需要离开当前区域 毕竟按-/=需要抬一下手 PmlT2mgsjt

ZSaberLv0 commented 2 years ago
function! PassToTerm(text)
    let @t = a:text
    if has('nvim')
        call feedkeys('"tpa', 'nt')
    else
        call feedkeys("a\<c-w>\"t", 'nt')
    endif
    redraw!
endfunction
command! -nargs=* PassToTerm :call PassToTerm(<q-args>)
tnoremap ;; <c-\><c-n>q:a:PassToTerm<space>

试试这个, 可能有东西被 remap 了


翻页问题, 旧版本 vim 不支持 v:completed_item, <up>/<down> 之类的没法正常获取到所选择的项, 空格默认是按第一项处理, 你那样使用会造成自造词识别错误

比如当前状态是这样:

好de
  1 德
  2 的

<down> 之后按空格, 虽然输入的确实是 好的, 但自造词能取到的是 好德

此外, <up>/<down> 造成翻页后也会造成数字键选词和 -/= 翻页的逻辑出问题

至少目前没找到有什么别的更好方法能绕过这些问题, 除非将所有上下选择的键都 remap 了, 但这样感觉问题会更多


EDIT: 可以更新下, 试试 let g:ZFVimIM_freeScroll=1, 需要 exists('v:completed_item') && exists('*json_encode')

gVimer commented 2 years ago

不好意思 才注意到后面这句let g:ZFVimIM_freeScroll=1 嗯 这个就是我要的效果 跟之前的一样了 但是新问题也出现了 image 如果不设置let g:ZFVimIM_freeScroll=1 输入好像还可以了 如果设置后跟老版本比 输入还是有点卡 对了 我用的词库是pinyin_huge有6M多 卡顿明显 这个是老版本的输入效果 gVim_ZVxHRQlFia 这个是新版本带滚动条的 gVim_LN753n6pEB

ZSaberLv0 commented 2 years ago

性能相关问题, 可以更新一下试试, 之前添加了每个词根据 priority 排序的功能, 大词库 sort 非常费时, 似乎一般也用不上, 去除了这个功能


image

自由翻页问题, 主要这个感觉比较奇怪, 而且实际上超过 10 的标签也不支持数字快捷选词, 展示索引也很奇怪, 位数也不好对齐 所以, 你希望这个展示 9 0 11 还是按 9 10 11 展示但 0 可以选择 10 ?

gVimer commented 2 years ago

OyMkBtP1wa 这个老版本就是这样的 数字对齐选择的右对齐 比你上面的那个要好 其实我是不会去用数字选择的 我还是选择用按键 <C-J><C-K> 这样快速选择 我觉得比去用数字选择好因为这几个键离手近 性能问题 明天去公司了更新了再试

gVimer commented 2 years ago

没有滚动条也容易让人误解只有这一页 有了之后也美观了一些 个人认为

ZSaberLv0 commented 2 years ago

可以更新试试看

gVimer commented 2 years ago

早上进行了各种体验 感觉还不错

let g:ZFVimIM_showKeyHint     = 0
let g:ZFVimIM_freeScroll      = 1
let g:ZFVimIM_openapi_enable  = 1
let g:ZFVimIM_predictLimit    = 50

目前有两个小问题: ①、超过了设置的50上限 还有就是目前默认设置为1000 建议设为99 image ②、虽然我已经注掉了下面的redraw但是在切换输入法的时候还是会闪屏 image gVim_HBkmo7Ix69 这两个问题在之前的版本上都没有的

ZSaberLv0 commented 2 years ago

①、超过了设置的50上限 还有就是目前默认设置为1000 建议设为99 predict 确实是 50 个, 但还有其他类型, 因为有跨词库匹配, 精确限制这个的意义不是很大

②、虽然我已经注掉了下面的redraw但是在切换输入法的时候还是会闪屏 let g:ZFVimIME_enableOnInsertOnly = 0 参见 https://github.com/ZSaberLv0/ZFVimIM/issues/43 , 简单的说就是目前默认在 normal 状态时会自动禁用输入法, 以便其他补全插件的功能还能正常用

gVimer commented 2 years ago

不好意思 我表述不准确 不是切换输入法 而是开关输入法 也就是调用下面两个映射的时候

nnoremap <expr><silent> <C--> ZFVimIME_keymap_toggle_n()
inoremap <expr><silent> <C--> ZFVimIME_keymap_toggle_i()
ZSaberLv0 commented 2 years ago

https://github.com/ZSaberLv0/ZFVimIM/commit/bc9e45009cf2c3a739106d9bf3dc27ff74fa21f0#diff-68d6a88988bedee696c1c7262ff16178a072612e1b07a9434d7acb3b6aa2a69aR185 更新下试试