¿Hay alguna manera de iniciar vim en modo de solo lectura?

19

Uso / bin / view, ya que es una forma segura de ver archivos de texto y no tener cambios accidentales una vez que haya terminado.

/ bin / view parece que carece de las características que tiene vim normal. ¿Hay alguna manera de iniciar vim en modo de solo lectura o iniciar / bin / view con modo visual?

Quiero poder seleccionar texto y pegarlo sin tener que usar mi mouse. El modo visual hace que sea tan fácil hacer eso.

El problema que tengo está relacionado con las distribuciones CentOS / redhat Linux, es el visual a la vista.

# vim --version | grep visual
+ user_commands + vertsplit + virtualedit + visual + visualextra + viminfo + vreplace 
# view --version | grep visual
-textobjects -title -toolbar -user_commands -vertsplit -virtualedit -visual
nelaaro
fuente
viewes un enlace (generalmente simbólico en estos días) vimque se ejecuta vimen modo de solo lectura. Su viewparece estar ligada a una diferente vimque la que se obtiene a partir de la ejecución de "vim". Eche un vistazo a la página del comando man update-alternative (8) para ver cómo solucionarlo.
garyjohn

Respuestas:

21

Vea $ vim --helplos muchos argumentos de lanzamiento de Vim.

Para iniciar Vim en modo de solo lectura, sería:

$ vim -R filename

EDITAR

$ viewy $ vim -Rparecen ser uno y lo mismo a través de enlaces simbólicos. No estoy seguro de qué características obtendrás al ejecutar $ vim -Rque no tienes $ view.

Aquí, en Ubuntu, puedo seleccionar visualmente cosas en ambos.

romainl
fuente
En centos, view y vim -R no son lo mismo. view se compila con -visual por alguna razón.
nelaaro
8

Si olvidó la -Ropción al iniciar vim, puede usar:

:set ro
kev
fuente
2

Si su objetivo es simplemente no sobrescribir el archivo original, puede leer la función vdin de stdin:

cat filename | vim -
James M. Lay
fuente
1

Como mencionó @garyjohn, a viewmenudo está simbólicamente vinculado a cualquiera vio vim. Dependiendo de qué distribución de Linux esté utilizando y cómo vio cómo vimse instaló, esto podría variar. En mi sistema RHEL 6, la salida de ls -l `which view`muestra /bin/viewestá vinculada simbólicamente vi.

Así que si quieres las características de vimen modo de sólo lectura que le sea necesidad de alias viewpara vimo uso vim -R <filename>solución proporcionada por @kev (asumiendo que no tiene privilegios para cambiar los enlaces simbólicos en el sistema en cuestión).

gmorganVA
fuente
Esto es lo que hice, y funciona perfectamente (¿dónde vimestá cualquier versión / sabor de Vim). Ahora puedo tener una ventana de solo lectura para ver las diferencias de lado a lado vim, con otra ventana que también edita el archivo real al mismo tiempo.
Benjamin R