VIM中的折叠代码
我试图在VIM中实现代码折叠。 我相信它们的标准命令是za、zc、zo等。 据我所知,要使这些命令正常工作,不需要做任何特殊的事情。 我主要是一个JS程序员 但是,这些命令在我的VIM中都不起作用。我正在使用VIM 7.2 下面是我的.vimrc文件。 我之所以展示我的整个.vimrc文件,是因为我猜测我正在使用的一个插件可能导致折叠命令无法工作 如果有人知道这里出了什么问题。。请指出VIM中的折叠代码,vim,Vim,我试图在VIM中实现代码折叠。 我相信它们的标准命令是za、zc、zo等。 据我所知,要使这些命令正常工作,不需要做任何特殊的事情。 我主要是一个JS程序员 但是,这些命令在我的VIM中都不起作用。我正在使用VIM 7.2 下面是我的.vimrc文件。 我之所以展示我的整个.vimrc文件,是因为我猜测我正在使用的一个插件可能导致折叠命令无法工作 如果有人知道这里出了什么问题。。请指出 " Start pathogen plugins " call pathogen#infect() " Au
" Start pathogen plugins "
call pathogen#infect()
" Automatic syntax highlight on "
syntax on
" Necessary for NerdCommenter to Work "
filetype plugin indent on
set nocompatible
source $VIMRUNTIME/vimrc_example.vim
" Replace tabs with spaces "
set expandtab
" Make tab 2 space wide
set tabstop=2
set shiftwidth=2
" If I am in an indented block of code, keep the indentation level when I "
" press enter "
set autoindent
" Stop vim from creating automatic backups "
set nobackup
set noswapfile
set nowb
set nowritebackup
" Show line numbers "
set number
" Shift+Tab unindents a line "
imap <S-Tab> <Esc><<i
nmap <S-tab> <<
" Remove trailing spaces when saving a file "
autocmd BufWritePre * :%s/\s\+$//e
" Highlight all occurances of search "
set hlsearch
" Ignore case during search
set ignorecase
" Show tabs and trailing spaces "
set list listchars=tab:.\ ,trail:·
" set colorscheme "
colorscheme desert
set background=dark
set ff=unix
set showtabline=2
set smarttab
set incsearch
" Store a history of commands "
set history=1000
" Number of undo levels "
set undolevels=1000
" Change title of tab "
set title
" Open nerdtree plugin when vim starts "
let g:nerdtree_tabs_open_on_console_startup=1
au BufNewFile,BufRead *.less set filetype=less
let g:DirDiffExcludes = ".svn,*.swp"
let Grep_Skip_Dirs = '.svn'
" 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
" useful mappings for managing tabs
map <leader>tn :tabnew<cr>
map <leader>to :tabonly<cr>
map <leader>tc :tabclose<cr>
map <leader>tm :tabmove
set wrap linebreak nolist
nnoremap tp :tabprev<CR>
nnoremap tn :tabnext<CR>
nnoremap tf :tabfirst<CR>
nnoremap tl :tablast<CR>
highlight ExtraWhitespace ctermbg=red guibg=red
match ExtraWhitespace /\s\+$/
autocmd BufWinEnter * match ExtraWhitespace /\s\+$/
autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/
autocmd InsertLeave * match ExtraWhitespace /\s\+$/
autocmd BufWinLeave * call clearmatches()
function! TrimWhiteSpace()
%s/\s\+$//e
endfunction
autocmd BufWritePre *.* :call TrimWhiteSpace()
我认为要使折叠命令起作用,需要设置foldmethod选项。在我看来,最简单的开头应该是“缩进”。我使用:
vmap <F4> zf
vmap <F5> zd
在我的.vimrc文件中。这允许我使用F4和F5键折叠/展开。打开一个js文件,其输出是什么:set fdm?foldmethod不见了。。我先把它设为缩进。。对javascript没有太多帮助。我现在正试图结合基于语法的folding提供代码,并解释为什么您的建议将解决公开的问题