使用vim的妙招
使用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
使用vim的妙招的更多相关文章
- 春节过后就是金三银四求职季,分享几个Java面试妙招,轻松搞定HR!
春节过后就是金三银四,分享几个Java面试妙招,轻松搞定HR! 2020年了,先祝大家新年快乐! 今年IT职位依然相当热门,特别是Java开发岗位.软件开发人才在今年将有大量的就业机会.春节过后,金三 ...
- MySQL总结小妙招
mysql5.7版本,免登陆修改管理员密码: vim /etc/my.cnf 加入skip-grant-tables,重启MySQL 终端输入 mysql ,直接登录MySQL数据库,然后use my ...
- 优化MySQL插入方法的五个妙招
以下是涉及到插入表格的查询的5种改进方法: 1)使用LOAD DATA INFILE从文本下载数据这将比使用插入语句快20倍. 2)使用带有多个VALUES列表的INSERT语句一次插入几行这将比使用 ...
- 14个Linux系统安全小妙招,总有一招用的上!
对于互联网IT从业人员来说,越来越多的工作会逐渐转移到Linux系统之上,这一点,无论是开发.运维.测试都应该是深有体会.曾有技术调查网站W3Techs于2018年11月就发布一个调查报告,报告显示L ...
- 与你们分享我学习linux系统的三大妙招
一说到linux,我们就自然会想到企业服务器系统,目前市场上的网络设备都是使用linux内核操作系统,一些网络服务器也是使用linux操作系统下面的服务搭建实现的:目前操作系统这块也基本被linux占 ...
- Angular+ionic2 web端 启动程序出现短暂 白屏或黑屏 的处理小妙招
在ionic2项目启动是会出现短暂的白屏或者黑屏,虽然很短,但是用户体验不太好.上网查了相关的资料,都是针对打包APP的解决办法,针对浏览器端使用的项目没有效果,所以自己写了样式,巧妙的避开这个问题, ...
- excel数据导出新妙招
之前在做项目的时候需要将数据库中的数据导出为excel表格一遍打印查阅,在网上找了很多插件也没有找到自己理想的好用的插件(也就是说没有找到令我满意的插件),最近在学习a标签的相关知识时理解到,a标签不 ...
- 【CSS】小妙招,各种问题总结方法处理
1.实现div文字溢出自动省略号截取 overflow:hidden; /*超过部分不显示*/ text-overflow:ellipsis; /*超过部分用点点表示*/ white- ...
- Angular 开发小妙招1:提交表单数据验证不通过,更改输入组件的样式
开发表单时,客户端数据完整性校验是必不可少的,在jquery 时代出现了无数的数据验证插件也很好用,开发Angular 应用时,angular 内置了一些常用的数据验证指令.今天要讲的不是这些指令如何 ...
随机推荐
- python基础--深浅copy(重点)
在此申明一下,博客参照了https://www.cnblogs.com/jin-xin/,自己做了部分的改动 深浅copy(重点) 先问问大家,什么是拷贝?拷贝是音译的词,其实他是从copy这个英文单 ...
- pandas之表格样式
在juoyter notebook中直接通过df输出DataFrame时,显示的样式为表格样式,通过sytle可对表格的样式做一些定制,类似excel的条件格式. df = pd.DataFrame( ...
- django表单使用
一.表单常用字段类型及参数 表单可以自动生成html代码,每一个字段默认有一个html显示样式,大多数默认为输入框. 字段相当于正则表达式的集合,能够对表单传入的数据进行校验,并且某一部分校验失败时会 ...
- apache配置Directory目录权限的一些配置
可以使用<Directory 目录路径>和</Directory>这对语句为主目录或虚拟目录设置权限,它们是一对容器语句,必须成对出现,它们之间封装的是具体 的设置目录权限语句 ...
- Android集成JPush(极光推送)
目前只是简单的集成 1.在极光推送官网注册用户 2.创建应用 3.配置包名,获得APPKEY 去设置 输入应用包名 确定然后返回查看APPKEY 3.在应用中集成极光推送 用的jcenter自动集成的 ...
- 配置mongoDB的错误
1,将启动配置到服务的时候没有反应,后来发现没有用管理员模式打开shell命令,所以没有反应. 2,用管理员模式的时候报错 格式问题,将由空格的路径用“”包住即可 3.启动的时候报错windows不能 ...
- 如何使用 PHP 语言来编码和解码 JSON 对象
PHP JSON 本章节我们将为大家介绍如何使用 PHP 语言来编码和解码 JSON 对象. 环境配置 在 php5.2.0 及以上版本已经内置 JSON 扩展. JSON 函数 函数 描述 json ...
- PHP date_create() 函数
------------恢复内容开始------------ 实例 返回一个新的 DateTime 对象,然后格式化日期: <?php$date=date_create("2013-0 ...
- PHP xml_parse_into_struct() 函数
定义和用法 xml_parse_into_struct() 函数把 XML 数据解析到数组中. 该函数把 XML 数据解析到 2 个数组中:高佣联盟 www.cgewang.com Value 数组 ...
- PHP chunk_split() 函数
实例 在每个字符后分割一次字符串,并在每个分割后添加 ".": <?php$str = "Hello world!";高佣联盟 www.cgewang.c ...