2017-02-17 3 views
-1

Par défaut, appuyez sur Echap cycles TextMate par complétions possibles (en plus de fermer les boîtes de dialogue), qui peut mettre des caractères indésirables dans votre document, surtout si vous utilisez Echap étant une clé sûre à utiliser dans la plupart des éditeurs de texte. (En fait, dans beaucoup d'IDEs, en appuyant sur Echap beaucoup est nécessaire pour près auto-complétion popups si haut et bas touches fléchées fonctionnent.)TextMate 2 touche Echap: comment désactiver la prochaine fin et l'achèvement précédent

Comment puis-je désactiver ce comportement, donc dans l'édition de texte normal , la touche Esc ne fait rien, mais les dialogues de fermeture fonctionne toujours comme prévu?

+1

http://lists.macromates.com/textmate/2017-February/040243.html – matt

+0

S'il vous plaît ne pas fermer cette question ou downvote sans dire pourquoi. J'essaie de définir une préférence simple dans l'application et je voudrais une réponse. Ceux qui ne l'ont pas lu ont vu la divagation mais n'ont pas vu que c'était une question à laquelle ils répondaient. –

Répondre

2

Ce qui fonctionne

Basé sur un commentaire de @ Matt je trouve que je peux faire ce que je dois en remplaçant la clé par défaut de liaison, comme mentionné ici, https://manual.macromates.com/en/key_bindings.html:

En plus TextMate a une /path/to/TextMate.app/Contents/Resources/KeyBindings.dict fichier avec quelques raccourcis clavier supplémentaires qui sont spécifiques à TextMate (et donc pas approprié de mettre dans le fichier par utilisateur global des raccourcis clavier). Vous pouvez copier ce fichier dans ~/Library/Application Support/TextMate et le modifier, ce sera alors la priorité sur le fichier fourni.

Je modifié le fichier et a sorti la ligne avec nextCompletion, attribué à Maj + Echap ($ \ 033) et affecté à la fois Esc et Maj + Echap pour appeler noop

"\033"  = "noop:"; 
"$\033" = "noop:"; 

j'ai appris la existence du sélecteur noop ici:

Après quitt La relance et la relance de TextMate Esc ne fait plus rien sauf fermer les boîtes de dialogue.

(Apparemment, pour modifier ce paramètre, vous devez connaître l'Objective-C pour reconnaître les chaînes de sélecteur (et l'assemblage qui a 'nop'), donc vous pouvez deviner qu'il devrait y avoir un sélecteur Noop. octal, de sorte que vous reconnaissez la touche Echap comme 033 = 27.)


choses que j'ai essayé a échoué

EDIT: pour référence pour les personnes qui se demandent comment il peut prendre 90 minutes pour changer un peu réglage.

Je trouve ce paragraphe in the manual, à la fin de l'article 4.2:

Lorsque vous fournissez votre propre commande d'achèvement (ou liste), vous voudrez peut-être désactiver les résultats par défaut. Cela peut se faire par la mise en disableDefaultCompletion à 1.

J'essayé de placer disableDefaultCompletion à 1 dans les Préférences> volet Variables et quittez et rouvrez l'application. Je trouve que le menu Bundle> Sélectionnez Bundle Point et en cliquant sur Paramètres affiche une liste de tous les paramètres, y compris mon disableDefaultCompletion = 1 en bas. Apparemment, cela ne fait rien? (D'autres paramètres remplacées par différents faisceaux montrent que barrés, que mes paramètres ne sont pas.)

I ont également consulté le http://github.com/textmate/textmate repo pour la chaîne disableDefaultCompletion et il montre dans les résultats de recherche, c'est donc fonction devrait-il exister quelque part.

J'ai essayé de quitter l'application, puis sur la ligne de commande:

defaults write com.macromates.TextMate disableDefaultCompletion vrai

et d'essayer à nouveau Relancer (frapper Esc à droite d'un proche} en mode JavaScript) et il n'est toujours pas désactivant l'achèvement.

+0

Génial, merci beaucoup. Je déteste cette fonctionnalité aussi, mais j'ai vécu avec lui pendant des mois, et maintenant j'ai finalement abandonné et essayé de le réparer, mais n'a pas réussi à le faire. Heureusement, j'ai trouvé votre message. Je voudrais juste ajouter que pour moi je n'avais pas la ligne \ 033 sur le fichier, je devais l'ajouter à (j'avais seulement la ligne $ \ 033 dont j'ai remplacé le contenu à noop). – rottz