Прокрутка в Vim в Терминале Mac

Некоторая соответствующая формулировка из Стандарта C++:

3.6.2 Инициализаций нелокального [basic.start.init]

1

объектов устройство хранения данных для объектов со статической продолжительностью хранения ( basic.stc.static) должно быть инициализировано нулем ( dcl.init), прежде чем любая другая инициализация произойдет. Объекты типов POD ( basic.types) со статической продолжительностью хранения, инициализированной с константными выражениями ( expr.const), должны быть инициализированы, прежде чем любая динамическая инициализация происходит. Объекты объема пространства имен со статической продолжительностью хранения, определенной в той же единице перевода и динамично инициализированной, должны быть инициализированы в порядке, в котором их определение появляется в единице перевода. [Отметьте: dcl.init.aggr описывает порядок, в котором инициализируются совокупные участники. Инициализация локальных статических объектов описана в stmt.dcl.]

[больше текста ниже добавления большего количества свобод для разработчиков компилятора]

6.7 операторов объявления [stmt.dcl]

...

4

нулевая инициализация ( dcl.init) всех локальных объектов со статической продолжительностью хранения ( basic.stc.static) выполняется, прежде чем любая другая инициализация происходит. Локальный объект типа POD ( basic.types) со статической продолжительностью хранения, инициализированной с константными выражениями, инициализируется, прежде чем ее блок сначала вводится. Реализации разрешают выполнить раннюю инициализацию других локальных объектов со статической продолжительностью хранения при тех же условиях, что реализации разрешают статически инициализировать объект со статической продолжительностью хранения в объеме пространства имен ( basic.start.init). Иначе такой объект инициализируется, первый контроль времени проходит через свое объявление; такой объект считают инициализированным после завершения его инициализации. Если выходы инициализации путем выдачи исключения, инициализация не завершена, таким образом, ее попробуют еще раз, следующий контроль времени вводит объявление. Если управление повторно вводит объявление (рекурсивно), в то время как объект инициализируется, поведение не определено. [ Пример:

      int foo(int i)
      {
          static int s = foo(2*i);  // recursive call - undefined
          return i+1;
      }

- пример конца ]

5

деструктор для локального объекта со статической продолжительностью хранения будет выполняться, если и только если переменная была создана. [Отметьте: basic.start.term описывает порядок, в котором уничтожаются локальные объекты со статической продолжительностью хранения.]

87
задан Peter Mortensen 15 November 2009 в 10:47
поделиться

5 ответов

http://bitheap.org/mouseterm/

Используйте MouseTerm (и не забудьте сначала установить SIMBL!), И прокрутка будет работать как шарм, даже удаленно, с использованием терминала Mac.

Вам необходимо полностью закрыть приложение Терминал (Command + Q), а затем снова запустить его после установки MouseTerm.

67
ответ дан 24 November 2019 в 07:45
поделиться

Вы можете прочитать эту статью , но я почти уверен, что, поскольку терминал по умолчанию в Mac OS X имеет встроенную полосу прокрутки, команды колеса мыши автоматически переходят к нему. Вы определенно можете использовать gVim, как предлагалось в предыдущем ответе. Я обнаружил, что обычно не хочу использовать мышь в Vim, так как это убирает мои руки с клавиатуры.

Я просто использую 50j для спуска и 50k для подниматься. Не совсем скроллинг, но работает неплохо.

4
ответ дан 24 November 2019 в 07:45
поделиться

Используйте gVim, который дает вам среду редактирования текста в окне, которое вы можете прокручивать. Терминал не задействован при использовании gVim.

1
ответ дан 24 November 2019 в 07:45
поделиться

Я использую xterm в X11 (XQuartz 2.3.4), и vim отлично работает с мышью, а также поддерживает 256 цвета.

Вот ~ / .Xresources, которые я использую, чтобы сделать мой xterm лучше в X11:

XTerm*faceName: Lucida Sans Typewriter Regular
XTerm*faceSize: 9
XTerm*utf8: 1

xterm*saveLines: 1000
xterm*jumpScroll: true
!xterm*awaitInput: true
!xterm*multiScroll: true

XTerm*scrollBar: false
xterm*scrollbar*thickness: 16
xterm*rightScrollBar: true

XTerm*foreground: white
XTerm*background: grey10
!XTerm*background: black
XTerm*cursorColor: yellow

xterm*visualBell: false

xterm*loginShell: true

Маленькие подсказки, чтобы убрать звук звонка в xterm X11, введите следующую команду:

xset b 0
1
ответ дан 24 November 2019 в 07:45
поделиться

Я бы порекомендовал использовать iTerm - у него так много преимуществ по сравнению с Терминалом, например, поддержка мыши, 256 цветов, разумное копирование и вставка (автоматическое копирование, выбор слова / URL двойным щелчком, вставка средним щелчком ) ...

1
ответ дан 24 November 2019 в 07:45
поделиться
Другие вопросы по тегам:

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