Last active
July 27, 2019 14:46
Star
You must be signed in to star a gist
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(defun my:google-this () | |
"検索確認をスキップして直接検索実行" | |
(interactive) | |
(google-this (current-word) t)) | |
(defun region-to-single-quote () | |
(interactive) | |
(quote-formater "'%s'" "^\\(\"\\).*" ".*\\(\"\\)$")) | |
(defun region-to-double-quote () | |
(interactive) | |
(quote-formater "\"%s\"" "^\\('\\).*" ".*\\('\\)$")) | |
(defun region-to-bracket () | |
(interactive) | |
(quote-formater "\(%s\)" "^\\(\\[\\).*" ".*\\(\\]\\)$")) | |
(defun region-to-square-bracket () | |
(interactive) | |
(quote-formater "\[%s\]" "^\\(\(\\).*" ".*\\(\)\\)$")) | |
(defun region-to-brace () | |
(interactive) | |
(quote-formater "\%s\]" "^\\(\(\\).*" ".*\\(\)\\)$")) | |
(defun quote-formater (quote-format re-prefix re-suffix) | |
(if mark-active | |
(let* ((region-text (buffer-substring-no-properties | |
(region-beginning) (region-end))) | |
(replace-func | |
(lambda (re target-text) | |
(replace-regexp-in-string re "" target-text nil nil 1))) | |
(text (funcall replace-func re-suffix | |
(funcall replace-func re-prefix region-text)))) | |
(delete-region (region-beginning) (region-end)) | |
(insert (format quote-format text))) | |
(error "Not Region selection"))) | |
(require 'anzu) | |
(require 'counsel) | |
(require 'counsel-selected) | |
(require 'google-this) | |
(require 'iedit) | |
(require 'multiple-cursors) | |
(require 'osx-dictionary) | |
(require 'replace-from-region) | |
(require 'selected) | |
(require 'swiper) | |
(when (require 'selected nil t) | |
;; コメントアウト・アンコメントアウト | |
(define-key selected-keymap (kbd ";") #'comment-dwim) | |
;; 選択した関数のヘルプを表示 | |
(define-key selected-keymap (kbd "f") #'counsel-describe-function) | |
;; 選択した変数のヘルプを表示 | |
(define-key selected-keymap (kbd "v") #'counsel-describe-variable) | |
;; 選択したシンボルのヘルプを表示 | |
(define-key selected-keymap (kbd "y") #'describe-symbol) | |
;; aproposを表示 | |
(define-key selected-keymap (kbd "a") #'counsel-apropos) | |
;; 辞書を引く | |
(define-key selected-keymap (kbd "d") #'osx-dictionary-search-pointer) | |
;; 置換関連 | |
(define-key selected-keymap (kbd "q") #'query-replace-from-region) | |
(define-key selected-keymap (kbd "Q") #'anzu-query-replace) | |
;; リージョンの文字数や単語数をカウント | |
(define-key selected-keymap (kbd "=") #'count-words-region) | |
;; 複数カーソルによるマーク | |
(define-key selected-keymap (kbd "A") #'mc/mark-all-like-this) | |
(define-key selected-keymap (kbd "n") #'mc/mark-next-like-this) | |
(define-key selected-keymap (kbd "p") #'mc/mark-previous-like-this) | |
(define-key selected-keymap (kbd "u") #'mc/unmark-next-like-this) | |
(define-key selected-keymap (kbd "U") #'mc/unmark-previous-like-this) | |
(define-key selected-keymap (kbd "s") #'mc/skip-to-next-like-this) | |
(define-key selected-keymap (kbd "S") #'mc/skip-to-previous-like-this) | |
;; 同時編集 iedit | |
;; デフォルトではバッファ全体にカーソルが分身して編集可能になるので、 | |
;; ナローイングを適宜用いる | |
(define-key selected-keymap (kbd "i") #'iedit-mode) | |
;; 参考 http://blog.fujimisakari.com/elisp_useful_for_programming/ | |
;; リージョンをシングルクオートで囲う | |
(define-key selected-keymap (kbd "\'") #'region-to-single-quote) | |
;; リージョンをダブルクオートで囲う | |
(define-key selected-keymap (kbd "\"") #'region-to-double-quote) | |
;; リージョンをブラケット(カッコ)で囲う | |
(define-key selected-keymap (kbd "(") #'region-to-bracket) | |
;; リージョンをカギカッコで囲う | |
(define-key selected-keymap (kbd "[") #'region-to-square-bracket) | |
;; swiper | |
(define-key selected-keymap (kbd "w") #'swiper-thing-at-point) | |
;; google 検索 | |
(define-key selected-keymap (kbd "g") #'my:google-this) | |
;; ivyインターフェイスで選択 | |
(define-key selected-keymap (kbd "l") #'counsel-selected) | |
;; 有効化 | |
(selected-global-mode 1) | |
) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment