Saya ingin dapat dengan mudah memulai Vim dalam mode pribadi. Mari kita mendefinisikan mode pribadi sebagai yang menggunakan serangkaian perintah ini:
set history=0
set nobackup
set nomodeline
set noshelltemp
set noswapfile
set noundofile
set nowritebackup
set secure
set viminfo=""
Beri tahu saya jika Anda dapat memikirkan perintah tambahan yang cocok untuk mode pribadi.
Intinya adalah saya tidak bisa memikirkan cara pendek dan mudah untuk memulai Vim dengan pengaturan ini.
Berikut adalah beberapa ide yang saya buat:
Muat .vimrcprivate alih-alih .vimrc
Anda cukup memasukkan semua perintah yang diperlukan ke .vimrcprivate dan mulai Vim seperti ini:
vim -u .vimrcprivate
Tentukan dan panggil
Private()
fungsiGagasan lain menambahkan kode seperti ini ke .vimrc Anda:
function Private() " set of commands here endfunction
dan kemudian Anda dapat memulai Vim dalam mode pribadi seperti ini:
vim -c 'call Private()'
Gunakan variabel untuk memicu pengaturan perintah Anda
Ini sangat mirip dengan solusi kedua. Cukup tambahkan
if exists('privatemode') " set of commands here endif
ke .vimrc Anda dan kemudian mulai Vim menggunakan
vim -c 'let privatemode=1'
yang tidak pintar atau pendek.
Tambahkan alias ke .bashrc Anda (atau ke file lain. * Rc yang digunakan shell Anda)
Sebagai contoh:
alias vimprivate="vim +\"set history=0\" +\"set nobackup\" +\"set nomodeline\"\ +\"set noshelltemp\" +\"set noswapfile\" +\"set noundofile\"\ +\"set nowritebackup\" +\"set secure\" +\"set viminfo=\"\"\""
yang mengerikan. Saya tidak suka itu.
Gunakan variabel lingkungan
Jalankan
VIM_PRIVATE=1 vim
dan tambahkanif $VIM_PRIVATE " set of commands here endif
ke .vimrc Anda.
Beberapa sulap (dari komentar oleh Carpetsmoker di utas ini )
Carpetsmoker mengatakan dalam komentar ini itu
Saya tidak akan merekomendasikan menggunakan file vimrc terpisah, karena alasan sederhana> itu sangat mudah untuk dilupakan. Sesuatu seperti autocmd ini:
au BufRead * if &cryptmethod != "" | setlocal nobackup noundofile ... | endif
harus melakukan keajaiban untuk Anda, dan tidak mungkin untuk dilupakan.Namun saya punya tidak tahu bagaimana ajaib ini bekerja belum .
Apakah Anda punya ide?
Solusi sempurna akan vim -private
atau vim +Private
bagaimanapun:
- Saya cukup yakin Anda tidak dapat menambahkan Anda seperti opsi baris perintah kustom
-private
. - ketika datang ke
+Private
saya tidak dapat menemukannya online.
command! Private set history=0 nobackup secure ...
dan kemudian memanggilnya dari shell withvim +'Private'
. Mengenai perintah otomatis terakhir yang Anda sebutkan, ketika buffer dibaca, itu menguji apakah nilai'cryptmethod'
opsi, atau'cm'
untuk versi pendek, tidak kosong. Opsi ini mengontrol metode enkripsi yang digunakan untuk mengenkripsi buffer ketika ditulis ke file dengan perintah Ex:X
. Jika opsi ini tidak kosong, maka perintah otomatis mengatur berbagai opsi.vim -Nu .vimrcprivate
.alias vimprivate='vim -u .vimrcprivate'
dllv:progname == "vimp"
dan jika benar, jalankan pengaturan mode pribadi Anda. Lihat:help v:progname
.Jawaban:
Yah, sedikit terlambat tetapi untuk menanggapi:
Gagasan umum saya adalah bahwa Anda selalu ingin memulai "mode pribadi" jika Anda menggunakan file yang dienkripsi, sehingga perintah otomatis ini akan melakukannya untuk Anda:
Pada dasarnya, setiap kali sebuah file dibaca dari disk, ia mengecek apakah
key
pengaturannya diatur (ini adalah tempat frasa sandi Anda disimpan), dan jika itu ada, ia menetapkan Anda pengaturan. Lihat:help autocommand
ikhtisar umum tentang cara kerja perintah otomatis.Keuntungannya adalah tidak bisa lupa menggunakannya.
Tentu saja, itu mengharuskan file dienkripsi. Jika tidak, tidak ada yang dilakukan. Tetapi tidak semua hilang, kita dapat menggunakan nama file untuk menunjukkan file itu pribadi, misalnya:
Akan menandai semua file yang diakhiri dengan
.private
demikian.Jika Anda ingin membuka file secara acak dalam mode "pribadi", maka saya akan merekomendasikan menggunakan alias shell sederhana, misalnya:
Dan
~/.vim/private
akan mengandung:Mengapa tidak
-u
? Nah, dengan cara ini Anda memiliki pengaturan Anda sendiri dan pengaturan "pribadi". Anda juga dapat menggabungkan keduanya dengan:sumber
Menurut dokumentasi Vim (
:help -c
) hanya ada maksimum 10+{command}
,-c {command}
dan-S {file}
argumen opsi digabungkan ketika memulai Vim, dan mereka mengeksekusi _after_ file pertama dibaca.The
--cmd {command}
pilihan memungkinkan tambahan 10 perintah untuk dieksekusi sebelum memproses file vimrc, tapi ingat bahwa pengaturan dapat ditimpa oleh vimrc.Oleh karena itu saya lebih suka mengatur opsi Vim lebih awal, dan menghindari kebutuhan untuk variabel lingkungan atau logika skrip. Juga, plugin mungkin melakukan hal-hal yang cerdik sehingga lebih baik tidak memuat apa pun.
Metode doa paling aman yang bisa saya pikirkan adalah menggunakan alias
~/.bashrc
dengan file vimrcprivate yang sederhana dan to-the-point:sumber