while ("im the true Vim master");

2009-11-20

Re: WEB+DB PRESS Vol.53 - basyura’s blog

07:13

関係ないけど、vim 特集を連載にして欲しい。

WEB+DB PRESS Vol.53 - basyura’s blog

技術評論社さんにメールなりアンケート葉書なりで要望を送ってください。その方が編集部の方が企画を通し易くなると思います。

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

2009-11-19

Re: 大人の text-object トレーニングDS - 写経日記

09:14

基本的な文法は operator + selector + object となる。

大人の text-object トレーニングDS - 写経日記

selectorなどというものは存在しない。Vimが標準で提供しているtext objectsは大まかに「a系」と「i系」に分けられるが、それはたまたまそうなっているだけであって、その枠組みに納まらないものはいくらでも定義できる(例: textobj-datetime / textobj-lastpat)。

基本は「{operator}{motion}」であり、text objectはmotionの変化形に過ぎない。

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

2009-11-18

Re: complex repeat - KBDAHOLIC - やぬすさんとこ

10:13

でも毎回 qx と q で recording する必要はなくて、わかるんなら :let @x="Yp^A" ( "^A" は <C-k><C-a><C-a> で入力する ) みたいに直接書いちゃってもいいわけだよな。

complex repeat - KBDAHOLIC - やぬすさんとこ

普通は<C-v>{char}

<C-k>{char1}{char2}はdigraphの入力であって、その使い方は本来の用途とは全く違う。<C-a>が入力されているのは偶然にすぎない。

スクリプトで書くなら普通は:

let @x = "Yp\<C-a>"

てことは最終的に register 消費か mapping 設定を書くかという問題になるわけで、

complex repeat - KBDAHOLIC - やぬすさんとこ

そもそもrecordingは対話的に記録/実行するもの。その動作も実行環境に依存するためポータビリティはない。それにrecordingはたまたま記録場所としてregisterを使っているだけであって、registerの用途はrecording以外にもある。filetype pluginなどスクリプト側でセットアップして任意のレジスタを潰すことは通常ありえない。

ショートカットキーを定義するなら"named" key mappingsを定義しておいてユーザーが実際にタイプするkey mappingsは別途定義することが常道

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

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
最近のコメント
あわせて読みたいブログパーツ
AX