2017-02-17 5 views
-1

Standardmäßig bewirkt das Drücken von Esc in TextMate mögliche Endungen (zusätzlich zum Schließen von Dialogfeldern), die unerwünschte Zeichen in Ihr Dokument einfügen können, besonders wenn Sie verwendet werden zu Esc ist ein sicherer Schlüssel in den meisten Texteditoren zu treffen. (In der Tat, in vielen IDEs, drücken Esc viel ist notwendig, um schließen Auto-Vervollständigung Popups so die Auf- und Ab-Pfeiltasten funktionieren.)TextMate 2 Escape-Taste: Wie wird die nächste Vervollständigung und die vorherige Vervollständigung deaktiviert?

Wie kann ich dieses Verhalten zu deaktivieren, so im normalen Textbearbeitung , die Esc-Taste tut nichts, aber das Schließen von Dialogen funktioniert immer noch wie erwartet?

+1

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

+0

Bitte schließen Sie diese Frage nicht, oder lehnen Sie sie ab, ohne zu sagen, warum. Ich versuche eine einfache Präferenz in der App zu setzen und möchte eine Antwort. Diejenigen, die es nicht gelesen haben, sahen das Wandern, aber sahen nicht, dass es eine beantwortbare Frage ist. –

Antwort

2

Was

Basierend auf einen Kommentar von @ Matt arbeitet fand ich, dass ich tun kann, was ich durch Überschreiben des Standardschlüssels muß verbindlich, wie hier erwähnt, https://manual.macromates.com/en/key_bindings.html:

Zusätzlich hat ein Textmate /path/to/TextMate.app/Contents/Resources/KeyBindings.dict Datei mit einigen zusätzlichen Tastenbelegungen, die spezifisch für TextMate sind (und daher nicht geeignet sind, die globale Tastenbelegungsdatei für jeden Benutzer einzutragen). Sie können diese Datei in ~/Library/Application Support/TextMate kopieren und bearbeiten, diese hat dann Vorrang vor der gebündelten Datei.

bearbeitet ich die Datei und übernahm die Leitung mit nextCompletion aus, zugeordnet verschieben + Esc ($ \ 033) und beide Esc zugewiesen und Shift + Esc noop

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

ich über die gelernt nennen Existenz des noop Wähler hier:

Nach quitt TextMate Esc macht jetzt nichts mehr, außer enge Dialoge.

(Anscheinend um diese Einstellung zu ändern, müssen Sie Objective-C kennen, um Selektorfolgen zu erkennen (und Assembly mit 'nop'), so dass Sie einen Noop-Selektor erraten können. Und Sie müssen es wissen oktal, so dass Sie die Esc-Taste als 033 = 27.)


Dinge erkenne ich versucht, dass

gescheitert

EDIT: als Referenz für die Menschen fragen, wie es 90 Minuten kann man wenig Einstellung zu ändern.

fand ich diesen Absatz in the manual, am Ende von Abschnitt 4.2:

Wenn Sie Ihre eigenen Abschluss-Befehl (oder Liste) bieten Sie deaktivieren Sie die Standard-Matches möchten. Dies kann durch Setzen disableDefaultCompletion bis 1.

ich getan werden, versucht disableDefaultCompletion 1 im Preferences> Variablen Bereich festgelegt und dem Beenden und erneuten Öffnen der App. Ich habe festgestellt, dass das Bundle-Menü> Bundle-Element auswählen und auf Einstellungen klicken, um eine Liste aller Einstellungen anzuzeigen, einschließlich meiner disableDefaultCompletion = 1 am unteren Rand. Anscheinend tut das nichts? (Andere Einstellungen, die von verschiedenen Paketen überschrieben werden, werden als durchgestrichen angezeigt, was meine Einstellungen nicht sind.)

Ich suchte auch die http://github.com/textmate/textmate Repo für die Zeichenfolge disableDefaultCompletion und es zeigt in den Suchergebnissen, so dass dieses Feature dort irgendwo existieren sollte.

Ich habe versucht, die App und dann auf der Kommandozeile zu verlassen:

defaults com.macromates.TextMate disableDefaultCompletion wahr

Neubelebung und es erneut versuchen (Schlagen Esc rechts von einem nahe schreiben} im JavaScript-Modus) und es ist immer noch nicht abgeschlossen Abschluss.

+0

Super, vielen Dank. Ich hasse dieses Feature auch, aber ich habe monatelang damit gelebt und jetzt gab ich endlich auf und versuchte es zu beheben, aber ich versäumte es. Glücklicherweise habe ich deinen Beitrag gefunden. Ich würde nur hinzufügen, dass ich für mich nicht die Zeile \ 033 auf der Datei hatte, ich musste es hinzufügen (Ich hatte nur die $ 033 Zeile, die ich den Inhalt zu Noop ersetzt). – rottz

Verwandte Themen