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.py
dan mengeksekusi :f
dalam vim, saya mendapatkan file.py
sebagai output bukan ~/dev/file.py
.
ctrl-g
untuk mengembalikan path + file. :f
akan mengembalikan nama file tanpa jalur, seperti yang mungkin ctrl-g
. A 1
sebelum ctrl-g
akan menunjukkan jalur & nama (belum perlu diperluas). yaitu akan ditampilkan ~/dev/file.py
sebagai gantinya file.py
. 2
diikuti oleh ctrl-g
akan 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\ lines
juga 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 vimrc
dari amix: https://github.com/amix/vimrc
Menggunakan lightline.vim
pluging dan menampilkan nama file pada bilah status.
Hal yang hebat tentang penggunaan amix/vimrc
adalah 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\ lines
juga membutuhkan ruang yang lolos