私はSolaris 10を使用しており、デフォルトでvi
バージョンSVR4.0、Solaris 2.5.0がインストールされています。
システムは、sshを実行するとControl+H
がバックスペースを実行し、バックスペースが^?
を出力するように設定されています。
stty erase '^?'
を.profile
に追加して、ターミナルでバックスペースキーが正しく機能するようにしました。ただし、viを使用すると、まだ^?
文字が出力されます。
通常、これを修正するには:set nocompatible
と入力しますが、
compatible: No such option - 'set all' gives all option values
set all
がくれます
noautoindent nomodelines noshowmode
autoprint nonumber noslowopen
noautowrite nonovice tabstop=8
nobeautify nooptimize taglength=0
directory=/var/tmp paragraphs=IPLPPPQPP LIpplpipnpptags=tags /usr/lib/tags
noedcompatible Prompt tagstack
noerrorbells noreadonly term=xterm
noexrc redraw noterse
flash remap timeout
hardtabs=8 report=5 ttytype=xterm
noignorecase scroll=33 warn
nolisp sections=NHSHH HUuhsh+c window=66
nolist Shell=/bin/ksh wrapscan
magic shiftwidth=8 wrapmargin=0
mesg noshowmatch nowriteany
このバージョンのvi
は古すぎて、set nocompatible
を使用する場合は、新しいバージョンまたはvim
が必要だと思いますが、疑問に思っています- vimをロードせずにバックスペースをバックスペースに使用するためにvi
を取得する別の方法はありますか?
oK。そこで、バックスペースキーが機能しないことを解決しました。
追加することにより
:map! ^? ^H
.exrcファイルに。同様の方法で矢印キーをマップするには、同じ.exrcファイルに以下を追加します。
:map! ^[OA ^[ka
:map! ^[OB ^[ja
:map! ^[OC ^[la
:map! ^[OD ^[ha
これらの「エスケープコード」はすべて、単に入力するだけでは作成されないことに注意してください。 shift+6 '^'文字の場合。ただし、次のキーを押します。
バックスペースと削除:
上矢印:
下矢印:
右矢印:
左矢印:
.exrcファイルのコメント行は、"
ではなく#
でマークする必要があります。また、.exrcファイルに空白行を残すことはできません。空白にしないと、最初の空白行が.exrcの処理を停止します。
これらが配置されると、viは人間が使用するために設計されたように少し感じ始めます。 :)
.exrcファイルの強力さの例については、Dave Capellaによる この.exrcの例 を確認してください。