VIM命令---Vi IMproved, a programmers text editor文本编辑
 
1>gedit   图形文本编辑工具
2>vim      字符界面的编辑工具
  写脚本
  修改配置文件
  新建文本文件
  ……
当我们利用vim命令去编辑文件的时候,如果存在就是打开,不存在就新建。
 
①vi     老的版本--->(最小化安装linux系统,只装vi不装vim)几乎所有的linux系统都会有
②vim  升级版本--->一般需要安装

一、vim不同模式切换

命令模式-->输入模式-末行模式-替换模式-可视模式

1、a、i、o等键:输入模式

2、:键:末行模式

3、R键:替换模式(replace)

4、v键:可视模式(visual)

 

二、输入(插入)模式

1、i 当前位置插入内容(insert)

2、a (append)

3、o 另起一行插入内容
 

三、末行模式

1、:q    =如果未对文件做改动则退出  quit

2、:q!   =放弃保存并退出

3、:wq    =保存当前文件并退出  write  quit

4、:wq!    =强制保存当前文件并退出

5、:x    =保存当前文件并退出

6、:x!    =强制保存当前文件并退出

7、:w    =保存

8、:w abc.txt =另存为 (可以使用绝对路径)

9、ZZ    =在命令模式下使用,退出并且保存

10、:X    =设置密码。退出最好使用:wq

 

四、光标移动

在末行模式下使用

  :set nu  显示行号(:set number)

  :set nonu 取消行号

:50    调到第50行

 

五、复制-粘贴-删除

u是撤销(undo)

ctrl+r 恢复  recover   redo

 

六、可视模式

  可视或者可视块模式可以复制或者删除一部分单词

1、小v    可视模式  visual

2、大V    可视行模式  VISUAL line

3、ctrl+v 可视块模式   VISUAL block

 

七、末行模式下的操作

、查找功能(高亮效果)
:set nohlsearch 取消高亮效果 (high light search)
:set hlsearch 开启高亮效果
示例:
/word 从上而下在文件中查找字符串“word”
?word 从下而上在文件中查找字符串“word”
n 定位下一个匹配的被查找字符串
N 定位上一个匹配的被查找字符串
、替换substitute
例1:将6到8行所有的old替换为new
:,8s/old/new/g

例2:将整篇文章里的old替换为new
:%s/old/new/g 例3:替换的时候需要确认,将old替换为new
:%s/old/new/gc
y是yes :替换
n是no :不替换
a是all :全部替换
q是quit :退出不替换
l是line :替换整行的
、末行模式下对其他文件的操作
例1:打开新文件进行编辑
:e ~instal.log

例2:在当前文件中读入其他文件内容
:r /etc/filesystems
、终止文件操作
例1:撤销对文件的所有操作,重新开始
:e!
例2:把当前文件另存为/tmp目录下的hello.txt
:w /tmp/hello.txt
、多文件操作
vim .txt .txt .txt
:n 编辑下一个文件
:N 编辑上一个文件 :file 列出vim打开的文件名
"bajie" line
%a "wukong" line
# "shashidi" line
:last 最后一个
:first 第1个

:syntax enable   开启语法颜色显示效果

:syntax off          关闭语法颜色显示效果

:set hlsearch      开启查找文字的高亮效果  (high  light)

:set nohlsearch  关闭查找文字的高亮效果

:set cursorline       显示下划线的效果(光标所在行)

:set cursorcolumn 显示光标所在的列


 

Q:如何配置专属vim

A:启动vim编辑器的时候需要运行的命令,可以放到vim的配置文件里

局部配置文件:/root/.vimrc

全局配置文件:/etc/vimrc

###配置文件里面的命令,都会是写入vim末行模式的命令(类似于预操作)

例如:

shell> cat /root/.vimrc

set cursorline

set cursorcolumn

set nu

set tabstop=4  #设置vim的tab键的宽度(默认情况下是8个空格)

然后再使用vim的时候,会自动开启上面的功能

注意:如果上面的配置不需要,建议删除,不要在前面加#,会导致vim启动的时候报错

VIM_manual的更多相关文章

随机推荐

  1. PCL超体聚类

    超体聚类是一种图像的分割方法. 超体(supervoxel)是一种集合,集合的元素是“体”.与体素滤波器中的体类似,其本质是一个个的小方块.与大部分的分割手段不同,超体聚 类的目的并不是分割出某种特定 ...

  2. python获取上一个月第一天0点的unix时间戳

    这两天做统计,需要用到当月第一天0点0分0秒的unix timestamp,上个月第一天0点的unix时间戳,三个月前月第一天的0点的Unix时间戳,六个月前当月第一天的0点的Unix时间戳,现在整理 ...

  3. gclient多源码管理工具 DEPS文件

    gclient来管理源码的checkout, update等. gclient是google专门为这种多源项目编写的脚本,它可以将多个源码管理系统中的代码放在一起管理.甚至包括将Git和svn代码放在 ...

  4. 基于Zookeeper的分步式队列系统集成案例

    基于Zookeeper的分步式队列系统集成案例 Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, ...

  5. Android学习之SharedPreferences

    SharedPreferences使用键值对的方式来存储数据,并支持多种不同类型的数据存储. 1.界面布局 <TableLayout xmlns:android="http://sch ...

  6. Qt添加驱动——Qt数据库之添加MySQL驱动插件

    Qt数据库之添加MySQL驱动插件(1) 现在可用的数据库驱动只有3种,在Qt中,我们需要自己编译其他数据库驱动的代码,让它们以插件的形式来使用.下面我们就以现在比较流行的MySQL数据库为例,说明一 ...

  7. (笔记)Linux线程编译undefined reference to 'pthread_create'

    在使用线程时,使用gcc或arm-linux-gcc编译时,会出现错误:undefined reference to 'pthread_create' 主要是以下两种原因: 1.#include &l ...

  8. HttpComponents-Core 学习

    HttpComponents-Core 学习 官方文档:http://hc.apache.org/httpcomponents-core-4.4.x/tutorial/html/index.html ...

  9. 函数后面有个 const

    错误场景:类中的重载函数 编译报错: 函数后面加了 const 就好了. 非静态成员函数后面加const(加到非成员函数或静态成员后面会产生编译错误), 表示成员函数隐含传入的this指针为 cons ...

  10. Solr系列四:Solr(solrj 、索引API 、 结构化数据导入)

    一.SolrJ介绍 1. SolrJ是什么? Solr提供的用于JAVA应用中访问solr服务API的客户端jar.在我们的应用中引入solrj: <dependency> <gro ...