2011-11-12 21 views

Respuesta

38

Puede hacer esto con Automator en Lion.

  • inicio Automator y seleccione "Servicio"
  • Encontrar y de arrastre "Ejecutar secuencia de comandos shell" en el panel de flujo de trabajo
  • Seleccione "Salida reemplaza el texto seleccionado"
  • Tipo sort -f en el "Ejecutar script de shell" campo de texto
  • Guardar

ya se puede ordenar líneas en cualquier campo de texto. Seleccione un texto y haga clic con el botón derecho o presione Control y seleccione el servicio que acaba de crear.

enter image description here

+2

Uberawesome :-) Esa es una solución genial! ¡Gracias! –

+2

Gracias por esto. Funciona bien como un servicio en Xcode. Pero agregué la opción de ignorar el espacio en blanco inicial (ordenar -fb) y obtuve mejores resultados. – markhunte

+2

Ahora eso es genio. – Joe

1

Cómo

En TextMate, abra el paquete y ver cómo se han puesto en práctica;)

En concreto, se han utilizado sort -f para ese comando.

En Xcode

XC4 no ofrece comandos externos, pero XC3 hicieron ... qué versión está usando?

He aquí un resumen para el sistema de escritura de XC3: http://www.mactech.com/articles/mactech/Vol.23/23.01/2301XCode/index.html

XC4 le permite ejecutar un script externo a través de comportamientos, pero no se puede pasar o devolver texto/selección.

AppleScript

Es posible que pueda hacerlo con AppleScript ... cada vez que he intentado hacer algo trivial con AS + Xcode, que no funcionó muy fiable (en su caso) . Pero eso fue con Xc3: encontrar lo que necesita puede ser más fácil con Xc4 (UI unificada y todo).

Solo uso TextMate para esto.

1

Hay un insecto en 10.7 y 10.8, donde los accesos directos para los servicios de Automator no siempre funcionan hasta que el menú de servicios se ha demostrado una vez la barra de menús. Todavía se puede seleccionar desde el menú de contexto, pero otra opción sería asignar un acceso directo a un script como el siguiente:

try 
    set old to the clipboard as record 
end try 
try 
    tell application "System Events" to keystroke "c" using command down 
    do shell script "export LC_CTYPE=UTF-8; pbpaste | sort -fn | pbcopy" 
    tell application "System Events" to keystroke "v" using command down 
    delay 0.05 
end try 
try 
    set the clipboard to old 
end try 

Tratando de conseguir el portapapeles cuando está vacía resultados en un error. pbpaste y pbcopy no son compatibles con Unicode de forma predeterminada en el entorno utilizado por do shell script.

1

Después de 4 años, Xcode aún no tiene esta característica incorporada, pero ahora admite extensiones. Así que aquí tienes: "xcsort" es una extensión de sort text in Xcode 8. Agrega un comando para ordenar las líneas en la selección.