Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

VimからSpacemacsへ移行するための設定

$
0
0

環境

  • Ubuntu18.04
  • Emacs26.3

Emacsのインストール

$ sudo add-apt-repository ppa:kelleyk/emacs
$ sudo apt update
$ sudo apt install emacs26

$ emacs --version
GNU Emacs 26.3
Copyright (C) 2019 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of GNU Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.

Spacemacsのインストール

gitが入ってなければ、インストールする。

$ sudo apt install git

~/.emacs.dフォルダが存在していれば削除してから、

$ git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d
$ emacs

でemacsを起動すると、ウィンドウ下部のミニバッファに初期設定の選択肢が表示された。
Spacemacsに乗り換えてみた(1)導入編 - Qiitaを参考に、

What is your preferred editing style ?
-> Among the stars aboard the Evil flagship (vim
   On the planet Emacs in the Holy control tower (emacs)

はAmong the stars aboard the Evil flagship (vim)

What distribution of spacemacs would you like to start with ?を、
-> The standard distribution, recommended (spacemacs)
   A minimalist distribution that you can build on (spacemacs-base)

はThe standard distribution, recommended (spacemacs)を、

What type of completion framework do you want ?
-> A heavy one but full-featured (helm)
   A lighter on but still very powerful (ivy)
   None (not recommended)

はA lighter on but still very powerful (ivy)を選択した。

orgモードでのエラー対策

orgモードでエラーが発生するので、spacemacsをdevelopに切り替えることで対策した。

$ cd ~/.emacs.d
$ git checkout develop

Spacemacsの設定

設定は~/.spacemacsのみに書いた。

.spacemacs
(defundotspacemacs/layers()(setq-default;;(略)...dotspacemacs-configuration-layers'(;;(略)...common-lisp)dotspacemacs-additional-packages'(ddskkelscreen)))(defundotspacemacs/init()(setq-default;;emacs起動時にファイルのリストを表示しないdotspacemacs-startup-lists'(nilnil);;(略)...;;自動保存ファイルを元ファイルと同じ場所に置くdotspacemacs-auto-save-file-location'originaldotspacemacs-colorize-cursor-according-to-statenil;;フルスクリーンで起動しないdotspacemacs-fullscreen-at-startupnil;;emacs起動時にウィンドウを最大化する(フルスクリーンにはしない)dotspacemacs-maximized-at-startupt;;対応する括弧の色を変えないdotspacemacs-highlight-delimitersnil;;行番号を表示するdotspacemacs-line-numberst;カラーテーマ設定dotspacemacs-themes'(reverse)))(defundotspacemacs/user-init();;(略)...;;elscreenで使うC-zを空ける(setqevil-toggle-key""))(defundotspacemacs/user-config();;(略)...;; org modeで行を折り返す(setqorg-startup-truncatednil);;バックアップファイルを作らない(setqmake-backup-filesnil);;自動保存リストファイルを作らない(setqauto-save-list-file-prefixnil);;カーソルの色(set-cursor-color"#D17519");; タイトルバーの表示 - ファイル名 <絶対パス>(setqframe-title-format"%b <%f>");;選択範囲の色(set-face-background'region"#3B5998");;ノーマルモードでEnterを押すとノーマルモードのまま次行に改行が挿入される(org-modeでは効かない)(define-keyevil-normal-state-map(kbd"RET")(lambda()(interactive)(call-interactively'spacemacs/evil-insert-line-below)(evil-next-line)));;org-modeでRETで改行を挿入する(with-eval-after-load'org(define-keyorg-mode-map[(return)](lambda()(interactive)(call-interactively'spacemacs/evil-insert-line-below)(evil-next-line))));; evilのinsert-stateになったらIMEを英語に戻す(add-hook'evil-insert-state-entry-hook'(lambda()(skk-mode1)(skk-latin-mode1)));; 対応する括弧を強調表示(マッチ部分)(set-face-attribute'show-paren-matchnil:foreground"#000000":background"#9BCEEC":boldt)(set-face-attribute'hl-linenil:inheritnil:background"#222222");======================================;elscreenモード;======================================;;elscreenのC-zをSPC oに割り当てる(spacemacs/set-leader-keys"o c"'elscreen-create);新規スクリーンを作成して移動する(spacemacs/set-leader-keys"o k"'elscreen-kill);現在のスクリーンを閉じる(spacemacs/set-leader-keys","'elscreen-previous);前のスクリーンへ移動する(spacemacs/set-leader-keys"."'elscreen-next);次のスクリーンへ移動する(spacemacs/set-leader-keys"o f"'elscreen-find-file);新しいスクリーンでファイルを開く(spacemacs/set-leader-keys"o d"'elscreen-dired);新しいスクリーンでdiredを開く(spacemacs/set-leader-keys"o 0"'elscreen-jump-0);番号のスクリーンへ移動する(spacemacs/set-leader-keys"o 1"'elscreen-jump-1);番号のスクリーンへ移動する(spacemacs/set-leader-keys"o 2"'elscreen-jump-2);番号のスクリーンへ移動する(spacemacs/set-leader-keys"o 3"'elscreen-jump-3);番号のスクリーンへ移動する(spacemacs/set-leader-keys"o 4"'elscreen-jump-4);番号のスクリーンへ移動する(spacemacs/set-leader-keys"o 5"'elscreen-jump-5);番号のスクリーンへ移動する(spacemacs/set-leader-keys"o 6"'elscreen-jump-6);番号のスクリーンへ移動する(spacemacs/set-leader-keys"o 7"'elscreen-jump-7);番号のスクリーンへ移動する(spacemacs/set-leader-keys"o 8"'elscreen-jump-8);番号のスクリーンへ移動する(spacemacs/set-leader-keys"o 9"'elscreen-jump-9);番号のスクリーンへ移動する;;; タブの先頭に[X]を表示しない(setqelscreen-tab-display-kill-screennil);;; header-lineの先頭に[<->]を表示しない(setqelscreen-tab-display-controlnil)(elscreen-start);; 対になる括弧を強調表示(show-paren-modet)(set-face-foreground'font-lock-string-face"chocolate1");文字列の色(set-face-foreground'font-lock-comment-face"#669933");コメントの色;======================================; evil-mode;======================================(defunevil-keyboard-quit()"Keyboard quit and force normal state"(interactive)(andevil-mode(evil-force-normal-state))(keyboard-quit))(define-keyevil-normal-state-map(kbd"C-g")#'evil-keyboard-quit)(define-keyevil-motion-state-map(kbd"C-g")#'evil-keyboard-quit)(define-keyevil-insert-state-map(kbd"C-g")#'evil-keyboard-quit)(define-keyevil-window-map(kbd"C-g")#'evil-keyboard-quit)(define-keyevil-operator-state-map(kbd"C-g")#'evil-keyboard-quit);;recentfを無効にする(add-hook'find-file-hook(lambda()(recentf-mode-1)));;リンクの箇所でSPC RETとするとブラウザで開く(元はRETに割り当てられていた機能)(spacemacs/set-leader-keys"RET"'org-open-at-point);;slimeでミニバッファで入力できるようにする(spacemacs/set-leader-keys"m e :"'slime-interactive-eval))

elscreenの設定の箇所は書き方が分からないので、とりあえずよく使うコマンドだけベタ書きしてしまった。
時間のあるときに整理したい。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>