我真的很喜欢这个使用左右箭头在缓冲区之间翻转的
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,'buflisted(v:val)')) > 1 ? ":bp\<cr>" : "\<left>")
要查看上述文章的文档:
:h :map-<expr> :h len() :h filter() :h range() :h bufnr() :h buflisted()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。