'Удалите' ключ, не работает над режимом вставки энергии для удаления ранее введенного содержания

Вот грубый метод, который работает на Вас, Вы должны будете сначала получить терминальный размер и вычислить положение строки:

#include <iostream>
#include <cstring>
#include <sys/ioctl.h>

using namespace std;

void output_middle (const char *s, int term_cols)
{
    cout << string ( (term_cols - strlen(s)) >> 1, ' ') << s << endl;
}

int main ( int argc , char **argv ) 
{
    struct winsize w;
    ioctl(0, TIOCGWINSZ, &w);

    output_middle ("some string", w.ws_col);
    return 0;
}
12
22.02.2015, 05:00
4 ответа

Я считаю, что это может быть из-за версии VIM, установленной на OSX по умолчанию. Вы всегда можете установить VIM через домеров и посмотреть, помогает ли эта замена. Я нашел эту страницу, которую помогает поддерживать опыт терминала OSX. https://www.topbug.net/blog/2013/04/14/install-and-use-gnu-command-line-tools-in-mac-os-x/

Обратите внимание на это Line 'Brew Установить VIM - System-Vi'

1
27.01.2020, 19:55

Это не связано ни с оболочкой, ни с версией vim. Это простая конфигурация, поскольку работа backspace в режиме вставки - это обычное vim настраиваемое поведение. Точнее, это vim настройка backspace. На одной машине вы (скорее всего) установили его на пустую строку, а на другой - на значение start. А это, вероятно, находится в глобальном конфигурационном файле.

Обратите внимание, что по умолчанию при запуске vim в vi-совместимом режиме переменная backspace будет пустой строкой. Поведение, на которое вы жалуетесь, на самом деле является поведением оригинального vi. Операционные системы Linux склонны заполнять глобальный конфигурационный файл всевозможными опциями vim, которые включают "более дружественное" поведение, отклоняющееся от поведения оригинального vi. BSD, как правило, этого не делают.

Дальнейшее чтение

  • Арнольд Роббинс, Элберт Ханна и Линда Лэмб (2008). "Простое редактирование". Изучение редакторов vi и Vim. O'Reilly Media, Inc. ISBN 9781449313258. p. 14.
  • :help backspace. документация vim.
  • Bug #19903. 1998. Debian BTS.
3
27.01.2020, 19:55

Просто добавьте это в .vimrc :

set backspace=indent,eol,start
17
27.01.2020, 19:55

Проверьте соответствие клавиш iTerm(Preferences -> Profiles -> Keys). Я использовал предустановку редактирования естественного текста по умолчанию, и согласно этому ответу , удаление сопоставлений клавиш, связанных с удалением, решило проблему для меня.

2
27.01.2020, 19:55

Теги

Похожие вопросы