1 votos

Construido-en la GUI basado en ASCII editor sólo para OS X

Estoy tratando de invocar mediante programación un OS X editor de una secuencia de comandos que:

  • no agregar comillas tipográficas o todos los caracteres no ascii, mientras que la edición
  • funciona "out of the box" en cualquier estándar de sistema de mac
  • permite que el usuario haga clic en el ratón para colocar el cursor

Lamentablemente Nano y sus amigos no permiten posicionar el cursor, y Apple perdió su mente con TextEdit actualizaciones y realmente destruido que el editor!

Mi mejor deseo es que hay algunos programática manera de configurar el editor de texto que se comportan como un editor de texto ASCII. Como alternativa, hay un tercero editor cuya licencia permite que puedo incluir en mi script para responder a esta necesidad?

===== CONTEXTO DE USO Tengo un script en python que se ejecuta "out-of-the-box" en cualquier mac. Ahora quiero que la secuencia de comandos para invocar un editor en un archivo ASCII que necesito permanecer como un archivo ASCII.
No quiero requieren que el usuario haga manual de configuración, quiero que la secuencia de comandos para inicializar sí mismo. Lo ideal sería no cambiar cualquier global de la configuración del entorno, pero te puedo dar el segundo requisito, si yo no tengo elección.

5voto

CousinCocaine Puntos 3615

El editor de texto y textutil

Aún intrigado por el problema que he encontrado la siguiente solución. Hay una Terminal de app llamada textutil y permite convertir texto enriquecido a texto plano.

  • Editar y guardar sus "Ricos", texto de todos modos usted quiere (como en la edición de textos).
  • Utilizar la línea de comandos textutil a convertir su texto enriquecido en texto normal

    textutil richtext.rtf -convert txt
    
  • También puede canalizar la textutil de salida a través de la sed a reemplazar smartquotes y hacer lo que quiera con él

    textutil richtext.rtf -convert txt -stdout | sed s/[""]/'"'/g
    

    rich text

Se convierte en:

Hello, this is rich Text with "smart" quotes

3voto

CousinCocaine Puntos 3615

TextEdit

Usted menciona que Apple perdió su mente con TextEdit. En qué específicamente? De todos modos, yo sugeriría TextEdit:

  • Puede abrir cualquier .txt archivo como texto sin formato
  • Funciona fuera de la caja
  • Permite a los usuarios utilizar el ratón

Puede hacer una lista de sus preferencias actuales a través de programación como:

defaults read com.apple.TextEdit

Siempre se puede establecer las preferencias a través de programación como este:

defaults write com.apple.TextEdit RichText 0

TextEdit preferences

Tenga en cuenta que la configuración del sistema para las comillas a veces pueden interferir con la tipográficas configuración en el editor de texto. Para deshabilitar tipográficas en todo el sistema:

  • Vaya a preferencias del Sistema -> Teclado
  • Vaya a la pestaña 'Texto'
  • Desactive el "Uso inteligente de comillas y guiones de' cuadro

Disable Smart Quotes

1voto

CousinCocaine Puntos 3615

HTML/Javascript

Una manera de hacer algo simple de edición de texto independiente de que el sistema está utilizando una combinación de HTML y Javascript. Este es el Ascii tan simple como se pone.

El código siguiente es descaradamente robado de la thiscouldbebetter.wordpress.comy le dará una orientación sobre cómo implementar esto.

<html>
<body>

<table>
  <tr><td>Text to Save:</td></tr>
  <tr>
    <td colspan="3">
      <textarea id="inputTextToSave" style="width:512px;height:256px"></textarea>
    </td>
  </tr>
  <tr>
    <td>Filename to Save As:</td>
    <td><input id="inputFileNameToSaveAs"></input></td>
    <td><button onclick="saveTextAsFile()">Save Text to File</button></td>
  </tr>
  <tr>
    <td>Select a File to Load:</td>
    <td><input type="file" id="fileToLoad"></td>
    <td><button onclick="loadFileAsText()">Load Selected File</button><td>
  </tr>
</table>

<script type='text/javascript'>

function saveTextAsFile()
{
  var textToWrite = document.getElementById("inputTextToSave").value;
  var textFileAsBlob = new Blob([textToWrite], {type:'text/plain'});
  var fileNameToSaveAs = document.getElementById("inputFileNameToSaveAs").value;

  var downloadLink = document.createElement("a");
  downloadLink.download = fileNameToSaveAs;
  downloadLink.innerHTML = "Download File";
  if (window.webkitURL != null)
  {
    // Chrome allows the link to be clicked
    // without actually adding it to the DOM.
    downloadLink.href = window.webkitURL.createObjectURL(textFileAsBlob);
  }
  else
  {
    // Firefox requires the link to be added to the DOM
    // before it can be clicked.
    downloadLink.href = window.URL.createObjectURL(textFileAsBlob);
    downloadLink.onclick = destroyClickedElement;
    downloadLink.style.display = "none";
    document.body.appendChild(downloadLink);
  }

  downloadLink.click();
}

function destroyClickedElement(event)
{
  document.body.removeChild(event.target);
}

function loadFileAsText()
{
  var fileToLoad = document.getElementById("fileToLoad").files[0];

  var fileReader = new FileReader();
  fileReader.onload = function(fileLoadedEvent) 
  {
    var textFromFileLoaded = fileLoadedEvent.target.result;
    document.getElementById("inputTextToSave").value = textFromFileLoaded;
  };
  fileReader.readAsText(fileToLoad, "UTF-8");
}

</script>

</body>
</html>

1voto

Richard Keller Puntos 1283

Nano permite que el cursor de posicionamiento. Por supuesto, esto es debido a la Terminal en sí ofrece esta opción. Simplemente Opción+Clic donde usted necesita ir. Antes eso era una opción que había que activar en el Terminal de Preferencias, sino de las últimas versiones compatibles con OS X, está habilitado por defecto (o codificado). Funcionará en la mayoría de los programas de línea de comandos, incluyendo otros editores como vim o emacs.

Otra opción que se activa por defecto es Scroll Alternative Screen. Permite que las pantallas interactivas como man o nano se desplaza en lugar de desplazarse por la pantalla de la terminal. Esto funciona con el desplazamiento desde un panel táctil o una rueda de desplazamiento o un ratón magic mouse de rueda.

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