# Best way to select a screen of lines at a time?

**URL:** <https://discuss.kakoune.com/t/best-way-to-select-a-screen-of-lines-at-a-time/2721>\
**Category:** Uncategorized\
**Created:** [July 5, 2025, 5:15pm UTC](https://discuss.kakoune.com/t/best-way-to-select-a-screen-of-lines-at-a-time/2721 "2025-07-05T17:15:55Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![GavinSmith0123](https://discuss.kakoune.com/user_avatar/discuss.kakoune.com/gavinsmith0123/32/1112_2.png) [@GavinSmith0123](https://discuss.kakoune.com/u/GavinSmith0123)\
**Post date:** [July 5, 2025, 5:15pm UTC](https://discuss.kakoune.com/t/best-way-to-select-a-screen-of-lines-at-a-time/2721/1 "2025-07-05T17:15:55Z")

</div>

`C-f` and `PageDown` move the cursor down a page. However there seems to be no equivalent to select many lines at a time. `Shift-PageDown` does not work and `Shift-C-f` cannot work because this sends the same byte sequence as `C-f` on a terminal.

The best I’ve been able to come up with is to use a numeric argument to a command like `J`, so:

```
map global normal <c-x> 20J

```

---

<div class="post-metadata">

**Author:** ![alexherbo2](https://discuss.kakoune.com/user_avatar/discuss.kakoune.com/alexherbo2/32/1140_2.png) [@alexherbo2](https://discuss.kakoune.com/u/alexherbo2)\
**Post date:** [July 6, 2025, 8:34am UTC](https://discuss.kakoune.com/t/best-way-to-select-a-screen-of-lines-at-a-time/2721/2 "2025-07-06T08:34:20Z")

</div>

```auto
map global normal <c-x> "Z,""aZ<c-f>""a<a-z>u<a-z>a"

```

---

<div class="post-metadata">

**Author:** ![GavinSmith0123](https://discuss.kakoune.com/user_avatar/discuss.kakoune.com/gavinsmith0123/32/1112_2.png) [@GavinSmith0123](https://discuss.kakoune.com/u/GavinSmith0123)\
**Post date:** [July 6, 2025, 12:27pm UTC](https://discuss.kakoune.com/t/best-way-to-select-a-screen-of-lines-at-a-time/2721/3 "2025-07-06T12:27:01Z")

</div>

Thanks it would take me some time to work out how that works. It works. I see it is doing something with registers and the `<a-z>` command which can be used to combine selections.

---

<div class="post-metadata">

**Author:** ![alexherbo2](https://discuss.kakoune.com/user_avatar/discuss.kakoune.com/alexherbo2/32/1140_2.png) [@alexherbo2](https://discuss.kakoune.com/u/alexherbo2)\
**Post date:** [July 6, 2025, 3:18pm UTC](https://discuss.kakoune.com/t/best-way-to-select-a-screen-of-lines-at-a-time/2721/4 "2025-07-06T15:18:37Z")

</div>

Actually it can be simplified as:

```auto
map global normal <c-x> "Z<c-f><a-z>u"

```

but I’m not sure it will always work.
