Vine aquí buscando una respuesta para una pregunta similar. Quería poder extraer el nombre de clase actual del archivo java que se está editando. He encontrado una manera muy ordenada para hacer esto en vim con una abreviatura:
ab xclass <C-R>=expand('%:t:r')<CR>
Coloque esta línea en su .vimrc (o similar) para que esto funcione. Una abreviatura se disparará automáticamente tan pronto como presiones espacio, por lo que usualmente las prefijo con 'x' para evitar su expansión accidental. El truco aquí es la combinación de :t
y :r
en el argumento expand()
. %
es el "nombre de archivo actual", :t
selecciona sólo el t ail de la trayectoria ("único componente última ruta") y :r
selecciona sólo el r oot ("eliminado una extensión"). (Las partes citadas son de la documentación oficial expand().)
Así que cuando se está creando una nueva clase en el archivo /a/b/ClassIAmAboutToCreate.java
debería escribir:
public class xclass {
el momento en que se pulsa el espacio después de "xclass", la abreviatura se ampliará a public class ClassIAmAboutToCreate
, que es exactamente lo que necesitar.
Además, observe que una abreviatura puede ser activado pulsando Ctrl + ] que evita la inserción de un espacio después del nombre de la clase.
No tiene que hacer una función para hacer eso '(mapa:! Java%: r )' –
yesennes