Quebra de linha longa em Nano

66

Ao editar um arquivo authorised_keys no Nano, quero agrupar linhas longas para poder ver o final das linhas (por exemplo, diga de quem é a chave). Essencialmente, eu quero que pareça com a saída decat authorised_keys

Então, eu acertei Esc + Lqual é a meta-chave para ativar o empacotamento de linha longa na minha plataforma e vejo a mensagem dizendo que o empacotamento de linha longa foi ativado, mas as linhas não se encaixam conforme o esperado.

Estou usando o Terminal no OSX 10.8.5

codecowboy
fonte

Respostas:

89

Para ver o estilo de quebra de linha que você descreveu, use o "empacotamento suave" do nano: Esc+ $.

O comando Esc+ que Lvocê (e todos) tentaram faz "quebra automática".

Nota sobre a notação de pressionamento de tecla - se você é novo no Linux, a notação Esc+ $significa pressionar e soltar Esce, em seguida, pressionar $. A seqüência de imprensa chave completa, em seguida, é Esc, Shift+4.

(Isso não significa manter pressionada a fuga enquanto pressiona $.)

Fonte: https://www.nano-editor.org/dist/v2.9/nano.html (pesquise --softwrap)


Nota sobre os softwrap e os erros de formatação - Se você é novo no nano, tenha um pouco de cuidado com o softwrap. Se você estiver editando um arquivo de configuração ou outra coisa sensível a novas linhas ou recuos, podem ser cometidos erros de formatação. Até você se sentir confortável com os comportamentos do softwrap, sugiro fazer uma verificação rápida com o softwrap desativado (faça a sequência de teclas novamente) antes de salvar.

Observe a bondade fornecida por outras pessoas nas respostas abaixo - porque diferentes sistemas operacionais e versões diferentes do nano fazem as coisas de maneira um pouco diferente:

coreyt
fonte
3
Esta foi a minha maior irritação em nano. Obrigado por resolver isso.
user208145
11
Eu recomendaria ativar os números de linha Alt + Shift + 3ou set linenumbersno ~/.nanorcarquivo de configurações.
Daniel Sokolowski
11
Observe que a versão mais antiga do nano não inclui esse recurso de quebra automática. Na versão 2.0.9, não está incluída, mas na versão 2.5.3, está. Se você estiver em uma versão que não possui esse recurso, será exibida uma mensagem de aviso de "Comando desconhecido" na parte inferior central da área de edição de texto.
frederickjh
15

Estou lendo as respostas aqui e preciso esclarecer isso!

O Nano suporta duas formas diferentes de quebra de linha, e pode ser essencial saber a diferença!

Primeiro, a tecla Meta abaixo geralmente é a tecla Alt, mas não necessariamente.

  • A quebra automática de linha é ativada com Meta- $. Quebra as linhas sem inserir caracteres de quebra de linha no arquivo. Ou seja, o efeito é puramente visual.
  • A quebra automática de linha é ativada com Meta- L. Wraps linhas por inserir quebras de linha para o arquivo. O arquivo é fisicamente alterado.

Portanto, se você ativá-lo em um arquivo em que os envoltórios são significativos (arquivos de configuração, linguagens de programação, scripts), basicamente você nunca deseja que os envoltórios de linha dura ou isso altere o significado do código.

Além disso, você teria encontrado esses atalhos com ^ G (ie Ctrl- G) no Nano.

Jonas
fonte
5
Meta $= Alt+ Shift+4
JamesTheAwesomeDude
11
O invólucro flexível é ativado no nanorc com set softwrap, enquanto o invólucro rígido é desativado no nanorc com set nowrap.
mwfearnley 20/02
14

Acabei de pesquisar pelo nano line wrapping, e isso resultou alto nos resultados, então postarei minhas descobertas para o GNU nano 2.2.6 no Raspberry Pi, Raspbian GNU / Linux 7: Esc+ Lme deu a mesma mensagem; mas para que a quebra de linha entre em vigor, tive que modificar a linha. Assim que eu digitei outro caractere na fila, o embrulho começou.

chainsawmascara
fonte
7

Abra o nanorc geralmente em ~ / .nanorc ou / etc / nanorc, comente a linha

set nowrap

E linha de comentário

set softwrap
Prashant Shubham
fonte
11
No pfSense (e possivelmente no FreeBSD de maneira mais geral), o arquivo necessário é / usr / local / etc / nanorc. Caso contrário, acho que find / -type d -name etcvou encontrar outros locais possíveis.
mwfearnley 03/06
5

Definir um alias curto para o seu nano editor também funciona bem. Eu normalmente uso:

 alias  e='nano -\$cwS'
 alias se='sudo nano -\$cwS'

(Defina-os em ~/.bashrc(ou .bash_aliasesem alguns sistemas) ou na sua inicialização favorita do shell)

Sinalizadores / Opções utilizadas:

\$= Ativar quebra automática de linhas ( escapada usando barra invertida)
c = Mostrar posição constante do cursor (na parte inferior)
w= Desativar qualquer 'quebra automática'
S = Rolagem suave

E (como já mencionado), uma vez no editor, use Esc, $para ativar / desativar o invólucro flexível.

bshea
fonte
3

Você pode definir os padrões ~/.nanorc. Mas lembre-se de que as configurações do nano 1, nano 2 e nano 3 são diferentes.

No nano 1 , você tem apenas a set nowrapconfiguração que desativa todo o agrupamento.

No nano 2 , set softwrapfoi adicionado, o que permite o empacotamento suave e desativa o empacotamento. set nowrapfoi alterado para que apenas desative o invólucro

No nano 3 , set softwrapé ignorado e o nano continua a ser impresso, a menos que você também set nowrap.

Portanto, se você deseja quebra automática de texto para linhas longas que não quebram seus arquivos de configuração (somente quebra automática), isso funciona nas versões 2 e 3 : Adicione as 2 linhas a seguir~/.nanorc

set nowrap
set softwrap
x0a
fonte
Esta é também uma resposta ponderada, e a refiro na minha resposta acima.
coreyt
2

Os usuários de Mac devem ser avisados ​​de que a versão do Nano fornecida com o High Sierra (v2.0.6) ou anterior não suporta quebra de linhas suaves, conforme descrito aqui. Você receberá um erro de comando desconhecido. v2.2 é a versão mais antiga, com menção de quebra automática nas páginas de manual. Portanto, não gaste uma hora tentando todas essas soluções, como eu fiz.

Esc + L funciona como esperado.

lodeOfCode
fonte