Vim

vimで複数行のインデントを削除して1行にまとめる(改行を削除)

Vim

<ul> <li> ほげ </li> <li> ふが </li> </ul> これをほげの上下含めて3行を選択して、次のように1行にまとめたいわけです。 <ul> <li>ほげ</li> <li> ふが </li> </ul> この場合、 :vmap 0 <Up>:s/\n *//<CR>:noh<CR> しておくと、3行を選択して、0を押すとインデントが削除されて、1行に収まります。 .vimrcに書いておくと便利</cr></cr></up>…

MacでのRails開発

id:yuichi_katahiraさんは問題ないのかもしれないですけど、 私はgvimの見た目は必須です。^^; portsでいれてみたら、vim7.1が入ってきました。 しかし、これにはgvimが入らなくなっていました。 私はこれでは困るので、portsではなく、 http://macvim.org/O…

ヤンクしたのにそのあとxとか押しちゃった。

Vim

:registersを見て、どのレジスタに入っているか確認し、 (レジスタ名)p 例えば "0p と入力すると"0の内容がペーストされます。

文字コードの変更と改行コードの指定

Vim

文字コードの変更 :set fileencoding=euc-jp エンコーディングEUC-JP :set fileencoding=shift_jis エンコーディングSJIS :set fileencoding=utf-8 エンコーディングUTF-8 改行コードの変更 :set fileformat=dos 改行をWindows形式 :set fileformat=mac 改行…

インデント

Vim

gg=G 全部のインデントをやり直す

現在の行から置換する

Vim

:,$%s/before/after 現在の行からファイルの終端まで置換

検索した単語をハイライト表示にする

Vim

検索語はハイライト表示にして見やすい方がいいときがあります :se hlsearch 検索した単語をハイライト表示 :se nohlsearch ハイライト表示をやめる

クリップボードからのコピー

Vim

emacsなどではテキストをドラッグして真ん中ボタンでコピーできる。 しかし、viでそれをやるとインデントがメチャメチャになる。 なので、以下のコマンドでやらなければならない。 "*p クリップボードから現在位置へコピー

単語の削除

Vim

3dw 単語を3つ削除 3wdも同じ動作

移動

Vim

w 次の単語へ移動 3w 3つ目の単語へ移動

挿入モード

Vim

i 今の場所で挿入モード a 今の次の文字に移動して挿入モード o 今の次の行に移動して挿入モード s 1文字消してから挿入モード 3s 3文字消してから挿入モード cw カーソルの単語を削除してから挿入モード cc カーソル行を削除してから挿入モード C カーソル…

行単位で消去

Vim

1行消去D 5行消去5D

複数のウィンドウ

Vim

分割:split 下の画面に移動Ctrl-Wj 上の画面に移動Ctrl-Wk ウィンドウを閉じるCtrl-Wc

検索と置換

Vim

検索 fooという文字列を探す/foo 置換 fooをbarに置き換える:s/foo/bar fooをbarに全部置き換える:%s/foo/bar/g fooをbarに大文字小文字を無視して置き換える:s/foo/bar/i

ファイル操作

Vim

ファイルを開く:vi ファイル名 ファイルを保存:w ファイル名を指定して保存:w ファイル名

切り貼り

Vim

一文字削除x 一行削除dd 上の削除された文字の貼りつけp マークma(aとマークする) ヤンク(俗に言うコピー)y`a(aまでをヤンクする)

移動

Vim

行頭へ$ 行末へ^ ファイルの最初へ1G ファイルの最後へG

連結

Vim

行を連結する場合はJ、ただしスペースが入る。 スペースを入れずに連結はgJ

vimを使ってみる

以前からemacsはなんだかなーと思っていたのですが、 意外とRuby界隈にはvimで書いているという人が多くて、 私も気にはなっていました。そこで、ViIMproved‐Vim完全バイブル作者:Steve Oualline,高橋 則利技術評論社Amazon を購入し、 Vimを使ってみること…