Vimでコマンドモードに戻る際にIMEをオフにする(Mac / ATOK編)
MacOS Sierraでは Karabinerが使えないんですよね。仕事場の MacBook Air を早々に Sierra にしていたのでかなり前から知ってたのですが、自宅のMacはこの件がありバージョンアップせずにいたのです。でも先日、TouchBar 付きのMacBook...
View ArticleVIMのカラースキーマ導入の整理
LinuxでのVIMのカラースキーマ設定の整理をメモ。課題次の課題を解決!CentOSをminimal(必要最低限パッケージ)なんかでインストールすると、VIMのデフォルトなカラースキーマなどはインストールされない。Webで公開されているMorokaiとかのカラースキーマの導入手順などは簡単に検索できるけど、ユーザー(アカウント)ごとの導入手順がほとんどで、複数のユーザーが同じカラースキーマを使う場...
View Articleディレクトリごとのvim環境
したいこと~/.vimrcはシンプルに保ちたい。vimを起動する場所によって設定を変えたい。 読み込むプラグインも変えたい。vim版virtualenv的な。例:ディレクトリ構成 . ├── py/ │ ├── .vim.d/ │ │ ├── vimrc │ │ └── jedi-vim/ │ ├── python-project-000/ │ └──...
View ArticleCentOS7でluaを有効にしたVimに入れ替える
環境CentOS 7.2Vim バージョン7.4 $ cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) $ vim --version...
View Articlevimへのqfixhomwの導入・使い方
qfixhomwの導入・使い方今更かもしれませんが最近qfixhomwをvimに入れてみました。せっかくなので導入方法、基本的な使い方やvimrcの設定など書き留めておきます。導入方法QFixHowmのHPで本体をダウンロードします。QFixHowm インストールページダウンロードした "qfixhowm-master.zip" を解凍し、出来た "qfixhowm-master"...
View ArticleSSHのvimでマウスで選択範囲をコピーできなくなった
set mouse=a おなじみのマウスを有効にする設定。しかし、ssh越しだと逆に何故か選択範囲コピーできなくなったなったのでコメントアウトしたらできるようになった。
View Article新米エンジニアのVim入門
はじめに今後本格的にプログラミングを始めるということもあり、知り合いのエンジニアにVimを使うことを勧められた。学習の際に参考にしたサイトは最後にまとめて記述するが、特にこちらのサイトは大いに参考にさせていただいた為、特記しておく。また、Vimの学習をする際には自分で実際にVimを操作しながら学習することが望ましく、これを推奨したい。Vimをはじめる僕は基本的にAtomを使っているので、プラグインで...
View ArticleGoogle翻訳が賢くなったのでコミットコメントを書くときに英語に翻訳しやすくするVim設定をした
はじめに英語力が壊滅的なためにGitとかのコミットコメントを英語で書くのが苦痛で、自分用のリポジトリなんかは横着して日本語で書いてました。そんなところに、Google翻訳が賢くなったってニュースが舞い込んできたので、今更ながら試してみたところ(たぶん)いい感じに翻訳してくれています。以下は最近コミットしたコメントを翻訳したものです。私の場合、特に文法や前置詞の使い方に不安があったので、これくらい翻訳...
View Articlevim: 入力したコードを複数回行うコマンド
新米エンジニアのVim入門を夜中に読んでいたら今後絶対に活躍するであろう神コマンドに遭遇したのでここに書いておく。入力したコードを複数回一気に行う.num + i + text + escで入力したコードをnum回分だけ行ってくれる。例えば100i + hoge + escで
View Articleおいらの.vimrc
" = 基本設定 set t_Co=256 set laststatus=2 " 常にステータスラインを表示する set ambiwidth=double " vimに全角を解釈させる set autoread " 外部エディタの変更を自動で読み直す set hidden " 変更中でも他のファイルを開けるようにする set backspace=indent,eol,start "...
View Articleコマンドプロンプトで起動したVimでウインドウサイズを変える
コマンドプロンプトはウインドウサイズが変えられない。 Windows10やWindows8(たしか)変えられるけど、開発の現場ではまだまだWindows7が現役。でもコマンドプロンプトから起動したVimではウインドウサイズを変えられるらしい。:set columns=[表示したい横幅(文字数)] :set lines=[表示したい行数]しらなかった。。。
View Articlevimの置換で改行を(挿入|削除)する
vimの置換で改行を(挿入|削除)する環境windows10 vim 7.4 encoding=utf-8コード(注:通常の置換についての知識は前提としています。)改行を削除する。:s/\n//g各行を挿入する:s//\r/g後書き挿入と削除で特殊文字が変わることに注意すること。:h \rでヘルプを見ても理由はよく分からない。
View Article0からvimを学ぶ
vimでrailsを書いて3年くらいになりますが、会社での覇権を完全にatomに奪われてしまい、少しでも仲間を増やすために入門に関する情報を書いてみます。vimのメリットとはcuiツールと相性がいいどんな環境でもだいたい入っているし、簡単に導入する方法がある(とくにサーバーでの作業とか)起動がはやいサクサク作業できる(拡張していく際にも起動や動きが重くならないようにするべし)情報が豊富、qiitaに...
View ArticleVim 8.0 Advent Calendar 1 日目 関数機能の強化
この記事は Vim 8.0 Advent Calendarの 1 日目の記事です。Vim 8.0 では Vim script の関数機能が強化されました。この記事では Partials とラムダを紹介します。Partialsこれまでの Vim script では function()関数で関数参照(Funcref)を作成できました。これにより、関数を変数に入れ、直接呼び出すことができます。let...
View ArticleVim のススメ
概要この記事は、株式会社アイスタイル Advent Calendar 2016の 1 日目の記事です。 Vim のススメということで、Vim のこういうところが良いぞ!Vim はこうするともっと便利になるよ!といった点をお伝えできればと思います。3行で!Vim はショートカット覚えれば普通に便利Vim プラグインがたくさん作られているので、用途に合わせてインストール ->...
View ArticleDockerfile の INSTRUCTION を自動で大文字で入力する
この記事は Akatsuki Advent Calendar 2016の 2 日目、および Vim Advent Calendar 2016 (その2)の 2 日目、および Docker2 Advent Calendar 2016の 2 日目の記事です。Dockerfile 書いてますか? 私はいつも Vim で書いています。さて、Dockerfile の INSTRUCTION、いわゆる...
View ArticleVim 8.0 Advent Calendar 2 日目 チャンネル
この記事は Vim 8.0 Advent Calendarの 2 日目の記事です。Vim 8.0 では、外部リソースとのやりとりを行う機能としてチャンネルが追加されました。本記事では、チャンネルの基本的な使い方として、ソケット通信を行う方法について簡単に説明します。詳細については Vim 付属の help を参照してください。チャンネルを使うこの例では、ローカルホストの HTTP サーバに対して...
View ArticleVim 8.0 Advent Calendar 3 日目 ジョブ
この記事は Vim 8.0 Advent Calendarの 3 日目の記事です。ジョブ機能を使うことで、外部プロセスを非同期で実行することができます。ジョブを使うこの例では、ジョブを使って外部コマンド git grep -n wordを実行し、結果を 1 行ずつ非同期で処理し、quickfix に追加しています。function!s:handler(ch, msg) abort caddexpr...
View ArticleVim script の Lint 作者による誰得 Lint デザインパターン
この記事は、Lint における主要なデザインパターンを紹介します。紹介するパターンは次の3つです:Policy パターンAST Visitor パターンChained Config パターン執筆者についてVim script の Lint作者です。詳しくは、インタビュー記事をご覧ください。デザインパターンの紹介Policy パターンLint...
View ArticleVim 8.0 Advent Calendar 4 日目 JSON サポート
この記事は Vim 8.0 Advent Calendarの 4 日目の記事です。チャンネルやジョブが追加されたのに合わせて、外部と JSON でのやり取りを行うことを想定して、JSON サポートが追加されました。エンコード/デコードするjson_encode()と json_decode()を使うことで、Vim の内部データと JSON 文字列を相互に変換できます。let obj =...
View Article