Использование Vim с греческим языком

Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.

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

public class Student {

    private int id;

    public int getId() {
        return this.id;
    }

    public setId(int newId) {
        this.id = newId;
    }
}

Приведенный ниже код дает вам исключение с нулевым указателем.

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}

Поскольку вы используете Obj_Student, но вы забыли инициализировать его, как в правильном коде, показанном ниже:

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student = new Student();
            obj_Student.setId(12);
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}
26
задан casperOne 18 April 2012 в 12:32
поделиться

1 ответ

Эта проблема может быть решена с помощью опции keymap. Он позволяет определить альтернативное отображение клавиатуры для использования в режимах, требующих ввода текста.

Для переключения между стандартными и альтернативными таблицами клавиш в режиме вставки, замены или командной строки используйте Ctrl + ^ ( Ctrl + 6 ). Изменение раскладки клавиатуры влияет только на ввод текста; Поведение клавиатуры в обычном режиме остается неизменным независимо от текущей настройки раскладки клавиатуры. Можно оставить запись в режиме вставки на греческом языке и сразу использовать сочетания клавиш в обычном режиме, не переключаясь на другую раскладку клавиатуры. Если после этого вы вернетесь в режим вставки или, например, начнете поиск, набрав /, Vim автоматически переключит раскладку клавиатуры на греческий.

Текущая клавиатура, используемая в этих режимах ввода текста, запоминается между переключениями в другие режимы. Единственное исключение из этого поведения сделано для режима командной строки, который всегда начинается с таблицы ключей по умолчанию, так как большую часть времени требуется вводить команду Ex (в ASCII). С установленной опцией keymap пользователь должен работать в Vim, сохраняя раскладку системной клавиатуры на английском, переключая раскладку клавиатуры Vim с помощью Ctrl + ^ (вместо system- широкоформатный переключатель).

Чтобы навсегда включить греческую раскладку UTF-8, добавьте следующую строку в файл .vimrc.

:set keymap=greek_utf-8

Существует множество предопределенных таблиц клавиш для большого набора языков, вы можете просмотреть их все в самом Vim, используя :e $VIMRUNTIME/keymap. Обратите внимание, что обычно для одного языка предусмотрено несколько таблиц ключей, которые отличаются только кодировкой символов, так что любой может выбрать ту, которая соответствует их конфигурации.

Я также рекомендую установить параметры ниже, чтобы указать, должна ли карта ключей включаться по умолчанию в режиме вставки и при вводе шаблона поиска.

:set iminsert=0
:set imsearch=-1

См. :help iminsert и :help imsearch для их подробных объяснений.

Существует также специальный языковой режим, который, если я не ошибаюсь, был введен в Vim раньше, чем keymap. Это позволяет добиться поведения, аналогичного тому, которое предусмотрено в keymap, путем ручного указания пар букв, которые соответствуют клавишам на клавиатуре в длинной строке, которая будет сохранена в опции langmap. Лично - мой родной язык тоже не английский - я предпочитаю (и рекомендую) вместо этого использовать keymap.

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

См. Также мой ответ на аналогичный вопрос , который был задан позже. Это включает в себя немного более подробное объяснение.

33
ответ дан Community 18 April 2012 в 12:32
поделиться
Другие вопросы по тегам:

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