ddc.vimとvim-lspを使って自動補完機能を設定する

はじめに Vimには標準で自動補完機能が備わっていません。したがって手動でLSPを導入したり、補完候補が表示されるように設定をする必要があります。 今回はvim-lspという非同期LSPを行うVimプラグインと、LSPの設定を簡易にしてくれるvim-lsp-settingsというプラグイン、そして自動補完の設定を行うddc.vimというプラグインを導入していきます。 vim-lspに関しては自動補完以外にも定義ジャンプなど便利な機能もあるようですが、これについては別の機会にまとめようと思います。 Denoインストール ddc.vimがDenoで開発されているらしく、まずはDenoのインストールから行います。 $... 御覧になる | 御シェアする

iTerm2とVim上でSolarizedカラースキーマを利用する

はじめに 最近Macを初期化してしまったので、カラースキーマの設定もし直すことになってしまいました。 とりあえずSolarizedテーマを使っておけば間違いはないと思うので、今回はiTerm2とVimを使用するという前提の下でカラースキーマをSolarizedに設定する方法をまとめてみました。 Vimプラグインをインストール .vimrcに下記を追記して下さい。 Plug... 御覧になる | 御シェアする

Vimでアカウント・パスワードを管理するベストプラクティス

はじめに 複数のシステムのアカパスを管理している場合、どうしてもローカルのテキストファイルなどに管理してしまうかと思います。しかし、この方法はふとした瞬間に困ることがあります。 第一にファイルアクセスまで時間が掛かるということです。ファインダーを立ち上げ該当のテキストファイルまで移動して、クリックしてから確認という工数になります。 第二にうっかり画面共有などで他の人に見られてしまう可能性があることです。皆さんはやらないかと思いますが、自分は気をつけていても結構やってしまいます。説明やペアプロの時などに画面に映してしまい、その度に上司に注意されています。 そこで今回はVimで若干セキュリティを上げつつアカパスを管理する方法を考えてみました。 折り畳みを使う 概要 大抵のIDEや開発向けのエディタには折り畳みという機能があります。ファイルの中の一部分を折り畳むようにして一時的に非表示にする機能のことです。Vimにもfoldingという折り畳み機能があります。 下記はよく使うモーションです。 zf選択部分やカレント行を折り畳むzd折り畳みを削除するzD折り畳みを全て削除するza折り畳みを切り替えるziファイル内の折り畳みを切り替えるzj... 御覧になる | 御シェアする

Vimでブラウジング

はじめに Vimでブラウジング出来るとどんな良いことがあるのか考えてみましょう。仕事している風を装いながらスポーツニュースの速報をチェック出来たり、サクッと天気予報を確認出来たりします。 他にもコーディングをしながら調べものをする際にターミナルからブラウザなどのアプリに切り替えなくて済むようになります。一日に何十回とする面倒な作業が省略されて開発体験も改善されます。 という訳でVimでブラウジングする方法をまとめました。 テキストブラウザ w3mというテキストブラウザを利用します。普段私達が見ているWebページには画像やCSSなどの装飾が埋め込まれています。それらはChromeなどのブラウザによってパースされた後、DOMを構築したりスタイルを適応していき最終的に私達にとって見やすい形で画面に表示されています。 テキストブラウザとはWebページの文字で表現されている部分のみを抽出してターミナルに表示するブラウザのことです。w3mはその内の一つです。 $... 御覧になる | 御シェアする

Vimでファイル名をクリップボードにコピーするコマンド

ファイル名を手で入力している人 私です。 普段コーディングをしている時、モジュール化したファイルを読み込むためにそのファイル名を記述する事があるかと思います。「いい方法があるんだろうなー」と思いつつも、ついファイル名を素手で入力してしまいます。 しかしVimmerたるもの常に効率化のことを考えなくてはならないので、ファイル名を一々入力している方は断固改善すべきです。今回はファイル名をクリップボード及び無名レジスタにコピーするExコマンドを作りたいと思います。 ファイル名レジスタ Vimには読み取り専用のファイル名レジスタという特殊なレジスタがあります。これにはカレントバッファのファイル名が格納されています。 また様々な修飾子がありこれらを活用することでファイル名だけでなく、フルパスや相対パスも取得することが可能です。 ※下記のVim... 御覧になる | 御シェアする

レジスタをfzfで参照するVim scriptを書いた

レジスタについて レジスタはヤンクや削除を行った際に対象の文字列を保存しておく領域のことを指します。細かい説明は省きますが、デフォルトで保存される「無名レジスタ」や直近の削除したものがスタックされていく「番号付きレジスタ」、クリップボードと連携される「クリップボードレジスタ」など色々なレジスタが存在します。 :registersか:regのExコマンドでレジスタの一覧を表示することが出来ます。またヤンクやペーストをする際に各レジスタを指定することで狙ったレジスタに保存したり、ペーストすることが出来るのです。 fzfで参照したい 一見便利そうなレジスタですが種類が多過ぎてどこに何を保存しているのか分からなくなることがあります。という訳でfzfと組み合わせてレジスタを曖昧検索で参照して貼り付け出来るようにしたいと思います。 fzfが何か分からない方はこちらをご覧下さい。 最終的に下図の様なものになります。 ※この後作成するコマンドを実行するとレジスタの検索窓が表示されて選択すると貼付けされるイメージ Vim... 御覧になる | 御シェアする

Vimのセッション管理

Vimのセッションとは Vimmerの中でもセッションを使っていないもしくは知らないという方は多いと思います。セッションとは開いていたウィンドウと設定を保存しておき、後でセッションを復元することで保存した時のウィンドウレイアウトなどの状況を即座に再現出来る機能です。 セッションという言葉の割にシンプルで便利な機能なので今回Vimのセッション管理についてまとめたいと思います。 Vimのセッションを使ってみる まずは普段の作業さながらに複数のファイル、複数のウィンドウを開いてみて下さい。そうしたら下記のExコマンドを実行して下さい。 :mksession... 御覧になる | 御シェアする

【Vim】インデントの見た目を分かりやすくする

はじめに Vimは標準設定のままだとインデントの深さがぱっと見分かりづらいです。最初からとても見やすいデザインになっているVSCodeとは違い、Vimでインデントを分かりやすく表示するには諸々の設定が必要になります。 今回は下図の様なインデント表示させる設定方法をまとめていきます。 設定方法 Indent... 御覧になる | 御シェアする