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
相關文章
相關標籤/搜索