gpt4 book ai didi

vim - 两全其美 : arrow keys for cursor movement or flipping through buffers

转载 作者:行者123 更新时间:2023-12-01 10:13:52 25 4
gpt4 key购买 nike

我真的很喜欢这个 vim 技巧,它使用向左和向右箭头在缓冲区之间切换:

"left/right arrows to switch buffers in normal mode
map <right> :bn<cr>
map <left> :bp<cr>

(把它放在 ~/.vimrc 中)

但有时我在滚动文件时正在咀嚼三明治或其他东西,我真的希望箭头键能够正常工作。我认为只有当实际上打开了多个缓冲区时,箭头键才具有上述缓冲区翻转功能才最有意义。

有没有一种方法可以扩展上述内容来实现这一点?

最佳答案

我宁愿有一个完全不同的映射,因为:

  • 游标真的很有用,因为你有一个隐藏的缓冲区而没有它们会让你很烦
  • 一些插件使用<left><right>因为它们比 l 更容易混淆和 h ;这些插件可能会破坏此类映射

无论如何,你可以试试这个:

nnoremap <expr> <right> (len(filter(range(0, bufnr('$')), 'buflisted(v:val)')) > 1 ? ":bn\<cr>" : "\<right>")
nnoremap <expr> <left> (len(filter(range(0, bufnr('$')), 'buflisted(v:val)')) > 1 ? ":bp\<cr>" : "\<left>")

要查看有关上述部分的文档:

:h :map-<expr>
:h len()
:h filter()
:h range()
:h bufnr()
:h buflisted()

关于vim - 两全其美 : arrow keys for cursor movement or flipping through buffers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2962125/

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