Есть ли способ отключить запрос «Нажмите ENTER или введите команду для продолжения», который появляется после выполнения внешней команды?
РЕДАКТИРОВАТЬ: нашел обходной путь: добавьте дополнительный <CR>
ярлык в мой .lvimrc.
map <F5> :wall!<CR>:!sbcl --load foo.cl<CR><CR>
Есть идеи получше?
set dir=$TEMP
ваш vimrc. Это указывает vim использовать правильную временную папку для своих временных файлов. Это, в свою очередь, исправляет ошибки и удаляет подсказки «нажмите ввод».Ответы:
Я не уверен, как это сделать глобально, хотя для одной команды:
Не забудьте поставить пробел после
silent
источник
:redraw!
вариант решает эту проблему. Дабл<cr>
наверное похож. и менее сложныйОбнаружено одно обходное решение: добавить дополнительный элемент
<CR>
в команду карты.источник
источник
:help hit-enter
предоставляет довольно полезную справочную информацию о приглашении «Нажмите ENTER ...». Не хочешь объяснить?set hl
(:highlight
), которое я неправильно использовал в качестве ярлыка для того,hlsearch
кто есть настоящий ярлыкhls
. Одноs
имеет значение :)set nomore
Установите
cmdheight
значение 2 в моем vimrc (:e $MYVIMRC
):Больше информации здесь .
источник
Вот как я справился с проблемой, заключающейся в том, что запуск внешней программы в автоматическом режиме приводит к беспорядку на экране в текстовом режиме vim (по моему опыту, gvim не страдает от этой проблемы):
Используйте его вместо обычной тихой команды:
источник
Возможно, это синтаксическая ошибка в файле vimrc
источник
set number
а затемset syntax
прямо в моем файле .vimrc. Как только я удалилset syntax
Vim, мне больше не предлагали.:message
чтобы узнать, что не так.set syntax
. Заменил на,set syntax=on
и проблема устранилась.Ответ Энтони привел меня в нужное место, и я смог настроить gvim так, чтобы он не останавливался на большом количестве сообщений.
Я добавил набор
shortmess=aoOtI
в свой файл gvimrc.Это объясняется на странице справки, предоставленной вам
:help shortmess
.Буквы означают классы сообщений, которые вы не хотите видеть или хотели бы, чтобы vim усекал, чтобы избежать нажатия Enter Stop. Раньше
мне удавалось это сделать, установив широкое начальное окно с помощью
columns=130
gvimrc, чтобы несколько сообщений переполняли его и требовали раздражающей, утомительной необходимости нажать Enter.источник
Вот как я запускаю внешние команды в сложных сценариях, не нажимая «Нажмите ENTER». В отличие от этого
:silent
, я все еще могу видеть вывод команды.Командная строка
Скрипт / функция
Сопоставление с
<expr>
Сопоставление с
<expr>
этим вызывает функциюисточник
<command>
<command>
предполагается заменить реальной внешней командой, напримерmap <expr> <F5> ":exe ':!gdb'\n:redraw\<CR>"
Ты можешь использовать:
Например:
источник
Помещение перерисовки до очистки экрана тоже работает. Вот что у меня было:
Но это не вызовет подсказку:
источник
redraw
решила это. Другое решение не подходило, поскольку я хотел принять ввод пользователя между исходным сообщением и исчезновением приглашения.Мой случай (автокоманда)
set shortmess+=F
сделал свое дело .источник
У меня аналогичная проблема, но когда я запускаю argdo для замены одной и той же строки в нескольких файлах, например,
Мне постоянно приходилось нажимать на страницу вниз.
Вы можете установить следующую опцию перед запуском скрипта, чтобы отображалась только последняя подсказка вместо множества подсказок.
источник
:set nomore
Плохо лижут, это все еще в конце». Он также находится в:h help hit-enter
@anthonyЭто происходит со мной, если я сохраняю файл, который находится в каталоге, в котором у меня нет прав на запись в каталог. Я выполнил chmod 777 для каталога (у меня уже были права на запись в сам файл), и сообщение «Press ENTER» больше не появляется.
источник
Но если вы выполняете команду из командной строки vim. Тогда это довольно сложно. Вы можете добавить ключевое слово
silent
перед вашей реальной командой. Он автоматически вернет вас в окно vim после выполнения команды. Но вам все равно нужно выполнить вручную, такredraw
как некоторые окна, такие как NERD_Tree, необходимо перерисовать.В этом случае попробуйте следовать инструкциям из справочной документации vim:
Эта ссылка предоставляет другой выход. Поместите это в свой файл vimrc
И тогда вы можете использовать
:Silent command
как обычную команду.источник
На моей стороне решением было более частое использование
silent
в цепочке команд .Конкретно раньше
.vimrc
было:Это было изменено на:
Раньше "Press ENTER" появлялось не всегда, но досадно часто. Дополнительные
silent
s исправили это. (Похоже,silent
он не нужен,redraw!
поскольку:cc
появилось сообщение «Нажмите ENTER».)К вашему сведению:
Мотивация этого
M
отображения - просто нажатьM
в нормальном режиме, чтобы:make
все равно все находится подgit
контролем)make
Мои
Makefile
s обычно строятся так, что это занимает всего долю секунды.После небольшой настройки это можно применить и к нетиповым
C
рабочим нагрузкам:В
.vimrc
ономЭто позволяет
vim
интерпретировать следующие сообщения для:cc
(ошибка отображения):(
E
rrors,W
arnings,I
nfo, основано наvim
магии)Пример использования этого для скриптов Python . (Извините, копии здесь нет, это отдельная история.)
источник
Если ваша ошибка вызвана E303, то создание временного каталога в
.vimrc
файле может исправить это.После открытия любого файла напишите и введите:
Если есть ошибки, он подскажет.
Если вы видите E303 (Ошибка 303) «Невозможно открыть файл подкачки для« {имя_файла} », восстановление невозможно», это может означать, что в системе была предпринята старая попытка восстановить файл подкачки (скорее всего, потерянный или несуществующий). .
Чтобы исправить это, назначьте временный каталог в
.vimrc
файле.Чтобы найти расположение
.vimrc
файла, введите и введите следующее:Открыть файл
$ vi .vimrc
Добавьте это в конец файла:
Сохранить и закрыть с помощью
:wq
Наконец, перезагрузите профиль с помощью:
Попробуйте открыть любой файл с помощью VI. Проблема должна быть устранена.
источник
На
gvim
, если вы установилиguioptions+=!
(Добавлено!
вguioptions
), это из - за этого. Эта опция (!
) заставляетgvim
выполнять некоторые команды на внешнем терминале (которые поддерживают больше функций, таких как цвет и многие другие).Вы можете попробовать его использовать
:set guioptions-=i
и посмотреть, работает ли это для вас.источник