Чи можна встановити стиль підсвічування Gedit за файлами без розширення?


10

Я часто працюю з текстовими файлами, які не мають розширення або мають нестандартне розширення за допомогою Gedit ( .sampleнаприклад, файл, для якого тип mime не зрозумілий), і Gedit завжди за замовчуванням підсвічує синтаксис Matlab.

налаштування виділення gedit

Я хотів би встановити для цих файлів підсвічування синтаксису за замовчуванням "Звичайний текст". Чи можливо це?

Нано може це зробити , і подібне запитання до файлів із розширеннями тут . Я шукаю відповідь, яка дозволяє мені встановити загальноприйнятий стиль простого тексту для всіх типів без розширення або ще не знайдений у /usr/share/gtksourceview-3.0/language-specs/описаному тут

Запитана інформація:

  • Немає спеціальних файлів місцевої мови в ~/.local/share/gtksourceview-3.0/language-specs/
  • Вихід file --mime-type -b <myfile>правильнийtext/plain

Так, #! конструюйте в першому рядку, наприклад, #! / bin / bash змусить gedit розпізнавати файл як баш-шелскрипт, також розпізнаються й інші файли сценаріїв, наприклад, сценарії python. Я ніколи не переробляв цю функцію, але використовую її з gedit , і аналогічно з geany . Я думаю, хтось прийде до вас з рішенням :-)
sudodus

Поведінка, яку ви зараз отримуєте від Gedit, здається помилкою, якщо я вас правильно зрозумів. Принаймні, з gedit 3.18.3-0ubuntu4 на Xenial (і будь-якою іншою версією Gedit або Pluma я можу пригадати використання на будь-якій платформі), файли без розширення або розширення яких не розпізнається, розглядаються як звичайний текст і не виділяються. Я не думаю, що я мав попередній досвід відкриття .sample файлів, але коли я створю такий файл на своїй машині Xenial і відкриваю його в Gedit, він ідентифікується як звичайний текст. Чи всі ваші файли з нерозпізнаними (або відсутніми) розширеннями виділяються як вихідний код Matlab?
Елія Каган

Наразі не на машині Ubuntu, але ви спробували змінити параметр глобалізації в /usr/share/gtksourceview-3.0/language-specs/mathlab.lang(або будь-який файл мови мови MathLab) на: <property name="globs">*</property>??? ;-) Якщо це зробити фокус, я опублікую повну відповідь ...
Fabby

Інтерес теж у цьому випуску
mattia.b89

1
@EliahKagan У Gedit увімкнено автоматичне збереження, що, як видається, викликає підсвічування синтаксису Matlab для файлів простого тексту без розширення. Відкрийте його, збережіть вручну (або дочекайтеся запуску автоматичного збереження), а потім перегляньте проблему. Якщо ви вручну переключите його на звичайний текст, після цього все добре, але якщо ви ніколи не вибираєте чи не втручаєтесь, він використовує Matlab.
Том Броссман

Відповіді:


5

Вжиті кроки

У geditменю в верхньому рядку я вибираю View, Highlight mode...а "Звичайний текст" є типовим, як показано нижче:

режим виділення gedit

Використовуючи назву файлу "test.sample" та вставляючи в декілька рядків коду Matlab, він все ще залишається як формат "Звичайний текст", якщо я не примушую його до формату "Matlab".

Після збереження і виходу I здійснюється з cp test.sample test.newbeeподальшим gedit test.newbeeформатом за умовчанням по - , як і раніше «Plain Text».

Далі я створив новий файл за допомогою geditcall noextention. Я набрав речення, зберег новий файл і вийшов. Потім я знову відкрив файл, використовуючи, geditі це результат:

введіть тут опис зображення

Зауважте, що в нижній смужці вікна gedit показаний Plain Textваріант для підсвічування.

Підсумок

Це було зроблено під Ubuntu 16.04, Kernel 4.4.0-53.

Я можу підтвердити, що <property name="globs">*.m</property>існує всередині /usr/share/gtksourceview-3.0/language-specs/matlab.lang.

Оскільки я не можу зламати свою систему, як ваша, якщо ми не знайдемо щось у вашій системі, я рекомендую перевстановити її geditпісля видалення та очищення всіх файлів, з якими вона працює apt-get.

Деталі про мою версію:

$ 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
Дякую, це було корисно. Я виявив, що проблема залежить від вмісту файлу. Для файлу із вмістом "Це звичайний текстовий файл" він залишається простим текстом. Для файлу, що починається з "#" і в Markdown (я його дуже багато використовую, оскільки його легко читати), я все ще бачу перемикання підсвічування на Matlab. Можливо, мені доведеться задати нове запитання "Як змусити Gedit розпізнавати синтаксис Markdown".
Том Броссман

2
Ви, швидше ласкаво просимо. Я зробив швидкий пошук у Google, і ось початок формату розмітки
WinEunuuchs2Unix
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.