редактор vi unix: отображение ^J

редактор vi unix: отображение ^J

Я читаю книгу "Изучение редактора vi" (Линда Лэмб и Арнольд Роббинс, 6-е издание). На странице 115 книги есть такая команда:

:map ^J xyz

Сама по себе часть xyz здесь не имеет значения, моя проблема — сделать эту ^Jчасть.

Я пробовал ctrl++ V ctrl( например, + можно использовать для выхода из Enter j) ctrlи + напрямуюvctrlj

В обоих случаях это не работает.

Я использую редактор vi внутри FreeBSD 11.0, это не vim (улучшенный vi).

----- Редактировать -----

Видео:

https://vimeo.com/212400468

00:05 - привязка ctrl+K к dd (удаление всей строки)

00:19 - попробуйте сделать то же самое с помощью ctrl+J, но это не сработает, потому что ctrl+J вызывает таблицу.

00:25 - попробуйте еще раз с ctrl+V ctrl+J. Тоже не работает, вызывает таблицу.

00:33 - попробуйте карту именно "^J"

00:44 - попробуйте ctrl+J, и это не сработает так, как ожидалось. Это сработает, если набрать последовательность "^J".

решение1

На самом деле, это, кажется, ошибка в книге. Пример сопровождается этим комментарием:

В предыдущем примере, несмотря на то, что^Jэтови(перемещает курсор на строку вниз), эту клавишу можно безопасно назначить, поскольку она на самом деле такая же, какj команда. Есть много клавиш, которые либо выполняют те же самые tsks, что и другие клавиши, либо используются редко. Однако вы должны быть знакомы свикоманды, прежде чем смело отключать их обычное использование, используя их в определениях карт.

Обычный вывод для^Jесть controlJ. Но ни один из vi, упомянутых в 6-м издании, не позволял вставлять в текст литеральный control/J, поскольку это конец строки для Unix-подобных систем (vim выдаст вам ^@нулевой символ при попытке экранирования control/J, другие редакторы это игнорируют).буквальный" ^J" не работает с комментарием, потому что эти символы не являютсявикоманда.

Вы можете сделатьбуквальный" ^J" работать, конечно. Но это не было целью примера. Вероятно, автор имел в виду какой-то другой интересный персонаж и изменил его по какой-то причине.

Связанный контент