FC54 决胜命令行

出自Full Circle 中文项目主页

跳转到: 导航, 搜索

决胜命令行

翻译:蒙卓 一校:杨佳 二校:刘丹阳


我在电脑上配置ArchLinux发现Vim比其他所有的文本编辑器都更高效。所以,当截稿日临近时,我看了下Full Circle上有没有关于Vim的文章。结果,只有篇简单介绍Vim的文章哈。首先,我想让大家明确下:文本编辑器和办公套件(比如OpenOffice/LibreOffice)是完全不同的两个东西。文本编辑器常用来编辑*.txt,*.rtf,*.conf,*~这些玩意,还有其他纯文本文件的格式(其实就是没格式)。办公套件,多用来处理*.doc和*.odt文件(还有很多其他格式)。我经常用纯文本文件来做速记单,还有写程序的源代码。我敢说,你们大多数都写过速记单,代码(不管它是程序还是网站),或者是编辑某些配置文件。

Vim和GVim不同之处在哪里? Vim是基于控制台(console)的程序,比如说在gnome-terminal,rxvt-unicode,tty等等中使用。GVim是Vim的图形前端,让你能轻松地使用某些深奥的命令。



我为什么要用Vim/GVim? 我绝不会说Vim/GVim是每个人都必须使用的唯一编辑器,不过我很喜欢Vim/GVim。为什么我喜欢它?原因很简单,它提供合理的默认设置和按键绑定,这让我飞快的编辑文件——而且不需要鼠标。我发现把手一直放在键盘上比起停下来动动鼠标、或者干脆一直放在鼠标上面更能加速我的工作。如果你也这么想,那就来试试Vim/GVim吧。比如,你需要删除某个源代码里连续的250行,并移动到某处。在Vim里,你只需要输入250,再按两次d。如果你想将其粘贴到什么地方,只需移动光标到那,然后按下p。压根不需要动鼠标或者高亮之类的动作。


没了鼠标怎么动光标? 在GVim里你可以用鼠标,不过这是画蛇添足。在Vim里用page up/down键和光标键,或者是hjkl(h=左,j=下,k=上,l=右)。



那语法高亮功能呢? Vim和GVim可以在配置文件中进行完全定制,包括自定义色彩方案和按照文件扩展名来格式化代码。当然默认的语法高亮引擎也是很简单就能开启的。


还有什么其他好用的功能吗? Vim可以: • 自定义tab键代表的空字符数目,这个功能在使用python编程时非常有用。 • 复制、贴贴、删除、插入控制等操作都很精细(dw=删除一个单词,dd=删除一行,yw=复制单词,p=粘贴等等)。 • 打印(默认设置就很棒)。 • 输入'vimtutor'就可以得到教程。 • 宏命令(创建和执行都很简单)。 一些基本命令: hjkl – 移动 ( h=左,j=下,k=上,l=右 ) – 不能在编辑模式中使用,在编辑模式里需要使用光标键。 y – 复制 (yy = 复制一行) d – 删除 (dd = 删除一行) w - 整个单词 (一般和y、d结合使用) 1-∞<command> - 某些命令的重复执行 (比如250dd = 删除250行,从当前选择的那一行开始,当然包括这行)

w – 写入 (可以和q命令结合写入并退出)
e – 打开
q – 退出

Esc – 回到正常模式 i – 进入插入模式 (在当前光标前插入) a – 进入添加模式<译注:在当前光标后> r – 进入替换模式 u – 取消 ctrl+r – 重做 p – 粘贴复制或者删除了的字段

hardcopy – 打印
%s/<正则表达式>/<替换的字段>/ - 在第一部分搜索的东西替换成第二部分的。当然这接受正则表达式。
set <选项> - 设置一个即可生效的选项。详见我的配置文件里的例子

ctrl+v – 可视模式,允许高亮多行。 内部可视模式: I – 在所有已高亮的字符之前插入。 X – 删除所有已高亮的字符。

  • 鼠标中键(或者是shift+insert)来粘贴外部Linux剪切板里的字符。*

这就是我常用命令的一个列表。带星号的那一行其实是Linux中通用的快捷方式,用在Vim/GVim里也非常棒。


我该怎么用Vim/GVim? 打开文件时,你可以在Vim/GVim命令之后添加上文件路径,或者在Vim/GVim载入之后输入:e。如果你打开了想要编辑的文件,你可以按下“i”键来进入插入模式。在左下角会告诉你当前所在模式,如果光标在闪烁说明没有进入任何模式(一校注:原 模式下光标都是闪烁的)。为了说明这个例子,让我们输入“Com3mand 6 Conque”<译注:正确的拼法应该是Command & Conquer>。你输入完这写字符后,发现这是错的,需要修改。用hjkl键来移动到3,然后按下“x”键来删除它。再移动到6,然后再按下“r”键,然后输入“&”<译注:shift+7>。搞定了以后,你屏幕上现在应该是“Command & Conque”。发现了没,“Conque”后面的“r”不见了!把光标移动到e,你会发现没办法再向前移动光标了。那怎么输入这个r呢,你可以在这按下“i”然后移动光标再输入e,不过你也可以“添加”,按下“a”键,这样就会在当前选定的字符后面添加了。再输入“r”就搞定了。如果你想保存这个文件,按下“:w”(如果你没有指定文件路径或文件名,那得在w后面输入文件名)。如果你只是想退出,输入“:q”(本例中,你需要加一个叹号“!”在后面)。在输入了“:q!”之后,你会发现你已经返回了桌面(GVim),或者是终端里(Vim)。


要记住的: Vim的快捷键(ctrl+r,y,d,w等等)必须在“正常模式”下——也就是非文本编辑模式下——才能使用。不然的话,你就是在输入字符。要开始习惯于在输入完了以后按Esc键咯,这样你就不会输入一些多余的东西了。 用数字来重复命令也必须在没有模式的时候才能使用。 如果在粘贴一些东西时,你发现只有空格的话,只与要开启粘贴模式(:set paste)。关闭只需要“:set nopaste” 当你复制了一些代码,发现每行的开头都是行数,这时候输入“:set nonumber”关闭行数显示,复制完成之后,再重新使用“:set number”开启行号显示。 如果你有任何问题,或者对本文中"step by step"的例子有疑问,请发邮件到lswest34@gmail.com<译注:英语>。邮件里,请在主题中注明”命令与征服“或者“FC杂志”字样,这样我就不会漏掉了。


文件: 我的.vimrc配置文件 (我删除了一些需要额外软件的、或者需要Mutt的): http://pastebin.com/wv260CJk 我的颜色配置 (见截图): http://dengmao.wordpress.com/2007/01/22/vim-color-scheme-wombat/ 截图 (全尺寸): http://lswest.deviantart.com/art/Screenshot-October-2011-262486679

个人工具