如何在vim中启用map命令?

时间:2013-04-14 11:14:42

标签: perl vim perl-tidy

仅当filetype为'perl'时如何启用map命令?

类似的东西:

if(&ft=='perl')
  map ,pt <ESC>:%! perltidy<CR>
endif

但它不起作用。

3 个答案:

答案 0 :(得分:4)

  1. 创建文件~/.vim/after/ftplugin/perl.vim

  2. 将此行放在该文件中:

    nnoremap <buffer> ,pt <ESC>:%! perltidy<CR>
    

答案 1 :(得分:0)

我的.vimrc中有以下行。第一个为任何“perl”文件类型设置“tab”单元,第二个单元用perltidy键盘快捷键运行_t。有很多人没有得到你的确切答案,但肯定应该给你一些指示:

autocmd FileType perl set tabstop=4|set shiftwidth=4|set expandtab|set softtabstop=4
nnoremap <silent> _t :%!perltidy -q<Enter>
vnoremap <silent> _t :!perltidy -q<Enter>

我在.vimrc过去5年多来一直使用这些设置。如果能想出这些命令,那就归功于谁。我没有做出上述命令。

答案 2 :(得分:0)

我找到了更短的路。

将此行添加到〜/ .vimrc

au FileType perl nnoremap <buffer> _t <ESC>:%! perltidy<CR>