Как включить режим vi в консоли geth? (вход readrc readline не соблюден)
В командной строке ввода geth используется стандартная библиотека readline?
Для приложений, которые делают это, в ~/.inputrc
:
set editing-mode vi
включает режим vi в командной строке. Например, попробуйте
$ python
input()
с и без вышеуказанного ~/.inputrc
.
Geth Geth/v1.4.5-stable-a269a713/linux/go1.6.2
, похоже, не соблюдает параметр .inputrc. Отсутствует функция (или ошибка)?
1 ответ
Резюме
geth
не использует стандартную библиотеку readline Unix. Он реализует часть ввода командной строки внутри своей базы кода с помощью библиотеки github.com/peterh/liner для некоторые другие функции.
Q : как включить режим vi в консоли geth?
A : вы не можете включить режим vi в консоли geth
.
Q : Geth Geth/v1.4.5-stable-a269a713/linux/go1.6.2
, похоже, не соблюдает параметр .inputrc. Отсутствует функция (или ошибка)?
A : я бы рассмотрел эту функцию, поскольку geth
был создан для запуска через три операционные системы Linux, OS X и Windows.
Подробнее
Вы получите интерактивную консоль при запуске geth
с помощью console
или attach
, и эти вызовы repl.interactive()
:
-
См.
func console(...)
в cmd /geth /main.go, строки 358-387 дляconsole
. -
См.
func attach(...)
в cmd /geth /main.go, строки 302-329 дляattach
.
Вызов repl.interactive()
выполняет функцию interactive()
в cmd /geth /js .go, строки 318-371 .
Функция interactive()
использует cmd /utils /input.go и github.com/peterh/liner , чтобы иметь дело с редактором командной строки.
Вы можете увидеть обработку нажатия клавиш в github.com/peterh/liner/input .go .