4

私は最近 cygwin をインストールしました (私は Windows OS に限定されているため)、その中で Vim を利用したいと考えています。すべてがインストールされ、vim に簡単にアクセスでき、.vimrc などを変更できます。以前の投稿から、プラグインは Windows OS の vimfiles にある必要があることを知り、そうしました。ただし、病原体を検証しようとすると、次のエラーが表示されます。

E492: Not an editor command: ^M (this repeats a couple times)
E15: Invalid expression: exists("g:loaded_pathogen") || &cp^M
E117: Unknown function: pathogen#infect

私の .virmc (すべてを起動しようとするだけの非常に基本的なもの)

version 6.0
if &cp | set nocp | endif
let s:cpo_save=$cpo
enter code here
set cpo&vim
map! <C-Home> <C-Home>
map! <C-End> <C-End>
let &cpo=s:cpo_save
unlet s:cpo_save
set autoindent
set ff=unix
set background=dark
set backspace=2
set fileencodings=ucs-bom,utf-8,default,latin1
set helplang=en
set history=50
set laststatus=2
set ruler
set shelltemp
set viminfo='100,<50,s10,h
set window=55
" vim: set ft=vim :
call pathogen#infect()
syntax on
filetype plugin indent on

よろしく、

4

3 に答える 3

3

シェルから、次のコマンドを実行してみてください。

find ~/.vim -type f -exec dos2unix \"{}\" \;

これにより、ディレクトリの下にあるすべてのファイル~/.vimが UNIX ファイル形式に変換されます。^M表示されているエラーを削除する必要があります。

于 2012-12-19T22:03:34.990 に答える
0

あなたの.vimrcファイルで私は気づきました

set ff=unix

しかし、vim では、次のコマンドはいくつかのことを説明しています。

:help dos-file-formats

If the 'fileformat' option is set to "dos" (which is the default), Vim accepts
a single <NL> or a <CR><NL> pair for end-of-line (<EOL>).  When writing a
file, Vim uses <CR><NL>.  Thus, if you edit a file and write it, Vim replaces
<NL> with <CR><NL>.             

If the 'fileformat' option is set to "unix", Vim uses a single <NL> for <EOL>
and shows <CR> as ^M.

You can use Vim to replace <NL> with <CR><NL> by reading in any mode and
writing in Dos mode (":se ff=dos").
You can use Vim to replace <CR><NL> with <NL> by reading in Dos mode and
writing in Unix mode (":se ff=unix").

Vim sets 'fileformat' automatically when 'fileformats' is not empty (which is
the default), so you don't really have to worry about what you are doing.

だから、あなたは削除しようとする必要があります

set ff=unix

行、またはファイルの行末を修正します。

于 2012-12-19T20:44:52.197 に答える
0

私はちょうど同じ問題を抱えていました。バンドル ファイルで "dos2unix" を呼び出す上記の解決策 (nullrevolution によって提案された) は、現在のプラグインの問題を解決するはずです。

将来的には、git config core.autocrlf を true に設定して、git repos を bundles ディレクトリに複製することで問題が発生したことがわかりました。git config core.autocrlf を false に戻した後、再度プラグインを git clone したところ、UNIX-y のファイル末尾に戻りました。

于 2013-01-23T00:04:10.460 に答える