投稿

12月, 2013の投稿を表示しています

つくったVim PluginとつかったVim scriptのはなし

イメージ
この記事は Vim Advent Calendar 2013 の 12日目の記事です。 もう12月も半ばですね。 みなさまは年の暮れに向けていかがお過ごしでしょうか。 私の場合、Plugin作りがなかなか進まず、苦しい年末が近づいております。 さて、今回は自分で作ったPlugin4つの紹介とその時に知ったVim scriptについてのことを書こうと思います。 まずは一つ目です。 Vim scriptをVim Pluginとするにはディレクトリを分けるなど Vim Pluginとしてのルールがあります。 ですが、「あっ、これPluginにしよう!」と思った時にmkdirやtouchコマンドを連打するのは面倒です。 :help write-plugin にもある通り、Pluginとするにはディレクトリを分ける必要があります。 直ぐにパッと作って行きたい、Pluginを作りはじめるまでをカイゼンしようというわけです。 そんなときに使うために作ったのがこれです。 mopp/layoutplugin.vim Vimからディレクトリ、スクリプトファイル、README.mdをパッと作ってくれます。 スクリプトファイルの中身もテンプレ的に出力してくれます。 2つ目です。 githubをふらふらしていた時にたまたま見つけた、 数年前にmattnさんが作った googlesuggest-complete-vim をneocomplete.vim向けにラップしました。 mopp/googlesuggest-source.vim 自動でgoogle補完力で入力ができます。 個人的に5分で出来たにもかかわらずなかなか面白いなあと感じております。 ただ少々不安定なのは通信をするからでしょうか… そういうときはインサートモードで<C-U>するとよいです。 3つ目です。 molokaiのような色合いが好みなのですが コメントの色など不満が幾つかあったのでmolokaiを元に自分のカラースキームを作りました。 mopp/mopkai.vim もぷかいと読んでやってください。 molokaiよりも強めのカラーリングのつもりです。 自分のためのカラースキームなのでこ...

OSの超簡単なメモリ管理を実装するおはなし

この記事は  Aizu Advent Calendar 2013  6日目の記事です。 前日は「 Aizu Advent Calender 5日目(ダイエット成功したかも知れません) 」でした。 おはようございます。 もぷりです。 最近すっかり寒いですが、皆様いかがお過ごしでしょうか。 私は今、胸部に痛みを感じつつキーを叩いております。 さてさて、今年もAdventな季節がやってまいりました。 今回は自分の作ってるOSで とりあえず 実装した 簡単なメモリ管理 について書きます。 間違いなどの指摘があれば@Mopp_jpでもissuesでもなんでもよいのでぜひ言ってください。 リポジトリはこれです。 もぷりんOS まず、メモリの管理とは 「OS内でハードウェアからのメモリ情報を使って 動的なメモリ確保を行えるようにする。」 ということです。 もっと簡単に言うと 使っているのか使っていないのかを自動で判断してメモリ割り当てをしてくれる って意味です。 順を追って説明をします。 まず、OSはブートローダというOSを起動するだけ+αのソフトウェアから起動されます。 具体的にはgrubとかLILOですね。 で、このブートローダはBIOSが起動します。 BIOS → ブートローダ → OS → ζ*'ヮ')ζ<うっうー このように起動していきます。 ちなみに、もぷりんOSでは色々とめんどかったのでgrubから起動されること前提で作っています。 先に言ったように、ブートローダはOSを起動するだけ+αです。 ですが、とても大切ですので簡単に説明します。 OSの実行ファイルをデバイスから探す ↓ OSの実行ファイルをメモリに読み込む ↓ ハードウェア情報、BIOSコールの戻り値などをメモリに置いておく ↓ 読み込んだOSの実行ファイル先頭部分へジャンプ この4ステップです。 シンプルですねー(※1ステップ目以外) このOSが起動した時点で、メモリについて考えてみます。 はい、なにもないですね。 ですので、とりあえずOSはセグメントというものを設定します。 セグメント...