Option + iTermをクリック


16

ターミナルでは、Optionキーを押しながらクリックすると、現在の行の任意のポイントにカーソルを置くことができます。非常に長いコマンドの編集に最適です。

iTerm2でこれを行うにはどうすればよいですか?

更新:このページによると、この機能は0.7.0(2003)以来です。また、Command + Optionを押したままにすると、カーソルがターミナルのようなおなじみの十字に変わりますが、クリックしてもカーソルの位置が変わりません。


私はソースコードを見て、はい、機能は(iTerm2ではなく)iTermの0.7.0にありました。しかし、トランク内で(ファイルPTYSession.m内で)コメントアウトされています(おそらく以前のバージョンも)。そして、iTerm2では、関数はまだ存在しますが空なので、何もしません。
ボアトム

回答:


6

私はそれを実装するのが「どれだけ難しいか(c)」と思っていて、今日それを試してみました。

Terminal.appは「カーソルを左右に移動」するESCシーケンスをエミュレートしているようです。シェルプロンプトにカーソルを置こうとすると、有名な「ビープ音」が聞こえます。そして、あなたは無効な動きがあると何度もそれを聞くでしょう。

iTerm2のソリューションは、適切なESCシーケンスを呼び出すことで同じように機能します。無効な領域にカーソルを置こうとするとビープ音が1回だけ鳴りますが;)

Terminal.appは複数行のプロンプトを処理できないようで、最後の行に移動するだけで機能するようです。この実装での複数行プロンプトは正しく処理される必要があります。

結果はgithubで見つけることができます。保留中のプルリクエストを含む元のフォークです。私が取り組んでいるブランチは「option-click-hardcoded」という名前です。

そしてもちろん、非常にテストされていません。つまり、Mac OS X 10.7.3を実行している2007年後半のMacBook Proでのみ私がテストしたということです。

自分でコンパイルして試してみるか、i386 / x86_64 / ppc iTerm_v1.0.0.git-085ec22c.zipのプリコンパイル済みバイナリをダウンロードしてください。


うわー、素晴らしいもの!事前にコンパイルされたバイナリはこれまでのところうまくいくように見えますが、それに注意を払っています。どうもありがとう!
ジェフ

404が見つかりません...
aeroxy

1
@aeroxyさん、その変更はずっと前に上流のiTerm(github.com/gnachman/iTerm2/pull/77)にマージされました。少し前に、フォークが存在していたのでそれを削除しました。
ボアトム

@boretom私のiterm2 3.1.5.beta.1にはまだ同様の問題があるようです。Options-Clickを実行すると、最後のコマンドに移動します(上矢印)。apple.stackexchange.com/questions/305554/...
aeroxy

@aeroxyは、MacOS 10.12.6の3.1.5.beta2で優れた動作をする場合、[設定]> [ポインタ]で[オプトクリックでカーソルを移動]をオンにします。カーソルを現在の行に配置することがすべてです。それはあなたが達成しようとしていることですか?
ボアトム

2

iTerm 2はiTermの新しいバージョンではありません-同じソースコードに基づいていますが、内部で大きな変更があります。削除または破損したものの1つ(開発者の意図とは言い難い)は、カーソルの配置でした。

この省略に気づいたのはあなただけではありません。2011年4月からバグとして報告されており、引き続き注目を集めています。(GitHubでフォークするか、別のアプリケーションに切り替える以外に)この機能を使用するための最適なオプションは、上記のGoogle Codeサイトでコメントを送信することです。十分な関心があれば、この機能が製品に組み込まれることを願っています。




1

iterm2の最新バージョン(ビルド2.9.20150812-nightlyを使用しています)にはこの機能がありますが、複数行で機能するには、https://gitlab.com/gnachman/で説明されているようにシェル統合を有効にする必要がありますiterm2 / issues / 3638

最新のiTermをインストールするには、brewを使用して次を実行します。

brew tap caskroom/versions && brew cask install iterm2-nightly


1

私の答えはiTerm2で2019年にテストされています。

[設定]> [プロファイル]に移動し、目的のプロファイルを選択し(デフォルトにすることができます。各プロファイルでこれを繰り返す必要があります)、[キー]タブを選択し、左および右オプション(alt)キーの動作を変更しますEsc +

ここに画像の説明を入力してください

これは実際に彼らのFAQにあります:

Q:option / altキーをMetaのように動作させるか、エスケープコードを送信するにはどうすればよいですか?A:[設定]> [プロファイル]タブに移動します。左側でプロファイルを選択し、[キーボード]タブを開きます。下部には、Optionキーの動作を選択できる一連のボタンがあります。ほとんどのユーザーにとって、Esc +が最良の選択です。

ボーナス

Option(Alt)+クリックについて質問している場合、Option(Alt)+ Backspaceも機能させたいと思います。

同じUI(キーパネル)で、[プリセットの読み込み]ボタンをクリックし、[自然なテキスト編集]を選択します。プリセットごとにこれを繰り返します。

これで、Option +クリックとOption + backspaceの両方が機能するようになります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.