diff options
Diffstat (limited to 'ja-jp')
-rw-r--r-- | ja-jp/python-jp.html.markdown | 32 | ||||
-rw-r--r-- | ja-jp/vim-jp.html.markdown | 275 |
2 files changed, 291 insertions, 16 deletions
diff --git a/ja-jp/python-jp.html.markdown b/ja-jp/python-jp.html.markdown index c80b4d4c..18e7d1b8 100644 --- a/ja-jp/python-jp.html.markdown +++ b/ja-jp/python-jp.html.markdown @@ -160,8 +160,8 @@ len("This is a string") # => 16 name = "Reiko" f"She said her name is {name}." # => "She said her name is Reiko" -# 基本的に、任意のPythonの文を中括弧に書くことができ、それは評価されて出力されます。 -f"{name} is {len(name)} characters long." +# 基本的に、任意のPythonの文を中括弧に書くことができ、それは文字列で出力されます。 +f"{name} is {len(name)} characters long." # => "Reiko is 5 characters long." # None はオブジェクトです(大文字からです!) None # => None @@ -191,7 +191,7 @@ print("I'm Python. Nice to meet you!") # => I'm Python. Nice to meet you! print("Hello, World", end="!") # => Hello, World! # コンソールから入力を得るための簡単な例 -input_string_var = input("Enter some data: ") # 入力を文字列として返します +input_string_var = input("Enter some data: ") # 入力を文字列として返します。 # Note: Python の初期のバージョンでは、 input() は raw_input() という名前で存在します。 # Pythonでは変数の宣言は存在せず、代入のみです。 @@ -201,7 +201,7 @@ some_var # => 5 # 代入されていない変数へのアクセスは例外を引き起こします。 # 例外の取り扱いについては、3章の制御の流れをご確認ください。 -some_unknown_var # NameError を送出します +some_unknown_var # NameError を送出します。 # ifは式として使用できます。 # C言語の「?:(三項演算子)」に対応する例: @@ -228,7 +228,7 @@ li[0] # => 1 li[-1] # => 3 # 範囲外の要素を参照すると IndexError になります。 -li[4] # IndexError が発生します +li[4] # IndexError が発生します。 # スライス構文により範囲を参照できます。 # 開始部分のインデックスに対応する部分は含まれますが、終了部分のインデックスに対応する部分は含まれません。 @@ -238,28 +238,28 @@ li[2:] # => [4, 3] # 末尾を取り除いたリスト li[:3] # => [1, 2, 4] # 1つ飛ばしで選択する -li[::2] # =>[1, 4] +li[::2] # => [1, 4] # 反転したリストを得る li[::-1] # => [3, 4, 2, 1] # これらの任意の組み合わせにより、より複雑なスライスを作ることができます。 # li[start:end:step] # スライスにより、深いコピーを1階層分行うことができます。 -li2 = li[:] # => li2 = [1, 2, 4, 3] だが、 (li2 is li) はFalseになる。 +li2 = li[:] # => li2 = [1, 2, 4, 3] だが、 (li2 is li) は False になる。 # "del"によりリストから任意の要素を削除できます。 del li[2] # li は [1, 2, 3] になりました。 # "remove"で最初に出現する要素を削除できます。 li.remove(2) # li は [1, 3] になりました。 -li.remove(2) # 2はリストの中に存在しないので、 ValueError が発生します。 +li.remove(2) # 2 はリストの中に存在しないので、 ValueError が発生します。 # 要素を好きなところに挿入できます。 li.insert(1, 2) # li は [1, 2, 3] に戻りました。 # "index"で引数の要素が最初に出現する場所のインデックスを得られます。 li.index(2) # => 1 -li.index(4) # 4はリストの中に存在しないので、 ValueError が発生します。 +li.index(4) # 4 はリストの中に存在しないので、 ValueError が発生します。 # リスト同士を足すこともできます。 # Note: li と other_li の値は変更されません。 @@ -295,11 +295,11 @@ tup[:2] # => (1, 2) # タプルやリストから複数の変数に代入することができます。 a, b, c = (1, 2, 3) # a, b, c にはそれぞれ 1, 2, 3 が代入されました。 # 拡張記法もあります。 -a, *b, c = (1, 2, 3, 4) # a は 1 、 b は [2, 3] 、c は4 になります。 +a, *b, c = (1, 2, 3, 4) # a は 1、 b は [2, 3]、c は 4 になります。 # 括弧を作成しなくてもデフォルトでタプルが作成されます。 d, e, f = 4, 5, 6 # 4、5、6がそれぞれd、 e、 fに代入されます。 # 2つの変数を交換するのがどれほど簡単か見てみましょう。 -e, d = d, e # d は 5 、 e は e になります。 +e, d = d, e # d は 5、 e は 4 になります。 # 辞書はマップ(キーと値の組み合わせ)を保存できます。 @@ -373,7 +373,7 @@ valid_set = {(1,), 1} filled_set = some_set filled_set.add(5) # filled_set は {1, 2, 3, 4, 5} になりました。 # 集合は重複した要素を持ちません。 -filled_set.add(5) # 以前の{1, 2, 3, 4, 5}のままです。 +filled_set.add(5) # 以前の {1, 2, 3, 4, 5} のままです。 # & により、集合同士の共通部分が得られます。 other_set = {3, 4, 5, 6} @@ -453,7 +453,7 @@ for i in range(4, 8): """ "range(lower, upper, step)" は、lower の数値から upper の数値までが、 -step 刻みで表現されるiterableを返します +step 刻みで表現されるiterableを返します。 step が与えられない場合、デフォルトは1になります。 出力: 4 @@ -552,7 +552,7 @@ varargs(1, 2, 3) # => (1, 2, 3) def keyword_args(**kwargs): return kwargs -# 何が起こるか、試してみましょう +# 何が起こるか、試してみましょう。 keyword_args(big="foot", loch="ness") # => {"big": "foot", "loch": "ness"} @@ -591,7 +591,7 @@ x = 5 def set_x(num): - # ローカル変数の x はグローバル変数の x とは異なります + # ローカル変数の x はグローバル変数の x とは異なります。 x = num # => 43 print(x) # => 43 @@ -783,7 +783,7 @@ if __name__ == '__main__': from human import Human -# 親クラスを子クラスのパラメータとして指定します +# 親クラスを子クラスのパラメータとして指定します。 class Superhero(Human): # もし子クラスが親クラスの全ての定義を変更なしで継承する場合、"pass"キーワードのみを書くだけで良いです。 diff --git a/ja-jp/vim-jp.html.markdown b/ja-jp/vim-jp.html.markdown new file mode 100644 index 00000000..1d9867ca --- /dev/null +++ b/ja-jp/vim-jp.html.markdown @@ -0,0 +1,275 @@ +--- +category: tool +tool: vim +contributors: + - ["RadhikaG", "https://github.com/RadhikaG"] +translators: + - ["Kota Kato", "https://github.com/kato-k"] +filename: LearnVim-jp.txt +lang: ja-jp +--- + + +[Vim](http://www.vim.org) +(Vi IMproved) は、Unix用の人気なエディタである vi のクローンです。 +これは、速度と生産性を高めることを目的に設計されたエディタであり、 +ほとんどのUnix互換のシステムに組込まれています。 +ファイル内の特定の位置に移動したり、素早く編集したりするための多数のキーバインドを持ちます。 + +`vimtutor`はあなたに`Vim`の使い方を教える素晴しいアプリケーションです。 +Vimパッケージのインストール時に一緒に付属しますので、 +コマンドラインで「vimtutor」を実行するだけで、このチュートリアルを開けるはずです。 +これは、`vim`の全ての主要機能を説明します。 + +訳注) 日本語で`vimtutor`を利用するには、「vimtutor ja」を実行しなければならない場合があります。 + +## 基本のVim操作 + +``` + vim <filename> # <filename>をVimで開く + :help <topic> # <topic>についての組み込みドキュメントが存在する場合、 + # それを開く + :q # Vimを終了する + :w # 編集中のファイルを保存する + :wq # ファイルを保存して、Vimを終了する + ZZ # ファイルを保存して、Vimを終了する。:xと同様 + :q! # ファイルを保存せずにVimを終了する + # :q を ! *強制的に* 実行するため保存せずにVimが終了します + ZQ # ファイルを保存せずにVimを終了する + :x # 変更点がある時、ファイルを保存してVimを終了する + + u # Undo + CTRL+R # Redo + + h # 左に一文字移動 + j # 一行下に移動 + k # 一行上に移動 + l # 右に一文字移動 + + Ctrl+B # ウィンドウを一画面上に移動 + Ctrl+F # ウィンドウを一画面下に移動 + Ctrl+D # ウィンドウを半画面上に移動 + Ctrl+U # ウィンドウを半画面下に移動 + + # 行内を移動する + + 0 # 行頭に移動 + $ # 行末に移動 + ^ # 行の初めの非空白文字に移動 + + # テキストの検索 + + /word # カーソル以降に出現する全ての一致をハイライト + ?word # カーソル以前に出現する全ての一致をハイライト + n # カーソルを次の一致に移動 + N # カーソルを前の一致に移動 + + :%s/foo/bar/g # 全ての行について「foo」を「bar」に置換 + :s/foo/bar/g # 現在の行について「foo」を「bar」に置換 + :%s/\n/\r/g # 改行文字の置換 + + # 文字への移動 + + f<character> # 前方の<character>に移動する + t<character> # 前方の<character>の一文字前に移動する + + # 例 + f< # 前方の < に移動 + t< # 前方の < の一文字前に移動 + + # 単語ごとの移動 + + w # 一単語前に移動 + b # 一単語後ろに移動 + e # 現在の単語の後部に移動 + + # 移動のためのキーバインド + + gg # ファイルの先頭に移動 + G # ファイルの最後に移動 + :NUM # ファイルのNUM行に移動(NUMは任意の行数) + H # カーソルをウィンドウ上部に移動 + M # カーソルをウィンドウ中央に移動 + L # カーソルをウィンドウ下部に移動 +``` + +## ヘルプドキュメント: + +Vimには`:help <topic>`でアクセスできるヘルプドキュメントが組込まれています。 +例えば、`:help navigation`はカーソルを移動する方法についてのドキュメントを開きます。 + +`:help`はオプション無しでも利用できます。 +これにより、Vimにより親しみやすくすることを目的としたデフォルトのヘルプダイアログが開かれます。 + +## モード: + +Vimは**モード**の概念に基づいています。 + +- Command Mode - Vimはこのモードで起動し、移動とコマンドの実行に使われます +- Insert Mode - ファイルに変更を加えるのに使われます +- Visual Mode - テキストをハイライトしてオペレータを適用するために使われます +- Ex Mode - コマンドを入力するための「:」プロンプトで使われます + +``` + i # カーソル位置の前からInsert Modeに入る + a # カーソル位置の後ろからInsert Modeに入る + v # Visual Modeに入る + : # Ex Modeに入る + <esc> # 現在のモードからコマンドモードに「脱出」 + + # テキストのコピーと貼り付け + + y # 選択された対象をヤンクする + yy # 現在の行をヤンクする + d # 選択された対象を削除する + dd # 現在の行を削除する + p # ヤンクされたテキストをカーソルの後ろに貼り付ける + P # ヤンクされたテキストをのカーソルの前に貼り付ける + x # カーソル位置の文字を削除 +``` + +## Vimの「文法」 + +Vimの操作は「動詞・修飾子・名詞」形式のコマンドとして考えることができます。 + +- 動詞 - 動作 +- 修飾子 - 動作の実行方法 +- 名詞 - 動作が作用するオブジェクト + +「動詞・修飾子・名詞」関するいくつかの重要な例: + +``` + # '動詞' + + d # 削除 + c # 変更 + y # ヤンク (コピー) + v # ビジュアル選択 + + # '修飾子' + + i # 内部 + a # 周り + NUM # 回数 (NUMは任意の番号) + f # 任意の一文字まで + t # 任意の一文字の手前まで + / # カーソル以降の任意の文字列まで + ? # カーソル以前の任意の文字列まで + + # '名詞' + + w # 単語 + s # 文 + p # 段落 + b # ブロック + + # 「文」の例 + + d2w # 削除 2 単語 (2単語を削除) + cis # 変更 内部 文 (文の内部を変更) + yip # ヤンク 内部 段落 (段落の内部をヤンク) + ct< # 変更 手前 < (<の手前まで変更) + d$ # 削除 行末まで (行末まで削除) +``` + +## いくつかのショートカットと小技 + + <!--TODO: Add more!--> +``` + > # 選択部を1ブロックインデント + < # 選択部を1ブロックデインデント + :earlier 15m # ファイルを15分前の状態に戻す + :later 15m # 上記のコマンドの逆 + ddp # 連続する行を入れ替え + . # 前回の動作を繰り返す + :w !sudo tee % # 編集中のファイルを管理者として保存 + :set syntax=c # 「C言語」のシンタックスハイライトを利用する + :sort # 全ての行をソートする + :sort! # 全ての行を降順にソートする + :sort u # 全ての行をソートして重複を削除する + ~ # 選択部分の大文字小文字を入れ替える + u # 選択部分を小文字にする + U # 選択部分を大文字にする + J # 現在の行と次の行を結合する + + # テキストの折り畳み + zf # 選択したテキストを折り畳む + zo # 折り畳みを開く + zc # 折り畳みを閉じる + zR # 全ての折り畳みを開く + zM # 全ての折り畳みを閉じる +``` + +## マクロ + +マクロは基本的に記録可能なアクションです。 +マクロの記録を開始すると、記録を停止するまで**全て**の操作とコマンドが記録されます。 +マクロを呼びだすと、まったく同じ一連の操作とコマンドが文書に再度適用されます。 + +``` + qa # 「a」という名前のマクロの記録を開始する + q # 記録を停止する + @a # 「a」マクロを再生する +``` + +### ~/.vimrc の設定 + +ファイル.vimrcは起動時にVimの設定として利用されます + +次は~/.vimrcファイルのサンプルです + +``` +" Example ~/.vimrc +" 2015.10 + +" Required for vim to be iMproved +set nocompatible + +" 自動インデントなどを利用するために、ファイル名からファイルタイプを決定する +filetype indent plugin on + +" シンタックスハイライトを利用する +syntax on + +" より良いコマンドライン補完 +set wildmenu + +" 大文字を利用しない場合、検索で大文字・小文字を区別しない +set ignorecase +set smartcase + +" ファイル固有のインデントが有効でない場合、現在行のインデントを継続する +set autoindent + +" 行番号の表示 +set number + +" インデントに関するオプション + +" TAB文字の幅 +set tabstop=4 + +" 編集中TABキーを押した際の挙動 +set softtabstop=4 + +" << >> を利用した再インデント時のスペースの数 +set shiftwidth=4 + +" TABキーをスペースに変換する +set expandtab + +" 賢いTAB機能を有効にする +set smarttab +``` + +### 参考文献 + +[Vim | Home](http://www.vim.org/index.php) + +`$ vimtutor` + +[A vim Tutorial and Primer](https://danielmiessler.com/study/vim/) + +[What are the dark corners of Vim your mom never told you about? (Stack Overflow thread)](http://stackoverflow.com/questions/726894/what-are-the-dark-corners-of-vim-your-mom-never-told-you-about) + +[Arch Linux Wiki](https://wiki.archlinux.org/index.php/Vim) |