original
https://github.com/helix-editor/helix/blob/master/runtime/tutor
原文のキー表記・コマンドはそのまま残し、説明文のみ日本語に訳しています。
j キーを押し続けて、導入(INTRODUCTION)まで移動してください。
Helix エディタへようこそ!Helix は、あなたが慣れているかもしれない他のエディタとは違い モーダルです。つまり、テキスト編集のために複数のモードを使い分けます。主に使うモードは Normal モード と Insert モード です。
Normal モードでは、あなたが押したキーは文字を入力しません。代わりに、テキストに対する様々な操作を実行します。これにより、より効率的に編集できます。
このチュートリアルでは、Helix のモーダル編集機能をどのように活用できるかを教えます。始める前に、CapsLock がオンになっていないことを確認し、j キーを押し続けて最初のレッスンまで進んでください。
↑
k * h は左
← h l → * l は右 j * j は下矢印みたいな形 ↓
カーソルは上のように h, j, k, l キーで移動できます。カーソルキー(矢印キー)も使えますが、hjkl の方が他の操作キーに近いので速く操作できます。hjkl で動かして感覚をつかんでください。
準備ができたら、j を押し続けて次のレッスンへ進んでください。
- : を入力して Command モードに入ります。カーソルが画面下部へ移動します。
- q または quit を入力し、Enter を押して Helix を終了します。
注意: 未保存の変更がある場合、quit コマンドは失敗します。
変更を破棄して強制終了したい場合は q! または quit! を入力してください。保存方法は後で学びます。
Command モードを抜けたい(コマンドを実行せずに戻りたい)場合は Escape を押してください。
d キーで、カーソル下の文字を削除できます。
- 下の「-->」が付いた行へカーソルを移動します。
- 余計な文字の位置へ移動し、d を押して削除します。
--> Thhiss senttencee haass exxtra charracterss.
This sentence has extra characters.
文が正しくなったら次へ進んでください。
i キーで Insert モードに入ります。
- 下の「-->」の行へ移動します。
- 文中で文字が足りない箇所へ移動し、i で Insert モードに入ります。以後、入力したキーは文字として挿入されます。
- 足りない文字を入力します。
- Escape を押して Insert モードを終了し、Normal モードへ戻ります。
- 下の行と一致するまで繰り返します。
--> Th stce misg so.
This sentence is missing some text.
注意: ステータスバーに現在のモードが表示されます。
i を押すと NOR が INS に変わることに注目してください。
:w / :write でファイルを保存します。
- 先ほどの説明どおり :q! で Helix を終了するか、新しくターミナルを開きます。
hx FILENAMEを実行してファイルを Helix で開きます。- ファイルを編集します。
- : を入力して Command モードへ入ります。
- w または write と入力し、Enter を押して保存します。
wq または write-quit と入力すれば、保存して終了できます。
注意: w / write の後ろにパスを付けると、そのパスに保存できます。
注意: 未保存の変更があると、ステータスバーのファイル名の横に + [ ] が表示されます。
- h,j,k,l でカーソル移動。
- : で Command モードへ。
- q / quit と q! / quit! で終了(前者は未保存変更があると失敗、後者は破棄して終了)。
- w / write で保存。
- wq / write-quit で保存して終了。
- d でカーソル位置(選択)を削除。
- i で Insert モードに入り文字入力。Escape で Normal モードへ戻る。
i はカーソル位置で Insert モードへ入りますが、他にも別の位置で Insert モードへ入る方法があります。
代表的な挿入コマンド:
- i - 選択の前に挿入
- a - 選択の後に挿入(a は append の意)
- I - 行頭で挿入
- A - 行末で挿入
- 下の「-->」行のどこかへ移動します。
- A(Shift-a)を押します。カーソルが行末へ移動し、入力できるようになります。
- 下の行と一致するように必要な文字を入力します。
--> This sentence is miss
This sentence is missing some text.
- o でカーソル行の下に改行を追加して Insert
- O でカーソル行の上に改行を追加して Insert
- 下の「-->」行へ移動します。
- o を押して下に行を開き、あなたの答えを入力してください。
--> What is the best editor?
- a で選択の後に追記。
- I で(行頭の空白を飛ばした)行頭から Insert。
- A で行末から Insert。
- o / O で下/上に行を開く。
w を押すと、次の単語の先頭まで前方へ「選択しながら」進みます。
d は「カーソル下の1文字」を削除するキーではなく、選択されているテキスト全体を削除します。カーソルは「1文字だけ選択されている状態」だと思ってください。
- 下の「-->」行へ移動します。
- 削除したい余計な単語の先頭へ移動します。
- w を押して次の単語の先頭まで選択します。
- d を押して選択範囲を削除します。
- 行内の余計な単語が全部なくなるまで繰り返します。
--> This sentence pencil has vacuum extra words in the it.
This sentence has extra words in it.
よく使うモーション:
- w - 次の単語の先頭の手前まで前進
- e - 現在の単語の末尾まで前進
- b - 現在の単語の先頭まで後退
カーソル下の単語を選択したい場合は、e と b を組み合わせます。
- 下の「-->」行へ移動します。
- 'd' の文字の上にカーソルを移動します。
- e を押して単語の半分を選択します。
- b を押して残りを選択します。
--> The Middle Kingdom.
大文字版の W,E,B は words ではなく WORDS を移動します。
WORDS は空白だけで区切られる一方、words は空白に加えて記号などでも区切られます。
手順:
- 「-->」行の先頭へ移動します。
- w を何度も押して単語ごとに末尾まで進みます。
one-of-a-kindは 7 回、"modal"は 3 回必要だったことに注目。- 行頭へ戻ります。
- 今度は W を何度も押して WORDS ごとに進みます。
one-of-a-kindと"modal"が 1 回ずつで進めることに注目。
--> Helix is a one-of-a-kind "modal" text editor
c は「選択を削除して Insert モードに入る」コマンドで、非常によく使います(di のショートカット)。
--> This paper has heavy words behind it.
This sentence has incorrect words in it.
数字 + モーションで繰り返し回数を指定できます。
--> This is just a line with words you can move around in.
- v で Select モード
- もう一度 v または Escape で Normal へ
- Select では移動が「選択の拡張」になる
--> Remove the FOO BAR distracting words BAZ BIZ from this line.
- x で行全体を選択
- もう一度 x で次の行も選択
--> 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 は無効です。
; で選択を単一カーソルに戻せます。
Alt-; は選択方向(カーソルとアンカー)を反転します。
--> This is an error-free line with words to move around in.
- w/e/b(W/E/B)で単語(WORDS)単位の選択移動
- d で選択削除、c で削除して Insert
- 数字 + モーションで回数指定
- v で Select(拡張選択)
- x で行選択
- ; で折りたたみ
- u で undo
- U で redo
--> Fiix the errors on thhis line and reeplace them witth undo.
- y yank(コピー)
- p 後に貼る / P 前に貼る
--> 1 banana 2 3 4
1 banana 2 banana 3 banana 4
注意: 変更/削除は自動でコピーされます。避けたい場合は Alt-d / Alt-c。
注意: システムクリップボードは Space + y / p。
- / 前方検索(Enter で確定)
- n 次 / N 前
- ? 後方検索(ただし Vim と違い方向は固定:N は後ろ、n は前)
- u / U で undo / redo
- y / p / P、システムは Space + y / p
- / / ? と n / N
- C 次の適切な行へカーソル複製
- Alt-C 上方向
- , でカーソル削除
--> Fix th two nes at same ime.
-->
--> Fix th two nes at same ime.
Fix these two lines at the same time.
s で選択範囲内の一致をすべて選択(正規表現対応)。
--> I like to eat apples since my favorite fruit is apples.
I like to eat oranges since my favorite fruit is oranges.
例: +(連続スペース2個以上)を選択して単一スペースへ。
--> This sentence has some extra spaces.
This sentence has some extra spaces.
注意: 置換は select を使うのが基本。% で全ファイル選択も可能。
& で選択の head 側を揃える。
--> 97) lorem
--> 98) ipsum
--> 99) dolor
--> 100) sit
--> 101) amet
Alt-s で改行で分割し、& で整列。
| FRUIT | AMOUNT |
|---|
| Apples | 8 |
| Bananas | 6 |
| Oranges | 3 |
| Donuts | 4 |
- C / Alt-C / ,
- s(正規表現)
- & 整列
- Alt-s 行分割
- f その文字まで(含む)
- t その文字の手前まで
- F / T は後方
--> -----[Free this sentence of its brackets!]-----
--> ------Free this sentence of its dashes!------
注意: 行内限定ではなくファイル内で探索します。
r で選択中の文字を一括置換。
| Month | Days |
|=======|------|
| Jan | 31 |
| Feb | 28 |
| Mar | 31 |
| ... | ... |
- . 直前の insert 系を繰り返す
- Alt-. 直前の f/t 選択を繰り返す
- f/t(F/T)
- r
- . / Alt-.
R で選択を yank した内容に置換。
J で選択行を結合。
> / < でインデント/逆インデント。
Ctrl-a 増やす / Ctrl-x 減らす。
- R / J / > < / Ctrl-a Ctrl-x
" でレジスタ選択。yank/検索/マクロなどを格納。
- Q 記録開始/停止(デフォルトは @)
- q 再生(@ もしくは選択中レジスタ)
- " でレジスタ
- Q / q でマクロ
直近検索はレジスタ /。
* で選択を検索語に設定(/ レジスタにコピー)。
Select モード(v)中の n / N は「一致ごとに選択を追加」。
- Ctrl-s 位置を保存
- Ctrl-i / Ctrl-o で前後移動
gw でラベル表示、2文字入力でジャンプ、ESC で解除。
- * / nN(Select中は追加)
- Ctrl-s / Ctrl-i / Ctrl-o
- gw
- ) / ( で primary 選択を循環
- Alt-, で primary を削除
- Alt-) / Alt-( で各選択に入る内容を循環
- ~ 反転
- ` 小文字
- Alt-` 大文字
S で正規表現で分割。
- ) / ( / Alt-, / Alt-) / Alt-(
- **~ /
/ Alt-** - S
Ctrl-c でコメント/アンコメント。
選択や複数カーソルを作ってから Ctrl-c。
- Ctrl-c(単行/複数行)
m で match モード、mm で対応ペアへ。
mi( などで内側(区切りを除く)を選択。
ma( などで外側(区切り込み)を選択。
ms( などで選択を囲む。
md( などで囲みを削除。
mr([ などで囲みを置換(例:() → [])。
- m で match
- mm / mi / ma / ms / md / mr
Ctrl-w で Window メニュー。
- Ctrl-w nv 縦分割で新規空バッファ(右)
- Ctrl-w ns 横分割で新規空バッファ(下)
- Ctrl-w hjkl で移動
- Ctrl-w w 次の分割へ
- Ctrl-w q 閉じる
- Ctrl-w o 現在以外を閉じる
- Ctrl-w s 横分割
- Ctrl-w v 縦分割
- Ctrl-w o で戻す
- :vs FILENAME(:vsplit)
- :hs FILENAME(:hsplit)
- Ctrl-w K 上と入れ替え
- Ctrl-w H/J/K/L で方向へ入れ替え
Ctrl-w t で転置(縦⇔横の配置を入れ替える)。
- space f でファイルピッカー
- Ctrl-v 選択ファイルを縦分割で開く
- Ctrl-s 選択ファイルを横分割で開く
- 最後に Ctrl-w o でチュートリアル以外を閉じる
split は同一バッファの複数表示や複数バッファ同時表示に使えます。主要操作は Ctrl-w。
- 移動: Ctrl-w hjkl
- 閉じる: Ctrl-w q
- 1枚にする: Ctrl-w o
- コマンド: :vs / :hs
- ピッカー: Ctrl-v / Ctrl-s
このチュートリアルはまだ作業中です。今後さらにセクションが追加される予定です。