タグ

ブックマーク / zenn.dev/mattn (5)

  • Vim で折り返し行を簡単に移動できるサブモード・テクニック

    はじめに 先日 Twittervim-jp コミュニティで、Vim で折り返し行を移動する方法についての質問がありました。 Vim に詳しくない方の為に説明すると、Vim は行指向のテキストエディタです。j/k で移動するのは行単位の為、折り返されている行であっても次の行へと移動します。 視覚的に移動したい しかし折り返されている行を視覚的な単位で移動したい事もあります。w や 80l の様に移動する方法もありますが、目的の場所に確実に移動できる訳ではありません。 その様な移動の方法として Vim には gj と gk があります。 gj or *gj* *g<Down>* g<Down> [count] 表示行下に移動。|exclusive|。行が折り返されて いる場合とオペレータコマンドとともに使われた場合は 'j' と違う動作になります(行単位ではありませんから)。 gk or

    Vim で折り返し行を簡単に移動できるサブモード・テクニック
    emonkak
    emonkak 2022/05/08
  • bash スクリプトの実行中上書き動作について

    を設定してから再度試した所 bar が表示された。backupcopy は編集中のファイルによって自動で判別する auto がデフォルトになっている為、試す際には明示的に yes に設定しないといけない。 bash の実装確認 evalstring.c の parse_and_execute でコマンドが処理されており、input.c の with_input_from_buffered_stream で読み込みの準備が行われている。バッファの読み込みの体は y.tab.c つまりパーサから直接呼ばれており、このパーサは fgets(3) で読み込まれつつ実行される為、一括でファイルが読み込まれている訳ではない。 while/do でループ実行した際に、ファイルを書き換えられたら戻り先はどうなるか、についてはスクリプトはバッファ付きで読み込まれており、そのバッファがファイルシステムから読

    bash スクリプトの実行中上書き動作について
  • Vim9 script はどれくらい速いのか

    はじめに Vim というテキストエディタは、vi から引き継いだ独特な操作を提供します。そしてそれだけでなく Vim script という独自のスクリプト言語で Vim 自身を拡張する事ができます。多くの Vim ユーザの方もそれはご存じかと思います。 もしかすると知らない方もいらっしゃるかもしれませんが、昨年末から Vim の作者 Bram Moolenaar 氏が vim9 というブランチを作り今年の1月に master ブランチへマージしました(vim9 とは言えどまだバージョンは8です)。その中に含まれていた機能が Vim9 script です。 そもそも Vim script Vim script は Vim のバージョン 5.0 の頃から登場し、元々は設定ファイルである vimrc を環境により if 分岐する為に登場しました。その後 Vim script に色々な関数が足され

    Vim9 script はどれくらい速いのか
    emonkak
    emonkak 2020/10/19
  • Vim の超軽量ファイラを作った

    先日、@lambdalisue さんが Vim 上のファイラを紹介する記事を書いてくれていました。 2020秋 Vim のファイラー系プラグイン比較 | Zenn 僕はこの中の dirvish というプラグインを使っていました。 Big Sky :: Vim 上のファイラを NERDTree から dirvish に乗り換えた。 dirvish を使っていた一番の理由は「超軽量」だからです。何故 netrw を使わないかというと、メンテ可能なソースコードじゃないという理由が1つ、もう一つが fat 過ぎるという理由です。 僕が考える理想のファイラ これは皆さんそれぞれ意見があり、違って当然なのであくまで僕個人の意見です。僕が Vim のファイラに求めるのは :e /path/to/ でファイラ開きたい $ vim /path/to/ でファイラを開きたい ファイルの一覧を速く表示して欲しい

    Vim の超軽量ファイラを作った
    emonkak
    emonkak 2020/09/29
  • CtrlP に出戻りした

    はじめに Vim でファジーファインダといっても沢山ある訳ですが、皆さんはどれを使ってるでしょうか。 CtrlP fzf.vim denite vim-fz そもそもファジーファインダ使わず netrw そもそもファジーファインダ使わず NERDTree そもそもファジーファインダ使わず dirvish そもそもファジーファインダ使わず fern その他 いろいろあります。それぞれに特徴があり、自分の好きな物を使っておられると思います。個々の特徴を知りたい方は @yutakatay さんが良い記事を書いてくれているのでそちらをご覧ください。 まず昔話を聞いて欲しい 僕はもともと CtrlP を使っていました。CtrlP は kien 氏が開発した Vim プラグインで、Vim script のみで実装された高速なファジーファインダです。 意外と知られていない便利なvimプラグイン「ctrl

    CtrlP に出戻りした
    emonkak
    emonkak 2020/09/29
  • 1