higevim(仮) このページをアンテナに追加

 | 

2006-08-10

Dictionary(辞書って訳してよいものだろうか) 00:29 Dictionary(辞書って訳してよいものだろうか) - higevim(仮) を含むブックマーク はてなブックマーク - Dictionary(辞書って訳してよいものだろうか) - higevim(仮)

Perlでいうところのハッシュ,javascript連想配列か。

{ {key} : {value}, ....}
:let dict = {"un": "one", "deux": "two", "trois": "three"}
:echo dict["deux"]
> two
:echo dict.trois
> three

Dictionary関係組み込み関数

並び的にはリストのそれとよく似ている。Dictionaryだけの関数をいくつか。

keys()

Dictionaryのkeyすべてを配列に、順番は任意

:echo keys(dict)
> ["deux","trois","un"]

b

values()

Dictionaryのvalue全てを配列

:echo values(dict)
> ["two","three","one"]
items()

keyとvalueをセットにして重配列(そんな言葉あるのか)としてかえす

:echo items(dict)
[["deux","two"],["trois","three"],["un","one"]
has_key()

key存在するかどうかを調べる

:echo has_key(dict,"un")
> 1
:echo has_key(dict,"cinq")
> 0

for文 09:10 for文 - higevim(仮) を含むブックマーク はてなブックマーク - for文 - higevim(仮)

:let hoge = ["fuga","foo","bar"]
:for i in hoge
:echo i
:endfor
> fuga
  foo
  bar

javascriptのfor inと同じかと思ったけどinのあとに取れるのはリストのみか。


if,while文 09:31 if,while文 - higevim(仮) を含むブックマーク はてなブックマーク - if,while文 - higevim(仮)

特に悩むところはなさそうなので省略。


htmlのオムニ補完 14:52 htmlのオムニ補完 - higevim(仮) を含むブックマーク はてなブックマーク - htmlのオムニ補完 - higevim(仮)

http://d.hatena.ne.jp/higeorange/20060804/1154676061

で書いたように大文字の要素名で補完されるんだけど、

"<"だけ打って,C-x-oすると小文字の要素名で補完できる。んーこれを何文字か打ったあとにやってくれればなぁ。"</"のあとにC-x-oすればちゃんと閉じてくれるからよしとするか。</ppp>

んでもう一つ気づいたことは,<html>直下では<body>,<head>しかありえないとか,<head>内ではこの要素だけとかをちゃんと考えてくれているんだね。


追記 - 解決策

.vimrc

autocmd FileType html :set filetype=xhtml
autocmd Filetype html :set omnifunc=htmlcomplete#CompleteTags

Thx, secondlife.


再追記 9/1 8:55

新規にhtmlファイルをつくろうとしたとき

autocmd FileType html :set filetype=xhtml

がエラーとなってしまう。これはやめて,"/usr/share/vim/vim70/autoload/htmlcomplete.vim"の645行目をコメントアウトする方に変更。

トラックバック - http://vim.g.hatena.ne.jp/higeorange/20060810
 | 

Link