Cuando estoy editando un archivo en Vim, ¿hay un comando para ver la ruta del archivo actual? A veces esto es muy útil si hay varios archivos con el mismo nombre en un proyecto.
statusline
thameera
fuente
fuente
Ctrl+G
más como 'ruta relativa a cwd de vim'?C-g
es el valor predeterminado para0C-g
, y además2C-g
muestra el número de índice del búfer (a partir de 1).1C-g
!El registro
%
contiene el nombre del archivo actual.Se podrían ingresar los siguientes comandos para mostrar la información mostrada:
Si todo lo que se desea es mostrar el nombre del archivo actual, escriba
:f
/:ls
o presione Ctrl- g(para la ruta completa presione 1entonces Ctrl- g).En el modo de inserción, escriba Ctrl- rluego %para insertar el nombre del archivo actual.
Los siguientes comandos insertan líneas que consisten en la ruta completa de los archivos actuales y alternativos en el búfer:
Fuente: Obtenga el nombre del archivo actual en vim wikia
Relacionado:
fuente
=expand...
expresiones despuésCtrl-R
cuando se encuentra en modo de inserción, también.Puede usar
:!ls %:p
para obtener la ruta completa al archivo actual.Dependiendo del contexto ex,
%
significará el contenido del archivo o el nombre del archivo. Cuando se excluye, representa la ruta del archivo en relación con el directorio actual. El comando '%:p
' agregará el modificador de nombre de archivo de ruta completa a%
.Hay algunos otros modificadores de nombre de archivo interesantes como:
:~
: Obtenga la ruta del archivo relativa al directorio de inicio (este no me funcionó por alguna razón):.
: Obtener la ruta del archivo relativa al directorio actual (%
predeterminado):r
: Nombre del archivo raíz. El nombre del archivo sin la extensión.:e
: Extensión del archivo.:h
: Se divide/
y devuelve la mitad izquierda (es decir, si estoy editando un archivo en una ruta/tmp/test.txt
y ejecuto%:p:h
, volverá/tmp
:t
: Dividir/
y devolver la mitad derecha (es decir, si estoy editando un archivo en una ruta de acceso/tmp/test.txt
y la ejecución%:p:t
volverátext.txt
fuente
Se puede ver el directorio de trabajo actual con
:pwd
. Por supuesto, este es solo el directorio, y no el nombre del archivo. Para obtener el directorio de trabajo y el nombre de archivo, podemos usar el registro especial%
, que contiene información sobre el archivo actual.Si lo usa
:echo @%
, obtendrá el directorio y el nombre de archivo del archivo actual.Si lo usa
:echo expand('%:p')
, obtendrá la ruta completa y el nombre de archivo del archivo actual. Esto es muy similar a la respuesta de CharlesL .Recuerdo éste, sin embargo, porque si se utiliza la ayuda de Vim
:h expand
, a continuación, se menciona que%
y%:p
y sus familiares.fuente
Yo suelo:
Eso es
:f
o:file
.Me sorprende que nadie mencione esto en las respuestas, ¿me estoy perdiendo algo?
fuente
Para mostrar la ruta completa de todos los archivos, incluidos los enlaces simbólicos resueltos, use lo siguiente.
fuente
Hay muchas mejores respuestas, pero si (por alguna razón) desea utilizar el shell para obtener la ruta completa del archivo (esto es más útil si va a realizar alguna otra operación en el archivo con el shell), en un sistema similar a Unix podrías ejecutar:
o:
para insertar la ruta en el documento sobre la selección actual.
Registrarse
%
siempre contiene el nombre del archivo. Un ejemplo del mundo real podría ser si está editando un archivo de configuración, pero no tiene permisos de escritura (y no desea ejecutar Vim como root), puede editar el archivo y luego ejecutar:para guardar el archivo (un poco fuera de tema, pero es un buen ejemplo de lo que se puede hacer con el
%
registro).fuente
realpath
no es POSIX, por lo que podría ser más fácil de hacer:!echo "$PWD/%"
Debe configurar su línea de estado para que se pueda ver y también establecerla en la ruta. Lo hice permanentemente agregando las dos líneas a continuación a mi ~ / .vimrc
Si solo quieres ejecutar eso una vez. Entonces cuando VIing un tipo de documento
fuente
Utilizo vim airline para eso y algunas características agradables:
fuente
Puede mostrar la ruta completa del archivo que está editando en la barra de título, que es una forma conveniente de mostrar la ruta del archivo en mi opinión.
Para hacerlo, debe configurar la
title
opción ytitlestring
. Actual Estoy usando la siguiente configuración:Mostrará el nombre de host de Vim, luego la ruta completa del archivo y seguido de la última hora de modificación del archivo. Vea la figura a continuación para una demostración
fuente