Вообще говоря должна быть. В принципе, если режим не загрузился автоматически, то можно вручную его загрузить, для сей, к примеру, - M-x c-mode, для шелла - M-x sh-mode итд. Но по хорошему для файла с правильным расширением должен сразу загружаться правильный режим.
и еще это.. по-русски ничего писать не получается в емаксе. только напишешь русскую букву - коверкаются все символы совершенно непонятным образом. может ему не нравится, что у меня юникод? как его подружить с моей локалью? или мож пересобрать?
>и еще это.. по-русски ничего писать не получается в емаксе. только напишешь русскую букву - коверкаются все символы совершенно непонятным образом. может ему не нравится, что у меня юникод? как его подружить с моей локалью? или мож пересобрать?
Действительно похоже на древнюю версию. Такие проблемы были может быть года два назад, в последних версиях такого точно не наблюдается, всё работает искаропки.
> это старый или нет? я не знаю.
Это просто пипец какой старый. Надо ставить 22. Для 22 вот так у меня настроено:
~ % cat .emacs.d/init/init-i18n.el
;;; set up multi-lingual environment for using UTF-8
(set-language-environment 'UTF-8)
;;; set coding system of terminal output to utf-8
(set-terminal-coding-system 'utf-8)
;;; set coding system for keyboard input to UTF-8
(set-keyboard-coding-system 'utf-8)
;;; data type request for X selection
(setq x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING))
;;; support cp866 and cp1251
(codepage-setup 1251)
(define-coding-system-alias 'windows-1251 'cp1251)
(codepage-setup 866)
;;; autodetect coding system.
(prefer-coding-system 'cp866)
(prefer-coding-system 'koi8-r-unix)
(prefer-coding-system 'windows-1251-dos)
(prefer-coding-system 'utf-8-unix)
;;; default input method for multilingual text
(setq default-input-method 'cyrillic-translit)
Функции переключения:
(defun input-method-to-cyr ()
"Change input method to Cyrillic."
(interactive)
(cond ((string= current-input-method nil)
(toggle-input-method))))
(defun input-method-to-nil ()
"Change input method to nil (generally to English)."
(interactive)
(cond ((string= current-input-method "cyrillic-translit")
(toggle-input-method))))
Связывание с хоткеями:
(global-set-key (kbd "C-9") #'input-method-to-nil)
(global-set-key (kbd "C-0") #'input-method-to-cyr)
// :(
emacs-22, попробовал с твоим конфигом. UTF-8 работает как-то странно: emacs-22 NOTES (файл с русскими буквами в UTF-8) кажет квадратики, если пытаюсь делать новый файл, переключаться гномовской переключалкой -- тоже квадратики, потом пытаюсь делать *.c или *.cc файл, русский показывает, набирается нормально . emacs собран с USE gtk leim nls, в меню есть mule.
Куда копать чтобы по умолчанию вместо квадратиков русские буквы были?
Как сделать что-то вроде :e ++enc=utf-8 NOTES в vim?
> Куда копать чтобы по умолчанию вместо квадратиков русские буквы были?
Вот даже и не знаю. Может при сборке вы какие опции забыли, может надо что-то дополнительно подгружать. В бубунте/дебиане приведенных строк хватает. Попробуйте загрузить библиотеки, связанные с i18n. Что-нибудь
вроде (require 'mule).
мне он когда открываешь emacs -nw <файл> выдает вот-это, и только после C-l можно редактировать. как это отключить?
Welcome to GNU Emacs, one component of the GNU/Linux operating system.
Type C-l to begin editing your file.
Get help C-h (Hold down CTRL and press h)
Emacs manual C-h r
Emacs tutorial C-h t Undo changes C-x u
Buy manuals C-h C-m Exit Emacs C-x C-c
Browse manuals C-h i
Activate menubar F10 or ESC ` or M-`
(`C-' means use the CTRL key. `M-' means use the Meta (or Alt) key.
If you have no Meta key, you may instead type ESC followed by the character.)
GNU Emacs 22.1.1 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
of 2008-04-04 on komintern
Copyright (C) 2007 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY; type C-h C-w for full details.
Emacs is Free Software--Free as in Freedom--so you can redistribute copies
of Emacs and modify it; type C-h C-c to see the conditions.
Type C-h C-d for information on getting the latest version.
If an Emacs session crashed recently, type Meta-x recover-session RET
to recover the files you were editing.
M-x customize-option <RET> inhibit-startup-screen <RET>
жмешь по `Toggle' чтобы выключить, потом по `State' и нажимаешь `1' чтобы изменения вступили в силу сразу и изменения записались в .emacs для последующих запусков.