Dasar -dasar editor VIM di Linux

Dasar -dasar editor VIM di Linux

VIM Tidak Membutuhkan Presentasi: Mungkin ini adalah editor teks yang paling dicintai oleh administrator sistem, juga karena fakta bahwa itu adalah klon dan peningkatan VI asli, yang dimasukkan secara default dalam praktis semua sistem operasi berbasis Linux dan UNIX UNIX UNIX. Vim bisa sangat mengintimidasi pada awalnya, dan memiliki kurva belajar yang curam; Mempelajari cara menggunakannya, bagaimanapun, dapat benar -benar meningkatkan produktivitas kami. Dalam artikel ini kita akan mempelajari dasar -dasar vim.

Dalam tutorial ini Anda akan belajar:

  • Cara menginstal vim
  • Mengapa Vim adalah editor teks "modal" dan apa mode VIM
  • Cara mengubah tampilan dan merasa menggunakan viM menggunakan ~/.Vimrc file konfigurasi

Persyaratan dan konvensi perangkat lunak yang digunakan

Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
Kategori Persyaratan, konvensi atau versi perangkat lunak yang digunakan
Sistem Distribusi Independen
Perangkat lunak vim
Lainnya Tidak ada persyaratan lain yang diperlukan
Konvensi # - mensyaratkan Linux -Commands untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah
$-mensyaratkan Linux-Commands untuk dieksekusi sebagai pengguna reguler yang tidak istimewa

Instalasi

Anda dapat yakin bahwa VIM, jika tidak diinstal secara default, tersedia di repositori distribusi favorit Anda, oleh karena itu, untuk menginstalnya, yang harus Anda lakukan adalah menggunakan paket paket favorit Anda. Di Debian dan Debian yang berbasis
distribusi, di antara yang lain, kita dapat menggunakan apt-get:

$ sudo apt-get update && sudo apt-get install vim 

Di fedora, dan lebih umum pada semua keluarga distribusi Red Hat, kita dapat menggunakan dnf Manajer paket untuk melakukan tugas:

$ sudo dnf menginstal vim 

Berlari di Arch Linux? Dalam hal ini, karena VIM termasuk dalam Tambahan Repositori, menginstalnya hanyalah masalah menjalankan perintah berikut:

$ sudo pacman -s vim 

Editor teks "modal"

Anda akan menemukan bahwa VIM sangat berbeda dari editor teks yang mungkin biasa Anda lakukan; ini karena itu adalah a modal Editor Teks. Apa artinya? Vim memiliki banyak mode kerja yang berbeda:

  • Mode normal
  • Sisipkan mode
  • Mode visual
  • Mode Perintah

Mari kita lihat secara singkat.

Mode normal

Itu normal Mode adalah default. Kapan masuk normal mode, kita dapat dengan mudah menavigasi dan membuat perubahan pada dokumen. Mari kita lihat beberapa contoh. Misalkan kita memiliki teks berikut dibuka di editor:

Seperti yang Anda lihat, kursor diposisikan di awal baris pertama. Misalkan kita ingin memindahkannya di awal kata kedua ("cincin" dalam kasus ini). Yang harus kita lakukan, adalah menekan w kunci (kependekan dari kata); Ini akan bergerak maju (ke kanan) ke awal kata:



Gerakan "terbalik" diperoleh dengan menekan B Kunci - Tindakan ini akan memindahkan kursor ke awal kata sebelumnya.

Bagaimana jika kita ingin mengulangi gerakan X berkali-kali? Yang harus kami lakukan adalah memasukkan jumlah gerakan yang ingin kami lakukan, sebelum menekan tombol yang sesuai dengan gerakan yang ingin kami lakukan. Misalnya, untuk memajukan dua kata kursor yang akan kami tekan 2w. Seandainya kursor saat ini ada di kata "cincin" pada baris pertama, kami akan mendapatkan hasil ini:

Untuk memindahkan kursor ke awal garis saat ini, kita dapat menekan 0 kunci; itu $ Kunci akan memungkinkan kita mendapatkan efek sebaliknya, sehingga kursor akan dipindahkan ke ujung garis.

Untuk pindah ke baris terakhir dari dokumen yang dibuka, kami dapat menekan G, Sambil pindah ke baris pertama, kita bisa menekan gg.

Yang di atas hanya beberapa contoh bagaimana kita dapat dengan mudah menavigasi dokumen saat masuk normal mode. Di tabel di bawah ini kita dapat melihat sejumlah kecil kunci yang mungkin ingin kita ingat dan efeknya:

KUNCI MEMENGARUHI
H Pindahkan kursor ke kiri
J Pindahkan kursor ke bawah
k Pindahkan kursor
l Pindahkan kursor dengan benar
w Maju ke awal kata
W Bergerak maju ke awal kata (tanda baca dianggap sebagai bagian dari kata)
B Bergerak mundur ke awal kata
B Bergerak mundur ke awal kata (tanda baca dianggap sebagai bagian dari kata)
e Bergerak maju ke akhir kata
E Bergerak maju ke akhir kata (tanda baca dianggap sebagai bagian dari kata)
0 Pindah ke awal garis
$ Pindah ke ujung garis
gg Pindah ke baris pertama dokumen
G Pindah ke baris terakhir dokumen
f char Pergi ke kejadian pertama dari karakter yang ditentukan
A Pindah melewati ujung garis dan masukkan "Mode Sisipkan"

Kapan masuk normal Mode Kami tidak terbatas untuk melakukan hanya gerakan, ada juga operator Itu mari kita melakukan beberapa tindakan, misalnya, misalnya D (hapus) atau C (mengubah). Operator ini, dikombinasikan dengan gerakan, mari kita lakukan tindakan massal.

Mari kita lihat contoh: kita tahu bahwa w Kunci menggerakkan kursor ke depan ke awal kata berikutnya; Jika kami menggabungkannya dengan D operator, kita dapat menghapus seluruh kata dengan hanya satu perintah. Seandainya kursor ada di awal baris pertama teks kita, jika kita menekan dw Kami akan mendapatkan hasil berikut:

Seperti yang Anda lihat, kata pertama dari garis ("tiga") telah dihapus. Dengan cara yang sama kita bisa menghapus teks dari posisi kursor saat ini ke ujung garis dengan menekan d $, dan seterusnya.

Mode "masukkan" (dan "ganti")

Itu menyisipkan Mode praktis merupakan mode kerja standar dari semua editor teks yang paling umum. Saat dalam mode ini kita dapat memasukkan teks seperti yang biasanya kita lakukan dengan editor lain. Bagaimana kita memasukkan mode ini? Saat bekerja di normal Mode, kita dapat, misalnya, tekan salah satu tombol berikut:

KUNCI MEMENGARUHI
Saya Masukkan teks sebelum kursor
SAYA Masukkan teks di awal baris
A Masukkan teks setelah kursor
A Tambahkan teks di akhir baris


Cara melakukan proses terbalik, dan beralih dari menyisipkan ke normal mode? Yang harus kita lakukan adalah menekan kunci atau .

Itu mengganti Mode sangat mirip dengan menyisipkan Mode, satu -satunya perbedaan adalah bahwa teks yang kita input timpa yang ada alih -alih memperpanjang panjang garis. Kita bisa masuk mengganti mode dengan menggunakan R kapan masuk
normal mode.

Mode "Visual"

Saat dalam mode "Visual", kita dapat memilih sebagian teks dan melakukan beberapa operasi di atasnya. Mode visual dapat bekerja di tiga level yang berbeda:

  • Karakter
  • Garis
  • Memblokir

Untuk memasuki "karakter-lebar" visual mode, saat masuk normal mode kita bisa menekan v kunci; Untuk mengaktifkan mode virtual "line-wise", sebagai gantinya, kita dapat menggunakan V (huruf besar). Akhirnya, untuk memasukkan mode visual "blok-bijaksana", kita dapat menekan .

Garis visual vim

Pada gambar di atas Anda dapat melihat bagaimana editornya terlihat, ketika mode visual "line-wise" diaktifkan. Kunci yang sama yang kita bahas di atas, dapat digunakan untuk beralih di antara mode visual; Selanjutnya, jika kita sudah dalam mode visual tertentu, dan kita menekan tombol yang mengaktifkannya, kita akan beralih kembali ke normal mode:

Mode visual saat ini Kunci Memengaruhi
Karakter-bijaksana v Beralih ke mode normal
Karakter-bijaksana V Beralih ke mode visual garis bijaksana
Karakter-bijaksana \ Beralih ke mode visual blok-bijaksana
line-wise v Beralih ke mode visual yang bijaksana
line-wise V Beralih ke mode normal
line-wise \ Beralih ke mode visual blok-bijaksana
Blok-bijaksana v Beralih ke mode visual yang bijaksana
Blok-bijaksana V Beralih ke mode visual garis bijaksana
Blok-bijaksana \ Beralih ke mode normal

Kunci gerakan yang kami lihat dalam mode normal, dapat juga digunakan mode visual. Misalnya, ketika kami bekerja dalam mode visual yang bijaksana, dan kami ingin memilih dari titik tertentu ke kemunculan pertama surat yang dapat kami gunakan
f char.

Ketika sebagian teks dipilih, kita dapat, misalnya, memotongnya dengan menekan D kata kunci, atau salin dengan menggunakan y.

"Mode Baris Perintah"

Untuk memasuki mode baris perintah kita bisa menekan : kunci atau / Untuk memulai pencarian teks saat dalam mode normal. Ketika kita berada dalam mode ini kita dapat memasukkan perintah untuk dieksekusi setelah kita menekan (Kunci 'Return'). Salah satu perintah paling sederhana yang dapat kita jalankan saat masuk mode baris perintah adalah:

:membantu 

Ketika perintah dieksekusi, buffer baru akan dibuka yang menunjukkan halaman bantuan utama VIM:

Halaman Bantuan VIM dalam versi terbaru VIM, kita dapat menggunakan terminal Perintah untuk membuka emulator terminal langsung ke editor teks:
:terminal 

Hasil eksekusi perintah adalah:

Terminal embed vim

Seperti yang sudah kami katakan, untuk melakukan pencarian teks yang dapat kami tekan / dan ketik teks yang ingin kami temukan di dokumen. Secara default pencarian peka huruf besar-kecil (ini dapat dimodifikasi melalui file konfigurasi VIM menggunakan Atur Ignorecase pengarahan). Sebagai contoh, anggaplah kita ingin menemukan kata "cincin" dalam teks contoh kita. Kami menulis perintah berikut dengan menekan "Enter":

/Cincin 

Untuk memulihkan hasil yang disorot yang dapat kita tekan N, dan untuk menghapus penyorotan dari kata -kata yang dapat kita lakukan Noh memerintah:

: noh 

Kita bisa gunakan mode baris perintah juga untuk melakukan penggantian teks. Misalkan kita ingin mengganti semua kejadian "cincin" dengan "permata". Apa yang akan kami lakukan, dalam hal ini adalah menggunakan pengganti memerintah: S. Itu
Perintah yang perlu kita jalankan adalah:

:%s/cincin/permata/g 

Itu % Simbol yang kami gunakan sebelum perintah dibuat agar operasi dilakukan di seluruh dokumen, sedangkan G ditambahkan setelah substitusi digunakan untuk melakukan substitusi pada semua kejadian yang ditemukan pada garis (vs hanya yang pertama).

Saat kami menggunakan pengganti Perintah kita juga dapat menggunakan "pengubah" lainnya. Misalnya, jika kita menambahkan a C Setelah pola substitusi, kami akan diminta untuk mengkonfirmasi setiap substitusi; Saya, sebaliknya akan melakukan penggantian case-tidak sensitif.

Rentang tindakan perintah dapat dibatasi untuk beberapa baris tertentu. Untuk melakukan penggantian teks hanya pada baris dari yang pertama ke keenam (inklusif) dari dokumen, kami akan menulis:

: 1,6s/cincin/permata/g 

Rentang yang sama dapat digunakan, misalnya, dengan D Perintah (Hapus), untuk menghapus baris yang disebutkan di atas:

: 1,6d 

Kapan masuk memerintah Mode garis, kita juga bisa memohon luar Program di Shell: Yang harus kita lakukan adalah menyiapkan perintah seperti itu dengan ! simbol. Misalnya, untuk melihat file (non-tersembunyi) di direktori kerja saat ini, kami dapat menggunakan ls -l memerintah:

:!ls -l 

Kami akan mendapatkan hasil berikut:

Total 36 DRWXR-XR-X. 2 EGDOC EGDOC 4096 31 Okt 12:45 Desktop DRWXR-XR-X. 2 EGDOC EGDOC 4096 31 Okt 12:45 Dokumen DRWXR-XR-X. 2 EGDOC EGDOC 4096 Nov 2 10:37 Unduhan -RW-R-R--. 1 EGDOC EGDOC 373 Nov 3 11:30 LOTR.TXT DRWXR-XR-X. 2 EGDOC EGDOC 4096 31 Okt 12:45 Musik DRWXR-XR-X. 2 EGDOC EGDOC 4096 Nov 4 08:19 Gambar DRWXR-XR-X. 2 EGDOC EGDOC 4096 31 Okt 12:45 Publik DRWXR-XR-X. 2 EGDOC EGDOC 4096 31 Okt 12:45 Templat DRWXR-XR-X. 2 EGDOC EGDOC 4096 31 Okt 12:45 Video Tekan perintah enter atau ketik untuk melanjutkan 

Seperti yang disarankan oleh pesan, untuk kembali ke editor, kita harus menekan MEMASUKI. Ini hanya sedikit, contoh dasar dari perintah yang dapat kita gunakan di vim.

Menyesuaikan vim

Tampilan dan nuansa vim dapat disesuaikan melalui file konfigurasinya: ~/.Vimrc. Secara default antarmuka editor sangat minim: bahkan nomor baris tidak ditampilkan! Biarkan ini menjadi hal pertama yang akan kita ubah.

Menampilkan nomor baris

Kami membuka file konfigurasi dan menempelkan arahan berikut di dalamnya:

setel nomor 

Biasanya, untuk melihat efek dari perubahan yang kita buat, kita harus menutup dan membuka kembali vim; Namun, kami juga dapat mengeluarkan : Jadi ~//.Vimrc Perintah untuk mencari file konfigurasi dan membuat perubahan segera efektif. Karena
Petunjuk yang kami gunakan, nomor baris sekarang ditampilkan:

Sorot kolom dan batas batas garis

Fitur umum lain yang ingin kami gunakan, terutama saat menulis kode, adalah untuk menyoroti kolom tertentu. Saat menulis program Python atau skrip shell, misalnya, kami biasanya tidak ingin melebihi 80 kolom; Untuk menyorot kolom, kita harus menambahkan arahan berikut ke dalam file konfigurasi:

atur ColorColumn = 80 

Pada gambar di bawah ini Anda dapat melihat hasil dari perubahan tersebut. Kolom yang kami tentukan sekarang disorot:

Jika kita benar -benar ingin menegakkan aturan tentang jumlah karakter maksimum yang dapat dimasukkan pada suatu garis, kita harus menggunakan TextWidth Petunjuk sebagai gantinya:

atur textwidth = 79 

Karena perubahan di atas, jika kata baru tidak sesuai dengan jumlah karakter yang ditentukan, itu akan secara otomatis dimasukkan ke dalam baris baru.

Gunakan spasi, bukan tab

Perubahan lain yang cukup umum yang mungkin ingin kami lakukan adalah menggunakan sejumlah ruang sebagai pengganti a Tab Karakter ketika tombol yang sesuai ditekan pada keyboard. Untuk mencapai pengaturan yang diinginkan, kami ingin menggunakan arahan berikut:

Set Tabstop = 2 Set SoftTabStop = 2 Set Expandtab Set ShiftWidth = 2 

Dalam pengaturan di atas kami mengatur tabstop Petunjuk untuk mengatur ukuran "nyata" Tab karakter. Itu softtabstop, Petunjuk, sebaliknya, digunakan untuk menentukan jumlah ruang yang harus digunakan untuk mengganti a Tab ketika Expandtab Petunjuk digunakan. Dalam hal ini, setiap kali kita menekan Tab kunci pada keyboard, vim akan memasukkan jumlah spasi yang kami tentukan softtabstop. Akhirnya, shiftwidth Opsi digunakan untuk menentukan tingkat indentasi yang digunakan untuk inden otomatis dan untuk perintah shift.

Pengaturan spesifik filetype

Bagaimana jika kita ingin menentukan beberapa pengaturan yang hanya akan diterapkan pada jenis file tertentu? Dalam hal ini kita harus mengaktifkan built-in Plugin FileType. Untuk melakukannya, kami menambahkan baris berikut ke file konfigurasi:

Plugin FileType menyala 

Pada titik ini, di dalam ~/.vim/sesudah/ftplugin Direktori (kita perlu membuatnya jika belum ada), kita harus membuat file yang dinamai menurut filetype yang ingin kita tentukan pengaturan untuk, dan menggunakan “.Ekstensi Vim ”.

Misalnya, untuk menentukan pengaturan untuk file python, kami akan membuat ~/.vim/sesudah/ftplugin/python.vim mengajukan dan memasukkan instruksi kami di dalamnya. Satu -satunya hal yang direkomendasikan adalah menggunakan setlocal instruksi dalam file alih -alih mengatur, Untuk membuat perubahan hanya berlaku untuk buffer yang dibuka, dan bukan global. Katakan misalnya kami ingin mengganti a Tab karakter dengan 4 spasi hanya dalam skrip python. Dalam ~/.vim/sesudah/ftplugin/python.vim file yang akan kami tulis:

setlocal softtabstop = 4 setlocal shiftwidth = 4 

Apa yang kami gunakan di sini hanyalah subset yang sangat kecil dari opsi yang dapat kami gunakan dalam file konfigurasi VIM untuk mengubah tampilan dan nuansa editor; Yang ingin kami tunjukkan di sini adalah mekanisme dasarnya.

Kesimpulan

Dalam artikel ini kami memulai pendekatan pertama kami dengan apa yang mungkin merupakan editor teks yang paling terkenal dan dicintai di Linux dan platform berbasis UNIX: VIM. Kami melihat bagaimana Vim diciptakan sebagai klon aslinya Vi editor, yang diinstal secara default di hampir semua distribusi, kami melihat mengapa itu disebut a modal editor teks, dan apa mode yang dapat kami gunakan.

Akhirnya, kami melihat cara mengubah tampilan dan perasaan editor dengan menulis arahan di ~/.Vimrc file konfigurasi. Kami nyaris tidak menggaruk permukaan dari apa yang dapat kami capai dengan menggunakan vim, karena ini dimaksud sebagai panduan langkah pertama ke dunia vim. Kami akan berbicara tentang fitur spesifik lebih mendalam di tutorial mendatang. Pantau terus!

Tutorial Linux Terkait:

  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Cara mengkloning sistem linux
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Menguasai loop skrip bash
  • Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?
  • Partisi klon di Linux
  • Unduh Linux
  • Pencatatan dan audit lanjutan di Linux
  • Cara Dual Boot Kali Linux dan Windows 10