在哪里找到vim撤消设置以及如何关闭它们?

时间:2013-08-27 15:00:25

标签: vim

我在使用vim时遇到了很多麻烦。我在我的〜/ .vimrc中设置了'noundofile'并附加了我工作目录的屏幕截图,所有的.un~文件到处都是超级烦人的。这里有点帮助谢谢!

screen shot of a dir

下面是我的.vimrc

set nocompatible
exec pathogen#infect()
filetype plugin indent on
filetype plugin on
"syntax enable
syntax on
set background=light
set noundofile
let g:solarized_termtrans = 1
colorscheme solarized
set number
noremap <Up> <NOP>
noremap <Down> <NOP>
noremap <Left> <NOP>
noremap <Right> <NOP>
vnoremap < <gv
vnoremap > >gv
set runtimepath^=~/.vim/bundle/ctrlp.vim
autocmd FileType ruby set ft=ruby.rails
autocmd Filetype ruby setlocal ts=2 sts=2 sw=2
set nobackup      " no backup files
set nowritebackup " only in case you don't want a backup file while editing
set noswapfile    " no swap files
set clipboard=unnamed " use Mac clipboard for yank/paste/etc.
" expand %% to file dir
cnoremap %% <C-R>=expand('%:h').'/'<cr> 

set autoindent    " always set autoindenting on
set copyindent    " copy the previous indentation on autoindenting
set shiftround    " use multiple of shiftwidth when indenting with '<' and '>'
set smarttab      " insert tabs on the start of a line according to
                  "    shiftwidth, not tabstop
set ts=2 sts=2 sw=2 expandtab "set two spaces by default

autocmd Filetype javascript setlocal et ts=2 sts=2 sw=2
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS

autocmd Filetype html setlocal et ts=2 sts=2 sw=2
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags

autocmd Filetype css setlocal et ts=2 sts=2 sw=2
autocmd FileType css set omnifunc=csscomplete#CompleteCSS


au BufRead,BufNewFile *.hamlc set ft=haml

" Vim-pasta Settings
let g:pasta_disabled_filetypes = ['python', 'coffee', 'yaml']


" Indent Guide Settings
autocmd FileType html,css,ruby,eruby,javascript,php,xml,haml call indent_guides#enable()
set mouse=a
imap <C-l> <Space>=><Space>
"Make hashrocket with control-l
nmap <silent> <Leader>q :NERDTreeToggle<CR>

3 个答案:

答案 0 :(得分:7)

我个人喜欢持久的撤消功能。但是,您可以通过设置undodir来更改undofiles所在的位置。

set undofile
set undodir=$HOME/.vim/vimundo

如果这样做,您必须首先确保$HOME/.vim/vimundo存在

mkdir -p $HOME/.vim/vimundo

(您仍然需要删除旧版本,但至少它们不再混乱工作目录)


如果需要,您也可以对备份文件执行相同操作。 (:h backupdir


关于你的vimrc的其他说明。

exec pathogen#infect()
...
set runtimepath^=~/.vim/bundle/ctrlp.vim

不应该需要set runtimepath^=~/.vim/bundle/ctrlp.vim,因为病原体应该已经将它附加到运行时路径。

正如@romainl所说,filetype plugin on是多余的。

答案 1 :(得分:3)

来自:help 'undofile'

boolean (default off)
[…]
When 'undofile' is turned off the undo file is NOT deleted.

所以...

  1. 您不需要set noundofile因为默认情况下已关闭,

  2. 您需要自行删除所有这些文件。

答案 2 :(得分:0)

请注意,撤消文件功能是在Vim 7.3版中实现的。如果您使用的是较早的版本,并且在.vimrc中包含set undofileset noundofile,则会出现如下错误:

E518: Unknown option: noundofile

可以here找到检查Vim版本以防止这些错误的想法。