我需要什么 vim 设置才能使 vim ftp write 不会转换为 dos 格式?

我需要什么 vim 设置才能使 vim ftp write 不会转换为 dos 格式?

这个问题实际上是关于能否使用 gVim 或命令行 vim 写入文件,而无需将其文件类型 (Unix) 更改为 DOS。在 Linux 系统上,命令行 vim 不会直接发生此问题。

我正在使用 gVim 编辑 Linux 系统上的文件。编辑命令如下:

:e ftp://user@server//home/csm/csmdev/recpt_rpt.4gl

当我编辑文件时,它的类型是 Unix。当我写出文件时,它会自动转换为 dos 格式。我通过在:e!写出文件后输入正确的内容来确认这一点:w

我已在本文末尾附上了我的 .vimrc。

我已将提供的建议作为对该 OP 的回答(评论) 。

nnoremap <F2> :set nonumber!<CR>:set foldcolumn=0<CR>
filetype plugin indent on
autocmd FileType python set complete+=k~/.vim/syntax/python.vim isk+=.,(
map <buffer> <S-e> :w<CR>:!/usr/bin/env python % <CR>
set encoding=utf8
set paste
set expandtab
set textwidth=0
set tabstop=4
set softtabstop=4
set shiftwidth=4
set autoindent
set backspace=indent,eol
set incsearch
set ignorecase
set ruler
set wildmenu
set commentstring=\ #\ %s
set clipboard+=unnamed
set wm=8
syn on
set nocompatible
set fileformats=unix,dos
" tab navigation adapted from vim tip 1221
nmap th :tabprev<cr>
nmap tl :tabnext<cr>
nmap tn :tabnew<cr>
nmap tc :tabclose<cr>
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=\%03.3b]\ [HEX=\%02.2B]\ [POS=%04l,%04v][%p%%]\ [LEN=%L] 
set laststatus=2

答案1

这应该可以解决问题:

set fileformats=unix

它可以防止使用 dos 文件格式。

答案2

这个问题现在已解决。当我从 7.4a Beta 构建 vim 时,这个问题已解决。我发布了 .vimrc,其中没有 fileformats 选项。

我使用以下参数运行了配置:

/configure --enable-gui=auto --disable-gtktest

这是 .vimrc:

nnoremap <F2> :set nonumber!<CR>:set foldcolumn=0<CR>
filetype plugin indent on
autocmd!
autocmd FileType python set complete+=k~/.vim/syntax/python.vim isk+=.,(
map <buffer> <S-e> :w<CR>:!/usr/bin/env python % <CR>
set encoding=utf8
set paste
set expandtab
set textwidth=0
set tabstop=4
set softtabstop=4
set shiftwidth=4
set autoindent
set backspace=indent,eol
set incsearch
set ignorecase
set smartcase
set ruler
set wildmenu
set commentstring=\ #\ %s
set clipboard+=unnamed
set wm=8
syn on
set nocompatible
" tab navigation adapted from vim tip 1221
nmap th :tabprev<cr>
nmap tl :tabnext<cr>
nmap tn :tabnew<cr>
nmap tc :tabclose<cr>
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=\%03.3b]\ [HEX=\%02.2B]\ [POS=%04l,%04v][%p%%]\ [LEN=%L] 
set laststatus=2
" Uncomment the following to have Vim jump to the last position when
" reopening a file
if has("autocmd")
  au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
    \| exe "normal g'\"" | endif
endif
autocmd BufNewFile * silent! 0r $VIMHOME/templates/%:e.tpl
augroup filetypedetect
    autocmd BufRead,BufNewFile *.wiki setfiletype Wikipedia
    autocmd BufRead,BufNewFile *.wikipedia.org* setfiletype Wikipedia
augroup END

相关内容