Vimとsedで制御文字を取り除く

はじめに 以前、OSを跨ぐ作業により異なる改行コードが混在してスクリプトが実行出来なかったという事がありました。https://momozo.tech/2019/11/23/fac%e6%94%b9%e8%a1%8c%e3%82%b3%e3%83%bc%e3%83%89/ 異なるエディタを使っていたり、変態的なキーマッピング設定を行っているなど、理由は様々ですが意図しない文字コードがソースコードに入り込む現象は意外と多いです。(他には.editorconfigを作っていないとかも考えられますかね。) その結果プログラムが動かず、あげくデバックに何時間も要したなんて悲しい過去が、エンジニアならば心当たりがきっとあるはずです。そこで今回はVimで制御文字を調査してsedで簡単に除去する方法をまとめたいと思います。 Vimによる制御文字の調査 まずはVimで制御文字を調べる方法です。制御文字の一覧はWikipediaが簡潔でリファレンスに丁度いいです。 Vimにおける制御文字の入力方法は挿入モードで<Ctrl... 御覧になる | 御シェアする

VimのaleプラグインでVueへのESLintを非同期で実行する

はじめに 今回はVueファイルを編集する際にESLintでコード分析をして、ALEというVimプラグインで警告メッセージを表示する設定を行いたいと思います。ついでにPrettierでファイルの保存時に自動フォーマットをさせる設定もまとめておきます。 手順 ESLintインストール まずはESLintをインストールします。 $... 御覧になる | 御シェアする

先頭にシバンを挿入するVimスクリプト

シバンとは まずシバンとは下記の様なシェルスクリプトの先頭行に記述するインタプリタの指定の事です。 #!/bin/sh ※シェルスクリプトが後ろに続く 自分も難しい事は分かりませんが、そのシェルスクリプトがどのシェル上での実行を想定しているのか明記する為のものだと思っています。 TL;DR シバンを先頭行に挿入するVimスクリプトを書いてみます。Exコマンドラインから:Shebangと実行すると、現在開いているバッファの先頭行にシバンが追加される仕様です。 "... 御覧になる | 御シェアする

Vimのmessageをクリップボードにコピーする。そして検索する。

messageについて Vimのmessageをご存知でしょうか?Vimにおけるmessageとは画面下部に表示されるメッセージやエラーメッセージのことです。例えばVimを立ち上げて適当に編集した後保存せずに終了しようとしてみて下さい。 下の画像の様なお馴染みのメッセージが出力されます。 このmessageですが実は過去のものも参照する事が出来ます。:messagesコマンドをコマンドラインから実行して見て下さい。過去のメッセージやエラーメッセージが表示されるかと思います。 やりたいこと messageにはaleプラグインが表示してくれるLinterなどの警告文も表示されます。今まで警告内容を解消したい時、解消方法が分からない場合は手打ちでGoogle検索を行っていました。この作業が非常に面倒くさいのでクリップボードレジスタにmessageを一発でコピーするキーバインドを作成したいと思います。 vimrc編集 :nnoremap... 御覧になる | 御シェアする

aleプラグインでRuboCopを非同期で実行する

RuboCopとは RuboCopはRubyファイルを静的解析してソースコード内の問題を報告してくれるLinterと呼ばれるツールです。開発中のシステムのコードを可読性の高い状態に保ったり、チーム開発における記述ルールの統一のために導入するものです。 基本的にはコミット前などに下記の様なコマンドを実行して解析結果を出力して使います。 $... 御覧になる | 御シェアする

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... 御覧になる | 御シェアする