Столкнулся с этим потоком из tmux-пользовательского списка рассылки. Поток был назван: заголовки набора, не работающие. Существует несколько вещей от этого потока для попытки. Существует более чистая версия потока здесь также.
Для начинающих возможная фиксация должна была добавить следующую строку к Вашему файлу Ресурсов XTerm, ~/.Xresources
:
XTerm*allowSendEvents: true
Были также некоторые подсказки по отладке в этом потоке, который может помочь Вам также.
подробный tmux
tmux -vvvvv
vi foo
После выполнения, таким образом, у Вас должно быть 3 файла, что-то как они:
информация о tmux
$ tmux info
tmux 1.4, pid 22182, started Fri May 10 04:00:37 2013
socket path /var/run/tmux/tmux-500/default, debug level 0
system is Linux 2.6.35.14-106.fc14.x86_64 #1 SMP Wed Nov 23 13:07:52 UTC 2011 x86_64
configuration file is /home/saml/.tmux.conf
protocol version is 6
Clients:
0: /dev/pts/12 (8, 11): 0 [132x24 xterm] [flags=0x1/0x38, references=0]
Sessions: [5/10]
0: 0: 1 windows (created Fri May 10 04:00:37 2013) [132x23] [flags=0x0]
0: bash [132x23] [flags=0x8, references=1, last layout=-1]
0: /dev/pts/48 22183 13 1/23, 135 bytes; UTF-8 0/23, 0 bytes
Terminals:
xterm [references=1, flags=0x0]:
1: acsc: (string) ``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~
0: AX: (flag) true
2: bel: (string) \007
...
...
144: smul: (string) \033[4m
145: vpa: (string) \033[%i%p1%dd
146: xenl: (flag) true
Jobs:
]Попробуйте заключить выражения в круглые скобки, как указано в man-странице:[
] [find . -type f \( -name '*.c' -or -name '*.h' -or -name '*.cpp' \) -exec ls {} \;
]
[]должно сработать.[
]] С помощью [] GNU find[
] можно использовать опцию []-regex[
]:[
find . -type f -regex '.*\.\(c\|h\|cpp\)' -exec ls {} \;
] Вы можете попробовать использовать дерево find -D. [expr ..]
, чтобы понять, что делает find с вашей исходной командой.
Вы должны понимать, что -тип f
, а также -exec ls ..
выражения и
привязаны к остальным выражениям с более высоким приоритет, чем или
s.
Таким образом, ваша исходная команда будет проанализирована примерно так: (- введите f AND -name * .c) OR -name * .h OR (-name * .cpp AND -exec ls)
(обратите внимание, что or на самом деле двоичное, а не троичное, поэтому a | b | c
на самом деле (a | b) | c
, но вы понимаете ).
Теперь вы заметите, что find не знает, что делать, за исключением файлов, соответствующих *. Cpp
, поскольку в других случаях нет действительного оператора (поэтому вы можете даже увидеть segfault или что-то подобное в отладочной информации).
Надеюсь, это проясняет вам, зачем вам нужны круглые скобки.