2012-01-22 12 views
12

Ho cercato vicino e lontano, e non ho trovato un plugin che possa semplicemente chiudere automaticamente una serie di parentesi come Textmate. Ad esempio:Vim plug-in per parentesi 'chiuso automaticamente'?

Vim  : (*manually close parens* →) 
Textmate: (*Auto closes parens*) 

Se è possibile descrivere un plug-in per questo, sarò molto utile. Grazie!

risposta

10

io uso AutoPairs. È possibile ottenere qui:

https://github.com/jiangmiao/auto-pairs.git

Se leggete i documenti, ha un sacco di opzioni che coprono la maggior parte delle eventualità.

+0

auto-coppie potrebbero rompersi alcune mappe chiave. Ad esempio å non funziona con le tastiere svedesi (ma non con Å). – lindhe

+0

Funziona perfettamente con la tastiera portoghese – Nelio

1

Sto mantenendo un plug-in che semplifica l'inserimento di caratteri bilanciati simili a quelli di una parentesi e che supporta anche l'inserimento di parole/linee/selezione.

https://github.com/LucHermitte/lh-brackets/#the-bracketing-subsystem

I collegamenti predefiniti per C & C++ descritti in lh-cpp page.

+0

questa è una buona scelta, anche se ci vuole un po 'per passare attraverso i documenti da quando im usando un sacco di roba di lh ed è un po' travolgente. Non ho ancora capito bene perché sta generando artefatti extra dopo gli inserimenti ma solo nei file di lingua .vim. – osirisgothra

+0

La roba di estrazione è certamente i segnaposto. Puoi passare al segnaposto successivo con '' se stai usando gvim, '' (IIRC) con vim. In C & C++, ';' proverò a chiudere tutti i segnaposto dopo il cursore quando viene seguito da parentesi di chiusura e chiudendo '". Ora, se si hanno segnaposto solo in file .vim e non in altri file, dovremo investigare ulteriormente. Proviamo a farlo domani via email o tramite il tracker su google-code. –

3

Per quelli di noi che vogliono andare alla vim modo semplice:

ino " ""<left> 
ino ' ''<left> 
ino (()<left> 
ino [ []<left> 
ino { {}<left> 
ino {<CR> {<CR>}<ESC>O 

Questo completamento automatico in modalità insert. Tenere in vimrc per evitare di digitare ogni volta che e quando non vogliamo la mappatura, abbiamo bisogno di fuggire utilizzando ctrl - v prima di digitare il carattere mappato di ({ ecc

Problemi correlati