На случай, если какая-нибудь другая бедная душа будет бороться с этим, вот мой ~/.tmux.conf
файл. Я использую менеджер плагинов tmux, поэтому сначала установите его.
# ./tmux.conf
# Powerline…
run-shell "powerline-daemon -q"
source '~/.local/lib/python2.7/site-packages/powerline/bindings/tmux/powerline.conf'
# VI-mode…
setw -g mode-keys vi
# C-b is not acceptable -- Vim uses it
set-option -g prefix C-a
bind-key C-a last-window
# Set windows modes styles
set -g mode-style "fg=black,bg=colour69"
# Renumber windows
set -g renumber-windows on
# Automaitcally rename.
setw -g automatic-rename
# Allows for faster key repetition
set -s escape-time 0
# Scroll History
set -g history-limit 30000
# Mouse
set -g mouse on # ← This stops the default correct behaviour…
# List of plugins
set -g @plugin 'tmux-plugins/tpm' # ← The tmux plugin manager.
set -g @plugin 'nhdaly/tmux-scroll-copy-mode' # ← sane scrolling.
set -g @plugin 'tmux-plugins/tmux-yank' # ← Yanking.
set -g @shell_mode 'vi' # tmux-yank option.
set -g @yank_selection 'primary' # tmux-yank option.
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
# EOF
Итак, вы можете использовать мышь для выделения любого текста. Если вы нажмете y
перед тем, как отпустить левую кнопку мыши, выделение будет скопировано в основной буфер, который вы можете вставить с помощью среднего клика мыши.
Хорошо, я понял: проблема заключается в разных определениях ИСТИНА и ЛОЖЬ между статусом выхода test
и условием цикла while
в awk
.
Положительная команда test
дает код выхода 0
для ИСТИНА и отрицательный в 1
для ЛОЖЬ.
Однако в awk
цикл while
интерпретирует 0
как ЛОЖЬ, а 1
как ИСТИНА, так что в точности противоположное определение.
В качестве примера:
awk '{ while ( 0 ) ; { print "0" } }' file
не выдаст никакого вывода, а
awk '{ while (1) ; { print "1" } }' file
выведет бесконечное число 1
с.
Таким образом, передовой опыт должен быть явным в такой комбинации
while ( system("command") == 0 )
или
while ( system("command") == 1 )
соответственно.
Итак, в моем случае
while ( system("test -e " file ) == 0 )
показывает ожидаемое поведение.
awk
system ()
возвращает статус завершения выполненной вами команды - 0 в случае успеха и! = 0 в случае неудачи. В качестве простого примера вы можете попробовать запустить:
v = system("date");
v будет 0
, если вы запустите:
v = system("dat");
v может быть 127 или значение, отличное от 0, ошибка возвращается из ОС, если команда dat отсутствует или не найдена.