読者です 読者をやめる 読者になる 読者になる

かんがえちゅう!

出来寛祥です。多趣味に生きていこうと思って、楽器とかスポーツとかいろいろやってます。プログラミングも好き。

Sublime Textの検索機能を使いこなす方法

Sublime Text

sponsor

Sublime Textってプログラミングのためだけじゃないんです。正規表現や同時選択などいろいろな機能を使ってめちゃくちゃ便利な使い方ができます。

f:id:hiroyoshi-deki:20151216191457j:plain

特定キーワードの基本的な検索方法3つ!

文書やコードをいじっているときに、同じ文字列を一気に置換したい場合や、ある範囲の変数だけ編集したいときなど、いろいろな場合があります。

そういった細かい場合に対応したSublime Textの使い方を説明します。

通常の検索 ⌘ + f

[ ⌘ + f ]でファイル内の文字列を検索することができます。いろいろなエディタに実装されている普通の検索です。

f:id:hiroyoshi-deki:20151216124744p:plain

右下のfind allで一気に選択できます。find allのショートカットは[ opt + enter ]です。

[ shift + enter ]でfind Prevが、[ ⌘ + g ]でfindができます。これで前後に移動しながら特定の位置のキーワードが選択できます。編集に入るときはEscを押してください。

  • find [ ⌘ + g ]
  • find Prev [ shift + enter ]
  • 編集に入る [ Esc ]
  • find all [ opt + enter ]

フォルダ内のファイルの検索 [ ⌘ + shift + f ]

[ ⌘ + shift + f ]でフォルダ特定のフォルダの文字列を検索できます。

f:id:hiroyoshi-deki:20151216145738p:plain

... をクリックしてAdd Folderから検索したいフォルダを選びましょう。それでいつも通り検索すれば、テキストとして、どのファイルに文字列があるか出力してくれます。

  • ファイル横断検索 [ ⌘ + shift + f ]

選択した文字列の検索 [ ⌘ + d ]

⌘ + f で検索窓を出して文字を打ち込まなくても選択している位置を[ ⌘ + d ] で選択していけます。押しただけ選択します。

選択しすぎたら[ ⌘ + u ]で元に戻れます。

  • 選択した文字列の検索 [ ⌘ + d ]
  • 選択を一つ戻す [ ⌘ + u ]

この3つがsublime textでの基本的な選択方法です。

これらを利用して超便利に検索していきます。

正規表現を使った検索

github.com

これをインストールしてもらえると正規表現のスニペットが使えるようになります。全角文字を検索したり、半角文字やかっこを簡単に検索できるようになります。

空行削り

#mb10 {
  margin-top: 10px; }

.mb20 {
  margin-top: 20px; }

#mb30 {
  margin-top: 30px; }

.mb40 {
  margin-top: 40px; }

#mb50 {
  margin-top: 50px; }

.mb60 {
  margin-top: 60px; }

#mb70 {
  margin-top: 70px; }

.mb80 {
  margin-top: 80px; }

#mb90 {
  margin-top: 90px; }

.mb100 {
  margin-top: 100px; }

これを

#mb10 {
  margin-top: 10px; }
.mb20 {
  margin-top: 20px; }
#mb30 {
  margin-top: 30px; }
.mb40 {
  margin-top: 40px; }
#mb50 {
  margin-top: 50px; }
.mb60 {
  margin-top: 60px; }
#mb70 {
  margin-top: 70px; }
.mb80 {
  margin-top: 80px; }
#mb90 {
  margin-top: 90px; }
.mb100 {
  margin-top: 100px; }

こうしたい。

こんなときは\n[.#]でfind allすれば改行と#もしくは . が連なった部分を検索できます。

大切なのは\nだけじゃダメだから連なる文字もセットで検索することです!

実はこれmbで検索してもできるんですよね笑

それでも上手くいかないときのために正規表現をいろいろと覚えておくと便利です。

dek1chan-sublime-snippetは覚えるのめんどくさい人のために、複雑なパターンを少し入れてあります。今後どんどん追加していくので使ってくださいねー!

コピペに邪魔なTag外し

はてなブログの見たままモードのとき。一度別のテキストエディタで書いた文字列を貼り付けるとhtmlに余分なタグが付加されることがあります。

そんなとき、ブラウザの検索窓とかに貼ってもいいんですがDek1chan-sublime-snippetを使うとtagに囲まれた部分探せます。

tagsと打ってtabを押すと <("[^"]*"|'[^']*'|[^'">])*> こんなのが出てきます。これでタグに囲まれた部分を探すことができます。

ソースに明記してありますが

http://hodade.adam.ne.jp/さんより正規表現をお借りしています。

これでタググループにマッチします。

f:id:hiroyoshi-deki:20151216175412p:plain

使える正規表現シリーズ

hodade.adam.ne.jp

こちらのページに基本的なことが書いてあります。

普段使うのにオススメのものを書いていきますのでわからなかったら参照してください。

  • \w      英数字とアンダーバー
  • \d    数字
  • [a-z]   英字
  • \n       改行
  • ^        直後の文字はヒットしない
  • ?        一番最初に出てくる直後の文字
  • $        行末にある直前の文字
  • [^\x01-\x7E] すべての全角 ( dek1chan-sublime-snippet:zenkaku )
  • [\x20-\x7E]  すべての半角 ( dek1chan-sublime-snippet:hankaku )
  • \([^\(^\)]*\)   中に入れ子のないかっこ ( dek1chan-sublime-snippet:kakko )
  • <("[^"]*"|'[^']*'|[^'">])*>  htmlタググループ ( dek1chan-sublime-snippet:tags )

ここら辺使えるとある程度の場合に対応できる。

行末への移動

Preferences > Key Bindings > Userにこれが書いてあると[ ⌘ + → ][ ⌘ + ← ]で行頭行末へカーソル移動できます。

{ "keys": ["super+right"], "command": "move_to", "args": { "to": "hardeol" } },
  { "keys": ["super+left"], "command": "move_to", "args": { "to": "hardbol" } }

使用例  

www.dekihiroyoshi.com

 

www.dekihiroyoshi.com

 

このリストは正規表現を存分に使って作りました。

プログラミングで配列を作って文字列をソートしたかったので「!NEW」という文字列を消したり、空行を削ったりしています。行頭行末移動で""で区切ったり改行を検索してカンマを打ってもいます。

なので、一覧が載っているページを見つけてリスト化するまで5分しかかっていません。

 

© 2015 かんがえちゅう!