WindowsとLinuxでは、常にctrl+ ←またはctrl+ →を押して、ターミナルの左または右の単語をスキップできました。テキストエディタでは、⌥+ ←/は→機能しているように見えますが、端末にサイコロはありません。Googleを検索したところ、仕事を主張する⌥+ B/ を行うWikipediaページ以外は何も見つかりませんでしたFが、butとƒの文字を端末に印刷するだけです(またはを保持している場合はıとÏ ⇧)。何か案は?
WindowsとLinuxでは、常にctrl+ ←またはctrl+ →を押して、ターミナルの左または右の単語をスキップできました。テキストエディタでは、⌥+ ←/は→機能しているように見えますが、端末にサイコロはありません。Googleを検索したところ、仕事を主張する⌥+ B/ を行うWikipediaページ以外は何も見つかりませんでしたFが、butとƒの文字を端末に印刷するだけです(またはを保持している場合はıとÏ ⇧)。何か案は?
回答:
⌥キーを使用できますが、「メタ」キーとして使用するオプションを選択する必要があります。
これを行うと、⌥+ Fと⌥+ Bは期待どおりに機能します。
これも夢中になりましたが、Terminalを使用しないのでTerminal固有の修正は必要ありません。また、OSXボックスにSSHで接続できるようにするためには正しいキーバインドも使用する必要がありました。
また、個人的には、⌥前述のようにキーについては気にしませんでした。Linuxで慣れているctrl+ ←/の→組み合わせを維持したかった。
この問題を解決するために、次のものをmyに追加しました~/.profile
。
bind '"\e[5C": forward-word'
bind '"\e[5D": backward-word'
bind '"\e[1;5C": forward-word'
bind '"\e[1;5D": backward-word'
最初の2つはターミナルの bashに適用されることに注意してください。最後の2つは、iTerm2および着信ssh接続のbashに適用されます。キーボードエミュレーションが異なる理由を聞かないでください;)
記録については、このstackoverflowの答えのヒントのおかげで、実際にキーコードが何であるかを見つけることができました:cat > /dev/null
キーの組み合わせ中に送信された正確なキーコードを監視するために実行できます。
(私にとっては、実行cat > /dev/null
してctrl+ を押す←と生成され^[[1;5D
ます。正確なキーコードは異なる場合がありますが、最初のコードは、サンプルコードに示すようにとして^[
表され\e
ます。)
ところで、すべてのアクティブなbashキーバインドを表示するには、を実行しbind -p
ます。
xxd
キーボード入力を調べるのに使うのが好きです。入力すると文字が表示され、xxd
returnを入力すると16進数で値が出力されます。
viの使用方法がわかっている場合は、コマンドラインset -o vi
で、.bash_profile
またはいつでもコマンドラインを使用してvi行編集モードをオンにすることもできます。その後、viコマンドと挿入モードを切り替えることができます。したがって、エスケープを押してから、viコマンドを使用して行をナビゲートできます。
0 = move to beginning of line
$ = move to end of line
w = move forward one word
b = move backward one word
正しい位置に到達したら、他のviコマンドを使用して挿入モードまたは追加モードを開始したり、文字を1つずつ削除したりできます。
ESC ^
必要なときは素晴らしいことです。まったく別のことをしたいときだけ迷惑です:)