3

我正在尝试为 FileType 设置映射perl。该映射适用于我忘记在行尾使用分号的情况。

所以首先我尝试在我的 .vimrc 中添加autocmd! FileType perl nnoremap <leader>; $a;<esc>它,它工作得很好,但我没有想到使用.vimrc ftlugin/perl.vim

所以我在我的对应中添加了以下行~/.vim/after/ftplugin/perl.vim

nnoremap <buffer> <leader>; $a;<esc>

但它没有用。

知道为什么它不起作用吗?

我的 perl 版本是perl 5, version 14.

4

2 回答 2

2

尝试将文件放入~/.vim/ftplugin/perl.vim而不是~/.vim/after/ftplugin/perl.vim. 来自:help after-directory

                      *after-directory*
4. In the "after" directory in the system-wide Vim directory.  This is
   for the system administrator to overrule or add to the distributed
   defaults (rarely needed)
5. In the "after" directory in your home directory.  This is for
   personal preferences to overrule or add to the distributed defaults
   or system-wide settings (rarely needed).

来自:help ftplugin

如果您确实想使用默认插件,但否决了其中一项设置,您可以在脚本中编写不同的设置:>

设置本地文本宽度=70

现在把它写在 "after" 目录中,这样它就可以在分发的 "vim.vim" ftplugin |after-directory| 之后获取。对于 Unix,这将是 "~/.vim/after/ftplugin/vim.vim"。请注意,默认插件将设置“b:did_ftplugin”,但此处将其忽略。

于 2012-09-05T19:56:05.867 回答
0

我刚刚注意到让我发疯的一件事:<buffer>必须小写!出于习惯,我把我所有的<BRACKET>前缀都大写了……我对<BUFFER>. 我的 ftplugin 映射都不起作用,我无法弄清楚......直到我浪费时间尝试不同的东西,才发现它必须是小写<buffer>的。

于 2017-01-16T15:16:46.087 回答