Làm thế nào để vô hiệu hóa gói dòng trong Spacemacs?


19

Tôi có kinh nghiệm hạn chế emacs. Đã cố gắng tìm giải pháp để vô hiệu hóa gói dòng trong Spacemacs nhưng không thể tìm thấy.

Giải pháp cho vấn đề này trong Vim là thực thi set nowrap. Nhưng nó không hoạt động trong Spacemacs.

Bất kỳ giải pháp cho điều này sẽ được nhiều đánh giá cao.


Tôi chưa bao giờ thấy Spacemac trước đây, nhưng có vẻ như bạn đang tìm cách vô hiệu hóa auto-fill-mode. Hãy thử M-x auto-fill-mode(sẽ bật và tắt) và, nếu nó hoạt động và đúng như ý bạn, bạn có thể vô hiệu hóa nó tự động trong tệp init của mình.
Dân

3
Hãy thử làm như C-h v truncate-linessau sau khi bắt đầu Spacemacs. Điều này sẽ cho bạn biết những gì nó được thiết lập khi bắt đầu.
Jonathan Leech-Pepin

@ JonathanL336-Pepin Cảm ơn mẹo của bạn đã giúp tôi gỡ lỗi.
Vamsee

Câu trả lời:


9

Thêm phần này vào ~/.spacemacschức năng cấu hình của bạn :

(add-hook 'hack-local-variables-hook (lambda () (setq truncate-lines t)))

1
Tôi tôn trọng không đồng ý với câu trả lời này, bởi vì về cơ bản, nó là sự thay đổi (ghi đè) các cài đặt trước đó (nếu có mâu thuẫn) và nó hoạt động trong trường hợp này bởi vì hack-local-variables-hooknó được gọi sau trong quá trình tải của bộ đệm. Giải pháp tốt hơn là làm cho nó trở thành chế độ chính cụ thể hoặc thiết kế một giải pháp toàn cầu tốt hơn không sử dụng hack-local-variables-hook.
luật

@lawlist Tôi đồng ý đó là một bản hack nhưng AFAIK không có chế độ cho các dòng cắt ngắn. Nếu bạn muốn nó trên toàn cầu, nó có thể khó thông qua các móc chế độ chính, và nó sẽ không tốt hơn thế này. Thay vào đó, có thể tốt hơn khi sử dụng chức năng chuyển đổi nhưng nó không cung cấp để kích hoạt các dòng cắt ngắn.
syl20bnr

29

Vào ngày 23 tháng 11, syl20bnr đã thêm một chuyển đổi mới được gọi là spacemacs/toggle-truncate-lines, có sẵn trên SPC t l. Một chuyển đổi khác bạn cũng có thể thấy hữu ích là spacemacs/toggle-visual-line-navigation, có sẵn trên SPC t L. Xem cam kết của Github .

Đây là cách bạn dotspacemacs/user-configcó thể trông giống như để kích hoạt cả hai toggles:

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

Nếu bạn không biết nó ở đâu dotspacemacs/user-config, nó có trong .spacemacstệp của bạn , có sẵn bằng cách nhấn SPC f e d.

Cái móc cho spacemacs/toggle-visual-line-navigation-onlà vì nó không hoạt động trên toàn cầu.


Tôi đã tìm kiếm móc chế độ đó từ lâu! Cảm ơn!
hoosierEE

2
Điều này là tương đương với :set nowrap. Cảm ơn!
shakerlxxv

1
SPC t Lcho chiến thắng dễ dàng.
sjas

8

M-x toggle-truncate-lines RET là Emacs tương đương với Vim's :set wrap!


Và lập trình:(setq truncate-lines t)
luật

@nanny Cảm ơn, bạn đề xuất hoạt động để vô hiệu hóa gói dòng sau khi bắt đầu spacemacs. Nhưng @lawlist đề xuất thêm (setq truncate-lines t)vào ~ / .spacemacs không hoạt động.
Vamsee

@Vamsee - Dòng mã mà tôi đề xuất có nghĩa là được sử dụng theo chương trình - ví dụ: khi viết một hàm. Nó có thể được sử dụng theo yêu cầu bằng cách gõ: M-x eval-expression RET (setq truncate-lines t) RET
luật

2
@Vamsee - truncate-lineslà một biến cục bộ đệm, có nghĩa là mã cần được thực thi trong khi tiêu điểm nằm trong bộ đệm đích. Thư viện bạn đã trích dẫn là một tập hợp của một triệu và một tùy chỉnh người dùng được chọn trước, bao gồm các lựa chọn nhất định dựa trên các chế độ chính khác nhau. Để thực sự theo dõi vấn đề của bạn, bạn sẽ cần chỉ định chế độ chính nào bạn đang sử dụng - sau đó cần phải kiểm tra tất cả các móc chế độ chính được thư viện sử dụng trong câu hỏi và thậm chí sau đó, có thể bạn có cài đặt đó ở đâu đó khác Ví dụ: visual-line-modecho phép gói
luật

1
@lawlist Cuối cùng, nó hoạt động, tôi phải đặt biến tùy chỉnh bên trong hàm custom-set-variablesvà không dotspacemacs/confighoạt động. Cảm ơn bạn đã giúp đỡ.
Vamsee

2

Tôi đã thêm nó vào tập tin init của mình bên trong dotspacemacs/user-configđể vô hiệu hóa ngắt dòng tự động:

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

Theo mặc định, bạn có thể bật / tắt với SPC t F.


0

Tôi đã có thể nhận xét, nhưng tôi không có đủ danh tiếng, vì vậy tôi sẽ chỉ viết nó ở đây.

Biểu hiện đầu tiên của Mirzhan Irkegulov đã có hiệu quả, nhưng biểu hiện thứ hai không hoạt động (add-hook 'text-mode-hook 'spacemacs/toggle-visual-line-navigation-on)

Thay vào đó, tôi đã phải sử dụng (global-visual-mode t)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.