Ubuntu 12.10でvi
を使用しています。一部のファイルは非常に長いため、ファイルの中央に移動する場合は、ページダウンまたはスクロールダウンする必要があります。
正確な行番号に移動するVIMショートカットはありますか?
:150
viで150行目に移動します
:1500
viで1500行目に移動します
コメントに従って、試してみたいことがあります
15G
150行目に到達します。 :15Enter あなたが試している行がわからない場合
:set nu!
に注意してください:
行を常に表示する場合は、vimプロファイルの編集を検討してください。よく
vi ~/.vimrc
そして追加
:set nu!
書いてやめる
:wq
#or you could use :x
これはviの外部で実行できます。たとえば、テキストファイルの5000行目を削除する場合は、スクリプト言語を使用できます。たとえば、sedを使用すると次のようになります
sed -i '5000d;' inputFile.txt
行10から20を削除するには、次のようになります。
sed -i '10,20d;' inputFile.txt
-iがその場でファイルを編集することに注意してください。 -iがなければ、標準出力になります。それを試してみてください。 stdoutをファイルにリダイレクトできます
sed '5001,$d;' inputFile.txt >> appenedFile.txt
これはあなたのためにここでたくさん起こっているかもしれません。これにより、行5001が$に削除されます。 $はファイルの終わりです。 >>はファイルに追加します。 as>は新しいファイルを作成します。
ファイル内の行数を知りたい場合は、wc -l inputFile.txt
これのいくつかは非常に些細なことのように思えるかもしれませんが、50,000行のファイルを編集しようとしている場合、viを開いてトラバースするには甘い時間がかかるかもしれません。ここで、最後の行を削除したいだけなら、sedを使用してほんの少しの時間で実行できます。
sedは、ファイル内を検索および置換することもできます。しかし、おそらくawk、Perl、またはpythonも実行可能なソリューションかもしれません。
しかし、全体的には、viに関する優れたチュートリアルを見つけることができます。数千が存在します。 Googleに相談します。おそらく、VIM Cheatsheat。
その他のvimヒント:コマンドモード
数分かけて this documentを読み始めます。特に設定ファイルを編集する際の効率性については、長期的に見れば報酬があります。
Bashシェルで開いたターミナルから、次を実行してファイルを編集します。
$ vi +N yourfile
ここで、N
は行番号です。
表示する場合(more
またはless
;):
$ less +N yourfile
$ more +N yourfile
記号 +
mean 開始時に実行するコマンド。 commandが数字のみの場合、vi
、less
、およびmore
は、行番号としてこれにジャンプします。 =。
ただし、/regex
特定の文字列または正規表現の最初の出現を見つけるため:
$ less +/Error logfile
$ less -i +/error logfile # -i Causes less's searches to ignore case
$ vi +/open.*myfile myprog...
別のアドバイス:vimは初めてなので、vimtutor
を実行すると非常に役立ちます。