タグ

vimとVImに関するtanakaBoxのブックマーク (386)

  • Vimにたくさんあるファジーファインダー系プラグインを比較してみる

    ファジーファインダー系プラグインとは fuzzy finder、 あいまいに検索することができるツールです。 完全一致検索のように絞り込むまでにタイプ数が必要だったり、正規表現検索のように小難しいこともなく、高速に絞り込みできることがメリットです。 コマンドラインツールとして有名なのはfzfで、ディレクトリを移動したり、ファイルを選択したり、パイプとしてつなげてフィルターしたりといった用途で使われています。 Vimにおけるファジーファインダー系プラグイン Vim,Neovimではファジーファインダー機能はデフォルトで入っておらず、なんらかのプラグインをインストールする必要があります。(機能としてはないですが、vimにはmatchfuzzyという関数は最近追加されました) ファジーファインダーはプログラミングをするときにかなり強力なので、ほとんどのVimmerがなんらかのプラグインをインスト

    Vimにたくさんあるファジーファインダー系プラグインを比較してみる
  • Vim scriptでプラグインを作ろう 〜 Vimはいいぞ!ゴリラと学ぶVim講座(8) | さくらのナレッジ

    比較演算子に「#」を付けずに使用した場合は、ignorecaseの設定次第で動きが変わります。ignorecaseは、大文字小文字の区別を無視するオプションです。デフォルトでは無効になっているので、大文字小文字を区別して比較します。ignorecaseを有効にするには :set ignorecase を設定します。 ユーザの設定によって比較処理の動きが変わらないように、基的に「#」で大文字小文字を区別するようにしておくと良いです。 バッファについて バッファはメモリ上にロードされたファイルのことです。バッファには名前と番号があり、名前はファイル名で、番号は作成された順で割り当てられます。バッファは:bwipeoutで明示的に削除するかVimを終了しない限り、メモリに残ります。 バッファの存在チェック bufexists({expr})で{expr}のバッファがあるかを確認できます。ある場

    Vim scriptでプラグインを作ろう 〜 Vimはいいぞ!ゴリラと学ぶVim講座(8) | さくらのナレッジ
  • vim-lsp の導入コストを下げるプラグイン vim-lsp-settings を書いた。 - Qiita

    これら全ての機能は、テキストエディタと Language Server との間で JSON-RPC を使い、ソースコード体、コード補完候補、座標情報などを交換する事で実現されています。 温故知新 実は Language Server Protocol は OmniSharp というソースコード補完サーバがベースとなっています。 OmniSharp は元々、Vim で C# のコードを補完する為に作られた Vim プラグインでした。当時は Vimcurl コマンドで通信できる様に REST サーバとして作られていました。それを Microsoft が双方向の通信を行える様に通信仕様を JSON-RPC に定め、汎用化の為に仕様として策定した物が現在の Language Server Protocol です。 Language Server Protocol は Visual Stud

    vim-lsp の導入コストを下げるプラグイン vim-lsp-settings を書いた。 - Qiita
  • ぼくのVimさばきを支える設定とその導入手順を紹介する - Qiita

    <まえがき> Vimはこわくない。 つい最近までVimといえば強いエンジニアが使うこわいエディターだという勝手なイメージが私の中にありました。 しかし、いざvimrcを自分でカスタマイズし始めると楽しくなってしまい、いつの間にかメインエディターがVimになりました。Vimmerの数だけVimがあり、使い方に正解のないというVimの魅力に気づいてしまったのです。 この記事ではこれまでに私が行ったVimを使いやすくするための設定とその手順を紹介します。 あくまでカスタマイズの一例として誰かの役に立てると嬉しいです。Vimはこわくありません! 目次 この記事では筆者がVimを(そこそこ)使いこなせるようになった設定とその導入手順をご紹介します。 手順に沿って設定を進めれば誰でもVimを(そこそこ)使えるようになるはずです 章番号 タイトル

    ぼくのVimさばきを支える設定とその導入手順を紹介する - Qiita
  • Vim Short Tips - Qiita Advent Calendar 2019 - Qiita

    1 ツイートに収まるような短い Vim の Tips を書いていくアドベントカレンダーです。 ルール 担当の日になったら Tips の内容を Twitter でツイートし、その URL を Advent Calendar の記事として登録してください。 画像等の添付は禁止します。内容を簡単な Tips に限定するためです。 外部へのリンクも極力避けてください。リンク先に文があると末転倒なためです。簡単なプラグインの紹介 + プラグインへのリンク、程度であれば OK です。 メタ的な補足情報(この Advent Calendar へのリンク等)を付けたい場合は、リプライツリーを付けても構いません。ただし Tips の内容を 2 ツイート以上に分けることは禁止します。 可能だったらハッシュタグ #vimtips_ac を付けてください。 背景 昨今、技術系アドベントカレンダーは加熱の一途を

    Vim Short Tips - Qiita Advent Calendar 2019 - Qiita
  • ブラウザのテキストエリアでNeovimを使う | DevelopersIO

    はじめに 皆さんNeovim使っていますか!! Vimキーバインドに慣れるとブラウザのテキストエリアにカーソルを入れて、iボタンを押したとき世の中の非情さに涙を流します。なので仕方なく、「Terminalに戻りVimを起動して文章書いてコピー」→「ブラウザのテキストエリアにペースト」という生産的なのかよく分からない行動をとることになります。 Firenvimを使うと、ブラウザに自環境のNeovimを起動することが出来ます。ちょっと何言ってるかわかりませんね?試してみましょう! プラグインは、2019年11月3日に開催されたVimConf 2019のJustin M. Keyes様のセッションにて紹介されたものとなります。Neovimがどういうプロジェクトなのかも含め大変勉強になりました。 インストール 公式の手順の参照を推奨します。 プラグインのインストール 私はdein.vimのtom

    ブラウザのテキストエリアでNeovimを使う | DevelopersIO
  • Vimのターミナルの真の力お見せしますよ - Qiita

    端末の内容をヤンク VimのターミナルウィンドウでCTRL-W Nを押下するとターミナルの出力を一時的に保留します。 この状態をターミナルノーマルモードと言います。このモードは普通のウィンドウと同様カーソル移動、ヤンク、検索を行うことができます。 ただ、iやAなどのコマンドは挿入モードではなく、通常のターミナルモードに戻るようになっています。 ターミナルノーマルモードを使用することで、lessやtailコマンドの出力、また作業ログを簡単にメモに残すことができます。 外部コマンドとの連携 Vimでは:!echo gorillaというように:!を使用することで外部コマンドを実行することができます。しかし、それだとコマンドの実行が完了するまでVimを操作できないです。とてもツライ。 そこでターミナルを使えば非同期で外部コマンドを実行することができます。 コマンドを実行している間にVimの操作がブ

    Vimのターミナルの真の力お見せしますよ - Qiita
  • Vim-Galore : Vimについて知っておくべき全てのこと(2/5) | プログラミング | POSTD

    (訳注: 2016/2/26、記事タイトルを変更いたしました。) 特定のトピックについての記述をご希望ですか? Issue を立てるか、 Twitter で私までお知らせください!ありがとう! はじめに Vimとは何か? Vimの基原則 最初の一歩 ミニマルなvimrc 自分の実行しているVimの種類を知る チートシート 基礎 バッファ/ウインドウ/タブ アクティブ/読み込み済み/一覧表示/名前付きバッファ 引数リスト マッピング マップリーダー レジスタ 範囲 マーク機能 補完 モーション/オペレータ/テキストオブジェクト autocmd 変更履歴リスト/ジャンプリスト アンドゥツリー クイックフィックスと位置リスト マクロ カラースキーム 折り畳み機能 セッション ローカリティ 使用方法 オフラインでのヘルプ オフラインでのヘルプ(代替案) オンラインでのヘルプ クリップボード クリ

  • OpenVim - Interactive Vim tutorial

    Virtual keyboard (shows keys you need to press on your physical keyboard; not clickable)

  • オンラインvimトレーニングで休日にvimmerへの一歩を進めてみよう | DevelopersIO

    はじめに ローカルでのTerminalを使った開発 EC2インスタンス等へログインした後に発生するテキスト編集作業 など、vim等のテキストエディタを使うシーンというのはそれなりに発生します。いざその場面に遭遇した際に、テキストエディタ操作で手間取ってしまうことは避けたいものです。 vimのローカルトレーニング用テキストとしてvimtutorというコマンドがあります。 % vimtutor =============================================================================== = V I M 教 (チュートリアル) へ よ う こ そ - Version 1.7 = ===========================================================================

    オンラインvimトレーニングで休日にvimmerへの一歩を進めてみよう | DevelopersIO
  • At least one Vim trick you might not know

    New: My new book, Logic for Programmers, is now in early access! I’ve been using Vim for eight years and am still discovering new things. This is usually seen as a Good Thing About Vim. In my head, though, it’s a failing of discoverability: I keep discovering new things because Vim makes it so hard to know what’s available. While people often talk about the beauty of modal editing or text objects,

  • Vim Statusline Generator | tdaly.co.uk

    To see what colours your environment can use, run this command in vim :run syntax/colortest.vim

  • Vim本体のソースコードの読みはじめかた(仮) - rbtnn雑記

    github.com 私はVim体のソースコードを読み出したり触りだしてから2年ちょい経ったのでここで脳内GCをしたく、まとめてみようかと思います(Vim歴は8年くらい)。 とりあえず、これからここに書くことは現時点(2019/3/24)のソースコードの話でかつ私が理解している中でのまとめなので間違っていたり、古かったりするかもしれないので注意してください。 Vim体のソースコードの在り処 Vim体のソースコードは以下のGithubリポジトリにて管理されています。 ブランチはmasterのみで、その他のgithubリポジトリとかに依存してないので 単純にgitでこのリポジトリ1つをクローンすれば、Vim体をソースコードをビルドしたりできます。 git clone https://github.com/vim/vim ビルドの仕方はここでは説明しませんが、以下のページをみる良いかと思

    Vim本体のソースコードの読みはじめかた(仮) - rbtnn雑記
  • How I'm able to take notes in mathematics lectures using LaTeX and Vim

    How I'm able to take notes in mathematics lectures using LaTeX and Vim A while back I answered a question on Quora: Can people actually keep up with note-taking in Mathematics lectures with LaTeX. There, I explained my workflow of taking lecture notes in LaTeX using Vim and how I draw figures in Inkscape. However, a lot has changed since then and I’d like to write a few blog posts explaining my wo

  • GitHub - ycm-core/YouCompleteMe: A code-completion engine for Vim

    YouCompleteMe is a fast, as-you-type, fuzzy-search code completion, comprehension and refactoring engine for Vim. It has several completion engines built-in and supports any protocol-compliant Language Server, so can work with practically any language. YouCompleteMe contains: an identifier-based engine that works with every programming language, a powerful clangd-based engine that provides native

    GitHub - ycm-core/YouCompleteMe: A code-completion engine for Vim
  • 120 行で vi っぽいエディタを作る - Qiita

    参考:Qiita では印刷がうまくできません。プリントしたい人や PDF 化したい人は http://gurakura.sakura.ne.jp/culture/vi-like_text_editor_by_120_lines/ の方を見て下さい(同じ内容です)。 IOCCC 91 Best Utility 実を言うと 120 行も必要なく、28 行で書けちゃったりするのですが("Best Utility IOCCC 91" https://github.com/SirWumpus/ioccc-ae/tree/master/91)、それはさておき、文書では現代風にこのプログラムを書き直してみます。古文の現代語訳みたいなものだと思っていただければ幸いです。 ちなみに IOCCC 91 で Best Utility 部門を受賞した全 28 行のプログラムは、このようなソースコードだったそうで

    120 行で vi っぽいエディタを作る - Qiita
  • Vim 8.0用のプラグインマネージャを作ってみた話 - Qiita

    概要 Vim 8.0 では、Vim 体にプラグイン/パッケージを扱うための機能が追加され、さらに外部プロセスを実行して非同期に通信を行う、ジョブ・チャンネル機能が追加されました。 今回、これらの機能を活用した Vim 8.0(およびNeovim)用のプラグインマネージャを作ってみました。 プラグインマネージャの歴史 題に入る前に、Vim のプラグインマネージャの歴史を軽くおさらいしてみましょう。(以下の分類は、私による勝手な分類です。) 第 1 世代 Vim には、Vimball と GetLatestVimScripts という標準プラグインが付属しており、これを使えば対応プラグインを簡単にインストールしたり、更新することができました。 しかし、これらに対応していないプラグインの管理は困難でした。'runtimepath' の管理は手動だったため、すべてのプラグインを単一ディレクトリ

    Vim 8.0用のプラグインマネージャを作ってみた話 - Qiita
  • 上達したいVim初心者のための設定・プラグインの見つけ方、学び方〈エディタ実践入門〉 - エンジニアHub|Webエンジニアのキャリアを考える!

    上達したいVim初心者のための設定・プラグインの見つけ方、学び方〈エディタ実践入門〉 Vimの深淵はとても深く、学ぶことは簡単ではありません。記事では、初心者がVimをどのように学べばよいか? を解説しています。Shougoさんの寄稿です。 こんにちは。Shougo(@ShougoMatsu)です。今回は、Vim初心者のための記事を執筆することになりました。よろしくお願いします。 私のことを知らない人のために簡単に自己紹介しておきます。私はこれまで10年以上もの間Vimに関わっており、deoplete、dein、denite、defx、neosnippetといった各種プラグインを作成したり、ときにはVim体にパッチを書くなどといった活動を行っています。 今回、初心者向けの記事を執筆することに決めたのは、勉強会などで「Vimをどのように学べばよいか?」について質問されることが多く、皆が同

    上達したいVim初心者のための設定・プラグインの見つけ方、学び方〈エディタ実践入門〉 - エンジニアHub|Webエンジニアのキャリアを考える!
  • 生みの親が語る“Vimの27年”とこれから ―「VimConf 2018」レポート:レポート|gihyo.jp … 技術評論社

    VimConfは、テキストエディタVimのユーザーと開発者のための国際カンファレンスです。2018年11月24日に東京 秋葉原でその6回目となるVimConf 2018が開催されました。 今回の目玉は、Vimの作者Bram Moolenaarさんの登壇です。運営の方によると、Bramさんの招致はずっと夢だったようで、何ヵ月もの交渉を経て講演が決まった際は嬉しかったそうです。 レポートは、LTを除くセッションの内容を中心にお送りします。 オープニング キーノート『What is the next feature? - Who makes next feature of Vim』 ― mattn mattnさんは、日Vimコミュニティ vim-jp のキャプテンとして活動を続けられている方です。書籍『Vimテクニックバイブル』や『Vim scriptテクニックバイブル』の執筆に携わり、雑

    生みの親が語る“Vimの27年”とこれから ―「VimConf 2018」レポート:レポート|gihyo.jp … 技術評論社
  • Vim初心者に贈る、Vimの各種モードを完全に理解するとっておきの方法 - Quipper Product Team Blog

    つい先日, 2018-11-24 (土) に開催された VimConf 2018にて、弊Quipper社の ujihisa さんが登壇しVim技術発表を行いました。記事ではその発表の解説と、その裏話をめいっぱい記します。 発表タイトルは "Modes" という一単語のみで、公式サイトに載っているtalk abstractによると以下のようなものです。 Abstract Discover what is happening internally when you switch modes, such as insert mode, normal mode, and operator-pending mode. This talk first revisits how modes are when you use Vim, then I'll let you dive into the V

    Vim初心者に贈る、Vimの各種モードを完全に理解するとっておきの方法 - Quipper Product Team Blog