Я использую ssh.exe из проекта MinGW для доступа к серверам Linux из командной строки Windows. Или я использую Console2, обертку вокруг cmd.exe, которая делает его более удобным, но это все еще cmd.exe в фоновом режиме.

Обычно это работает хорошо, но время от времени возникают серьезные проблемы с интерпретацией некоторых символов (в основном, CR и LF и других пробелов), что приводит к странным графическим артефактам. Также, когда я удаляю символы с помощью Backspace.

На следующем рисунке показан почти правильно отображенный сеанс. Просто в командной строке отображаются некоторые оставшиеся символы (фактически, она должна отображать пустую командную строку).

обратите внимание на командную строку с артефактами из предыдущего экрана

На последнем изображении вы можете увидеть, как выглядит Vim, когда я вставляю этот текст:

    /brake /cmd_vel /currents /diagnostics /diagnostics_agg /diagnostics_toplevel_state
    /enable /filtered_joint_states /fix /fix_extended
    /flipper_cmd /flippers_cmd /flippers_state /icp_odom /imu/data /imu_odom /visual_odom
    /initialpose /joint_states /laser_center /local_joy/cmd_vel /local_joy/joy
    /magnetic /mechanization_output_inso /mechanization_output_inso_aiddebug
    /mux_cmd_vel/selected /nav/cmd_vel /nifti_robot_node/max_angular_speed /nifti_robot_node/max_linear_speed
    /odom /pointcloud_control /poseupdate /posture /posture_cmd /private/nav/cmd_vel
    /restart3d /robot_status /rosout /rosout_agg /scan /scanning_once /scanning_speed_cmd
    /set_flippers_torque /steering_efficiency
    /syscommand /teleop_joy/cmd_vel /teleop_ocu/cmd_vel /temperature /tf /tf_static /tracks_vel /tracks_vel_cmd /velocity

простой экземпляр Vim после вставки нескольких строк текста

Когда я (вслепую) :wq файл и перезагрузить его, текст, очевидно, сохраняется, а затем также отображается, правильно. Так что это просто проблема визуализации на стороне Windows; сторона Linux получает правильные данные.

Когда я выполняю команду clear , окно всегда очищается правильно.

Что я могу сделать, чтобы избавиться от этой несовместимости? Есть ли скрытые настройки консоли Windows, которые позволили бы мне для лучшей совместимости?

(Я знаю, что Putty хорошо с этим справляется, но я бы хотел использовать ssh в моей родной командной строке)

0