1. ホーム
  2. linux

[解決済み] VIM: Ubuntuで正確な行に移動する方法

2023-01-28 14:21:01

質問

私は vi をUbuntu 12.10で使用しています。 一部のファイルはかなり長いので、ファイルの途中に行きたいときは、ページダウンするか、スクロールする必要があります。

正確な行番号に移動するための VIM ショートカットはありますか?

どのように解決するのですか?

:150

は、viの150行目に移動します。

:1500

を実行すると、viの1500行目に移動します。

コメントにあるように、次のようにするとよいでしょう。

1 5 0 G

で150行目まで。 とすると、キーストロークが少なくなる : 1 5 0 入力 どの行にいるかわからない場合は、次のようにしてください。

 :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行目から$までを削除しています。

ファイルに何行あるか知りたい場合は、次のように入力するとよいでしょう。 wc -l inputFile.txt

しかし、もしあなたが50,000行のファイルを編集しようとしているなら、ファイルを開いて横断するのに1分もかかるかもしれません。

sed はまた、同様にファイル内の検索と置換もできます。しかし、おそらく awk、perl、または python も実行可能な解決策になるかもしれません。

しかし、全体として、vi の良いチュートリアルを見つけたいかもしれません。何千もあります。おそらく、自分自身で VIM Cheatsheat を見つけます。