跳到最后一行,但保持在同一列

rad*_*lan 8 vim cursor

在Vim中,可以使用G(或第一行gg)跳转到最后一行,但该移动也会跳转到第一个非空格字符.

是否有一个键绑定跳转到第一行(或最后一行),但保持在同一列?

tim*_*mss 15

那就是set nostartofline.有了它,gg并且G如果可能的话就会保留列等j.

来自:h startofline:

                           'startofline' 'sol' 'nostartofline' 'nosol'
'startofline' 'sol'     boolean (default on)
                        global
                        {not in Vi}
        When "on" the commands listed below move the cursor to the first
        non-blank of the line.  When off the cursor is kept in the same column
        (if possible).  This applies to the commands: CTRL-D, CTRL-U, CTRL-B,
        CTRL-F, "G", "H", "M", "L", gg, and to the commands "d", "<<" and ">>"
        with a linewise operator, with "%" with a count and to buffer changing
        commands (CTRL-^, :bnext, :bNext, etc.).  [..]
Run Code Online (Sandbox Code Playgroud)