|
|
||
Perlでいうところのハッシュ,javascriptの連想配列か。
{ {key} : {value}, ....}
:let dict = {"un": "one", "deux": "two", "trois": "three"}
:echo dict["deux"]
> two
:echo dict.trois
> three
並び的にはリストのそれとよく似ている。Dictionaryだけの関数をいくつか。
:echo keys(dict) > ["deux","trois","un"]
b
Dictionaryのvalue全てを配列に
:echo values(dict) > ["two","three","one"]
keyとvalueをセットにして重配列(そんな言葉あるのか)としてかえす
:echo items(dict) [["deux","two"],["trois","three"],["un","one"]
:echo has_key(dict,"un") > 1 :echo has_key(dict,"cinq") > 0
:let hoge = ["fuga","foo","bar"] :for i in hoge :echo i :endfor > fuga foo bar
javascriptのfor inと同じかと思ったけどinのあとに取れるのはリストのみか。
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
新規にhtmlファイルをつくろうとしたとき
autocmd FileType html :set filetype=xhtml
がエラーとなってしまう。これはやめて,"/usr/share/vim/vim70/autoload/htmlcomplete.vim"の645行目をコメントアウトする方に変更。