Есть ли способ запустить vim в режиме только для чтения

19

Я использую / bin / view, так как это безопасный способ просмотра текстовых файлов, и после окончания работы случайные изменения не сохраняются.

/ bin / view швы, чтобы не иметь функций, которые есть у обычного vim. Есть ли способ запустить vim в режиме только для чтения или запустить / bin / view в визуальном режиме.

Я хочу иметь возможность выделять текст и вставлять его без использования моей мыши. Визуальный режим делает это так легко.

Проблема, с которой я столкнулся, связана с дистрибутивами CentOS / Redhat Linux, - это визуально.

# 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
источник
viewссылка (обычно символическая в наши дни), vimкоторая работает vimв режиме только для чтения. Вы , viewкажется, связан с другим , vimчем тот , который вы получаете от выполнения «ВИМ». Посмотрите справочную страницу update-alternatives (8), чтобы узнать, как это исправить.
garyjohn

Ответы:

21

Смотрите $ vim --helpдля многих аргументов запуска Vim.

Для запуска Vim в режиме только для чтения это будет:

$ vim -R filename

РЕДАКТИРОВАТЬ

$ viewи, $ vim -Rкажется, одно и то же с помощью символических ссылок. Я не уверен, какие функции вы получите от бега $ vim -R, которых у вас нет $ view.

Здесь, в Ubuntu, я могу визуально выбирать вещи в обоих.

romainl
источник
В centos view и vim -R не совпадают. представление компилируется с -visual по некоторым причинам.
Nelaaro
8

Если вы забыли -Rопцию при запуске vim, вы можете использовать:

:set ro
кэв
источник
2

Если ваша цель просто не перезаписать исходный файл, вы можете прочитать vim с помощью функции stdin:

cat filename | vim -
Джеймс М. Лей
источник
1

Как уже упоминалось @garyjohn, viewчасто символически связано с либо viили vim. В зависимости от того, какой дистрибутив Linux вы используете и как viили vimбыли установлены, это может варьироваться. В моей системе RHEL 6 вывод ls -l `which view`показывает, что /bin/viewсимволически связано с vi.

Так что если вы хотите особенности vimв режиме только для чтения вы либо необходимость псевдонима viewдля vimили использования vim -R <filename>раствора , предоставленный @kev (если вы не имеете привилегии , чтобы изменить символические ссылки на рассматриваемой системе).

gmorganVA
источник
Это то, что я сделал, и он отлично работает (где vimлюбая версия / вкус Vim). Теперь у меня может быть окно только для чтения для просмотра параллельных различий vim, с другим окном, одновременно редактирующим фактический файл.
Бенджамин Р