使用F1执行文件

Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器。

我们Linux运维经常在Linux中使用到Vim编辑器,当使用Vim写shell脚本或者python脚本的时候,想要运行测试时候怎么办?Esc:wq,到shell终端执行脚本。

上述情况很复杂,有木有!!

下面咱设置vim配置文件,让Vim编辑器在不退出就能执行脚本:

创建并编辑当前用户的vim配置文件

#vim ~/.vimrc

添加如下代码:

"""""""""""""""""""""""""""""""""""""""""""""""""""
"Programming makes the world better
"""""""""""""""""""""""""""""""""""""""""""""""""""
map <F1> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
if &filetype == 'c'
exec '!g++ % -o %<'
exec '!time ./%<'
elseif &filetype == 'cpp'
exec '!g++ % -o %<'
exec '!time ./%<'
elseif &filetype == 'python'
exec '!time python %'
elseif &filetype == 'sh'
:!time bash %
endif
endfunc

再尝试一下编写脚本

ESC退出输入模式,直接按F1

至此,我们就可以不退出Vim编辑器,直接执行文件了!!

同理:shell脚本也可以哦!!

自动添加脚本头

当做运维的时候,难免会写一些脚本。有没有感到Vim编辑文件的时候,一定要写脚本头,很复杂很繁琐,每写一个脚本就要写一次。

太麻烦了。有木有!!(可能是我太懒了吧)

下面咱定义一下,当写脚本的时候,自动添加脚本头,咱直接去写脚本代码就好了。

编辑当前用户vim配置文件

#vim ~/.vimrc

或者定义全局也行

#vim /etc/vimrc

在最下方添加如下代码:

function HappyPython()
call setline(, "#!/usr/bin/env python")
call append(, "#-*- coding:utf8 -*-")
normal G
normal o
endf
autocmd bufnewfile *.py call HappyPython()
function HappyShell()
call setline(, "#!/bin/bash")
normal G
normal o
endf
autocmd bufnewfile *.sh call HappyShell()

保存退出后,我们试试开始使用vim编辑.py文件和.sh文件

就会发现py文件会自动添加了python脚本头!

sh文件自动添加了shell脚本头!

vim编辑python脚本时Tab补全

Pydiction 可以是我们使用Tab键自动补全Python代码在Vim,是一款非常不错的插件。

安装git软件包,这里就简单的yum安装了

下载Pydiction

mkdir ~/.vim
mkidr ~/.vim/bundle
cd ~/.vim/bundle
#这里我们也可以自己下载好上传到linux系统中
git clone https://github.com/rkulla/pydiction.git

配置pydiction

#- UNIX/LINUX/OSX: Put python_pydiction.vim in ~/.vim/after/ftplugin/
#- WINDOWS: Put python_pydiction.vim in C:\vim\vimfiles\ftplugin\
# Assuming you installed Vim to C:\vim\
cp -r ~/.vim/bundle/pydiction/after/ ~/.vim

编辑vim配置文件,并配置如下代码

# cat .vimrc
filetype plugin on
let g:pydiction_location = '/root/.vim/bundle/pydiction/complete-dict'
let g:pydiction_menu_height =

此处有坑请注意!!

代码第二行,使用find命令查找一下自己的complete-dict文件路径,一定要写对哦!

最终效果:

转:

https://www.cnblogs.com/rampb/p/6183076.html

https://birdteam.net/124482

最新文章

  1. XTREE随笔
  2. UVA 11384 正序数排列
  3. Python全栈开发day5
  4. VIM 常用错误解决
  5. iOS中JS 与OC的交互(JavaScriptCore.framework)
  6. ASP.NET MVC 分部视图
  7. Windows下64位Apache服务器的安装
  8. IBatis.Net 批量插入数据
  9. 【zendstudio】如何利用zendstudio新建 或导入php项目
  10. perconaXTRADB Cluster在Redhat Linux上的安装
  11. 一个使用MVC3+NHibernate “增删改查” 的项目
  12. erlang程序优化点的总结(持续更新)
  13. Beta 冲刺day 6
  14. win 执行puppet
  15. .net core2.1 使用 dynamic 类型报错
  16. Linux系统常用升级的基础包
  17. windows 安装mysql 5.7的正确姿势
  18. ionic2/3注册安卓返回
  19. 在python中读写matlab文件
  20. YOLO object detection with OpenCV

热门文章

  1. 委托、匿名方法到lambda表达式
  2. 豆瓣 9.0 分的《Python学习知识手册》|百度网盘免费下载|
  3. this指向面试题两则
  4. MacOS安装npm
  5. Python列表函数和方法
  6. Django学习路31_使用 locals 简化 context 写法,点击班级显示该班学生信息
  7. Java锁_读写锁
  8. Python os.chmod() 方法
  9. SpringBoot中使用AOP打印接口日志的方法(转载)
  10. three.js 着色器材质之变量(一)