Vifm: Изменить сопоставление типа файла

Я просто добавлю здесь примечание для тех, кто пришел в этот вопрос-ответ по другой причине.

Если вы видите * в конце имени файла в выводе ls (на самом деле ls -F, но ls иногда называется ls -F (или ls-F, встроенный в tcsh), или zsh или tcsh, это нечто совершенно иное.

С опцией -F, ls добавляет символ конца в конце некоторых специальных имен файлов, чтобы помочь определить их особенность. zsh и tcsh делают то же самое при выводе завершений имен файлов.

Если вы видите:

$ ls -F
dir/  fifo|  file  link@  ls*  socket=

Те /, |, * и = не являются частью имени файла (хотя могли бы быть, если бы кто-то пытался вас обмануть), но добавляются ls, чтобы сообщить вам об этом:

  • dir - каталог (/)
  • fifo - именованная труба/fifo (|)
  • link - символическая ссылка (@)
  • ls - исполняемый обычный файл (*) (имеет по крайней мере один бит исполнения бит в его разрешениях)
  • socket - сокет домена Unix (=)

Некоторые реализации ls (и завершение zsh) также могут делать эту дифференциацию через цвета для терминалов, которые поддерживают их с различными опциями.

1
05.09.2017, 14:34
1 ответ

Поскольку шаблоны, как правило, не являются непересекающимися, важен порядок, в котором выполняются команды :filetype. Вероятно, вы поместили тип файла *.sql /opt/sublime_text_3после тип файла * ... , который улавливает все и, следовательно, должен быть последним.

Вы можете проверить, какое приложение будет запущено для sql-файла, выполнив:

:filetype a.sql

Появится всплывающее меню, показывающее список приложений, которые vifm попытается выполнить, в порядке сверху вниз.

3
27.01.2020, 23:44

Теги

Похожие вопросы