Vim备忘

代码折叠

经常使用快捷键 ——不必定准确,仅供参考。javascript

  • za 打开/关闭在光标下的折叠
  • zA 循环地打开/关闭光标下的折叠
  • zc 关闭 (close) 在光标下的折叠
    • 折叠,只折叠最外层的折叠
  • zC 循环关闭 (Close) 在光标下的全部折叠
    • 对所在范围内全部嵌套的折叠点进行折叠,包括嵌套的全部折叠.
  • zd 删除 (delete) 在光标下的折叠。仅当 ‘foldmethod’ 设为 “manual” 或 “marker” 时有效。
  • zD 循环删除 (Delete) 光标下的折叠,即嵌套删除折叠。
    • 仅当 ‘foldmethod’ 设为 “manual” 或 “marker” 时有效。
  • zE 除去 (Eliminate) 窗口里“全部”的折叠。
    • 仅当 ‘foldmethod’ 设为 “manual” 或 “marker” 时有效。
  • zfap 将光标移到段落内,而后按zfap,就能够自动对整个段落添加折叠标签
  • zj 向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。
  • zk 向上移动到前一折叠的结束处。关闭的折叠也被
  • zm 这将折叠更多 (M-ore)。你能够重复 “zr” 和 “zm” 来打开和关闭若干层嵌套的折叠,否则得一个一个的用zc来折叠.
  • zM 关闭全部折叠
  • zo 打开 (open) 在光标下的折叠
    • 展开折叠,只展开最外层的折叠.
  • zO 循环打开 (Open) 光标下的折叠
    • 对所在范围内全部嵌套的折叠点展开,包括嵌套折叠.
  • zr 假定你已经建立了若干折叠,而如今须要阅览所有文本。你能够移到每一个折叠处,并键入”zo”。若要作得更快,能够用这个命令:zr
  • zR 打开全部的折叠
  • 你能够用 |zn| 命令快速禁止折叠功能。而后 |zN| 恢复原来的折叠。|zi| 切换于二者 之间。
  • [z 到当前打开的折叠的开始处。
  • ]z 到当前打开的折叠的末尾处。

2016.6.19php

Alpha helix     (Hh) :   323 is  43.89%
310  helix       (Gg) :     0 is   0.00%

Alpha helix (Hh) : 替换成 Alpha helix :css

%s/\s\+([^()]\+)\s\+/ /

关键点:括号html

2015.5.7java

一行变多行,这样子能够:1s/; /\r/gpython

换行符替换成空格:1,$s/\n/ /vim

2015.6.18markdown

给本身的简单 vimrc 备个份吧,只是在示例中稍加修改:app

"
" Maintainer:	Bram Moolenaar <Bram@vim.org>
" Last change:	2011 Apr 15
"
" 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

" Use Vim settings, rather than 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

if has("vms")
  set nobackup		" do not keep a backup file, use versions instead
else
  set backup		" keep a backup file
endif
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

" CTRL-U in insert mode deletes a lot.  Use CTRL-G u to first break undo,
" so that you can undo CTRL-U after inserting a line break.
inoremap <C-U> <C-G>u<C-U>

" In many terminal emulators the mouse works just fine, thus enable it.
if has('mouse')
  set mouse=a
endif

" 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).
  " Also don't do it when the mark is in the first line, that is the default
  " position when opening a file.
  autocmd BufReadPost *
    \ if line("'\"") > 1 && line("'\"") <= line("$") |
    \   exe "normal! g`\"" |
    \ endif

  augroup END

else

  set autoindent		" always set autoindenting on

endif " has("autocmd")

" Convenient command to see the difference between the current buffer and the
" file it was loaded from, thus the changes you made.
" Only define it when not defined already.
if !exists(":DiffOrig")
  command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis
		  \ | wincmd p | diffthis
endif

set nu

"colorscheme murphy
"colorscheme elflord
"colorscheme evening
colorscheme koehler

set t_Co=256

"设置编码
set encoding=utf-8
set fenc=utf-8
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1

" 空格和tab的替换,设tab宽4个空格
"set ts=4  " ts is short for tabstop
"set shiftwidth=4 "设定自动缩进为4个字符
"set expandtab "set noexpandtab
"set smarttab
"针对特定文件格式缩进
autocmd FileType perl,python,r,cpp,markdown,javascript setlocal expandtab smarttab sw=4 ts=4
autocmd FileType php setlocal expandtab smarttab sw=2 ts=2
autocmd FileType xhtml,html setlocal expandtab smarttab sw=2 ts=2

" php文件中html没法自动缩进尝试
"filetype on
" 快捷键,根据文件类型实时更改
" 快捷键"\+1"
nnoremap <leader>1 :set filetype=xhtml<CR>
nnoremap <leader>2 :set filetype=css<CR>
nnoremap <leader>3 :set filetype=javascript<CR>
nnoremap <leader>4 :set filetype=php<CR>
nnoremap <leader>5 :set filetype=default<CR>

"设置字典
autocmd FileType php set dictionary-=~/.vim/dict/php.dict dictionary+=~/.vim/dict/php.dict
autocmd FileType php set complete-=k complete+=k

autocmd FileType python set dictionary-=~/.vim/dict/python.dict dictionary+=~/.vim/dict/python.dict
autocmd FileType python set complete-=k complete+=k

autocmd FileType cpp set dictionary-=~/.vim/dict/cpp.dict dictionary+=~/.vim/dict/cpp.dict
autocmd FileType cpp set complete-=k complete+=k

" 姑且混在一块儿?
autocmd FileType html,javascript set dictionary-=~/.vim/dict/html.dict dictionary+=~/.vim/dict/html.dict
autocmd FileType html,javascript set complete-=k complete+=k

"自动添加注释之类
autocmd BufNewFile *.pl,*.pm exec ":call StrictWarn()"

func StrictWarn()
	if expand("%:e") == 'pl'
		call setline(1,"#!/usr/bin/perl")
	"未必合理,姑且留着吧
	elseif expand("%:e") == 'pm'
		call setline(1,"package " . expand("%:r") . ";")
	endif
	call append(1,"")
	call append(2,"use strict;")
	call append(3,"use warnings;")
endfunc
相关文章
相关标签/搜索