回答:
Shift+ Jは現在の行から行変更文字を削除するため、行の任意の場所で「J」を押すと、現在の行と次の行を好きなように組み合わせることができます。
GJ
in vim
は最後の行に移動してから次の行に結合しようとしますが、結合コマンドだけでは意味がありません。ええ、私はこれが面白いと思いました:-)
ViまたはVim?
とにかく、次のコマンドはVimの「非互換」モードで機能します。つまり、ほぼ純粋なviだと思います。
:join!
通常のコマンドを使用して実行する場合
gJ
'gJ'を使用すると、空白を追加または削除せずに、そのまま行を結合します。
S<Switch_ID>_F<File type>
_ID<ID number>_T<date+time>_O<Original File name>.DAT
結果:
S<Switch_ID>_F<File type>_ID<ID number>_T<date+time>_O<Original File name>.DAT
「J」コマンドを使用すると、次のようになります。
S<Switch_ID>_F<File type> _ID<ID number>_T<date+time>_O<Original File name>.DAT
type>
との間のスペースに注意してください_ID
。
g/pattern/join
VIM で機能するが機能g/pattern/J
しないことを指摘したいだけです。一部の将来の人々を助けるかもしれません。
これはそれを行うはずです:
J
:h J
その機能を無効にする方法を教えてくれることに注意してください。
gJ
行を結合するときにvimがスペースを追加したくない場合に使用します
viではJ
(Shift+ですJ):join
、たいていの場合は必要な処理を実行する必要があります。空白を調整することに注意してください。特に、多くの場合、2つの結合された行の間にスペースができます。2番目の行がインデントされている場合、そのインデントは結合前に削除されます。
Vim では、gJ
(G、次にShift+ J)またはも使用できます:join!
。これらは、空白の調整を行わずに行を結合します。
Vimでは、詳細については:help J
を参照してください。
gJ
とはJ
チャン接合点にカーソルが、両方のことである:join!
と:join
いけません。
選択した行を結合したい場合(ビジュアルモード)、を押すgJ
と、スペースを入れずに行を結合できます。
これについては、vi / Vim Stack Exchangeサイトで詳しく説明しています。
最初の行でShift+ 4( "$")を押し、次に Shift+ j( "J")を押します。
ヘルプが必要な場合は、viに移動してを押しF1ます。
カーソルをその行に置かずに2つの行を結合する別の方法は、次のとおりです。
:6,6s#\n##
ここで6は、別の回線が参加する回線番号です。行番号を表示するには、を使用します:set nu
。
次の行を結合する必要がある場所にカーソルがある場合、次のようになります。
:s#\n##
どちらの場合も、1行に1つしか存在しないので、のg
よう:s#\n##g
にする必要はありません\n
。
Shift+V
最後を除いて、結合するすべての行を選択する方が簡単です。:'<,'>s/\n/, /
この例では、各行の最後にコンマとスペースを入れて行を結合します。何かを選択:
して通常モードで'<,'>
入力すると、コマンドラインにが自動的に表示されることに注意してください。