文本编辑器的魅力——献给最爱的Vim、Sublime

  1. 云栖社区>
  2. 博客>
  3. 正文

文本编辑器的魅力——献给最爱的Vim、Sublime

科技小先锋 2017-11-14 20:52:00 浏览1175
展开阅读全文

1 前言

    一直忙项目搞得许久没有写博客了,顿时有深重的负罪感,今天赶紧补几篇平复一下心情。。。


    文本编辑器的重要性我记得当时还是在《程序员修炼之道》那本书中第一次看到,这些年下来感觉这个真的是太有道理了,为自己节约了很多的时间,所以我也不断的提醒身边的朋友去用好它。但是自己每次都从头说一遍感觉也挺费时间的,所以打算直接写下来可以更好的分享给更多人。

    这里顺带提一下,windows自带的那个notepad就无视了吧,功能太弱了,而且文件稍微大一点就直接卡了,看了后文就知道差距实在是太大了。


2 推荐的文本编辑器

    好用的文本编辑器有很多,只要选一到两个顺手的用即可,其实我用过的也就一些,相比较而言,我推荐几个自己比较喜欢的(主观性比较强,仅供参考)。

    1. Vim:必须排第一,大爱它的快捷键了,手是完全不用离开主键盘区的,基本上常见文本编辑器有的功能它都拥有,唯一的缺点就是学习曲线比较高。在Linux下真的是一个无法替代的工具,Windows下的Gvim也可以使用,但是用起来总感觉怪怪的。。。

    2. Sublime: 感觉是windows上用的最爽的一款了,是用Python编写的,界面很漂亮,插件也非常的丰富,貌似很多新语言都喜欢直接用这个做IDE了。非常喜欢它那种Python风格的简明操作,上面的插件也是这样的风格,ctrl+shift+p可以直接用命令行调用,所有快捷键都有个配置文件可以随便修改,感觉很酷!(添加到右键菜单可参考:http://my.oschina.net/oncereply/blog/72866)

    3. Notepad++: 这个感觉比较容易上手,默认就有了绝多大数常用功能,推荐非程序员用户使用!最喜欢它的列复制之后,可以非常智能的进行列粘贴,sublime的列粘贴必须两列的行数一样多才行。


3 文本编辑器的强大之处

    其实不用我说,大家也应该能想到牛逼的地方有很多,但是我个人觉得以下是个人觉得最实在的功能点,而且也应该成为你不得不会的几个功能。


3.1 列编辑

    使用场景:

    1. 在平时编辑文本的时候,经常会遇到一列要同时进行替换或者插入什么内容,这样的操作就是列编辑,可以方块式的选择一段内容,然后进行操作。

    快捷键:Vim(Ctrl+v) Sublime(鼠标中键 或 shift+鼠标右键) Notepad++(Alt+鼠标左键)

    2. 这里有个稍复杂一点但也非常常用的插入,就是要插一段等差数列,比如说是1、2、3、4...这样的值。

    快捷键:Vim(i1[Esc]qayyp[Ctrl+a]q100@a) 

            Sublime(Ctrl+Alt+N)[需先安装Insert Nums插件] 

            Notepad++(Alt+C)

    3. 还有一种特殊的场景,在任意位置同时编辑,这个就比列还要灵活一点。

    快捷键:Vim(无?) Sublime(Ctrl+鼠标左键) Notepad++(无?)

    4. 和3的情况类似,快速选中所有相同文本(或者正则匹配的文本),直接进入多点编辑模式。

    快捷键:Vim(无?) Sublime(选中文本后Alt+F3,或者安装Select By Regex的插件) Notepad++(无?)


3.2 列对齐

    使用场景:

    1. 为了让文本对齐更容易阅读。

    2. 为了列编辑,先进行对齐。

    快捷键:Vim(需要插件)

            Sublime(1. 直接用默认的SublimeAlignment,但功能比较弱,很多情况没用;

                     2. 推荐AlignTab插件,参考:https://github.com/svenax/AlignTab; 

                     3. 也有Code alignment插件,操作按起来步骤比较多,不太爽。)

            Notepad++(Code alignment插件)

    注:对中文的支持都有问题


3.3 行操作

    这个可以操作的有很多,可以提高效率,简单列几个吧(以Sublime为例):

  • 行缩进 Ctrl+] (Edit > Line > Indent)

  • 取消缩进: Ctrl+[ (Edit > Line > Unindent)

  • 当前行上移: Ctrl+Shift+Up (Edit > Line > Swap Line Up)

  • 当前行下移: Ctrl+Shift+Down (Edit > Line > Swap Line Down)

  • 复制当前行: Ctrl+Shift+D (Edit > Line > Duplicate Line)

  • 合并行: Ctrl+J (Edit > Line > Join Lines)

  • 向后删除一个词: Ctrl+Del

  • 向前删除一个词: Ctrl+Backspace

  • 删除整行: Ctrl+Shift+K (Edit > Line > Delete)

  • Delete from cursor to end of line: Ctrl+K

  • Delete from cursor to start of line: Ctrl+Backspace


3.4 文本替换

    使用场景:

    1. 替换文件中所有相同的地方,这里可以是字符、换行等。

    2. 实用正则表达式进行替换,基本上所有你能想到的字符串都可以用正则来灵活匹配。

    3. 退而求其次,还有个办法就是基于扩展符的替换,比如“\n”,有些文本编辑器也直接可以再正则中去一样操作。

    快捷键:Vim(%s) Sublime(Ctrl+H) Notepad++(Ctrl+H)


3.5 宏命令

    使用场景:

    行列的操作起来虽然方便,但是稍微复杂一点的场景就不适用了。这里就需要用到宏,去录制一段操作,然后去回放刚才的操作,这样就可以轻松的复制大量重复的操作。

    录制快捷键:Vim(qa) Sublime(Ctrl+Q) Notepad++(菜单里面选

    停止快捷键:Vim(q) Sublime(Ctrl+Q) Notepad++(菜单里面选

    回放快捷键:Vim(@a) Sublime(Ctrl+Shift+Q) Notepad++(Ctrl+Shift+P)


3.6 文件中查找

    使用场景:

    1. 很多时候要基于目录下所有文件的文本内容进行查找,windows的资源管理器只能查找文件名,这个时候貌似只有文本编辑器可以方便的去找。

    快捷键:Vim(无) Sublime(Ctrl+Shift+F) Notepad++(Ctrl+Shift+F


3.7 着色器

    使用场景:

    1. 为了方便的查看文本内容,没有着色器真的对着茫茫文本就很难找到自己想看的内容,特别是作为IDE去写代码,看Json什么的也能一眼看出格式问题。

    快捷键:Vim(:sytanx on) Sublime(SublimeREPL) Notepad++(菜单里面选)


3.8 显示空白字符

    使用场景:

    1. 有些时候需要看清楚有多少个空白字符。

    2. 要区分tab和空格的空白。

    3. 更简单的对其列。

    快捷键:Vim(无?) Sublime(鼠标拖拽框选) Notepad++(菜单里面选)


3.9 万能的插件

    如果以上常见功能还没有你想要的,去插件库去找找,一般来说你能想到的都已经有了。比如说Json格式的自动格式化,联想词的自动补全等。

    快捷键:Vim(下载插件安装包,命令行安装) 

            Sublime(Ctrl+Shift+P 然后输入Install Package) 

            Notepad++(菜单里面选Plugin Manager)


4 写在最后

    真的文本编辑器是一个非常强大又非常方便的工具,可以让你从繁重重复的文本编辑中解放出来,绝对值得拥有。还没有一款用的顺手的小伙伴感觉去挑一个你的文本编辑利器吧!



本文转自passover 51CTO博客,原文链接:http://blog.51cto.com/passover/1588807,如需转载请自行联系原作者

网友评论

登录后评论
0/500
评论
科技小先锋
+ 关注