2016-08-12 69 views
-1

在我的.vimrc中,我试图设置一个非常大的历史记录大小。但每当我尝试了数大于10000,我得到一个无效的参数错误,如:为什么我得到一个E474:无效的参数历史= ...当我设置一个大于10000的历史大小?

E474: Invalid argument: history=10001

它工作正常的数量不超过10000

更大 - VIM的

输出--version

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Aug 4 2016 15:30:16) 
MacOS X (unix) version 
Included patches: 1-2152 
Compiled by Homebrew 
Huge version without GUI. Features included (+) or not (-): 
+acl    +file_in_path +mouse_sgr  +tag_old_static 
+arabic   +find_in_path -mouse_sysmouse -tag_any_white 
+autocmd   +float   +mouse_urxvt  -tcl 
-balloon_eval +folding   +mouse_xterm  +termguicolors 
-browse   -footer   +multi_byte  +terminfo 
++builtin_terms +fork()   +multi_lang  +termresponse 
+byte_offset  -gettext   -mzscheme  +textobjects 
+channel   -hangul_input +netbeans_intg +timers 
+cindent   +iconv   +num64   +title 
-clientserver +insert_expand +packages  -toolbar 
+clipboard  +job    +path_extra  +user_commands 
+cmdline_compl +jumplist  +perl   +vertsplit 
+cmdline_hist +keymap   +persistent_undo +virtualedit 
+cmdline_info +lambda   +postscript  +visual 
+comments  +langmap   +printer   +visualextra 
+conceal   +libcall   +profile   +viminfo 
+cryptv   +linebreak  +python   +vreplace 
+cscope   +lispindent  -python3   +wildignore 
+cursorbind  +listcmds  +quickfix  +wildmenu 
+cursorshape  +localmap  +reltime   +windows 
+dialog_con  -lua    +rightleft  +writebackup 
+diff   +menu   +ruby   -X11 
+digraphs  +mksession  +scrollbind  -xfontset 
-dnd    +modify_fname +signs   -xim 
-ebcdic   +mouse   +smartindent  -xsmp 
+emacs_tags  -mouseshape  +startuptime  -xterm_clipboard 
+eval   +mouse_dec  +statusline  -xterm_save 
+ex_extra  -mouse_gpm  -sun_workshop -xpm 
+extra_search -mouse_jsbterm +syntax   
+farsi   +mouse_netterm +tag_binary  
    system vimrc file: "$VIM/vimrc" 
    user vimrc file: "$HOME/.vimrc" 
2nd user vimrc file: "~/.vim/vimrc" 
     user exrc file: "$HOME/.exrc" 
     defaults file: "$VIMRUNTIME/defaults.vim" 
    fall-back for $VIM: "/usr/local/share/vim" 
Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H -DMACOS_X_UNIX -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1  
Linking: clang -L. -fstack-protector -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib -L/usr/local/lib -o vim  -lncurses -liconv -framework Cocoa -mmacosx-version-min=10.11 -fstack-protector-strong -L/usr/local/lib -L/usr/local/Cellar/perl/5.24.0_1/lib/perl5/5.24.0/darwin-thread-multi-2level/CORE -lperl -lm -lutil -lc -F/usr/local/Cellar/python/2.7.12/Frameworks -framework Python -lruby.2.3.0 -lobjc -L/usr/local/Cellar/ruby/2.3.1/lib  

-

我的完整.vimrc

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" => General 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" Enable filetype plugins 
filetype plugin on 
filetype indent on 

" Set to auto read when a file is changed from the outside 
set autoread 

" With a map leader it's possible to do extra key combinations 
" like <leader>w saves the current file 
let mapleader = "\\" 
let g:mapleader = "\\" 

" Fast saving 
nmap <leader>w :w!<cr> 
nmap <leader>q :q<cr> 
nmap <leader>wq :wq<cr> 
nmap <leader>Q :q!<cr> 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" => VIM user interface 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" Set 7 lines to the cursor - when moving vertically using j/k 
set so=7 

" Turn on the WiLd menu 
set wildmenu 

" Ignore compiled files 
set wildignore=*.o,*~,*.pyc 

"Always show current position 
set ruler 

" Height of the command bar 
"set cmdheight=2 

" A buffer becomes hidden when it is abandoned 
set hid 

" Configure backspace so it acts as it should act 
set backspace=eol,start,indent 
set whichwrap+=<,>,h,l 

" Ignore case when searching 
"set ignorecase 

" When searching try to be smart about cases 
set smartcase 

" Highlight search results 
set hlsearch 

" Makes search act like search in modern browsers 
set incsearch 

" Don't redraw while executing macros (good performance config) 
set lazyredraw 

" For regular expressions turn magic on 
set magic 

" Show matching brackets when text indicator is over them 
set showmatch 
" How many tenths of a second to blink when matching brackets 
set mat=2 

" No annoying sound on errors 
set noerrorbells 
set novisualbell 
"set t_vb= 
"set tm=500 

set nocompatible 
" Sets how many lines of history VIM has to remember 
set history=10000 

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" => Colors and Fonts 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" Enable syntax highlighting 
syntax enable 

colorscheme desert 
set background=dark 

" Set extra options when running in GUI mode 
if has("gui_running") 
    set guioptions-=T 
    set guioptions+=e 
    set t_Co=256 
    set guitablabel=%M\ %t 
endif 

" Set utf8 as standard encoding and en_US as the standard language 
set encoding=utf8 

" Use Unix as the standard file type 
set ffs=unix,dos,mac 

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" => Text, tab and indent related 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" Use spaces instead of tabs 
set expandtab 

" Be smart when using tabs ;) 
"set smarttab 

" 1 tab == 4 spaces 
set shiftwidth=4 
set tabstop=4 

" Linebreak on 500 characters 
"set lbr 
"set tw=500 

set ai "Auto indent 
set si "Smart indent 
set wrap "Wrap lines 

"""""""""""""""""""""""""""""" 
" => Visual mode related 
"""""""""""""""""""""""""""""" 
" Visual mode pressing * or # searches for the current selection 
" Super useful! From an idea by Michael Naumann 
vnoremap <silent> * :call VisualSelection('f')<CR> 
vnoremap <silent> # :call VisualSelection('b')<CR> 

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" => Moving around, tabs, windows and buffers 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" Treat long lines as break lines (useful when moving around in them) 
map j gj 
map k gk 

" Map <Space> to/(search) and Ctrl-<Space> to ? (backwards search) 
map <space>/
map <c-space> ? 

" Disable highlight when <leader><cr> is pressed 
map <silent> <leader><cr> :noh<cr> 

" Smart way to move between windows 
map <C-j> <C-W>j 
map <C-k> <C-W>k 
map <C-h> <C-W>h 
map <C-l> <C-W>l 

" Close the current buffer 
"map <leader>bd :Bclose<cr> 

" Close all the buffers 
"map <leader>ba :1,1000 bd!<cr> 

" Useful mappings for managing tabs 
map <leader>tn :tabnew<cr> 
map <leader>to :tabonly<cr> 
map <leader>tc :tabclose<cr> 
map <leader>tm :tabmove 

" Opens a new tab with the current buffer's path 
" Super useful when editing files in the same directory 
map <leader>te :tabedit <c-r>=expand("%:p:h")<cr>/ 

" Switch CWD to the directory of the open buffer 
map <leader>cd :cd %:p:h<cr>:pwd<cr> 

" Specify the behavior when switching between buffers 
try 
    set switchbuf=useopen,usetab,newtab 
    set stal=2 
catch 
endtry 

" Return to last edit position when opening files (You want this!) 
autocmd BufReadPost * 
    \ if line("'\"") > 0 && line("'\"") <= line("$") | 
    \ exe "normal! g`\"" | 
    \ endif 
" Remember info about open buffers on close 
set viminfo^=% 

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" => Spell checking 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" Pressing ,ss will toggle and untoggle spell checking 
map <leader>ss :setlocal spell!<cr> 

" Shortcuts using <leader> 
map <leader>sn ]s 
map <leader>sp [s 
map <leader>sa zg 
map <leader>s? z= 

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" => Misc 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" Remove the Windows ^M - when the encodings gets messed up 
"noremap <Leader>m mmHmt:%s/<C-V><cr>//ge<cr>'tzt'm 

" Quickly open a buffer for scripbble 
map <leader>n :tabedit ~/.vim_buffer<cr> 

" Toggle paste mode on and off 
map <leader>pp :setlocal paste!<cr> 

" Use JS syntax highlighting for JSON 
autocmd BufNewFile,BufRead *.json set ft=javascript 

" JSON pretty printer: edits the current buffer, revert before 
" quitting 
map <leader>json :%!jq '.'<cr> 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" => Helper functions 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
function! CmdLine(str) 
    exe "menu Foo.Bar :" . a:str 
    emenu Foo.Bar 
    unmenu Foo 
endfunction 

function! VisualSelection(direction) range 
    let l:saved_reg = @" 
    execute "normal! vgvy" 

    let l:pattern = escape(@", '\\/.*$^~[]') 
    let l:pattern = substitute(l:pattern, "\n$", "", "") 

    if a:direction == 'b' 
     execute "normal ?" . l:pattern . "^M" 
    elseif a:direction == 'gv' 
     call CmdLine("vimgrep " . '/'. l:pattern . '/' . ' **/*.') 
    elseif a:direction == 'replace' 
     call CmdLine("%s" . '/'. l:pattern . '/') 
    elseif a:direction == 'f' 
     execute "normal /" . l:pattern . "^M" 
    endif 

    let @/ = l:pattern 
    let @" = l:saved_reg 
endfunction 


" Returns true if paste mode is enabled 
function! HasPaste() 
    if &paste 
     return 'PASTE MODE ' 
    en 
    return '' 
endfunction 

" Don't close window, when deleting a buffer 
command! Bclose call <SID>BufcloseCloseIt() 
function! <SID>BufcloseCloseIt() 
    let l:currentBufNum = bufnr("%") 
    let l:alternateBufNum = bufnr("#") 

    if buflisted(l:alternateBufNum) 
    buffer # 
    else 
    bnext 
    endif 

    if bufnr("%") == l:currentBufNum 
    new 
    endif 

    if buflisted(l:currentBufNum) 
    execute("bdelete! ".l:currentBufNum) 
    endif 
endfunction 
+3

你甚至读过':help'history''吗? – romainl

+0

哦,我不知道这一点。但只是检查,找不到任何相关的东西。对不起,我错过了somethinng,@romainl? – pranav

+1

是的,你错过了说上限为10000的部分。 – romainl

回答

0

正如@romainl在注释中指出的那样,上限是10,000个命令。所以我想就是这样。

相关问题