Когда вы запускаете Емакс вы видите перед собой окно текущего рабочего буфера, которое занимает почти весь экран и так называемый "минибуфер", в котором можно вводить разнообразные команды. Они разделены строкой состояния, в которой показана информация о текущих режимах работы Емакс.

Чтобы выйти в минибуфер и попробовать набрать так команду shell нажмите M-x shell. По историческим причинам М - значит Alt, то есть вы должны удерживая Alt нажать "x" и курсор переместиться в минибуффер, где вы сможете набрать shell и завершить набор нажатием Enter. После этого в рабочем буфере появится shell

Сейчас мы приступим к конфигурированию Емакса из самого Емакса. Используя shell создайте каталог "~/.emacs.d" а в нем файл "init.el" - это основной конфигурационный файл Емакса по умолчанию:

<source lang="shell"> mkdir .e.d cd e.d touch init.el </source>

Теперь время открыть этот файл в Емаксе. Наберите C-x C-f и введите путь к файлу. Автодополнение работает при нажатии клавиши TAB

Начнем конфигурировать Емакс. Первое, что имеет смысл сделать человеку, привыкшему к стандартным комбинациям клавиш для копипастинга

  • это настроить их. Запишем в наш init.el следующее:

<source lang="shell"> ;; Установка режима CUA поддержка Ctr-c,v,x,d как в windows ;; CUA mode: C-x, C-c, C-v for copying, pasting, C-z for undo (cua-mode t) (transient-mark-mode 1) ;; No region when it is not highlighted (setq cua-keep-region-after-copy t) ;; Standard Windows behaviour ;; Настройка поведения редактора "как в Windows" ;; настройка клавиатуры как в Windows ;; Delete (and its variants) delete forward instead of backward. ;; C-Backspace kills backward a word (as C-Delete normally would). ;; M-Backspace does undo. ;; Home and End move to beginning and end of line ;; C-Home and C-End move to beginning and end of buffer. ;; C-Escape does list-buffers." (pc-bindings-mode) ;; Настройка выделения "как в Windows" (pc-selection-mode) (delete-selection-mode nil)

;; Makes clipboard work (setq x-select-enable-clipboard t) (setq interprogram-paste-function 'x-cut-buffer-or-selection-value) (setq x-select-request-type '(UTF8STRING COMPOUNDTEXT TEXT STRING)) </source>

Родные комбинации Емакса ничуть не менее удобны, и постепенно вы откажетесь от cua-mode, но на первых порах проще работать так. Теперь после перезагрузки Емакса видновая копипаста будет работать. Впрочем, даже перезагрузка не требуется - поставьте курсор в конце каждой строки и нажмите C-x C-e и изменения будут применены сразу же!

Для тех же, кто готов вместе со мной идти до конца - расскажу о родной копипасте Емакса:

<source lang="text">

Копировать M-w
Вырезать C-w
Вставить C-y
Удалить от позиции курсора до конца строки C-k
Отменить последнее действие (Undo) C-_
Установить снять выделение C-Space

</source>