本番サーバーで予期しないコマンドが実行されるのを防ぐために、端末でコマンドを実行するために使用されるキーを再マップする方法を探しています(私はbashを使用しています)。返品を無効にする必要があります。
.inputrcで次のことを試しました。
RET : "Disabled"
"\C-e" : "\r"
ただし、Returnが無効になった状態に再マップされるため、これは機能しません。
.inputrc 完了
#set editing-mode vi
TAB: menu-complete
RET: ""
"\C-e": "\C-j"
"\e[Z": menu-complete-backward
"\C-w": forward-word
"\C-g": forward-word
"\C-g": "gd\015"
"\C-o": "h\015"
#"\C-b": backward-word
"\C-3": backward-char
set show-all-if-ambiguous on
set completion-ignore-case on
set meta-flag on
set input-meta on
set convert-meta on
set output-meta on
#"\C-pp": "cd -\015"
"\M-p": "cd -\015"
"\M-o": "ls\015"
"\C-w": forward-word
$if mode=vi
set keymap vi-command
"gg": beginning-of-history
"G": end-of-history
set keymap vi-insert #notice how the "jj" movement is
"jj": vi-movement-mode #after 'set keymap vi-insert'?
"\C-w": backward-kill-word
"\C-p": history-search-backward
$endif
答え1
RET : ""
次に Cj を使ってこれからコマンドを入力します。
答え2
Returnキーを無効にするには、以下を追加します.inputrc
。
"\C-m":""
これで、C-j
コマンドの実行に使用されます。
C-j
履歴を増分的に検索するとき(たとえば、)をダブルクリックしたくない場合は、C-r
次の行を追加してください。
set isearch-terminators '\C-['
Esc
検索が終了しC-j
ましたaccept-line
。
man 3 readline
詳細は参照してください。