为什么我的vim映射不起作用?

时间:2011-12-16 21:14:19

标签: vim mapping

我按照指南here创建了vim mapppings。将以下内容放入我的.vimrc文件

let mapleader=','
if exists(":Tabularize")
  nmap <Leader>a= :Tabularize /=<CR>
  vmap <Leader>a= :Tabularize /=<CR>
  nmap <Leader>a: :Tabularize /:\zs<CR>
  vmap <Leader>a: :Tabularize /:\zs<CR>
endif

页面说明当我输入,a=时,它应告诉Tabularize对齐我的线条。但是它会在光标所在的位置插入字符=

我安装了Tabularize,:Tabularize命令在没有映射的情况下调用它时可以正常工作。

我做错了什么?

2 个答案:

答案 0 :(得分:12)

在加载插件之前,会读取并执行您的.vimrc文件,因此未定义:Tabularize

要了解启动时调用各种脚本的确切顺序,可以运行命令:

:scriptnames

您可以通过以下方式了解初始化过程的详细信息:

:help startup

答案 1 :(得分:0)

确保将mapleader设置为,。最初它映射到\

要完成此操作,请将其添加到vimrc或在命令窗口中输入:

let mapleader=","

虽然从您的代码中看起来您正在执行此操作,但您必须确保它不会在某处重置。要查看当前在命令窗口中键入let mapleader的内容。