Como aparo automaticamente os espaços em branco finais com o Notepad ++?

70

Não quero excluir completamente as linhas vazias, mas quero remover as guias e espaços em branco à direita nelas. O Eclipse geralmente faz isso (através de uma configuração de preferência) quando salvamos o arquivo.

Por exemplo, o arquivo antes de salvar ($ = final da linha):

def shuffle(list):$
    import random $
    $
    random.shuffle(list)
    $
$

... e quando eu salvo isso no editor, o Eclipse faz o seguinte:

def shuffle(list):$
    import random$
$
    random.shuffle(list)
$
$

Como posso aparar automaticamente os espaços em branco finais com o Notepad ++?

Srikanth
fonte
Para aparar o espaço em branco de vários arquivos de uma só vez, faça uma Localização e Substituição para a expressão regular [ \t]+$. ( Screenshot ) ( Fonte )
Stevoisiak

Respostas:

74

Você deve conseguir localizar / substituir uma expressão regular no Notepad ++ usando um padrão como \s+$.

Existem também algumas opções no menu Editar -> Operações em branco que podem atender às suas necessidades.

No menu "Macro", há uma opção para "Cortar à direita e salvar". Se você precisar fazer uma expressão regular, talvez seja possível criar uma macro, no entanto, nunca as tentei.

johanno
fonte
9
Sim, na minha versão do Notepad ++, existe um Edit -> Trim Trailing Space, mas posso acioná-lo automaticamente para cada salvamento?
Srikanth
5
Há uma opção para "fuga da guarnição e salvar" no menu Macro
johanno
22
Liguei a tecla Ctrl + S à Macro -> Trim Trailing and saveopção, usando a Settings -> Shortcut Mapper...opção Isso é muito melhor do que lembrar de executar a macro o tempo todo. :)
Casey Kuball
A pesquisa \s+$corresponderá a qualquer linha vazia, independentemente do espaço em branco. Eu recomendo usar em seu [ \t]+$lugar. (Consulte Como removo o espaço em branco à direita usando uma expressão regular? )
Stevoisiak
63

Alt+ Shift+ Sfaz o que você deseja. Na verdade, ele também salva o arquivo.

Atualizar

Como 10basetom observou, você pode atribuir um atalho diferente para essa macro. Você pode controlar seus atalhos em Configurações> Mapeador de atalhos> [Macros] .

insira a descrição da imagem aqui

kon psych
fonte
10
Para remover os espaços finais ao salvar: (1) Remova o atalho padrão Salvar (Ctrl + S) e (2) atribua a macro "Cortar à direita e salvar" a Ctrl + S.
thdoan
11
E para remover o Saveatalho padrão , clique duas vezes no Shortcutcampo e selecione Nonena caixa de combinação.
Mitch
2
Encontrei esta página, atualizei meus atalhos conforme sugerido e usei-a para sempre. Então, recentemente, tive que configurar uma nova máquina e esqueci completamente como havia feito isso antes ... Pesquisou novamente e encontrou a resposta novamente! Você deve receber +2 por me ajudar assim!
Stijn de Witt
Configurações> Mapeador de Atalhos e, em seguida, guia 'Macros'
bonob
Esta deve ser a resposta selecionada para mim ^^
Nam G VU
4

Plug-ins> Gerenciador de plug-ins> Mostrar Gerenciador de plug-ins
Na guia Disponível, selecione EditorConfig e clique em [Instalar]

Adicione um .editorconfigarquivo à pasta (nomeie-o .editorconfig.para evitar o erro do Windows "Você deve digitar um nome de arquivo" - o último ponto será removido)

# trims trailing whitespace for all files; filter like [*.{json,xml}]
[*]
trim_trailing_whitespace = true

O EditorConfig também pode especificar caracteres de codificação, recuo e nova linha, etc.

Webveloper
fonte
11
Parece que o plug-in EditorConfig para o Notepad ++ não suporta realmente a opção trim_trailing_whitespace
jpa
11
Suporte para trim_trailing_whitespacefoi adicionado em 20-04-2016 . / cc @jpa
Stijn
Eu gostaria de poder votar mais, mesmo que apenas pelo .editorconfig.truque. Pensar que eu estava recorrendo à criação de arquivos de ponto através do prompt de comando como um homem das cavernas durante todos esses anos.
jamesdlin
4

Alterei os atalhos para encontrar uma solução para isso. Eu removi o atalho para salvar (mapeador de atalhos -> menu principal -> salvar) e mapei Ctrl+ Spara a macro "Aparar Trailing e Salvar" (mapeador de atalhos -> macros -> aparar à direita e salvar). Dessa forma, a macro substitui a funcionalidade de salvar e não é necessário lembrar o atalho Alt+ Shift+ S.

idílico
fonte
2

As respostas existentes parecem antigas.

Tente abaixo do caminho:

Notepad++ > Edit (menu) > Blank Operations > Trim Trailing Space
Manohar Reddy Poreddy
fonte
11
Gravei uma macro em "Trim Trailing Spaces" AND "converter guias em espaços", para obter consistência no controle de versão. Em seguida, salvei a macro com a combinação de código de chave Atl-T. Alt-T, Ctrl-Sé a combinação rápida para aparar, converter e salvar. Eu propositadamente faço isso em duas etapas, pois não quero aparar arquivos de remarcação ou alterar guias / rastreios ao editar os arquivos de outros mantenedores que podem ter como padrão um padrão diferente do que eu uso. Notepad++ > Edit (menu) > Blank Operations > Trim Trailing Spacee Notepad++ > Edit (menu) > Blank Operations > TAB to Space. (N ++ também tem ... Space to TABopções.)
SherylHohman 13/01
1

Ctrl+ F-> Alternar para a guia Substituir ->

Encontre o que: \ t \ r

Substitua por: \ r

Verifique se o modo Pesquisa estendida está ativado e substitua todos.

Se você deseja salvar também, o johanno tem a solução correta. Macro -> Aparar Trailing e Save funcionam conforme especificado.

dr4g1116
fonte
Esta resposta está desatualizada
Antonio
1

Outra maneira -

  1. Editar> Operações em branco> Remover EOL e EOL desnecessários
  2. Plugin> Ferramentas XML> Impressão bonita (apenas XML - com quebras de linha)

'XML Tools' é um plugin que podemos instalar para o bloco de notas ++

Pritam Karmakar
fonte
1

Alt+ Shift+ Sé o atalho padrão para isso. Está na barra de menus como Macro -> Trim Trailing and save. Você pode refazer isso em Settings -> Shortcut Mapper -> [Macros].

Rebobinando 'Aparar à direita e salvar' via Mapeador de atalhos

Com base na resposta do kon psych , se você deseja cortar automaticamente os espaços em branco a qualquer momento, salve, você pode definir isso para substituir o comportamento padrão do Ctrl+ S. Lembre-se de alterar ou remover o atalho de salvamento original para evitar conflitos.

Desativando o atalho padrão 'salvar'

Stevoisiak
fonte
+1 em "Lembre-se de alterar ou remover o atalho de salvamento original para evitar conflitos".
Wafeeq 17/05/19
1

Para preservar os comandos de menu existentes, mapeie (anteriormente não atribuído) Ctrl+ Tpara aparar os espaços finais. Então, faça Ctrl+ Te Ctrl+ Sjuntos.

Isso permite que você faça uma pequena alteração em um arquivo sem confundir utilitários de comparação de texto e programas de controle de origem alterando (potencialmente) centenas de linhas.

al h
fonte
1

Estas são as etapas precisas para redirecionar o atalho padrão "Salvar" Ctrl+ Sa seguir "Trim Trailing and Save"

  • Configurações-> Mapeador de Atalhos ...
  • Na guia Menu Principal, clique duas vezes em "Salvar", mude Spara Nenhum
  • Na guia Macros, clique duas vezes em "Trim Trailing Space and Save", altere para Ctrl+S

O atalho de macros também pode ser modificado em Macro-> Modificar atalho / excluir macro ...

Antonio
fonte
Obrigado, esta é absolutamente a melhor resposta
simon tan