【Mac】Dock に Vim のショートカットを作る

スポンサードリンク

Mac(OS X Yosemite)で Dock に Vim のショートカットを作った手順

  1. vim の場所を調べる。ターミナルを起動し、「whereis vim」で調べる。「/usr/bin/vim 」だった。
  2. Finder で /usr/bin/ にアクセスする。移動 > フォルダへ移動…(command + shift + g) を使う。
  3. ファイル vim を Dock にドラッグ。ゴミ箱近くの、区切り線よりも右側に置く。

Yosemite と書きましたけれども、どのバージョンでも手順に大差ないかと存じます。

ちなみに、わたくしたちの Mac は MacBook Pro (Retina, 13-inch, Late 2012) ですの。

“【Mac】Dock に Vim のショートカットを作る”の続きを読む

【Vim】マクロの具体的な使い方。HTMLタグ内のゴミを削除しましたの♪

Vim でのマクロ使い方まとめ

マクロの記録

  1. qa (a 〜 z のどれでもよい)で記録開始。ステータス行に「recording」と表示されることを確認
  2. 操作を行う
  3. q で記録終了

マクロの実行

  • マクロの実行に失敗した時点で、処理は中断される
  • @a (a 〜 z の記録したものをタイプ)
  • @@ ← 前回と同じマクロを実行
  • 10@a ← 10回「a」マクロを実行。マクロを直列に実行する。

マクロを並列に実行

  1. V でビジュアルモードに入り、マクロを実行したい行を選択する。
  2. :'<,’>normal @a を実行。「'<,’>」は「:」をタイプした時点で自動的に入力される。

Vim マクロの使い方実践!

次のテーブル HTML のゴミ部分を削除したいですの!ゴミ部分とは、たとえば「data-sheets-value=”[null,2,&quot;2:&quot;]”」ですわ。

<table dir="ltr" border="1" cellspacing="0" cellpadding="0"><colgroup> <col width="100" /> <col width="100" /> <col width="100" /> <col width="100" /></colgroup>
<tbody>
<tr>
<td data-sheets-value="[null,2,&quot;2:&quot;]">2:</td>
<td data-sheets-value="[null,3,null,2]">2</td>
<td></td>
<td></td>
</tr>
<tr>
<td data-sheets-value="[null,2,&quot;3:&quot;]">3:</td>
<td data-sheets-value="[null,3,null,3]">3</td>
<td></td>
<td></td>
</tr>
<tr>
<td data-sheets-value="[null,2,&quot;5:&quot;]">5:</td>
<td data-sheets-value="[null,3,null,5]">5</td>
<td></td>
<td></td>
</tr>
<tr>
<td data-sheets-value="[null,2,&quot;7:&quot;]">7:</td>
<td data-sheets-value="[null,3,null,7]">7</td>
<td></td>
<td></td>
</tr>
</tbody>
</table>

他の部分とも比べてみますと、次の条件を満たす行を削除したいと言い換えられますの♪

  • 「 data-sheets-value」(先頭は半角スペース)が含まれる行
  • 「 data-sheets-value」から「”」で閉じられた部分までがゴミ
  • 「”」は同じ行に2つあるため、1つ目までと早合点しないように注意

上記条件を満たすマクロを考え、記録し、対象を選択して実際に実行してみますの♪

マクロにゴミ削除の操作を記録いたします♪

次のようにマクロに記録させますわ♪ポイントは、ビジュアルモードで選択するときは左から右に記録するのではなく、逆に右から左へ選択することで「”」の検索を1回だけに抑えたところでしょうか。

※追記:あとでよくよく考えてみますと、最初に「”」を検索しますので、「”」が有り、かつ「data-sheets-value」が無い行でマクロを実行しますとバッファ全体の最後から後方検索されますの。結果意図しない部分が選択されてしまいますわ><。バグのあるマクロ。。。><。

ゴミが含まれる行にカーソルを移動してから記録開始ですの♪

  1. qa
  2. $F”v?data-sheets-value<CR>hx
    $ → 行末へ移動
    F” → 左方向の「”」へ移動
    v → ビジュアルモード開始
    ?data-sheets-value<CR> → 「data-sheets-value」を後方検索
    h → 左へカーソル1つ移動
    x → ビジュアルモードで選択した部分を削除
  3. q

これで「a」にマクロが記録されましたと同時に、マクロの記録のために操作した行でゴミが削除されましたの。

コードの対象行を選択してマクロを並列に実行!

ゴミの対象行を選択いたしましてからマクロを実行しますと選択した行全てが対象となりますの♪一気に処理できますので、大変楽ですわ♪

しかも!、間にゴミが含まれない行を選択してしまっても大丈夫!ゴミの無い行だけマクロが実行されず、前後のゴミのある行だけマクロが実行されますの!

例の2行目にカーソルを移動しまして次の操作を実行ですの!

  1. VG
  2. :'<,’>normal @a

ですから、マクロの処理が実行される行をこちらで決める必要がないようにできる点が、並列にマクロを実行する時の利点と言えますわね。

逆に、対象となる行が無くなったら以降の処理を止めたい場合はマクロの並列処理は使ってはいけませんわね!

おわりに

Windows のサクラエディタで初めて「マクロ」というものを知りました。

それまでエクセルマクロなどの名前やそれでできることなどを風の便りに聞きましたので、何かのログファイルから必要な物を抽出し、不要な部分を削除するのに使ってみましたのが始まりでしたわね。

感動いたしましたの!

13インチ MacBook Pro Retina にしてからは、予めインストールされている Vim を使用しております。。。マクロってあるのかしら?いいえ、きっとございますわね!という気持ちで探しましたらやっぱり!

この本には大変助けられましたの♪ありがとう存じます。

複数行を選択して、一度に各行に対してマクロを実行!なんてこともできますのね♪サクラエディタにはなかった(もしくはわたくしたちは気づけなかった)機能ですの♪素敵!

以上です。


スポンサードリンク

【Vim】入力補助、自動入力補完!自動補完を身につけたいですの♪

EC-CUBE の SQL 文を、テキトーに新規ファイルで Vim を使って書いていましたけれども、テーブル名やカラム名の入力が面倒ですの!

自動補完できないかしら?『実践 Vim』をめくります。。。あら?インストール時に使用するテーブル定義ファイルを上手く使えば実現できそうですわね♪

では、実際にやってみますの♪

Vim で自動補完を試してみました手順!

スクリーンショット 2014-02-14 22.45.53.png

  1. テーブル定義の SQL ファイルを開く。
  2. :edit で新規ファイルを指定して開く。これでテーブル定義がバッファに格納された(メモリに乗った)状態で作業できるようになった。
  3. 入力中に <C-n> でバッファ上のテーブル定義から入力候補が呼び出されて一覧表示される。
  4. さらに入力して候補を絞り込みたい時は、<C-p> で何も選択されていない状態にし、タイプを続ける。

Vim 自動補完のポイント !

  • <C-n> で候補の1つ下へ選択を移動
  • <C-p> で候補の1つ上へ選択を移動
  • <C-y> で選択中の候補で確定

まだまだ大事なことはたくさんありますけれども、一度にたくさん覚えきれませんので今回はこの 3 つだけ♪

“【Vim】入力補助、自動入力補完!自動補完を身につけたいですの♪”の続きを読む

vim だけが文字化けした環境で、vim の文字コード、文字エンコーディング設定して直しました♪

Linux コマンドでは文字化けしていないのに vim では文字化けしている時の見直し &  修正ポイント

  • .vimrc を編集
  • set encoding=utf-8」を追記
  • set fileencodings=iso-2022-jp,cp932,sjis,euc-jp,utf-8」を追記

奥が深い部分でございます。わたくし、理解しきっておりません。とりあえずこうしたら動いた、一応メモしておく、というのが今回の投稿でございます。

実践♪

“vim だけが文字化けした環境で、vim の文字コード、文字エンコーディング設定して直しました♪”の続きを読む

【WordPress】【環境】【場当たり対処方法】BackWPup で MySQL データベースのバックアップができていない問題!

公式のサポート書き込み羅列。2013年3月4日時点、 BackWPup (バージョンは 3.0.2)でデータベースのバックアップができていない PHP、MySQL バージョン

  • 共有サーバ、PHP 5.3.21、MySQL 5.5.29-cll、セーフモードはオフ、 mysqli インストール済み、 WordPress 3.5.1.
  • CentOS 6、 PHP 5.4.11-1、 MySQL 5.5.30-1
  • 専用サーバ、PHP 5.3.22、MySQL 5.5.30-cll
  • CentOS 6、 PHP 5.3.20、 MySQL 5.5.29
  • CentOS 5.9、 PHP 5.4.12 (cli)、 MySQL 5.5.30 ← わたくしの環境

“【WordPress】【環境】【場当たり対処方法】BackWPup で MySQL データベースのバックアップができていない問題!”の続きを読む