设为首页 收藏本站
查看: 1523|回复: 0

[经验分享] vim的一些配置和功能整理(主要是关于Python)

[复制链接]

尚未签到

发表于 2017-5-8 07:29:17 | 显示全部楼层 |阅读模式
  学习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为上查

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-374385-1-1.html 上篇帖子: 模块用于Python Tutorial(十):浏览标准库(一) 模块用于 下篇帖子: 关于动态函数的一点理解 — 《Dive Into Python》第十七章学习笔记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表