2

У меня проблемы с записью до конца строки в моем терминале. Я могу печатать хорошо, но когда я двигаюсь влево, чтобы редактировать строку (используя клавиши со стрелками), я не могу использовать клавиши со стрелками, чтобы вернуться к концу строки. Я могу перейти к концу строки, используя alt + up, или перейти к последней секунде до последнего символа, нажать delete и снова начать печатать в конце строки. Кто-нибудь знает об этой ошибке? Или возможно, что, отредактировав мой bash_profile, я удалил что-то, что помогло бы исправить эту ошибку?

Есть ли способ использовать клавиши со стрелками для перемещения?

Спасибо

export PATH=/usr/local/bin:$PATH
#Create prompt with colors
function prompt
{
# \[ sets the charcters to no over write so the line wraps correctly
     local RED="\[\e[0;31m\]"
     local BLACK="\[\e[1;30m\]"
     local WHITE="\[\e[0;0m\]"
     local GREEN="\[\e[1;32m\]"
     local PLAIN="\[\e[m\]"

     export PS1="${BLACK}${RED}\W ${GREEN}- ${WHITE}${PLAIN}"
}
set prompt="%{e[?7h%}%m%# "
prompt

# File and Directory Highlighting
export CLICOLOR=1
export LSCOLORS=ExFxCxDxBxegedabagacad

# Terminal Options
set complete=enhance
set autolist=v
set implicitcd
set -o noclobber 
set -o vi

# RVM path
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" 

5 ответов5

2

У меня была такая же проблема после получения некоторых настроек .bash_profile от кого-то еще. Оскорбительная строка здесь:

set -o vi

Это настраивает терминал на использование сочетаний клавиш в стиле vi и режима редактирования. Полезные вещи, пока вы понимаете, что это происходит. Если вы не понимаете, что происходит, просто кажется, что вы не можете переместить курсор за пределы последнего символа в строке.

Вот немного информации о режиме vi в bash:

http://www.catonmat.net/blog/bash-vi-editing-mode-cheat-sheet/

1

ctrl + a перемещается в начало. ctrl + e движется до конца.

1

Ваш bash_profile может быть виновником. У меня была небольшая ошибка, когда я указывал, как должен выглядеть мой запрос, и это вызывало все виды странных ошибок.

пытаться:

mv ~/.bash_profile ~/.bash_profile.bak
touch ~/.bash_profile
source ~/.bash_profile

Это даст вам пустой bash_profile. Если это решит проблему, то вы знаете, кто ваш враг.

0

Я не думаю, что это проблема вашего bash_profile или любого из конфигурационных файлов bash; Я уверен, что bash не настраивает движение курсора. (На самом деле, это не совсем верно. Bash может интерпретировать ключевые команды, но я не думаю, что это ваша проблема здесь.)

Если вы используете терминал OSX, зайдите в Terminal-> Preferences и перейдите в Настройки. Под вложенной вкладкой "Клавиатура" убедитесь, что для "управляющего курсора влево" и "управляющего курсора вправо" установлены значения по умолчанию (\033 [5D и \033 [5C, соответственно)).

Кроме того, почему бы не опубликовать свои .bashrc и .bash_profile здесь? Мы могли бы найти ошибку, если она есть. Опять же, я не думаю, что какой-либо из конфигурационных файлов bash фактически контролирует движение курсора, но я могу быть не совсем прав. (Например, клавиши «вверх» и «вниз» в истории возврата Bash, чего не делает /bin /sh.)

0

Вы можете использовать iTerm, как я, тогда вы можете установить свои сочетания клавиш в настройках. Вы также получаете множество других функций. Настоятельно рекомендуется разработчикам Mac.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .