タグ

vimに関するtanakaBoxのブックマーク (384)

  • アドベントカレンダーもいいけど 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 駅伝もいいよ
  • Neovimを一瞬でVSCode並みに便利にする - k0kubun's blog

    去年8年ぶりに vimrc を書き直した時はLSPの体験があんまりよくなくてLSPなしでNeovimを使い続けていたのだが、様々な言語のOSSをメンテする都合で用途に応じてIntelliJとVSCodeNeovimの三刀流で暮らしていた結果、可能ならNeovimに寄せたいけどそれならLSPを使いたいなということになり、今回LSPの所を真面目に設定し直して、かなり良い体験になっている。 正直Neovimの設定はVSCodeのそれに比べたら面倒なんじゃないかという印象がありサボっていた節があるが、実際にやってみるとVSCodeと同程度に簡単に済む方法もあったので紹介したい。 何故Neovimなのか LSPの話の前に、タイトルだけ見た人がそもそも単にVSCode使えばいいじゃんと言いそうなので、どうしてIntelliJやVSCodeではなくNeovimに揃えようと思ったのかについて書いておく。

    Neovimを一瞬でVSCode並みに便利にする - k0kubun's blog
  • Vim 9.0 : vim online

    June 2022 Vim 9.0 released After many years of gradual improvement Vim now takes a big step with a major release. Besides many small additions the spotlight is on a new incarnation of the Vim script language: Vim9 script. The previous release was version 8.2 in December 2019. Since the latest source code is always available on GitHub, many have already picked up later patch versions (there are mor

  • Vimにおけるカーソル移動の効率化

    初めに 最近Vimにおけるカーソル移動の効率化について少し考えていて、自分なりに どんなカーソル移動方法があるのか? それぞれのメリット・デメリットは何か? について整理&改善をしたくて、この記事を書きました。 後半にカーソル移動の改善のために作ったプラグインの紹介もあるのでぜひ最後まで読んでみてください。 テキストの編集の動作について 基、どんなエディタでもテキストを編集するのに次の動作を繰り返すと思います。 移動先の座標を認識(目で見て脳で認識) キーボード・マウスを使ってカーソルを対象の座標に移動 対象のテキストを編集(カット・置き換え・削除など) これらの動作を前提、どんなカーソル移動の方法があるかについて整理していきます。 マウスによるカーソル移動 多くの人はマウスを使用しているかと思うので、こちらの方法はもっとも一般的といえるでしょう。 個人的に、マウスにおける最大のメリット

    Vimにおけるカーソル移動の効率化
  • 詳説 最新のVim+SKKで日本語入力する方法

    このツイートが筆者の想像よりも反応があったので、今回はvimにSKKという日語IME環境を構築する方法を記事にしていきます。 SKKってなんぞや?? 多分これを見ている読者のほとんどがSKKを知らないと思います(筆者もvim-jpに入るまで知らなかった) SKK(エスケイケイ、Simple Kana to Kanji conversion program)とは、オープンソースで開発されている日本語入力システム(日本語入力メソッド)である。 https://dic.nicovideo.jp/a/skk より 簡単に言えばGoogle日本語入力などと同じIMEです。SKKについて詳しく説明すると記事が長くなる&筋から外れてしまうので今回は解説しません。 詳しく知りたい方は以下をご覧ください。 環境構築 今回は以下の手順で行なっていきます。 OSにVim起動のショートカットを登録 denop

    詳説 最新のVim+SKKで日本語入力する方法
  • 新世代の自動補完プラグイン ddc.vim

    始めに ここ数ヵ月力を入れてddc.vimの開発をしていて、ようやく一通りの機能がそろいましたので、広くユーザーに使ってもらうフェーズに進めたいと考えています。 ユーザーからの要望やバグ報告に対応が終わってから正式版の1.0となりますのでよろしくお願いします。 私が以前に作成した自動補完プラグインであるdeoplete.nvimは既に開発を終了しました。 私自身は既にdeoplete.nvimからddc.vimに移行しており、もはや何の不便も感じていません。動作も最初から安定していますし、自信をもってユーザーに使用を推奨することができます。 自動補完フレームワーク開発の歴史 私はこれまで数々の自動補完フレームワークを開発してきました。ここでその歴史を簡単に振り返ってみましょう。 neocomplcache.vim 2008/12 頃開発 私が始めて作成した自動補完フレームワークは neoc

    新世代の自動補完プラグイン ddc.vim
  • 無人島に持っていく(Neo)vimプラグイン10選 (TS開発環境編)

    概要 自分は普段Neovimを使って(主にTypeScriptでの)開発を行っています。 NeovimでのTypeScript開発は環境を整えればVSCodeと遜色ない開発体験を得ることができると思っています。 また、Vimの操作に慣れれば一部の編集機能についてはVimの方が優れていると感じています。 この記事では自分の開発に欠かせないプラグイン10個を紹介しようと思います。 プラグイン10選 VimをIDE化するプラグイン coc.nvim 様々な操作の起点に使うFuzzy Finder fzf-preview.vim 高機能なファイラ fern.vim Vim上でGitを操作する gina.vim テキストを囲う操作を可能にする vim-sandwich 文字の入力を自動で展開する lexima.vim Snippetプラグイン UltiSnips 一括置換を行う vim-qfrepl

    無人島に持っていく(Neo)vimプラグイン10選 (TS開発環境編)
  • The Missing Semester of Your CS Education (日本語版)

    The Missing Semester of Your CS Education (日語版) 大学の講義ではオペレーティングシステムから機械学習まで、 コンピュータサイエンスの様々な発展的トピックを学びます。 しかし、重要であるにも関わらず講義で教わることはめったになく、 したがって自分で学ばなければならないことがあります。 それは「コンピュータを操作するツールを習熟すること」です。 講義では、コマンドライン操作をマスターすること、パワフルなテキストエディタを使いこなすこと、 バージョンコントロールの様々な機能に触れること、などなどを教えます! 学生は大学生活を過ごすうえでそういったツールを使うことに何百時間も費やします (その後のキャリア全体を考えれば何千時間も使うと言えるでしょう)。 よって、ツールを使う経験を可能な限り流暢で淀みない状態にしておくということは、 非常に有意義であ

  • GitHub - jeffreytse/zsh-vi-mode: 💻 A better and friendly vi(vim) mode plugin for ZSH.

    Maybe you have experienced the default Vi mode in Zsh, after turning on the default Vi mode, you gradually found that it had many problems, some features were not perfect or non-existent, and some behaviors even were different from the native Vi(Vim) mode. Although the default Vi mode was a bit embarrassing and unpleasant, you kept on using it and gradually lost your interest on it after using for

    GitHub - jeffreytse/zsh-vi-mode: 💻 A better and friendly vi(vim) mode plugin for ZSH.
    tanakaBox
    tanakaBox 2021/04/15
    やばげ
  • Vim Commands: A Beginner Guide with Examples

    #Tools #Vim #MouselessVim Commands: A Beginner Guide with ExamplesWelcome to the first part of this series of articles to learn Vim! “Vim is not for me!” shout out Dave, my colleague developer. It wasn’t the first time I’ve heard this sentence. The result? Me, explaining to Dave and others gathering around my desk, that learning the basics of Vim can be beneficial to anybody: Many CLIs use Vim-lik

    Vim Commands: A Beginner Guide with Examples
  • A Vim Guide for Intermediate Users

    #Tools #Vim #MouselessA Vim Guide for Intermediate UsersWelcome to the second part of this series aimed to make you a better Vim user! In this article, I’ll explain more concepts, some of them making Vim truly special compared to other editors. Who wasn’t blown away discovering Vim’s macros? Specifically, we’ll see together: Ways you can organize open files in Vim using buffers, windows, tabs, and

    A Vim Guide for Intermediate Users
  • A Vim Guide for Advanced Users

    #Tools #Vim #MouselessA Vim Guide for Advanced UsersWelcome to the third part of this series aimed to help you unleash a power never seen on Earth using the Almighty Vim. We’ll see together in this article: Some nice keystrokes beginning with g.What ranges are and how to use them.The quickfix list and the location lists.The marvelous substitute command.The crazy useful :global (or :g) command.What

    A Vim Guide for Advanced Users
  • 君はまだVimの真の美しさを知らない - Qiita

    Hello Geek! やあ、パソコンカタカタオタクの諸君! 今日もクールなTerminalでエキゾチックなVimをさわっているかい? ところで君はどんなVimのcolorschemeを使っているだろう。 安定のGruvbox? 伝統のMolokai? 流行りのHybrid? 柔軟なBase16シリーズもいいよね。 それとも僕と同じ古き良きjellybeansかな? しかし、君はまだ知らないだろう。 そのVimのcolorschemeがまだ輝けるということを VimのSyntax Highlightingは不完全 VimのSyntax HighlightingはもともとIDEと比べると完璧とは言い難い。 文法が複雑な言語で複雑な処理を書くと、その差ははっきり現れてくる。 PhotonのPythonのコードをVimVSCodeで見比べてみよう。 1枚目がVim、2枚目がVSCodeで開いた

    君はまだVimの真の美しさを知らない - Qiita
  • vimrc の分割管理を上手くやる 2020年版

    筆者の環境について Vim にはプラグインマネージャも沢山あります。その中で僕は vim-plug を使っています。Software Design という雑誌で「Vim の細道」という連載をやっている事もあり、皆さんに一番リーチしやすいプラグインマネージャを選んでいるという事もありますが、基は「トラブルが発生しづらい」という理由で使っているのもあります。 vimrc の分割管理 ところで最近は Vim プラグインが沢山あり、個々に設定が必要な場合もあります。全て vimrc の中に書いてしまうのも良いのですが、そうするとどこからどこまでが、どのプラグインの設定か分からないといった問題が起きてしまいます。僕は vimrc をプラグイン毎に分割して管理しています。 Big Sky :: ぼくがかんがえたさいきょうの Vim のこうせい 2019年 年末版 " Vim 体の機能のデフォルト値

    vimrc の分割管理を上手くやる 2020年版
  • GitHub - dense-analysis/ale: Check syntax in Vim/Neovim asynchronously and fix files, with Language Server Protocol (LSP) support

    ALE (Asynchronous Lint Engine) is a plugin providing linting (syntax checking and semantic errors) in NeoVim 0.6.0+ and Vim 8.0+ while you edit your text files, and acts as a Vim Language Server Protocol client. ale-demo.mp4 ALE makes use of NeoVim and Vim 8 job control functions and timers to run linters on the contents of text buffers and return errors as text is changed in Vim. This allows for

    GitHub - dense-analysis/ale: Check syntax in Vim/Neovim asynchronously and fix files, with Language Server Protocol (LSP) support
  • trending colorschemes | vimcolorschemes

    let l:red = str2nr(substitute(l:raw_color, '.{0}(.{2})', '1', 'g'), 16) let l:green = str2nr(substitute(l:raw_color, '.{2}(.{2}).{2}', '1', 'g'), 16)

    trending colorschemes | vimcolorschemes
  • Vimの:wと:rの便利Tips

    始めに Vimには:wと:rコマンドがあります。コマンド自体は知っている方が多いかと思います。 ぼく的にちょっと便利な使い方ができるので、それお紹介していこうと思います。 :r :r banana.txtでファイルの中身を読み取って、現在のカーソルの次の行に挿入してくれます。 挿入できる行も指定できます。その場合は:{lnum}r banana.txtというふうに先頭に行番号を入力します。 ここからがイチオシですが、実は:r !{cmd}でコマンドの出力も挿入できます。 たとえば、APIのレスポンスをVimでちょっと編集したい場合や、コマンド実行結果を記事に挿入したい場合などに便利です。 :w :wについてVimmerのみなさんなら誰もが知っているコマンドなので説明は省きますが、 実は:w !{cmd}でバッファの内容を外部コマンドの標準入力として渡してくれます。 つまり、標準入力からコー

    Vimの:wと:rの便利Tips
  • 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