2016-05-17 12 views
0

vimの中で長いファイル名で新しいファイルを開こうと、私はバッシュ強制改行

$ vim long_file_name [enter] 
> 
> 

私はEnterキーを押すと

バッシュは私に改行を与え続け

$ vim long_file_name 
これがなぜ、そして私がこの改行を得るのを避けることができるのか疑問に思っています。

答えて

4

あなたはエスケープするのを忘れたファイル名に、単一引用符、二重引用符、バッククォート、またはその他の "開始"文字列があるため、bashは残りのコマンド行の入力を待っています。

+0

実際には、ファイル名は.texで終わり、末尾に文字はありません。 vim long_file_name.tex [enter] –

+1

私の答えはどうやって無効になるのですか? –

+0

いいえ、そうです。私は自分のファイル名で一重引用符をエスケープするのを忘れていました。 :) –

1

Ignacioの答えを補完するために、>のプロンプトはセカンダリプロンプト(環境変数PS2で設定)と呼ばれます。

bash表示を完了するために入力がさらに必要な場合(プロンプトPS1から対話形式で開始する)、が表示されます。 PS1プロンプトのコマンドに単一引用符または二重引用符を付けるか、末尾にバックスラッシュエスケープを使用します。 man bashから

PS2このパラメータの値はPS1と同じように展開され、 二次プロンプト文字列として使用されます。デフォルトは ``> ''です。