Kiểu tô sáng mặc định Gedit có thể được đặt cho các tệp mà không cần tiện ích mở rộng không?


10

Tôi thường xuyên làm việc với các tệp văn bản không có tiện ích mở rộng hoặc có tiện ích mở rộng không chuẩn bằng Gedit ( .sampleví dụ: tệp không hiểu loại mime) và Gedit luôn mặc định làm nổi bật cú pháp Matlab.

cài đặt tô sáng gedit

Tôi muốn đặt tô sáng cú pháp mặc định của 'Văn bản thuần túy' cho các tệp này. Điều này có thể không?

Nano có thể làm điều này và một câu hỏi tương tự cho các tệp có phần mở rộng có ở đây . Tôi đang tìm kiếm một câu trả lời cho phép tôi đặt một kiểu văn bản thuần túy cho tất cả các loại mà không có phần mở rộng hoặc không được tìm thấy /usr/share/gtksourceview-3.0/language-specs/như mô tả ở đây

Thông tin yêu cầu:

  • Không có tệp đặc tả ngôn ngữ địa phương trong ~/.local/share/gtksourceview-3.0/language-specs/
  • Đầu ra file --mime-type -b <myfile>là chính xáctext/plain

Vâng #! xây dựng trong dòng đầu tiên, ví dụ #! / bin / bash sẽ khiến gedit nhận ra tệp dưới dạng shell bash và các tệp script khác cũng được nhận dạng, ví dụ tập lệnh python. Tôi chưa bao giờ điều chỉnh tính năng này, nhưng tôi đang sử dụng nó với gedit , và theo cách tương tự với geany . Tôi nghĩ rằng ai đó sẽ đi kèm với một giải pháp cho bạn :-)
sudodus

Hành vi bạn hiện đang nhận được từ Gedit có vẻ như là một lỗi, nếu tôi hiểu đúng về bạn. Ít nhất là với gedit 3.18.3-0ubfox4 trên Xenial (và mọi phiên bản khác của Gedit hoặc Pluma tôi có thể nhớ lại đã sử dụng trên bất kỳ nền tảng nào), các tệp không có tiện ích mở rộng hoặc phần mở rộng không được nhận dạng đều được coi là văn bản thuần túy và không được tô sáng. Tôi không nghĩ rằng tôi có kinh nghiệm mở các tệp .sample trước đó, nhưng khi tôi tạo một tệp như vậy trên máy Xenial của mình và mở nó trong Gedit, nó được xác định là văn bản thuần túy. Do tất cả các tập tin của bạn với không được công nhận (hoặc không) mở rộng có được tô đậm như mã nguồn Matlab?
Eliah Kagan

Hiện tại không có trên máy Ubuntu, nhưng bạn đã thử thay đổi tham số toàn cầu trong /usr/share/gtksourceview-3.0/language-specs/mathlab.lang(hoặc bất kỳ tệp ngôn ngữ MathLab nào chính xác) thành: <property name="globs">*</property>??? ;-) Nếu đó là mẹo, tôi sẽ đăng câu trả lời đầy đủ ...
Fabby

Sự quan tâm cũng vậy, trong vấn đề này
mattia.b89

1
@EliahKagan Tôi đã bật tính năng lưu tự động trong Gedit, xuất hiện để kích hoạt tô sáng cú pháp Matlab cho các tệp văn bản thuần không có phần mở rộng. Mở một cái lên, lưu thủ công (hoặc đợi tự động lưu để kích hoạt) và sau đó xem vấn đề xảy ra. Nếu bạn tự chuyển nó trở lại Plain Text thì không sao, nhưng nếu bạn không bao giờ chọn hoặc can thiệp thì nó sẽ sử dụng Matlab.
Tom Brossman

Câu trả lời:


5

Các bước thực hiện

Trong tôi gedit, từ menu thanh trên cùng, tôi chọn View, Highlight mode...và "Plain Text" là mặc định như hình dưới đây:

chế độ tô sáng gedit

Sử dụng tên tệp "test.sample" và dán trong một vài dòng mã Matlab, nó vẫn giữ định dạng "Văn bản thuần túy" trừ khi tôi buộc nó thành định dạng "Matlab".

Sau khi lưu và thoát, tôi thực hiện cp test.sample test.newbeetheo gedit test.newbeeđịnh dạng mặc định vẫn là "Văn bản thuần túy".

Tiếp theo tôi tạo một tập tin mới bằng cách geditgọi noextention. Tôi gõ một câu, lưu tập tin mới và thoát. Sau đó, tôi mở lại tệp bằng cách sử dụng geditvà đây là kết quả:

nhập mô tả hình ảnh ở đây

Lưu ý thanh dưới cùng của cửa sổ gedit hiển thị Plain Texttùy chọn để tô sáng.

Tóm lược

Điều này đã được thực hiện trong Ubuntu 16.04, Kernel 4.4.0-53.

Tôi có thể xác nhận rằng <property name="globs">*.m</property>tồn tại trong /usr/share/gtksourceview-3.0/language-specs/matlab.lang.

Bởi vì tôi không thể phá vỡ hệ thống của mình như của bạn, trừ khi chúng tôi tìm thấy một cái gì đó trên hệ thống của bạn để khắc phục, tôi khuyên bạn nên cài đặt lại geditsau khi gỡ bỏ và xóa tất cả các tệp của nó apt-get.

Các phần về phiên bản của tôi:

$ sudo apt install gedit
Reading package lists... Done
Building dependency tree       
Reading state information... Done
gedit is already the newest version (3.18.3-0ubuntu4).
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

2
Cảm ơn, điều này rất hữu ích. Tôi đã phát hiện ra rằng vấn đề thay đổi theo nội dung của tập tin. Đối với một tệp có nội dung "Đây là tệp văn bản thuần túy" thì nó vẫn là văn bản thuần túy. Đối với một tệp bắt đầu bằng '#' và trong Markdown (Tôi sử dụng nó rất nhiều vì nó dễ đọc), tôi vẫn thấy công tắc tô sáng sang Matlab. Có lẽ tôi phải hỏi một câu hỏi mới "Làm thế nào để Gedit nhận ra cú pháp Markdown".
Tom Brossman

2
Bạn được chào đón nhất. Tôi đã thực hiện một tìm kiếm nhanh trên google và đây là một khởi đầu cho định dạng đánh dấu gedit: github.com/jpfleury/gedit-markdown
WinEunuuchs2Unix
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.