本文出自   http://blog.csdn.net/shuangde800

------------------------------------------------------------------------------------------------

本文内容学习自《使用vi编辑器, Lamb & Robbins编著》

本文内容概要:

set设置

.vimrc配置

vim下执行linux命令

利用linux命令来编辑当前文件

短语缩写

本文约定:
$ + 命令 表示在普通的bash的命令行下
:  + 命令 表示在vim的ex(命令)模式, 按"Ctrl" + ":" 进入


------------------------------------------------------------------------------------------------


set命令


有两种类型的选项可以使用:set命令进行修改:不是开就是关的触发选项和带数字或字符串值的选项(如页边距的位置和文件名)
 
一般触发选项的命令为:set cmd
关闭选项的命令为:set nocmd
上面cmd代表某种命令选项

例如,
:set ic  在搜索时忽略大小写 (ic=ignore case
:set noic  在搜索时不忽略大小写

可以用:set all 命令查看所有的选项,可以看到你设置的值或者默认值

:set option?   查看option这个选项的当前设置值
:set                显示在.vimrc文件或当前会话期间修改或设置过的选项



.vimrc文件


在Linux中,.vimrc在用户home目录下(初始时没有,要自己创建一个),可以修改这个文件。

可以把set, ab和map命令写入该文件中,那么打开vim编辑,会使用这个文件里的配置



替换环境


除了读取home目录下的.vimrc配置文件外,还可以让vim读取当前目录下的.vimrc文件,这样可以对那些适用于特殊项目的选项进行设置。

注意,可以在home目录下的.vimrc设置某些选项,然后在本地目录中取消这些设置。




执行linux命令


在vim进行编辑时,可以显示或读取任何Linux命令执行的结果。
用感叹号(!)可以制定vim创建一个shell并把它后面的内容看成Linux命令:
:!command

例如,
:!date  显示当前时间


上面的命令,只能执行一次命令,然后就返回vim编辑环境了,如果想要执行多次命令而不会返回vim编辑环境,可以用命令,
:sh
这个命令其实是新建了一个shell,可以像正常的命令行一样操作。
如果要退出shell并返回vim编辑,按 Ctrl + D


利用read(r)命令可以把Linux命令执行的结果读入到当前编辑的文件中:
:r  !date
将会把当前时间读入到编辑文件中




使用命令过滤文本


利用感叹号执行linux命令,可以让vim利用linux命令所提供的功能来编辑。
例如文件内容:
4
5
2
3
要把这几行从小到大排序,可以利用系统的sort命令:
:1, 4 !sort
将会对这四行排序

 

短语缩写


缩写很有用,我们经常在文件中反复输入同样长的短语,无论是在插入模式还是在命令模式下,vim和ex都有许多不同的用来保存长命令序列的方法
 
:ab  hw  hello world!
这个命令表示hw是hello world!的缩写,那么在插入模式或者命令模式下,只要输入hw作为一个完整的单词(不能是其他单词的一部分),就会自动拓展成hello world!


如果要取消这个缩写,可以输入
:unab hw

列出当前的所有缩写
:ab





vim高级编辑(一)的更多相关文章

  1. vim 高级编辑技巧

    建议参考IBM官方文档https://www.ibm.com/developerworks/cn/linux/l-cn-tip-vim/ 重新输入以前输入过的某条命令Ctrl + r 全局替换格式:& ...

  2. vi/vim高级命令集粹

    vi/vim高级命令集粹 (ctrl +v过来 留着以后看) 1.交换两个字符位置 xp 2.上下两行调换 ddp 3.把文件内容反转 :g/^/m0/ (未通过) 4.上下两行合并 J 5.删除所有 ...

  3. 关闭QtCreator的vim风格编辑模式

    今天不小心点到了键盘的快捷键Alt+V,使QtCreator进入了vim风格编辑模式,导致快捷键拷贝粘贴都不正常,找了下资料才发现是这个问题.具体操作如下: 打开QtCreator去掉下列位置的勾选或 ...

  4. vim 的编辑模式 命令模式

    1.vim的编辑模式    进入编辑模式 按键: a  i  o a: 表示在光标当前的,后面开始插入,写数据 i : 则表示 前面 . o : 表面在光标当前的,下一行开始写入数据. O : 大写的 ...

  5. Linux 多个vi、vim进程编辑同一文件时的临时文件问题

    多个vi.vim进程编辑同一文件时的临时文件问题 by:授客 QQ:1033553122   使用vi.vim编辑文件,实际是先copy一份临时文件并映射到内存里进行编辑,所以你编辑的是临时文件,不是 ...

  6. 用VIM查看编辑二进制文件

    用VIM查看编辑二进制文件 vim可以很方便地编辑二进制文件,个人认为它比emacs的二进制编辑方式更好用.vim中二进制文件的编辑是先通过外部程序xxd来把文件dump成其二进制的文本形式,然后就可 ...

  7. [转]基于Protel DXP软件的PCB高级编辑技巧大全

    来源:基于Protel DXP软件的PCB高级编辑技巧大全 一.放置坐标指示 放置坐标指示可以显示出PCB板上任何一点的坐标位置. 启用放置坐标的方法如下:从主菜单中执行命令 Place/Coordi ...

  8. vim 如何编辑 GB2312 编码的文件?

    vim 如何编辑 GB2312 编码的文件? 彻底搞清楚字符编码: ASCII, ISO_8859, GB2312,UCS, Unicode, U 结合file和iconv命令转换文件的字符编码类型 ...

  9. 文本处理三剑客之 Sed ——高级编辑命令

    本篇介绍sed的高级编辑命令 高级编辑命令 P:打印模式空间开端至\n内容,并追加到默认输出之前 n: 读取匹配到的行的下一行覆盖至模式空间 N:读取匹配到的行的下一行追加至模式空间 h: 把模式空间 ...

随机推荐

  1. 新鲜出炉的Using Qt 3D to visualize music

    http://blog.qt.io/blog/2016/01/27/using-qt-3d-visualize-music/

  2. 基于Server-Sent Event的简单聊天室 Web 2.0时代,即时通信已经成为必不可少的网站功能,那实现Web即时通信的机制有哪些呢?在这门项目课中我们将一一介绍。最后我们将会实现一个基于Server-Sent Event和Flask简单的在线聊天室。

    基于Server-Sent Event的简单聊天室 Web 2.0时代,即时通信已经成为必不可少的网站功能,那实现Web即时通信的机制有哪些呢?在这门项目课中我们将一一介绍.最后我们将会实现一个基于S ...

  3. cocos2d-x游戏开发系列教程-中国象棋05-开始游戏

    前情回顾 通过CCMainMenu的init函数,已经把所有的按钮,棋子都摆放完毕了,但是这个时候,棋子是不能走动的,只有在开始游戏之后才能移动棋子. 点击

  4. OGR 官方文档

    OGR 官方文档 http://www.gdal.org/ogr/index.html The OGR Simple Features Library is a C++ open source lib ...

  5. Struts2学习笔记(一) Struts2配置文件的配置

    1.配置web.xml文件. 在Struts2中,struts框架式通过Filter启动的.Filter在web.xml中的配置如下: <filter> <filter-name&g ...

  6. 它们的定义View

    Ios"巷自己的定义View和Android类别似 在.h文件设置了他的一些财产.方法 在.m文件中实现 .h文件 #import <UIKit/UIKit.h> CGPoint ...

  7. PHP - 概述

    第1章 PHP概述 学习要点: 1.PHP基础知识 2.PHP的环境配置 3.安装三款主流程序 4.PHP开发工具的选择 5.一个简单的示例 一.PHP基础知识 PHP PHP是一种目前最流行的服务端 ...

  8. input标签的hidden属性的应用及作用

    定义:传输关于客户端/服务器交互的状态信息. Transmits state information about client/server interaction. 解释: 此元素在页面中不显示,在 ...

  9. Android 解屏幕锁与点亮屏幕

    前言          欢迎大家我分享和推荐好用的代码段~~ 声明          欢迎转载,但请保留文章原始出处:          CSDN:http://www.csdn.net        ...

  10. Get started - UIkit documentation

    Get started - UIkit documentation Get started Get familiar with the basic setup and structure of UIk ...