拷贝1行:yy
拷贝3行:y3y
拷贝所有行:yG
粘贴:p
删除1行:dd(同时会复制到内存,其实是剪切操作)
删除3行:d3d
删除所有行: dG
撤销:u
重做:ctrl+r
从G回到之前的位置:'' (两下单引号)
移动到行首: 0
移动到匹配的括号: %
备注:
y -> yank
d -> delete
p -> paste
更新
替换: %s/pattern/replace_content/modifier (注意?不需escape,但&需转)
仅替换光标所在行: s /pattern/replace_content/modifier
整块缩进: V,然后HJKL上下左右框选,最后shift + <>进行左右缩进
多行复制:V框选,然后按1次y即可
从当前位置之后插入: a,相当于i再右移一位。
更新2
贴个现在用的vimrc:
"======================================================
"Vim configuration file
"~/.vimrc
"Latees change: 2009.06.03
"==============
"Setings
"=============
set nocompatible
set history=400
set ruler
set showcmd
set number
set hlsearch
set incsearch
set expandtab
set noerrorbells
set novisualbell
set t_vb= "close visual bell
set tabstop=4
set shiftwidth=4
set nobackup
set nowritebackup
set smarttab
set smartindent
set autoindent
set cindent
set wrap
set wildmenu
set autoread
set cmdheight=3
set showtabline=2
set tabpagemax=20
set laststatus=2
set noswapfile
set cursorline
"set statusline=\ [File]\ %F%m%r%h\ %w\ \ %h\ \%=[Line]\ %l,%c\ %=\ %P
set laststatus=2 statusline=%f\ %m\ %{&fileencoding}
set whichwrap=b,s,<,>,[,],h,l "Allow move the cursor left/right to move to the previous/next line
set term=xterm
set listchars=tab:>-,trail:_
set list
"===============
"Mappings
"===============
:map <F5> :tabp<CR>
:map <F6> :tabn<CR>
:map <F10> :set number!<CR>
:imap <F5> <ESC>:tabp<CR>i
:imap <F6> <ESC>:tabn<CR>i
:vmap < <gv
:vmap > >gv
function! CurrectDir()
let curdir = substitute(getcwd(), "", "", "g")
return curdir
endfunction
syntax match Trail " +$"
highlight def link Trail Todo
其中:
set listchars=tab:>-,trail:_使得空格和tab能够高亮显示。vmap < <gv是对块的连续缩进的支持。
添加对euc-jp的支持:
set enc=utf-8
set fenc=euc-jp
set fencs=euc-jp,utf-8,shift-jis
set termencoding=utf-8
将文件存为euc-jp格式:
:set fenc=euc-jp
:w
查看文件编码:
:set fenc
更新3
命令行:
一次打开多个文件(
-p)vim -p string.c setproctitle.c test_setproctitle.c移动
tab:tabm n,其中n从0开始计数跳到第
1个tab:tabfirst
更新4
:w时执行某个脚本:
.vimrc加入以下一行
autocmd BufWritePost *.js :!perl ~/JSProduction.pl %:p 1 1
更新5
增加ctags支持
ctags -f tags --recurse --totals --exclude=tmpl --languages=Perl --langmap=Perl:+
然后
ctrl ]即可跳到定义处
ctrl t跳回
更新6
若没有配置快捷键,仍然可以用3 g t的方式跳到第3个tab
更新7
复制粘贴时对齐:
gg=G
