Apakah ada cara untuk memberi tahu emacs / vi / vim (dari baris perintah) bahwa saya ingin melihat file di view-mode
atau read-only
.
Saya tahu cara membuka file sebagai hanya baca jika emacs / vi / vim sudah berjalan.
linux
command-line
vim
emacs
Nifle
sumber
sumber
Jawaban:
Untuk emacs:
Tidak ada opsi startup untuk memaksa membaca saja.
Sunting:
Jika Anda meletakkan fungsi kecil ini di skrip startup shell Anda (.bashrc misalnya), Anda dapat membuka file hanya-baca dengan mengetik
ev file_to_view
sumber
vim -R nama file
sumber
lihat nama file
Pada dasarnya vim dalam mode read-only; simples!
Seperti yang diisyaratkan oleh komentar, jika
view
dikaitkan dengan plainvi
, berikut adalah perintah bash untuk memeriksa situasi terlebih dahulu dan kemudian memperbaikinya:sumber
vim
memiliki penyorotan sintaks tetapi Andaview
tidak, mungkin Andaview
adalah tautan ke versi minimalvim
yang tidak dikompilasi dengan penyorotan sintaks. Bandingkan hasil dari:version
perintah.argv[0]
untuk memutuskan perilakunya. Ini adalah trik umum; AFAIK terkadang GCC dan Bash melakukan ini juga.memungkinkan menulis dengan
:w!
Mencegah pengguna membuat perubahan apa pun pada file di buffer. Tetapi pengguna dapat membuat buffer dapat dimodifikasi dengan
:set modifiable
Anda bisa menggunakannya
untuk mencegah pengguna mematikan "nomodifiable", dan memungkinkan pengguna untuk berhenti dengan menekan
q
. Tapi, maka pengguna tidak bisa masuk ke mode perintah sama sekali, yang mungkin atau mungkin tidak sesuai keinginan Anda.Anda juga bisa membuka file dengan perintah less:
Untuk melihat file dalam lingkungan seperti vim tetapi tanpa kemampuan untuk mengubah file.
sumber
less
, meskipun sebagaimana @nxdrvr tunjukkan, Anda dapat menekan tombol v untuk membuka file dalam mode yang dapat diedit divi
Tindak lanjut kecil untuk jawaban yang diterima: Anda bisa alias ini di shell Anda untuk menguranginya menjadi satu perintah. Misalnya di bash Anda bisa meletakkan yang berikut di .bashrc Anda:
(shell yang berbeda akan memiliki format yang berbeda untuk melakukan ini, tetapi Anda mendapatkan ide)
Saya akan menambahkan ini sebagai komentar sebagai jawaban atas jawaban yang diterima, tetapi sepertinya tidak mungkin untuk memiliki blok "kode" multi-baris dalam komentar, dan (dalam bash pula) kode di atas benar-benar perlu pada 3 baris terpisah.
sumber
Untuk hanya melihat file tanpa kemampuan untuk mengedit:
Di
less
Anda dapat pergi ke "edit file mode" dengan menekan vtombol. Tetapi Anda tidak dapat mengedit input standar, jadi perpipaan outputcat <file>
menjadi kurang, berhentiless
dari pergi ke mode 'edit' dengan menekan 'v'.Untuk vim, pendekatan yang sama
sumber
v
sarannya. Bagus.cat
. Gunakan saja<FILENAME less
.<file> less
akan memberikan kesalahan, saya anggap Anda maksudless <file>
, tetapi seperti yang dijelaskan dalam jawaban, ketika menggunakanless
secara langsung, pengguna dapat menekan tombol v dan masuk ke mode edit. Perpipaancat
untukless
menghentikan hal ini terjadi.less < FILENAME
, yang memberikan Anda "Tidak dapat mengedit input standar" saat Anda menekan V . Demikian pula dengan Vim:vim - < FILENAME
.Untuk emacs Anda juga dapat menggunakan mode tampilan .
atau alternatif di dalam terminal:
Atau Anda dapat menggunakan skrip pembungkus saya
sumber
Di emacs bisa Anda lakukan
Penyorotan sintaks diterapkan. Itu tidak hanya membuka file sebagai buffer hanya baca. Beberapa perintah, seperti pencarian-I, dapat diakses tanpa kunci kontrol dalam mode ini.
sumber
mengirim file ke std out, mungkin dapat diterima mengingat ukuran file
sumber
Saya tidak akan berdiskusi dengan siapa pun yang dijawab oleh pengguna di sini, tetapi saya ingin menambahkan beberapa info tentang
Read-only Mode
file. Sesuai dokumentasi murni Mode Hanya Baca. Akan ada saatnya Anda ingin melihat file tetapi ingin melindungi file itu dari penekanan tombol dan perubahan yang tidak disengaja. (Anda mungkin ingin memanggil file yang panjang untuk mempraktikkan gerakan vi, atau Anda mungkin ingin menelusuri file perintah atau program). Anda dapat memasukkan file dalam mode read-only dan menggunakan semua perintah gerakan vi, tetapi Anda tidak akan dapat mengubah file.Untuk melihat file dalam mode hanya baca, masukkan:
atau:
(Perintah tampilan, seperti perintah vi, dapat menggunakan opsi baris perintah untuk memajukan ke tempat tertentu dalam file.) Jika Anda memutuskan untuk mengedit file, Anda dapat mengganti mode hanya baca dengan menambahkan tanda seru ke perintah tulis:
Jika Anda memiliki masalah dalam menulis file.
Untuk referensi lebih lanjut di sini
sumber