Use S for regex splitting, and alt-s for line splitting
This commit is contained in:
parent
5f446d9aec
commit
5c74f98757
|
@ -137,9 +137,15 @@ select the paragraph with enough _x_. press _s_ and enter roger then enter.
|
||||||
now paragraph selection was replaced with multiselection of each roger in
|
now paragraph selection was replaced with multiselection of each roger in
|
||||||
the paragraph. press _c_ and marcel<esc> to replace rogers with marcels.
|
the paragraph. press _c_ and marcel<esc> to replace rogers with marcels.
|
||||||
|
|
||||||
A multiselection can also be obtained with _Alt-s_, which splits the current
|
A multiselection can also be obtained with _S_, which splits the current
|
||||||
selection according to the regex entered. To split a comma separated list,
|
selection according to the regex entered. To split a comma separated list,
|
||||||
use _alt-s_ then ', *'
|
use _S_ then ', *'
|
||||||
|
|
||||||
|
_s_ and _S_ share the search pattern with _/_, and hence entering an empty
|
||||||
|
pattern uses the last one.
|
||||||
|
|
||||||
|
As a convenience, _alt-s_ allows you to split the current selections on
|
||||||
|
line boundaries.
|
||||||
|
|
||||||
To clear multiple selections, use _space_. To keep only the nth selection
|
To clear multiple selections, use _space_. To keep only the nth selection
|
||||||
use _n_ followed by _space_, to remove only the nth selection, use _n_
|
use _n_ followed by _space_, to remove only the nth selection, use _n_
|
||||||
|
|
|
@ -300,6 +300,11 @@ void do_split_regex(Context& context)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void do_split_lines(Context& context)
|
||||||
|
{
|
||||||
|
context.editor().multi_select(std::bind(split_selection, _1, "^"));
|
||||||
|
}
|
||||||
|
|
||||||
void do_join(Context& context)
|
void do_join(Context& context)
|
||||||
{
|
{
|
||||||
Editor& editor = context.editor();
|
Editor& editor = context.editor();
|
||||||
|
@ -588,6 +593,8 @@ std::unordered_map<Key, std::function<void (Context& context)>> keymap =
|
||||||
{ { Key::Modifiers::Alt, 'p' }, do_paste<InsertMode::Replace> },
|
{ { Key::Modifiers::Alt, 'p' }, do_paste<InsertMode::Replace> },
|
||||||
|
|
||||||
{ { Key::Modifiers::None, 's' }, do_select_regex },
|
{ { Key::Modifiers::None, 's' }, do_select_regex },
|
||||||
|
{ { Key::Modifiers::None, 'S' }, do_split_regex },
|
||||||
|
{ { Key::Modifiers::Alt, 's' }, do_split_lines },
|
||||||
|
|
||||||
{ { Key::Modifiers::None, '.' }, do_repeat_insert },
|
{ { Key::Modifiers::None, '.' }, do_repeat_insert },
|
||||||
|
|
||||||
|
@ -641,8 +648,6 @@ std::unordered_map<Key, std::function<void (Context& context)>> keymap =
|
||||||
{ { Key::Modifiers::Alt, 'h' }, repeated(select<SelectMode::Replace>(select_to_eol_reverse)) },
|
{ { Key::Modifiers::Alt, 'h' }, repeated(select<SelectMode::Replace>(select_to_eol_reverse)) },
|
||||||
{ { Key::Modifiers::Alt, 'H' }, repeated(select<SelectMode::Extend>(select_to_eol_reverse)) },
|
{ { Key::Modifiers::Alt, 'H' }, repeated(select<SelectMode::Extend>(select_to_eol_reverse)) },
|
||||||
|
|
||||||
{ { Key::Modifiers::Alt, 's' }, do_split_regex },
|
|
||||||
|
|
||||||
{ { Key::Modifiers::Alt, 'j' }, do_join },
|
{ { Key::Modifiers::Alt, 'j' }, do_join },
|
||||||
|
|
||||||
{ { Key::Modifiers::None, '<' }, do_deindent },
|
{ { Key::Modifiers::None, '<' }, do_deindent },
|
||||||
|
|
Loading…
Reference in New Issue
Block a user