Когда я пытался использовать клавиши со стрелками в режиме вставки в vi
редакторе, в редакторе вставлялись следующие символы:
- потому что ↓я получаю B,
- потому что ↑я получаю,
- потому что ←я получил D,
- ибо →я получаю C.
Пожалуйста, помогите мне в решении этой проблемы.
text-editor
vi
BVB
источник
источник
Ответы:
Если у вас еще нет
.vimrc
файла в вашем домашнем каталоге, создайте его с помощью этого:Добавьте эту строку в начало файла:
Сохраните файл, и это должно решить проблему для вас. :)
источник
vi
вместоvim
, вы должны сделать ту же конфигурацию, но в~/.exrc
файле.Установите vim -> Это решит проблему.
На youtube или в Интернете есть много хороших уроков по vim / vi. По вашей проблеме смотрите здесь
Затем продолжайте открывать файлы как обычно :
источник
При
vi
нажатии на кнопку iвы активируете команду Вставить текст.Эта команда позволяет вам вставить текст в ваш файл.
И правильно, при нажатии:
Пока вы не отключите эту команду.
Чтобы деактивировать команду в
vi
: просто нажмите EscИ тогда вы вернетесь к обычному использованию клавиш со стрелками:
К вашему сведению, вот несколько
vi
команд:Из этого источника .
:x
Return выйти из vi , записать измененный файл в файл, названный в исходном вызове,:wq
Return выйти из vi , записать измененный файл в файл, названный в исходном вызове,:q
Return выйти (или выйти) vi:q!
Return выйти из vi, даже если последние изменения не были сохранены для этого вызова vi↓ переместить курсор вниз на одну строку
↓ переместить курсор вверх на одну строку
← переместить курсор влево на один символ
→ переместить курсор вправо на один символ
u
отменить все, что вы только что сделали; простое переключение.
повтора все, что вы только что сделалиi
вставлять текст перед курсором, пока не EscнажметеI
вставить текст в начале текущей строки, пока не Escнажметеa
добавить текст после курсора, пока не EscнажметеA
добавить текст в конец текущей строки, пока не Escнажметеo
open и не поместите текст в новую строку ниже текущей строки, пока не EscнажметеO
open и поместить текст в новую строку над текущей строкой, пока не будет Escнажатаr
заменить один символ под курсором (не Escтребуется)cw
изменить текущее слово новым текстом, начиная с символа под курсором, до Escнажатияx
удалить один символ под курсоромNx
удалить N символов, начиная с символа под курсоромdw
удалить одно слово, начинающееся с символа приC
изменении курсора (заменить) символы в текущей строке, пока не EscнажметеD
удалить остаток строки, начиная с текущей позиции курсораdd
удалить всю текущую строкуNdd
удалить N строк, начиная с текущей строки; например, 5dd удаляет 5 строк,yy
копирует (yank, cut) текущую строку в буфер иNyy
копирует (yank, cut) следующие N строк, включая текущую строку, в буфер,p
вставляет строки в буфере в текст после текущая строка0
(ноль) переместить курсор в начало текущей строки (курсор с курсором)$
переместить курсор в конец текущей строкиw
переместить курсор в начало следующего словаb
переместить курсор назад в начало предыдущего слова:0
Returnили1G
переместить курсор в первую строку файла:n
ReturnилиnG
переместить курсор в строку n:$
ReturnилиG
переместить курсор на последнюю строку в файле/string
поиск вперед для вхождения строки в текстовом?string
поиске назад для вхождения строки в текстовомn
движении к следующему вхождению строки поискаN
двигаться к следующему вхождению строки поиска в обратном направленииисточник
:help compatible
: «По умолчанию эта опция включена, и значения по умолчанию Vi используются для параметры. Это значение по умолчанию было выбрано для тех людей, которые хотят использовать Vim точно так же, как Vi, и даже не хотят (хотят) знать о «совместимой» опции ».Чтобы отключить печать букв при нажатии стрелок в режиме редактирования, вы можете сделать следующее
(создайте файл, если он не существует), а затем добавьте
set nocompatible
в него строку и сохраните.источник
:version
для порядка загрузки (также:h .exrc
или:h init
). Я предполагаю, что кто-то может захотеть применить настройку в vi и vim, или это может быть просто сила привычки.В редакторе vi есть три режима:
Когда вы открываете файл, вы находитесь в режиме по умолчанию. Теперь , если вы хотите , чтобы перейти к определенной позиции в тексте, просто используйте клавиши со стрелками или использования h, j, k, lключи. Обратите внимание , что это будет работать только тогда , когда вы не нажали i(или любой другой режим ввода ввода команды , как a, A, I).
Причина «B» может заключаться в том, что клавиши со стрелками в режиме ввода не функционируют как клавиши со стрелками, поэтому просто нажмите, Escчтобы в любой момент перейти в режим по умолчанию. Когда для перехода в режим ввода нажмите iили a, а также для навигации просто нажмите iклавиши ключ и используйте стрелки или h, j, k, l.
источник
У меня была точно такая же проблема, но не только на моей локальной машине, но и на соединениях через замазку на машине sles в виртуальной машине Win7 через приемник citrix. Как локальный, так и удаленный хосты показывают, что после переустановки Ubuntu возникла точно такая же проблема.
Узнав, что
Вызывает странное поведение VI. Я установил пакет console-data, который решает проблему!
источник
Примечание:
В других сообщениях есть хорошая информация, но ни один из них не пытался объяснить, почему это произошло. Многие люди будут сталкиваться с этим в будущем. Кроме того, не могли бы вы пометить этот вопрос как решенный, так как любой из предыдущих постов, вероятно, помог вам?
Вот объяснение :
Vi - редактор, который существует уже давно, его корни уходят в системы Unix. Это хороший инструмент, но он был повторен, и теперь он стал лучше. Vim был написан позже и это итерация. Люди обычно называют vi «vim-minimal», а vim - «улучшенная» версия vi. Вы можете думать об этом так: vi - это ядро, а vim расширяет его.
Вероятно, как вы обнаружили поведение :
Чтобы вы обнаружили эту проблему, вы нажали « i », чтобы войти в режим вставки, а затем с помощью клавиш со стрелками переместились по правильной линии и отредактировали точку. Это то, что вызвало неожиданную проблему с символами.
Решение 1 или 2
1)
vi someFile
При использовании vi сначала перейдите к точке редактирования, затем войдите в режим вставки.2)
vim someFile
Просто используйте vim с самого начала.Я не могу выделить достаточно, чтобы прочитать руководство (справочные страницы) или использовать -h для помощи. Как только вы подстроитесь под шаблоны в оболочке, man-страницы станут вашим лучшим другом. Пример:
man vi
илиman vim
Убедитесь, что Vim установлен .
Откройте окно консоли и выполните:
dpkg --list | grep vim
Если вы получили что-то похожее на это, тогда вы можете просто начать использовать vim.
Если командная строка возвращает ничего, vim is не установлен. Используйте приведенные ниже примеры для обновления ваших репозиториев, а затем установите vim.
Если вы используете vi или vim только при поиске в Интернете, как что-то исправить, и вы случайно забыли напечатать
vim
, есть один способ исправить это в будущем. Я предупреждаю вас обратить внимание. Вы можете использовать псевдоним, чтобы перезаписать vi ссылкой на vim, чтобы независимо от того, что вы печатаете в нечастом будущем, вы получаете vim без этого "упс!" момент. Вы всегда можете удалить псевдоним позже.Тип
vim .bashrc
. Переместитесь вниз к пустой строке только с~
(или любой другой строкой, которая начинается сalias
(поэтому они сгруппированы вместе), а затем нажмите клавишу i, чтобы войти в -insert- mode. В отдельной строке введите следующее:Нажмите,
Esc
а затем введите:wq
. Теперь вам нужно перезагрузить файл. Введитеsource .bashrc
Любая другая оболочка, которая открывается после внесения этих изменений, автоматически загрузит файл .bashrc.источник
Все объяснения немного странные. Я установил vi, но не установил vim.
Проверка альтернатив:
/etc/alternatives/vi
→/usr/bin/vim.tiny
Так
vi
естьvim.tiny
, и это использует/etc/vim/vimrc.tiny
.И
vimrc.tiny
вы найдете следующую строку:Который является почти единственным в этом файле. Обратите внимание, что в
/etc/vim/vimrc
нем используетсяnocompatible
.Так что либо установите vim, либо измените
vimrc.tiny
файл, либо создайте свой собственный,~/.vimrc
который должен содержать строку:источник
~/.vimrc
и настроитьnocompatible
: askubuntu.com/a/353944/158442 или 3. редактировать системный файл. Только предложение изменить/etc/vim/vimrc.tiny
является новым, и все же вы называете ответы странными, предлагая то же самое, что и они.Традиционный редактор vi не распознает клавиши со стрелками (... в воздухе). Есть два решения:
источник
Это также может быть связано с
TERM
переменной; установите это, например, так:источник
В некоторых системах эта
nocompatible
опция недоступна или может не решить проблему, если плагин нарушает функциональность клавиш со стрелками. Вот обходной путь ...Отредактируйте
.exrc
файл, включив в него следующие строки:Или, если проблема существует только в обычном режиме, вы можете перейти к следующему
nmap
и пропустить следующееa
:и так далее.
Вот комбинации клавиш, необходимые для их создания (показаны только первые):
Это выходит из режима редактирования, перемещается в нужном направлении и возвращается в режим редактирования. Это необходимо для преодоления Vi, читающего escape-последовательность как последовательность литералов <ESC> <O> <A> и т. Д.
Источник: https://hea-www.harvard.edu/~fine/Tech/vi.html
источник
Для ВП создайте или отредактируйте файл "~ / .exrc" или VIM создайте или отредактируйте файл "~ / .vimrc", установите или добавьте в строку.
На момент написания этой статьи есть похвалы по второму пункту с наибольшим количеством голосов, которые задаются вопросом, почему их запись не была принята. Причина в том, что существуют хосты, которые не позволяют устанавливать другие редакторы. Даже тогда vim иногда имеет одинаковые эффекты, поэтому из двух первых записей есть куча полезной информации. Однако я не могу комментировать, надеюсь, это проясняет причины, почему ни один из них не является 100% правильным в 100% случаев.
источник
На этой машине мне пришлось
make sure
что тоэто
last entry in ~/.vimrc
. Или, по крайней мере, одна из последних записей, в частности, больше не загружается плагин.НТН
источник
По какой-то причине Ubuntu пропустил инициализацию envvar HOME для пользователя root на моем новом 18.04 VPS. Если это так, vi не может найти файл .vimrc. Проблема не возникает для обычных пользователей (в / home /).
Чтобы проверить переменную:
Если это приводит к пустой строке, переменная не установлена. Проблема ушла после
Я переместил команду в файл /root/.bashrc (я не знаю, где это обычно устанавливается).
источник