2011-02-04 7 views
2

私は、文書の最初の列削除するには、以下のコマンドを使用しています:文書の最初の列を削除しようとしています。

%s/^[^\t]*\zs\t[^\t]*\ze//g 

をそれは、コマンドが見つからないと言います。何か案が?

+0

あなたはコロンを押すと、コマンドライン入力を開始しますか? 's'の代わりに' S'を使用しませんか? – Benoit

+0

作業中のテキストを数行追加します。 –

+0

[Vim/Vi/gVimのテキスト列を削除できますか?](http://stackoverflow.com/questions/1028413/can-you-delete-a-column-of-text-in-vim) -vi-gvim) – dogbane

答えて

0

私が正しくあなたを理解していれば、これは、ジョブを実行する必要があります。

:%s/^[^\t]// 

コマンドがタブではありません、すべての主要な文字を削除します。また

、あなたがタブ区切り値文書を編集して、これはあなたのためにそれを行う必要があり、最初のタブの前に、すべての「列」を削除したい場合:

%s/^[^\t]*\t// 
12

ここでは最も簡単な方法です文書の最初の文字に行く

  1. 押しグラムグラム:最初の列を削除します。
  2. ヒット + Vビジュアルブロックモードを入力します。
  3. 最初の列を削除するXヒット文書
  4. の末尾に移動するGを(つまり、シフトg)をヒット。
+0

har、私はSUに投稿しました(クロスポスト参照)..最初の文字が既に最初の列を作成しているかどうかは不明であるため削除しました。:) – akira

+0

これは必ずしも最初の文字ではなく、最初の列。たとえば、空白の列を削除する場合、これは機能しません。 – rcreswick

3

私は@Peterのブロック選択ソリューションを好きですが、あなたが代入を使用したい場合は、このコマンドが必要になります。

:%s/^.// 

この作業の理由のは、分析してみましょう:

  • :%sのexec Aすべての文書の置換
  • /^./行の先頭から最初の文字を選択してください
  • / ...と置き換えてください。
0

以下のコマンドは、私の仕事:

:%s/^\w*// 
関連する問題