Vim が起動時に読み込むユーザーホームディレクトリ下のディレクトリを確認したいですわ。
とある言語のシンタックスハイライトを追加する必要がありましたの。この際に、Vim のインストールフォルダには手を触れたくありませんでした、というのが理由ですわ。
:set runtimepath
すると ~/vimfiles および ~/vimfiles/after が、Vim 起動時に読み込まれるユーザーホームディレクトリのデフォルトであることがわかります。
Vim が起動時に読み込むユーザーホームディレクトリ下のディレクトリを確認したいですわ。
とある言語のシンタックスハイライトを追加する必要がありましたの。この際に、Vim のインストールフォルダには手を触れたくありませんでした、というのが理由ですわ。
:set runtimepath
すると ~/vimfiles および ~/vimfiles/after が、Vim 起動時に読み込まれるユーザーホームディレクトリのデフォルトであることがわかります。
にしたがって、netupvim を Vim.exe と同じフォルダに展開し、使用してみたところ途中でエラーが発生してしまいました><。
Vim を使用している時に、テキストファイルですけれども、マークダウン記法で記述する機会がございました。マークダウンのシンタックスハイライトをしたいと思いましたの。
そもそもマークダウンのシンタックスハイライトが Vim には含まれていないようでしたので導入と、好きなタイミングで自由にシンタックスハイライトを切り替える方法についてまとめました♪
Yosemite と書きましたけれども、どのバージョンでも手順に大差ないかと存じます。
ちなみに、わたくしたちの Mac は MacBook Pro (Retina, 13-inch, Late 2012) ですの。
次のテーブル HTML のゴミ部分を削除したいですの!ゴミ部分とは、たとえば「data-sheets-value=”[null,2,"2:"]”」ですわ。
<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,"2:"]">2:</td> <td data-sheets-value="[null,3,null,2]">2</td> <td></td> <td></td> </tr> <tr> <td data-sheets-value="[null,2,"3:"]">3:</td> <td data-sheets-value="[null,3,null,3]">3</td> <td></td> <td></td> </tr> <tr> <td data-sheets-value="[null,2,"5:"]">5:</td> <td data-sheets-value="[null,3,null,5]">5</td> <td></td> <td></td> </tr> <tr> <td data-sheets-value="[null,2,"7:"]">7:</td> <td data-sheets-value="[null,3,null,7]">7</td> <td></td> <td></td> </tr> </tbody> </table>
他の部分とも比べてみますと、次の条件を満たす行を削除したいと言い換えられますの♪
上記条件を満たすマクロを考え、記録し、対象を選択して実際に実行してみますの♪
次のようにマクロに記録させますわ♪ポイントは、ビジュアルモードで選択するときは左から右に記録するのではなく、逆に右から左へ選択することで「”」の検索を1回だけに抑えたところでしょうか。
※追記:あとでよくよく考えてみますと、最初に「”」を検索しますので、「”」が有り、かつ「data-sheets-value」が無い行でマクロを実行しますとバッファ全体の最後から後方検索されますの。結果意図しない部分が選択されてしまいますわ><。バグのあるマクロ。。。><。
ゴミが含まれる行にカーソルを移動してから記録開始ですの♪
これで「a」にマクロが記録されましたと同時に、マクロの記録のために操作した行でゴミが削除されましたの。
ゴミの対象行を選択いたしましてからマクロを実行しますと選択した行全てが対象となりますの♪一気に処理できますので、大変楽ですわ♪
しかも!、間にゴミが含まれない行を選択してしまっても大丈夫!ゴミの無い行だけマクロが実行されず、前後のゴミのある行だけマクロが実行されますの!
例の2行目にカーソルを移動しまして次の操作を実行ですの!
:'<,’>normal @a
ですから、マクロの処理が実行される行をこちらで決める必要がないようにできる点が、並列にマクロを実行する時の利点と言えますわね。
逆に、対象となる行が無くなったら以降の処理を止めたい場合はマクロの並列処理は使ってはいけませんわね!
Windows のサクラエディタで初めて「マクロ」というものを知りました。
それまでエクセルマクロなどの名前やそれでできることなどを風の便りに聞きましたので、何かのログファイルから必要な物を抽出し、不要な部分を削除するのに使ってみましたのが始まりでしたわね。
感動いたしましたの!
13インチ MacBook Pro Retina にしてからは、予めインストールされている Vim を使用しております。。。マクロってあるのかしら?いいえ、きっとございますわね!という気持ちで探しましたらやっぱり!
この本には大変助けられましたの♪ありがとう存じます。
複数行を選択して、一度に各行に対してマクロを実行!なんてこともできますのね♪サクラエディタにはなかった(もしくはわたくしたちは気づけなかった)機能ですの♪素敵!
以上です。
EC-CUBE の SQL 文を、テキトーに新規ファイルで Vim を使って書いていましたけれども、テーブル名やカラム名の入力が面倒ですの!
自動補完できないかしら?『実践 Vim』をめくります。。。あら?インストール時に使用するテーブル定義ファイルを上手く使えば実現できそうですわね♪
では、実際にやってみますの♪
まだまだ大事なことはたくさんありますけれども、一度にたくさん覚えきれませんので今回はこの 3 つだけ♪
奥が深い部分でございます。わたくし、理解しきっておりません。とりあえずこうしたら動いた、一応メモしておく、というのが今回の投稿でございます。