add 0/$ for sol/eol motions
This commit is contained in:
parent
05f745d3f2
commit
56f7fa7127
@ -62,6 +62,8 @@ public:
|
||||
FORWARD_ON_TO_CHAR,
|
||||
BACK_UP_TO_CHAR,
|
||||
BACK_ON_TO_CHAR,
|
||||
START_OF_LINE,
|
||||
END_OF_LINE,
|
||||
|
||||
/* These motions aren't command-mode sequences but are used
|
||||
* internally. */
|
||||
|
@ -13,6 +13,8 @@ void DefaultCommandMap::build()
|
||||
motion_map->add("f", Command::Motion::FORWARD_ON_TO_CHAR, nullptr, true);
|
||||
motion_map->add("T", Command::Motion::BACK_UP_TO_CHAR, nullptr, true);
|
||||
motion_map->add("F", Command::Motion::BACK_ON_TO_CHAR, nullptr, true);
|
||||
motion_map->add("0", Command::Motion::START_OF_LINE, nullptr, false);
|
||||
motion_map->add("$", Command::Motion::END_OF_LINE, nullptr, false);
|
||||
|
||||
dcm->add("$", Command::GO_END_OF_LINE, nullptr, false);
|
||||
dcm->add("0", Command::GO_START_OF_LINE, nullptr, false);
|
||||
|
@ -494,8 +494,8 @@ void BufferPane::change_motion(const Command::Unit & motion)
|
||||
if (range)
|
||||
{
|
||||
m_buffer->push_operation();
|
||||
m_buffer->erase_range(*range);
|
||||
enter_insert_mode(Window::EnterInsertModeMode::START_OF_CHAR);
|
||||
m_buffer->erase_range(*range);
|
||||
m_buffer->pop_operation();
|
||||
m_buffer_view->update();
|
||||
}
|
||||
@ -543,6 +543,14 @@ std::shared_ptr<Buffer::Range> BufferPane::get_range_for_motion(const Command::U
|
||||
}
|
||||
break;
|
||||
|
||||
case Command::Motion::START_OF_LINE:
|
||||
start->go_start_of_line();
|
||||
break;
|
||||
|
||||
case Command::Motion::END_OF_LINE:
|
||||
end->go_end_of_line(true);
|
||||
break;
|
||||
|
||||
case Command::Motion::THIS_LINE:
|
||||
start->go_start_of_line();
|
||||
end->go_end_of_line(!will_insert);
|
||||
|
Loading…
x
Reference in New Issue
Block a user