gvim - 如何理解vim裡面的mapleader和localmapleader?
PHPz
PHPz 2017-05-16 16:42:29
0
2
1105

本人新手,最近學習使用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'###
PHPz
PHPz

学习是最好的投资!

全部回覆(2)
洪涛

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

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

我遇到的Vimwiki2HTML快捷鍵無法使用的問題是在"作怪".

用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>

限定了這個快捷鍵的作用範圍,那麼這個快捷鍵就只對後綴名稱是vimwiki的文件有效了,對其他格式的文件不起作用.

我之前對ftplugin不熟悉,對快捷鍵的作用域也不熟悉,所以沒調出這個快捷鍵來.在這裡也謝謝網友@xuelang的熱心幫助.

最後再補充一點,mapleader和localmapleader都是可自訂的.

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

如果你也遇到vimwiki某些快捷鍵無法使用的問題的時候,還可以使用

:set filetype=vimwiki

希望這個回答對遇到同樣問題的網友有所幫助. :)

黄舟

不需要在vimrc裡面設定localmapleader的值就能使用vimwiki-local-mappings的快捷鍵.

例如:
命令:Vimwiki2HTML在vimwiki中預設綁定的快捷鍵為wh, 也就是說打開vimviki文件後, 在普通模式下快速按wh這三個鍵即可生成相應的html文件了. 當然也可以自己重新定義快速鍵,如下:

nmap wc :Vimwiki2HTML

只需要在.vimrc中加入以上鍵匹配即可.
-------------------------------------------------- ------------
一般為鍵, 可以自行修改代表的鍵值. 可以查看幫助:

:help mapleader
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板