![我需要什么 vim 设置才能使 vim ftp write 不会转换为 dos 格式?](https://linux22.com/image/1371740/%E6%88%91%E9%9C%80%E8%A6%81%E4%BB%80%E4%B9%88%20vim%20%E8%AE%BE%E7%BD%AE%E6%89%8D%E8%83%BD%E4%BD%BF%20vim%20ftp%20write%20%E4%B8%8D%E4%BC%9A%E8%BD%AC%E6%8D%A2%E4%B8%BA%20dos%20%E6%A0%BC%E5%BC%8F%EF%BC%9F.png)
这个问题实际上是关于能否使用 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