[原]总结VIM的实用技巧
VIM真是一个神奇而又复杂的编辑器,让我这样的Linux编程新手茫然不已啊。每次到真正动手编程的时候才发现完全不知道该怎么操作VIM,一点都没感觉到VIM的强大,哈哈~~正好今天学习了一点VIM操作技巧,顺便记下来,一边日后不断积累不断提高。
一、复制、剪切、粘贴
(1)在命令模式下将光标移动到要复制的段开始位置,按下字母v进入可视模式,然后移动光标覆盖需要复制的内容,按下y完成复制,按下d完成剪切。再将光标移动到目标位置,按下字母p完成粘贴。
(2)在命令模式下,在目标行按下两次字母y,即yy完成行复制,两次字母d,即dd完成行剪切,再将光标移动到目标位置,按下字母p完成粘贴。
(3)在命令模式下,输入命令 “:起始行号,结束行号 y” 可以完成连续多行拷贝,然后将光标移动到目标位置按下p完成粘贴。
(4)在命令模式下,输入命令 “n1,n2w!/tmp/tmpfile” 可以把行号n1至行号n2的内容写入到/tmp/tmpfile文件中临时保存,然后将光标移动到目标位置,输入 “r /tmp/tmpfile” 把内容读进来。
(5)在插入模式下,将光标移动到需要插入内容的地方,然后用鼠标选中需要复制的内容,按下鼠标中键即可完成复制和粘贴,粘贴的位置就是刚才光标所在的位置。
一、代码注释
(1)连续多行注释
在命令行下输入如下命令:
:起始行号,结束行号s/被替换的字符/替换后的字符/g
例如在文件第10行至25行的行首位置插入#或者//时分别可以输入以下命令:
:,25s/^/#/g
:10,25s/^/\/\//g
其中,^符号表示行首插入的意思,因为/在命令中用到了,所以要想输入 “//” 就必须用到两次转义字符 “\” 。g表示每次替换时不需要确认,如果希望确认,则将g替换成c即可。
(2)随意注释不连续的行
如果想要随意注释不连续的行,那么就要用到快捷键了。比如:可以为行首注释动作添加一个快捷键。添加快捷键的命令为:
:map ^P I//
其中,^P表示Ctrl + P,在输入此命令的时候要连续按下Ctrl + v + p才行,当然也可以不用p而设置其他字母。I// 表示在光标所在行的行首位置插入。取消此快捷键的方式为:
:unmap ^P
二、字符串自动补全
可以定义一个特殊的字符串补全,有时候会非常方便。设定替换语句的方式为:
:ab 快捷字符串 完整字符串
例如,可以为我的邮箱设定一个快捷字符串为KLH,在每次输入KLH之后按下回车或者空格就能变为我的邮箱地址了:
:ab KLH kuliuheng@.com
三、执行系统命令
在VIM中完全可以直接执行SHELL命令而不需要退出VIM。执行的方法就是在命令模式下先输入!,然后接着输入命令即可。例如显示当前的工作路径:
:!pwd
如果想从外部的某个文件中导入文件内容,可以使用r命令,例如:
:r ../echoServer/main.cpp
引申一下,发现可以把两个命令结合在一起使用,使用方式为:r !系统命令。例如在文件中插入当前的系统时间:
:r !date
四、查看系统帮助
在需要查询的系统函数上,按下大字字母K即可转到帮助文件上,这是一种方法。
五、辅助功能
(1)目录浏览,输入:Ex
(2)分割窗口目录浏览,输入:Sex
(3)显示当前buffer情况,输入:ls
(4)显示当前打开的文件,输入:args
(5)光标回溯移动为Ctrl + c + p,光标前向移动为Ctrl + c + i,列出跳转历史为:ju
(6)如果需要将上述个性化设置保存,直接写入~/.vimrc 文件中即可。
[原]总结VIM的实用技巧的更多相关文章
- Vim/Vi实用技巧(第二版)
Vim/Vi实用技巧 1.导入文件 :r [文件名] #导入到当前编辑的文件中 如 :r /etc/inittab 文件上部为/etc/services文件,下部为/etc/inittab文件 2.执 ...
- ###《VIM实用技巧》
###<VIM实用技巧> #@author: gr #@date: 2015-11-20 #@email: forgerui@gmail.com <VIM实用技巧>阅读笔记. ...
- Vim 实用技术,第 1 部分: 实用技巧(转)
原文链接:http://blog.jobbole.com/20604/ 0. Vim 简介 作为开源世界最重要的编辑器之一(另一个是 Emacs),Vim 以其强大的功能和可定制能力被众多开发者所喜爱 ...
- vim实用技巧总结
1. 单个文件内实用mark来帮助跳转以及一些宏操作.(注意:mark不能用于多文件之间的跳转)mch 设置宏,保存到ch标记(不是ch寄存器)'ch 跳转到标记的行首`ch 跳转到标记的字符处另:为 ...
- c++实用技巧
原地址:http://www.cnblogs.com/easymind223/articles/2576904.html 晚上的时间总是习惯性的在cnblogs逛街,今天又看到了好文章,其c++味道浓 ...
- Mac实用技巧之:访达/Finder
更多Mac实用技巧系列文章请访问我的博客:Mac实用技巧系列文章 Finder就相当于windows XP系统的『我的电脑』或win7/win10系统里的『计算机』(打开后叫资源管理器),find是查 ...
- 转:Eclipse快捷键和实用技巧
原文地址:Eclipse快捷键和实用技巧 工欲善其事,必先利其器.对于程序员来说,Eclipse便是其中的一个“器”.本文会从Eclipse快捷键和实用技巧这两个篇章展开介绍.Eclipse快捷键用熟 ...
- 很全面的WinRAR实用技巧系列 - imsoft.cnblogs
WinRAR也可以管理我的桌面时间长了,桌面上堆的东西实在太多,平时该如何管理呢?安装了WinRAR的朋友可以请它来帮忙,用它管理清除无用的桌面文件或图标. 以XP系统为例,系统所在目录是“c:\wi ...
- vim文本处理技巧
如果要把这篇文章写的详细透彻,那我没有必要去书写,因为已经有了这本书--<Vim实用技巧> 如果时间和精力足够的同学可以购买或者借阅,真的是写的很详细. Vim实用技巧 (豆瓣)http: ...
随机推荐
- 如何修改WAMP数据库上传文件的大小及上传时间限制
一个文件如果几十兆的话,上传时可能出错,因为执行时间不够, 比如我遇到的ECshop的数据库文件就是 40多M 第一次执行失败. 所以索性一次性把所有东西都设置好.在php.ini(apache中的P ...
- Web 数据可视化
/***************************************************************************************** * Web 数据可 ...
- 用UltralSO安装CentOS 和 Ubuntu
UltralSO是一个U盘制作工具,这几天用UltralSO安装了CentOS和Ubuntu 制作这两个U盘启动程序的区别是,CentOS安装完后,需要把.iso文件拷贝到U盘中,而且CentOS文件 ...
- LabVIEW串口通信的一个例子-串口"示波器"
1.程序界面:<ignore_js_op> 功能介绍:左边上方串口接收区,下方为串口字符发送区.右方为一个波形图表,在程序内部每次将串口发送过来的数据,以f%格式化,显示在波形图表上.按钮 ...
- OpenvSwitch架构
Openvswitch的架构 数据库结构和OVS-VSCTL # ps aux | grep openvswitch root 1117 0.0 0.0 21200 1580 ? ...
- pcr free library 介绍
一句话:illumina的建库方法,建库时间段,质量还好... the adapters are different in the PCR-free kit compared to the stand ...
- android的style控制Theme
value-v14就是在API14(4.0)的手机上所使用的Theme(其他版本以此类推) theme的名字叫做AppTheme,后面写有继承自哪个Theme,如下所示 <style name= ...
- centos彻底删除文件夹、文件命令(centos 新建、删除、移动、复制等命令)
centos彻底删除文件夹.文件命令(centos 新建.删除.移动.复制等命令: 1.新建文件夹 mkdir 文件名 新建一个名为test的文件夹在home下 view source1 mkdir ...
- 单页web应用(SPA)的简单介绍
单页 Web 应用 (single-page application 简称为 SPA) 是一种特殊的 Web 应用.它将所有的活动局限于一个Web页面中,仅在该Web页面初始化时加载相应的HTML.J ...
- 对石家庄铁道大学官网UI设计的分析
在这一周周一,老师给我们讲了PM,通过对PM的学习,我知道了PM 对项目所有功能的把握, 特别是UI.最差的UI, 体现了团队的组织架构:其次, 体现了产品的内部结构:最好, 体现了用户的自然需求.在 ...