1 votos

¿Cómo copiar línea en lista de viñetas sin la viñeta?

Mi flujo de trabajo implica muchas listas. Pienso en listas y escribo mis notas en listas.

Una nota de ejemplo en mis notas de apple podría tener el siguiente aspecto

¡Aquí están los comandos que necesito para Ejecutar!

  • echo "esto es un comando"
  • cat /tmp/algún_archivo.txt

Y muy a menudo resalto la línea de la viñeta, la copio y la pego en otro sitio. En este ejemplo, la pegaría en un terminal.

Lo que realmente me frustra es que cada vez que copio la línea, la salida pegada tiene este aspecto:

- echo "this is a command"
- cat /tmp/some_file.txt

El guión inicial debe eliminarse manualmente cada vez. Esto me hace perder mucho tiempo. Me pregunto si hay alguna forma de copiar una línea de texto en una viñeta sin el guión inicial.

1voto

wch1zpink Puntos 11

Con el texto con viñetas ya en el portapapeles, el siguiente comando en Terminal.app eliminará los 2 primeros caracteres (el guión y el espacio siguiente) de cada línea que está actualmente en el portapapeles y lo copia de nuevo en el portapapeles.

pbpaste |sed 's/^..//g' |pbcopy

Así, en lugar de escribir el comando anterior cada vez en Terminal.app, puedes crear un alias para ese comando completo, de modo que tu nuevo alias ejecute el comando completo.

Por ejemplo en el siguiente código, asigno las teclas pt para ejecutar el comando completo.

alias pt='pbpaste |sed 's/^..//g' |pbcopy'

NOTA: En Terminal.app, antes de crear un alias personalizado, asegúrese de que no se esté utilizando ya para no sobreescribir un comando ya existente. Para comprobar si pt como utilicé anteriormente, no se está utilizando ya, el comando type pt me permite saber si ya se ha asignado o no.

Así que ahora en Terminal.app, cuando escribo el comando pt elimina los 2 primeros caracteres de mi portapapeles.

Ahora, en cualquier lugar en el que decida pegar el texto, se eliminarán la viñeta o el guión y el espacio siguiente.

Así que ahora si quiero pegar el texto "sin tachar" en Terminal, escribo el comando pt a continuación, pulse Intro y luego Comando + v.

Te resultará muy útil si tienes varias líneas con viñetas en el portapapeles

OPCIÓN 2: (Mi elección)

Crear un nuevo Acción rápida de Automator.app y añada una acción "Ejecutar Shell script" al flujo de trabajo. A continuación, pegue el siguiente código en esa nueva acción.

osascript -e 'tell application "System Events" to keystroke "c" using {command down}' ; sleep 1 ; pbpaste |sed 's/^..//g' |pbcopy

enter image description here

A continuación, guarde la nueva acción rápida. (Yo guardé la mía como "Remove_Leading_Bullets.workflow").

Ahora, en Configuración del sistema, puedo asignar a mi nueva acción rápida un atajo de teclado (yo he utilizado P)

enter image description here

Ahora, siempre que tenga texto con viñetas seleccionado en cualquier aplicación, al pulsar el atajo de teclado ^P (control + p) se copiará el texto seleccionado con los 2 primeros caracteres (guión y espacio) eliminados, de modo que ahora puedo pegarlo en Terminal o en cualquier otro lugar.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X