Как запустить emacs в режиме «ничего» («basic-mode»)


9

Если я emacs test.shпечатаю, Emacs настаивает на переводе меня в Shell-scriptрежим. В другой раз я хочу отредактировать файл, help.txtа затем Emacs переводит меня в Textрежим. Но иногда я не хочу ничего этого, особенно когда делаю большую вставку в Emacs из какого-то другого источника.

Как мне запустить Emacs в режиме «ничего»? Никаких специальных отступов, пробелов и т. Д., А Emacs просто вводит символы при их вводе.

ОБНОВЛЕНИЕ: Вот пример. Скопируйте следующий текст в буфер обмена, откройте emacs (даже в основном режиме) и вставьте.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:shibmd="urn:mace:shibboleth:metadata:1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 ID="FARM20190311T2248"
 Name="https://www.example.com/"
 entityID="https://www.example.com/" validUntil="2020-03-11T22:48:12Z"><ds:Signature>
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>

Emacs настаивает на изменении интервала (даже в основном режиме и использовании -q) на это:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:shibmd="urn:mace:shibboleth:metadata:1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 ID="FARM20190311T2248"
  Name="https://www.example.com/"
   entityID="https://www.example.com/" validUntil="2020-03-11T22:48:12Z"><ds:Signature>
   <ds:SignedInfo>
   <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>

Попробуйте тот же эксперимент с viили nano. Эти программы (по крайней мере, на моем компьютере) не меняют интервал.

Я использую GNU Emacs 24.5.1 на Debian Stretch.


«Emacs [24.5.1] настаивает на изменении интервала (даже в основном режиме и использовании -q)» - я не могу воспроизвести это в Emacs 25.3 или 26.1. Снова emacs -Qпроверьте, чтобы убедиться, что Debian не установил какой-либо site-lisp, который вызывает это? Если это ничего не меняет, попробуйте более новую версию Emacs?
Фил

1
Похоже, что ваш реальный вопрос задают и отвечают здесь: emacs.stackexchange.com/questions/28008/…
npostavs

Ответы:


15

При использовании M-x find-file-literallyEmacs не будет вызывать режим, основанный на имени файла. Вместо этого он использует fundamental-modeосновной режим.

Из командной строки вы можете использовать что-то вроде этого:

emacs --eval '(find-file-literally "yourfile.ext")'

Это не решает мою проблему. Я прояснил проблему на примере.
rlandster

11

Режимы Emacs устанавливаются для каждого файла, который вы открываете, поэтому открытие Emacs в режиме «ничего» не обязательно приведет к тому, что вы ищете. Каждый файл, который вы открываете после запуска Emacs, будет применять свой собственный режим.

Вы можете использовать команду @clemera, чтобы открыть файл в основном режиме из командной строки. Вы можете сделать то же самое с уже запущенным Emacs через M-x find-file-literally. Вы можете "отключить" основной режим для файла, который вы уже открыли, выбрав основной режим (который по сути является режимом "ничего"):M-x fundamental-mode


6

Я работаю:
GNU Emacs 25.2.2 (x86_64-pc-linux-gnu, GTK + версия 3.22.30) от 2018-08-26, модифицированный Debian

$ emacs yourfile.txt --eval '(fundamental-mode)'

Вы должны поставить --eval после имени файла, или он появляется, чтобы установить режим на основе имени файла.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.