Etapa 1 no vim:
:map o iinsert<CR>some<CR>lines<ESC>
Em uma configuração normal como o debian, pressionar o agora irá inserir o que desejar:
insert
some
lines
Mas no vim no cygwin, o <CR>
não é analisado corretamente, portanto, pressionando o será inserido:
insert<CR>some<CR>lines<ESC>
Como posso fazer esse tipo de mapeamento funcionar corretamente no cygwin?
(Nota: a saída de: mapa detalhado é idêntica no debian e cygwin)
:se cpoptions=aABceFs
primeiro. Alguém sabe o porquê ou o que é isso?Respostas:
Você provavelmente precisa "
:set nocompatible
" primeiro ou criar um ~ / .vimrc (ter um vimrc automaticamente equivale a:set nocompatible
).O motivo pelo qual você deseja estar no modo nocompatível é porque isso diz ao Vim para habilitar grandes quantidades de seu conjunto de recursos aprimorados, o que não é estritamente compatível com o comportamento do vi original.
Isso também responde à sua pergunta sobre "
:se cpoptions=aABceFs
" - você está removendo o caractere '<' dessa opção, que, quando presente, desativa o reconhecimento de códigos <...> em mapeamentos, etc.fonte