vim, gvim メモ

まだ記事にできるほどviをつかいこなせていないが、Windowsでvim(Gvim)を使う上でのメモ。

参考

実践Vim 思考のスピードで編集しよう!

実践Vim 思考のスピードで編集しよう!

  • 作者:Drew Neil
  • 発売日: 2013/08/29
  • メディア: 単行本(ソフトカバー)
↓Kindle版↓

いきなりリンク集

データに縦線、横線をいれる

before

aaa bbb
aaa bbb
aaa bbb
aaa bbb

(タブじゃなくてスペースがいい)

一行めの中ほどまでカーソルを持って行って
jjj
r| (アール パイプ)

aaa | bbb
aaa | bbb
aaa | bbb
aaa | bbb


2行目でyyp (ヨコ専用の行にする

aaa | bbb
aaa | bbb
aaa | bbb
aaa | bbb
aaa | bbb


Vr-

aaa | bbb

                            • -

aaa | bbb
aaa | bbb
aaa | bbb

おしまい


複数行の行頭や行末に文字を挿入

before

aaaa : bbbb
cccc : dddddd
eeee : ff


Vjj
:'<,'>normal I| (ノーマル スペース 大文字アイ パイプ)

|aaaa : bbbb
|cccc : dddddd
|eeee : ff


一行目の一番行末でjj$
A|

|aaaa : bbbb|
|cccc : dddddd|
|eeee : ff|

%s/
/|/g

|aaaa | bbbb|
|cccc | dddddd|
|eeee | ff|

c/文字列

カーソル位置から文字列の直前までの書き換え


・ノーマルモードか、ビジュアルモードで Control-v と押下すると、矩形ビジュアルモードに入ります。
http://nanasi.jp/articles/howto/editing/blockwise-operation.html

置換

:%s/置換前文字列/置換後文字列/gc
:15,18s/Before/After/g

http://www.ksknet.net/vi/post_42.html

※ただ、¥が入ったりする文字列の場合、コマンドでの置換がうまくいかない場合があった。その場合、GUI上で「編集」→「置換」でやると上手くいく。ちなみに「\」を置換対象として指定したい場合は「\\」と書く必要がある

置換でも正規表現使える

行末に文字を追加する(ここでは「|」パイプ)

|A|B|C
|E|F|G
|H|I|J

:%s/$/|/g

|A|B|C|
|E|F|G|
|H|I|J|

こうなる。

配布サイト

http://www.kaoriya.net/

yankしたテキストが無名レジスタだけでなく、*レジスタにも入るようにする。(Windowsn環境でgvimをメインのエディタとして使う場合はこれがあるとないとでは全然違う)

:set clipboard+=unnamed

ビジュアルモードで選択したテキストが、クリップボードに入るようにする(これもWin環境では便利!)。

:set guioptions+=a

http://nanasi.jp/articles/howto/editing/clipboard.html

いわゆる「コピー」

Shift+Vなど、ビジュアルモードで選択して
"+y

gvim でもvimでも使える。便利。

行数表示

:set number

一番下の行に行く

G

一番上の行に行く

1G

これだけ覚えておけば最強のエディタ。ヤンクとか便利すぎ。
アイフォンアプリでviのレファレンスアプリ発見。Vimmyってやつ。
http://itunes.apple.com/us/app/vimmy/id361221825?mt=8


追記:
編集(E)→ 起動時の設定(S) で、set系を設定しておくと、GVIM起動するたびに有効化されるようだ。
よって、下記をかいてい:wq!で次回起動時からは幸せになれた。マニュアル読んでからつかえと自分にいってやりたい。

:set clipboard+=unnamed
:set guioptions+=a
:set number

vimrc

2010/12/05 追記
gvimのフォントサイズ変更は以下でできるが、

set guifont=MS_Gothic:h12:cSHIFTJIS

これをホームディレクトリの _vimrc に書いても有効にならない。
_gvimrc(なければ新規作成)に書かないといけない。ってか、vimrcについて全然しらなかったが、これが実質コンフィグファイルっぽい。デフォルトだと、gvimインストールしたディレクトリに置いてある(例: c:\program files\gvim\ )。そこに_vimrc と _gvimrc が置いてある。これよむだけでも相当勉強になる。コメントは#じゃなくて「~」。ちなみにこれをガシガシいじるとわかりにくくなるってんで、自分のホームディレクトリの _vimrc, _gvimrc で定義する。インストールディレクトリのvimrcとホームディレクトリのvimに同じ設定値があった場合、ホームディレクトリの定義が採用される。以下サイトも参考になる。
 - http://vimwiki.net/?FrontPage

2012/09/08 追記 Windows7付属のメイリオを等幅フォントにしてサイズ8で使うのが今のはやり。ただ、この方法で作った等幅メイリオは完璧なUTF-8フォントではないようで、韓国語とか日本語意外のマルチバイト文字が文字化けしてしまう。

set guifont=MeiryoKe_Gothic:h8:cSHIFTJIS

メイリオを等幅フォントにするのは以下のサイトを参照

2011/09/11 追記
windows形式のファイルをunix形式に変換(vi だと改行コードがでないので)

: set ff=unix
: w



:set ff=unix 実行

プラグインを使う

$HOME/.vim/plugin/ 配下におく

日本語入力を楽にする

  • Linux
http://sites.google.com/site/fudist/Home/vim-nihongo-ban/vim-japanese/ime-control#linux
以下を .vimrcへ追加します。
" 「日本語入力固定モード」の切替キー
inoremap   

" でのIME状態保存を無効化
inoremap   
inoremap   
    • 挿入モードにはいって日本語で何か書く
    • <ESC>でノーマルモードに抜けると日本語が勝手にオフになって移動とかできる
    • 再び挿入モードになると、自動で日本語入力ONになる

おー、これはすごい。Ubuntuだとデフォルトでpythonが入っているらしいので、素直にできた。

vimで計算

インサートモード時に
Ctrl+R=
すると画面下部に = がでるので続けて計算式(例:100*20)を書いてエンターお押すと、(インサートモードなので)そのまま本文に計算結果が書き込まれる。

検索した後にハイライト(反転)しちゃってるのを解除する方法

:noh

MacでVim

デフォルトのterminalで使えるvimはversion 7.3。でもなぜか :set clipboard オプションが使えていので没。

https://code.google.com/p/macvim/ でmacvimをダウンロード/インストールして使うとOK。 

:set clipboard+=unnamed

をやっとけばddとかyankしたものがクリップボードに入ってうれしいことに。

Vimのロゴ

https://commons.wikimedia.org/wiki/File:Vimlogo.svg?uselang=ja
(.svgというベクター形式でDLできる。.pngでダウンロードすることもできる)

Vim Tシャツ等

  • ユニクロ UNIQLO CUSTOMIZE|トップ −ユニクロカスタマイズ[customize.uniqlo.com]

WinのGVIMで自動化改行されてしまう問題

.vimrcに以下を追記

autocmd FileType text setlocal textwidth=0

chroju89.hatenablog.jp

ビープ音をならないようにする

set belloff=all



以上