Vim: Получить символ на функцию для табулирования - PullRequest
1 голос
/ 19 апреля 2011

Я узнал, что с помощью этого:

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

дал бы мне ярлык для табулирования с символом '='. Но я хотел бы обобщить это, чтобы я мог использовать некоторые ярлыки, такие как:

<Leader>a$
<Leader>a*

И он будет читать символ «$» или «*» и использовать его как «символ для табулирования». Т.е. передать этот символ в функцию :Tabularize /CHAR

Есть идеи?

1 Ответ

4 голосов
/ 19 апреля 2011

Если вы поместите этот блок в ваш vimrc, он никогда не будет работать, потому что vimrc поставляется перед любыми плагинами, поэтому команда : Tabularize еще не существует, когда вычисляется выражение exists(':Tabularize') ионо всегда будет ложным.

Вы можете использовать эти сопоставления:

nnoremap <Leader>a :Tabularize /
vnoremap <Leader>a :Tabularize /

Поэтому, когда вы нажимаете , a * вы останетесь в режиме командной строки с :Tabularize /*, готовый к нажатию Введите .

...