做网站用的军事图片/微信营销成功案例8个

做网站用的军事图片,微信营销成功案例8个,宣传片拍摄合同模板,各大网站搜索引擎提交入口一、导论对于不用vim的人来说,vim简直是个噩梦,复杂的指令、丑陋的界面、令人头痛的配置文件,任何一项都足以劝退一大波人,但是对于已经习惯了使用vim的人来说,vim简直就是马良神笔,似乎vim除了生孩子什么都…

一、导论

对于不用vim的人来说,vim简直是个噩梦,复杂的指令、丑陋的界面、令人头痛的配置文件,任何一项都足以劝退一大波人,但是对于已经习惯了使用vim的人来说,vim简直就是马良神笔,似乎vim除了生孩子什么都可以做。

虽然从定义来说,vim只是编辑器并非编译器,但是它强大的扩展性给它带来了无限的可能,丰富的插件和独特的配置语法让它在许多程序员心中有了一席之地。

但是众所周知一般都是在Linux工作的人才有可能使用vim,换到Windows下使用vim就需要下载其他软件来间接的使用vim,比如WSL或者Git Bash、VSCode。然而接下来我就来介绍如何在VSCode下安装和配置VIM

二、VSCode安装vim插件

在vscode的扩展商店中搜索vim,安装第一个插件,这个插件可以完成大部分原生vim的操作。

4ae739d709ada6ea3c3d8185a35a2f9a.png

三、配置vim

安装完成以后我们需要配置vim,原生的vim有一部分操作十分的不友好,我们常常需要改键配置合适自己的vim。我们通常在setting.json中配置vscode,如果不知道如何打开setting.json可以点开文件->首选项->设置->文本编辑器,向下拉找到“在setting.json中编辑”。

如下图所示

fd293784279e63c3bb90eecfcaa11e99.png

配置语法

接下来来讨论一下如何编写配置,与原始vim不同的是,在原生vim中的配置语法是独属于vim的,但是在vscode中使用的是json格式,json格式是一种轻便易读的格式,如果不了解的同学可以提前学习一下。

如果是第一次配置setting.json的同学,里面应该是没有多少内容,最多几行简单配置。在最后一句配置语句后面打上一个逗号,然后开始新起一行准备写vim配置文件,如下所示。

{//默认状态下setting.json文件内容 Begin"editor.fontSize": 20,"C_Cpp.updateChannel": "Insiders","files.autoGuessEncoding": true,"[c]": {"editor.defaultFormatter": "ms-vscode.cpptools"},//默认状态下setting.json文件内容 End//关于vim的配置文件"vim.commandLineModeKeyBindingsNonRecursive": [],"vim.insertModeKeyBindings": [],"vim.normalModeKeyBindingsNonRecursive": []
}
  1. vim.commandLineModeKeyBindingsNonRecursive指的是命令行模式非递归键位绑定,在原生vim中等同于norecmap。
  2. vim.insertModeKeyBindings指的是插入模式下键位绑定,在原生vim里面指的是imap。
  3. vim.normalModeKeyBindingsNonRecursive指的是普通模式下非递归键位绑定,在原生vim中是noremap。

插入模式下键位修改

我这里把esc键映射为jj,意思是在插入模式下,按下两次j会回到正常模式、按下大写s可以保存当前文件、按下大写q可以关闭当前文件。这vim的配置文件中,可以兼容原生vim指令和vscode命令,"workbench.action.files.save" 属于vscode命令,":q!" 属于原生vim命令。如果想修改其他键位可以根据下面的语法规则进行修改测试。

以下内容只是作为示例,不推荐大家使用大写s和q作为保存和退出,因为在编写程序的时候,我们可能就需要到大写s和q,我建议是先退出到普通模式再保存退出

"vim.insertModeKeyBindings": [{"before": ["j", "j"],"after": ["<Esc>"]},{"before": ["S"],"commands": ["workbench.action.files.save"]},{"before": ["Q"],"commands": [":q!"],}],

正常模式下键位修改

这里我通过按下leader键+s 可以保存当前文件、按下leader+q关闭文件、按下leader+sq 保存并退出文件。在下面我会提到leader键的设置。

 "vim.normalModeKeyBindingsNonRecursive": [{"before": ["<leader>", "s"],"commands":[":w!"]},{"before": ["<leader>", "q"],"commands":[":q!"]},  {"before": ["<leader>", "sq"],"commands":[":wq!"]}],

leader键位设置和取消vim键位映射

leader在vim中的意思是“前缀”的意思,和tmux中的Ctrl+b是一个意思,可以通过自定义leader键,来构建自己需要的组合快捷键。

在这里我把leader键位映射为空格键<space>。

在vscode里面使用vim有时候vscode原生键位比vim原生键位要舒服一些,我们可以取消到vim里面的键位映射来使用vscode的键位。

比如下面我取消掉了Ctrl+a,Ctrl+f,Ctrl+n在vim中的键位映射,这样子在写代码的时候,我按下Ctrl+a,Ctrl+f,Ctrl+n就可以使用vscode中的全选,查找和新建。

 "vim.leader": "<space>","vim.handleKeys": {"<C-a>": false,"<C-f>": false,"<C-n>": false
}

我在vim中设置了相对行号,这样子在进行跳转的时候就可以精确定位行数而且不需要数行号,比如我当前在16行,我想跳到“//关于vim的配置文件”这一句,我只需要在普通模式下按下6h,就会自动跳到16-6行。

设置方法:

 "editor.lineNumbers":"relative"

有意思的是,如果在vscode中我们找不到对应的设置语句,可以先指定一个键位,在映射到对应的vim命令,然后执行这个命令,比如我在设置相对行号的时候找不到对应的vscode命令,我就可以这样子做:

 "before": ["<leader>", "<leader>"],"commands":[":set relativenumber"]//vim下相对行号设置命令

这样子在使用完这个命令以后就可以删掉这句配置语句同时保留这个设置。

如下图

d8d20b76ef84debe6f6a742a31c965ad.png

结束语

我们没必要纠结那个编辑器厉害或者有没有用,不同的人适合不同的编辑器,我们可以不喜欢,但是应该尊重别人的想法。在浏览大量代码的时候,使用鼠标无疑更舒服,但是在编写程序的时候vim可以来带更高效的操作。

希望这篇文章能够给需要的同学带来帮助。

感谢观看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371854.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

巡回沙龙_美浮特全国巡回沙龙第一期结束撒花!

科技美肤&#xff0c;无龄焕变。美浮特2019全国美肤巡回沙龙第一期活动圆满结束&#xff01;优秀的小伙伴&#xff0c;雅致的茶歇环境&#xff0c;精美的甜点小食&#xff0c;理论与体验并行的肤感测试课堂……不知道是哪一个环节给大家留下了深刻的印象呢&#xff1f;首先让我…

UIAutomation识别UI元素

MS UI Automation&#xff08;Microsoft User Interface Automation&#xff1a;UIA&#xff09;是随.net framework3.0一起发布的&#xff0c;虽然在如今这个几乎每天都有各种新名词、新技术出来的所谓的21世纪&#xff0c;它显得已经有些过时了。前些日子&#xff0c;正好一个…

【C++第一个Demo】---控制台RPG游戏3【登陆菜单树】

【登陆系统--树结构】 1 首先我这里设计&#xff0c;由一个基类MainMenu构建树结构&#xff0c;并实现控制台上菜单之间的切换和返回操作 1 #ifndef _UI_BASE_H_2 #define _UI_BASE_H_3 4 #include <string>5 #include <vector>6 #include"..//Marco.h"7…

不存在_施文忠 | ”存在“与“不存在”——巴蜀文明概论

海德格尔有句名言&#xff1a;“存在者存在&#xff0c;不存在者不存在&#xff01;”四川&#xff0c;一个伟大的存在&#xff0c;偏偏存在于四川的口头禅却是“不存在”。在不存在中追求存在&#xff0c;在存在中摆脱存在。六月白鹿镇&#xff0c;书院学习了《李白与海德格尔…

Altium 原理图出现元件“Extra Pin…in Normal of part ”警告的解决方法

转载于&#xff1a; http://blog.csdn.net/idoming/article/details/45575627 使用Altium Designer的时候编译完后&#xff0c;只关注过错误没有关注过警告&#xff0c;现在认真排查一下有哪些警告。 正在进行的项目原理图编译完成后提示标题中的警告信息。经过在网上搜索&…

Zookeeper开源客户端框架Curator简介

Curator是Netflix开源的一套ZooKeeper客户端框架. Netflix在使用ZooKeeper的过程中发现ZooKeeper自带的客户端太底层, 应用方在使用的时候需要自己处理很多事情, 于是在它的基础上包装了一下, 提供了一套更好用的客户端框架. Netflix在用ZooKeeper的过程中遇到的问题, 我们也遇…

适当的Java堆大小的5个技巧

确定生产系统合适的Java堆大小不是一件容易的事。 在我的Java EE企业经验中&#xff0c;我发现由于Java堆容量和调整不足而导致的多个性能问题。 本文将为您提供5个技巧&#xff0c;这些技巧可以帮助您确定当前或新生产环境的最佳Java堆大小。 这些技巧中的一些对于预防和解决j…

曝光原理_泰国精戈咖啡效果反馈 作用原理曝光

我的男人才三十五六&#xff0c;两个人就开始分开睡了&#xff0c;自从咱们在一起以来&#xff0c;咱们的感情一向很好&#xff0c;这是十分调和的。但随着年纪的添加&#xff0c;我逐渐发现他身体阑珊的越来越凶猛&#xff0c;夫妻生活方面硬度逐渐下降&#xff0c;时间也越来…

EasyCriteria –使用JPA Criteria的简便方法

今天&#xff0c;我们将看到有关此工具的信息&#xff0c;该工具使使用JPA Criteria更加容易。 使用该库的应用程序将在JPA实现中更加简洁&#xff0c;易于使用和可移植。 在本文的结尾&#xff0c;您将找到要下载的源代码。 什么是标准&#xff1f; 当前是创建动态查询的最佳…

语言模拟蒲丰问题_R语言小数定律的保险业应用:泊松分布模拟索赔次数

原文链接&#xff1a;拓端数据科技 / Welcome to tecdat​tecdat.cn在保险业中&#xff0c;由于分散投资&#xff0c;通常会在合法的大型投资组合中提及大数定律。在一定时期内&#xff0c;损失“可预测”。当然&#xff0c;在标准的统计假设下&#xff0c;即有限的期望值和独立…

获取人口_「微科普」14亿人口数据是如何得到的?

中国经济交出了2019年终答卷GDP总量近百万亿元人均GDP突破1万美元……小伙伴们在关心经济发展的同时也非常关注人口数据14亿人口的话题嗖的一下就上了热搜大家想不想知道14亿人口的数据是怎么得到的&#xff1f;我们今天就来科普一下如何获取人口总量&#xff1f;通常情况下&am…

8.动态规划(1)——字符串的编辑距离

动态规划的算法题往往都是各大公司笔试题的常客。在不少算法类的微信公众号中&#xff0c;关于“动态规划”的文章屡见不鲜&#xff0c;都在试图用最浅显易懂的文字来描述讲解动态规划&#xff0c;甚至有的用漫画来解释&#xff0c;认真读每一篇公众号推送的文章实际上都能读得…

静态属性_Java面试题—内部类和静态内部类的区别

内部类和静态内部类的区别内部类&#xff1a;1、内部类中的变量和方法不能声明为静态的。2、内部类实例化&#xff1a;B是A的内部类&#xff0c;实例化B&#xff1a;A.B b new A().new B()。3、内部类可以引用外部类的静态或者非静态属性及方法。静态内部类&#xff1a;1、静态…

Eclipse安装以及JDK环境变量配置

首先是下载Eclipse&#xff1b;点击链接打开Eclipse官网eclipse官网点击DownLoad Packages&#xff0c;注意是点击“DownLoad Packages”点击你需要的版本开始下载&#xff08;一般是64bit Eclipse IDE&#xff09;等待几秒钟&#xff0c;开始下载这样Eclipse已经下载好了&…

完整的Web应用程序Tomcat JSF Primefaces JPA Hibernate –第1部分

我们创建了这篇文章&#xff0c;将展示如何使用以下工具创建完整的Web应用程序&#xff1a;Tomcat7&#xff0c;带有Primefaces的JSF2&#xff08;Facelets和Libraries&#xff09;&#xff08;具有AutoComplete&#xff09;&#xff0c;JPA / Hibernate&#xff08;具有NxN关系…

mysql主从架构升级_实战项目——mysql主从架构的实现

一主一从1.1 环境准备&#xff1a;centos系统服务器2台、 一台用户做Mysql主服务器&#xff0c; 一台用于做Mysql从服务器&#xff0c; 配置好yum源、 防火墙关闭、 各节点时钟服务同步、 各节点之间可以通过主机名互相通信1.2 准备步骤&#xff1a;1)iptables -F && s…

FastReport.Net使用:[30]对话框使用

使用对话框需要知道的地方 1.按钮的DialogResult属性。 假如DialogResult属性值为OK的按钮被点击&#xff0c;报表将会展现后面的对话框或者报表页&#xff1b;如果属性值为None&#xff0c;则停留在当前窗体&#xff1b;如果为其他值&#xff0c;则直接退出报表打印&#xff0…

改善Java EE生产支持技能的8种方法

参与Java EE生产支持的每个人都知道这项工作可能很困难。 7/24传呼机支持&#xff0c;定期处理的多个事件和错误修复&#xff0c;来自客户和管理团队的压力&#xff0c;要求它们尽快解决生产问题并防止再次发生。 在日常工作中&#xff0c;您还必须照顾由多个IT交付团队驱动的多…

varnish基础

varnish概念 初步认识 首先来跟我学习&#xff0c;v~a~r~n~i~s~h~~ &#xff0c;学会了没有~ 当然还有很重要的一个概念&#xff0c;它是高性能缓存服务器&#xff0c;举个例子。 好比我们要去买东西&#xff0c;所有的我们需要的东西是在超市厂家生产出来的&#xff0c;我们需…

基于Jenkins+Gitlab的自动化部署实战

故事背景 一个中小型企业&#xff0c;是典型的互联网公司&#xff0c;当初期的时候可能运维只能标配到2~3人&#xff0c;此时随着公司的发展&#xff0c;项目会逐渐增多。前期部署项目可能都是手动的&#xff0c; 俗称“人肉部署”&#xff0c;这简直是无比的痛苦&#xff0c;不…