cd /tmp 切换到/tmp目录下面
vim shijiazhuang.txt 编辑shijiazhuang.txt文件 welcome to shijiazhuang.
yu hua qu
chang an qu
xin hua qu
xiao xi qu
kai fa qu
jing xing kuang qu
luan cheng qu
zheng ding qu <esc>
ZZ
cat shijiazhuang.txt 查看shijiazhuang.txt文件
vim chengshi.txt 编辑chengshi.txt文件
shi jia zhuang
bei jing
tian jin
<ESC>
ZZ
vim shijiazhuang.txt 编辑shijiazhuang.txt文件,移动到最后一行(最后一行的任意位置都可以,按键盘"o",会在下面插入一空行(插入模式))
按"ESC",回到命令模式
输入":r /tmp/chengshi.txt"回车,导入/tmp/chengshi.txt文件内容到上图的光标处下面(:r 文件名 导入一个文件内容到当前vim编辑器所编辑的文件里)
在vim编辑器中,能够执行一个命令
输入":!which ls",查看ls命令所在的目录
注意:回车之后,刚才键入的":!which ls"结果信息将会丢失。
输入":!date",查看命令date的结果
注意:回车之后,刚才键入的":!date"结果信息将会丢失。
如果需要将刚才输入的命令结果添加到vim编辑器中,而不是在回车之后信息就丢失了,可以输入":r !date",将命令结果导入到vim编辑器中
如果需要给某一行添加“#”号(相当于给某一行添加注释),有三种方法:
1、需要将光标移动到第二行的行首,然后输入"i","#","ESC";
2、移动到第三行的任意位置,然后输入"0","i","0","ESC";
3、移动到第四行的任意位置,然后输入"I","0","ESC"。
我们还可以使用自定义快捷键的方式给某一行添加注释,例如使用“ctrl+p”快捷键自动给某一行添加注释,我们需要输入":map (ctrl+v+p) ^P",如图:,注意^P是变颜色的,直接输入ctrl+^+p是不会变颜色的。下面是一个完整的自定义创建行注释的快捷键方法
输入":map (ctrl+v+p) ^P I#<ESC>"回车 I表示移动光标到行首并进入插入模式,#表示插入#字符,<ESC>表示回到命令模式
回车结束创建
将光标移动到第五行(可以是第五行的任意位置),按ctrl+p,将会自动在这一行的第一个字符处添加"#"字符,表示给这一行添加注释。
我们还可以使用自定义快捷键的方式给某一行删除注释,例如使用"ctrl+b"删除某一行的注释,我们需要
输入":map (ctrl+v+b) 0x"回车 0表示将光标移动到某一行的行首位置还是命令模式,x表示在命令模式下将光标所在处的一个字符删掉,注意此时的操作都是在命令模式下执行的,所以不需要在写<ESC>了。
将光标移动到第二行(可以使任意位置),按"ctrl+b"删除当前行的注释,即删除当前行的第一个字符。
定义"ctrl+H"添加邮箱地址的快捷键操作
:map (ctrl+v+h)^H iwangyunpeng@shuaige.com<ESC>回车 i表示在光标所在字符前插入(进入插入模式),wangyunpeng@shuaige.com表示要插入的字符,<ESC>表示回到命令模式
在第十行行首处输入"ctrl+h"插入邮箱地址
如果想注释多行,我们先需要显示vim编辑器的行号
输入":set nu"回车显示行号
输入:,9s/^/#/g 其中/表示分割的意思,^表示行首,#表示替换的字符为"#"号,(注意:由于第一个/后面只有一个字符^,而它后面又没有跟着要替换的任何字符,所以当执行替换#字符时表示将行首的空字符替换为#字符,即实现在行首插入#字符的结果),g表示替换时不需要确认操作
回车之后,就会将第六行到第九行给注释起来了
如果需要将第六行到第九行的注释给去掉可以
输入:,9s/^#//g 其中/表示分割的意思,其中^表示行首,#表示将#字符进行替换(^#表示将指定行范围内的行首#字符进行替换,如果不加^表示需要将指定行范围内的所有#字符进行替换),第二个/后面没有字符表示空字符即替换后的字符为空字符,g表示替换时不需要确认操作
回车之后,就会将第六行到第九行给注释给删除了
我们将第三行到第五行中间加入一个或多个"#"字符,
输入:,5s/#//g 其中/表示分割的意思,其中#表示将#字符进行替换,第二个/后面没有字符表示空字符即替换后的字符为空字符,g表示替换时不需要确认操作
回车之后,将会把第三行到第五行之间的所有"#"字符替换为空字符
如果需要在行首增加“//”开头的注释信息,比如java代码的注释“//”,我们需要
输入:3,5s/^/\/\//g 其中/表示分割的意思,第一个/后面的字符表示要替换的字符(^表示行首),第二个/后面的字符表示替换为的字符(\/表示/字符、\/表示/字符,其中\表示转义字符),g表示替换时不需要确认操作
回车之后,就会将第三行到第五行的行首位置增加"//"字符
自定义字符或者单词的替换,例如:
输入:ab myname wangyunpeng 定义输入myname时替换wangyunpeng
在vim编辑器中文件的最后一行输入"O",它表示将会在此行的下面插入一行,然后输入myname
回车或空格之后,myname就会变成wangyunpeng
如果你需要将刚才的设置保存起来,下次启动linux能保存刚才的设置,需要将刚才的设置保存到用户的宿主文件中去,需要知道用户的宿主文件所在的目录在哪里,如果是root就在/root目录下面,如果是普通用户wangyunpeng,就在/home/wangyunpeng目录下面,必须我们需要给root创建配置文件
vim /root/.vimrc 在/root目录下面创建.vimrc的文件,注意这里面只能设置编辑模式下的命令
比如,定义三个快捷键,注意这里不需要使用":"开头
vim /tmp/shijiazhuang.txt 使用vim打开编辑shijiazhuang.txt文件会自动加上行号
如果是普通用户,例如wangyunpeng需要在/home/wangyunpeng目录下面创建.vimrc文件,而root用户只需要在/root目录下面创建.vimrc文件就可以了。
Linux-Vim使用技巧的更多相关文章
-
linux vim操作技巧
安装: NERDTree 从 http://www.vim.org/scripts/script.php?script_id=1658 下载 unzip NERD_tree.zip cd ~/.vi ...
-
Linux vim 操作技巧
·Linux设计的重要原则是信息存储在基于文本的文件中 文本文件:无格式文件,作用类似于win的注册表(etc下的配置文件,.conf或者无扩展名)可扩展标记语言(XML),文本标记定义数据结构(et ...
-
Linux系统配置VI或VIM的技巧
Linux系统配置VI或VIM的技巧作者:IT专家网论坛出处:IT专家网论坛2008-10-28 11:08配置VI和VIM的颜色显示,使它能够高亮度显示一些特别的单词,这对编写程序很有用⋯⋯ 1.V ...
-
Vim 常用技巧:
Vim 常用技巧: 将回车由默认的8个空格改为4个空格: 命令:set sw=4 修改tab为4空格: 命令:set ts=4 设置每一级的缩进长度: 命令:set shiftwidth=4 设置文件 ...
-
vim常用技巧
# vim常用技巧 ## 行操作------------------------------ 行首 0- 行尾 $- 第一个非空字符 ^ ## 列编辑模式----------------------- ...
-
[No0000192]Vim打开和保存文件-Vim使用技巧(7)
使用Vim打开和保存文件是最常用的操作,介绍使用edit命令通过文件路径来打开文件,使用write命令保存文件,当文件路径不存在或用户权限不匹配时,使用write命令调用外部shell程序完成操作. ...
-
vim使用技巧(插入,删除,查找,复制,粘贴,剪切)
原文链接:http://blog.csdn.net/qq_38646470/article/details/79643000 编程人员很喜欢的编辑器:vim 先搞清楚vim的三种模式: 1.命令模式: ...
-
转载: vim使用技巧
两篇很牛的vim使用技巧 来源: ChinaUnix博客 日期: 2009.07.06 10:18 (共有条评论) 我要评论 读本文之前请注意:1. 本文的目标是提供一些vim的使用技巧,利用 ...
-
vim gvim技巧大全(9)(转载)
vim gvim技巧大全(9) 2 用命令}移动到这个段落的底部,标记为b3 输入命令:'a,'b move来移动文本.老版本的Vi编辑器不能很好的来处理多文件.但是Vim在处理多文件上却显得优秀得多 ...
-
『学了就忘』vim编辑器基础 — 97、vim使用技巧
目录 1.在vim中导入其他文件内容或命令结果 (1)导入其他文件内容 (2)在vim中执行系统命令 (3)导入命令结果 2.设定快捷键 3.字符替换 4.多文件打开 vim使用技巧,就是vim编辑器 ...
随机推荐
-
extjs grid 分页
在使用extjs创建带分页功能的 grid 如下: 1.创建一个模型 // 创建算定义模型 模型名称 User Ext.define('User', { extend: 'Ext.data.Model ...
-
Java Synchronized Blocks vs. Methods
It's possible to synchronize both an entire method and a section of code within a method, and you ma ...
-
DTD - Attributes
In a DTD, attributes are declared with an ATTLIST declaration. Declaring Attributes An attribute dec ...
-
B-day7
1.昨天的困难,今天解决的进度,以及明天要做的事情 昨天的困难:美化了登录页面,对导入导出的bug进行相关修改,对用户编辑页面进行相关美化,对第三方逻辑进行相应调整. 今天解决的进度:解决了导入和导出 ...
-
Ubuntu 12.04: How to enable root login
1. vi /etc/lightdm/lightdm.conf and add following modifications. greeter-show-manual-login=true allo ...
-
印象笔记无法连服务器(internet explore的问题)
https://www.zhihu.com/question/20214497?sort=created
-
Windows下用PIP安装scipy出现no lapack/blas resources found
Windows下升级了pandas,但是发现scipy包随后引用出错,后来确认需重新安装scipy, 在用PIP安装scipy出现no lapack/blas resources found的错误,具 ...
-
Java的首次学习和了解
先来说说自己对于Java的了解.Java是一种面向对象的语言,而c++则是面向过程的.Java在网页的开发设计制作过程中必不可少,另外我们还可以用它来做手机的移动开发,还有一些基于服务器的架构设计.J ...
-
Qt 中的消息对话框
1. QMessagebox 类的几个静态成员函数,可以直接调用创建对话框 StandardButton critical(QWidget * parent, const QString & ...
-
搭建高可用mongodb集群(二)&mdash;&mdash; 副本集
在上一篇文章<搭建高可用MongoDB集群(一)--配置MongoDB> 提到了几个问题还没有解决. 主节点挂了能否自动切换连接?目前需要手工切换. 主节点的读写压力过大如何解决? 从节点 ...