Cách nhận xét một dòng biến trong danh sách biến cục bộ


9

Trong một tập tin python tôi có

# Local Variables:
# python-shell-interpreter: "python3"
# python-shell-virtualenv-path: "~/.virtualenvs/datascience"
# leo-python-args-to-send: "-f fqanalysis.txt"
# End:

Trong một vài ngày tôi muốn sử dụng tệp python mà không có virtualenv được chỉ định, vì vậy tôi muốn nhận xét cài đặt dòng python-shell-virtualenv-path, để lần sau tôi mở tệp python trong emacs python-shell-virtualenv-pathsẽ giữ giá trị toàn cầu của nó.

Tôi đã thử

# ;;python-shell-virtualenv-path: "~/.virtualenvs/datascience"

## python-shell-virtualenv-path: "~/.virtualenvs/datascience"

nhưng khi mở tập tin python tôi luôn gặp lỗi

File mode specification error: (error "Malformed local variable line: ...)

Làm thế nào để tôi nhận xét chính xác dòng biến cục bộ?


Khi tôi chọn dòng chứa # python-shell-virtualenv-path: "~/.virtualenvs/datascience"và áp dụng lệnh comment-region, kết quả là # # python-shell-virtualenv-path: "~/.virtualenvs/datascience". Tôi không biết nếu đó là cách chính xác để nhận xét các biến cục bộ.
Tên

Câu trả lời:


7

Dựa trên kiểm tra nhanh C-hig (emacs) Specifying File Variables, tôi chắc chắn chắc chắn rằng bạn không thể.

Tôi nghĩ lựa chọn của bạn là:

  • Di chuyển bình luận bên ngoài khối biến cục bộ.
  • Thay đổi biến (ví dụ cung cấp cho nó một tiền tố như DISABLED:) sao cho giá trị được gán đơn giản cho một biến không sử dụng.

Biên tập:

Nếu bạn không muốn phải phê duyệt một loạt các DISABLED:foobiến cho safe-local-variable-values, bạn có thể điều chỉnh cách tiếp cận để tận dụng thực tế là các mục liên tiếp ghi đè lên các biến trước đó nếu sử dụng cùng một tên biến. Cái gì đó như:

# Local Variables:
# #: python-shell-interpreter: "python3"
# #: python-shell-virtualenv-path: "~/.virtualenvs/datascience"
# leo-python-args-to-send: "-f fqanalysis.txt"
# #: <comment>
# End:

Đây vẫn không phải là nhận xét, nhưng điều đó có nghĩa là bạn chỉ có một biến cục bộ duy nhất có tên #(hoặc \#trong trường hợp này) với giá trị <comment>và Emacs sẽ không truy vấn bạn về những biến trước đó; vì vậy bạn có thể sử dụng lại phương pháp này trong các tệp khác và chỉ kết thúc bằng một safe-local-variable-valuesmục nhập duy nhất cho tất cả các giá trị 'nhận xét' như vậy, miễn là #: <comment>mục đó luôn luôn tồn tại.

. có khả năng xung đột với bất kỳ tên biến 'phù hợp' nào.)

Bạn có thể bỏ nhu cầu #: <comment>nhập cảnh nhưng vẫn tránh bị hỏi nếu bạn thêm phần sau vào cấu hình của mình:

(put '\# 'safe-local-variable (lambda (_) t))

Trong đó nói "TẤT CẢ các giá trị cho biến #là an toàn.

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.