タグ

emacsに関するiga_kのブックマーク (211)

  • プログラムを「書き始める」「試しに実行する」コストを下げる工夫

    はじめに 物事を上達するためには反復を、というのはよく聞きますが、もちろんプログラミングでも大事なのかと思います。とくに自分は「一を聞いて十を知る」ような器用なことはできないので、何度も何度もプログラムを書いて、試していました。 このような反復を支援するためには、できるかぎり「書き始めるコスト」と「実行して確認するコスト」は低い方がいいと思っています。書き始めるのがだるいと、そもそも「ちょっと書いてみようかな」となかなか思わないですし、実行するための手数が多いと、「書いて→結果を確認」の回数が減ります。 稿では、この「書き始めるコスト」と「実行して確認するコスト」を下げる私が20年くらい行っている工夫についてご紹介します。 筆者が Ruby が好きなので、Ruby の例が多いですが、別に Ruby に限った話ではありません。 プログラミング言語による違い たとえば、C 言語ですと、プログ

    プログラムを「書き始める」「試しに実行する」コストを下げる工夫
    iga_k
    iga_k 2024/04/19
    笹田さんの記事
  • Emacs 環境を刷新した - koicの日記

    金曜日の終業間際に Emacs 環境が壊れてしまい。週末はその復旧にあてがった。 おそらくアップグレードした Emacs 29 と Helm の噛み合わせが悪くなったことが原因 (かもしれない) 。 もともといい加減 Helm から Ivy に変更したかったのと、el-get もあまりうまく活用できている感じではなかったことから、Emacs 環境を再整備する機会として 8 年ぶりに init.el をスクラッチでリライトすることにした。@onk 経由で知った言葉を借りれば、これもまたソフトウェア式年遷宮みたいなものかもしれない。 以下環境構築メモ。 まず anything.el の流れのものがないとどうにもならないので、Helm に変わり Ivy を入れる。2018年くらいに @elct9620 から Ivy が良さそうという話を聞いてからかなり時間が経っていた recentf もないとど

    Emacs 環境を刷新した - koicの日記
    iga_k
    iga_k 2024/02/05
  • Emacsはどれを使えばいいのか?〜2023年夏〜

    環境 M2 Mac (Ventura 13.4) Emacs 27.2 (NS 版 + ns-inline-patch, x86_64) IME: DDSKK (Emacs の外では AquaSKK) 目的 27.2 から 28.2 に上げたい が、どの Emacs をどうやってインストールすればいいのかわからなくなっている ずっと Emacs を使っていてもわからないのだから初めて Emacs を使おうとした人はもっとわからないだろう arm64 バイナリを使いたい あるのか? できれば Google Chrome と連携する osa-chrome を使えるようにしたい このパッケージは EMP 版でしか動かない ファイル名に日語が含まれているとテキスト置換できないというめちゃくそ不便な不具合を直したい 更新すれば直るかもと期待 初めにすべてのパッケージを更新しておく(重要) M-x

    Emacsはどれを使えばいいのか?〜2023年夏〜
    iga_k
    iga_k 2023/12/21
    EMP版というのがあるのか
  • consult-ripgrepの検索対象を現在開いているバッファたちに限定するには - 備忘録

    以下の関数を使う(consult-ripgrep-multi-file)。通常のconsult-ripgrepはあるディレクトリ以下の全ファイルが検索対象になるが、今回は「現在開いているバッファ(に対応するファイルたち)」に検索対象を限定したということ(串刺し検索)。 consult-line-multiやhelm-swoopの代替に相当する。 検索対象から外したい*scratch*バッファや*Messages*バッファ の除外にはido-ignore-buffersで指定される正規表現を利用した。 ;; perspective.el内の関数を参考にした (defun consult--make-ignore-buffer-rx () (defvar ido-ignore-buffers) (if ido-ignore-buffers (rx-to-string (append (list

    consult-ripgrepの検索対象を現在開いているバッファたちに限定するには - 備忘録
    iga_k
    iga_k 2023/02/28
  • selectrum/consult/marginaliaの設定 - 備忘録

    ivy/counsel系の代替として、selectrumやconsultが最近来ている。 特徴をまとめた方がいる: selectrum … ivyに対応。ivyよりも実装はシンプル。 consult ... counselに対応。counselにはないユニーク機能を持つコマンドを提供したり。consult-bufferはその例。 marginalia ... ivy-richに対応。 最近使っているので設定を残す。 まずはseletrumとmarginalia-mode。 (eval-when-compile (require 'selectrum)) (eval-when-compile (require 'selectrum-prescient)) (declare-function selectrum-mode "selectrum") (declare-function selec

    selectrum/consult/marginaliaの設定 - 備忘録
    iga_k
    iga_k 2023/02/23
  • Emacs rg.el と wgrep | yuuka_maniaの日記 | スラド

    ripgrep および、 rg.el には日頃からお世話になってるのだけど、 wgrep モードにも入れることを知って、さらに、感謝することに。 M-x rg で、何かしら検索したら、 *rg* バッファで、とりあえず、 ? を押すと、わかるので、これを覚えておけば良いかもしれないが。 e で、 wgrep に入れ、そのまま *rg* バッファを編集すれば良い。編集した行は、ハイライトされるので、視覚的にも把握しやすい。編集が終われば、 C-x C-s (or C-c C-cでも) 。やっぱり、間違ったなどの場合は、C-c C-k でキャンセル。 プレフィックスキーが、 C-x と C-c なので、この辺は、注意すること。 C-x C-s で、抜けても、編集したファイルは、セーブはされてない。セーブするには、wgrep-auto-save-buffer を設定しないといけない。 https

    iga_k
    iga_k 2023/02/23
  • corfuまわりの設定(vertico, marginalia, orderless, cape, kind-icon, affe) - 備忘録

    corfuおよび関連するパッケージの設定をメモとして残す。 corfu ... companyパッケージの代わり。カーソル位置での補完UIを提供。 vertico ... ido-vertical-modeやivy, selectrumの代わり。ウィンドウ下部(ミニバッファ)で垂直表示な補完UIを提供。 consult ... counselの代わり。補完入力を活用し、他のコマンドをラップした便利なコマンド群を提供。 marginalia ... consultに表示される候補に「補助情報」を追加する(ファイル属性、ファイル更新日、ファイルサイズなど)。 orderless ... 補完候補の絞り込みに活躍。「イニシャル入力」などにより高速かつ柔軟な候補絞り込みを実現。 cape ... corfuとの組み合わせが前提。カーソル位置での補完対象が拡張される。 kind-icon ... c

    corfuまわりの設定(vertico, marginalia, orderless, cape, kind-icon, affe) - 備忘録
    iga_k
    iga_k 2023/02/16
    orderless
  • emacs のマッチングのパッケージをhelm からvertico に変更した話

    これは2022/01/04のMK社内LTで発表した内容です. 前提 清水は普段emacs という古のエディターを使っています. 普段みなさんがお使いの、VSCode でCmd+P(Ctrl+P) とか Cmd+Shift+P(Ctrl+Shift+P) みたいなやつは、emacs の anything というパッケージで発明された概念です. 清水は5年くらい前にanything から helm というパッケージに移動して使っていたのですが、更新が滞っており、verticoというパッケージに移動しました. 年始1/2に半日ほどかけて設定しました. Vertico の特徴 helm はc-l で上のディレクトリに移動する。補完がTABじゃない等、emacs のキーバインドからかなり離れた独自のキーバインドを持っており、そこが原因で結構嫌われていましたが、vertico はその辺りが改善されてお

    iga_k
    iga_k 2023/02/13
  • 2021年の補完UI事情とEmacs28に標準添付されるfido-vertical-modeについて - Qiita

    メリークリスマス! Emacs Advent Calendar 2021です! 今月頭にはGNU Emacsの次期安定版であるEmacs28のプレテスト版(いわゆるベータ版に相当)がリリースされました。いつもの通り?ならここからEmacs半年かからずにリリース候補版・正式版がリリースされるのではないでしょうか。Emacsの独特なバージョンのルールや過去のリリース履歴などは以下のページでご確認ください。 さて、2021年のEmacs界隈を賑わしていたのが新しいミニバッファ補完UIの潮流でした。 各パッケージの位置付けや比較などは何人もの方が詳細な記事を書いてくださっているので参照ください。 Emacsの次世代ミニバッファ補完UI | 日々、とんは語る。 君はselectrumとEmacsる? - tsuu32 selectrum/consult/marginaliaの設定 - 備忘録 まあざ

    2021年の補完UI事情とEmacs28に標準添付されるfido-vertical-modeについて - Qiita
    iga_k
    iga_k 2023/02/13
    tadsan のナイス記事 “(fido-vertical-mode +1)”
  • Emacsの次世代ミニバッファ補完UI | 日々、とんは語る。

    先日、ネイティブコンパイルEmacsが登場でElispをネイティブコードにコンパイルすることによりEmacsの高速化が実現されたという記事を書きましたが、Emacsに到来している新しい波はこれだけではありません。Emacsを華麗に操作するユーザーインターフェイス(以下、UI)にも新潮流がきています。 百聞は一見にしかずというわけで、まずはこちらの動画をご覧ください。 この動画ではEmacsの起動時点から次の操作を行なってファイルを開いています。 ghqでリポジトリ検索 → fdでファイル検索 ghqでリポジトリ検索 → ripgrepでテキスト検索 利用している外部コマンドはさておき、標準のEmacsと大きく違うところは、コマンドを実行するとミニバッファが縦に伸びて補完候補が表示され、キー入力による候補の絞り込みをしてファイルを開いているところになります。 Anything/Helmと違っ

    Emacsの次世代ミニバッファ補完UI | 日々、とんは語る。
    iga_k
    iga_k 2023/02/13
  • GitHub - minad/vertico: :dizzy: vertico.el - VERTical Interactive COmpletion

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - minad/vertico: :dizzy: vertico.el - VERTical Interactive COmpletion
    iga_k
    iga_k 2023/01/11
    helm後継
  • 型付きRubyでパーサを書く(中編) - ローファイ日記

    前編はこちら。 udzura.hatenablog.jp ここまででスキャナまでは実装し、大体動いたようです(型もちゃんとついたようです)ので、続きの実装をします。 閑話: エディタの型支援を受ける 当方はEmacsなので読者の参考にならないかもしれませんが...。 といっても以下を有効にしたぐらい。 rbs-mode lsp-mode 同梱になった lsp-steep どちらも @ybiquitous さんの力なので、神と崇める他ない。 さらに、RBS有効のプロジェクトだけlspをsteepが用意したものに変えるため、プロジェクトのルートに以下のような .dir-locals.el を用意する。この内容は とんさんのブログ記事 のものを参考にしている。 ((ruby-mode . ((lsp-enabled-clients . (steep-ls))))) これでlspとlsp-uiを有

    型付きRubyでパーサを書く(中編) - ローファイ日記
    iga_k
    iga_k 2023/01/09
    EmacsでLSP
  • 【迷子になったら@Emacs 25.1】C-h l(view-lossage)が便利になったよ!

    【迷子になったら@Emacs 25.1】C-h l(view-lossage)が便利になったよ!
  • Carbon Emacsの(脱carbon-font)フォント設定 - -

    Carbon Emacs Package で carbon-font.el を使わずフォントをいろいろ試したメモです。 なぜ carbon-font を使わないかというと carbon-font (+ fixed-width-fontset) では、文字幅が漢字がASCIIの2文字分を取るようになるが、日語とASCIIで高さが合わなくなる。(日語がある行*だけ*行間が高くなる。間延びに見えたりちぐはぐに見えたりする。) 個人的には ASCII:漢字 = 1:2 にそこまでこだわる必要はないと思っている。プログラムではあんまり日語書かない。 M+ OUTLINE FONTS がなぜか使えなかった Macemacsjp-MLで、「行の高さをそろえたければ fixed-width-set-default-fontset は使わない方がよい」というのを目にしたので取りかかってみた。 (が、ム

    Carbon Emacsの(脱carbon-font)フォント設定 - -
    iga_k
    iga_k 2022/06/03
  • Emacs でだって Docker で開発したい! - ESM アジャイル事業部 開発者ブログ

    こんにちは。wat-aro です。 Docker 環境で開発する際に VSCode の Remote Container はとても便利ですね。 でも今まで Emacs で開発してきた人は VSCode ではなく Emacs を使いたいはずです。 ここでは僕が Emacs + Docker 環境でどのように開発しているかを紹介します。 docker コマンド まずは docker コマンドを使えなくてはなりません。 Emacs 使いのみなさんはターミナルでなく Emacs から docker コマンドを叩きたいですよね。 そんなときは docker.el です。 https://github.com/Silex/docker.el docker image コマンドや docker compose コマンドが Emacs から実行できます。 docker compose up で立ち上げたコ

    Emacs でだって Docker で開発したい! - ESM アジャイル事業部 開発者ブログ
    iga_k
    iga_k 2022/03/02
    Emacs + Docker + LSP 便利!
  • Configuring Emacs as a C/C++ IDE - LSP Mode - LSP support for Emacs

    iga_k
    iga_k 2021/09/09
    LSP mode
  • ネイティブコンパイルEmacsの登場

    時間の2021年4月26日午前3時6分、Emacsのmasterブランチにfeature/native-compブランチがマージされました(コミット:Merge branch ‘feature/native-comp’ into into trunk)。これにより、HEADのEmacsをビルドすると、Native compilation機能を兼ね備えたネイティブコンパイルEmacs、通称Gcc Emacsが使えるようになりました。 ネイティブコンパイルEmacsの機能 # ネイティブコンパイルEmacs(以下、Gcc Emacsと呼びます)は、Andrea Corallo、Luca Nassi、Nicola Mancaの3名によるBringing GNU Emacs to Native Code という論文で詳細が説明されています。 簡単に説明すると、これまでのEmacsは、Elisp

    ネイティブコンパイルEmacsの登場
    iga_k
    iga_k 2021/04/28
    なんかすごい
  • 君は誰とEmacsる? (補完インターフェイス紹介篇) - Qiita

    この場合の枯れたは比較的ポジティブな意味です。筆者はHelmが慣れてるのでこれを使ってますが、Anythingを使ってるひともまだまだたくさん居ますし、これから導入するならIvy/Counselも良い選択肢です。 IDO (ido-mode) IDO(Interactive DoまたはInteractively Do Things)は最少のキーボード打鍵で補完入力できるように設計された補完入力インターフェイスです。Emacsに同梱されてるので、最少の設定で利用する場合はパッケージ導入が不要です。 バッファ切替とファイル名補完が主機能ですが、ido-everywhereを有効化すると、それ以外の箇所でもIDOインターフェイスが利用できます。 idoの設定 .emacsファイル(~/.emacs.d/init.el)に以下のように記述します。デフォルトでは前方一致で利用するので、(setq i

    君は誰とEmacsる? (補完インターフェイス紹介篇) - Qiita
    iga_k
    iga_k 2021/04/24
    M-xの拡張
  • GitHub - akermu/emacs-libvterm: Emacs libvterm integration

    The short answer is: unparalleled performance and compatibility with standard command-line tools. For the long answer, let us discuss the differences between eshell, shell, term and vterm: eshell: it is a shell completely implemented in Emacs Lisp. It is well-integrated in Emacs and it runs on Windows. It does not support command line tools that require terminal manipulation capabilities (e.g., nc

    GitHub - akermu/emacs-libvterm: Emacs libvterm integration
    iga_k
    iga_k 2021/04/17
    vterm
  • srceryというカラースキームは特にemacsをターミナル内でしか使わない人には良かった - Qiita

    Emacs 、ウィンドウシステムでも使えるのは承知しているが、普通に考えてウィンドウシステムでエディタ立ち上げるなら VS Code とか JetBrains とか使うと思うので、その存在意義はターミナル内の作業中にその場で .bash_profile とか .git/config みたいなファイルをひとつだけサクッと書き換えるようなニッチな状況しか考えられず、したがってターミナルというかなり貧弱な色空間において精一杯やってもらわざるを得ない。そもそも Emacs 強い人はウィンドウシステムで立ち上げるし、強い人しか elisp 書かないので、そういう人と同じ運用にしないとおこぼれにあずかれないという構造があり、一方でターミナル向けのカラースキームがあったとして vim を含む各種エディタサポートしていたとしても Emacs はサポートされていなかったりしていて、ひしひしと淘汰圧を感じる日

    srceryというカラースキームは特にemacsをターミナル内でしか使わない人には良かった - Qiita
    iga_k
    iga_k 2021/04/17