Je suis venu ici à la recherche d'une réponse à une question similaire. Je voulais être capable d'extraire le nom de classe actuel du fichier java en cours d'édition. J'ai trouvé une façon très nette à faire dans vim avec une abréviation:
ab xclass <C-R>=expand('%:t:r')<CR>
Placez cette ligne dans votre vimrc (ou similaire) pour que cela fonctionne. Une abréviation se déclenchera automatiquement dès que vous appuierez sur espace, et donc je les préfixes habituellement avec 'x' pour éviter leur expansion accidentelle. L'astuce ici est la combinaison de :t
et :r
dans l'argument à expand()
. %
est le « nom du fichier en cours », :t
sélectionne seulement le t tous de la trajectoire (« dernier composant de chemin seulement ») et :r
sélectionne seulement le r oot (« une prolongation éliminée »). (Les parties citées proviennent de la documentation officielle expand().)
Ainsi, lorsque vous créez une nouvelle classe dans le fichier /a/b/ClassIAmAboutToCreate.java
vous tapez:
public class xclass {
le moment où vous appuyez sur l'espace après « XCLASS », l'abréviation sera étendu à public class ClassIAmAboutToCreate
, ce qui est exactement ce que vous avoir besoin.
Notez également que l'abréviation peut être déclenché en appuyant sur les touches Ctrl + ] qui évite d'insérer un espace après le nom de la classe.
Vous n'avez pas à faire une fonction pour faire cela juste '(carte:! Java%: r )' –
yesennes