vim是一个功能强大的全屏幕文本编辑器,是Linux/Unix最常用的文本编辑器,其作用是建立、编辑、显示文本文件。vim的特点是没有菜单,只有命令。

vim主要有三种工作模式,分别为命令模式、插入模式、编辑模式。三者的关系可由下图来表示:

1 vim常用操作

(1)插入命令

命令

作用

a

在光标所在字符后插入

A

在光标所在行尾插入

i

在光标所在字符前插入

I

在光标所在行首插入

o

在光标下插入新行

O

在光标上插入新行

(2)定位命令

命令

作用

:set nu

设置行号

:set nonu

取消行号

gg

到第一行

G

到最后一行

nG

到第n行

:n

到第n行

$

移至行尾

移至行首

(3)删除命令

命令

作用

x

删除光标所在处字符

nx

删除光标所在处后n个字符

dd

删除光标所在行

dG

删除光标所在行到文件末尾内容

ndd

删除光标所在行后n行(包括当前行)

D

删除光标所在处到行尾内容

:n1,n2d

删除指定范围行

(4)复制和剪切命令

命令

作用

yy

复制当前行

nyy

复制当前行以下n行(包括当前行)

dd

剪切当前行

ndd

剪切当前行以下n行(包括当前行)

p,P

粘贴在当前光标所在行下或行上

(5)替换和取消命令

命令

作用

r

取代光标所在处字符

R

从光标所在处开始替换字符,按ESC结束

u

取消上一步操作

(6)搜索和搜索替换命令

命令

作用

/string

搜索指定字符串,搜索时忽略大小写:set ic,取消忽略:set noic

n

搜索指定字符串的下一个出现位置

:%s/old/new/g

全文替换指定字符串

:n1,n2s/old/new/g

在一定范围内替换指定字符串

其中g表示不询问确认,如果是c的话表示询问确认

(7)保存和退出命令

命令

作用

:w

保存修改

:w new_filename

另存为指定文件

:wq

保存修改并退出

ZZ

快捷键,保存修改并退出

:q!

不保存修改并退出

:wq!

保存修改并退出(文件所有者和root可使用)

2. vim的使用技巧

(1)将一个文件的内容导入到文本文件中,其格式为:

:r 文件名

例:创建test文本,写入如下内容,将/etc/issue的内容复制到test文本中

  1. [root@localhost ~]# vi test
  2.  
  3. I am ws.
  4.  
  5. What's your name?
  6.  
  7. My name is LiMing
  8.  
  9. I am glad to see you.

在最后一行的下一行插入issue的内容,在命令模式下输入:r /etc/issue,可得:

  1. I am ws.
  2.  
  3. What's your name?
  4.  
  5. My name is LiMing
  6.  
  7. I am glad to see you!
  8.  
  9. CentOS release 6.5 (Final)
  10.  
  11. Kernel \r on an \m

(2)在不退出vim的情况下,执行相应的操作命令,其格式为:

:!命令

例:如在命令模式下执行ls命令

  1. I am glad to see you!
  2.  
  3. CentOS release 6.5 (Final)
  4.  
  5. Kernel \r on an \m
  6.  
  7. :!ls
  8.  
  9. [No write since last change]
  10.  
  11. anaconda-ks.cfg install.log install.log.syslog

(3)导入命令执行结果,相当于将前两者进行综合,其格式为:

:r !命令

例:在test的文本末尾添加日期,在命令模式下输入:r !date,其结果为:

  1. I am ws.
  2.  
  3. What's your name?
  4.  
  5. My name is LiMing
  6.  
  7. I am glad to see you!
  8.  
  9. CentOS release 6.5 (Final)
  10.  
  11. Kernel \r on an \m
  12.  
  13. Fri Jan :: CST

(4)定义快捷键

可以为常用的命令定义快捷键,其格式为:

map 快捷键 触发命令

注:快捷键的创建需要同时按下Ctrl+v+创建快捷键的字母

例1:创建一个快捷键,可使在行首加入注释符#,只需在命令模式下输入:map ^P I#<ESC>,其中^P为Ctrl+v+p同时按下后的显示,I#即为行首插入注释符#,<ESC>表示退出编辑模式到命令模式。

然后在第一行执行Ctrl+p,即可得到如下结果:

  1. #I am ws.
  2.  
  3. What's your name?
  4.  
  5. My name is LiMing
  6.  
  7. I am glad to see you!
  8.  
  9. CentOS release 6.5 (Final)
  10.  
  11. Kernel \r on an \m
  12.  
  13. Fri Jan :: CST

例2:创建删除行首注释符#的快捷键,在命令模式下输入:map ^B 0x。

例3:在当前光标下为邮箱创建快捷键,在命令模式下输入如下命令:

:map ^H i123@qq.com

(5)连续注释行,该命令与搜索替换命令1.(6)类似。如在连续多行添加注释符#,在命令模式下输入如下命令:

:n1,n2s/^/#/g

其中^表示行首

相对的,取消连续行注释可以在命令模式下输入如下命令:

:n1,n2s/^#//g

如果以"//"表示注释符的话,则连续注释行可在命令模式下输入如下命令:

:n1,n2s/^/\/\//g

其中"\"表示转义字符。

例:在test文本中的前两行加入//注释符:

  1. //I am ws.
  2.  
  3. //What's your name?
  4.  
  5. My name is LiMing
  6.  
  7. I am glad to see you!
  8.  
  9. CentOS release 6.5 (Final)
  10.  
  11. Kernel \r on an \m
  12.  
  13. Fri Jan :: CST

(6)替换

在文本文件中,可以将一个字符串替换为另一个字符串,如将mail替换为123@qq.com,其命令格式为:

:ab  mail 123@qq.com

然后在文本中写入mail,按空格或Enter键则mail自动替换为123@qq.com。

通常设置的快捷键或替换在系统重启时会消失,如果想长时间的保存快捷键的定义或替换等,可以在每个用户的家目录(如root在/root,用户在/home/用户)下写入配置文件.vimrc(root下如/root/.vimrc),然后在该配置文件中编辑模式下写入所需要的命令,且行首无需加冒号(:)。

Linux学习笔记(10)文本编辑器vim的更多相关文章

  1. Linux学习笔记(四) vi编辑器

    一.vi 编辑器 vi 编辑器 (Visual Interface) 是所有 Unix 及 Linux 系统下标准的编辑器,相当于 Windows 系统中的记事本 它有三种模式,分别是: Comman ...

  2. Linux学习笔记(九)Vim文本编辑器的使用

    Vim文本编辑器的使用 Vim的工作模式 1.命令模式 2.输入模式 3.编辑模式 进入Vim 1.使用Vim打开文件 2.直接进入指定位置 Vim基本命令 1.插入命令 2.光标移动命令 3.使用V ...

  3. Linux学习笔记之VI(VIM)编辑器

    百度关于vi的资料 http://baike.baidu.com/view/908054.htm 关于vi 和vim的介绍可以在上面的网址看到. 1   进入和退出vi 进入:在终端命令行输入 vi ...

  4. 【Linux】中默认文本编辑器 vim 的入门与进阶

    Linux 基本操作 vim 篇 vim 简介 vim 是 Linux 上最基本的文本编辑工具,其地位像是 Windows 自带的记事本工具,还要少数的 Linux 系统自带 leafpad 编辑器, ...

  5. Linux学习笔记之十二————vim编辑器的分屏操作

    一.分屏操作: sp: 上下分屏,后可跟文件名 vsp: 左右分屏,后可跟文件名 Ctr+w+w: 在多个窗口切换 二.启动分屏: 1.使用大写O参数进行垂直分屏 $ vim -On file1 fi ...

  6. Linux学习笔记13—Vi编辑器的学习

    文本编辑工具vim.vi1. vim与vi的最大区别是vim编辑的时候是带颜色显示的.Vi不带颜色显示.2. yum install -y vim-enhanced 如果没有安装VIM 使用上面的命令 ...

  7. MiZ702学习笔记10——文本实例化IP的方法

    之前,添加vivado自带IP的时候,都是以图形化的方式:一般是新建一个Block Design顶层文件,然后将图形化的ip贴到,Block Design中. 但是,在进行PL的开发过程中,有时不想使 ...

  8. linux学习笔记-10.解压与压缩

    1.gzip压缩 gzip a.txt 2.解压 gunzip a.txt.gzgzip -d a.txt.gz 3.bzip2压缩 bzip2 a 4.解压 bunzip2 a.bz2bzip2 - ...

  9. 小白的linux学习笔记10:安装nginx和第一个网页

    sudo yum install nginx sudo systemctl status nginx sudo systemctl start nginx 检查端口:netstat -tlpn sud ...

  10. Linux学习笔记之如何设置vim中的格式如行号等

    在我们编写代码程序时,我们时常想追求更好的格式,下面写一下我认为挺实用的格式命令以及如何更改 如果我们打开vim在其命令模式中输入格式命令时,下一次重新打开vim还是会和原先一样,所以我们需更改其配置 ...

随机推荐

  1. ios 获得设备型号方法

    以前用UIScreen 的大小来判断设备类型,现在有了iphone6 和 iphone6 plus, 这种方法不能用了.因为当程序不提供相应的启动图片时,系统会把程序运行在320*568的size下, ...

  2. K3安装记录

    安装的某些客户端没有客户端管理工具,测试问题所在 K3安装目录选择到D盘就可以,它自动生成kingdee\k3路径

  3. xp系统打开软件程序总是弹出警告窗口,很烦人对不,怎么办呢?进来看

    为了不浪费比较着急的朋友的的时间,先把解决方案说了,下面我在细说: 细说: 今天装了个xp的虚拟机,为了不在xp里重复装真机(win7的)里已经有的软件,就把我的工具盘共享给了虚拟机,大部分软件都可以 ...

  4. 如何将.il、.res文件封装成dll文件

    将你的.il..res文件保存在你的硬盘上,如下图: 我存放的路径在E盘的test文件夹中,我们开始封装了咯.进入DOS命令,如下图: 我们通过DOS命令先进入.il..res文件目录,如下图: 然后 ...

  5. win8访问win7中的共享文件夹 映射网络驱动器

    同一个局域网内,配置好了一台win7(假设计算机名为A)的共享文件夹,设置方法可以参考http://www.doudouxitong.com/guzhang/xitongjiqiao/2014/082 ...

  6. September 17th 2016 Week 38th Saturday

    Our eyes do not show a lack of beauty, but a lack of observation. 世上不是缺少美,而是缺少发现美的眼睛. Don't pay too ...

  7. qt_计算器的简单实现

    //阶乘不知道怎么实现不了/(ㄒoㄒ)/~~,以后慢慢调试吧......... //转换为后缀表达式,实现最主要功能 void MainWindow::toPostfix () { QString e ...

  8. 瞧一瞧迷一般的SQLDA

    With static SQL, host variables used in embedded SQL statements are known at application compile tim ...

  9. 20145206邹京儒《Java程序设计》第4周学习总结

    20145206 <Java程序设计>第4周学习总结 教材学习内容总结 第六章 6.1 何谓继承 继承基本上就是避免多个类间重复定义共同行为 package cc.openhome; pu ...

  10. AJAX 搜索自动显示练习

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...