gpt4 book ai didi

vim - 禁止后续 h/j/k/l

转载 作者:行者123 更新时间:2023-12-02 18:39:44 25 4
gpt4 key购买 nike

我想强制自己不要按 jjjjj 而是使用 5j 。我正在寻找一种禁止/禁用此类后续运动使用的解决方案。

最初练习时我使用的是 h/j/k/l 而不是箭头

nnoremap <Left> :echoe "Use h"<CR>
nnoremap <Right> :echoe "Use l"<CR>
nnoremap <Up> :echoe "Use k"<CR>
nnoremap <Down> :echoe "Use j"<CR>

我尝试做类似的事情

nnoremap jj :echoe "Use xj"<CR>
nnoremap ll :echoe "Use xl"<CR>
nnoremap kk :echoe "Use xk"<CR>
nnoremap hh :echoe "Use xh"<CR>

但这导致即使使用5j跳转也需要等待vim超时。

最佳答案

我已经检查了 vim-hardtime,但它也阻止我做类似 2j9j 在超时内,我很难将其称为坏习惯,而是在导航时突然改变主意。

以下内容可能是一个起点(放入您的 .vimrc 文件中),您可以从中开发自己的插件:

nno <silent> j :<C-U>execute "call Restrictedj(" . v:count . ")"<CR>
let g:moved1 = v:false
fu! Restrictedj(count)
if a:count > 1
exe line('.') + a:count
let g:moved1 = v:false
else
if !g:moved1
exe line('.') + 1
else
echoe 'Use xj'
end
let g:moved1 = v:true
end
endf

这样的代码在第二次使用时会产生j(无计数)错误。

主要错误是您只能通过按 2j3j 或更多,而不是通过按任何其他键(这是可取的)。

原则上,可以通过按四个 hjkl< 中的每一个来修改该功能/kbd> 重新激活其余三个。但是我认为理想的是每个 hjkl 应该通过除再次按该键。

关于vim - 禁止后续 h/j/k/l,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32325131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com