差分

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

エントリポイント

1,401 バイト除去, 2012年5月2日 (水) 09:17
{{小文字}}'''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 3 キーボード]]はあまりにもデカすぎたので、[[日本]]でサン製品の[[互換機]]を作っている[[富士通]]は[[Happy Hacking Keyboard]]というあまりに小さすぎるvi特化型の[[キーボード]]を作っている。args) { // something in my house } }}</source>
=== [[LinuxJava]]界隈ではviを===<source lang="java">public class HelloWorld { public static void main (String[[魔改造]]した[[vim]]が圧倒的な勢力をもっているが、[[BSD]]界隈では[[nvi]]が強い。args) { // something in my house }} なお、[[*BSD]]の中でも圧倒的な勢力を誇る[[邪悪なBSD]]では[[vim]]が[[プリインストール]]されており標準となっている。</source>
== 基本 =[[Python]] ===<source lang="python">if __name__ == "__main__": # something in my house</source>
=== カーソルの移動 ===[[ビル・ジョイRuby]]が[[開発]]に使っていた「[[Lear Siegler ADM3A]]」という[[コンピューター]]には[[十字キー]]が付いていなかったという理由で、基本的に[[カーソル]]の移動はコマンドモードにて「h」「j」「k」「l」キーで行うようになっている。なお近代的なvi実装では[[カーソルキー]]も使えるのが一般的となっており、十字キーを使うことでインサートモードでもカーソル移動が行えたりする。==={| class<source lang="wikitableruby">! コマンド! 概要|-| h| カーソルを←に1文字移動する。|-| j| カーソルを↓に1文字移動する。|-| k| カーソルを↑に1文字移動する。|-if $0 == __FILE__| l # something in my house| カーソルを→に1文字移動する。end|}</source>
=== コマンドモードとインサートモード [[Perl]] ===viを起動するとまずコマンドモードとなる。<source lang="perl">if ($0 eq __FILE__) { # something in my house}1; #←は「return 1;」の省略表記。この状態で特定のコマンドを入力することで編集や保存、終了、検索といったことができる。</source>
===[[PHP]] = インサートモードへの移行 ====== 現状わかっている最強の方法 ====コマンドモードで以下のコマンドを入力するとインサートモードへ移行する。複数の種類があるがテキストの入力開始位置の違いなので超基本としては「i」だけを覚えておけば間違いない。インサートモード移行後は近代的なテキストエディタと同様にテキストを入力すればよい。{| class<source lang="wikitablephp">if (! コマンドdebug_backtrace()) {! 概要 // これ最強|-| i| カーソル位置に挿入開始|-| a| カーソル位置の次に挿入開始|-| I| 行頭に挿入開始|-| A}| 行末に挿入開始|}</source>
==== インサートモードの抜け方 コマンドラインの場合 ====インサートモードを終了しコマンドモードへ移行するには以下の特殊キーを入力する。<source lang="php"><?phpif (isset($argv[0]) && __FILE__ === realpath($argv[0])) {| class // something in my house}</source>==== Apacheモジュールの場合 ====<source lang="wikitablephp">! 特殊キー<?php! 概要|-| if (basename(__FILE__) == basename($_SERVER[Esc'PHP_SELF'])) {| インサートモードを終了し、コマンドモードへ移行する。 // something in my house|}</source>
=== 保存と終了 [[F Sharp|F#]] ==={| class<source lang="wikitablefsharp">! コマンド[<EntryPoint>]! 概要let main args =|- // something in my house| :q // 0を返して正常終了| 終了 0|-</source>| :q!| 強制終了=== [[Haskell]] ===|-<source lang="haskell">| :w| 保存|{-| :w!| 強制保存|Haskell "hello, world" -} | :wq| 保存して終了|main = putStrLn "hello, world" -| :wq!| 強制保存して終了|-putStrLn は文字列を出力する|}</source>
== 関連項目 ==
* [[BSDプログラミング言語]]* [[emacs]] 
== 参考文献 ==
{{reflist}}<references/>== 外部リンク ==
{{stub}}
匿名利用者

案内メニュー