Debian上のエディタは、emacs(26.1)をメインにしている。 最近、expandregion, smartparens, yasnippet, companyが うまく機能してないように感じ始めた。
companyに続いて yasnippet を見直してみた。
ただ無知なだけかもしれないが、
smartparensと、特にyasnippetの `<` で始まるやつとかが困る(追記:解決かも)。
[201904] 間違ってた。‘org-insert-structure-template’ というやつだった。
知らないうちに後側の括弧が追加されるとかも。
今回は、 ivy-yasnippets を使って ivy-mode配下でsnippetの一覧リストから絞り込むようにしてみた。逃げた設定かも。
previewを無効にした方がいい感じ、と思うが、続けてみないと。
companyからyasnippetを除外するかは、今後判断。
(use-package yasnippet :ensure t :diminish ;; :after (counsel) :after ivy ;; [201904] :bind ( :map yas-minor-mode-map ("C-c s i" . yas-insert-snippet) ; 既存へ挿入 ("C-c s n" . yas-new-snippet) ; 新規作成 ("C-c s v" . yas-visit-snippet-file) ; 既存の閲覧編集 ("C-c s l" . yas-describe-tables) ; 選択可能なスニペットの一覧表示 ("C-c s g" . yas-reload-all)) :hook ((prog-mode . yas-minor-mode) (markdown-mode . yas-minor-mode) (rst-mode . yas-minor-mode) (org-mode . yas-minor-mode)) :config (yas-reload-all) ;;[201904] (yas-minor-mode) ;;[201904] ;; (setq yas-snippet-dirs '("~/.emacs.d/mysnippets")) ;;[201907] ;; Original value ("/home/hogehoge/.emacs.d/snippets") ;; に戻す。別ディレクトだと、うまくいかない。 (use-package yasnippet-snippets :ensure t) ;; mainのdirsは自動設定 ;; ivy-yasnippets : call ivy-yasnippet in yas-minor-mode. (use-package ivy-yasnippet :ensure t :bind ("C-c y s" . ivy-yasnippet) :config (setq ivy-yasnippet-expand-keys "smart") ; nil "always" , "smart" ; https://github.com/seagle0128/.emacs.d/blob/master/lisp/init-ivy.el (advice-add #'ivy-yasnippet--preview :override #'ignore) ) ; こいつをdataに入れれば、indentが反映される。 ; # expand-env: ((yas-indent-line 'fixed) (yas-wrap-around-region 'nil)) )
[20190310] org-modeで、source blocks(babel)を挿入する場合は、yasnippetを使わずに、 Template expansion for Org structure を使えば良いようだ。 ここを 見付けられたのがラッキーだった。 defaultでは読み込みされないというような記事も見掛けたような気がする。
(use-package org-tempo :ensure nil ;; C-c C-, (org-insert-structure-template) :defer t :after org :config (add-to-list 'org-structure-template-alist '("R" . "src R")) )
yasnippet-snippetsのorg-modeのキーの設定を書き直せば良いのだが、 updateされる毎に作業するのは??なので、こちらのキーバインドを覚えることにする。
[201904] org-modeのブロックは、hydraでメニュー化した方がよさそう。 ここをコピペ修正すればすぐ使えるかも。
0 件のコメント:
コメントを投稿