command-line – Mostrar el nombre del archivo actual para su edición en la línea de comando

Pregunta:

¿Cómo puedo abrir la ruta al archivo actual en la línea de comando para escribir un nombre de archivo similar? No quiero una abreviatura que sea reemplazada por el nombre del archivo actual, quiero editar el nombre del archivo, completo con su ruta de directorio. Por ejemplo, quiero :edit un archivo con un nombre similar, o en un directorio similar, p. Ej.

vim src/submodule/frontend/frobnicate2.c

y ahora quiero editar ../trunk/src/submodule/frontend/frobnicate.c , y solo quiero insertar el ../trunk y eliminar el 2 , no volver a escribir la ruta completa.

Por supuesto, puedo volver al shell y usar su historial de comandos, o podría copiar y pegar la ruta a través de la GUI, pero estoy buscando una forma más eficiente que no requiera salir de Vim.

Respuesta:

Además de insertar el registro % como lo ha descubierto usted mismo, también puede usar :edit %<Tab> .

De :help cmdline-special :

In Ex commands, at places where a file name can be used, the following
characters have a special meaning.  These can also be used in the expression
function `expand()`.

        %       Is replaced with the current file name.           :_% c_%

Entonces puedes, por ejemplo, usar:

:edit %.orig

para editar file.txt.orig . Para su ejemplo, escribiría :e ../trunk/% , presione <Tab> para obtener el nombre del archivo con la ruta relativa y elimine el 2 antes de presionar <Enter> .

Puede agregar algunos modificadores a la ruta para modificarla; Encontré que :h es particularmente útil, obtiene el "dirname" (o "head" en Vim-speak ") de la ruta actual:

:edit file/in/a/deeply/nested/subdirectory/here.txt
:edit %:h/in_same_dir_as_above.txt

Incluso puede usar :h varias veces. Por ejemplo:

:edit %:h:h:h/file.txt

Abrirá el file/in/a/deeply/file.txt

También hay :p que le da la ruta completa y que podría ser útil en su caso: escriba :e %:p , presione <Tab> y edite la ruta como desee. Incluso puede utilizar varios modificadores, por ejemplo :e %:p:h .

Consulte :help filename-modifiers de :help filename-modifiers para obtener la lista completa.

Nota: si <Tab> , Vim expandirá el % . Si usa <Cd> , Vim no expandirá el % (pero sustituirá el % mientras completa la ruta).

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım