Existe uma maneira de informar ao emacs/vi/vim (na linha de comando) que desejo visualizar o arquivo em view-mode
ou read-only
.
Eu sei como abrir um arquivo como somente leitura se o emacs/vi/vim já estiver em execução.
Responder1
Para emacs:
emacs FILE --eval '(setq buffer-read-only t)'
Não há opção de inicialização para forçar somente leitura.
Editar:
se você colocar esta pequena função em seu script de inicialização do shell (.bashrc por exemplo), poderá abrir um arquivo somente leitura digitandoev file_to_view
ev() {
emacs "$1" --eval '(setq buffer-read-only t)'
}
Responder2
vim -R nome do arquivo
Responder3
ver nome do arquivo
Basicamente vim em modo somente leitura; simples!
Conforme sugerido pelo comentário, caso view
esteja vinculado a plain vi
, aqui estãofestacomandos para primeiro inspecionar a situação e depois corrigi-la:
# 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)
Responder4
Pequeno acompanhamento da resposta aceita: você pode criar um alias para isso em seu shell para reduzi-lo a um único comando. Por exemplo, no bash você pode colocar o seguinte no seu .bashrc:
emacsro() {
emacs $1 --eval '(setq buffer-read-only t)'
}
(diferentes shells terão formatos diferentes para fazer isso, mas essa é a ideia)
Eu teria adicionado isso como um comentário em resposta à resposta aceita, mas não parecia possível ter um bloco de "código" de várias linhas em um comentário e (pelo menos no bash) o código acima realmente precisa ser em 3 linhas separadas.