vim tiene una característica realmente agradable que utiliza en sus rutas cuando son un poco largas:

Abrevia la ruta al documento en la pestaña en la parte superior. ¿Hay alguna manera de hacer algo similar a esto para que mi bash prompt no se vea así?
rfkrocktk@work-laptop ~/Documents/Projects/Work/maventest/src/main/java/com/tkassembled/ $

rfkrocktk@work-laptop ~/D/P/W/m/src/main/java/com/tkassembled/ $? Idealmente, ¿usa algún umbral para la longitud máxima del indicador?Respuestas:
Intenta esto :
o, puro golpe:
luego
produce (observe el
~para${HOME}):Mejoré mi respuesta gracias a @ enzotib's
fuente
$PWD→~. Actualmente, siHOMEes/home/edyPWDes/home/edwina, obtienes~winala versión Perl y~/inala versión shell. (2) Su código de shell se bloquea si el directorio actual contiene caracteres comodín (es decir, expansión de nombre de ruta); por ejemplo,PWD=/abc/*/def. Puede solucionar esto agregandoset -o nogloboset -f. … (Continúa)$HOME(que está entre comillas dobles) y$PWDson lo suficientemente buenos. En el comando de shell, las tres últimas referencias a variables de shell están bien, pero los tres primeros pueden ser"${PWD#$HOME}","$PWD"y"$p". (4) Véase también la respuesta de mbentley y mis comentarios al respecto.Similar a la respuesta @nicerobot, pero algo más corta:
Esto mostrará la siguiente salida de ejemplo:
fuente
Me gusta
PROMPT_DIRTRIMen bash ...cambiará su solicitud de ejemplo a ...
Esto funciona para mi.
fuente
Agregando a la respuesta de enzotib , el siguiente fragmento será:
/Path/To/Your/Home/a~/(para que haya una ruta en~/a/b/clugar de/P/T/Y/H/a/b/c)Use la primera letra de un 'archivo de puntos' en lugar de mostrar solo el punto (
/a/./c/dse convertirá/a/.b/c/d):Asegúrese de usar comillas simples o bash lo expandirá prematuramente.
fuente
El formato para usar en su
PS1es\W(consulte laPROMPTINGsección en labashpágina del manual).Y es posible que desee leer las otras opciones allí, puede hacer algunas cosas interesantes con su línea de comando.
fuente
Me encanta la salida del ejemplo de nicerobot pero encontré un problema. Tengo un directorio que tiene un guión
A-E, y lo veía-Ecomo un argumento deprintfcuando era mi directorio de trabajo actual. Para solucionar esto, agregué--las últimasprintfcomillas y agregué alrededor de la salida en caso de que no haya nada que mostrar:fuente
-como segundo carácter. Si bien es cierto que esa--es la solución general al problema de los argumentos-, un mejor métodoprintfes decirprintf "%s" "${q:1}", ya que esto también protege contra los argumentos que contienen%. (Por ejemplo, intentePWD=/home/mbentley/Documents/Projects/Work/maventest/src/main/java/com/abc%def. (2) Vea también mis comentarios sobre la respuesta de nicerobot.