私は最近フィルター!技術に気づいていて、それが大好きです。残念ながら、ビジュアルブロックモードでは使用できません。ここの専門家が私を助けてくれることを願っています。
基本的に、下の3番目の列(MWEのみ)などの列をインプレースで並べ替えたいです。また、並べ替えの際に他の列に影響を与えたくありません。
ユーティリティ!をsort使用して、視覚的に(ブロックモードで)選択した3番目の列をフィルター()しようとしました。しかし、ソートはむしろ選択範囲を超えています。つまり、選択だけでなく、すべての行が入れ替えられ、最初の列に基づいてソートされます。
1.  LARGEST         40
2.  SECOND-LARGEST  168     
3.  MID             2.8     
4.  MID             540     
5.  MID             14.84   
6.  MID             40      
7.  SECOND-LEAST    64      
8.  LEAST           8
私はビジュアルブロックを使用して最後の列を選択し、次のよう!sort --reverseに表示されると言いました
'<,'>!sort --reverse
そして、その結果は私が期待したものとは正反対です。結果には、1つの列だけでなく、行全体が並べ替え/入れ替えられています。これも、3番目の列の選択に関係なく、最初の列に基づいています。
 8.  LEAST           8    
 7.  SECOND-LEAST    64      
 6.  MID             40      
 5.  MID             14.84   
 4.  MID             540     
 3.  MID             2.8     
 2.  SECOND-LARGEST  168     
 1.  LARGEST         40   
そうでなければ不可能でない限り、sed/ などの比較的高度なツールではなく、純粋なvim + sortソリューションが欲しいawkです。言うまでもなく、ビジュアルモードに比べて、ビジュアルブロックモードがどの程度制限されているかを知ることが重要です。
:help filter)だけでなく、標準化されています(申し訳ありませんが、そのPOSをディープリンクする方法がわかりません)。RFTMを使用しない場合、文句を言うことはできません。
                
sort利用可能なvim内部コマンドがあるので!sort、通常のソートを行うために外部を呼び出す必要がないことに注意してください。