Медленная и неактивная анимация

Ответ Adam Byrtek, кажется, ограничивает строки до 80 символов и не обновляет текст при изменении размера вашего терминала.

Вы можете исправить это, установив вместо этого MANPAGER. Вы также можете установить PAGER, как , Адам Биртек , но это более общий. MANPAGER переопределяет PAGER для команды man.

Из этого

export MANPAGER="col -b | vim -c 'set ft=man ts=8 nomod nolist nonu' -c 'nnoremap i ' -"

У него есть некоторые довольно хорошие дополнительные опции, такие как установка ts (tabstop), nonu (nonumber) и unmapping i (insert). Поэтому я объединю два решения. Также были сделаны некоторые улучшения, такие как использование команды command и расширение аргументов с помощью "$@"

Как функция:

man() {
  MANPAGER="col -b | vim -R -c 'set ft=man ts=8 nomod nolist nonu' -c 'nnoremap i ' -" command man "$@"
}

EDIT: прокрутите вниз до моего UPDATE, чтобы увидеть преимущества используя эту беспорядочную форму и более чистый способ написать функцию с некоторыми дополнительными сопоставлениями vim.

Но все это действительно большой беспорядок. Следующие решения требуют установки, но они являются более чистыми решениями.

Эти решения не имеют Vim: Reading from stdin..., что и в приведенном выше решении.

Я рекомендую этот [!d5 ], кроме как использовать MANPAGER вместо PAGER, так как этот вопрос касается только manpages. И я также добавлю его в мои .bash_profile или .profile, чтобы он не экспортировался при каждом вызове bash. Вам нужно будет установить most.

# In .profile or .bash_profile
MANPAGER='most'

most не имеет движения hjkl, как в vim и less, но это самый быстрый. [!d16 ]

Кроме того, vimpager довольно хорош. Мне нравится использовать его для огромных manpages, таких как man bash. Вы получаете все классные вещи от vim, такие как номера строк number, выделенный поиск hlsearch и все ваши плагины vim.

Если у вас установлен vimpager f40] также не показывает это сообщение:

The ycmd server SHUT DOWN (restart with ':YcmRestartServer'). Unexpected exit code 1. Type ':YcmToggleLogs ycmd_54959_stderr_UvwUrj.log' to check the logs.

Не знаете, почему, но приятно не видеть этого.

# In .profile or .bash_profile
export MANPAGER='vimpager'

Запуск может быть немного медленнее, чем [ f41], потому что vimpager источник вашего .vimrc, что может быть хорошо, если вы хотите использовать свои vim-плагины. Чтобы отключить поиск .vimrc:

# In .profile or .bash_profile
export MANPAGER='vimpager -u NONE'

Вы также можете использовать гибридный подход с функциями:

# Use 'command man' instead of 'man' if you have overridden
# 'man' with a function, like how I did in the "messy" solutions above.

manmost() {
    MANPAGER='most' man "$@"
}

manvim() {
    MANPAGER='vimpager -u NONE' man "$@"
}

manvimrc() {
    MANPAGER='vimpager' man "$@"
}

Итак, теперь export MANPAGER будет устанавливать ваше значение по умолчанию MANPAGER в ваших .bash_profile или .profile, но вы можете использовать любую из этих функций для быстрого использования другого MANPAGER.

[d9 ] EDIT:

Собственно, vimpager немного отличается от фактического vim. Например, в нормальном режиме w отображается на b, а b отображается на & 1_L. Но это как другие пейджеры - меньше нет курсора.

Если вы хотите использовать фактический vim, с беспорядочным решением, я нашел это. Он подавляет Vim: Reading from stdin... с помощью взлома. Тем не менее, у вас есть сообщение YouCompleteMe. Возможно, вы можете установить еще одну команду -c, чтобы отключить YouCompleteMe. Но я просто проигнорирую это сообщение.

manrealvim() {
  MANPAGER='bash -c "vim -MRn -c \"set ft=man nomod nolist nospell nonu\" -c \"nm q :qa!\" -c \"nm  G\" -c \"nm  gg\"

В новом этом вы можете избежать этого взлома с помощью --not-a-term:

Я очистил функция с символами новой строки, потому что это версия, которую я использую.

manvim() {
  MANPAGER='col -b | '\
'vim -MR -c "set ft=man ts=8 nomod nolist nospell nonu" '\
'-c "set colorcolumn= hlsearch incsearch" '\
'-c "nun  q" '\
'-c "nn q :qa!" '\
'-c "nn  G" '\
'-c "nn  gg" '\
'- --not-a-term' man "$@"
}

Или вы можете просто использовать neovim> v0.2.2:

# not sure why but the -M flag breaks it but it's not required
# Seems like nvim already sets -M when ft=man
mannvim() {
  MANPAGER='col -b | '\
'nvim -R -c "set ft=man ts=8 nomod nolist nospell nonu" '\
'-c "nun  q" '\
'-c "nn q :qa!" '\
'-c "nn  G" '\
'-c "nn  gg" '\
'-' man "$@"
}

Возможно, вам захочется посмотреть через опционы vim, переданные для настройки. Я просмотрел их из всех тех сообщений, которые я перечислил, и выбрал те, которые мне нравились. Или вы можете просто скопировать меня.

Вы также можете проанализировать vim --version, чтобы определить, следует ли использовать хак или --not-a-term.

MY CURRENT METHOD

Если вы хотите установить этот метод vim как свой по умолчанию MANPAGER, выполните следующее:

Добавьте эти исполняемые сценарии в свой путь: Есть два сценария, потому что первый для общего подкачки (замена для меньшего), а второй для manpaging (имеет подсветку синтаксиса manpage.
# Put this in ~/bin/vimrealpager
# I call it vimrealpager to avoid name clashes with vimpager mentioned above
# Make sure ~/bin/ is in your path

# ***SCRIPT START***

#!/usr/bin/env sh

col -b |
vim -MR -c 'set nomod nolist nospell nonu' \
-c 'set colorcolumn= hlsearch incsearch' \
-c 'nn q :qa!' \
-c 'nn  G' \
-c 'nn  gg' \
"$@" \
--not-a-term \
-
[ f12] В вашем ~ / .profile:
export MANPAGER='vimrealmanpager'

Вы также можете сделать export -f в функциях, которые я показал ранее, но он работает в bash, но не в оболочке POSIX, так что вам придется его поместить в .bash_profile вместо .profile.

Аналогичную вещь можно сделать для nvim, но я не собираюсь добавлять ее сюда, если не запрошено.

3
задан 18 October 2011 в 03:12

3 ответа

Слишком много бесполезной анимации и эффектов, активированных в Unity ... Unity3D делает систему чрезвычайно медленной, но только низкой графической картой и / или может фактически воспроизводить задержки и медленные анимации.

Я нахожусь в том же потому что я использую Asus 1215N с двухъядерным процессором ATOM и графической картой Intel, так как Optimus не работает изначально ...

Но вы все равно можете сделать некоторые конфигурации, чтобы немного помочь с такой проблемой:

При использовании Unity-3D:

Используйте проприетарные драйверы ATI, доступные в Ubuntu. После установки ccsm (Compiz Config Settings Manager): Отключить синхронизацию с VBlank (как указано в @duffydack) В Composite Plugin> Выберите свою частоту обновления (доступно в настройках экрана), а затем снимите флажок «Обнаруживать частоту обновления». В OpenGL> «Фильтр текстуры» выберите «Быстро» вместо «Хороший» и выберите «Сжатие текстуры» (эта функция будет немного укусить больше процесса, но поможет с графикой, поэтому она по вашему выбору (вы можете иметь 2 варианта не выбраны)

И я думаю, что это все, что вы можете сделать (для меня даже Unity-2D медленный, поэтому я думаю, что это вина моего процессора ... даже если эта проблема медленности не происходит ни в Gnome-Shell, ни в Windows (но последнее, вероятно, связано с тем, что Nvidia Optimus работает, а в Linux это не так).

Надеюсь, это поможет.

3
ответ дан 25 May 2018 в 17:59
  • 1
    Я забыл упомянуть настройки Unity в Compiz, вы можете изменить размытие на No Blur, которое сделает Launcher / Lens лучше работать и запускаться быстрее. – aliasbody 18 October 2011 в 15:41

Слишком много бесполезной анимации и эффектов, активированных в Unity ... Unity3D делает систему чрезвычайно медленной, но только низкой графической картой и / или может фактически воспроизвести задержку и медленную анимацию.

Я в том же потому что я использую Asus 1215N с двухъядерным процессором ATOM и графической картой Intel, так как Optimus не работает изначально ...

Но вы все равно можете сделать некоторые конфигурации, чтобы немного помочь с этой проблемой:

При использовании Unity-3D:

  • Используйте проприетарные драйверы ATI, доступные в Ubuntu.
  • После установки ccsm (Compiz Config Settings Manager): Отключить синхронизацию с VBlank (как указано в @duffydack ) В составном плагине> Выберите свою частоту обновления (доступна в настройках экрана), а затем снимите флажок «Обнаруживать частоту обновления». В OpenGL> «Фильтр текстуры» выберите «Быстро» вместо «Хороший» и выберите «Сжатие текстуры» (эта функция будет немного укусить больше процесса, но поможет с графикой, поэтому она по вашему выбору (вы можете иметь два варианта не выбраны)

И я думаю, что это все, что вы можете сделать (для меня даже Unity-2D медленный, поэтому я думаю, что это ошибка моего процессора ... даже если эта проблема медленности не возникает ни в Gnome-Shell, ни в Windows (но последняя, ​​вероятно, связана с тем, что Nvidia Optimus работает, а в Linux это не так ....)

Надеюсь, это поможет.

3
ответ дан 4 August 2018 в 18:34

использовать compizconfig-settings-manager для отключения vsync из типа терминала sudo apt-get install compizconfig-settings-manager щелкнуть тире, ввести ccsm, щелкнуть и запустить, а в плагине OpenGL отключить синхронизацию с VBlank

0
ответ дан 25 May 2018 в 17:59

Другие вопросы по тегам:

Похожие вопросы: