Skip to content

Instantly share code, notes, and snippets.

@kawaz
Last active February 11, 2026 03:18
Show Gist options
  • Select an option

  • Save kawaz/52f99accd35cb20ef13c45eebaf511d5 to your computer and use it in GitHub Desktop.

Select an option

Save kawaz/52f99accd35cb20ef13c45eebaf511d5 to your computer and use it in GitHub Desktop.
hx --tutor の日本語版(自己再生機能付き)を作った。
#!/bin/bash
set -euo pipefail; prog=$(realpath -- "$0"); exec claude --add-dir "${prog%/*}" -p "head -10 $prog の手順に従いファイルを更新して"
#
# ファイル更新手順(※チュートリアルを行いたい人はここは読み飛ばして、次に進んでください)
# 1. curl -sLo "${TMPDIR:-/tmp}/hx-tutor.en.txt" https://raw.githubusercontent.com/helix-editor/helix/refs/heads/master/runtime/tutor
# 2. en.txtの日本語版としてこのファイルを上書き再作成してください。その際ファイル冒頭のスクリプトとプロンプトは維持してください。
# 3. 作成出来たらファイルのフルパスを出力して終了してください。
#
.
###x. .|
d#####x, ,v||
'+#####v||||||
,v|||||+'. _ _ _
,v|||||^'>#### | | | | ___ | | (_) __ __
|||||^' .v#### | |___| | / \ | | _ \ \/ /
||||=..v#####P' | ___ | / ^ | | | | | \ /
''v'>#####P' | | | | | --- | | | | / \
,######/P||x. |_| |_| \___/ |_| |_| /_/\_\
####P' "x|||||,
|/' 'x||| ポストモダンなモーダルテキストエディタ
' '|
Helix チュートリアルへようこそ!
j キーを押して INTRODUCTION まで進んでください。
=================================================================
= INTRODUCTION =
=================================================================
Helix エディタへようこそ! Helix は一般的なエディタとは異なり、
モーダル方式を採用しています。テキスト編集のための複数のモードが
あるということです。主に使うのは Normal モードと Insert モードです。
Normal モードではキーを押してもテキストは入力されず、テキストに
対する様々な操作を行います。これにより効率的な編集が可能になります。
このチュートリアルでは Helix のモーダル編集機能の使い方を学びます。
まず CapsLock キーがオフになっていることを確認し、j キーを押し続けて
最初のレッスンまで進んでください。
=================================================================
= 1.1 BASIC CURSOR MOVEMENT =
=================================================================
k * h は左
← h l → * l は右
j * j は下向き矢印のような形
カーソルは h, j, k, l キーで移動できます(上図参照)。矢印キーでも
動きますが、hjkl キーの方が他のキーに近いため素早く操作できます。
hjkl に慣れるために動き回ってみてください。
準備ができたら j を押し続けて次のレッスンに進みましょう。
=================================================================
= 1.2 EXITING HELIX =
=================================================================
1. : を入力してコマンドモードに入ります。カーソルが画面下部に
移動します。
2. q または quit と入力し Enter を押すと Helix を終了します。
注意: 未保存の変更がある場合、quit コマンドは失敗します。
変更を破棄して強制終了するには q! または quit! を使います。
ファイルの保存方法は後のレッスンで学びます。
コマンドを入力せずにコマンドモードを抜けるには Escape を押します。
次のレッスンに進みましょう。
=================================================================
= 1.3 DELETION =
=================================================================
d キーを押すとカーソル位置の文字を削除します。
1. '-->' のマークがある行にカーソルを移動してください。
2. 余分な文字にカーソルを合わせ、d を押して削除してください。
--> Thhiss senttencee haass exxtra charracterss.
This sentence has extra characters.
文が正しくなったら次のレッスンに進みましょう。
=================================================================
= 1.4 INSERT MODE =
=================================================================
i キーを押すと Insert モードに入ります。
1. '-->' のマークがある行にカーソルを移動してください。
2. テキストが欠けている箇所に移動し、i を押して Insert モードに
入ります。押したキーがそのままテキストとして入力されます。
3. 欠けているテキストを入力してください。
4. Escape を押して Insert モードを抜け、Normal モードに戻ります。
5. 下の行と一致するまで繰り返してください。
--> Th stce misg so.
This sentence is missing some text.
注意: ステータスバーに現在のモードが表示されます。
i を押すと 'NOR' が 'INS' に変わることを確認してください。
=================================================================
= 1.5 SAVING A FILE =
=================================================================
:w / :write でファイルを保存します。
1. :q! で Helix を終了するか、新しいターミナルを開いてください。
2. hx FILENAME でファイルを Helix で開きます。
3. ファイルを編集します。
4. : を入力してコマンドモードに入ります。
5. w または write と入力し Enter を押してファイルを保存します。
wq または write-quit と入力すると保存して終了できます。
注意: w / write コマンドの後にファイルパスを指定すると、
そのパスに保存できます。
注意: 未保存の変更がある場合、ステータスバーのファイル名の横に
プラス [+] が表示されます。
=================================================================
= CHAPTER 1 RECAP =
=================================================================
* h,j,k,l キーでカーソルを移動します。
* : を入力してコマンドモードに入ります。
* q / quit および q! / quit! で Helix を終了します。前者は
未保存の変更があると失敗し、後者は変更を破棄します。
* w / write コマンドでファイルを保存します。
* wq / write-quit コマンドで保存と終了を同時に行います。
* d でカーソル位置の文字を削除します。
* i で Insert モードに入りテキストを入力します。Escape で
Normal モードに戻ります。
=================================================================
= 2.1 MORE INSERT COMMANDS =
=================================================================
i を押すとカーソルの現在位置で Insert モードに入りますが、
別の位置から Insert モードに入る方法もいくつかあります。
よく使う挿入コマンド:
i - 選択範囲の前に挿入
a - 選択範囲の後に挿入 (a は 'append' の意)
I - 行頭に挿入
A - 行末に挿入
1. '-->' のマークがある行のどこかにカーソルを移動してください。
2. A (Shift-a) を押すと、カーソルが行末に移動し入力できます。
3. 下の行と一致するようにテキストを入力してください。
--> This sentence is miss
This sentence is missing some text.
=================================================================
= 2.2 OPENING LINES =
=================================================================
o を押すとカーソルの下に新しい行を追加して挿入モードに入ります。
O を押すとカーソルの上に新しい行を追加して挿入モードに入ります。
1. '-->' のマークがある行にカーソルを移動してください。
2. o を押して下に行を開き、回答を入力してください。
--> What is the best editor?
=================================================================
= CHAPTER 2 RECAP =
=================================================================
* a で選択範囲の後に追加(append)します。
* I で行頭の空白でない最初の文字の位置で Insert モードに入ります。
* A で行末の位置で Insert モードに入ります。
* o と O でカーソルの下と上にそれぞれ行を開きます。
=================================================================
= 3.1 MOTIONS AND SELECTIONS =
=================================================================
w を押すと次の単語の先頭まで前方に選択します。
d キーは実際にはカーソル位置の文字を削除するのではなく、
選択されたテキスト全体を削除します。カーソルは1文字分の
選択範囲のようなものです。
1. '-->' のマークがある行にカーソルを移動してください。
2. 削除したい単語の先頭に移動してください。
3. w を押して次の単語の先頭まで選択します。
4. d を押して選択範囲を削除します。
5. 行内の余分な単語すべてに対して繰り返してください。
--> This sentence pencil has vacuum extra words in the it.
This sentence has extra words in it.
=================================================================
= 3.2 MORE MOTIONS =
=================================================================
w を押すと次の単語の先頭まで前方に移動し、通過したテキストを
選択します。テキスト内の移動や操作対象のテキスト選択に便利です。
よく使うモーション:
w - 次の単語の先頭の手前まで前方に移動
e - 現在の単語の末尾まで前方に移動
b - 現在の単語の先頭まで後方に移動
カーソル下の単語全体を選択するには e と b を組み合わせます。
1. '-->' のマークがある行にカーソルを移動してください。
2. 'd' の文字に移動してください。
3. e を押して単語の半分を選択します。
4. b を押して残りの部分を選択します。
--> The Middle Kingdom.
=================================================================
= 3.3 WORDS AND words =
=================================================================
w,e,b モーションには大文字版の W,E,B もあり、words ではなく
WORDS 単位で移動します。WORDS は空白のみで区切られますが、
words は空白に加えて他の文字でも区切られます。
1. '-->' のマークがある行の先頭にカーソルを移動してください。
2. w を繰り返し押して個々の words を選択し、行末まで進みます。
3. 'one-of-a-kind' の移動に 7 回のキー入力が必要なことに
注目してください。'"modal"' には 3 回必要です。
4. '-->' のマークがある行の先頭に戻ってください。
5. W を繰り返し押して個々の WORDS を選択します。
6. 'one-of-a-kind' と '"modal"' がそれぞれ 1 回のキー入力で
選択されることに注目してください。
--> Helix is a one-of-a-kind "modal" text editor
=================================================================
= 3.4 THE CHANGE COMMAND =
=================================================================
c を押すと現在の選択範囲を変更します。
change コマンドは現在の選択範囲を削除して Insert モードに入ります。
di の便利な省略形です。
1. '-->' のマークがある行にカーソルを移動してください。
2. 間違った単語の先頭に移動し、e を押して選択します。
3. c を押して単語を削除し Insert モードに入ります。
4. 正しい単語を入力してください。
5. 下の行と一致するまで繰り返してください。
--> This paper has heavy words behind it.
This sentence has incorrect words in it.
=================================================================
= 3.5 COUNTS WITH MOTIONS =
=================================================================
モーションの前に数字を入力すると、その回数分繰り返します。
1. '-->' のマークがある行にカーソルを移動してください。
2. 2w と入力すると 2 単語分前方に移動します。
3. 3e と入力すると 3 番目の単語の末尾まで移動します。
4. 2b と入力すると 2 単語分後方に移動します。
5. 異なる数字で試してみてください。
--> This is just a line with words you can move around in.
=================================================================
= 3.6 SELECT / EXTEND MODE =
=================================================================
v を押すと Select モードに入ります。
もう一度 v を押すか Escape で Normal モードに戻ります。
Select モードでは全ての移動が選択範囲を置き換えるのではなく
拡張します。
1. '-->' のマークがある行にカーソルを移動してください。
2. FOO の F に移動し v2w と入力して 2 単語を選択します。
3. d を押して 2 単語を削除します。d で Normal モードに
戻ることに注目してください。
4. BAZ の B に移動し同じ操作を繰り返して削除します。
--> Remove the FOO BAR distracting words BAZ BIZ from this line.
=================================================================
= 3.7 SELECTING LINES =
=================================================================
x を押すと行全体を選択します。もう一度 x を押すと次の行も選択します。
1. 下の 2 番目の '-->' のマークがある行にカーソルを移動してください。
2. x を押して行を選択し、d を押して削除します。
3. 4 番目の行に移動してください。
4. x を 2 回押すか 2x と入力して 2 行を選択し、d で削除します。
--> 1) Roses are red,
--> 2) Mud is fun,
--> 3) Violets are blue,
--> 4) I have a car,
--> 5) Clocks tell time,
--> 6) Sugar is sweet,
--> 7) And so are you.
注意: X は x と似ていますが、次の行への拡張はしません。
空行では X は何もしません。
=================================================================
= 3.8 COLLAPSING SELECTIONS =
=================================================================
; を押すと選択範囲を単一カーソルに縮小します。
カーソルを動かさずに選択を解除したい場合があります。
; キーでこれを行えます。
1. '-->' のマークがある行にカーソルを移動してください。
2. 学んだモーションで行内を移動し、モーションで選択された
テキストを ; で選択解除してみてください。
--> This is an error-free line with words to move around in.
注意: Select モードでも同様に動作します。
注意: 関連コマンドとして Alt-; があり、選択の方向を反転します
(選択範囲のカーソルとアンカーを入れ替えます)。
=================================================================
= CHAPTER 3 RECAP =
=================================================================
* w で次の単語まで前方に選択します。
* e で現在の単語の末尾まで選択します。
* b で現在の単語の先頭まで後方に選択します。
* 大文字版の W,E,B で WORDS 単位で移動します。
* d で選択範囲全体を削除します。
* c で選択範囲を削除して Insert モードに入ります。
* モーションの前に数字を入力するとその回数分繰り返します。
* v で Select モードに入り、全てのモーションが選択範囲を
拡張します。
* x で現在の行全体を選択します。もう一度 x で次の行も選択します。
* セミコロン ( ; ) で選択範囲を縮小します。
=================================================================
= 4.1 UNDOING =
=================================================================
u で元に戻します(undo)。U でやり直します(redo)。
1. '-->' のマークがある行にカーソルを移動してください。
2. 最初の誤りに移動し、d を押して削除します。
3. u を押して削除を元に戻します。
4. 行のすべての誤りを修正してください。
5. u を数回押して修正を元に戻します。
6. U (Shift-u) を数回押して修正をやり直します。
--> Fiix the errors on thhis line and reeplace them witth undo.
=================================================================
= 4.2 COPYING AND PASTING TEXT =
=================================================================
y で選択範囲をヤンク(コピー)します。
p でヤンクしたテキストをカーソルの後に貼り付けます。
P でヤンクしたテキストをカーソルの前に貼り付けます。
1. '-->' のマークがある行にカーソルを移動してください。
カーソルが "banana" の "b" にあることを確認してください。
2. w で "banana" を選択し y でヤンクします。
3. "2" と "3" の間のスペースに移動し p で貼り付けます。
4. "3" と "4" の間で繰り返します。
--> 1 banana 2 3 4
1 banana 2 banana 3 banana 4
注意: テキストを削除・変更すると、Helix は変更されたテキストを
コピーします。これを避けるには Alt-d / Alt-c を使います。
注意: Helix はデフォルトではシステムクリップボードを共有しません。
Space + y / p でシステムクリップボードにヤンク/貼り付けします。
=================================================================
= 4.3 SEARCHING IN FILE =
=================================================================
/ でファイル内を前方検索し、Enter で検索を確定します。
n で次の検索結果に移動します。
N で前の検索結果に移動します。
1. / を入力し、'banana' のような一般的な単語を入力してください。
2. Enter を押して検索を確定します。
3. n と N で検索結果を巡回します。
検索には正規表現が使われ、より複雑な式を対象にできます。
これについては select コマンドのレッスンで学びます。
注意: 後方検索するには ? (Shift-/) を入力します。
注意: Vim とは異なり、? は検索方向を変更しません。
N は常に後方に、n は常に前方に移動します。
=================================================================
= CHAPTER 4 RECAP =
=================================================================
* u で元に戻す(undo)。U でやり直す(redo)。
* y でテキストをヤンク(コピー)し、p で貼り付けます。
* Space + y と Space + p でシステムクリップボードに
ヤンク/貼り付けします。
* / でファイル内を前方検索、? で後方検索します。
* n と N で検索結果を巡回します。
=================================================================
= 5.1 MULTIPLE CURSORS =
=================================================================
C を押すとカーソルを次の適切な行に複製します。
1. 最初の '-->' のマークがある行にカーソルを移動してください。
カーソルを '-->' より後ろに置いてください。
2. C を押してカーソルを次の適切な行に複製します。
途中の行がスキップされることに注目してください。入力した
キーは両方のカーソルに影響します。
3. Insert モードで行を修正してください。2 つのカーソルが
両方の行を同時に修正します。
4. , を押して最初のカーソルを削除します。
--> Fix th two nes at same ime.
-->
--> Fix th two nes at same ime.
Fix these two lines at the same time.
注意: Alt-C でカーソルの上方向に同じ操作ができます。
=================================================================
= 5.2 THE SELECT COMMAND =
=================================================================
s を押すと選択範囲内のマッチを選択します。
1. '-->' のマークがある行にカーソルを移動してください。
2. x で行を選択します。
3. s を押します。プロンプトが表示されます。
4. 'apples' と入力し Enter を押します。行内の 'apples' が
両方とも選択されます。
5. c を押して 'apples' を 'oranges' などに変更できます。
6. Escape を押して Insert モードを抜けます。
7. , を押して 2 番目のカーソルを削除します。
--> I like to eat apples since my favorite fruit is apples.
I like to eat oranges since my favorite fruit is oranges.
=================================================================
= 5.3 SELECTING VIA REGEX =
=================================================================
検索と同様に、select コマンドは完全一致だけでなく
正規表現を選択します。
1. '-->' のマークがある行にカーソルを移動してください。
2. x で行を選択し、s を押します。
3. ' +' と入力して 1 つ以上の連続するスペースを選択し、
Enter を押します。
4. c を押してマッチを単一のスペースに変更します。
--> This sentence has some extra spaces.
This sentence has some extra spaces.
注意: 検索と置換を行いたい場合、select コマンドがその方法です。
置換したいテキストを選択し(% でファイル全体を選択できます)、
上記の手順を実行してください。
=================================================================
= 5.4 ALIGN SELECTIONS =
=================================================================
& を押すと選択範囲の内容を揃えます。
1. 最初の '-->' のマークがある行にカーソルを移動してください。
矢印の直後の空白にカーソルを置きます。
2. C を 4 回押すか 4C と入力します。
3. W で数字と括弧を選択します。
4. & で単語を揃えます。
--> 97) lorem
--> 98) ipsum
--> 99) dolor
--> 100) sit
--> 101) amet
注意: & は選択範囲の「ヘッド」(移動する端)の位置揃えのみを
行います。もう一方の端は「アンカー」と呼ばれます。
=================================================================
= 5.5 SPLIT SELECTION INTO LINES =
=================================================================
Alt-s を押すと選択範囲を改行で分割します。
1. 下の表の最初の行にカーソルを移動してください。
2. 6x で表全体を選択します。
3. Alt-s で各行ごとに選択範囲を分割します。
4. & で表を揃えます。
| FRUIT | AMOUNT |
|---------|--------|
| Apples | 8 |
| Bananas | 6 |
| Oranges | 3 |
| Donuts | 4 |
=================================================================
= CHAPTER 5 RECAP =
=================================================================
* C でカーソルを次の適切な行に複製します。
Alt-C で前の適切な行に複製します。
* s で現在の選択範囲内の正規表現パターンの全インスタンスを
選択します。
* & で選択範囲を揃えます。
* Alt-s で選択範囲を行に分割します。
=================================================================
= 6.1 SELECTING TO A CHARACTER =
=================================================================
f<ch> で指定文字まで(その文字を含めて)選択します(find)。
t<ch> で指定文字の手前まで(その文字を含めずに)選択します(till)。
大文字の F / T で後方に同じ操作を行います。
1. '-->' のマークがある行にカーソルを移動してください。
最初のダッシュにカーソルを置きます。
2. f[ で角括弧まで選択します。
3. d で選択範囲を削除します。
4. 行末に移動し F] で同じ操作を繰り返します。
5. 2 番目の '-->' のマークがある行の矢印の直後に移動します。
6. t と T で文の周囲のダッシュを削除してください。
--> -----[Free this sentence of its brackets!]-----
--> ------Free this sentence of its dashes!------
注意: Vim とは異なり、Helix はこれらのコマンドを現在の行に
制限しません。ファイル内で文字を検索します。
=================================================================
= 6.2 THE REPLACE COMMAND =
=================================================================
r<ch> で選択中の全文字を <ch> に置換します。
1. 下の表の 2 行目に移動し、最初の = にカーソルを置きます。
2. t| (Shift-\) で = の区切り文字を選択します。
3. r- で区切り文字をダッシュに置換します。
| Month | Days |
|=======|------|
| Jan | 31 |
| Feb | 28 |
| Mar | 31 |
| ... | ... |
=================================================================
= 6.3 REPETITION =
=================================================================
. を押すと最後の挿入コマンドを繰り返します。
Alt-. を押すと最後の f / t 選択を繰り返します。
1. '-->' のマークがある行にカーソルを移動してください。
2. 変更、挿入、または追加を行い、. で繰り返してください。
3. f や t で Alt-. を使い、例えば複数の文を選択してみてください。
--> This is some text for you to repeat things. You can repeat
insertions like changing words, or repeat selections like
f / t.
=================================================================
= CHAPTER 6 RECAP =
=================================================================
* f / F で指定文字まで(含む)選択を拡張します。
* t / T で指定文字の手前まで選択を拡張します。
* r で選択中の文字を置換します。
* . で最後の挿入を繰り返します。
* Alt-. で最後の f / t 選択を繰り返します。
=================================================================
= 7.1 REPLACE WITH YANKED TEXT =
=================================================================
R を押すと選択範囲を以前ヤンクしたテキストで置換します。
1. '-->' のマークがある行にカーソルを移動してください。
2. w で "watermelons" を選択し、y でヤンクします。
3. w で "oranges" を選択します。
4. R を押して "oranges" を "watermelons" に置換します。
--> I like watermelons because oranges are refreshing.
I like watermelons because watermelons are refreshing.
=================================================================
= 7.2 JOINING LINES =
=================================================================
J を押すと選択範囲内の行を結合します。
1. '-->' のマークがある行にカーソルを移動してください。
2. x を 4 回押すか 4x と入力して 4 行すべてを選択します。
3. J を押して行を結合します。
--> This sentence
is spilling over
onto other
lines.
This sentence is spilling over onto other lines.
=================================================================
= 7.3 INDENTING LINES =
=================================================================
> を押すと行をインデントし、< でインデントを解除します。
1. '-->' のマークがある行にカーソルを移動してください。
2. 2 行目に移動し > でインデントします。
3. 3 行目に移動し < でインデントを解除します。
--> These lines
are indented
very poorly.
These lines
are indented
much better.
=================================================================
= 7.4 INCREMENTING AND DECREMENTING =
=================================================================
Ctrl-a で選択中の数値をインクリメント(増加)します。
Ctrl-x で選択中の数値をデクリメント(減少)します。
1. 3 番目の '-->' のマークがある行にカーソルを移動してください。
2. Ctrl-a を押して 2 番目の項目の 2 をインクリメントします。
3. 3 と表示された項目にも同じ操作を繰り返します。
4. 最後の項目に移動し Ctrl-x で 6 をデクリメントします。
--> 1) First point.
--> 2) Added point.
--> 2) Next point.
--> 3) Another point.
--> 6) Last point.
=================================================================
= CHAPTER 7 RECAP =
=================================================================
* R で選択範囲をヤンクしたテキストで置換します。
* J で選択範囲内の行を結合します。
* > と < で行のインデント/インデント解除をします。
* Ctrl-a で選択中の数値をインクリメントします。
* Ctrl-x で選択中の数値をデクリメントします。
=================================================================
= 8.1 REGISTERS =
=================================================================
レジスタは文字で識別されるコンテナで、ヤンクしたテキストなどを
格納します。レジスタは最新の検索語やマクロ(次のセクションで学び
ます)の格納にも使われます。
"<ch> でレジスタ <ch> を選択します。
1. '-->' のマークがある行にカーソルを移動してください。
2. w で "watermelons" を選択し y でヤンクします。
3. w で "bananas" を選択します。
4. "b でレジスタ b に切り替え、y でヤンクします。
5. "mangoes" を選択し R で "watermelons" に置換します。
6. "pineapples" を選択し "b R で "bananas" に置換します。
--> I like watermelons and bananas because my favorite fruits
are mangoes and pineapples.
=================================================================
= 8.2 MACROS =
=================================================================
マクロは繰り返したい一連の操作を記録する方法です。
特定のレジスタにマクロを記録することもできます(デフォルトは @)。
Q を押すとマクロの記録を開始します。画面下部にポップアップが
表示されます。もう一度 Q を押すと記録を停止します。
q を押すとレジスタ @(デフォルト)のマクロを再生します。
1. 最初の '-->' のマークがある行にカーソルを移動してください。
カーソルが矢印の '>' にあることを確認してください。
2. Q を押して記録を開始します。
3. 行を下の見本のように編集します。
4. Insert モードを抜けてもう一度 Q を押し記録を停止します。
5. 次の行に移動し、カーソルを再び '>' に置きます。
6. q を押してマクロを再生します。
--> ... sentence doesn't have its first and last ... .
--> ... sentence doesn't have its first and last ... .
This sentence doesn't have its first and last word.
=================================================================
= CHAPTER 8 RECAP =
=================================================================
* " で別のレジスタを選択します。
* Q でレジスタへのマクロ記録を開始・停止します。
デフォルトは @ です。
* q で @ または選択中のレジスタからマクロを再生します。
=================================================================
= 9.1 SEARCHING FOR SELECTIONS =
=================================================================
/ による最新の検索はレジスタ / に格納されます。
n と N はどちらもレジスタ / を参照するため、検索を入力せずに
そのレジスタを設定できます。
* を押すと選択範囲をレジスタ / にコピーし、検索語として設定
します。これはプライマリ選択をコピーします。プライマリ選択に
ついては選択範囲の巡回のセクションで学びます。
1. '-->' のマークがある行にカーソルを移動してください。
2. e で "horse" を選択し * を押します。
3. n と N で "horse" のインスタンス間をジャンプします。
--> A horse is a horse, of course, of course,
--> And no one can talk to a horse of course.
注意: * は "/y の省略形のようなもので、選択範囲を / レジスタに
コピーするだけです。
=================================================================
= 9.2 ADDING SELECTION ON NEXT SEARCH MATCH =
=================================================================
Select モード (v) で n と N を使うと、選択範囲が次のマッチに
移動するのではなく、各マッチに新しい選択範囲が追加されます。
1. '-->' のマークがある行にカーソルを移動してください。
2. 最初の "bat" を選択し * で検索語に設定します。
3. v で Select モードに入ります。
4. n で次の "bat" を選択します。
5. c (または "b" を選択してから r) で "bat" を "cat" に
変更します。
--> Everybody wants to be a bat,
--> because a cat's the only bat
--> who knows where it's at.
=================================================================
= 9.3 USING THE JUMPLIST =
=================================================================
Helix は検索やコード内の関数定義へのジャンプなど、大きな移動を
「ジャンプ」として追跡できます。これらはジャンプリストに
格納されます。
Ctrl-s を押すと現在の位置をジャンプリストに手動保存します。
Ctrl-i ("in") と Ctrl-o ("out") でジャンプリスト内を
それぞれ前方と後方に移動します。
1. どこかで Ctrl-s を押してください。
2. ファイル内の遠くに移動してください。
3. Ctrl-o を(1回だけ!)押して保存した位置に戻ります。
=================================================================
= 9.4 JUMP WITH TWO-CHARACTER LABELS =
=================================================================
gw を押すと 2 文字ラベルが有効になります。各単語の先頭が
ハイライトされた 2 文字に置き換わります。2 文字のハイライト
された文字列を入力すると対応するラベルにジャンプします。
ESC でラベルを解除します。
2 文字ラベルにより、表示されている範囲内の任意の場所に
素早くジャンプできます。
1. '-->' のマークがある行の先頭にカーソルを移動してください。
2. gw を押して 2 文字ラベルを有効にし、'here' の先頭の
'he' を置き換えている 2 文字を入力して対応する単語に
ジャンプします。
--> This is just a simple line of text.
There may be many such lines
But you really want to jump here!
This is fast with the 2-character labels.
=================================================================
= CHAPTER 9 RECAP =
=================================================================
* * で検索レジスタにプライマリ選択を設定します。
* Select モードで n / N を使うと各検索マッチに選択範囲を
追加します。
* Ctrl-s でジャンプリストに位置を保存します。
* Ctrl-i と Ctrl-o でジャンプリスト内を前方・後方に
移動します。
* gw で 2 文字ラベルを有効にし、任意の 2 文字を入力して
対応するラベルにジャンプします。ESC でラベルを解除します。
=================================================================
= 10.1 CYCLING AND REMOVING SELECTIONS =
=================================================================
) と ( でプライマリ選択を選択範囲間で前方・後方に
巡回します。
Alt-, でプライマリ選択を削除します。
1. '-->' のマークがある行にカーソルを移動してください。
2. xx または 2x で両方の行を選択します。
3. s を押し "would" と入力して Enter を押します。
4. ( と ) でプライマリ選択を巡回し、Alt-, で
2 番目の "would" の選択を解除します。
5. c "wood" と入力して残りの "would" を "wood" に変更します。
--> How much would would a wouldchuck chuck
--> if a wouldchuck could chuck would?
=================================================================
= 10.2 CYCLING THE CONTENT OF SELECTIONS =
=================================================================
Alt-) と Alt-( で選択範囲の内容を前方・後方に巡回します。
1. '-->' のマークがある行にカーソルを移動してください。
2. xx または 2x で両方の行を選択します。
3. s を押し "through|water|know" と入力して Enter を押します。
4. Alt-( と Alt-) で選択範囲の内容を巡回します。
--> Jumping through the water,
--> daring to know.
=================================================================
= 10.3 CHANGING CASE =
=================================================================
~ で選択中の全文字の大文字・小文字を切り替えます。
` で選択中の全文字を小文字にします。
Alt-` で選択中の全文字を大文字にします。
1. 最初の '-->' のマークがある行にカーソルを移動してください。
2. 大文字・小文字が間違っている文字をそれぞれ選択し、
~ で切り替えてください。
3. 2 番目の '-->' のマークがある行に移動してください。
4. x で行を選択します。
5. ` で行を小文字に変更します。
6. 3 番目の '-->' のマークがある行に移動してください。
7. x で行を選択します。
8. Alt-` で行を大文字に変更します。
--> thIs sENtencE hAs MIS-cApitalIsed leTTerS.
--> this SENTENCE SHOULD all be in LOWERCASE.
--> THIS sentence should ALL BE IN uppercase!
=================================================================
= 10.4 SPLITTING SELECTIONS =
=================================================================
S を押すと各選択範囲を正規表現パターンで分割します。
1. --- の下の行にカーソルを移動してください。
2. xx / 2x で行を選択します。
3. S を押し \. |! Enter と入力します(. と ! の後のスペースに
注意)。これにより各ピリオドまたは感嘆符で文に分割されます。
4. Alt-; で選択範囲を反転します。
5. ; で選択範囲を単一文字に縮小します。各文の先頭の文字です。
6. Alt-` で選択中の全文字を大文字に変換します。
---
these are sentences. some sentences don't start with uppercase
letters! that is not good grammar. you can fix this.
=================================================================
= CHAPTER 10 RECAP =
=================================================================
* ) と ( でプライマリ選択を選択範囲間で前方・後方に巡回します。
* Alt-, でプライマリ選択を削除します。
* Alt-) と Alt-( で選択範囲の内容を巡回します。
* ~ で選択中の文字の大文字・小文字を切り替えます。
* ` と Alt-` で選択中の文字をそれぞれ小文字・大文字に
設定します。
* S で選択範囲を正規表現で分割します。
=================================================================
= 11.1 COMMENTING A LINE =
=================================================================
Ctrl-c でカーソル下の行をコメントアウトします。
コメントを解除するにはもう一度 Ctrl-c を押します。
1. '-->' のマークがある行にカーソルを移動してください。
2. '-->' のマークがある行をコメントアウトしてください。
3. コメントを解除してみてください。
--> Comment me please
=================================================================
= 11.2 COMMENTING MULTIPLE LINES =
=================================================================
選択範囲とマルチカーソル機能を使えば、選択やカーソルの下にある
複数の行をコメントアウトできます。コメントを解除するには
もう一度 Ctrl-c を押します。
1. '-->' のマークがある行にカーソルを移動してください。
2. 他の '-->' のマークがある行も選択またはカーソルを追加
してみてください。
3. それらの行をコメントアウトしてください。
4. コメントを解除してください。
--> What are you doing?!
--> Stop commenting me!
--> AAAAaargh!!!
--> Enough! Uncomment me now!
注意: 選択やマルチカーソルの下にコメント行とそうでない行が
混在している場合、コメント解除ではなく再度コメントされます。
=================================================================
= CHAPTER 11 RECAP =
=================================================================
* Ctrl-c でカーソル下の行をコメントアウトします。もう一度
Ctrl-c でコメントを解除します。
* 複数行をコメントするには、Ctrl-c の前に選択やマルチカーソルを
使います。もう一度 Ctrl-c でコメントを解除します。
=================================================================
= 12.1 USING MATCH MODE JUMP =
=================================================================
Normal モードから m を押すとマッチモードに入ります。この機能は
括弧のペアやその内容を扱うときに特に便利です。
マッチモードではヘルプポップアップに表示される複数のアクションが
実行できます。対応する括弧ペアにジャンプするには mm を押します。
例えば下の行('--> ' で始まる行)で Normal モードのカーソルを
( に移動し、mm を押すと対応する ) にジャンプします。次の行でも
同様に ] に移動し mm を押すと [ にジャンプします。
--> you can (jump between matching parentheses)
--> or between matching [ square brackets ]
--> now { you know the drill: this works with brackets too }
=================================================================
= 12.2 USING MATCH MODE SELECT INSIDE =
=================================================================
マッチモードでは括弧やその他の区切り文字のペアの「内側」の内容も
選択できます。下の行で:
- '-->' の行に移動し、括弧の間の任意の位置(例えば 'x')に
Normal モードでカーソルを置き、mi( または mi) を押すと括弧の
内側の内容全体が選択されます(括弧自体は含まれません)。
その後、選択範囲に対して任意の操作ができます(例えば c で変更)。
--> outside and (inside x parentheses) - and outside again
[]、{}、またはこれらのネストされた組み合わせでも同様にできる
ことを下で確認してください(最も近い囲みペアに対して作用します)。
"" などでも動作します。
--> test [ with square brackets ] !
--> try ( with nested [ pairs of ( parentheses) and "brackets" ])
=================================================================
= 12.3 USING MATCH MODE SELECT AROUND =
=================================================================
「外側(around)」の内容、つまり内側の内容と区切り文字自体の両方を
ma で選択することもできます。例えば下の行でカーソルを Normal
モードで () 内の任意の位置に移動し、ma( または ma) を押すと
囲んでいる () を含めた内容が選択されます。選択範囲に対して任意の
操作ができます。例えば ma(d で全体を削除できます。
--> you ( select x around ) to include delimiters in the select
他の区切り文字でも同様に動作します:
--> try [ with 'square' brackets ] too!
=================================================================
= 12.4 USING MATCH MODE SURROUND =
=================================================================
マッチモードは現在の選択範囲を囲むためにも使えます。
例えば下の行に移動し:
* i) "select all of this" の部分を選択します(例えば Normal
モードで select の先頭にカーソルを移動し、v で Select モードに
入り、4e で次の 4 単語を選択)。
* ii) ms( または ms) を押すと選択範囲が括弧のペアで囲まれます。
--> so, select all of this, and surround it with ()
他の区切り文字でも同様にできます。例えば下の WORD に ms' を
使って '' のペアで囲みます。"" や {}、[] の囲みペアの追加も
試してみてください。
--> surround this WORD !
=================================================================
= 12.5 USING MATCH MODE DELETE SURROUND =
=================================================================
md コマンドで囲みペアの区切り文字を削除できます。下の行で
() のペアの内側の任意の位置(例えば 'x')にカーソルを移動し、
Normal モードで md( または md) を押すと囲んでいる括弧の
ペアが削除されます。
--> delete (the x pair of parentheses) from within!
他の種類の囲みも同様に削除できます:
--> delete (nested [delimiters]): "this" will delete the nearest
matching surrounding pair.
--> delete "layers "of" quote marks" too: this will delete the
nearest previous and following quote marks
存在しない囲みペアの区切り文字を削除しようとすると、下部バーに
エラーが表示され何も起こりません。
=================================================================
= 12.6 USING MATCH MODE REPLACE SURROUND =
=================================================================
mr コマンドで囲みペアの区切り文字を置換できます。下の行で
() のペアの内側の任意の位置(例えば 'x')にカーソルを移動し、
Normal モードで mr([ を押すと () のペアが [] のペアに
置換されます。
--> replace the (pair from x within), with something else
このコマンドは最も近い囲みペアに作用するため、以下で異なる
囲みの置換を試してみてください:
--> some (nested surroundings [can be replaced])
--> this "works with 'other surroundings' too"
存在しないペアの置換を試みると、下部バーにエラー警告が表示され
何も起こりません。
=================================================================
= CHAPTER 12 RECAP =
=================================================================
m キーでマッチモードに入ります。利用可能なアクションが
ポップアップに表示されます。以下のことができます:
* mm で対応する区切り文字のペアにジャンプ(カーソルの下に
ペアに属する区切り文字が必要)
* mi( などでカーソルを囲む区切り文字ペアの内側を選択
(内容のみ選択、区切り文字は含まない)
* ma( などでカーソルを囲む区切り文字ペアの外側を選択
(内容と区切り文字の両方を選択)
* md( などで囲みの区切り文字を削除
* ms( で選択範囲に囲みの区切り文字を追加
* mr([ で囲みの区切り文字ペアを置換
(例えば () を [] に置換)
=================================================================
= CHAPTER 13.1 CREATE NEW SPLIT =
=================================================================
Normal モードで Ctrl-w を押すとウィンドウメニューが開き、
利用可能なコマンドの一覧が表示されます。
現在のウィンドウの右半分に新しい空バッファを垂直分割で開くには
Ctrl-w nv を使います(Ctrl と w を同時に押し、n を押し、
次に v を押します)。ウィンドウが垂直に 2 分割され、右半分に
新しい空バッファが表示され、カーソルが新しい分割に移動します。
水平分割で新しい空バッファを作成するには Ctrl-w ns を押します。
現在のウィンドウが水平に 2 分割され、新しいバッファが作成され、
カーソルが新しい水平分割に移動します。
=================================================================
= CHAPTER 13.2 MOVE BETWEEN SPLITS =
=================================================================
Ctrl-w k で上の分割に移動します。Ctrl-w j で下の分割に移動
します。Ctrl-w h で左の分割に、Ctrl-w l で右の分割に移動
します。次の分割(開いた順)に移動するには Ctrl-w w を押します。
新しいバッファと分割で自由に作業できます。新しいバッファの
分割での作業が終わったら Ctrl-w q で閉じることができます。
Ctrl-w l、Ctrl-w j で右下の分割に移動し、Ctrl-w q でその
分割を閉じます。
現在の分割以外をすべて閉じるには Ctrl-w o を使います。
Ctrl-w nv で 3 番目の垂直分割を開き、Ctrl-w h を 2 回押して
最も左の分割に移動し、Ctrl-w o を押すとこの分割以外がすべて
閉じます。
=================================================================
= CHAPTER 13.3 SPLIT CURRENT BUFFER =
=================================================================
Ctrl-w s で現在のバッファの表示を水平に分割し、Ctrl-w v で
垂直に分割します。どちらの分割にも同じバッファが表示されます。
Ctrl-w o で余分な分割を閉じて単一ウィンドウ表示に戻ります。
=================================================================
= CHAPTER 13.4 USE COMMANDS TO SPLIT =
=================================================================
:vsplit (短縮形 :vs) と :hsplit (短縮形 :hs) コマンドでも
特定のバッファを垂直または水平に分割できます。
例えば次のコマンドを入力します:
:vs something
右側に "something" という名前の新しい垂直分割が開きます。ここでは
"something" は既存のファイルではないため新しいバッファが開きます。
ただし "something" を任意のファイル名に置き換えてそのファイルを
新しいバッファで開くことができます。同様に次のコマンドを入力します:
:hs some_more
下半分に "some_more" という名前の新しいバッファが開きます。
"some_more" を任意のファイルやパスに置き換えて、空の新しい
バッファの代わりにそのファイルやパスを開くことができます。
=================================================================
= CHAPTER 13.5 SWAPPING SPLITS =
=================================================================
:vs hello1 で右に分割を開き、:hs hello2 で下に分割を開きます。
hello2 から Ctrl-w K を押すと上の分割と入れ替わります。これで
hello2 が上に、hello1 が下になります。
hello2 のまま Ctrl-w H を押すと左の分割と入れ替わります。
hello2 が左に、チュートリアルが右上になります。Ctrl-w の後に
HJKL を使って左/下/上/右のバッファと入れ替えができます。
チュートリアルの分割に戻り、Ctrl-w o でこの分割だけを残します。
=================================================================
= CHAPTER 13.6 TRANSPOSE SPLITS =
=================================================================
:vs hello1 で右に分割を開き、:hs hello2 で下に分割を開きます。
チュートリアルの分割に移動し、Ctrl-w t を押すとこのウィンドウ
から開いた垂直分割が転置されます。hello1 と hello2 が
チュートリアルの右側ではなく下側に配置されます。もう一度
Ctrl-w t を押すと元に戻ります。
hello1 の分割に移動し、Ctrl-w t を押すとこのウィンドウから
開いた水平分割が転置されます。hello2 が hello1 の下ではなく
右側に配置されます。Ctrl-w t で元に戻します。
チュートリアルの分割に戻り、Ctrl-w o でチュートリアルの
ウィンドウ以外をすべて閉じます。
=================================================================
= CHAPTER 13.7 OPEN SPLIT FROM FILEPICKER =
=================================================================
ファイルピッカーから直接分割を開くこともできます。Space f で
ファイルピッカーを開きます。テキストを入力するとファジーマッチング
でファイル検索ができ、上下矢印で選択ファイル(> 記号で示される)を
移動できます。ファイルピッカーを閉じるには Escape を押します。
ファイルピッカーで好きなファイルを選択してください。Enter で
現在のビューに開くことができます(今はこの操作はしないでください)。
新しい分割でも開けます。Ctrl-v で選択したファイルを新しい垂直
分割で開きます。もう一度 Space f を押し、任意のファイルを選択し、
Ctrl-s で水平分割に開きます。
チュートリアルの分割に戻り、Ctrl-w o でこの分割以外をすべて
閉じます。
=================================================================
= CHAPTER 13 RECAP =
=================================================================
分割は同じバッファを複数回表示したり、複数のバッファを表示する
ために使えます。主なウィンドウと分割のコマンドにアクセスするには
Ctrl-w を押します。Ctrl-w hjkl で分割間を移動し、Ctrl-w q で
分割を閉じ、Ctrl-w o で現在の分割以外をすべて閉じます。
:vs FILENAME と :hs FILENAME コマンドでも分割を開けます。
ファイルピッカーから直接分割を開くこともできます。Ctrl-v で
選択したファイルを新しい垂直分割に、Ctrl-s で水平分割に
開きます。
=================================================================
このチュートリアルはまだ作成途中です。
さらにセクションが追加される予定です。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment