タグ別アーカイブ: blog

これからvimを使い始める人のための便利な使い方Tips


 

3分動画のドットインストールでvimの動画をすべて見たので自分なりに知らなかったことなどをまとめてみます。vimは以前からサーバを操作するときにconfファイルの編集などで使っていました。今後はメインのエディタとして使っていけるように色々便利なコマンドなどを勉強していこうと思います。

コマンドモード

:e [file]:ファイルを開く
:w [file]:ファイル名をつけて保存

 
ノーマルモード

w / b :単語単位の移動
^: 行頭に移動
$: 行末へ移動
f  [文字]: 文字へ飛ぶ。; で次の文字へ飛べる
%(カッコの上で):対応するカッコへ飛ぶ

 
指定行へ移動

[行番号]gg

 
検索について

* / # : 今カーソルが合う位置の単語を検索 (* は前方へ #は後方へ)

 
置換について

コマンドモードから
:s/検索前/置換後 :箇所のみ置換
:s/検索前/置換後/g :行中の検索前をすべて置換する
:%s/検索前/置換後/g:行中の検索前をすべて置換する
:%s/検索前/置換後/gc:確認をしながら行中の検索前をすべて置換する

 
やり直し機能

undo(戻る): u
redo(進む): ctrl+r

 
ウインドウの分割

:sp 上下分割
:vsp 左右分割
ctrl + w + w   : ウインドウ間を移動
:close 分割を閉じる

 
タブ分割

:tabnew:新しいタブを開く
:tabe ファイル名:ファイルをタブで開く

 
タブ間の移動

ノーマルモードで gt
:tabclose:タブを閉じる

 
タブ間で共通の処理をする

:tabdo (例タブ間で置換する :tabdo %s/android/ANDROID/gc

 
インデントを揃えるためのイコール

v ビジュアルモードで範囲を選択して=(イコール)
インデントを揃えることができる。ビジュアルモードで選択しなければその行のみ揃え直す

補完

入力途中で ctrl+n 補完候補が出てくる

 
直前の操作を繰り返す

. ピリオド 超然に行った動作を繰り返す (削除に使えるなど)

 
ビジュアルモード(テキスト選択モード)

v :文字単位のビジュアルモード
Shift + v :行単位のビジュアルモード
ctrl + v :短形のビジュアルモード

 
短形ビジュアルモード(短形選択モード)の応用(一括で変数にプレフィックスなどを付けたい時)

ノーマルモードから
ctrl + v  短形選択モードに入る
プレフィックスを付けたい部分を選択する。
shift + i 挿入モードへ入る。 「my_」など付けたいプレフィックスを入力
ESCキーで戻る。 短形選択していた部分すべてにmy_のプレフィックスが入る。
また、プレフィックス部分を一括で消す場合は、短形選択し、x で選択した部分を削除する。

 
テキストオブジェクト

HTMLやXMLなどの文書構造を一括で削除するなどできる。
<title>タイトル名</title>
オレンジの部分で ノーマルモードからcit と入力するとタイトル名という文字が消えて入力モードとなる。

c / d / y : change(カットされてinsertモードになる) / delete(削除) / copy(ヤンクにコピー)

i / a : 中身か全体化

t / ” / ) /] : tag

例)ーーー
<meta charset=”utf-8“>
utf-8 の部分で ci” と入力するとutf-8が消えて入力モードになる
ーーーーー

 
その他設定

:set number (:set nonumber) 行番号の表示・非表示
:syntax on (:syntax off) 色付け
:set tabstop 4  タブの文字数設定
:set ignorecase (:set noignorecase) 検索時に大文字小文字を区別したくないとき

参考サイト
http://ogawa.s18.xrea.com/fswiki/wiki.cgi?page=Vim%A4%CE%A5%E1%A5%E2
http://d.hatena.ne.jp/Yuzuemon/20110304/1299199079

GMail エイリアス機能


gmailの1つのメールアドレスに別名(エイリアス)をつけることができるという話!

たまたまgmailアドレスのユーザ名部分に「+」をつけてその後ろに任意の文字列を続けてもそのユーザにメールが送れるということをおしえてもらいました。Webサービスを色々と調べている際、メールアドレスを登録することが覆いと思います。このWeb業界の仕事についていれば特にそう。。そんなとき例えば、登録するサイト別にメールをフィルタリングしてラベル付けをしたいなど思うはずです。通常は送信元を見るなどしてフィルタリングスルと思いますが、送信先にエイリアスをつけることで色々幅が広がります。

そこでいろいろ調べている所で、次のようなエイリアスをつけることができるようです。対象のメールアドレスが次の場合を想定しています。

メールアドレス:test@gmail.com

  • 「+」を付ける方法

    自分もおしえてもらった方法。以下のどのパターンでもtest@gmail.comにメールを送信することができます。受け取ったtest@gmail.com側でフィルタリングなどができます。

  test+facebook@gmail.com
  test+twitter@gmail.com
  test+flkdajfdlaksjfadldafld3232kljdf@gmail.com
  • ピリオドで文字を区切る方法

    ユーザ名の間にピリオドを入れることでメールアドレスを増やします。ピリオドは無視されるようです。

    t.e.s.t@gmail.com

    te.st@gmail.com

  • ドメインを変える方法

    ドメインをgmail.comからgooglemail.comに変えても使用することができるようです。

    test@googlemail.com

     

エイプリルフールのWeb面白企画のまとめ


 

4月1日!!世間ではエイプリルフールですねー!

この日のためにパロディにしたコンテンツだったり、Web系の企業では結構この1日に気合いを入れていますねー!ってことで以下のサイトでもNAVERのまとめ記事に色々とためられていますねー!

エイプリルフールに便乗しているサイト2012年版

 

http://nlab.itmedia.co.jp/nl/articles/1204/01/news004.html

いくつか気になった記事がありました。

  

ファミコン版 Google マップ 8 ビットができました。


googleMapsの地図画面がドラクエのドット地図になっているというものです。以下から実際に体験することができます。なんか普通にゲームを操作しているみたいですねー
http://maps.google.co.jp/maps?t=8&utm_campaign=8bit&utm_source=jpblog

facebookに対抗したホットパンツWebサービス「ホトパンブック」をリリースいたしました

これこそ実現してほしいサービスですねー!ホットパンツは男の願望を網羅している感じがしますーー!

100面体サイコロで給料がきまります| 面白法人KAYAC

いやーーーこのレベルの給料の制度を整えてくれるとサイコーですね!!サイコロを振る日には仕事にも気合いが入るのではないでしょうかーーー

大阪Node学園2時限目に参加


大阪Node学園2時限目に参加してきました!

今回はnode.js のステッカーやらriakというキーバリューストアのステッカーなどたくさんのステッカーをもらいました。笑

全部貼ったらMacがすごいことになってます。

 

2012/03/24(土)http://atnd.org/events/25989

ここからはメモったことを以下に書きます!

Expressのハンズオンでした!

nodeのバージョン管理nvm は色々と問題がある。が、nvmで入れている人がほとんどだった・・・新しいnodebrewというものがある!PerlとCurlがあれば動作するので使い勝手が良さそう!

Expressは現在バージョン2系がStableのリリースバージョンだが、開発中のバージョン3もgithubから手に入れることができる。

Express 3  のインストール
% git clone https://github.com/visionmedia/express.git
% cd express; npm install
% express/bin/express ong2
% cd ong2
% npm ln ../express

Urlの定義の仕方などはちょっと疑問に思っていたのでハンズオン形式てとても参考になった!

ミドルウェアについて

同じようなURLによるルーティングの場合
next()の使い方

sendやrender()せずにnext()を呼ぶと404エラーとなる。
next()に引数を与えると500エラーをかえす。引数は何でもよい!
next(new Error(‘error message’); OR  next(‘error message’)  OR next(”aa’)   など

上記のようにエラーとなるのは
next()した場合、最後までマッチしなければ、以下のように定義されているdevelopmentではexpress.errorHandler() に要求が投げられるため。next()の最後はエラーハンドラーにマッピングされる
app.configure(‘development’, function(){
app.use(express.errorHandler());
});

バリデータのライブラリ

revalidator
Amanda   結構使っている

Testフレームワーク

mocha

chai

コールバックのネストをなくすフレームワーク

async.js

node.jsのセッション管理

redis

【雑感】 決めた事 !!


ブログを書く人の心構えを読んで

 

 

ブログを書き始める人の心構えとしてはじめの3ヶ月は毎日書き続けるとあった。。

自分はブログかき始めてちょうど4ヶ月くらいたったかなぁ。

それでいてまだ20記事程度。。。。。

今日から毎日一言でも残していこうと思う!!

メモ代わりとしてでも残していこう!!

とそう心に決めました