while ("im the true Vim master");

2009-11-16

Re: :q -> :bd に変える - basyura’s blo

20:33

altercmd - Alter built-in Ex commands by your own ones : vim onlineを使いましょう。それ以外だと:

cnoreabbrev <expr> q   'bd'
:q → :bd に変える - basyura's blog

このケースだと<expr>を使う意味がない。普通は:

cnoreabbrev q  bd
cnoreabbrev <expr> wq  'WQ'
command! -nargs=? -complete=dir -bang WQ  call s:WriteClose('<bang>')
function! s:WriteClose(bang)
  ...
:q → :bd に変える - basyura's blog

これもやるなら:

cnoreabbrev wq  write | bdelete
cnoreabbrev wq!  write | bdelete!

ただ根本的に以下の問題がある:

:cnoreabbrev x  XXX
:%s/w x y/...
:" 実際に入力されるもの: %s/w XXX y/...
トラックバック - http://vim.g.hatena.ne.jp/ka-nacht/20091116

2009-11-09

Re: 最近のVimいじりログ (~ 2009-11-09) - 学習する機械、学習しない人間

10:46

  • _vimrc をリロードすると、思わぬところで変なことが起きる。
    • この間は、 _gvimrc に書いていた highlight CursorIM の定義が、リロードによって消えた。よって、 _vimrc にも同じ定義を書くことで、この問題を回避した。
最近のVimいじりログ (〜 2009-11-09) - 学習する機械、学習しない人間

大方、:syntax onがvimrcに記述されていたのでは。普通は:syntax enableを使います。違いは既存のハイライト設定を保持するか否か。

  • 行が長くなったとき、全角の句点(。)を入力すると、自動改行される。この設定の元がわからない。
最近のVimいじりログ (〜 2009-11-09) - 学習する機械、学習しない人間
  • :help 'formatoptions'
  • :help 'textwidth'
  • 「Vimの流儀」は聖典。
最近のVimいじりログ (〜 2009-11-09) - 学習する機械、学習しない人間

すいませんすいません今読み返したら'cursorline'の設定例で:autocmd VimEnter * setlocal cursorlineが抜けてましたすいませんすいません。


Re: Vimスクリプトをインストールするスクリプトを書き始めた。 - ichiroc subset

10:46

それ以外の点だと、アップデートやアンインストールはどうするんですか? それも見据えているなら「viminstall」という名前はないでしょう。

Re: python用vim設定 - ラシウラ

10:46

とりわけ、(よく検索でかかる設定例のように).vimrcなどでsmartindentしてあるとindentの動作がおかしくなるので、安全のためnosmartindentしておきます。

python用vim設定 - ラシウラ

'indentexpr' 'inde' string (default "")

...

When this option is not empty, it overrules the 'cindent' and 'smartindent' indenting.

Vim documentation: options

" ~/.vim/ftplugin/python.vim

python用vim設定 - ラシウラ

after/ftplugin/python.vim

トラックバック - http://vim.g.hatena.ne.jp/ka-nacht/20091109

2009-11-07

Re: Vim-users.jp - Hack #99: 起動に時間のかかるプラグインを探す

10:34

  • 対象ファイル指定は--cmd "profile file *"で十分。--cmd "profile */plugin/*.vim"では片手落ち。plugin下は複数階層にしてもロードされるし、起動過程で読み込まれるautoloadやsyntax下のファイルが考慮されていない。
  • この記事の執筆された後、公開される前に、最新パッチで--startuptimeが追加されたので、名前だけでも触れておくべき(詳細は今度書くのでしょうけど)。
トラックバック - http://vim.g.hatena.ne.jp/ka-nacht/20091107

2009-10-31

Re: 同じ名前を持つヘッダファイルを開く - bugfix

12:05

function! Open_header_file()
    let l:hname = fnamemodify(expand("%"), ":t:r")
    execute "edit " l:hname . ".h"
    unlet l:hname
endfunction
同じ名前を持つヘッダファイルを開く - bugfix
  • a.vim
  • :unletは不要。

edit!を使っていないので、

:set hiddenしていないと開かれないと思いますが、

同じ名前を持つヘッダファイルを開く - bugfix

:help :hide

:hide edit {path}

私が書くとしたらこうかなー。

nnoremap <C-^>  :<C-u>hide edit %<.h<Return>

tyrutyru2009/10/31 15:53<Plug>ってこう使うんですね・・・
確かにこの方が読みやすいしユーザにとっても楽そうです。
ありがとうございます!

pneumasterpneumaster2009/11/01 11:32:hide
a.vim
%<

thanks!

トラックバック - http://vim.g.hatena.ne.jp/ka-nacht/20091031

2009-10-09

Re: Re: vim scriptでディレクトリの存在を知る - dullhikoのだるい日記 - 永遠に未完成

13:27

ファイルが読み込み可能かどうか
filereadable({file})
ファイルが書き込み可能かどうか
filewritable({file})
ファイルが実行可能かどうか
executable({file})
Re: vim scriptでディレクトリの存在を知る - dullhikoのだるい日記 - 永遠に未完成

確かに「ファイルが実行可能かどうか」のチェックに使えないこともありませんが、executable()の主目的は「実行可能ファイルが存在するかどうか」のチェックですから、その説明文は誤解を招きかねません。

:echo filereadable('ls')
0
:echo executable('ls')
1

:helpを本気で探す方法その1 (Re: vim scriptでディレクトリの存在を知る - dullhikoのだるい日記)

08:35

vimのスクリプトでreadfile/writefileでファイルの読み書きをリストオブジェクトを通して出来ると知り、そのへんをいじっていて「ディレクトリの存在を知りたい」と考えるようになりました。

しかし、そのような関数はざっと見たところ見つからないです。そこで、system()でtestコマンドを使うことを思いつきました。

はてなダイアリー

:help isdirectory()

:helpからそれっぽい項目を即座に探す方法: 以下のように入力して<C-d>を押下:

:help *dir*()<C-d>
mkdir()        finddir()      browsedir()    haslocaldir()  isdirectory()
:help *dir*()

thincathinca2009/10/09 14:45ファイルのチェックを主題に置いたのでそういう書き方をしましたが、確かに誤解されかねないですね。
と言うわけで追記しました。指摘どうもです。

dullhikodullhiko2009/10/10 00:20これは便利ですね!
実は私はいままで、適当に思いつく単語を入れて<tab>でポチポチ押して補完、ということをしてました。
ありがとうございました。

最近のコメント
あわせて読みたいブログパーツ
AX