Я хотел написать программу на C++. Сначала я написал "Hello World", и он умерал на моменте линковки: "Не найдена функция main". Позже оказалось что Emacs не сохранял файл. Что делать с этим безобразием?
.emacs
(require 'server)
(unless (server-running-p)
(server-start))
(setq unix-init-path "~/.emacs.d/plugins")
(setq unix-init-ct-path "~/.emacs.d/plugins/color-theme")
;;(setq unix-init-ac-path "~/.emacs.d/plugins/auto-complete")
(require 'dired)
(setq dired-recursive-deletes 'top)
(require 'imenu)
(setq imenu-auto-rescan t) ;; автоматически обновлять список функций в буфере
(setq imenu-use-popup-menu nil) ;; диалоги Imenu только в минибуфере
(global-set-key (kbd "<f6>") 'imenu) ;; вызов Imenu на F6
(add-to-list 'load-path unix-init-path)
(setq inhibit-splash-screen t)
(setq ingibit-startup-message t)
(show-paren-mode t) ;; включить выделение выражений между {},[],()
(setq show-paren-style 'expression)
;; Delete selection
(delete-selection-mode t)
;; Disable GUI components
(tooltip-mode -1)
(menu-bar-mode -1) ;; отключаем графическое меню
(blink-cursor-mode -1) ;; курсор не мигает
(setq use-dialog-box nil) ;; никаких графических диалогов и окон - все через минибуфер
(setq redisplay-dont-pause t) ;; лучшая отрисовка буфера
(setq ring-bell-function 'ignore) ;; отключить звуковой сигнал
;; Disable backup/autosave files
(setq make-backup-files nil)
(setq auto-save-default nil)
(setq auto-save-list-file-name nil) ;; я так привык... хотите включить - замените nil на t
;; Coding-system settings
(set-language-environment 'UTF-8)
(progn
(setq default-buffer-file-coding-system 'utf-8)
(setq-default coding-system-for-read 'utf-8)
(setq file-name-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8-unix)
(set-terminal-coding-system 'utf-8)
(prefer-coding-system 'utf-8))
;; Linum plugin
(require 'linum) ;; вызвать Linum
(line-number-mode t) ;; показать номер строки в mode-line
(global-linum-mode t) ;; показывать номера строк во всех буферах
(column-number-mode t) ;; показать номер столбца в mode-line
(setq linum-format " %d | ") ;; задаем формат нумерации строк
;; Fringe settings
;;(fringe-mode '(8 . 0)) ;; органичиталь текста только слева
(setq-default indicate-empty-lines t) ;; отсутствие строки выделить глифами рядом с полосой с номером строки
(setq-default indicate-buffer-boundaries 'left) ;; индикация только слева
;; Display file size/time in mode-line
(setq display-time-24hr-format t) ;; 24-часовой временной формат в mode-line
(display-time-mode t) ;; показывать часы в mode-line
(size-indication-mode t) ;; размер файла в %-ах
;; Line wrapping
(setq word-wrap t) ;; переносить по словам
(global-visual-line-mode t)
;; Buffer Selection and ibuffer settings
(require 'bs)
(require 'ibuffer)
(defalias 'list-buffers 'ibuffer) ;; отдельный список буферов при нажатии C-x C-b
(global-set-key (kbd "<f2>") 'bs-show) ;; запуск buffer selection кнопкой F2
;; Color Theme
(add-to-list 'load-path unix-init-ct-path)
(require 'color-theme)
(color-theme-initialize)
(setq color-theme-is-global t)
(color-theme-charcoal-black)
;; Syntax highlighting
(require 'font-lock)
(global-font-lock-mode t) ;; включено с версии Emacs-22. На всякий...
(setq font-lock-maximum-decoration t)
;; Indent settings
(setq-default indent-tabs-mode nil) ;; отключить возможность ставить отступы TAB'ом
(setq-default tab-width 4) ;; ширина табуляции - 4 пробельных символа
(setq-default standart-indent 4) ;; стандартная ширина отступа - 4 пробельных символа
(global-set-key (kbd "RET") 'newline-and-indent) ;; при нажатии Enter перевести каретку и сделать отступ
;; Scrolling settings
(setq scroll-step 1) ;; вверх-вниз по 1 строке
(setq scroll-margin 10) ;; сдвигать буфер верх/вниз когда курсор в 10 шагах от верхней/нижней границы
(setq scroll-conservatively 10000)
;; Clipboard settings
(setq x-select-enable-clipboard t)
;; End of file newlines
(setq require-final-newline t) ;; добавить новую пустую строку в конец файла при сохранении
(setq next-line-add-newlines nil) ;; не добавлять новую строку в конец при смещении
;; Highlight search resaults
(setq search-highlight t)
(setq query-replace-highlight t)
;; Delete trailing whitespaces, format buffer and untabify when save buffer
(defun format-current-buffer()
(indent-region (point-min) (point-max)))
(defun untabify-current-buffer()
(if (not indent-tabs-mode)
(untabify (point-min) (point-max)))
nil)
(add-to-list 'write-file-functions 'format-current-buffer)
(add-to-list 'write-file-functions 'untabify-current-buffer)
(add-to-list 'write-file-functions 'delete-trailing-whitespace)
;; Bookmark settings
(require 'bookmark)
(setq bookmark-save-flag t) ;; автоматически сохранять закладки в файл
(when (file-exists-p (concat user-emacs-directory "bookmarks"))
(bookmark-load bookmark-default-file t)) ;; попытаться найти и открыть файл с закладками
(global-set-key (kbd "<f3>") 'bookmark-set) ;; создать закладку по F3
(global-set-key (kbd "<f4>") 'bookmark-jump) ;; прыгнуть на закладку по F4
(global-set-key (kbd "<f5>") 'bookmark-bmenu-list) ;; открыть список закладок
(setq bookmark-default-file (concat user-emacs-directory "bookmarks")) ;; хранить закладки в файл bookmarks в .emacs.d
Я вчера перешёл на другое устройство и заново настраивал Emacs. Настраивал по гайду(как и в тот раз). Из плагинов только color-theme.