vim


基础操作

vim显示中文乱码

使用gvim代替vim
并在.vimrc添加
set fileencodings=utf8,cp936,gb18030,big5 

多文件替换

:args * 当前文件夹下所有文件
:argdo %s/hate/love/gc | update
#其它添加文件方式
:args *.txt 当前文件夹下txt文件
:args */*.txt 扫描下级目录
:args **/*.txt 递归搜索当前目录

切换字母大小写

~     -     将光标下的字母改变大小写
3~    -     将下3行的字母改变其大小写
g~~   -     改变当前行字母的大小写
U     -     将可视模式下的字母全改成大写字母
gUU   -     将当前行的字母改成大写
u     -     将可视模式下的字母全改成小写
guu   -     将当前行的字母全改成小写
gUaw  -     将光标下的单词改成大写。
guaw  -     将光标下的单词改成小写。

python-mode插件

主页: https://github.com/klen/python-mode
需要先安装vim pathogen https://github.com/tpope/vim-pathogen

$ mkdir -p ~/.vim/autoload ~/.vim/bundle
$ wget -O ~/.vim/autoload/pathogen.vim https://raw.github.com/tpope/vim-pathogen/HEAD/autoload/pathogen.vim

安装python-mode

cd ~/.vim/bundle
git clone git://github.com/klen/python-mode.git

更改.vimrc, 在对各类文件分别处理之前加上以下内容:

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Pathogen load
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
filetype off

call pathogen#infect()
call pathogen#helptags()

filetype plugin indent on
syntax on

" Check code every save
let g:pymode_lint_write = 0
" use other local set
let g:pymode_options_other= 0

默认按键:

K       	Show python docs
<C-Space>	Rope autocomplete
<Leader>r	Run python
<Leader>b	Set, unset breakpoint

使用视频: http://www.youtube.com/watch?v=67OZNp9Z0CQ

vimgrep

autocmd使用的文件类型

  1. filetype plugin on开启侦测文件类型插件
  2. 类型在/usr/share/vim/vim74/ftplugin下判断

vim 插件

批量重命名插件

代码注释插件

竖行递增递减插件

多选插件

vim-multiple-cursors v选中一段后按Ctrl+n可以同时选中下一个相同的一段, 然后操作(如I,c)会同步到所有选中项. 可用于批量重命名

查找关键字插件

ctrlsf.vim 很人性化的给出关键字的上下文, 支持回车跳转. 需先sudo apt-get install ack-grep

undo插件

gundo 保存undo的分支, 不用再怕丢失undo历史了

缩进可视化插件

Indent Guides 可以显示直观的缩进标志. (如果用tab缩进且没有展开成空格的话, 开这个插件会挺丑且没意义 推荐设置vim自动展开tab)

vim 正则

删除

替换

符号定义

vim perl 意义
* *  
\+ +  
\?或\= ?  
\{n,m}    
     
     
     
     
     
     
     

批量重命名乱码rar文件

  1. :Ren进入renamer.vim插件
  2. '<,'>s/.\{-}\.rar/1/g 先将乱码rar都转成1.rar
  3. C-v 选中所有1用:I(visincr)转成1,2,3等
  4. '<,'>s/\ \{-}\n/.rar\r/g 将1,2转成1.rar,2.rar等 visincr出来的结果有空格

vim IDE

vim编译