- Избегайте пробелов в конце
Добавьте эти строки в свой файл .emacs, чтобы показать неприятные конечные пробелы в вашем коде:
(setq-default show-trailing-whitespace t)
Если вам не нравится стандартный (и агрессивный) красный цвет, введите:
M-x modify-face ENT trailing-whitespace ENT
2). Создавайте собственные фрагменты
С участием:
M-x list-packages
установите пакет yasnippet. Добавьте эти строки в ваш файл .emacs:
(require ‘yasnippet) (yas-global-mode 1)
Откройте файл JavaScript и убедитесь, что вы используете режим js. Затем введите:
M-x yas/new-snippet
Вы должны отредактировать буфер, чтобы получить что-то вроде этого:
Будут вставлены все строки после области диезов (#). $1 означает, что курсор поместится сразу после того, как вы вызвали сниппет. Наберите C-c C-c и сохраните фрагмент в js-режиме. Теперь, когда вы вводите ss и нажимаете клавишу TAB, весь код будет вставлен в ваш файл.
Если вы программируете с помощью JSX, добавьте эту строку в свой файл .emacs, чтобы подключить фрагмент не только в режиме js, но и в режиме jsx:
(add-hook 'jsx-mode-hook 'js-mode)
3). Просмотр (и восстановление) старого кода
Иногда вы хотите увидеть какой-то старый код в файле, но не уверены, в каком git-хеше изменился файл. Установите пакет git-timemachine, затем откройте файл, отслеживаемый git, и введите:
M-x git-timemachine
теперь с помощью клавиш p (предыдущий) и n (далее) вы можете просмотреть все отслеживаемые версии этого файла. Спасибо Peter Stiernström за этот потрясающий пакет.
Дополнительный совет
Я работаю в компании, где многие клиенты используют один и тот же фреймворк, и мне нужно настроить код для каждого клиента. Часто мне нужно сравнить один и тот же файл (id est, products_controller.rb) для разных клиентов, поэтому я закончил с четырьмя файлами с одинаковыми именами, открытыми одновременно, и я не знаю, какой файл соответствует каждому клиенту.
Установите пакет uniquify и добавьте его в свой файл .emacs:
;; Display dir if two files have the same name (require 'uniquify) (setq uniquify-buffer-name-style ‘reverse) (setq uniquify-separator “|”) (setq uniquify-after-kill-buffer-p t) (setq uniquify-ignore-buffers-re “^\\*”)
Теперь, если два файла имеют одинаковое имя, имя родительского каталога будет добавлено в Emacs PowerLine. Сладкий!