VimGolfでVim力を高める

Vim力とキーストロークについて ここで言うVim力とはどれだけ上手くVimを扱えるか即ちどれだけ速くVimでコーディング出来るかという事です。Vim力を高めるためには様々なパラメータを上げる必要があります。例えば多くのVimプラグインを知っていることや、.vimrcを育てること、はたまたVimスクリプトが書けることなど細かいことも上げればキリがありません。 その中でも少ないキーストロークでコーディングをする練習がVim力を高める近道であることはVimmerの間で有名です。キーストロークとはキーボードでは打鍵の深さを意味する言葉ですが、Vim界隈ではキー入力の数を意味しています。早い話が少ないキー入力でファイルを編集する知識が有れば有る程コーディング速度は上がるよねということです。 今回はVimGolfというサイトを使ってそういった練習を行う方法を紹介します。 VimGolfとは Vimにおける少ないキーストロークの重要性について先程述べましたが、VimGolfというサイトがこれの非常に良い練習になります。 使ってみるのが一番理解が速いと思いますが、VimGolfとは変更前のテキストと変更後のテキストが用意された問題集の様なサイトです。ここでは世界中のVimmerがそれらのテキストを如何に少ないキーストロークで編集出来るかという事に日夜心血を注いでいます。 最低工数のキーストロークがページ下部に載せられているのでそれを読むだけでも勉強になります。ちなみにVimGolfではプラグインや.vimrcの設定は利用出来ず標準のVim操作のみが有効です。 VimGolfの始め方 VimGolfではTwitterのアカウントを使用しますのでお持ちでない方は作成して下さい。お持ちの方はVimGolf公式HPの「SIGN... 御覧になる | 御シェアする

fzfでターミナル作業を効率化

fzfとは fzfとはざっくり言うと出力結果を一覧で表示して選択出来るUIを提供してくれて、その中で曖昧検索が出来て選択したものを抽出して出力してくれるものです。ファジーファインダーと呼ばれるツールの一つです。普段のコマンドと組み合わせることで作業を効率化出来るのでとりあえず入れておいて損はないです。 以前fzf.vimというVimプラグインを紹介しましたが、今回はfzfをターミナルに導入してみたいと思います。ターミナルでの作業が楽になるような使い方を色々とまとめてみましたので~/.zshrcに記述して使ってみて下さい。 fzfインストール Macのzshが動作保証環境です。下記のコマンドでfzfをインストールして下さい。 $... 御覧になる | 御シェアする

coc.nvimを使いVimの自動補完を強化する

Vimで自動補完する あまり知られていないかもしれませんがVimは標準で自動補完する機能があります。試しに何かファイル(既にある程度文字列が入力されいるファイル)を開いて挿入モードで文字を途中まで入力してから、<Ctrl... 御覧になる | 御シェアする

fzf.vimとripgrepでファイルと全文を曖昧検索する

fzf.vimとripgrepとは fzfとはGo言語で開発されたコマンドラインで曖昧検索をするためのツールの事です。導入することでファイルやコマンド履歴に曖昧検索をかけて素早く参照することが可能になります。またGo言語で開発されていることは移植性が高くパフォーマンスも高いということになります。 fzfを利用したfzf.vimというVimプラグインがあり、これを利用するとVim内のファイル検索が非常に使いやすくなるので今回導入して使ってみたいと思います。 次にregrepは指定のディレクトリ内のファイルを再帰的に検索するツールです。grepコマンドをリッチに使い易くしたものというイメージです。fzf.vimプラグインと組み合わせることでVimgrepをより使い易くなりますので、fzf.vimプラグインと一緒にインストールしてみます。 ※動作環境はmac... 御覧になる | 御シェアする

VimでAPIを叩く

VimでAPIを叩けたら もしもVimでAPIを叩く事が出来たら便利ですよね。例えばSlackにメッセージ投稿出来たり、Googleカレンダーからタスクを確認したり、Google翻訳をしたりなど。様々なことがVimの中だけで完結出来るようになります。 目下Vue.js/RoR/Docker環境でAPIサーバを立てて、ブラウザからシェルスクリプトを実行するという事を個人的に行っているのですが、これらもVimで実行することが出来てしまいます。 Vimから移動する時間が少なくなればなるほど作業効率も上がるはずなのでVimでAPIを叩くということには大きな意味があると言えます。今回はwebapi-vimというプラグインを使いVimからAPIを叩いてみたいと思います。 VimでAPIを叩くための準備 まずはwebapi-vimをインストールしましょう。プラグインマネージャは何でも良いのですが、こちらをインストールして下さい。Vimプラグインをインストールしたことがない方はこちらを御覧ください。 webapi-vimの基本的な使い方は以下の通りです。注意してほしいのですがURLのパラメータ部分にはパーセントエンコーディングされた文字列を入力する必要があります。URLエンコードサイトなどで変換したものを貼り付けて下さい。 GETメソッドでリクエストする webapi#http#get('URL') POSTメソッドでリクエストする webapi#http#post('URL',... 御覧になる | 御シェアする

Vimマクロを使ってないVimmerがいるってマ?

Vimマクロとは Vimマクロを使ったことが無いという人は意外と多いのではないでしょうか?Vimはエディタの割に学習コストが高いので、普及していない機能が多いです。Vimマクロはその筆頭の機能かもしれません。 例えば次のような状況を想像してみて下さい。これはVue.jsのコードの一部ですが、このコードを理解する必要はありません。仮に各タグにclass="mr-0"を追加しなければいけない時あなたはどうしますか? <a-item ... 御覧になる | 御シェアする

MacOS Vimの挿入モードから抜ける時に必ず英数にする方法

はじめに Vimを使っていると日本語でコメントを入力するために、かな文字に切り替えた後移動しようとして再度ノーマルモードに移りjキーを押すと、「っっっj」となってしまう経験に心当たりはないでしょうか。 自分自身これに長いこと悩まされていて方法を探してきたのですが、MacOS標準のVimという条件だと中々難しいようでした。kanabinerでEscに英数キーをキーバインドするのが定石らしいのですが、この方法はJIS配列のキーボードだと設定出来ませんでした。 今回はMacOS標準のVim、JIS配列のキーボード、Big... 御覧になる | 御シェアする