Bagaimana Anda menampilkan nama file file yang sedang Anda kerjakan di vim?
Bagaimana Anda menampilkan nama file file yang sedang Anda kerjakan di vim?
Jawaban:
:f( :file) akan melakukan hal yang sama dengan <C-G>. :f!akan memberikan versi yang tidak dikunci, jika ada.
:f!tidak selalu berfungsi, tekan 1, lalu Ctrl-G untuk path lengkap.
~/dev/file.pydan mengeksekusi :fdalam vim, saya mendapatkan file.pysebagai output bukan ~/dev/file.py.
ctrl-guntuk mengembalikan path + file. :fakan mengembalikan nama file tanpa jalur, seperti yang mungkin ctrl-g. A 1sebelum ctrl-gakan menunjukkan jalur & nama (belum perlu diperluas). yaitu akan ditampilkan ~/dev/file.pysebagai gantinya file.py. 2diikuti oleh ctrl-gakan mencakup yang penyangga: buf 1: "~/dev/file.py".
ctrl+ gakan melakukannya.
Juga, saya ingin memiliki:
set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L"
Yang menghasilkan:
foo.c [C] [0x23] <kode / foo.c 1, 1 2% dari 50
Juga, seperti seseorang yang disebutkan (tetapi sekarang dihapus) %akan diganti dengan nama file saat ini. Sebagai contoh:
:! echo "file saat ini:%" file saat ini: foo.c Tekan ENTER atau ketik perintah untuk melanjutkan
[C]dan [0x23]bagian?
'statusline'adalah string, tetapi Anda tidak memasukkan tanda kutip di set: set statuslineset statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ linesjuga membutuhkan ruang yang lolos
atur garis status. info lebih lanjut dengan:help statusline
Perintah-perintah ini bisa masuk dalam file .vimrc Anda, atau Anda dapat memasukkannya sebagai perintah saat vim dengan mengetikkan ':' dalam mode perintah.
Pertama, atur status terakhir ke 2 menggunakan yang berikut:
set laststatus=2
Kemudian setel baris status ke% f untuk nama file pendek.
set statusline=%f
Untuk path lengkap ke file, gunakan% F.
Untuk menampilkan path lengkap untuk file apa pun, termasuk symlink yang diselesaikan, gunakan yang berikut ini.
:echo resolve(expand('%:p'))
Ini dapat ditambahkan ke bilah status Anda dengan menambahkan baris di bawah ini ke ~./vimrc
set statusline +=%{resolve(expand('%:p'))}\ %*
Salah satu saran di atas harus diubah menjadi
set statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
untuk membuatnya bekerja. Juga
set laststatus=2
digunakan.
Saya menggunakan yang menakjubkan vimrcdari amix: https://github.com/amix/vimrc
Menggunakan lightline.vimpluging dan menampilkan nama file pada bilah status.
Hal yang hebat tentang penggunaan amix/vimrcadalah bahwa plugin ini menangani sebagian besar penyesuaian, sangat stabil, dan telah diuji oleh ribuan orang, karena Anda dapat memeriksa dengan melihat jumlah bintang github .. dan masalah yang jarang terjadi.
Ini juga cukup sering diperbarui.
PS: bukan penulis salah satu dari plugin .. hanya penggemar :)
Saya juga perlu meletakkan ini di file .vimrc saya:
set noruler
set laststatus=2
Kemudian saya bisa memasukkan sesuatu seperti set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L"dalam file .vimrc saya dan setelah me-restart terminal saya baris status ditampilkan dengan benar.
'statusline'adalah string, tetapi Anda tidak menyertakan tanda kutip di set: set statuslineset statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ linesjuga membutuhkan ruang yang lolos