ブックマーク / zenn.dev/vim_jp (6)

  • 中級 Vim 操作

    この記事は Vim 駅伝 の 06/05 の記事です。 前回の記事は thinca さんによる、 06/03 の「Meguro.vim #23 を開催しました」という記事でした。 次回は 06/07 に投稿される予定です。 はじめに 記事は以下の記事のオマージュです。 Vim の基操作のうち、比較的マイナーながら汎用的に使える機能や小技を集めました。プラグインや複雑な設定が必要なものは含まれておらず、いずれも VimNeovim の両方で使うことができます。気になったものがあれば使ってみてください。 ノーマルモード編 検索結果を次々と置き換える Vim で文字列置換を行う最も有名な方法は :substitute コマンド (短縮形: :s) ですが、ノーマルモードの cgn というイディオムも便利です。これは c オペレータと gn テキストオブジェクト (:h gn) を組み合

    中級 Vim 操作
    yarumato
    yarumato 2024/06/06
    “楽に連番が作成できます。箇条書きだけでなくダミーデータの作成などにも使えます。電卓代わりに用いる”
  • なぜVimmerの僕はマルチカーソルを必要としないか

    はじめに VSCode などのテキストエディタには、マルチカーソルという機能があります。 これは、エディタ上に複数のカーソルを出現させ、一度に複数の場所に同じ操作を行うことができる機能です。 VSCode上でのマルチカーソル 自分はVSCodeをメインとしていた時にはこの機能を多用していたのですが、Neovimに移行してから一切使っていません。 一応Vim/Neovimにもマルチカーソルを実現するプラグインがいくつか存在します。 ですが、一度は入れてみるものの結局使わないままアンインストールしてしまいました。 ではなぜ、マルチカーソルが必要なくなったのか。 それはVim/Neovimの操作体系/機能が十分に強力であるので、マルチカーソルを使わなくても同じことができるからです。 この記事では、自分がVSCodeのマルチカーソルで行っていた操作をVim/Neovimの操作体系/機能でどのように

    なぜVimmerの僕はマルチカーソルを必要としないか
    yarumato
    yarumato 2024/04/19
    “Vimの操作体系/機能が強力なので、マルチカーソルは不要”   違うでしょ。VimはVSCodeと同じマルチカーソル操作しようとしてもできない(カーソル移動すると複数カーソル消える)から、不要と言い張るしかないだけ
  • Vim で日本語を使うための工夫

    概要 Vim を使いはじめてから 5年ぐらいになりますが、それ以来まとまった量の文章はほとんど全て Vim で書いてきました。その中には日語の文章も多く含まれているわけですが、Vim で日語を編集する際には英語やソースコードを書くときとには生じにくい問題がいくつか出てきます。 代表的な問題としては、IME がオンになったまま normal モードに戻ってしまうと normal モードのコマンドが打てなくなることや、f<char> や / による検索で IME 切り替えのコストが生じてしまうことがあります。 最近このあたりの環境改善についていくつか行ってみて、以前より日語ファイルの編集を行いやすくなっていると感じるので、その方法を紹介したいと思います。 環境 CUI 環境の vim を前提とします。gvim の IME 連携についてはこの記事では対象としません。 課題 Normal モ

    Vim で日本語を使うための工夫
    yarumato
    yarumato 2024/01/13
    “CUI環境のvimを前提とします。IME切り替えのコストをなくしたい。IMEオフを保証するGoogle日本語入力の設定、SKK使用。検索はmigemo,Digraphを使う。”
  • TOMLはスニペット書くのに良い感じ

    インデントで表現する必要が無いので、スニペットの構造自体はインデントを持たずに書くことができ、スニペット内部のインデントだけに寄せることができます。 Neovim用に変換する処理を書いた TOML to JSONで変換する処理を作っておけば、TOMLで書いて自動でJSON形式に変換できて便利であろうと考えて、簡単な処理を起こしました。 そしてせっかくそんな変換処理をするなら、ついでにいくつか仕様を盛り込んでみました。 特定のディレクトリ(g:vsnip_snippet_dirsまたはg:vsnip_snippet_dir)に.tomlなファイルを保存したら自動で変換する xxx.AAA.toml, yyy.AAA.tomlをAAA.jsonに変換+マージする 1種類のfileformatに大量のスニペットがあると、スニペットが管理しにくかった deno.typescript.toml, d

    TOMLはスニペット書くのに良い感じ
    yarumato
    yarumato 2023/12/03
    “VSCodeのスニペットはJSON形式でエスケープまみれ。YAMLはインデントが影響するので、入れ子あるコードを置くのは躊躇う。TOMLはインデント表現不要でよい。TOML to JSON変換処理をLuaやVim scriptではなくDenoで書く”
  • アドベントカレンダーもいいけど Vim 駅伝もいいよ

    この記事は Vim advent calendar 2023 の1日目の記事です。 明日は @kyoh86 さんの記事が公開される予定です。 また、Vim 駅伝 の12/01 の記事でもあります。 前回の記事は Atusy さんによる、 08/18 の「gin.vimでgitの差分を快適に閲覧する | Atusy's blog」という記事でした。 次回は 12/04 に投稿される予定です。 はじめに 記事は Vim 駅伝という記事投稿・集約サービスの宣伝です。アドベントカレンダー初日にアドベントカレンダーと全く異なるサービスの宣伝をする暴挙をお許しください。 Vim 駅伝とは 今年もアドベントカレンダーが始まりました。興味ある分野、好きな分野の記事が毎日公開される、エンジニアやプログラマにとって嬉しい25日間です。Vim アドベントカレンダーの1日目であるこの記事を開いてくださった方も、

    アドベントカレンダーもいいけど Vim 駅伝もいいよ
    yarumato
    yarumato 2023/12/03
    “12月にとどまらず、一年中新しいVimの記事が読みたい。毎週の月・水・金曜日に記事を公開。”
  • Vim での一括置換を楽に行う裏技

    この記事は Vim 駅伝 の 06/30 の記事です。 前回の記事は ryoppippi さんによる、 06/28 の「とあるコーディングチョットワカル勢のエディタ遍歴」という記事でした。 次回は 07/03 に投稿される予定です。 はじめに ファイル内の特定の文字列を一括置換する場面はよくあります。そんなとき Vim では :substitute コマンド(短縮形: :s)を用いて というコマンドを叩くのがセオリーです (cf. :h :s)。 しかしこれ、まあまあ面倒くさくありませんか? 冒頭に % を書かないといけない 冒頭の % は置換範囲を表し、ファイル全体を置換する、という意味を持ちます (cf. :h :%)。 % を書かない場合、カーソルのある行だけが置換対象となります。 でも、カーソル行だけを置換対象としたいことって…ファイル全体を置換するケースに比べればそこまで多く

    Vim での一括置換を楽に行う裏技
    yarumato
    yarumato 2023/07/01
    “:%s/(置換前)/(置換後)/g と毎回入力は面倒。設定を .vimrc に書くと、:s<Space> と打つだけで :%s//|/g というコマンド列(| はカーソル位置)に展開”
  • 1