:E
würde normalerweise ausreichen, als wäre :Explore
der einzige definierte Befehl, der mit einem E
begann. Sie haben offensichtlich mehrere solche Befehle definiert, so dass :E
mehrdeutig ist und zu einem Fehler führt.
:cmap
verursacht sofortige literale Substitution und hat somit unerwünschte Nebenwirkungen. Eine etwas bessere Alternative ist :cabbrev
, die verwendet werden können Abkürzungen für Befehlsmodus zu definieren:
cabbrev E Explore
Dies löst folgende EGeben Sie oder ERaum. Ersteres wird, weil die Eingabe gewünscht:E Geben Sie :Explore
aufrufen, aber diese hat wieder Nebenwirkungen im Befehlsmodus.
Damit :E
richtig zu :Explore
aliased werden, muss es als separates Kommando definiert werden:
command! E Explore
jedoch :command E
, die alle definierten Befehle auflistet, die mit E
beginnen, zeigt, dass :E
und :Explore
haben unterschiedliche Eigenschaften. Zum Beispiel ist es unmöglich, :E ~
auszuführen, weil :E
keine Argumente akzeptiert. Im Gegensatz zu :Explore
, :E
werden Verzeichnisse nicht automatisch vervollständigt.
Um diese Mängel zu beheben, muss :E
genau wie :Explore
definiert werden. Die Ausführung von :verbose command Explore
zeigt den Speicherort des Skripts, in dem :Explore
definiert ist; :E
kann dann auf die gleiche Weise definiert werden, mit dem Zusatz von <args>
:
command! -nargs=* -bar -bang -count=0 -complete=dir E Explore <args>
Während es möglich ist, die meisten dieser Attribute aus den Informationen von :command Explore
gibt in dieser Diskrepanzen vorgesehen abzuleiten, wie -bar
sein kann immer noch Fall.
N.B. Wenn :Explore
und :Example
definiert sind, sind :Exp
und :Exa
die kürzesten eindeutigen Befehle, die verwendet werden können. Das explizite Aliasing von :E
auf einen von ihnen, wie oben, überschreibt das Standardverhalten von Vim und ermöglicht die Disambiguierung.Jedoch wäre :Ex
immer noch mehrdeutig.
Eine weitere schnelle Möglichkeit, den Explorer zu öffnen, ist ': e.'. Dies wird ': Explore' das aktuelle Verzeichnis. Dies hat auch den Vorteil, dass Sie die Umschalttaste nicht benötigen. –
@PeterRincker Ordentlich, aber für einen völlig anderen Anwendungsfall. – Shriken
Für das komplette n00b, put 'command! E Explore' in Ihrer '~/.vimrc' Datei, dann: E wird richtig alias zu: Explore. – N0thing