vim编辑器的使用

vim编辑器是Linux和Unix上最基本的文本编辑器,今天我们学学vim编辑器的基本使用;


vim 安装:

yum install vim -y

1、vim的三种模式

  • 命令模式:vim filename 后进入的就是命令模式;常用于查看内容;
  • 输入模式:输入模式下在末行有“ -- INSERT --”字样;常用于输入和修改文本内容;
  • 末行模式:末行模式下在末行有“:”字样;可以执行一些命令,可保存退出;

2、vim打开文件语法

vim filename        
vim +n  filename      # 打开文件自动跳转到n行,+不能省略
vim + filename      #打开文件自动跳转到末行,+不能省略

3、命令模式界面操作

从命令模式到输入模式

  • i:光标原位置不动进入输入模式
  • I:将光标移到到行首,然后进入输入模式
  • a:将光标向后移到一位,然后进行输入模式
  • A:在当前行尾插入
  • o:在光标所在行的下面新开一行,然后进入输入模式
  • O:在光标所在行的上面新开一行,然后进入输入模式

命令模式下的常用操作

①:复制、移动删除文件内容

  • yy:复制光标所在的行
  • nyy:复制光标所在的行开始向下的N行
  • dd:剪切光标所在的行
  • ndd:剪切光标所在的行开始向下的N行
  • p(小):粘贴到光标所在行的下面
  • P(大):粘贴到光标所在行的上面
  • D:删除光标所在位置到行尾的内容
  • dG:删除光标所在的行到末尾全部的行

②撤销和重复执行的相关操作

  • u:撤销上次所指向的操作(相当于windows中ctrl+z)
  • nu:撤销n次操作(n的值最大是50)
  • ctrl+r:撤销刚刚所撤销的那个操作(相当于windows中ctrl+y)
  • . :重复执行上一次所做的操作

③跳转相关的操作

  • nG:跳转到第n行
  • G:直接跳转到最后一行
  • 0:跳转到行首(“home键”会认为行首的空格也是内容,此时会跳转到空格的最前面)
  • ^:跳转到行首(不认为行首的空格是内容,此时会跳转到第一个非空字符)
  • $:跳转到行尾(等同"End"键)
  • ctrl+f:向下翻一屏
  • ctrl+b:向上翻一屏
  • h:向左(nh:移动n个字符)
  • l:向右(nl:移动n个字符)
  • j:向下等同Enter键(nj:移动n行)    
  • k:向上(nk:移动n行)
  • w:移到下一个单词的词首
  • e:跳至当前或下一个单词的词尾
  • b:跳至当前或上一个单词的词首
  • nw:表示移动n个单词

④查找

  • /string:在文件中搜索指定的字符串(string为字符串)
  • n:正向查找
  • N:反向查找

⑤替换相关操作(基本不怎么用)

  • r:替换一个字符(替换完成之后,自动返回到编辑模式)
  • R:进入替换模式(要想退出替换模式,按esc)

命令行多行注释

块选择模式

  1. 插入注释
    (1)首先按键盘上的ESC进入命令行模式
    (2)再按Ctrl+V进入VISUAL BLOCK模式
    (3)利用上下左右键调整需要注释多少行以及行的宽度
    (4)再按Shift+i或s进入插入模式
    (5)输入代表注释的符号,比如#
    (6)再次按ESC键,这时就可完成多行注释(可能需要等上一会,不要着急)

  2. 去注释
    (1)首先按键盘上的ESC进入命令行模式
    (2)再按Ctrl+V进入VISUAL BLOCK模式
    (3)利用上下左右键调整需要去注释多少行以及行的宽度
    (4)再按d即可完成去注释

4、末行模式命令操作

①行号

  • set nu:显示行号
  • set nonu:关闭行号

②跳转(一般不用)

  • num:直接跳转到第num行
  • $:直接跳转到最后一行

③取消匹配到的内容的高亮

  • unhl

④替换

  • start,end s/原始内容/替换内容/g
  • (分隔符不一定是/,只要是三个相同的符号即可)
  • 如果不用g,那么仅仅会替换每行的第一个找到的对象
  • 如果使用g,那么会将范围内所有找到的对象全部做替换
  • start,end 之间为“,”(逗号)
  • ^:表示行首
  • $:表示行位
:23,56 s/cjk/fda/g      #将23行到56行中所有的cjk替换成fda
:1,$ s/cjk/fda/g        #第一行行到末尾行所有的cjk替换成fda  
:% s/cjk/fda/g         #第一行行到末尾行所有的cjk替换成fda  
:% s#^#/#g            #第一行到末尾行行首添加/
:1,5 s/^/ /g             #1-5行首添加空格
:1,$ s/^ //g             #将全部行首的空格删除
:1,$ s/^#//g            #将全部行首的#删除
:1,5 s/a//g              #将1-5行中的a删除
:1,5 s/$/#/g            #在1-5行的末尾添加一个#
:1,5s/#$//g            #将1-5行末尾#删除

⑤保存和退出

  • w:执行保存操作(保存到原始文件中)
  • w /path/to/file:实现文件另存为
  • q:退出
  • !:强制执行操作

⑥第六类命令:高级操作

! 命令      #在vi中直接执行命令
r /path/to/file   #将file中的内容导入到当前文件中
set tabstop=4   #将tab缩进的字符数设置为4个
set ai    #设置自动缩进(一般不用)
set noai    #取消自动缩进

⑦复制、移动、删除多行的操作

start,end d        #删除多行,删除start到end行的内容
start,end m dest   #将多行移动到指定行(dest行)的下面
start,end co dest   #将多个复制到指定行(dest行)的下面
59,198 co 233      #例子:将59到198之间的内容复制到233行的下面

5、分屏操作

vim -o file1 file2     #实现水平分屏
vim -O file1 file2    #实现垂直分屏
ctrl+w       #切换到另一个分屏

6、打开文件的小技巧

vim num file   #打开文件的时候,自动跳转到第num行(加号不可省略)
vim  file   #打开文件的时候,自动跳转到最后一行

7、vim的配置文件

  • /etc/vimrc:全局配置文件,在这个文件中做的配置,会对所有用户生效
  • ~/.vimrc:(默认不存在,需要自己手动创建)用户配置文件,仅仅对当前用户生效

编辑vi的配置文件,实现可以自动显示行号、缩进4个字符、自动对齐

# vi ~/.vimrc
:set nu
:set ai
:set tabstop=4

vi崩溃缓存机制

用vim编辑文件时,如果文件没有正常的关闭(wq、q、q!),那么就会生成一个崩溃缓存文件

崩溃缓存文件的和作用

  • ①. 缓存文件是隐藏文件
  • ②. 缓存文件基本格式是 .file.swp (默认在原目录中)
  • ③. 缓存文件的作用是用于在系统意外关机的情况下,恢复文件中的内容(修改了文件内容,意外关掉终端或者系统)
  • ④. 缓存文件的使用方式
  • 第一步:# vim -r .file.swp
  • 第二步:保存退出
  • 第三步:删除缓存文件

posted @ 2019-05-08 15:15  du-z  阅读(892)  评论(0编辑  收藏  举报