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,一经查实,立即删除!

相关文章

一个程序员的日常书单

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

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…

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

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

程序员的知识广度

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

多线程---条件变量

互斥器和条件变量的区别:互斥器具有加锁原语,用来进行排他性的访问共享数据,而条件变量具有等待原语,用于等待某个事件的发生。 等待条件变量的正确姿势: void wait() {mutex.lock()while (wait_flag false) {conditi…

ARP-地址解析协议(在实践中深入理解ARP协议)

在同一个网络(无特别说明,均指以太网络)中进行通信的主机,必须要拥有目标主机的MAC地址才能够正确地将数据发送给目标主机,那么如何知道目标主机的MAC地址呢?可以通过ARP协议。ARP协议就是用来获取目标IP地…

Maven私服

1 Maven私服简介 Maven 私服是一种特殊的Maven远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的远程仓库(中央仓库、其他远程公共仓库)。 1.1 下载构件顺序 建立私服后,当局域网内的用户需要某个构件时&a…

Unity3d--跨平台(一)

转自:https://www.cnblogs.com/murongxiaopifu/p/4211964.html前言: 其实小匹夫在U3D的开发中一直对U3D的跨平台能力很好奇。到底是什么原理使得U3D可以跨平台呢?后来发现了Mono的作用,并进一步了解到了CIL的存在。所以&#xff0…

linux定时任务的用法详解

crontab的基本格式: f1  f2  f3  f4  f5  command 分  时 日  月  周  命令 第一列f1代表分钟1~59:当f1为表示每分钟都要执行;为/n表示每n分钟执行一次;为a-b表示从第a分钟到第b分钟这段时间要执行;为a,…

Unity3d-跨平台(二)

转自:http://www.jiandaima.com/blog/archives/945.html 是如何输出到多平台的? 我的第一篇文章,选择了一个不那么简单的主题,但是是我近期比较感兴趣的。这周,我和一个朋友,谈到了游戏开发和Unity3D&#…

svn冲突解决方案

解决方法 步骤一、清空svn的队列 1、进入到项目的.svn目录中,查看是否存在wc.db文件 C:\Users\Administrator>D:D:\>cd D:\BBK_SVN\I3_TrunkD:\BBK_SVN\I3_Trunk>cd .svnD:\BBK_SVN\I3_Trunk\.svn>dirVolume in drive D has no label.Volume Serial Nu…

redis集群搭建与配置

redis集群搭建与配置

keepalived的安装与添加服务

keepalived的安装与添加服务

Mr. Bender and Square

Description Mr. Bender has a digital table of size n  n, each cell can be switched on or off. He wants the field to have at least c switched on squares. When this condition is fulfilled, Mr Bender will be happy. Well consider the table rows numbered from…

keepalived+nginx保持高可用配置

安装nginx、keepalived nginx安装 keepalived安装与添加服务在/etc/keepalived目录下新建nginx_check.sh(两台服务器都需要) 配置keepalived.conf: #配置邮箱 global_defs {notification_email {# acassenfirewall.loc# failoverfirewall.loc# sysadmin…

nginx+keepalived详细配置信息

Nginx Keepalived 第一步: 下载keepalived地址:http://www.keepalived.org/download.html 解压安装: tar -zxvf keepalived-1.2.18.tar.gz -C /usr/local/ yum install -y openssl openssl-devel(需要安装一个软件包&#xff09…

毕业3年,为何技术能力相差越来越大?

导读:毕业三年,每个人在技术能力跑道上,有了或大或小的差距。有些人永远在重复的劳动,有些人却能从中总结和解决问题。今天我们来探讨下,如何避免让战术上的勤奋掩盖战略上的懒惰,使得真正掌握好的知识点慢…

Periodic Signal

描述 Profess X is an expert in signal processing. He has a device which can send a particular 1 second signal repeatedly. The signal is A0 ... An-1 under n Hz sampling. One day, the device fell on the ground accidentally. Profess X wanted to check whether …

boost stacktrace堆栈打印

在windows下最方便的是minidump,其他2个平台麻烦不少,google-breakpad使用起来又太麻烦. 最近boost1.65版本出了个stacktrace使用起来简单方便,只是无法看实际数据,对于快速定位BUG还是很有帮助的. 要注意的是异常的处理需要写文件,应用重启之后再读取查看~ 用其他应用读取或…

Windows下dump文件生成与分析

一、 生成Dump文件方式 1.1任务管理器 在程序崩溃后,先不关闭程序,在任务管理器中找到该程序对应的进程。右键—>创建转储文件。 此时会在默认的目录下创建出一个dump文件。 可以看出,此种方法只适用于程序崩溃但没有立即自行退出的情…