Existe-t-il un moyen de dire à emacs / vi / vim (à partir de la ligne de commande) que je souhaite afficher le fichier dans view-mode
ou read-only
.
Je sais comment ouvrir un fichier en lecture seule si emacs / vi / vim est déjà en cours d'exécution.
linux
command-line
vim
emacs
Fusil
la source
la source
Réponses:
Pour Emacs:
Il n'y a pas d'option de démarrage pour forcer la lecture seule.
Edit:
Si vous mettez cette petite fonction dans votre script de démarrage du shell (par exemple, .bashrc), vous pouvez ouvrir un fichier en lecture seule en tapant
ev file_to_view
la source
vim -R nom de fichier
la source
voir le nom du fichier
Fondamentalement vim en mode lecture seule; simples!
Comme l'indique le commentaire, dans le cas où il
view
est lié à plainvi
, voici les commandes bash pour inspecter d'abord la situation, puis la résoudre:la source
vim
mise en surbrillance de la syntaxeview
n'est pas la vôtre , il se peut que votreview
lien avec une version minimalevim
ne contienne pas de mise en évidence de la syntaxe compilée. Comparez les résultats de la:version
commande.argv[0]
pour décider de son comportement. C'est un truc commun. Pour autant que je sache, parfois GCC et Bash le font également.permet d'écrire avec
:w!
Empêche l'utilisateur d'apporter des modifications au fichier dans la mémoire tampon. Mais l’utilisateur peut rendre le tampon modifiable avec
:set modifiable
Vous pourriez utiliser
pour empêcher l'utilisateur de désactiver le "nomodifiable", et lui permettre de quitter en appuyant sur
q
. Mais, alors l'utilisateur ne peut pas entrer du tout en mode commande, ce qui peut être ou ne pas être ce que vous voulez.Vous pouvez également ouvrir le fichier avec la commande less:
Pour afficher le fichier dans un environnement semblable à vim mais sans possibilité de le modifier.
la source
less
, bien que, comme le souligne @nxdrvr, vous pouvez appuyer sur la touche v pour ouvrir le fichier en modevi
Petit suivi de la réponse acceptée: vous pouvez aliaser cela dans votre shell pour le réduire à une seule commande. Par exemple, dans bash, vous pouvez mettre ce qui suit dans votre .bashrc:
(différents coquillages auront différents formats pour le faire, mais vous voyez l'idée)
J'aurais ajouté ceci en tant que commentaire en réponse à la réponse acceptée, mais il ne semblait pas possible d'avoir un bloc "code" multiligne dans un commentaire, et (en bash de toute façon) le code ci-dessus doit vraiment être sur 3 lignes séparées.
la source
Pour visualiser un fichier sans possibilité d’édition:
En
less
vous pouvez aller en "mode fichier" en appuyant sur la vtouche. Mais vous ne pouvez pas éditer l'entrée standard, aussi, si vous redistribuez la sortie decat <file>
moins, vous ne pourrez pasless
passer en mode "édition" en appuyant sur "v".Pour vim la même approche
la source
v
suggestion. Chouette.cat
. Il suffit d'utiliser<FILENAME less
.<file> less
donnerait une erreur, je suppose que vous vouliez direless <file>
, mais comme expliqué dans la réponse, lorsqu'il utilisaitless
directement, l'utilisateur pouvait appuyer sur la touche v et passer en mode édition. Tuyauteriecat
pourless
empêcher cela de se produire.less < FILENAME
, ce qui vous donne « Impossible de modifier l' entrée standard » lorsque vous appuyez sur V . De même avec Vim:vim - < FILENAME
.Pour emacs, vous pouvez également utiliser le mode d'affichage .
ou alternative à l'intérieur d'un terminal:
Ou vous pouvez utiliser mon script wrapper
la source
Dans Emacs, vous pouvez faire
La mise en évidence de la syntaxe est appliquée. Il ne suffit pas d'ouvrir le fichier en tant que tampon en lecture seule. Certaines commandes, telles que I-search, sont accessibles sans la touche de navigation dans ce mode.
la source
l'envoi d'un fichier sur std out, peut être acceptable compte tenu de la taille du fichier
la source
Je ne vais pas discuter à quiconque réponse utilisateur ici, mais je voudrais ajouter plus d'informations sur le
Read-only Mode
fichier. Selon la documentation oreilly Mode lecture seule Il arrivera parfois que vous souhaitiez consulter un fichier, mais que vous souhaitiez protéger ce fichier des frappes et des modifications involontaires. (Vous souhaiterez peut-être appeler un fichier volumineux pour s'exercer à effectuer des mouvements de vi, ou faire défiler un fichier de commande ou un programme). Vous pouvez entrer un fichier en mode lecture seule et utiliser toutes les commandes de mouvement de vi, mais vous ne pourrez pas modifier le fichier.Pour regarder un fichier en mode lecture seule, entrez soit:
ou:
(La commande view, comme la commande vi, peut utiliser n’importe quelle option de ligne de commande pour accéder à un emplacement spécifique du fichier.) Si vous décidez d’apporter des modifications au fichier, vous pouvez remplacer le mode lecture seule par ajout d'un point d'exclamation à la commande write:
Si vous rencontrez un problème pour écrire le fichier.
Pour plus de ref ici
la source