17911


表題通りなんですが、vimでカーソル位置を維持しつつ最終行へ移動するにはどうすればよいでしょうか？  
以下のような場面で使いたいのです。

例えばTSVファイルで2015/10/22の2に移動してから、CTRL-
Vで短形ヴィジュアル選択し、Gで最終行へ移動します。で、2の位置まで移動してからrキーで一文字変更しています。  
例えばgGと入力すると、カーソル位置が維持されて移動の必要がなければ便利なんですが・・・  
上記はあくまで例なので、置換すればいいんじゃない？等の回答もあるかと思いますが、  
あくまで、かーする位置を維持しつつ最終行へ移動する方法が知りたいです。

わかりにくい説明かと思いますが、  
よろしくおねがいします。


CC BY-SA 3.0
2015-10-21T15:16:44.133
17908
2015-10-22T12:31:15.363
12888
question
vim
vimでカーソル位置を維持しつつ最終行へ移動


vimrc に、

[code]

    set nostartofline
    
[/code]

と書いてみてください。詳しくは `:help 'startofline'` を参照してください。


CC BY-SA 3.0
2015-10-21T15:24:29.240
17911
2015-10-21T15:24:29.240
2541
17908
answer


thincaさんの回答がBestだと思います。  
一応、デフォルト(`set startofline`)の場合の方法も紹介しますね。

[code]

    <C-V>GOm`O``
    
[/code]

`<C-V>` 矩形ビジュアルモード開始 (`:h ctrl-v`)  
`G` 最終行の最初の非空白文字に移動 (`:h G`)  
`O` 同じ行内のビジュアル選択されたもう一方の隅(右)に移動 (`:h v_O`)  
`m`` カーソル位置を直前位置マークにセット (`:h m``)  
`O` 同じ行内のビジュアル選択されたもう一方の隅(左)に移動  
```` ビジュアル選択左隅を`m``がおこなわれた位置（== ビジュアル選択右隅の位置）にセット (`:h ```)


CC BY-SA 3.0
2015-10-22T02:35:18.777
17920
2015-10-22T02:35:18.777
2687
17908
answer


「`<C-V>9999j`でいいのでは？」という私のボケに対するツッコミを待っていたのだけど誰からも入らなかったので自分で書いときます。


CC BY-SA 3.0
2015-10-22T12:31:15.363
17959
2015-10-22T12:31:15.363
2687
17908
answer