¿Cómo deshabilitar el ajuste de línea en Spacemacs?

19

Tengo una experiencia limitada en emacs. Intenté encontrar una solución para deshabilitar el ajuste de línea en Spacemacs, pero no pude encontrar ninguna.

La solución a este problema en Vim es ejecutar set nowrap. Pero no está funcionando en Spacemacs.

Cualquier solución a esto sería muy apreciada.

Vamsee
fuente
Nunca he visto Spacemacs antes, pero parece que estás buscando desactivarlo auto-fill-mode. Pruebe M-x auto-fill-mode(que lo activará y desactivará) y, si eso funciona y es lo que quiere decir, puede desactivarlo automáticamente en su archivo de inicio.
Dan
3
Pruebe lo siguiente C-h v truncate-linesdespués de iniciar Spacemacs. Esto le dirá en qué está configurado al iniciar.
Jonathan Leech-Pepin
@ JonathanLeech-Pepin Gracias, tu consejo me ayudó a depurar el problema.
Vamsee

Respuestas:

9

Agregue esto a su ~/.spacemacsfunción de configuración:

(add-hook 'hack-local-variables-hook (lambda () (setq truncate-lines t)))
syl20bnr
fuente
1
Respetuosamente estoy en desacuerdo con esta respuesta, porque esencialmente está superando (anulando) las configuraciones anteriores (si hay alguna contradicción) y funciona en este caso porque hack-local-variables-hookse llama más tarde en el proceso de carga de un búfer. La mejor solución sería hacer que sea específico del modo mayor, o diseñar una mejor solución global que no utilice el hack-local-variables-hook.
abogados el
@lawlist Estoy de acuerdo en que es un truco, pero AFAIK no hay modo para líneas truncadas. Si lo desea a nivel mundial, puede ser complicado a través de los principales ganchos de modo, y no será mejor que esto. Puede ser mejor usar la función de alternar en su lugar, pero no ofrece forzar la activación de líneas truncadas.
syl20bnr
29

El 23 de noviembre, syl20bnr agregó un nuevo conmutador llamado spacemacs/toggle-truncate-lines, disponible en SPC t l. Otra opción que también puede encontrar útil es spacemacs/toggle-visual-line-navigation, disponible en SPC t L. Ver Github commit .

Así es como dotspacemacs/user-configpuede verse para habilitar ambos conmutadores:

(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)
)

Si no sabe dónde dotspacemacs/user-configestá, está en su .spacemacsarchivo, disponible presionando SPC f e d.

El gancho de spacemacs/toggle-visual-line-navigation-onse debe a que no funciona en todo el mundo de otra manera.

Mirzhan Irkegulov
fuente
¡He estado buscando ese gancho de modo durante años! ¡Gracias!
hoosierEE
2
Este es el equivalente de :set nowrap. ¡Gracias!
shakerlxxv
1
SPC t Lpor la victoria fácil
sjas
8

M-x toggle-truncate-lines RET es el equivalente de Emacs de Vim :set wrap!

niñera
fuente
Y programáticamente:(setq truncate-lines t)
abogados el
@nanny Gracias, su sugerencia funciona para deshabilitar el ajuste de línea después de iniciar spacemacs. Pero la sugerencia @lawlist de agregar (setq truncate-lines t)a ~ / .spacemacs no funciona.
Vamsee
@Vamsee: esa línea de código que sugerí debe usarse mediante programación , por ejemplo, al escribir una función. Se puede usar a pedido escribiendo: M-x eval-expression RET (setq truncate-lines t) RET
abogados el
2
@Vamsee: truncate-lineses una variable local del búfer, lo que significa que el código debe ejecutarse mientras el foco está dentro del búfer de destino. La biblioteca que citó es una colección de un millón y una de personalizaciones de usuarios preseleccionadas, incluidas ciertas selecciones basadas en varios modos principales. Para rastrear realmente su problema, necesitaría especificar qué modo principal está utilizando; luego, sería necesario verificar todos los ganchos de modo principal utilizados por la biblioteca en cuestión, e incluso entonces, es posible que tenga esa configuración en algún lugar más. Por ejemplo, visual-line-modehabilita la envoltura
leyes del
1
@lawlist Finalmente está funcionando. Tuve que establecer una variable personalizada dentro de la función custom-set-variablesy no en la dotspacemacs/configfunción. Gracias por tu ayuda.
Vamsee
2

Agregué esto a mi archivo init dentro dotspacemacs/user-configpara deshabilitar el salto de línea automático:

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

Por defecto, puede activar / desactivar con SPC t F.

Guy Gur-Ari
fuente
0

Hubiera comentado, pero no tengo suficiente reputación, así que lo escribiré aquí.

La primera expresión de Mirzhan Irkegulov funcionó, pero la segunda no funcionó (add-hook 'text-mode-hook 'spacemacs/toggle-visual-line-navigation-on)

En cambio, tuve que usar (global-visual-mode t)

ESTE USUARIO NECESITA AYUDA
fuente