ビジュアル選択のもう一方の端を調整します


14

これは、選択の現在の終端を「切り替える」機能を提供することにより、vimの視覚的な選択機能がマウスの効率を上回ることができると思います。

イラスト(|カーソルを表す(Vimはそれが上にある文字の左サイドで動作している)とするものと[text]ちょうど彼らがゼロの幅を取るふり、選択したテキストを表します。間のスペースの背景[ ]灰色のルックス、そしてキャラクターすぐ|緑に続く):

皮切りに

Some |text here
Some second line of text
Some more text in the third line 

プレスv2j; m文字が選択に含まれていることに注意してください(現在カーソルで強調表示されています)。

Some [text here
Some second line of text
Some |m]ore text in the third line 

プレス10l

Some [text here
Some second line of text
Some more text |i]n the third line 

この時点で、別の場所から選択を開始したいと思うかもしれません。たとえば、"Some"最初の行に含む。

典型的なエディター/ IDEには選択肢がありません。マウスに手を移動する必要があるでしょう。通常、従来の方法を使用してテキストを選択するのは非常に苦痛Ctrlです。選択を開始する前に、選択の終了ポイントの1つに移動します。

Vimでは、現在の状態を取得し、ミステリーバインディングを使用してこれを実現する機能が必要です。

Some [|text here
Some second line of text
Some more text i]n the third line 

次に、ヒットする^か、<Home>(先頭の空白がないこの場合は両方とも同じように)ヒットすることができます

[|Some text here
Some second line of text
Some more text i]n the third line 

私は私の心を変更すると言う、再び、私はもう一方の端を調整したいです!

[Some text here
Some second line of text
Some more text |i]n the third line 

ヒットe

[Some text here
Some second line of text
Some more text i|n] the third line 

綺麗な!これで、この選択で次に何でもできます。

それでは、この謎のバインディングは何ですか?

また、さらに効率的になる可能性があるのは、キーの別の行への最もよく使用される移動コマンドのいくつかの代替バインディングのセットであり、これらは(ビジュアルモードの場合)選択の反対側を常に移動します。そのため、そのビジュアルモード選択操作で、選択のもう一方の端の移動キーが「yuio」に設定されていた場合(おそらく、私たちが必要とするので良い選択ではありyませんが、ただ我慢してください)

v2j10l5ye

のではなく

v2j10lX^Xe

ねえ、あなたは何を知っている、それはそれほど改善されていません。Xの機能を提供してください。:)

私が探している完璧な答え:

  • ねえ、見上げる :help some_awesome_vim_feature_that_just_does_this
  • ねえ、見て https://github.com/awesome_user/vim_plugin_that_does_this
  • ねえ、見て :help vimscript_functions_that_allow_mutation_of_visual_selections

私はそれがVimscriptに来るとき、私は非常に緑です、と正直に私は学ぶことを試みてから離れて滞在したいと思いますので、Vimはこの魅力にかなり新たなんだまた別なので、うまくいけば、私はこれを構築するために強制されることはありません言語をプラグイン。


はい。今はここで何が起こっているのかわかりません(質問はSOからSUに謎の忍者移動しました)が、最初にSOに投稿したので、そこにとどまることを本当に望んでいます。非プログラマにすべての原因に関しては、唯一のプログラマは、これまで気にしないこれだけのテキスト編集について。もちろん、vimのすべてのユーザーは、これがどのように機能するかを学習することで恩恵を受けることができます。
スティーブンルー

時々読む:help:help visual-modeには、ビジュアルモードに関する必要な情報がすべて含まれていoます。
ロメインル

私は時々それを読みますが、おそらく私の考えを書くのとほぼ同じ時間を要したでしょう。ヘルプ文字列が何であるかを推測するよりも明確なタスクです。
スティーブンルー

学習は推測よりも優れています。ヘプタイトの答えはあなたに2つのことを教えてくれました、それらに名前を付けることができますか?
ロメインル

ええ、学ぶべきことがたくさんありますが、O資本Oが何をするのか忘れていましたが、覚えていますo。あなたが言及している2つ目のことは、おそらく:helpもっと使うことです。そして、私は始めたときよりもそれを使ってきました。
スティーブンルー

回答:


48

私はあなたが何を望んでいるかを実際に理解しているかどうかはわかりませんが、おそらくこれは:

:help v_o

基本的に、テキストは視覚的に強調表示されていますが、を押すoと、変更せずに視覚領域のもう一方の「端」にジャンプします。


2
聖なるがらくた、はい!!! それは私が思っていたよりもさらに良いです、それはすでに単一のキーにバインドされているので、X上記は実際にはo
スティーブンルー

1
また、右クリックのマウス(ターミナルをVimに渡すように構成している場合)を使用すると、現在の視覚的な選択の最も近い端をカーソルの位置に調整することができます。これにより、選択範囲の反対側の位置が捨てられないため、選択領域を調整するための痛みを軽減する方法がはるかに少なくなります。
スティーブンルー

@StevenLu:とにかく捨てられない。oもう一度タップして戻ることができます。
ヘプタイト

@StevenLuこれはおそらくそれだけでなく、あなたの問題を解決したことを考えれば、受け入れ答えである必要があり、upvotesのトンを持っている、...また、私は最初のGoogleの結果に必要な正確に何が起こった、そして実際に誰が提出した唯一の答えであります
キングドン

はい、私はそれを受け入れなかったと思います。なぜなら、それはあまりにも早く投稿されたので、私はまだそれをすることを許可されていなかったからです。そして、私はこのVim機能を5年近く使用してきました。重要なのは、覚えやすいことです。
スティーブンルー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.