- E45 опция только для чтения установлена (добавить! Для переопределения)
- Как открыть файл в vim в режиме только для чтения в Linux/Unix
- Как открыть файл в режиме только для чтения:
- Понимание вариантов
- Примечание об открытии вкладки в режиме только для чтения в vim / vi
- How to open the file in the read-only mode under vi or vim
- 1. Use of view command
- 2. vi or vim command with -R option
- 3. vi modifications not allowed mode
- Справочник по Vim: Сообщения об ошибках и пояснения
- 1. Просмотр старых сообщений
- 2. Сообщения об ошибках
E45 опция только для чтения установлена (добавить! Для переопределения)
Я пытаюсь настроить расширение mcrypt в моем Ubuntu Server VirtualBox для работы на моей странице phpMyAdmin.
Я побежал, vi /etc/php5/mods-available/mcrypt.ini а затем я изменился extension=mcrypt.so на, extension=/usr/lib/php5/20121212/mcrypt.so и когда я попытался сохранить изменения, он сказал это:
Я думаю, что, возможно, я сделал ошибку, удалив что-то раньше, extension=mcrypt.os и я не знаю, что делать.
Вероятно, пользователь, которого вы запустили vi /etc/php5/mods-available/mcrypt.ini , не имел права на запись в файл. vi замечает это при открытии файла и, когда вы пытаетесь сохранить файл, выдает E45 ошибку и напоминает, что вы можете попытаться переопределить доступность файла только ‘!’ для чтения, добавив к команде.
Например, если вы отредактировали файл, принадлежащий вашему пользователю, защищенный 444 (r—r—r—) , вы получите это сообщение, когда сделаете :wq , но можете попытаться форсировать запись :wq! . В вашем случае я предлагаю сделать ls -l /etc/php5/mods-available/mcrypt.ini . Чтобы на самом деле редактировать файл, вы можете использовать, sudo чтобы временно использовать силу root , и сделать sudo vi /etc/php5/mods-available/mcrypt.ini
Вы можете нажать Esc , а затем U , а затем набрать :q .
Вы можете попробовать открыть файл с sudo привилегиями: sudo vi
Это происходит, когда пользователь пытается записать файл без необходимых разрешений. Войдите в систему как пользователь root, sudo su и теперь вы можете редактировать .
Сначала выйдите из редактора vim, используя: :qa!
Далее используйте sudo vim filename и позже: :wq
Источник
Как открыть файл в vim в режиме только для чтения в Linux/Unix
Мне нужно открыть необходимые файлы в режиме чтения (только для чтения), чтобы избежать случайного редактирования таких файлов, как /etc/resolv.conf или большой файл конфигурации или файл программирования на производственном сервере. Как открыть файлы в режиме только для чтения в текстовом редакторе vim в Linux или Unix-подобной системе?
Вы можете запустить текстовый редактор vim или vi в режиме только для чтения. Вы будете защищены от написания файлов. Существуют различные способы достижения режима защиты от записи в vim.
Как открыть файл в режиме только для чтения:
Понимание вариантов
Самый простой синтаксис выглядит следующим образом:
Если вы попытаетесь что-либо написать, вы получите ошибку, которая выглядит следующим образом:
Таким образом просто добавьте ! , чтобы заставить перезаписать файл:
Опция -R устанавливает режим только для чтения. Будет установлен параметр «только для чтения». Вы все равно можете редактировать буфер, но вам будет запрещено случайно перезаписывать файл. Если вы хотите перезаписать файл, добавьте восклицательный знак в команду Ex, как в «: w!» Или «: x!».
Если вы внесли некоторые изменения и действительно хотите сохранить его, просто введите:
Опция -m принудительно изменяет файлы. Она сбрасывает опцию ‘write‘. Вы все равно можете изменить буфер, но запись файла вообще невозможна:
Опция -M заставляет опции «modifiable» и «write» отменяться, поэтому изменения не допускаются, и файлы не могут быть записаны.
Если вы попытаетесь вставить или изменить текст, вы получите сообщение об ошибке на экране: «E21: Cannot make changes, ‘modifiable’ is off»:
Рисунок 01: Откройте файл на вкладке vim в режиме только для чтения, используя опцию -M
Примечание об открытии вкладки в режиме только для чтения в vim / vi
Если вы захотите открыть новую вкладку, синтаксис будет выглядеть следующим образом:
ИЛИ открыть в одной области экрана:
Например, отредактируйте /etc/nginx/nginx.conf в режиме только для чтения:
Теперь откройте файл с именем /etc/nginx/conf.d/cyberciti.biz.conf или /etc/nginx/conf.d/default.conf в режиме только для чтения на новой вкладке, для этого используйте:
Чтобы перейти к следующему типу вкладок:
Чтобы перейти к предыдущему типу вкладок:
Чтобы перечислить все вкладки, введите:
Примеры возможных выводов данных:
Анимированный рисунок 01: Откройте файл и вкладку vim в режиме демонстрации только для чтения
Источник
How to open the file in the read-only mode under vi or vim
Published: February 11, 2017 | Modified: June 2, 2020
Learn how to open the file in the read-only mode under vi or vim editor. Opening it as read-only prevents any accidental edits in the file and maintain file integrity.
“vi editor” is sysadmin’s and programmer’s daily text editor in Linux Unix systems. Opening a file to view its content can be achieved by many commands like cat , more , less etc. But many prefer to open a file in vi editors to view. Especially when the file is long and one needs to search particular terms in it. Vi editor makes it easy to search content, line numbering while viewing files.
One of the disadvantages is you are prone to accidentally alter file content and end up saving it in the file. This is a threat to file integrity and hence needs to be avoided. The option is to view files in vi editors carefully or open them in read-only mode!
Lets see different ways to view file in read only mode under vi :
1. Use of view command
One of the widely used ways to view files in vi editors. Simple open file with view command. It will open in vi editors and any attempt to save/alter data will result in failure, securing your file from accidental edits.
You can see above it shows readonly at the bottom and open file in vi editors. If you get into INSERT mode to edit any content of the file you will see below warning.
If you try to save edited content then you will see below warning
So this is 2 level warnings before you could actually save the file using override option w! . There is no way you could *accidentally* ignores two warnings and make accidental edits in the file!
2. vi or vim command with -R option
Another way is to open the file in vi editors with -R option. It functions the same way as above and also shows the same double-layered warning messages when you enter INSERT mode and try to save the file. This option still lets you save the edits made in the buffer by using override w! .
You can open file using vi -R filename
3. vi modifications not allowed mode
Modification not allowed mode can be called using -M option. From the man page, The ’modifiable’ and ’write’ options will be unset, so that changes are not allowed and files can not be written.
Unlike the above two options, this mode won’t let you edit files at all. It will show below error at the bottom when you enter INSERT mode.
So you won’t be able to type in anything even you try INSERT mode. If you try to save the file with :w then it will show you below error :
This makes it the most secure way to open files in the read-only mode under vi to avoid accidental content alteration!
Let us know which way you use most in your daily operations in comments. Happy viewing! 🙂
Источник
Справочник по Vim: Сообщения об ошибках и пояснения
СПРАВОЧНИК ПО VIM — Брам Мооленаар
Этот файл содержит алфавитный список сообщений и ошибок, которые выдаются редактором. Вы можете прочитать в нём пояснения к сообщениям, которые не совсем понятны. Следует заметить, однако, что этот список не полный.
(Замечание переводчика: для сортировки по алфавиту используются английские сообщения об ошибках, которые указываются наряду с русскими).
1. Просмотр старых сообщений
Для просмотра старых сообщений используйте команду «:messages». Эта команда особенно полезна в тех случаях, когда старые сообщения были переписаны более новыми или были обрезаны при выводе (это зависит от значения опции ‘shortmess’).
Количество сообщений, хранящихся в истории равняется 20.
Если вы пользуетесь переведёнными сообщениями, то в первой строке указан автор перевода. Вы можете использовать эту информацию, чтобы сообщить автору, если заметите в переводе неточность.
Если вы хотите получить помощь по определённому сообщению об ошибке, используйте номер ошибки, который указан в начале сообщения. Например, чтобы получить справку по сообщению:
или (в переводе на другой язык):
Если вам лень нажимать кнопку shift, то сойдёт и так:
2. Сообщения об ошибках
Если сообщение об ошибке исчезло раньше, чем вы смогли его прочитать, то можно прочитать его снова с помощью команды:
или, чтобы посмотреть весь список последних сообщений:
СПИСОК СООБЩЕНИЙ
E222, E228, E232, E256, E293, E298, E304, E317, E318, E356, E438, E439, E440, E316, E320, E322, E323, E341, E473, E570
Добавление в буфер чтения | Add to read buffer |
makemap: недопустимый режим | makemap: Illegal mode |
Невозможно создать BalloonEval с сообщением и обратной связью | Cannot create BalloonEval with both message and callback |
ОШИБКА автоматики Хангыл | Hangul automata ERROR |
блок не заблокирован | block was not locked |
Не получен блок номер | Didn’t get block nr |
ml_timestamp: Не получен блок 0?? | ml_timestamp: Didn’t get block 0?? |
неправильное имя указателя блока | pointer block id wrong |
Обновлено слишком много блоков? | Updated too many blocks? |
ОШИБКА get_varp | get_varp ERROR |
u_undo: неправильные номера строк | u_undo: line numbers wrong |
список отмены поврежден | undo list corrupt |
нет строки отмены | undo line missing |
ml_get: не могу найти строку | ml_get: cannot find line |
Не могу найти строку | cannot find line |
номер строки за пределами нижней границы диапазона: | line number out of range: |
неправильное количество строк в блоке | line count wrong in block |
Внутренняя ошибка | Internal error |
Критическая ошибка в cs_manage_matches | fatal error in cs_manage_matches |
Это всё внутренние ошибки редактора. Если вы можете их воспроизвести, отправьте сообщение. |глюки|
ВНИМАНИЕ Обнаружен своп-файл с именем . | ATTENTION Found a swap file by the name . |
Буфер | Buffer |
Вы попробовали обратиться к буферу, который не существует. Ошибка также возникнуть при переходе в удалённый буфер при помощи отметок или другого механизма. |:bwipeout|
Буфер с этим именем уже существует | Buffer with this name already exists |
Нельзя иметь два буфера с одинаковым именем.
Ошибка закрытия своп-файла | Close error on swap file |
Используемый для хранения копии редактируемого текста |своп-файл| не был закрыт как полагается. Это, как правило, довольно безобидное состояние.
Слишком рекурсивная команда | Command too recursive |
Это сообщение возникает, когда команда Ex выполняет другую команду Ex, которая в свою очередь выполняет другую команду Ex и т.д. Рекурсия в командах Ex ограничена 200 вложениями. Если таких вложений больше, то наиболее вероятно, что речь идёт о бесконечном цикле. Скорее всего, причиной такой ошибки может быть неправильная команда |:execute| или |:source|.
Невозможно назначить цвет | Cannot allocate color |
Цвет с именем <имя>не известен редактору. Список доступных в большинстве систем цветов см. |gui-цвета|.
Невозможно выделить память для цвета «xxxx» Невозможно выделить память для цвета, цвет может отображаться некорректно | Cannot allocate colormap entry for «xxxx» Cannot allocate colormap entry, some colors may be incorrect |
Это означает, что для Vim осталось недостаточно цветов в системе. Vim будет работать, но цвета могут отображаться некорректно. Попробуйте закрыть приложение, которое использует слишком много цветов из таблицы, или запускайте это приложение после запуска gvim.
Занимать множество цветов из таблицы очень любит Netscape. Однако, ему можно подсказать пользоваться встроенной таблицей цветов:
или его можно ограничить в использовании системной таблицы цветов:
Это также можно сделать при помощи строки в файле Xdefaults:
Невозможно преобразовать маску | Cannot expand wildcards |
Имя файла содержит странную комбинацию символов, которые заставляют Vim выполнить попытку преобразования шаблона-маски, но завершить эту операцию ему не удаётся. Это НЕ означает, что соответствующие файлы не найдены, это значит что маска была задана неправильно.
Невозможно вернуться в предыдущий каталог | Cannot go back to previous directory |
При разборе имени файла Vim не смог вернуться в каталог, использовавшийся до этого. Все имена файлов, которые были использованы, могут быть неправильными! Вам необходимо иметь права на исполнение для данного каталога.
E190, E212
Невозможно открыть для записи файл «<имя_файла>« Невозможно открыть файл для записи | Cannot open « Can’t open file for writing |
Файл, в который вы записываете информацию по какой-либо причине не может быть создан или перезаписан. Например, это может происходит потому, что у вас нет прав для записи этого файла, или имя файла указано неправильно.
Невозможно открыть файл ссылки для записи | Can’t open linked file for writing |
Вы пытаетесь записать файл по ссылке (жёсткой или символической), который не может быть перезаписан. Запись может быть возможна, если права на каталог, в котором находится ссылка позволяют это, или в том случае, если права на сам файл позволяют это сделать, но Vim не знает, хотите ли вы удалить ссылку и записать файл с тем же именем на её месте, или же вы хотите удалить сам файл и записать новую информацию на его месте. Если вы на самом деле хотите записать файл с таким именем, то вы должны вручную удалить ссылку или файл, либо изменить права доступа.
Нельзя изменить значение переменной «<имя>» (доступна только для чтения) | Cannot set read-only variable « |
Вы пытаетесь присвоить значение аргументу функции |a:var| или внутренней переменной Vim |v:var|, которая доступна только для чтения.
Невозможно выгрузить последний буфер из памяти | Cannot unload last buffer |
Vim требует, чтобы по меньшей мере один буфер всегда был загружен, иначе будет нечего показывать в окне.
Невозможно открыть файл ошибок | Can’t open errorfile |
При использовании команды «:make» или «:grep»: файл, который использовался для сохранения сообщений об ошибках компилятора или вывода команды «grep» не может быть открыт. Для этого может быть несколько причин:
- неправильное значение опции ‘shellredir’
- изменение каталога в оболочке, из-за чего изменилось положение файла ошибок. Это можно исправить с помощью настройки опции ‘makeef’, однако команда make по прежнему будет выполняться в другом каталоге.
- неправильное значение опции ‘makeef’.
- программа, указанная в опции ‘grepprg’ или ‘makeprg’ не может быть выполнена. Это не всегда может быть распознано (особенно на MS-Windows). проверьте значение переменной окружения $PATH.
Невозможно открыть файл C:\TEMP\VIoD243.TMP | Can’t open file C:\TEMP\VIoD243.TMP |
Это сообщение появляется на MS-Windows, когда должен был быть прочитан вывод внешней программы, которая не была выполнена успешно. Это может быть вызвано несколькими причинами. Проверьте значение ‘shell’, ‘shellquote’, ‘shellxquote’, ‘shellslash’ и других соответствующих опций. Также это может быть вызвано тем, что внешняя программа не была найдена — для этой ситуации нет отдельного сообщения об ошибке.
Команда не допустима из exrc/vimrc в текущем каталоге или файле меток | Command not allowed from exrc/vimrc in current dir or tag search |
Некоторые команды не могут быть выполнены по требованиям безопасности. Чаще всего такое сообщение выдаётся при выполнении файла .exrc или .vimrc в текущем каталоге или в каталоге файла меток. См. также ‘secure’.
Слишком сложная команда | Command too complex |
Расшифровка привязки приводит к слишком длинной командной строке. Также может быть вызвано неявным вызовом привязки из самой привязки.
ОШИБКА ПРЕОБРАЗОВАНИЯ | CONVERSION ERROR |
Если при записи файла появляется текст «ОШИБКА ПРЕОБРАЗОВАНИЯ», то это означает, что преобразование файла из используемой внутри Vim кодировки UTF-8 в кодировку файла было выполнено с потерей данных. Файл будет помечен как содержащий изменения. Если вас беспокоит потеря информации, то установите такое значение опции ‘fileencoding’, которое позволит сохранить файл без потерь, и запишите файл снова. Если вас это не сильно заботит, то вы можете отключить опцию ‘modified’ или выйти из буфера.
Невозможно переименовать своп-файл | Could not rename swap file |
При изменении имени файла Vim пытается также переименовать имя |своп-файла|. Если это не получится, то Vim выдаст данное сообщение и продолжит использование старого своп-файла. Ничего страшного.
E43, E44
Поврежденная строка соответствий Поврежденная программа регулярных выражений | Damaged match string Corrupted regexp program |
Что-то внутри Vim произошло не так и, в результате, регулярные выражения были повреждены. Если вы знаете, как воспроизвести эту ошибку, то сообщите, пожалуйста, об этом. |глюки|
E208, E209, E210
Ошибка записи в «<файл>« Ошибка закрытия «<файл>« Ошибка чтения «<файл>« | Error writing to « Error closing « Error reading « |
Эти ошибки возникают в тех ситуациях, когда Vim пытается переименовать файл, но простого изменения имени файла недостаточно. В этом случае файл должен быть скопирован, но по каким-то причинам это не удалось. В результате может оказаться, что существует как оригинальный файл, так и его копия, но копия файла может быть неполноценной.
Vim: Ошибка чтения ввода, выход. | Vim: Error reading input, exiting. |
Это сообщение возникает в тех случаях, когда Vim не может считать требуемые для продолжения работы символы из потока ввода. Vim в таких случаях не знает что делать и ему больше ничего не остаётся, кроме как закончить работу. Это может произойти в том случае, когда стандартный ввод stdin и стандартный поток диагностики stderr перенаправлены и выполняется сценарий, в результате которого Vim не прекращает работу.
Ошибка чтения файла ошибок | Error while reading errorfile |
Чтение файла ошибок невозможно. Это сообщение НЕ связано с неспособностью Vim распознать то или иное сообщение в файле ошибок.
Ошибка при записи | Error while writing |
Запись файла не была завершена корректно. Файл может быть записан не полностью.
E13, E189
Файл уже существует (добавьте !, чтобы обойти проверку) «<файл>» существует (!, чтобы обойти проверку) | File exists (use ! to override) « |
Vim предохраняет вас от случайной перезаписи файла. Если вы хотите всё-таки записать файл, то используйте ту же самую команду, но с добавлением «!» сразу после команды. Например:
Файл загружен в другой буфер | File is loaded in another buffer |
Вы пытаетесь записать файл под именем, которое используется в другом буфере. Это приведёт к появлению двух версий одного и того же файла.
Файл не сохранён: запись отменена опцией ‘write’ | File not written: Writing is disabled by ‘write’ option |
Отключена опция ‘write’, в результате чего выполнение любой команды, которая пытается записать файл, приводит к появлению этого сообщения. Это также может быть вызвано запуском Vim с аргументом |-m| в командной строке. Вы можете включить опцию ‘write’ с помощью команды «:set write».
Возможность использования GUI не включена во время компиляции | GUI cannot be used: Not enabled at compile time |
Вы работаете в версии Vim, в которую не включён графический интерфейс, из-за чего команды «gvim» и «:gui» работать не будут.
Неправильная величина прокрутки | Invalid scroll size |
Сообщение вызвано неправильным значением для опций ‘scroll’, ‘scrolljump’ или ‘scrolloff’.
Вы пытались записать файл с именем существующего каталога, что невозможно. Вам следует добавить имя файла.
Отметка указывает на неправильный номер строки | Mark has invalid line number |
Вы используете отметку, которая указывает на несуществующий номер строки. Это может произойти, например, в том случае, когда у вас имеется отметка в тексте, но в какой-нибудь другой программе были удалены строки в этом файле.
E219, E220
Пропущена <. Пропущена >. | Missing <. Missing >. |
В имени файла используется конструкция <>, но при этом не было указано пары для той или иной фигурной скобки. Эта конструкция должна быть использована так:
ml_get: неправильный lnum: | ml_get: invalid lnum: |
Это внутренняя ошибка Vim. Постарайтесь воспроизвести эту ошибку и отправьте сообщение разработчикам. |bugreport.vim|.
Есть неотредактированные файлы (<число>) | |
Вы пытались выйти из Vim в то время как в списке аргументов остались неотредактированные файлы. Это предохраняет вас от выхода из редактора, когда вы не выполнили всю работу, которую планировали. См. |список_аргументов|. Если вы действительно хотите выйти, то просто повторите команду выхода — на второй раз она сработает.
E23, E194
Нет соседнего файла Нет соседнего файла для подстановки вместо ‘#’ | No alternate file No alternate file name to substitute for ‘#’ |
Соседний файл ещё не определён. См. |соседний_файл|.
Текущий буфер не имеет имени. Для записи используйте команду «:w имя_файла». Или вы можете дать буферу имя с помощью команды «:file имя_файла».
У буфера <номер>отсутствует имя | No file name for buffer |
Один из изменённых буферов не имеет имени и поэтому не может быть записан. Вам следует дать буферу имя:
Нет предыдущего шаблона для подстановки | No previous substitute regular expression |
При использовании в шаблоне символа ‘
‘, он заменяется на раннее использованный в команде «:substitute» шаблон. Если команда ещё не использовалась, то это не будет работать. См. |/
Предыдущее регулярное выражение отсутствует | No previous regular expression |
При использовании пустого шаблона для поиска применяется предыдущий шаблон. Но, в данном случае сделать это не получилось, поскольку не было задано предыдущего шаблона для поиска.
Нет такого сокращения | No such abbreviation |
Вы использовали в команде «:unabbreviate» аргумент, который не является существующим сокращением. Такое сообщение выдают все варианты этой команды: «:cunabbrev», «:iunabbrev» и т.д. Проверьте наличие пробелов в конце сокращения.
Сообщение выдаётся только для GTK GUI с поддержкой Gnome. Gnome пытается использовать несуществующее звуковое устройство. Эту ошибку можно игнорировать.
Указанная привязка не существует | No such mapping |
Вы использовали в команде «:unmap» аргумент, который не является существующей привязкой. Такое сообщение выдают все варианты этой команды: «:cunmap», «:unmap!» и т.д. Проверьте наличие пробелов в конце привязки.
E37, E89
Изменения не сохранены (добавьте !, чтобы обойти проверку) Изменения в буфере | No write since last change (use ! to override) No write since last change for buffer |
Вы пытаетесь |бросить| редактирование изменённого файла. Vim предохраняет вас от потери результатов работы. Вы можете либо записать файл с помощью команды «w:», либо, если вы уверены, |бросить| файл и потерять все несохранённые изменения. Это можно сделать, добавляя символ ‘!’ сразу после команды.
Несохранённые изменения в буфере «<имя>« | No write since last change for buffer « |
Это сообщение появляется при попытке выхода из Vim с несохранёнными изменениями в некоторых буферах. Вы можете либо записать изменения в буфере (по команде |:w|), либо использовать соответствующую команду для насильного выхода, например «:qa!». Будьте внимательны, чтобы не потерять изменения, которые вы желаете сохранить. Возможно, вы забыли о каком-либо буфере, особенно если у буфера включена опция ‘hidden’.
Аргумент равен NULL | Null argument |
Ошибка внутри Vim привела к появлению указателя со значением NULL. Если вы знаете, как воспроизвести проблему, то сообщите пожалуйста разработчикам. |глюки|.
Разрешено использовать только одно имя файла | Only one file name allowed |
Команда «:edit» допускает только одно имя файла. Если вы хотите указать несколько файлов, то используйте команду «:next» |:next|.
E41, E82, E83, E342
Не хватает памяти! Не хватает памяти! (требуется <число>байт) Нельзя выделить память ни для одного буфера, выход. Нельзя выделить память для буфера, используется другой буфер. | Out of memory! Out of memory! (allocating Cannot allocate any buffer, exiting. Cannot allocate buffer, using other one. |
Мда. Похоже, вы делаете что-то очень сложное, или какая-нибудь другая программа съела всю свободную память. Будьте внимательны! Vim не очень хорошо справляется с подобными ситуациями. Убедитесь, что все изменения сохранены. Постарайтесь решить проблему с нехваткой памяти. Лучше всего, выйдите из Vim и запустите его снова. См. также |msdos-ограничения|.
Слишком длинный шаблон | Pattern too long |
Это происходит только на системах с 16-битными целыми: скомпилированный шаблон регулярного выражения занимает более 65000 символов. Постарайтесь использовать более короткий шаблон.
Включена опция ‘readonly’ (добавьте !, чтобы обойти проверку) | ‘readonly’ option is set (use ! to override) |
Вы пытаетесь записать файл, для которого установлен режим «только для чтения». Для записи этого файла необходимо либо выключить опцию ‘readonly’, либо добавить к команде символ ‘!’. Пример:
следует изменить на:
E294, E295, E301
Ошибка чтения своп-файла Ошибка поиска при чтении своп-файла Ну и дела, потерялся своп-файл. | Read error in swap file Seek error in swap file read Oops, lost the swap file. |
Vim столкнулся с проблемой при чтении текста из |своп-файла|. Текст в соответствующем буфере может быть повреждён! Перед записью буфера всё внимательно проверьте. Вы можете записать буфер в другой файл и сравнить различия.
Слишком большая рекурсия при использовании :normal | Recursive use of :normal too deep |
Вы используете команду «:normal», аргумент которой рекурсивно использует команду «:normal». Максимально допустимая величина рекурсии определяется настройкой опции ‘maxmapdepth’. Пример команды, которая приводит к выдаче этого сообщения:
При вводе команды «gq» будет вызвано выполнение привязки, которая, в свою очередь, выполняет команду «gq».
Сценарии слишком глубоко вложены друг в друга | Scripts nested too deep |
Сценарии могут считываться при помощи аргумента командной строки «-s» или с помощью команды «:source». Сценарий может считывать другой сценарий. Так может продолжаться до 14 уровней. При более глубоких вложениях сценариев Vim считает, что возник бесконечный цикл и останавливается с выдачей этого сообщения об ошибке.
Извините, эта команда недоступна в данной версии | Sorry, the command is not available in this version |
Вы пытались использовать команду, которая недоступна в вашей версии Vim. При компиляции Vim можно включать или отключать те или иные особенности. Это зависит от того, насколько большим Vim вам хочется пользоваться. Список особенностей см. в |+особенности-список|. Команда |:version| позволяет показать включённые при компиляции особенности для вашего Vim.
Своп-файл уже существует (атака с использованием символьной ссылки?) | Swap file already exists (symlink attack?) |
Это сообщение возникает в тех случаях, когда Vim пытается открыть своп-файл, и обнаруживает, что он уже существует, или обнаруживает на его месте символическую ссылку. Этого не должно происходить, поскольку Vim перед этим уже проверял, что файл не существует. Либо кто-то открыл этот же файл одновременно с вами (маловероятно), или кто-то пытается предпринять атаку с помощью символьной ссылки (что возможно при редактировании файла в /tmp или в тех случаях, когда значение опции ‘directory’ начинается с «/tmp», что совсем нельзя считать хорошим выбором).
Файл меток не отсортирован: | Tags file not sorted: |
Vim (и Vi) предполагают, что файл меток отсортирован в соответствии с таблицей ASCII. В этом случае можно пользоваться бинарным поиском, который намного быстрее, чем линейный поиск. Если ваш файл меток не отсортирован должным образом, то отключите опцию |’tagbsearch’|.
Это сообщение выдаётся только в том случае, когда Vim обнаруживает проблему при поиске меток, и то не всегда.
Ресурсная вилка будет утрачена (добавьте !, чтобы обойти проверку) | The resource fork would be lost (add ! to override) |
На классическом Макинтоше при записи файла Vim пытается сохранить всю информацию о файле, в том числе ресурсную вилку. Если это невозможно, вам будет выдано данное сообщение об ошибке. Для записи в обход проверки с потерей информации, добавьте символ «!» к команде.
Используется слишком много разных атрибутов подсветки синтаксиса | Too many different highlighting attributes in use |
Vim может работать только с 223 различными атрибутами для подсветки синтаксиса. Это ограничение можно превысить, если использовать слишком много команд |:highlight| с различными аргументами. Команда «:highlight link» при этом не учитывается.
Слишком много имён файлов | Too many file names |
При выполнении подстановки для маски имени файла было обнаружено более одного соответствия, в то время как данная команда допускает только одно имя файла в качестве аргумента.
Невозможно открыть своп-файл для «<имя файла>«, восстановление невозможно | Unable to open swap file for « |
Vim не смог открыть своп-файл. Вы можете продолжить редактирование файла, но при внезапном завершении работы все изменения будут потеряны. Кроме того, при редактировании большого файла Vim будет использовать много оперативной памяти. Возможно, вам следует проверить значение опции ‘directory’, чтобы избежать появления этой ошибки. См. |своп-файл|.
Для записи части буфера используйте ! | Use ! to write partial buffer |
При использовании диапазона для записи части буфера очень редко действительно необходимо перезаписать существующий файл. Поскольку это скорее всего ошибка (например, команда «:w» используется в Визуальном режиме), то Vim требует добавления ! к команде записи. Например: «:3,10w!».
Предупреждение: Невозможно преобразовать строку » Escape,_Key_Cancel» в виртуальную привязку | Warning: Cannot convert string » Escape,_Key_Cancel» to type VirtualBinding |
Подобные сообщения могут появляться при запуске. Это не проблема Vim, но, по видимому, у вас неправильно настроен сервер X11. Совет по решению данной проблемы можно найти здесь: https://groups.yahoo.com/group/solarisonintel/message/12179.
Предупреждение: изменение файла, открытого только для чтения | Warning: Changing a readonly file |
Вы пытаетесь внести изменения в файл, несмотря на то, что он доступен только для чтения. Чтобы избежать появления этого сообщения, вы можете настроить автокоманду |FileChangedRO| (автокоманда должна выключать опцию ‘readonly’). Чтобы полностью запретить внесение изменений в файл, смотрите справку по опции ‘modifiable’.
Предупреждение: файл «<имя файла>» создан после начала редактирования | Warning: File « |
Это означает, что вы начали редактировать несуществовавший раннее файл в Vim, а теперь он существует. Вам нужно решить: сохранить ли ту версию, которую вы редактируете в Vim, или существующий файл. Это сообщение выводится только в том случае, когда значение опции ‘buftype’ равно пустой строке.
Предупреждение: файл «<имя файла>» был изменен после начала редактирования | Warning: File « |
Файл, который вы начали редактировать, имеет изменённую дату и содержание (говоря точнее: если вы прочитаете с существующими опциями и автокомандами этот файл заново, то у вас в буфере будет другой текст). Наиболее вероятно, что текст был изменён в другой программе. Вам следует выяснить, что произошло, и решить, какую версию файла следует сохранить. Если вы желаете делать это автоматически, то включите опцию ‘autoread’. Это сообщение не выдаётся, если значением опции ‘buftype’ не является пустая строка.
Возможна также ситуация, при которой возникает это сообщение несмотря на то, что ничего не произошло: имеется в виду тот случай, когда вы сохранили файл в Windows в день, когда часы переводятся на летнее время. Эту ситуацию можно исправить несколькими способами:
добавьте в файл autoexec.bat строку:
Вместо «-1» укажите ваш часовой пояс.
Предупреждение: файл «<имя файла>» и буфер Vim были изменены независимо друг от друга | Warning: File « |
Та же ситуация, что и в предыдущем предупреждении, но также был изменён и буфер Vim, открытый для этого файла. Вам необходимо решить: сохранить версию файла, записанную на диске, или ту, которая открыта в Vim. Это сообщение выводится только в том случае, когда значение опции ‘buftype’ равно пустой строке.
Предупреждение: права на файл «<имя файла>» были изменены после начала редактирования | Warning: Mode of file « |
Это сообщение выдаётся в тех случаях, когда изменились права доступа к файлу, без изменения содержимого буфера. Чаще всего это происходит, когда файл забирается из хранилища системы управления версиями, что приводит к изменению прав на запись. Перезагрузка файла не должна вызвать осложнений. Для автоматической перезагрузки файла включите опцию ‘autoread’.
Предупреждение: файл «<имя файла>» больше не доступен | Warning: File « |
Файл, который вы начали редактировать был удалён или недоступен. Убедитесь, что все ваши изменения будут сохранены. Это сообщение выводится только в том случае, когда значение опции ‘buftype’ равно пустой строке.
Предупреждение: список имен файлов переполнен | Warning: List of file names overflow |
Похоже, вы используете слишком много буферов. По этой причине разные буферы могут иметь один и тот же номер, что может привести к различным проблемам. Лучше всего выйти из Vim и запустить его снова.
E296, E297
Ошибка поиска при записи своп-файла Ошибка записи своп-файла | Seek error in swap file write Write error in swap file |
Наиболее вероятно, что у вас кончилось место на диске. Vim не смог записать текст в |своп-файл|. Эта ошибка не является фатальной, но если произойдёт какая-либо авария, то вы не сможете восстановить изменения в тексте файла. Vim также может начать испытывать недостаток памяти.
Xlib: connection to » или , чтобы обновить экран и продолжить работу. Нажатая кнопка больше ни на что не влияет. Vi: распознаются только «:»-команды. Чтобы уменьшить количество сообщений «нажмите enter»:
См. также справку по опции ‘mouse’. Это сообщение выделяется с помощью группы подсветки |hl-Question|.
Это сообщение выводится в тех случаях, когда вывод не умещается на экране. Оно выдаётся только при включённой опции ‘more’. Сообщение выделяется с помощью группы подсветки |hl-MoreMsg|.
Остальные клавиши выводят подсказку о том, какими клавишами можно пользоваться. (*) прокрутка назад поддерживается только для следующих команд: (**) нажатие на левую кнопку мыши работает только в следующих случаях:
Замечание: введённый символ напрямую принимается с терминала. Привязки не учитываются. Упреждающий ввод игнорируется. Источник |