Vim:Receive char on函数用于制表

Vim:Receive char on函数用于制表,vim,alignment,tabular,Vim,Alignment,Tabular,我学会了用这个: let mapleader=',' if exists(":Tabularize") nmap <Leader>a= :Tabularize /=<CR> vmap <Leader>a= :Tabularize /=<CR> endif 让mapleader=',' 如果存在(“:列表化”) nmap a=:表格化/= vmap a=:表格化/= 恩迪夫 可以给我一个用“=”字符制表的快捷方式。但是我想把它概括一下,

我学会了用这个:

let mapleader=','
if exists(":Tabularize")
  nmap <Leader>a= :Tabularize /=<CR>
  vmap <Leader>a= :Tabularize /=<CR>
endif 
让mapleader=','
如果存在(“:列表化”)
nmap a=:表格化/=
vmap a=:表格化/=
恩迪夫
可以给我一个用“=”字符制表的快捷方式。但是我想把它概括一下,这样我就可以使用一些快捷方式,比如:

<Leader>a$
<Leader>a*
a$
a*
它将读取“$”或“*”字符,并将其用作“要制表的字符”。即,将此字符传递给
:制表/char
函数


有什么想法吗?

如果将If块放在vimrc中,它将永远不会工作,因为vimrc是在任何插件之前获得的,因此:tablarize命令在expresion
存在(“:tablarize”)
被计算时还不存在,它将始终为false

您可以使用以下映射:

nnoremap <Leader>a :Tabularize /
vnoremap <Leader>a :Tabularize /
nnoremap a:制表/
vnoremap a:表格化/

因此,当您按下时,*将处于命令行模式,并带有
:Tabularize/*
,准备按Enter。

如果您将If块放在vimrc中,它将永远不会工作,因为vimrc是在任何插件之前源代码的,所以当expresion
存在(“:Tabularize”)时,:Tabularize命令还不存在
将被计算,它将始终为false

您可以使用以下映射:

nnoremap <Leader>a :Tabularize /
vnoremap <Leader>a :Tabularize /
nnoremap a:制表/
vnoremap a:表格化/

因此,当您按下时,*您将处于命令行模式,并使用
:Tabularize/*
,准备按Enter键。

感谢您的修复和提示。我的结论是:
nmap t:Tabularize/
感谢您的修复和提示。我的结果是:
nmap t:Tabularize/