web-dev-qa-db-ja.com

崇高なテキスト2-行の終わりまで列を選択

キーボードショートカットで列を選択し、各行の終わりまで選択範囲を拡張する方法はありますか?

現在、カーソルが行の終わりに達すると、次の行の先頭にジャンプします。

マウスを使用せずにこの動作を回避するにはどうすればよいですか?

20
alexy2k

私があなたの質問を正しく理解した場合、次のキー(OS Xキーバインドの例)でそれを行うことができます:

  1. 複数行の列を選択するには、Ctrl + Shift + UpまたはCtrl + Shift + Down。
  2. Cmd + Shift +右(他のOSではShift + End)を使用して、選択範囲を各行の終わりまで拡張します。

すべてのOSに関連するキーバインディング: http://www.sublimetext.com/docs/2/column_selection.html

30
José Luis

すべての行にカーソルを置く方法を検索していたため、EOF(ファイルの終わり)を使用せずにこの答えに行きました ctrl+alt+/ (数十行を超える場合は実用的ではありません)ので、これらの行の特定の部分をトリミングまたは選択できます。

だから私は最終的に 崇高なテキストドキュメント に行き着きました:

  • ctrl+shift+L 選択したすべての行とその行の最後にカーソルを配置します(EOL):
    • これらの行を選択します ctrl+L (または ctrl+shift+End EOFまで選択する);
    • 押す ctrl+shift+L EOLにカーソルを追加します。
    • 今、あなたは言葉ですべてのカーソルを同時に動かすことができます ctrl+/ またはBOL/EOLに Home/End)、も押した場合 shift それらを移動しながら選択します。
  • しかし、最も有用な機能は間違いなくマウスの中央クリック+ドラッグで、行を選択し、同時にそれらの選択の最後にカーソルを配置します:
    • ボーナス:カーソルを(選択せずに)EOLに配置したい場合は、(EOLの後の)背景をクリックしてドラッグしてください! (線が長すぎる場合は、ミニマップを使用してビュー画面を最長の線に配置できます)。
    • 今、あなたは言葉ですべてのカーソルを同時に動かすことができます ctrl+/ またはBOLに Home)、も押した場合 shift それらを移動しながら選択します。
7
Armfoot

次の手順でも同じ結果が得られます。

  1. shift +上/下で行を選択
  2. 選択範囲を(選択範囲の)行に分割:Cmd + Shift + L
3
Jason
import sublime, sublime_plugin

class SelectToEndoflineCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        caretPos = self.view.sel()[0].begin()
        self.view.sel().add(sublime.Region(caretPos, self.view.line(caretPos).end()))

class SelectToBegoflineCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        caretPos = self.view.sel()[0].begin()
        self.view.sel().add(sublime.Region(caretPos, self.view.line(caretPos).begin()))
2
robertcollier4

robertcollier4の答えは私のための質問を解決しました。なんらかの理由で、Super + Shift + RightのデフォルトのOSXキーバインドがSublime Text 3で上書きされ、ユーザーキーバインドで適切にバインド解除する方法がありません。

ロバートのコードをプラグインとして追加するには、Tools > New Pluginに移動し、コードを貼り付けて保存し、キーマッピングに参照を追加します。

[
    { "keys": ["super+shift+right"], "command": "SelectToEndoflineCommand" }
]

私がそれに加えた唯一の変更は、変更することでした

caretPos = self.view.sel()[0].begin()

caretPos = self.view.sel()[0].end()

eOL関数の場合、それ以外の場合、複数行の選択では正しく機能しません。

2
Bart