2012-08-10 9 views
8

na OS X, w dowolnym programie, gdy wpisuję Option str uzyskać π, opcja-P uzyskać i tam kilka wiązań, które tylko zwracają grecki i inne znaki specjalne.Jak nie dać się znaki specjalne zamiast meta kombinacji klawiszy dla VIM na OS X

Czy istnieje sposób, aby to wyłączyć?

Obecnie używam Auto Pairs VIM plugin i posiada następujące domyślne odwzorowania:

<M-p> : Toggle Autopairs (g:AutoPairsShortcutToggle) 
<M-e> : Fast Wrap (g:AutoPairsShortcutFastWrap) 
<M-n> : Jump to next closed pair (g:AutoPairsShortcutJump) 
<M-b> : BackInsert (g:AutoPairsShortcutBackInsert) 

Wydaje się, że nie mogą korzystać z tych i innych kluczowych na podstawie meta mapowania VIM podczas tego specjalnego wejście jest włączone.

EDIT

Od this cnet article w prawdzie Muszę wiedzieć, jak wyłączyć ten specjalny wkład pokazany na dole strony.

Odpowiedz

13

użyć ustawienia macmeta: :set macmeta

Od :help 'macmeta'

użyć opcji 'macmeta' (alt) jako klucz meta. Po włączeniu klawisze opcji nie są interpretowane, co umożliwia powiązanie z <M-..>. Po wyłączeniu naciśnięcia przycisku opcji są interpretowane przez wybraną metodę wprowadzania i wstawiane jako tekst.

Oczywiście jest to ustawienie tylko dla MacVim.

W Ustawieniach Terminal.app znajduje się ustawienie "Użyj opcji jako klucz meta", pod zakładką Klawiatura, która wyłącza np. Opcja-p drukowanie π. Może być konieczne uruchomienie nowego okna terminala, aby zobaczyć efekt. Ale z jakiegoś powodu, nawet po wyłączeniu tego, mam problem z ustawianiem odwzorowań na <M-p>, ale mapowania przy użyciu Ctrl-v i wstawiania znaku dosłownie do pracy.

+3

Jedynym zastrzeżeniem jest to, że jest on dostępny {tylko w MacVim GUI} = (. Chciałbym wiedzieć jak go wyłączyć z systemu –

+2

lub aby go też uzyskać na terminalu, wreszcie dla macvima ... –

3

Cóż, wydaje się, że z MacVimem, w moim .vimrc mogę po prostu odwzorować te znaki specjalne i będzie działać zarówno na GUI, jak i na Terminalu.

Ponieważ są generowane przez odpowiednie kombinacje klawiszy meta, będzie wyglądać jak mapowanie meta.

EDIT

Niektóre znaki specjalne akcenty i może nie działać dobrze dla nich.

Robiłem to na moją .vimrc:

if has("gui_macvim") 
    let g:AutoPairsShortcutToggle  = 'π' " <m-p> 
    let g:AutoPairsShortcutFastWrap = '∑' " <m-w> 
    let g:AutoPairsShortcutJump  = '∆' " <m-j> 
    let g:AutoPairsShortcutBackInsert = '∫' " <m-b> 
endif 

has("gui_macvim") jest prawdziwe zarówno w GUI na terminalu, gdy uruchomiony MacVim.