Ich kam hier auf der Suche nach einer Antwort für eine ähnliche Frage. Ich wollte in der Lage sein, den aktuellen Klassennamen aus der bearbeiteten Java-Datei zu extrahieren. Ich fand eine sehr nette Art und Weise dies mit einer Abkürzung in vim zu tun:
ab xclass <C-R>=expand('%:t:r')<CR>
Platz diese Zeile in Ihrer .vimrc (oder ähnlich) für diese zu arbeiten. Eine Abkürzung wird automatisch ausgelöst, sobald du die Leertaste drückst. Daher setze ich ihnen normalerweise ein "x" voran, um ihre versehentliche Ausdehnung zu vermeiden.
Der Trick hier ist die Kombination :t
und :r
im Argument zu expand()
. %
ist der "aktuelle Dateiname", :t
wählt nur die t ail des Pfades ("letzte Pfadkomponente nur") und :r
wählt nur die r oot ("eine Erweiterung entfernt"). (zitierte Teile sind von der offiziellen expand() Dokumentation.
)
Also, wenn Sie eine neue Klasse in Datei erstellen /a/b/ClassIAmAboutToCreate.java
würden Sie eingeben:
public class xclass {
sobald Sie Platz nach „xclass“ drücken, wird die Abkürzung public class ClassIAmAboutToCreate
erweitert werden, was genau das ist, was Sie brauchen.
Beachten Sie auch, dass eine Abkürzung durch Drücken Ctrl +] ausgelöst werden, die einen Raum nach dem Klassennamen vermeidet Einfügen.
Sie müssen keine Funktion machen, um das zu tun '(map:! Java%: r )' –
yesennes