Pregunta Sublime Text 2: Recorte el espacio en blanco detrás de la demanda


Sé que Sublime Text 2 puede eliminar el espacio en blanco al final en los archivos al guardar.

Cuando trabajas en un equipo y comprometes un cambio en un archivo, esto tiende a producir grandes diferencias que hacen que la revisión por pares sea más engorrosa. Por esa razón, prefiero solo hacer la limpieza del espacio en blanco cuando de todos modos estoy realizando grandes cambios en un archivo y dejo espacio en blanco como lo está para los cambios menores.

Me gustaría saber si hay algún comando para ejecutar el recorte del espacio en blanco Bajo demanda en un archivo, que no sea "Activate trimming on save > Save file > Deactivate trimming".

Al buscar en la Documentación y en el stackoverflow no se mostró nada relevante, todos los enlaces parecen referirse al recorte automático al guardar.


75
2017-09-06 09:38


origen


Respuestas:


Cuidado: usando este plugin hace Sublime Text significativamente más lento

yo suelo Espacios finales complemento para esto

Resalte los espacios finales y elimínelos en un instante.

ST2 proporciona una forma de eliminar automáticamente los espacios finales en el archivo   salvar. Dependiendo de su configuración, puede ser más útil simplemente   resaltarlos y / o eliminarlos a mano. Este plugin proporciona solo   ¡ese!

Uso: haga clic en "Editar / Trailing Spaces / Delete".

Para agregar un enlace de clave, abra "Preferencias / Enlaces de teclas - Usuario" y agregue:

{ "keys": ["ctrl+alt+t"], "command": "delete_trailing_spaces" }

66
2017-09-10 09:11



Utilizo estos pasos para una solución rápida bajo demanda dentro de Sublime Text:

  1. Buscar> Reemplazar ...
  2. Encontrar que: [ \t]+\n
  3. Reemplazar con: \n
  4. Reemplaza todo

También podría hacer esto para un gran conjunto de archivos a través de

  1. Buscar> Buscar en archivos ...
  2. Encontrar: [ \t]+\n
  3. Dónde:
  4. Reemplazar: \n
  5. Reemplazar

50
2017-10-15 21:27



Esta es una forma muy simple que no usa complementos o configuraciones y funciona en la mayoría de las situaciones.

  1. Multi-Select y mover el cursor al final de cada línea
  2. Mantenga presionado CTRL-Shift, presione izquierda, derecha
  3. Los espacios y las pestañas al final de las líneas ahora deben seleccionarse. Presione Eliminar o Retroceso

    Nota - Los caracteres especiales como (y + también pueden seleccionarse al final de la línea en este punto, no solo los espacios.

Cómo seleccionar múltiples líneas todas:

Una forma es usar la tecla central del mouse para seleccionar verticalmente y luego presionar la tecla Finalizar si se trata de una selección pequeña.

Con teclas rápidas:

  1. CTRL-A (seleccionar todo)
  2. CTRL-SHIFT-L (coloque el cursor en todas las líneas seleccionadas)
  3. FIN (Ir al final de las líneas)

También puede usar la función de búsqueda para encontrar algo que estará en cada línea, como el carácter de espacio:

  1. \ s (usando expresiones regulares)
  2. Haga clic en Buscar todo
  3. Presiona la tecla "Fin" para obtener múltiples cursores al final de cada línea

Texto de ejemplo:

text and number     44  more text and a space  
text and number 44  more text and 2 tabs        
text and number 44  more text and no space or tab

text and number 44  more text after a line feed

19
2018-05-08 23:18



Encontré una sopa aquí: http://www.sublimetext.com/forum/viewtopic.php?f=4&t=4958

Puedes modificar el paquete

trim_trailing_white_space.py

ubicado en el directorio de paquetes predeterminado, de esta manera:

import sublime, sublime_plugin

def trim_trailing_white_space(view):
    trailing_white_space = view.find_all("[\t ]+$")
    trailing_white_space.reverse()
    edit = view.begin_edit()
    for r in trailing_white_space:
        view.erase(edit, r)
    view.end_edit(edit)

class TrimTrailingWhiteSpaceCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        trim_trailing_white_space(self.view)

class TrimTrailingWhiteSpace(sublime_plugin.EventListener):
    def on_pre_save(self, view):
        if view.settings().get("trim_trailing_white_space_on_save") == True:
            trim_trailing_white_space(view)

class EnsureNewlineAtEof(sublime_plugin.EventListener):
    def on_pre_save(self, view):
        if view.settings().get("ensure_newline_at_eof_on_save") == True:
            if view.size() > 0 and view.substr(view.size() - 1) != '\n':
                edit = view.begin_edit()
                view.insert(edit, view.size(), "\n")
                view.end_edit(edit)

Ahora puede agregar el comando a su configuración de mapa de teclas:

{ "keys": ["your_shortcut"], "command": "trim_trailing_white_space" }

12
2017-09-06 11:54



Simplemente puede usar una expresión regular para eliminar espacios en blanco al final:

  1. Buscar> Reemplazar ...
  2. Encontrar que: [^\S\r\n]+$
  3. Reemplazar con: dejar en blanco.
  4. Haga clic en 'Reemplazar todo'

[^\S\r\n]+$ es Regex para "al menos un carácter de espacio en blanco (por lo tanto, espacios y pestañas, pero no líneas nuevas, con una doble negación) seguido del final de la línea"


10
2017-10-24 08:48