2009-01-19 72 views
2

在使用vim時,當我用//開始註釋時,在我輸入一個空格後立即開始一個新的註釋行。vim評論Newlines意外行爲

舉例來說,如果我輸入以下內容:

//hello world my name is stefan 

我會得到:

//hello 
//world 
//my 
//name 
//is 
//stefan 

這種行爲本身就顯示Python代碼爲好,在那裏,如果我開始一個符合打印,每個空間被解釋爲新行

print "Hello world my name is Stefan" 

print 
"hello 
world 
my 
name 
is 
stefan" 

這是預期的行爲還是我有一個設置搞砸了?以下是我的.vimrc:

" An example for a vimrc file. 
" 
" Maintainer: Bram Moolenaar <email address> 
" Last change: 2006 Nov 16 
" 
" To use it, copy it to 
"  for Unix and OS/2: ~/.vimrc 
"   for Amiga: s:.vimrc 
" for MS-DOS and Win32: $VIM\_vimrc 
"  for OpenVMS: sys$login:.vimrc 

" When started as "evim", evim.vim will already have done these settings. 
if v:progname =~? "evim" 
    finish 
endif 

" TagList plugin settings 
nmap <f12> :TlistToggle<end> 

" Use Vim settings, rather then Vi settings (much better!). 
" This must be first, because it changes other options as a side effect. 
set nocompatible 

" allow backspacing over everything in insert mode 
set backspace=indent,eol,start 

set nobackup  " do not keep a backup file, use versions instead 
set history=50  " keep 50 lines of command line history 
set ruler  " show the cursor position all the time 
set showcmd  " display incomplete commands 
set incsearch  " do incremental searching 

" For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries 
" let &guioptions = substitute(&guioptions, "t", "", "g") 

" Don't use Ex mode, use Q for formatting 
map Q gq 

" In many terminal emulators the mouse works just fine, thus enable it. 
" set mouse=a 

" Switch syntax highlighting on, when the terminal has colors 
" Also switch on highlighting the last used search pattern. 
if &t_Co > 2 || has("gui_running") 
    syntax on 
    set hlsearch 
endif 

" Only do this part when compiled with support for autocommands. 
if has("autocmd") 

    " Enable file type detection. 
    " Use the default filetype settings, so that mail gets 'tw' set to 72, 
    " 'cindent' is on in C files, etc. 
    " Also load indent files, to automatically do language-dependent indenting. 
    filetype plugin indent on 

    " Put these in an autocmd group, so that we can delete them easily. 
    augroup vimrcEx 
    au! 

    " For all text files set 'textwidth' to 78 characters. 
    autocmd FileType text setlocal textwidth=78 

    " When editing a file, always jump to the last known cursor position. 
    " Don't do it when the position is invalid or when inside an event handler 
    " (happens when dropping a file on gvim). 
    autocmd BufReadPost * 
    \ if line("'\"") > 0 && line("'\"") <= line("$") | 
    \ exe "normal! g`\"" | 
    \ endif 

    augroup END 

else 

    set autoindent  " always set autoindenting on 

endif " has("autocmd") 

set backupdir=./.backup,.,/tmp 
set directory=.,./.backup,/tmp 

map <F1> :NERDTree <CR> 
map <F2> :q!<CR>:q!<CR>:q!<CR>:q!<CR>:q!<CR>:q!<CR>:q!<CR>:q!<CR>:q!<CR>:q!<CR>:q!<CR>:q!<CR>:q!<CR>:q!<CR>:q!<CR>:q!<CR>:q!<CR>:q!<CR> 
map <F5> :AV<CR> 
map <F6> :AS<CR> 
map <F7> :IHV<CR> 
map <F8> :IHS<CR> 
+3

我建議映射到:質量保證!代替? :) – falstro 2009-01-19 19:38:56

+0

我看不出有什麼問題,但我建議你做一個:設置並把輸出放在這裏,以便我們可以看到什麼設置是活動的。 – 2009-01-19 19:42:58

回答

7

我的猜測是,你混了「TW」(又名文本寬度)和舊vi命令來設置文本邊距「WM」。 「tw」設置頁面的實際寬度(即tw = 77意味着每行需要77個字母),但是「wm」設置距離屏幕邊緣多遠以包裝,因此在80列屏幕上「wm = 3「將具有與」tw = 77「相同的效果。所以如果你的tw被設置爲非常小的東西,它會嘗試在每個單詞之後換行。

1

我不能在你的vimrc中發現它,但它看起來你的tw被設置爲低(0除外),比如5左右。嘗試設置tw = 0,看看會發生什麼。

編輯:
正如保羅指出,你可能混淆了總重量(文本寬度)和TS(製表位),它通常設置爲4或2