Emacs / vi / vim (komut satırından) dosyasını view-mode
veya içinde görüntülemek istediğimi söylemenin bir yolu var mı read-only
?
Bir dosyayı ancak emacs / vi / vim zaten çalışıyorsa okunacak şekilde nasıl açacağımı biliyorum.
Emacs / vi / vim (komut satırından) dosyasını view-mode
veya içinde görüntülemek istediğimi söylemenin bir yolu var mı read-only
?
Bir dosyayı ancak emacs / vi / vim zaten çalışıyorsa okunacak şekilde nasıl açacağımı biliyorum.
Yanıtlar:
Emacs için:
emacs FILE --eval '(setq buffer-read-only t)'
Sadece okumayı zorlamak için başlangıç seçeneği yoktur.
Düzenleme:
Bu küçük işlevi kabuk başlangıç komut dosyasına (örneğin .bashrc) koyarsanız, salt okunur yazarak bir dosyayı açabilirsiniz.ev file_to_view
ev() {
emacs "$1" --eval '(setq buffer-read-only t)'
}
vim -R dosya adı
dosya adını görüntüle
Temel olarak salt okunur modda vim; simples!
Yorumun gösterdiği gibi, view
ova ile bağlantılı olması durumunda , önce durumu incelemek ve sonra düzeltmek vi
için bash komutları verilmiştir:
# non-destructive inspection
which vim
which view
ls -l $(which view)
# overwrite current view with symlink to vim, requires root
ln -sfv $(which vim) $(which view)
vim
sözdiziminiz vurgulanıyorsa, ancak yazmazsanız view
, belki de sizin derlenmiş bir sözdizimi vurgulanmamış olan view
minimal bir versiyonun bağlantısıdır vim
. :version
Komutun çıktılarını karşılaştırın .
argv[0]
, davranışını belirlemek için gerçekten okuyacak . Bu yaygın bir hiledir; AFAIK bazen GCC ve Bash de bunu yapar.
vim -R <file>
ile yazmaya izin verir :w!
vim -c ":set nomodifiable" <file>
Kullanıcının arabellekteki dosyada herhangi bir değişiklik yapmasını önler. Ancak kullanıcı arabellek ile değiştirilebilir hale getirebilir:set modifiable
Kullanabilirsin
vim -c ":noremap q :q<cr>" -c ":map : <Esc>" -c ":set nomodifiable" <file>
Kullanıcının "gizlenemez" özelliğini kapatmasını önlemek ve kullanıcının tuşuna basarak çıkmasını sağlamak için q
. Ancak, kullanıcı komut moduna hiç giremez, bu da istediğiniz gibi olabilir veya olmayabilir.
Dosyayı daha az komutla da açabilirsiniz:
less <file>
Dosyayı vim benzeri bir ortamda ancak dosyayı değiştirme yeteneği olmadan görüntülemek için.
less
, @nxdrvr işaret ettiği gibi , dosyayı düzenlenebilir modda açmak için v tuşuna basabilirsinizvi
Kabul edilen cevabın küçük takibi: Tek bir komuta indirgemek için bunu kabuğunuzda takma adlandırabilirsiniz. Örneğin, bash'te .bashrc dosyasına aşağıdakileri koyabilirsiniz:
emacsro() {
emacs $1 --eval '(setq buffer-read-only t)'
}
(farklı mermiler bunu yapmak için farklı biçimlerde olacaktır, ancak siz anlıyorsunuz)
Bunu kabul edilen cevabın cevabına bir yorum olarak eklerdim, fakat bir yorumda çok satırlı bir "kod" bloğu olması mümkün değildi ve (yine de bash'ta) yukarıdaki kodun gerçekten olması gerekiyordu. 3 ayrı hat üzerinde.
Dosyayı düzenleme yeteneği olmadan görüntülemek için:
cat <file> | less
Gelen less
basarak "düzenlemek dosya modu" gidebilirsiniz vanahtarı. Ancak standart girdiyi düzenleyemezsiniz, bu nedenle çıktısını cat <file>
daha az boruya çekmek, less
'v' tuşuna basıldığında 'düzenleme' moduna geçmeyi durdurur .
Vim için aynı yaklaşım
cat <file> | vim -
v
Öneriniz için teşekkürler . Şık.
cat
. Sadece kullan <FILENAME less
.
<file> less
bir hata verecektir, demek istediğinizi farz ediyorum less <file>
, ancak cevabında açıklandığı gibi, less
doğrudan kullanırken , kullanıcı v tuşuna basıp düzenleme moduna geçebilir . Boru cat
için less
bunun olmasını durdurur.
less < FILENAME
, V tuşuna bastığınızda “standart girişi düzenleyemezsiniz” ifadesini daha iyi tanıyorsunuzdur . Benzer şekilde Vim ile: vim - < FILENAME
.
Emacs için görünüm modunu da kullanabilirsiniz .
emacsclient --create-frame --eval '(view-file "/tmp/EXAMPLE")'
veya bir terminal içindeki alternatif:
emacsclient --nw --eval '(view-file "/tmp/EXAMPLE")'
Veya sarmalayıcı komut dosyasını kullanabilirsin
std'ye dosya göndermek, dosyanın boyutu göz önüne alındığında kabul edilebilir
cat <file> # dump whole file to stdout
head <file> # view the first few lines
tail <file> # view the last n lines
Burada herhangi bir kullanıcının cevabını reddetmeyeceğim, ancak Read-only Mode
dosya hakkında biraz daha bilgi edinmek istiyorum . Sadece belgelere göre Salt Okunur Modu Bir dosyaya bakmak istediğinizde ancak bu dosyayı istemeden yapılan tuş vuruşlarından ve değişikliklerden korumak istediğiniz zamanlar olacaktır. (Vi hareketlerini uygulamak için uzun bir dosyayı aramak isteyebilirsiniz veya bir komut dosyası veya programda gezinmek isteyebilirsiniz). Bir dosyayı salt okunur modda girebilir ve tüm vi hareket komutlarını kullanabilirsiniz, ancak dosyayı değiştiremezsiniz.
Bir dosyaya salt okunur modda bakmak için aşağıdakilerden birini girin:
$ vi -R file
veya:
$ view file
(Vi komutu gibi, view komutu, dosyada belirli bir yere ilerlemek için komut satırı seçeneklerinden herhangi birini kullanabilir.) Dosyada bazı düzenlemeler yapmaya karar verirseniz, salt okunur modu geçersiz kılabilirsiniz. write komutuna ünlem işareti eklemek için:
:w!
or:
:wq!
Dosyayı yazmada sorun yaşıyorsanız.
Burada daha fazla ref için