Saya menggunakan vidi Ubuntu 12.10. Beberapa file cukup panjang jadi ketika saya ingin pergi ke tengah file, saya harus halaman ke bawah atau ke bawah.
Apakah ada pintasan VIM untuk menuju ke nomor baris yang tepat?
Pakar @vii. Apakah ini benar-benar khusus untuk Ubuntu- / bash- / Linux (sesuai dengan tag OP)? Saya tidak banyak menggunakan vim, tetapi untuk penggunaan saya, saya belum melihat perbedaan sedikit pun di Ubuntu / CentOS / Suse / Windows.
Alexander Malakhov
Jawaban:
146
:150
akan membawa Anda ke baris 150 di vi
:1500
akan membawa Anda ke baris 1500 di vi
Sesuai komentar yang mungkin ingin Anda coba
150G
untuk mencapai baris 150. yang merupakan penekanan tombol yang lebih sedikit daripada
:150Enter
jika Anda tidak yakin baris apa yang sedang Anda coba
:set nu!
perhatikan:
jika Anda ingin selalu melihat baris, pertimbangkan untuk mengedit profil vim Anda. Paling sering
vi ~/.vimrc
dan tambahkan
:set nu!
dan menulis dan berhenti
:wq
#or you could use :x
ini dapat dilakukan di luar vi. Misalnya, jika saya ingin menghapus baris 5000 dalam file teks, saya dapat menggunakan bahasa skrip. Misalnya, menggunakan sed adalah sebagai berikut
sed -i '5000d;' inputFile.txt
untuk menghapus baris 10 hingga 20 itu
sed -i '10,20d;' inputFile.txt
perhatikan -i akan mengedit file di tempatnya. Tanpa -i itu akan kebagian stdout. Cobalah. Anda dapat mengarahkan stdout ke file
sed '5001,$d;' inputFile.txt >> appenedFile.txt
ini mungkin banyak yang terjadi di sini untuk Anda. ini menghapus baris 5001 menjadi $. Dengan $ menjadi akhir file. >> akan ditambahkan ke file. dimana> membuat file baru.
jika Anda penasaran berapa banyak baris dalam sebuah file yang mungkin ingin Anda ketik wc -l inputFile.txt
beberapa di antaranya mungkin tampak sangat sepele, tetapi jika Anda mencoba mengedit file dengan 50.000 baris, mungkin perlu beberapa menit untuk membuka dan melintasi. di mana jika Anda tahu Anda hanya ingin menghapus baris terakhir, Anda dapat menggunakan sed dan melakukannya dalam waktu singkat.
sed juga dapat mencari dan mengganti di dalam file. Tapi mungkin awk, perl, atau python juga bisa menjadi solusi yang layak.
tetapi secara keseluruhan, Anda mungkin ingin menemukan tutorial yang bagus tentang vi. ribuan ada. Saya akan berkonsultasi dengan google. Mungkin menemukan diri Anda sebagai Cheatsheat VIM.
luangkan beberapa menit dan mulailah membaca dokumen ini . Ini memberi Anda imbalan dalam jangka panjang untuk efisiensi dalam mengedit terutama file konfigurasi.
Dari terminal yang terbuka, di bash shell, cukup edit file Anda dengan menjalankan:
$ vi +N yourfile
Dimana Nnomor barisnya.
Untuk melihat ( moreatau less;):
$ less +N yourfile
$ more +N yourfile
Tanda +berarti perintah untuk dijalankan saat memulai . Jadi jika perintah hanya berupa angka, maka vi, lessdan more, akan melompat ke ini sebagai nomor baris .
Tetapi Anda juga dapat menggunakan /regexuntuk menemukan kemunculan pertama dari string atau regex tertentu:
$ less +/Error logfile
$ less -i +/error logfile # -i Causes less's searches to ignore case
$ vi +/open.*myfile myprog...
Jawaban:
akan membawa Anda ke baris 150 di vi
akan membawa Anda ke baris 1500 di vi
Sesuai komentar yang mungkin ingin Anda coba
150G
untuk mencapai baris 150. yang merupakan penekanan tombol yang lebih sedikit daripada :150Enter jika Anda tidak yakin baris apa yang sedang Anda coba
:set nu!
perhatikan:
jika Anda ingin selalu melihat baris, pertimbangkan untuk mengedit profil vim Anda. Paling sering
dan tambahkan
:set nu!
dan menulis dan berhenti
:wq #or you could use :x
ini dapat dilakukan di luar vi. Misalnya, jika saya ingin menghapus baris 5000 dalam file teks, saya dapat menggunakan bahasa skrip. Misalnya, menggunakan sed adalah sebagai berikut
sed -i '5000d;' inputFile.txt
untuk menghapus baris 10 hingga 20 itu
sed -i '10,20d;' inputFile.txt
perhatikan -i akan mengedit file di tempatnya. Tanpa -i itu akan kebagian stdout. Cobalah. Anda dapat mengarahkan stdout ke file
sed '5001,$d;' inputFile.txt >> appenedFile.txt
ini mungkin banyak yang terjadi di sini untuk Anda. ini menghapus baris 5001 menjadi $. Dengan $ menjadi akhir file. >> akan ditambahkan ke file. dimana> membuat file baru.
jika Anda penasaran berapa banyak baris dalam sebuah file yang mungkin ingin Anda ketik
wc -l inputFile.txt
beberapa di antaranya mungkin tampak sangat sepele, tetapi jika Anda mencoba mengedit file dengan 50.000 baris, mungkin perlu beberapa menit untuk membuka dan melintasi. di mana jika Anda tahu Anda hanya ingin menghapus baris terakhir, Anda dapat menggunakan sed dan melakukannya dalam waktu singkat.
sed juga dapat mencari dan mengganti di dalam file. Tapi mungkin awk, perl, atau python juga bisa menjadi solusi yang layak.
tetapi secara keseluruhan, Anda mungkin ingin menemukan tutorial yang bagus tentang vi. ribuan ada. Saya akan berkonsultasi dengan google. Mungkin menemukan diri Anda sebagai Cheatsheat VIM.
sumber
150G
lakukan hal yang sama seperti:150
. Ini tidak lebih cepat tetapi mungkin lebih mudah diingat.<CR>
memperhitungkan.Tip vim lainnya: dalam mode perintah
sumber
luangkan beberapa menit dan mulailah membaca dokumen ini . Ini memberi Anda imbalan dalam jangka panjang untuk efisiensi dalam mengedit terutama file konfigurasi.
sumber
Dari terminal yang terbuka, di bash shell, cukup edit file Anda dengan menjalankan:
Dimana
N
nomor barisnya.Untuk melihat (
more
atauless
;):Tanda
+
berarti perintah untuk dijalankan saat memulai . Jadi jika perintah hanya berupa angka, makavi
,less
danmore
, akan melompat ke ini sebagai nomor baris .Tetapi Anda juga dapat menggunakan
/regex
untuk menemukan kemunculan pertama dari string atau regex tertentu:$ less +/Error logfile $ less -i +/error logfile # -i Causes less's searches to ignore case $ vi +/open.*myfile myprog...
sumber