У меня возникла эта странная и очень раздражающая проблема в режиме bash vi-mode.
Env: Mac 10.9.2, iTerm 2 1.0 или Terminal.app,$TERM={screen-256color|xterm-256color|xterm|vt}
Шаги воспроизведения:
Проблема в следующем:
Я вижу "some_long_commands_long_long" в своей командной строке. Но курсор находится не в начале, а на 12-м символе, см. скриншот
Если я нажму A, чтобы добавить какой-либо другой текст, курсор выйдет за пределы команды, что означает, что РЕАЛЬНАЯ команда начинается с того места, где курсор находится в первую очередь, рендеринг неправильный.
Я искал в Google, но ничего не нашел ..... У кого-нибудь есть лучшее представление об этом? Большое спасибо...
После долгой отладки я наконец понял это. Это проблема, вызванная PS1. По сути, я забыл обернуть свой цветной «>» с помощью «\[» и «\]».
Основываясь на комментариях в Stackoverflow, ИМХО проблема заключается в комбинации tmux/iTerm/settings, а не в самой bash
себе. Вы должны попытаться решить проблему шаг за шагом:
Terminal.app
с чистого ~/.profile
и~/.tmuxrc
set -o vi
безtmux
iTerm
и проверить еще раз (должно работать)tmux
в Terminal.app
и в iTerm
и сравните... оба должны работать..tmuxrc
конфигурацию...
Цзеси Луо