Vim/Vi一直是UNIX/Linux系统上最流行的文本编辑器,从2001年接触UNIX至今,Vim/Vi始终是我修改系统文件、编写简单程序的首选编辑器,是居家旅行必备之工具。如何提升它的编写速度,本文着重介绍了一些使用技巧供大家参考。
值得一提的是Vim是慈善软件(CharityWare),如有赞助或评比得奖,所得将全部救助乌干达孤儿,软件使用是免费的,欢迎手头有点闲钱的使用者捐款赞助,如果没银子也没关系,至少当有评比活动时(有奖金可拿的那种)。
应用技巧一:快速注释
1、连续行注释
使用Vim/Vi编辑shell脚本,在进行调试的时候,需要进行多行的注释,每次都要先切换到插入模式,在行首输入注释符“#”,再退回命令模式,非常麻烦。其实如果要注释连续行,可在命令模式下执行,格式如下:
:起始行,终止行s/要替换字符/替换为新字符/g
如需注释第1行到第20行,可以执行:
:1,20s/^/#/g
其中“^”表示在行首插入,“#”为要插入的字符,“g”表示执行替换时不确认,若希望每行交互询问是否执行,可将“g”改为“c”。
如果编辑PHP脚本,注释要稍微麻烦一点,如也要注释第1行到第20行,要执行:
:1,20s/^/\/\//g
PHP的注释符“//”要特殊处理,因为Vim/Vi替换命令格式中默认“/”为分隔符,这样就需要使用转义符“\”,表示“/”就要写成“\/”才可以,所以命令如上所示。强烈建议各位看官使用,省时省力省键盘还省手指头。
2、非连续行注释
如果注释非连续的多行,可以定义快捷键简化,格式为:
:map 快捷键 执行命令
如定义快捷键Ctrl+P为在当前行行首添加“#”注释,可以执行:
:map ^P I//
“^P”为定义快捷键Ctrl+P,要注意的是必须同时按“Ctrl+v+p”按出此“^P”方才有效,或先按“Ctrl+v”再按“Ctrl+p”也 可以;“I//”就是此快捷键要触发的动作,“I”为在光标所在行行首插入,“//”为要输入的字符,“”表示退回命令模式,“”要逐个字符键入,不可直 接按键盘的“Esc”键。执行成功后,直接在任意需要注释的行上按“Ctrl+P”就自动会在行首加上“//”号了非常方便。
如果要取消此快捷键,只需输入命令:
:unmap ^P
我写程序或文档喜欢在末尾注释中写上自己的邮箱,每次录入十分麻烦,索性定义了一个快捷键,如下:
:map ^M isam_helen@vip.163.com
以后写完内容后,直接在注释中Ctrl+M就录入了俺的邮箱了。
应用技巧二:乱七八糟的技巧
1、传说中的命令“ab”
命令“ab”,同样可以解决上述输入邮箱的问题,因为我在Vim/Vi中定义了太多快捷键,如输入电子邮箱的、输入通信地址的、输入联系电话的、输入求 偶标准的、输入PHPChina管理员三围的……后来自己都记不住了。之后一天深夜电闪雷鸣,我突然发现了这条命令——“ab”,苍天啊大地啊,我终于找 到解决问题的方法了!oh yeah!
原来输入经常用的信息可以如此简单,LOOK——
:ab 替代符 原始信息
示例如下:
:ab sammail sam_helen@vip.163.com
执行之后,在输入模式任何地方录入“sammail”,再敲任意字母符号或者回车空格,咔嚓一下,利马就变成“sam_helen@vip.163.com”,那真是相当的方便啊!
2、原来可以双剑合一
在Vim/Vi中有两个小技巧:
No.1 可以直接在Vim/Vi中执行UNIX/Linux命令不需退出Vim/Vi
有时编写一些系统脚本,需要了解系统信息,很多同学就退出Vim/Vi然后执行命令,获得信息后再进行编辑。其实大可不必,如想获得/tmp目录下内容,只需在Vim/Vi命令模式下直接执行:
:!ls /etc
查看完命令结果,直接回车,就可以继续编辑非常方便。
在Vim/Vi中执行命令,格式就是这么简单:
:!命令
No.2 可以直接将其他文件内容导入当前编辑文件中
格式:
:r 文件名
如,需要导入文件/etc/issue的内容,执行:
:r /etc/issue
两个非常非常easy的小伎俩,就在一个我非常郁闷的下午,狂敲键盘时一不小心没留神发现了这样一个小秘密——原来它们可以结合起来用!
先举个例子,很多程序员喜欢写完程序后在注释中写入当前时间,我有个好办法即省事又快速还准确,只需要在命令模式下执行:
:r !date
当前时间就自动被导入了,任何命令的结果导入到当前编辑文件中,格式为:
:r !命令
3、助力编程的查询功能
以前在Linux系统下写一些C语言程序,有时记性不好,忘记了语法格式,使用Vim/Vi编写时可直接查询。如写程序写到fork时,突然失忆了(失 去了对这个东东的记忆),就可以直接把光标移动到fork上,按“K”(大写的K),直接就会跳到Linux程序员手册,看到fork的帮助,看完后回车 继续编写。
4、配置文件.vimrc
前面提到的快捷键、ab命令等的应用,设置后只在当前编辑文件中有效,如果想让它永久生效需要编辑用户宿主目录下的.vimrc文件,如你是root用户,则编辑/root/.vimrc(此文件默认不存在)。
写入你常用的设置命令即可,如:
:set nu
:map ^M isam_helen@vip.163.com
:ab sammail limingkillyou@163.com
……
以后就永久生效了。
分享到:
相关推荐
Vim/Vi一直是UNIX/Linux系统上流行的文本编辑器,从2001年接触UNIX至今,Vim/Vi始终是我修改系统文件、编写简单程序的编辑器,是居家旅行必备之工具。如何提升它的编写速度,本文着重介绍了一些使用技巧供大家参考。...
vim使用很方便的快捷键图纸,方便学习,打印出来贴在面前随时查阅
学习vim的好帮手。 如果你总是忘记哪几个键来跳转,你的桌面上可以放置一个这个。
NULL 博文链接:https://lindows.iteye.com/blog/246868
Linux系统中的vim编辑器是一个强大的文本编辑工具,广泛应用于各种Unix和Linux环境下。vim是vi的增强版,提供了更多的功能和便利性,尤其适合程序员进行代码编写。在使用vim时,掌握其三种基本模式——编辑模式、...
下面将详细解释 vi/vim 的常用命令,帮助您轻松地掌握 vi/vim 在 Linux 环境下的开发。 命令模式 在 vi/vim 中,命令模式是最基本的模式。用户可以输入各种命令来执行特定的操作。在命令模式下,用户可以使用以下...
Linux系统中,vi是一个非常强大的文本编辑器,广泛用于Unix-like系统中进行文档编写和程序代码的编辑。vim是vi编辑器的增强版本,它不仅具备vi所有的功能,还增加了很多增强功能,例如语法高亮、多级撤销等。以下...
"source ~/.vim/bundle/unite.vim/conf.vim "neosnippet.vim source ~/.vim/bundle/neosnippet/conf.vim "vimshell.vim, vim中使用shell, 最好一款 source ~/.vim/bundle/vimshell/conf.vim "omnicppcomplete.vim...
Linux操作系统中,Vim编辑器是一款功能强大的文本编辑工具,它是vi编辑器的升级版本,拥有更多高级功能和插件支持。Vim在Linux系统中的地位相当重要,它是许多Linux发行版默认的文本编辑器。尽管Emacs被一些人认为是...
1. 为什么选择 vi/vim:作者认为 vi/vim 是一个超级的代码编辑器或编译器,原因是有很多 linux 下的程序员说它强大,并且在嵌入式硬件平台资源有限的情况下,使用 vi/vim 是非常适合的。 2. 安装中文帮助手册:下载...
Vim/Gvim是广受欢迎的文本编辑器,尤其在编程社区中备受推崇。它们提供了强大的文本操作和编辑功能,使得代码编写和修改变得更加高效。在Windows环境下安装Vim和Gvim,以及添加和管理插件,是提升工作效率的重要步骤...
Vim(Vi Improved)是一款强大的文本编辑器,在Linux系统中广泛使用。它基于早期的Vi编辑器,并进行了大量的增强和改进,提供了丰富的特性集,适用于程序员、系统管理员以及普通用户。Vim在命令模式下工作,通过键盘...
vimrc文件拷贝到用户家目录和root家目录下更名为.vimrc 两个TXT文件拷贝到/usr/share/vim/vim73/doc 目录下 两个VIM文件拷贝到/usr/share/vim/vim73/plugin目录下
Linux 作为一个开源的操作系统,广泛应用于服务器、嵌入式系统、移动设备等领域,而 C/C++ 作为最基础的编程语言,广泛应用于操作系统、应用程序、嵌入式系统等领域。为了搭建一个好的 C/C++ 开发环境,在 Linux ...
Linux 操作系统开发手册 Linux 是一款免费、开源的操作系统,其安全、高效、稳定,处理高并发非常强悍,现在很多的企业级的项目都会部署到Linux/unix服务器运行。 Linux 的创始人是Linus Torvalds(林纳斯) ...
Linux系统是操作系统领域中的一种开源操作系统,它提供了强大的命令行接口和系统编程接口。下面我们来详细介绍Linux系统中的命令和系统编程相关知识点。 一、 shell(命令解析器) 在Linux系统中,shell是命令解析...
Vim(Vi IMproved)是一款强大的文本编辑器,被广泛用于Linux、Unix和其他类Unix系统。此编译包是Vim的8.2版本,专为CentOS x86架构设计,适合那些需要在该环境下进行高效文本编辑的用户。在安装这个编译包之前,...
总的来说,“Linux 操作系统C语言编程入门”涵盖了从基本的Linux命令到C语言编程,再到更高级的系统编程技术。通过这个主题的学习,你将能够利用C语言在Linux环境中构建各种应用程序,并掌握编程、调试和优化的技能...