J'utilise généralement beaucoup Emacs, et même lorsque je construis un nouvel environnement Linux dans un environnement virtuel, je suis le premier à installer Emacs. [Vagrant](https://ja.wikipedia.org/wiki/Vagrant_(%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3 La commande d'installation emacs est écrite dans% 82% A2)) à chaque fois.
J'aurais aimé être satisfait de pouvoir utiliser Emacs, mais parce que je l'ai personnalisé à mon goût et que je l'ai utilisé tous les jours, il est devenu gênant dans l'état initial d'Emacs.
Par conséquent, j'écrirai la procédure pour construire un ** environnement de base ** lorsque vous utilisez Emacs normalement.
** 1. Préparation **
** 2. Construction par description .emacs ** ** 2.1 Paramètres liés à l'affichage ** ** 2.2 réglage de couleur ** ** 2.3 Paramètres liés au package ** ** 2.4 Paramètres liés à la complétion du code **
** 3. Construire avec la commande M-x ** ** 3.1 Paramètres de couleur ** ** 3.2 Introduction liée à la complétion de code **
** 4. Description complète du .emacs **
Installez d'abord ce dont vous avez besoin pour créer un code de complétion.
sudo apt-get install -y cmake clang
Les paramètres Emacs sont décrits dans un fichier appelé .emacs
.
Au fait, si vous recherchez d'autres articles, il y a des descriptions dans .emacs.el
et ʻinit.el, Jusqu'à présent, tous les paramètres ont été définis avec .emacs, donc j'écrirai sur le principe de
.emacs`.
À propos, l'emplacement du fichier est
$HOME/.emacs
est.
(global-linum-mode t)
(menu-bar-mode -1)
(tool-bar-mode -1)
(setq inhibit-startup-message t)
(setq make-backup-files nil)
La première ligne est une description de l'affichage du numéro de ligne. Obligatoire.
Après cela, la description qui cache diverses barres et masque le message au démarrage.
Honnêtement, cela commence généralement par l'option -nw
, donc ce n'est pas très efficace. Définissez-le correctement.
Cet élément est également décrit dans .emacs, mais la saisie manuelle n'est pas recommandée. Il y a une forte possibilité que les paramètres ne soient pas reflétés, donc cela sera expliqué plus tard dans ** 2. Construire avec la commande M-x **. À propos, le message d'avertissement suivant est affiché dans le commentaire.
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
En termes simples, cela ne fonctionne pas bien lorsque vous le modifiez manuellement, alors soyez prudent.
(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
(package-initialize)
Paramètres requis lors de l'installation des fonctions décrites ci-dessous.
Faisons un package appelé Melpa disponible.
De plus, (package-initialize)
doit être exécuté après l'écriture de divers paramètres de package.
Si vous souhaitez ajouter des packages autres que Melpa, veillez à écrire avant ce paramètre.
company
(when (locate-library "company")
(global-company-mode 1)
(global-set-key (kbd "C-M-i") 'company-complete)
(setq company-idle-delay 0)
(setq company-selection-wrap-around t)
(define-key company-active-map (kbd "C-s") 'company-select-next)
(define-key company-active-map (kbd "C-w") 'company-select-previous)
(define-key company-search-map (kbd "C-s") 'company-select-next)
(define-key company-search-map (kbd "C-w") 'company-select-previous)
(define-key company-active-map (kbd "<tab>") 'company-complete-selection))
irony
(eval-after-load "irony"
'(progn
(add-to-list 'company-backends 'company-irony)
(add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options)
(add-hook 'c-mode-common-hook 'irony-mode)
(add-hook 'c++-mode-hook 'irony-mode)))
yasnippet
(eval-after-load "yasnippet"
'(progn
(define-key yas-keymap (kbd "<tab>") nil)
(yas-global-mode 1)))
Construisez la fonction de complétion de code en utilisant company
+ ʻirony +
yasnippet. Vous pouvez changer les différentes méthodes de fonctionnement de l'entreprise à votre guise.Je me lie avec w, s pour pouvoir sélectionner en appuyant sur Ctrl avec ma main gauche. De plus,
(setq ~)` est le temps de retard jusqu'à ce que le candidat d'achèvement apparaisse dans le premier. La valeur par défaut est de 0,5 seconde et vous devez attendre un moment, il est donc réglé sur 0 seconde.
Le second est un paramètre qui permet aux candidats d'aller en bas puis de revenir en haut.
Bien sûr, cette description seule ne sera pas exécutée, donc plus tard dans ** 2. Construire avec la commande M-x **
Je vais vous expliquer la procédure d'installation.
D'autres articles expliquent plus sur la société, l'ironie et le yasnippet, alors veuillez les consulter.
Au fait, si vous n'installez pas le paquet en premier, vous obtiendrez une erreur au démarrage d'emacs.
Il est donc recommandé d'écrire cette description après l'installation.
J'expliquerai divers paramètres en utilisant la commande M-x. Au fait, M-x est ʻAlt + x`. M est dérivé de la clé Meta.
Comme expliqué précédemment, l'écriture manuscrite n'est pas recommandée, alors définissez-la avec une commande. Déplacez le curseur sur la partie que vous souhaitez définir (par exemple, si vous souhaitez définir la couleur de la variable, déplacez le curseur sur int, etc.)
M-x describe-face RET
Entrer.
Ensuite, dans cet exemple, Describe face (default 'font-lock-type-face'): ʻest affiché. Dans emacs, les types sont définis sur ʻint
et class
, et le code est plus facile à voir en définissant la couleur pour chacun.
Si vous appuyez sur la touche ENTRÉE dans cet état, l'écran sera divisé et vous pourrez passer à l'écran d'informations de ce type de police.
En passant, si vous utilisez le mode No Window, vous ne pouvez pas changer d'opération avec la souris, donc vous pouvez changer d'opération avec Ctrl-x + o
.
Ensuite, déplacez le curseur sur la première ligne de cet écran de réglage, personnalisez ce visage
et appuyez sur la touche ENTER.
Si vous allez en bas, il y a une colonne appelée [X] Foreground: color-xxx [choose](sample)
, donc
Appuyez sur choisir pour afficher la liste des couleurs. Veuillez définir votre couleur préférée à partir de celle-ci.
Au fait, selon l'environnement et la version, il peut s'agir de «[X] Inherit» au lieu de Foreground.
Dans ce cas, allez à Afficher tous les attributs
juste en dessous et sélectionnez Premier plan.
Après avoir terminé les réglages, appuyez sur «[Appliquer et enregistrer]» en haut ou «Ctrl-x + Ctrl-s» pour enregistrer comme d'habitude.
M-x package-install RET irony RET
M-x package-install RET company-irony RET
M-x package-install RET yasnippet RET
M-x package-install RET flycheck RET
Si la description du paquet sur .emacs est correcte, je pense qu'il peut être installé sans aucun problème. Seule l'ironie est installée après l'installation
M-x irony-install-server RET
Veuillez exécuter. En exécutant cette commande, les paramètres liés à l'ironie seront définis.
Enfin, je posterai les .emacs entiers, y compris ceux que j'ai mis en place jusqu'à présent.
.emacs
(global-linum-mode t)
(menu-bar-mode -1)
(tool-bar-mode -1)
(setq inhibit-startup-message t)
(setq make-backup-files nil)
;; faces color
;;(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
;; '(font-lock-comment-face ((t (:foreground "color-71"))))
;; '(font-lock-constant-face ((t (:foreground "color-105"))))
;; '(font-lock-function-name-face ((t (:foreground "color-43"))))
;; '(font-lock-keyword-face ((t (:foreground "color-33"))))
;; '(font-lock-preprocessor-face ((t (:foreground "color-141"))))
;; '(font-lock-string-face ((t (:foreground "color-172"))))
;; '(font-lock-type-face ((t (:foreground "color-45"))))
;; '(font-lock-variable-name-face ((t (:foreground "color-179")))))
;; package
(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
(package-initialize)
;; yasnippet
(eval-after-load "yasnippet"
'(progn
(define-key yas-keymap (kbd "<tab>") nil)
(yas-global-mode 1)))
;; company
(when (locate-library "company")
(global-company-mode 1)
(global-set-key (kbd "C-M-i") 'company-complete)
(setq company-idle-delay 0)
(setq company-selection-wrap-around t)
(define-key company-active-map (kbd "C-s") 'company-select-next)
(define-key company-active-map (kbd "C-w") 'company-select-previous)
(define-key company-search-map (kbd "C-s") 'company-select-next)
(define-key company-search-map (kbd "C-w") 'company-select-previous)
(define-key company-active-map (kbd "<tab>") 'company-complete-selection))
;; irony
(eval-after-load "irony"
'(progn
(add-to-list 'company-backends 'company-irony)
(add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options)
(add-hook 'c-mode-common-hook 'irony-mode)
(add-hook 'c++-mode-hook 'irony-mode)))
J'aime totalement les paramètres de couleur. Vous pouvez l'utiliser avec copier-coller, mais comme pour le réglage de la couleur, il est recommandé de définir avec la commande comme décrit ci-dessus. Veuillez l'utiliser après l'avoir effacé. (J'ai commenté pour le moment)
C'est mon environnement de base, donc je peux l'étendre plus loin d'ici, ou juste ceci. Après cela, créez un environnement comme vous le souhaitez.
Recommended Posts