Sat, 05 Jul 2008

今さらbatファイル2

結局これに落ち着いた。:

start /B ckw -e vim %1

sh1.2 pyblosxom : 今さらbatファイル だと日本語の入力ができなかったり、ファイ ルパスが正しくとれたりとれなかったりしたので、:

start /min ck -e vim %1

も試してみたけど、どうもckを使うと表示がおかしくなって画面をリフレッシュというか リセットしないと正しく表示できなかった。

なので、下記にてckwの改造版が公開されていたのでckwを導入してみた。で、これを「 start /min」にしちゃうとckwの画面自身が最小化されてしまって具合が悪いので「start /B」としてみた。

ckw改造版の修正版とuberboxの修正版と簡易電卓っぽいの。 - Perlとかmemoとか日記とか。

通常使ってるck上のvimと.vimrcは共通なんだけど設定を切り分けたい場合は、:

if &term == "xterm"
endif

で切り分けた。termの値はck上で起動したvimではxterm, ckw上で起動したvimではcygwin となっていた。


Fri, 04 Jul 2008

今さらbatファイル

ファイルを選択して右クリックのメニューの「送る」からcygwinのvimを起動したい。

c:\cygwin\bin\zsh.exe --login -c 'vim %1'

vim.batで保存してSendToへ。これでいいや。


Sun, 01 Jun 2008

vimとかもろもろメモ

au BufWritePost *.py :silent !chmod a+x <afile>


Continue Reading...: "vimとかもろもろメモ"



Wed, 09 Apr 2008

code_complete.vim

emacsで話題のsnippet機能がvimでも使ってみたいなと、

  • snippetsEmu
  • code-snippets.vim

を試してみたんだけど、使い方がわからなかったりうまく動かなかったりで、 なんかいいのないかなーと Vimpi をぼーっと探してらなんかそれっぽいのを見付けた。

2008/04/08時点では1人しかウォッチしてないけど、 code_complete.vim ってのがあ ったので試してみた。

そしたら、これが求めていたものでした。下記にアニメーションGIFにて使い方のサンプ ルが見れてなかなかおもしろい。

code_complete.gif (GIF 画像, 719x708 px)

自分用の定義も簡単。デフォルトでは、「~/.vim/plugin/my_snip.vim」を 作成して、C言語なら

let g:template['c']['pr'] = "printf(`<...>`, `<...>`);"

とかして、「pr」と入力してTabってすると、上記の文字列が展開され一つ目の「`<...>` 」にフォーカスがあたり入力でき、さらにTabとすると次の「`<...>`」にフォーカスがあ たる。

「`<...>`」の部分にデフォルトの値を最初から書いておいて、変更がなければそのまま 使える、という機能が他のsnippetツールにはついてるみたいなんだけど、それはどうや ったらいいのかわからないし、そもそもできるのかどうかもわからない。例えば「`<int>`」 とかやるとそのまま展開はされるけどその文字をそのまま使う方法がわからない。うーん、 知ってる人いたら教えてください。

上ではTabって書いたけど、実はsupertab.vimを入れててすでにTabは使ってるので苦肉の 策で「c-_」に割りあてて使ってます。


Fri, 21 Sep 2007

vim設定

ここんところ挙げてなかったけど最近追加した設定、及びどうやるんかな?と思って調べ た項目のメモ。

  • 指定した桁数で改行する
set textwidth=79 formatoptions+=m

と記述しておいて、改行なしで文章等を書いたらinsert modeから抜けて「gqq」とすると 指定した桁数で改行してくれます。

  • コードの整形

vi,emacs,peggyで下記に相当するツールを教えてください。- 人力検索はてな

範囲を選択(vでvisualモードにした後カーソル移動)してから=
でインデントされます。(ファイル全体をインデントする場合はgg=Gでも可。)
  • ファイル名補完

subtech - 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - vim のファイル名補完

ファイル名をzsh みたいに共通部分だけ補完

set wildmode=list:longest
  • Window分割時のキー操作

Emacsユーザに送るキーバインド

nmap <m-x> :
nmap <silent> <c-x>0 :close<cr>
nmap <silent> <c-x>1 :only<cr>
nmap <silent> <c-x>2 :sp<cr>
nmap <c-x>o <c-w><c-w>
cmap <m-x> <nop>