我们可以在 Vimrc 中定义多个 <leader> 键吗?
Can we define more than one <leader> key in Vimrc?
如果我们想在 vimrc 文件中分配更多映射的快捷方式,那么我们有哪些选项?
我们可以使用多个领导密钥吗?
更改 mapleader
由于在定义映射时使用 mapleader
的值,因此您确实可以在加载插件时更改它。为此,您必须明确 :runtime
您的 ~/.vimrc
中的插件(并指望规范 include guard 以防止以后重新定义):
let mapleader = ','
runtime! plugin/NERD_commenter.vim
runtime! ...
let mapleader = '\'
runime! plugin/mark.vim
...
个别映射配置
然而,由于大多数插件允许通过 <Plug>...
映射(或类似 g:{pluginname}_mapleader
变量的方式)自定义映射,因此这种粗略的隔离应该是不必要的。您可以在 之前 单独配置映射(即在您的 ~/.vimrc
中):
nmap ,cc <Plug>NERDCommenterComment
xmap ,cc <Plug>NERDCommenterComment
nmap <Leader>m <Plug>MarkSet
合适的键
由于大多数钥匙都被拿走了,所以没有太多选择。我想最常见的前缀是:
- \
- ,
- Space
请注意,对于单独的映射配置,一个前缀键就足够了;只需添加额外的键来消除歧义。当然,这意味着调用所有(现在是两键甚至三键)的时间会更长。我通常为命名空间保留 <Leader>
之后的第一个键(例如 <Leader>c...
用于评论,<Leader>s...
用于替换),但这纯粹是个人喜好。
如果我们想在 vimrc 文件中分配更多映射的快捷方式,那么我们有哪些选项? 我们可以使用多个领导密钥吗?
更改 mapleader
由于在定义映射时使用 mapleader
的值,因此您确实可以在加载插件时更改它。为此,您必须明确 :runtime
您的 ~/.vimrc
中的插件(并指望规范 include guard 以防止以后重新定义):
let mapleader = ','
runtime! plugin/NERD_commenter.vim
runtime! ...
let mapleader = '\'
runime! plugin/mark.vim
...
个别映射配置
然而,由于大多数插件允许通过 <Plug>...
映射(或类似 g:{pluginname}_mapleader
变量的方式)自定义映射,因此这种粗略的隔离应该是不必要的。您可以在 之前 单独配置映射(即在您的 ~/.vimrc
中):
nmap ,cc <Plug>NERDCommenterComment
xmap ,cc <Plug>NERDCommenterComment
nmap <Leader>m <Plug>MarkSet
合适的键
由于大多数钥匙都被拿走了,所以没有太多选择。我想最常见的前缀是:
- \
- ,
- Space
请注意,对于单独的映射配置,一个前缀键就足够了;只需添加额外的键来消除歧义。当然,这意味着调用所有(现在是两键甚至三键)的时间会更长。我通常为命名空间保留 <Leader>
之后的第一个键(例如 <Leader>c...
用于评论,<Leader>s...
用于替换),但这纯粹是个人喜好。