솔라리스 11을 사용하고 있습니다
이것은 내 .vimrc입니다.
set nohlsearch
set mouse=""
set paste
set showmode
set ruler
set clipboard=unnamedplus
setlocal cm=blowfish2
set nocompatible
set backspace=indent,eol,start
set term=dtterm
syntax on
imap <esc>OH <esc>0i
cmap <esc>OH <home>
nmap <esc>OH 0
nmap <esc>OF $
imap <esc>OF <esc>$a
cmap <esc>OF <end>
키보드 END 키가 잘 작동합니다
명령 모드에서 I, A 또는 a를 입력하면 편집할 수 있습니다. END를 입력하고... F를 입력하세요! 왜?
답변1
(에 대한) 터미널 설명에는 dtterm
vim이 인식할 특수 키가 포함되어 있지 않습니다. 터미널 설명에 없기 때문에 vim은 이러한 문자를 명령으로 처리하는 것 외에는 이러한 문자를 어떻게 처리해야 할지 모릅니다.탈출하다삽입 모드에서열려 있는삽입하고에프).
솔라리스의 말은 다음과 같습니다 dtterm
.
# Reconstructed via infocmp from file: /usr/share/lib/terminfo/d/dtterm
dtterm|CDE terminal emulator,
am, mir, msgr, xenl, xon,
colors#8, cols#80, it#8, lines#24, lm#0, pairs#8,
acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
clear=\E[H\E[J, cnorm=\E[?25h, cr=\r,
csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\b,
cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM,
dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
flash=\E[?5h$<200>\E[?5l, home=\E[H, ht=\t, hts=\EH,
ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\ED,
invis=\E[8m, is2=\E\sF\E>\E[?1l\E[?7h\E[?45l, kbs=\b,
kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
kdch1=\E[3~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~,
kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~,
kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, kich1=\E[2~,
knp=\E[6~, kpp=\E[5~, kslt=\E[4~, nel=\EE,
op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
rmam=\E[?7l, rmir=\E[4l, rmso=\E[22;27m, rmul=\E[24m,
sc=\E7, setab=\E[%p1%{40}%+%dm,
setaf=\E[%p1%{30}%+%dm,
sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t^N%e^O%;,
sgr0=\E[0m, smacs=^N, smam=\E[?7h, smir=\E[4h,
smso=\E[2;7m, smul=\E[4m, tbc=\E[3g,
아니요kend
정의되었으며 키보드 모드로/에서 전환하는 기능은 smkx
정의 되지 않았습니다. rmkx
표시되는 매핑은 다음과 같습니다.신청방법(평소처럼 - 상황에 따라 다름)단말기smkx/rmkx를 사용하여 수행됩니다). 응용 프로그램 모드 특수 키는 로 시작합니다 escapeO. 보시다시피 터미널 설명에는 없습니다.저것. 이 모든 것을 염두에 두고 애플리케이션 모드에 따라 바인딩이 어떻게 실행되는지 보는 것은 흥미로울 것입니다.
이제... 당신은 사용하지 않을 것 같습니다용어솔라리스 11에서. 그것은 더 이상 일반적으로 사용되지 않는 CDE에서 제공하는 터미널 에뮬레이터였습니다. xterm이나 일부 모방품을 사용하고 있을 가능성이 높습니다. 이 경우 가장 좋은 해결책은 ncurses의 터미널 데이터베이스를 설치하여 사용하는 것입니다.
Solaris 11을 빠르게 확인하면서 나는 그들이변형~의xterm-256color
, 그러나 수정되었으므로 사용성이 떨어집니다. 값이 kend
올바르지 않습니다. 자세히 살펴보면 Solaris 개발자는 xterm-256color
에서 상속받은 xtermm
(또는 동등하게 에서 온 xtermc
) 것으로 보입니다. 후자는 xterm FAQ에 나와 있습니다.어떤 $TERM을 사용해야 하나요?:
어떤 사람들은 사용을 제안합니다.xtermc. 이는 Solaris에 설치됩니다. 그러나 현재 사용 중인 xterm과 일치하지 않습니다. (분명히 이것은 Unixware의 오래된 버전을 위해 작성되었습니다).실제로 색상은 작동하지만 마우스가 작동하지 않고 기능 키도 작동하지 않습니다..