テキストを編集しています。行を選択する面倒な方法は、行の先頭に移動して(cmd <-)、行全体を最後まで選択する(Shift cmd->)ことです。もっと上手にできる?
また、行を切り取ってバッファに保存するためのショートカットも歓迎されます。 (cmd D)行をバッファに保存しません。
私はいつも以下を使用します:
cmd - Left arrow
行の先頭に移動しますshift + cmd + right arrow
で線をマークしますcmd - C
(またはcmd - X
)は、マークされた行をクリップボードにコピー(またはカット)します。次に、好きな場所に移動して、cmd - v
で行を貼り付けることができます。
しかし、MacOSはグラフィカルユーザーインターフェイスに強く固定されているため、マウスなしで使用することは可能ですが、場合によっては(あなたの場合のように)、複数のキーを押す必要があります。
テキスト入力を受け入れるほとんどのアプリ(ターミナル、テキストエディット、SafariのURL /検索バーなど)には、標準のキーバインディング(どの標準... ANSI、ASCII?)
control + a:行頭
control + e:行末
そう、 control + shift + a or e あなたの位置に応じてラインを選択します。
また:
control + shift + k:行末までのキル
control + shift + y:ヤンク(バッファから)
ターミナルでbindkey
コマンドを使用して完全なリストを生成できますが、すべてのアプリですべてが機能するわけではありません。
~/Library/KeyBindings/
を作成し、次のようなプロパティリストをDefaultKeyBinding.dict
として保存できます。
{
"~l" = selectParagraph:;
"~z" = (selectParagraph:, delete:);
"~x" = (selectParagraph:, cut:);
"~c" = (selectParagraph:, copy:);
}
たとえば、アプリケーションを再度開いた後、⌥Lはほとんどのネイティブテキストビューで行を選択する必要があります。ただし、Eclipse、ターミナル、またはXcodeでは機能しません。詳細については、 Cocoa Text System の記事または my website を参照してください。
別のオプションは、KeyRemap4MacBookを使用して、このようなものを private.xml として保存することです:
<?xml version="1.0"?>
<root>
<item>
<name>test</name>
<identifier>test</identifier>
<not>TERMINAL</not>
<not>EMACS</not>
<not>VIRTUALMACHINE</not>
<not>Eclipse</not>
<autogen>__KeyToKey__ KeyCode::L, VK_OPTION | ModifierFlag::NONE, KeyCode::A, ModifierFlag::CONTROL_L, KeyCode::E, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L, KeyCode::CURSOR_RIGHT, ModifierFlag::SHIFT_L</autogen>
</item>
<item>
<name>test2</name>
<identifier>test2</identifier>
<only>Eclipse</only>
<autogen>__KeyToKey__ KeyCode::L, VK_OPTION | ModifierFlag::NONE, KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L, KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L, KeyCode::CURSOR_RIGHT, ModifierFlag::SHIFT_L</autogen>
</item>
</root>
ほとんどのアプリケーションでは、⌃Aはラップされていない行の先頭に移動し、⌘←はラップされた行の先頭に移動しますが、⌃AはEclipseでは機能しないようです。
誰もこれに言及していないことに驚いています
Shift + CMD +左矢印(または最初の場合は右矢印)
MacOS over(WIN/Linux)の利点の1つは、ほぼすべてのテキストボックスにグローバルなemacsスタイルのキーバインドがあることです(例外は、これらのキーバインドを煩わしく再定義するMicrosoft Office for Macです...)
この質問に関しては、私は常にC-a
行頭に到達するにはC-S-e
を選択して行末まで選択し、次に 'CMD-c`をコピーして。
多くのリテラル行と交差する行(\ nで終わる)がある場合、通常は次のようにします。
1)C-a
行の先頭に移動します
2)C-n
次のリテラル行の先頭に移動します
3)C-b
1文字戻る
4)C-S-a
行頭まで選択する
5)CMD-c
コンテンツをコピーする
複雑な解決策かもしれませんが、macOSのほとんどのテキストボックスで機能するはずです。
私は ソリューション を見つけましたが、すべてのCocoaアプリで機能しているようです: home & end キーはApple以外のマシンのように動作します(ドキュメント全体ではなく、行の先頭/末尾に移動します)。
ファイル ~/Library/KeyBindings/DefaultKeyBinding.dict
には次のものが含まれている必要があります。
{
/* home */
"\UF729" = "moveToBeginningOfLine:";
"$\UF729" = "moveToBeginningOfLineAndModifySelection:";
/* end */
"\UF72B" = "moveToEndOfLine:";
"$\UF72B" = "moveToEndOfLineAndModifySelection:";
}
ファイルまたはディレクトリが存在しない場合は、上記のコードスニペットを...ペーストボードにコピーし、Terminalを開いて、次の2つのコマンドを入力します。
mkdir ~/Library/KeyBindings
pbpaste > ~/Library/KeyBindings/DefaultKeyBinding.dict
アプリが期待どおりに動作するには、アプリの再起動が必要になる場合があります。
control + shift + aef
(タイプaef ControlキーとShiftキーを押しながら)
これにより、現在の行をトリプルクリックした場合と同じ結果が得られます。
これには、選択の末尾のEOLが含まれることに注意してください。それがあなたの望むものでない場合は、fを省略してください。
ボーナスとして、fの後に、nを繰り返し押して、複数の行を選択します。
XcodeとTextEditでテスト済み。