差分

ナビゲーションに移動 検索に移動

エントリポイント

1,695 バイト除去, 2012年4月17日 (火) 07:12
ページの作成:「'''エントリーポイント'''(entry point)とは、プログラムを実行する際の開始地点のことである。サブルーチンという用...」
{{小文字}}'''viエントリーポイント'''(読み:び)とは、(entry point)とは、[[BSDプログラム]]発祥のを実行する際の開始地点のことである。[[テキストエディタサブルーチン]]である。という用語を用いる[[プログラミング言語では]]'''メインルーチン'''と呼ぶこともある。
==概要==[[スクリプト言語]]などでは[[ソースコード]]の先頭をエントリーポイントとするものが多い。viはまた、[[Python]]や[[BSDRuby]][[PascalPerl]]などのように同一[[コンパイラソースコード]]に密かに同梱されていた秘密のでも呼ばれ方の違いにより、メインルーチンとして動いたり、ライブラリとして動いたりということを容易に切り替えれる[[テキストエディタプログラミング言語]]である。もある。
名称は'''Vi'''sual Editorの「'''ビ'''」であり、[[ラインエディタ]]全盛の世の中に颯爽と登場したビジュアルで操作ができる画期的な[[テキストエディタ]]であった。Visualと冠していても[[Visual Studio]]とは特に関係はない。== 記述例 ==
viの開発者である=== [[ビル・ジョイC Sharp|C#]]は後に===<source lang="csharp">namespace HelloWorld { class Hello { public static void Main(string[[サン・マイクロシステム]]を創業し、viで多くの[[プログラマー]]の心を鷲掴みにしたおかげで同社の[[ワークステーション]]や[[サーバー]]が売れに売れまくった。なお、同社の[[コンピューター]]に同梱される[[Sun Type 5 キーボード]]はあまりにもデカすぎたので、[[日本]]でサン製品の[[互換機]]を作っている[[富士通]]は[[Happy Hacking Keyboard]]というあまりに小さすぎるvi特化型の[[キーボード]]を作っている。args) { // something in my house } }}</source>
=== [[LinuxPython]]界隈ではviを[[魔改造]]した[[vim]]が圧倒的な勢力をもっているが、[[BSD]]界隈では[[nvi]]が強い。===<source lang="python">if __name__ == "__main__": # something in my houseなお、[[*BSD]]の中でも圧倒的な勢力を誇る[[邪悪なBSD]]では[[vim]]が[[プリインストール]]されており標準となっている。</source>
== 基本 =[[Ruby]] ==<source lang="ruby">if $0 == __FILE__ # something in my houseend</source>
=== カーソルの移動 ===[[ビル・ジョイPerl]]が[[開発]]に使っていた「[[Lear Siegler ADM3A]]」という[[コンピューター]]には[[十字キー]]が付いていなかったという理由で、基本的に[[カーソル]]の移動はコマンドモードにて「h」「j」「k」「l」キーで行うようになっている。なお近代的なvi実装では[[カーソルキー]]も使えるのが一般的となっており、十字キーを使うことでインサートモードでもカーソル移動が行えたりする。==={| class<source lang="wikitableperl">! コマンドif ($0 eq __FILE__) {! 概要 # something in my house|-| h| カーソルを←に1文字移動する。|-| j}| カーソルを↓に1文字移動する。1; #←は「return 1;」の省略表記。|-| k| カーソルを↑に1文字移動する。|-| l| カーソルを→に1文字移動する。|}</source>
=== コマンドモードとインサートモード [[PHP]] ===viを起動するとまずコマンドモードとなる。==== コマンドラインの場合 ====<source lang="php"><?phpif (isset($argv[0]) && __FILE__ === realpath($argv[0])) { // something in my house}</source>==== Apacheモジュールの場合 ===<source lang="php"><?phpif (basename(__FILE__) == basename($_SERVER['PHP_SELF'])) { // something in my house}この状態で特定のコマンドを入力することで編集や保存、終了、検索といったことができる。</source>
==== インサートモードへの移行 =[[F Sharp|F#]] ===コマンドモードで以下のコマンドを入力するとインサートモードへ移行する。複数の種類があるがテキストの入力開始位置の違いなので超基本としては「i」だけを覚えておけば間違いない。インサートモード移行後は近代的なテキストエディタと同様にテキストを入力すればよい。{| class<source lang="wikitablefsharp">! コマンド[<EntryPoint>]! 概要|-| i| カーソル位置に挿入開始|-| a| カーソル位置の次に挿入開始|-| Ilet main args =| 行頭に挿入開始 // something in my house|- // 0を返して正常終了| A 0| 行末に挿入開始|}</source>
===[[Haskell]] = インサートモードの抜け方 ==<source lang==インサートモードを終了しコマンドモードへ移行するには以下の特殊キーを入力する。"haskell">{| class=- Haskell "wikitablehello, world"! 特殊キー! 概要|-| [Esc]| インサートモードを終了し、コマンドモードへ移行する。|=== 保存と終了 ==={| classmain =putStrLn "wikitablehello, world"! コマンド! 概要|-| :q| 終了|-| :q!| 強制終了|-putStrLn は文字列を出力する| :w| 保存|-| :w!| 強制保存|-| :wq| 保存して終了|-| :wq!| 強制保存して終了|-|}</source>
== 関連項目 ==
* [[BSDプログラミング言語]]* [[emacs]] 
== 参考文献 ==
{{reflist}}<references/>== 外部リンク ==
{{stub}}
匿名利用者

案内メニュー