如何理解vim里面的mapleader和localmapleader?

发布于 2022-08-25 00:00:25 字数 810 浏览 23 评论 0

本人新手,最近学习使用vimwkiki插件,但是里面的部分快捷键无法使用。
3. Mappings |vimwiki-mappings|
3.1. Global mappings |vimwiki-global-mappings|
3.2. Local mappings |vimwiki-local-mappings|
------------------------------------------------------------------------

  1. vimwiki_<Leader>wh*

<Leader>wh Convert current wiki page to HTML.
Maps to |:Vimwiki2HTML|
To remap: >
:nmap <Leader>wc <Plug>Vimwiki2HTML
------------------------------------------------------------------------
根据vimwiki的帮助文档来看,出问题的在3.2节描述的local mappings.

百度搜索着两个key words,都是重复的内容;Google之,又有些看不懂 T.T

需要在vimrc里面设置localmapleader的值才能使用vimwiki-local-mappings的快捷键吗?

我使用的vimwiki版本是 Version: 2.0.1 'stu'

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无人问我粥可暖 2022-09-01 00:00:25

引用vim中文文档(http://vimcdoc.sourceforge.net)的解释:

在一个全局插件里应该使用 <Leader> 而在一个文件类型插件里应该用 <LocalLeader>。
"mapleader" 和 "maplocalleader" 可以是相同的。尽管如此,如果你把它们设为不同,
全局插件和文件类型插件的映射冲突的机会是不是会小一点呢?例如,你可以保持把
"mapleader" 设置为缺省的反斜杠,而设置 "maplocalleader" 为下划线。

我遇到的Vimwiki2HTML快捷键无法使用的问题是<buffer>在"作怪".

用pathogen安装完vimwiki插件后,在~/.vim/bundle/vimwiki/ftplugin下有一个vimwiki.vim文件,里面有一个转换wiki到HTML的快捷键定义如下:

if !hasmapto('<Plug>Vimwiki2HTML')
  nmap <buffer> <Leader>wh <Plug>Vimwiki2HTML
endif
nnoremap <script><buffer>
      \ <Plug>Vimwiki2HTML :Vimwiki2HTML<CR>

<buffer>限定了这个快捷键的作用范围,那么这个快捷键就只对后缀名称是vimwiki的文件有效了,对其他格式的文件不起作用.

我之前对ftplugin不熟悉,对快捷键的作用域也不熟悉,所以没调出这个快捷键来.在这里也谢谢网友@xuelang的热心帮助.

最后再补充一点,mapleader和localmapleader都是可自定义的.

let mapleader = "\\"
let localmapleader = ","

如果你也遇到vimwiki某些快捷键无法使用的问题的时候,还可以使用

:set filetype=vimwiki

希望这个回答对遇到同样问题的网友有所帮助. :)

帅哥哥的热头脑 2022-09-01 00:00:25

不需要在vimrc里面设置localmapleader的值就能使用vimwiki-local-mappings的快捷键.

例如:
命令:Vimwiki2HTML在vimwiki中默认绑定的快捷键为<leader>wh, 也就是说打开vimviki文件后, 在普通模式下快速按\wh这三个键即可生成相应的html文件了. 当然也可以自己重新定义快捷键,如下:

nmap <Leader>wc :Vimwiki2HTML

只需要在.vimrc中添加以上键匹配即可.
--------------------------------------------------------------
<leader>一般为\键, 可以自行修改<leader>代表的键值. 可以查看帮助:

:help mapleader

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文