`

vim的一些配置和功能整理(主要是关于Python)

阅读更多

    学习python,在网络上找了一个模仿linux下面tree命令的程序,准备学习一下,不过在看代码之前学习了一些vim的使用。记录下来避免以后还得在网上找。

    1.首先把vim的配置文件保存一下,自己用到的不多,只配置了python的一些很少的部分,不过里面有一个vim的默认存储位置以前没有见到过,这次也加了进去。配置文件的代码如下:

 

set diffexpr=MyDiff()
function MyDiff()
  let opt = '-a --binary '
  if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
  if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
  let arg1 = v:fname_in
  if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
  let arg2 = v:fname_new
  if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
  let arg3 = v:fname_out
  if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
  let eq = ''
  if $VIMRUNTIME =~ ' '
    if &sh =~ '\<cmd'
      let cmd = '""' . $VIMRUNTIME . '\diff"'
      let eq = '"'
    else
      let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
    endif
  else
    let cmd = $VIMRUNTIME . '\diff'
  endif
  silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction

"my config
set go= "windows下不显示工具栏
sy on "开启语法高亮
colo evening "使用主题
set nobackup "不生成备份文件
set nu "显示行号
"vim默认保存位置
exec 'cd ' . fnameescape('e:\pythoncode')
" 自动检测文件类型并加载相应的设置
filetype plugin indent on
autocmd FileType python setlocal et sta sw=4 sts=4
"txt同样tab缩进4个空格
autocmd FileType text setlocal et sta sw=4 sts=4
"按照语法高亮元素折叠代码
set foldmethod=syntax
"python按照缩进折叠代码
autocmd FileType python setlocal foldmethod=indent
"默认展开所有代码
set foldlevel=99
"随后即可使用z系列命令管理代码折叠。如za会翻转当前位置的折叠状态,
"zA会递归翻转当前层所有代码的折叠状态等。当然也可以把功能键映射到za:
map <F3> za
"退格键的作用
set nocompatible "去掉有关vi的一致性模式
set backspace=indent,eol,start "删除缩进的字段、合并两行、删除此次插入前的输入
"以下为解决中文显示问题,以及相应带来的提示及菜单乱码问题
set encoding=utf-8 " 设置vim内部使用的字符编码,原来是cp936
lang messages zh_CN.UTF-8 " 解决consle输出乱码 
"解决菜单乱码 
source $VIMRUNTIME/delmenu.vim 
source $VIMRUNTIME/menu.vim
 
set guifont=Bitstream_Vera_Sans_Mono:h11:cANSI
set guifontwide=幼圆:b:h12:cGB2312
    

 

 

    3.vim的粘贴板问题,网上介绍vim粘贴的文章有很多,这里只说一下我自己用的多的几个功能。

    vim的缓冲区很多,有数字和字母都可以表示。全选并复制到系统粘贴板的命令为:gg"+yG   命令比较多,简单解释一下 "+y 这个就表示把全部的内容复制到 + 号剪切板里(就是系统的)可以直接用 crtl+v 进行粘贴。

    如果想在vim之间复制就简单了,直接ggvG就可以。还有一个是直接从光标所在区域复制到文件尾:"+yG

    如果复制特定的部分行,需要使用 :m,ny 或者 :m,n"+y 后一个只不过复制在特定的缓冲区。

    

    4.配置python的缩进和折叠可以看一下上面的vimrc配置或者直接网络搜索一把。

 

    5.粘贴网络的源代码以后出现了问题,就是那哥们缩进用的Tab,一般用4个空格。这里用到了vim替换功能。

    当然你也可以看一下源代码里面的一些看不见的符号,查看所有的符号 :set list

    把所有的Tab换成4个空格 %s/\t/\ \ \ \ /g 

    把m行到n行的str1换成str2  m,ns/str1/str2

    

    6.vim里面的正则表达式表示单个字母 .

    

    7.在windows里面想设置vim的中文字体需要设置中文显示问题。否则设置后没有效果。

    

    8.vim 翻页 下翻 ctrl+f  上翻 ctrl+b 

 

    9.搜索 /str  n为下查 N为上查

    

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics