Linuxでshift-tabをbash / screen / puttyのタブに再マップしますか?


2

さて、set -o viコマンドを使用してbashでviモードを使用します。面倒なのは、大文字で単語を入力してからTabキーを使用して完了しようとしたときに、Shiftキーを十分に早く離さないと、挿入モードからコマンドモードに移行してしまうことです。数ヶ月後、私は自然に調整してこれをやめると思ったが、できないようだ。

さて、shift-tab(どのコンテキストでも有用なことを意味するとは思わない)を通常のタブにリマップする方法があれば、コマンドラインの問題は終わります。

私のセットアップは、Windows-> Putty-> bash-> gnu screen

回答:


2

Solarisマシンでも同じ問題が発生していました。

次の行を.inputrcファイルに追加して修正しました。

"\e[Z": complete

実際、これはWebのどこかからコピーした.inputrc(注:モードをemacsからviに変更する必要があります)ファイル全体です。

# This file controls the behaviour of line input editing for
     # programs that use the GNU Readline library.  Existing
     # programs include FTP, Bash, and GDB.
     #
     # You can re-read the inputrc file with C-x C-r.
     # Lines beginning with '#' are comments.
     #
     # First, include any systemwide bindings and variable
     # assignments from /etc/Inputrc
     $include /etc/Inputrc
      
     #
     # Set various bindings for emacs mode.
      
     set editing-mode emacs
      
     $if mode=emacs
      
     Meta-Control-h:    backward-kill-word      Text after the function name is ignored
      
     #
     # Arrow keys in keypad mode
     #
     #"\M-OD":        backward-char
     #"\M-OC":        forward-char
     #"\M-OA":        previous-history
     #"\M-OB":        next-history
     #
     # Arrow keys in ANSI mode
     #
     "\M-[D":        backward-char
     "\M-[C":        forward-char
     "\M-[A":        previous-history
     "\M-[B":        next-history
     #
     # Arrow keys in 8 bit keypad mode
     #
     #"\M-\C-OD":       backward-char
     #"\M-\C-OC":       forward-char
     #"\M-\C-OA":       previous-history
     #"\M-\C-OB":       next-history
     #
     # Arrow keys in 8 bit ANSI mode
     #
     #"\M-\C-[D":       backward-char
     #"\M-\C-[C":       forward-char
     #"\M-\C-[A":       previous-history
     #"\M-\C-[B":       next-history
      
     C-q: quoted-insert
      
     $endif
      
     # An old-style binding.  This happens to be the default.
     TAB: complete
      
     # Macros that are convenient for shell interaction
     $if Bash
     # edit the path
     "\C-xp": "PATH=${PATH}\e\C-e\C-a\ef\C-f"
     # prepare to type a quoted word --
     # insert open and close double quotes
     # and move to just after the open quote
     "\C-x\"": "\"\"\C-b"
     # insert a backslash (testing backslash escapes
     # in sequences and macros)
     "\C-x\\": "\\"
     # Quote the current or previous word
     "\C-xq": "\eb\"\ef\""
     # Add a binding to refresh the line, which is unbound
     "\C-xr": redraw-current-line
     # Edit variable on current line.
     "\M-\C-v": "\C-a\C-k$\C-y\M-\C-e\C-a\C-y="
     $endif
      
     # use a visible bell if one is available
     set bell-style visible
      
     # don't strip characters to 7 bits when reading
     set input-meta on
      
     # allow iso-latin1 characters to be inserted rather
     # than converted to prefix-meta sequences
     set convert-meta off
      
     # display characters with the eighth bit set directly
     # rather than as meta-prefixed characters
     set output-meta on
      
     # if there are more than 150 possible completions for
     # a word, ask the user if he wants to see all of them
     set completion-query-items 150
      
     # For FTP
     $if Ftp
     "\C-xg": "get \M-?"
     "\C-xt": "put \M-?"
     "\M-.": yank-last-arg
     $endif

     # Make Shift-tab act like regular tab - ms4719 - 20120308
     "\e[Z": complete
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.