- 準備 - -- ripgrep(rg) install for ubuntu # https://gihyo.jp/admin/serial/01/ubuntu-recipe/0579 > $ sudo apt install ripgrep or > $ sudo snap install ripgrep --classic -- omnisharpを利用する場合 for windows -- (1) 以下を実施しomnisharp server をインストールする(一度のみ実施する) M-x: omnisharp-install-server .emacs.d/.cache/omnisharp/server/v1.34.5/... にインストールされる (2) ソリューション単位にomnisharpを開始する(起動するたびに実行する必要がある) M-x: omnisharp-start-omnisharp-server RET <sln ディレクトリを選択> RET - mouse 操作 for only terminal 左ボタン押しながら選択開始、左ボタン離すと選択終了。再度、左ボタン(右ボタンでも可能)押下でクリップボードにコピー 選択状態で、右ボタンダブルクリックで選択エリア切り取り。 shift + 右ボタンでペースト。 - command list C-\ : emacs側のime切り替え(全角文字になって戻らない場合の対応用) C-s : インクリメンタルサーチ C-M-s : 正規表現インクリメンタルサーチ C-/ : アンドゥ M-/ : リドウ Undo branch point! が表示されたら C-x u (undo-tree-visualize) 枝(branch)を選択 q : quit p/n : undo <-> redo f/b : 枝移動 C-x C-f: ファイル選択&カーソル行がファイルパスの場合、そのファイルを開けて移動する C-x s: 現在ファイル保存 C-x w: 別名ファイル保存 M-x string-rectangle : 選択した行の先頭に任意の文字列を挿入することが可能(インデントにも利用できる) # (破棄)C-c > : インデント調整(C-c < で逆向き) C-x Tab : f,b(1文字単位), F,B(tab単位) でインデント C-x C-b : バッファーリスト表示(counsel-switch-buffer) C-k: バッファー削除 C-c t b : 旧バッファー一覧 d : delete x : 実行 M-g g : 指定行にジャンプ counsel-imenu : 関数一覧表示 C-x k : バッファー削除 C-x 0 : カーソルのあるウィンドウを閉じる C-x 1 : 他のウィンドウを全て閉じる C-x 2 : ウインドウを上下に分割 C-x 3 : ウインドウを左右に分割 C-x o : ウィンドウ間のカーソル移動 C-x k : ウィンドウ削除 M-x toggle-case-fold-search : 置換時に大文字小文字区別する/しない 切り替え。デフォルトは”区別しない”になってるらしい。。。 水平 C-a : 行頭 M-b : 1単語戻る C-b : 1文字戻る C-f : 1文字進む M-f : 1単語進む C-e : 行末 垂直 M-< : ファイル先頭 M-v : 1ページ戻る M-[ : 1段落戻る C-p : 1行戻る C-n : 1行進む M-] : 一段落進む C-z : 1ページ進む M-> : ファイル末尾 選択&削除&コピー&ペースト C-x @ : 矩形選択開始 C-@ : 選択開始 C-RET : 矩形選択開始 + (M-n : 連番付加) C-w : マークから現在位置までの範囲を削除する M-w : マークから現在位置までの範囲をキルリング(貼り付け用のバッファ)にコピー C-y : キルリングの最新の内容を貼り付ける M-y : helm で M-y を実行(キリングバッファー一覧が表示され、選択してペーストできる) C-d : カーソルの文字を削除(デリート) M-d : カーソルの単語を削除(削除した単語はキルリングに蓄積) C-k : カーソルから行末までを削除(削除したものはキルリングに蓄積) [デフォルトは無効になってる] C-x, C-u : マークから現在位置までの範囲の文字を大文字にする M-u : 単語を大文字にする [デフォルトは無効になってる] C-x, C-l : マークから現在位置までの範囲の文字を小文字にする M-l : 単語を小文字にする M-% : 置換(正規表現) M-; : 1行コメント C-c ; : リージョン範囲をコメントアウト C-M-\ : 選択範囲をオートインデント 置換時の改行/タブ入力 C-q C-i: タブ C-q C-j: 改行 --- カレントディレクトリ --- M-x pwd : 現在のカレントディレクトリを確認する M-x cd : 現在のカレントディレクトリを変更する --- diff merge --- M-x: edif-merge : 差分マージ対象ファイルを2ファイル選択、その後、左右(a,b) 、下部(マージ後) の3画面が表示される p & n : 編集行を上下移動 a & b : どちらを選択 q : 差分マージセッション終了(マージ済みファイルが謎ハッシュファイル名となって生成される) : ↑が面倒なので、マージ後画面に移動して C-x w で上書きファイルを選択し保存してもいい。 --- gcc コンパイル --- M-x compile : カレントディレクトリでmakeを実行 --- neotree --- 画面左側にソースツリーを表示する M-x neotree-toggle 表示/非表示 切り替え --- neotree にカーソルがある状態 --- C-x { : ツリー幅を縮める C-x } : ツリー幅を広める C-c C-c : ルートディレクトリを変更する --- magit --- M-x magit-status : git status を実施 --- status中コマンド --- s : stage u : unstage c c : commit (C-x # : コミットログ記載完了時に実行するコマンド) --- find-file-in-project --- M-x find-file-in-project --- recentf --- M-x recentf 過去に開いたファイル一覧表示/選択 --- ivy --- M-x counsel-gitgrep: git登録内容から検索 M-x counsel-rg : utf8 文字列検索(超高速) M-x counsel-pt : マルチ言語対応検索(現在動作しない) 検索後コマンド C-c C-o: 検索編集前モード -> "w" キー押下で編集モードになる C-c C-c: 編集結果をファイルに反映 C-x d : ディレクトリ選択 --- swiper --- M-x swiper: アクティブバッファの絞り込み検索 M-x swiper-thing-at-point: 上記に加えて、カーソルにある単語検索 --- dumb-jump https://github.com/jacktasia/dumb-jump M-. : 定義ジャンプ M-, : ジャンプ元に戻る 文字コード自動判定が間違ったとき C-x RET r (coding system for visited file) で 文字コードを指定しなおすことで対処できる。 C-x RET f (coding system for saving file) で 文字コードを指定しなおすことで対処できる。 --- elpy --- 起動時に以下の問い合わせはYにしておくべき Automatically install the RPC dependencies from PyPI (needed for completion, autoformatting and documentation)? (Y or n) [please answer Y or n] ;; M-x : elpy-config : elpy の状況確認画面が表示される ;; M-x : pyvenv-activate : プロジェクトルートディレクトリ選択(venvディレクトリを示せばOKのはず) ;; linux の場合、source venv/bin/activate しているディレクトリからemacsを起動すれば pyvenv-activate は不要 --- 色適用 face の調べ方 --- ;; 調べたい文字にカーソルを合わせて ;; M-x : describe-char ;; 別ペインが表示されるので、「face」欄を調べる