VS2013+VSVIM

上世纪90年代后期出现了一股.com热潮,相信大家对其都有美好的回忆,那时使用CGI和Perl创建“动态的”网站,通过使用在Unix上的vi编辑器快速打字和格式化,这也包括后来使用的vi的复制版本vim。我可能是怀旧的,但我想念将这些编辑器放在我指尖的能力(不是伸手去拿鼠标)。几年之前,我被我购买的MacBook再一次引入到vim, 通过进一步研究,我发现了 VsVim ,这是vim的改编版本,与Visual Studio IDE一起工作。让我们仔细来看一下VsVim以及其是如何能使您更加富有成效的进行开发工作。

编辑器

开发人员有时是一个忠实的群体,他们有时总是将喜爱的文本编辑器看成像他们的家庭成员一样。如果您不相信我,那么就问一下专家级别的开发人员,他们喜爱的文本编辑器是什么,他们会讲出一大堆相关的理论。 像gedit 、 GNU Emacs、 UltraEdit 、 TextPad、 Notepad++ ,这些都是较流行的开发编辑器。此外,还有针对Mac用户的 TextMate 以及在所有的微软windows操作系统上适用的Notepad。(我并没有故意地遗漏您喜爱的编辑器;我只是不知道现有的所有的编辑器,而且我确信您喜爱的编辑器能够很好地满足您的需求。)我用过TextPad, TextMate,在必要时使用Notepad,同时还发现了vim和将其与Visual Studio结合形成的VsVim。

Vim 和 VsVim学习资源

Vim 和 VsVim 是需要后天学习的,因此不要期望一夜之间成为大师。有很多在线的资源助您更加熟悉vim的功能;例如, vim wiki 页面 有包括  该教程 的非常好的资料, vim FAQ 也是一个优秀的资源。

通过消除敲击键盘和点击鼠标,一个好的编辑器可以节约您的时间,但这是一个见仁见智的问题,因为有些开发人员更喜欢使用鼠标。对我来说,我更喜欢敲击几个键完成常规的任务。

获得VsVim

VsVim是Visual Studio扩展,因此我将通过指出您需要Visual Studio使用它来陈述这样显而易见的事。 VsVim 由 Visual Studio 件库 提供。此外,如果您对其发展的贡献感兴趣或者对编码感到好奇的话,其是在 GitHub 上的一个工程项目。编码/项目是有趣的;其大量是以F#编写的,我发现这是令人惊讶的。

按照由Visual Studio 件库提供的安装说明书。安装过程识别在我计算机上的Visual Studio的两个版本 (2010和 2012), 同时其允许我选择一个或两个用于扩展。扩展由工具菜单控制 (工具| 在Visual Studio 2012及工具中的扩展和更新|在Visual Studio 2010中的扩展管理器)。

图 A 显示了在我的开发用计算机上的针对Visual Studio 2012旗舰版的已装入的扩展。注意如果您想要关闭扩展时其提供了禁用按钮— 同时可以通过Ctrl+Shift+F12键在Visual Studio中实现禁用/启用。

图A

如何使用Visual Studio VsVim编辑器

在Visual Studio 2012中的已装入的扩展的列表。

安装VsVim之后,您现在具有使用其快捷键绑定设置完成某些特定任务的选择。这些绑定是可配置的,因为您可能会想要使用固有的功能用于某些键,这些键与vim 替换截然相反。当VsVim安装时,出现 图B 中显示的选项按钮。 当选项按钮被选中的时候会显示 图C 中的选项窗口。 当VsVim首次在我的计算机上安装时, 在代码窗口出现 如图 D 显示的信息 — 其主要是告知我在Visual Studio和VsVim之间有键盘绑定冲突,其想要让我进入选项窗口以解决这些冲突。选项窗口局限于在VsVim扩展和其Visual Studio主机之间的键盘绑定重叠部分。

图B

如何使用Visual Studio VsVim编辑器

选项按钮 (右下角)允许您配置VsVim 键盘绑定。

图 C

如何使用Visual Studio VsVim编辑器

VsVim键盘绑定通过VsVim选项窗口可以配置。

图 D

如何使用Visual Studio VsVim编辑器

当安装VsVim时在Visual Studio 2012中出现的键盘绑定冲突。

活用VsVim

一旦安装了VsVim,您就可以使用不同键完成在您的代码中的任务。我经常使用的一个按键是斜杠键 (/)用于搜索。 您只需要敲字/跟着搜索文字,点击返回即可。当发现匹配时,光标移动到第一个实例处。

同时,我喜欢导航快捷键像是w来向前移动一个单词,b向后移动一个单词。使用在键盘(标准的asdf jkl;配置)上的右手,您可以简单地使用j向下移动文本,k用于向上移动,h向左,l向右。(l表示向左的话一般会讲得通,但是考虑到手指放置方面其是非常有效的。)

这只是VsVim用法的冰山一角,但其确实向您显示了像大多数文本编辑器提供的基本要素。您应该仔细地看一下先前提到的资源(wiki、 FAQ 以及教程) 来深入挖掘VsVim的功能。

结束语

该博文清楚地传达了我对vim和VsVim的喜爱,但其同时也说明了较旧的(有人认为对用户不是很友好)编码/编辑方法可以与较新的工具结合形成强大的混合的事实。这就是说,您可能不喜欢vim而钟爱Emacs,因此看一下 其 Visual Studio扩展 。如果对您喜爱的编辑器没有适用的扩展,您可以为Visual Studio(工具| 在Visual Studio 2010 和2012中的选项展开文本编辑器)改变默认的编辑器设置。

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

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

相关文章

activeMQ发送与接受消息模板代码

发送着: /*** */ package activemqAPI.helloworld;import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.DeliveryMode; import javax.jms.Destination; import javax.jms.JMSException; import javax.jms.MessageProducer; import …

做一个优秀的项目/产品经理

1、工作中,在时间、质量、成本三者之间找到平衡,带领团队成功研发并上线项目。 解决好以下细节问题,就达到一个合格IT项目经理了: 项目的由来,为什么要建立这么一个系统? 项目有计划吗? 项目的需…

一个程序员的日常书单

本想谈谈读书这个话题,想来想起觉得无从下手,就此作罢.毕业这几年,一直不敢放松,在现代这个互联网时代更加认同萧抡谓的”一日不读书,胸臆无佳想;一月不读书,耳目失清爽”.如果非要给自己找个读书的理由的话,这句诗就是最好的理由:”胸藏文墨虚若骨,腹有诗书气自华”. 与书结缘…

【转载】ssdb安装部署

转载地址:https://www.cnblogs.com/dyfblog/p/5894518.html ssdb是一款类似于redis的nosql数据库,不过redis是基于内存的,服务器比较昂贵,ssdb则是基于硬盘存储的,很容易扩展,对于一些对速度要求不是太高的…

2017年回顾及总结

从2015毕业至今,在c开发领域算起来已经差不多两年多的时间了。在这三年的时间里,涉及到的c领域的技术基本上从广度上有了一个大概的学习和认知。各个方面的知识都有所掌握,包括c底层实现,网络通信,并行开发&#xff0c…

Amr and Pins

Description Amr loves Geometry. One day he came up with a very interesting problem. Amr has a circle of radius r and center in point (x, y). He wants the circle center to be in new position (x, y). In one step Amr can put a pin to the border of the circl…

TCP/IP学习

http://blog.csdn.net/column/details/15153.html?

ngnix 作用(通俗易懂)【转载】

作者:RayeWang www.raye.wang/2017/02/24/quan-mian-liao-jie-nginxdao-di-neng-zuo-shi-yao/ 前言 本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也可能介绍的不完整&#xff0…

C++11并发实战(专栏)

http://blog.csdn.net/column/details/ccia.html?&page2

LCIS

Problem DescriptionAlex has two sequences a_1,a_2,...,a_na​1​​,a​2​​,...,a​n​​ and b_1,b_2,...,b_mb​1​​,b​2​​,...,b​m​​. He wants find a longest common subsequence that consists of consecutive values in increasing order. InputThere are mu…

TimeUnit.SECONDS.sleep()和sleep区别

刚看到TimeUnit.SECONDS.sleep()方法时觉得挺奇怪的,这里怎么也提供sleep方法? public void sleep(long timeout) throws InterruptedException {if (timeout > 0) {long ms toMillis(timeout);int ns excessNanos(timeout, ms);Thread.sleep(ms, …

c++11并发指南系列

https://www.cnblogs.com/haippy/archive/2013/08/27/3284540.html

hashmap另一种初始化

代码&#xff1a; new HashMap<String,Integer>() {{put("a", 0);put("b", 0);put("c", 0);}}; 用处&#xff1a; for (Entry<String, String> entry : set) {value entry.getValue();try {if(k 5) {break;}json new JSONObjec…

怎么去阅读这本书

最近打算对并发编程和网络编程进行一定深度的学习&#xff0c;

理解 shared_ptr实现copy-on-write(COW)

转自&#xff1a;http://blog.csdn.net/zhangxiao93/article/details/52792888 shared_ptr实现COW&#xff08;Copy-On-Write&#xff09; 前不久在《Linux多线程服务端编程使用muduoC网络库》2.8节看到这个内容&#xff0c;一直没有真正理解&#xff0c;后来在书中7.3中再次提…

window连接不上ssdb的问题

window上访问虚拟机ssdb 1&#xff09;首先要修改ssdb 的配置文件ssdb.conf&#xff0c;修改server的节点下ip如下&#xff1a; server节点下的ip意思是绑定哪个ip地址能够访问服务 &#xff0c;也就是说只能通过的ip可以访问ssdb server。 ps&#xff1a; 127.0.0.1 //绑定…

分布式系统的工程化开发方法

转自&#xff1a;http://blog.csdn.net/solstice/article/details/5950190 以下是我在珠三角技术沙龙 2010Q4 上的演讲投影片。 演讲视频&#xff1a; http://www.youku.com/playlist_show/id_5238686.html ---------- ---------- ------

java操作ssdb:set、map、list..

网上收集的代码模板&#xff1a; import com.udpwork.ssdb.*;/** * SSDB Java client SDK demo. */ public class Demo { public static void main(String[] args) throws Exception { SSDB ssdb null; Response resp; byte[] b; ssdb new SSDB("127.0.0.1", 8888…

程序员的知识广度

转自&#xff1a;http://blog.csdn.net/EGEFCXzo3Ha1x4/article/details/79070190 “知识变现”的口号一喊 确实让很多人都摩拳擦掌蓄势待发 那么作为程序员的mu们 不管是思维逻辑&#xff0c;还是知识广度 是不是都迫不及待了 今天&#xff0c;我们也来测试下 【单选题】 1 …

【转载】RocketMQ优秀文章

rocketMq详解&#xff1a;http://blog.csdn.net/column/details/learningrocketmq.html rocketMq实践&#xff1a;https://pan.baidu.com/s/1kTXE4PD rocketMq的原理&#xff1a;https://pan.baidu.com/s/1bogcpgN rocketMq用户指南&#xff1a;https://pan.baidu.com/s/1kT…