Como desativar a quebra de linha no Spacemacs?

19

Tenho experiência limitada no emacs. Tentei encontrar uma solução para desativar a quebra de linha no Spacemacs, mas não consegui encontrar nenhuma.

A solução para esse problema no Vim é executar set nowrap. Mas não está funcionando no Spacemacs.

Qualquer solução para isso seria muito apreciada.

Vamsee
fonte
Eu nunca vi Spacemacs antes, mas parece que você deseja desativar auto-fill-mode. Tente M-x auto-fill-mode(o que ativará e desativará) e, se isso funcionar e for o que você quer dizer, você poderá desativá-lo automaticamente no seu arquivo init.
Dan
3
Tente o seguinte C-h v truncate-linesdepois de iniciar o Spacemacs. Isso informará o que está definido ao iniciar.
Jonathan Sanguessuga-Pepin
@ JonathanLeech-Pepin Obrigado, sua dica me ajudou a depurar o problema.
Vamsee

Respostas:

9

Adicione isso à sua ~/.spacemacsfunção de configuração:

(add-hook 'hack-local-variables-hook (lambda () (setq truncate-lines t)))
syl20bnr
fonte
1
Discordo respeitosamente dessa resposta, porque ela é essencialmente superada (substituindo) as configurações anteriores (se houver alguma contradição) e funciona nesse caso porque hack-local-variables-hooké chamada mais tarde no processo de carregamento de um buffer. A melhor solução seria torná-lo específico para o modo principal ou projetar uma solução global melhor que não use o hack-local-variables-hook.
lawlist
@lawlist Concordo que é um hack, mas AFAIK não há modo para linhas truncadas. Se você quiser globalmente, pode ser complicado através dos principais ganchos de modo, e não será melhor que isso. Talvez seja melhor usar a função de alternância, mas ela não oferece para forçar a ativação de linhas truncadas.
syl20bnr
29

Em 23 de novembro, o syl20bnr adicionou uma nova opção chamada spacemacs/toggle-truncate-lines, disponível em SPC t l. Outra opção que você também pode achar útil é spacemacs/toggle-visual-line-navigation, disponível em SPC t L. Veja commit do Github .

É assim que você dotspacemacs/user-configpode ativar as duas alternâncias:

(defun dotspacemacs/user-config ()
  "Configuration function for user code.
This function is called at the very end of Spacemacs initialization after
layers configuration. You are free to put any user code."
  (spacemacs/toggle-truncate-lines-on)
  ;; Visual line navigation for textual modes
  (add-hook 'text-mode-hook 'spacemacs/toggle-visual-line-navigation-on)
)

Se você não souber onde dotspacemacs/user-configestá, está no seu .spacemacsarquivo, disponível pressionando SPC f e d.

O gancho para isso spacemacs/toggle-visual-line-navigation-oné porque não funciona globalmente de outra forma.

Mirzhan Irkegulov
fonte
Eu tenho procurado esse gancho de modo por idades! Obrigado!
hoosierEE
2
Isso é equivalente a :set nowrap. Obrigado!
shakerlxxv
1
SPC t Lpara a vitória fácil.
sjas
8

M-x toggle-truncate-lines RET é o equivalente do Emacs ao Vim :set wrap!

babá
fonte
E programaticamente:(setq truncate-lines t)
lawlist
@ nanny Obrigado, sua sugestão funciona para desativar a quebra de linha após iniciar o spacemacs. Mas a sugestão @lawlist de adicionar (setq truncate-lines t)ao ~ / .spacemacs não está funcionando.
Vamsee
@ Vamsee - Essa linha de código que sugeri deve ser usada programaticamente - por exemplo, ao escrever uma função. Pode ser usado sob demanda, digitando: M-x eval-expression RET (setq truncate-lines t) RET
lawlist
2
@Vamsee - truncate-linesé uma variável local do buffer, o que significa que o código precisa ser executado enquanto o foco estiver dentro do buffer de destino. A biblioteca que você citou é uma coleção de um milhão e uma de personalizações de usuário pré-selecionadas, incluindo determinadas seleções com base em vários modos principais. Para realmente rastrear seu problema, você precisa especificar qual modo principal você está usando - então seria necessário verificar todos os ganchos de modo principais usados ​​pela biblioteca em questão e, mesmo assim, é possível que você tenha essa configuração em algum lugar outro. Por exemplo, visual-line-modehabilita o
agrupamento
1
Por fim, está funcionando. Eu tive que definir variáveis ​​personalizadas dentro da função custom-set-variablese não na dotspacemacs/configfunção. Obrigado pela ajuda.
Vamsee
2

Adicionei isso ao meu arquivo init dotspacemacs/user-configpara desativar a quebra automática de linha:

(spacemacs/toggle-auto-fill-mode-off)

Por padrão, você pode ativar / desativar SPC t F.

Guy Gur-Ari
fonte
0

Eu teria comentado, mas não tenho reputação suficiente, então vou escrever aqui.

A primeira expressão de Mirzhan Irkegulov funcionou, mas a segunda não funcionou (add-hook 'text-mode-hook 'spacemacs/toggle-visual-line-navigation-on)

Em vez disso, eu tive que usar (global-visual-mode t)

ESTE USUÁRIO PRECISA DE AJUDA
fonte