Vim7のomni補完が邪魔なので、消したくなった。
結局タブも使ってないし(バッファだけ)、vim6で十分だったみたい。
消す方法がわかったら追記します。
Vim7のomni補完が邪魔なので、消したくなった。
結局タブも使ってないし(バッファだけ)、vim6で十分だったみたい。
消す方法がわかったら追記します。
最近は黙々とStarbug1の話題ばかりになってきていますが、先日vimのリングに入れてもらいましたので、vimの起動を速くする設定について書いてみようと思います。
一般的なWindowsエディタに比べて、vimは起動が重いです。*1 気になる程ではありませんが、起動をなるべく速くするための方法はあります。
vimは、沢山のプラグインを起動時に読み込むことが起動に時間がかかる原因の一つです。自分が使わないプラグインをロードしないようにすれば、vimの起動が速くなります。vimのインストール時に自動的に導入されるプラグインは、${VIMのインストールディレクトリ}/runtime/plugin に入っています。単純な方法としては、要らないプラグインファイルを削除すれば読み込まなくなるんですが、もっと良い方法があります。どれが要らないプラグインかどうかは、本人にしかわからないので、${VIMのインストールディレクトリ}/runtime/plugin の中を読んでください。
多くのプラグインは、plugin_xxxxx_disable というvimscriptの変数を公開しています(xxxxxはプラグインの名前になっています)。プラグインの読み込み時に、この変数が存在したら、プラグインのロードを中止するというものです。
if exists('plugin_dicwin_disable') finish endif (以下略)
要するに、起動時のプラグイン読み込みの前に、plugin_xxxxx_disable という変数を定義してあげれば、指定したプラグインをロードしなくなるということです。具体的には、~/.vimrc でplugin_xxxxx_disable という変数を定義すればよいです。
数年前(vim6の初期の頃だと思う)に設定したっきりですが、~/.vimrc で下のような設定をしていました。
"プラグインの読み込みを制御 "let plugin_verifyenc_disable = 1 " verifyenc.vim let plugin_autodate_disable = 1 " autodate.vim - A plugin to update time stamps automatically let plugin_cmdex_disable = 1 " cmdex.vim - Extra coomands let plugin_dicwin_disable = 1 " dicwin.vim - Dictionary window
お行儀の良いプラグインは、plugin_xxxxx_disable を理解してくれると思うので、一度 ${VIMのインストールディレクトリ}/runtime/plugin の中を見なおしてみると、より快適なvimライフが送れるかもしれません。
*1:Meadowよりは数倍速いですが
ちょっとちたトラブルのときに、vimのオプションが、どのファイルで設定されているかを調べたいことがあります。
これも時々しか必要にならないので必要なときに忘れてしまうからメモ。
:verb set shiftwidth?
そーいえば、「:verb set enc? fenc?」とかは、匿名掲示板で、vimの文字化けトラブルの話になったときの KoRoNさんの口癖だったりしますね。
ほとんど、howmのためにmeadowを使ってるので、超基本のキーバインド以外は知りません。小文字に変換する方法がわからなくて調べました。
操作 | keybind |
---|---|
カーソルの後の単語を小文字に変換 | M-l |
リージョン内を小文字に変換 | 範囲選択後 C-x C-l |
別々に覚えないといけない。なんか直観的じゃないキーバインドと感じてしまう。(宗教戦争するつもりはないですが) この辺が、howm以外の目的では、meadowを使ってない理由かもしれません。でもskkは常に使ってます。
その点、vimのキーバインドは、恐しいまでに直感的で合理的です。
操作 | keybind |
---|---|
カーソルの後の単語を小文字に変換 | guw |
ヴィジュアル選択範囲を小文字に変換 | vとかVとか<C-v>で範囲選択後 gu |
gu と 多彩な移動コマンドを合わせてコマンドの影響範囲を決定できるので、自然な操作でコマンドの適応範囲をコントロールできます。(:h gu) だから↓のような応用も可能になります。
操作 | keybind |
---|---|
カーソルの前の単語を小文字に変換 | gub |
カーソルから行頭までを小文字に変換 | gu0 |
カーソルから行末までを小文字に変換 | gu$ |
カーソルのある行から最初の行までを小文字に変換 | gugg |
カーソルのある行から最後の行までを小文字に変換 | guG |
カーソル位置が、( ) で囲まれている場合に、( )の内側を小文字に変換 | gui( |
ほとんどのコマンドが同じように応用できるようになってます。
hatena.vim に挑戦中
文字化けしていたと思ったら、iconv.dll が読み込まれてないだけでしたorz.
香り屋さんからiconvをdownloadして、$VIMディレクトリに入れたら、hatena.vimが編集できました。更新はこれからです。
更新できたようです。というか、無意識に:wしたら書き込んじゃった。この動作は設定で無効にできるのだろうか。
と書いてる内にまた無意識に:wしてたorz.
普段プロキシを通す環境なので、chaliceのプロキシ設定を読みこめるように修正してみました。
$ diff -c hatena.vim.org hatena.vim *** hatena.vim.org Sun Jul 8 20:59:42 2007 --- hatena.vim Mon Jul 9 22:07:23 2007 *************** *** 102,107 **** --- 102,110 ---- let g:hatena_edit_command = 'edit!' let s:curl_cmd = 'curl -k' + if exists('g:chalice_curl_options') + let s:curl_cmd = s:curl_cmd . ' ' . g:chalice_curl_options + endif let s:hatena_login_url = 'https://www.hatena.ne.jp/login' let s:hatena_base_url = 'http://d.hatena.ne.jp/' let s:hatena_group_base_url = 'http://%s.g.hatena.ne.jp/'
あと、:w で書き込むのを、chaliceみたいに <C-w>c とかで書き込むようにしないと、何回も書き込んでしまう。