Linux--vim文本编辑器总结

Posted on 2017-08-03 20:49  惟愿此心无怨尤  阅读(153)  评论(0)    收藏  举报

2017-08-03 20:26:59 @惟愿此心无怨尤

学习linux之文本编辑器vim

 

 

今天对vim中一些常用的基本功能进行总结。

 

vimvisual interface improved

 

三种主要模式:

命令模式:默认模式,移动光标,剪切/粘贴文本

插入模式(编辑模式):修改文本

扩展命令模式:保存、退出等

 

三种模式之间的转换:

 

 

vim打开文件常用方式:

-m 只读方式打开文件

-b 二进制打开文件

-d file1 file2 打开多个文件

直接打开文件,如文件不存在则创建

 

常用功能总结:

  1、文件的保存以及退出

   扩展模式:

     q退出

     q!强制退出

     w保存

     wqx保存并退出

     wq!x!当文件对当前用户权限为read-only时,可以强制保存并退出(仅限root和当前文件的owner

 

   命令模式:

     ZZ:保持并且退出

     ZQ:不保存并且退出

 

 

  2、所编辑的文本中一些常用跳转操作命令

  ctrl +f 向下翻一屏

  ctrl +b 向上翻一屏

  ctrl +d 向下翻半屏

  ctrl +u 向上翻半屏

  gg:跳到首行

  H:跳到当前页的首行

  L: 跳到当前页的尾行

  M: 跳到当前而的中间行

  hijk:左右下上

 

  3、文本删除操作常用命令

  d$: 删除到行尾

  d^:删除到非空行首

  d0:删除到行首

  dw:从光标所在处删除到单词尾

  de:从光标所在处删除到单词尾

  db:从光标所在处删除到单词头

  dd: 删除光标所在的行

  #dd:多行删除 ,其中#为所要删除行的数字

 

  4、文本复制操作常用命令

  y$:复制到行尾

  y0:复制到行首

  y^:复制到非空行首

  yy:复制当前行

  #yy: 复制多行

  ps:其实用鼠标选中需要复制内容即可

 

  5、文本粘贴操作常用命令

 

  p:缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面

  P:缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面v

 

  6、文本搜索替换常用命令

 

  s/要查找的内容/替换为的内容/修饰符

  其中修饰符为:

  i:忽略大小写

  g:全局替换

  gc:全局替换,每一次替换前询问时否进行替换

 

ps:关于全局替换的问题,可以在s前加%,如%s/aaa/bbb/g,该命令表示在全文搜索aaa,并且把所有aaa替换为bbb若这里没有%或者没有g,只会替换每一行所搜索到的第一个aaa

 

 

查找:/查找的内容

 

ps以上都支持正则表达式,例子如下:

复制/etc/rc.d/init.d/functions文件至/tmp目录,用查找替换命令为/tmp/functions的每行开头为空白字符的行的行首添加一个#

解决方法1 %s/^[[:spacge:]]/# /g

解决方法2 %s/^\([[:space:]]\)/#\1/g

解决方法3 %s/^[[:space:]]/#&/

 

 

  7、撤销更改以及重复操作常用命令

  #u:撤销之前#次更改

  U:撤消光标落在这行后所有此行的更改

  :e! :恢复到上次保存该文件的状态

   Ctrl - r重做最后的“撤消”更改

  . 重复前一个操作

  n.重复前一个操作n

 

 

位置参数介绍以及使用

 

$1-$9 按照打开需要编辑的文件依次传入数据,例:vim test.txt 3,若文件中有$1,则直接赋值为3,若没有,则忽略

$0 表示文件名字

$10 及其以后的位置参数要用{},否则会被认为是$10,表示为${10}

 

 

位置参数的应用:

在每一次写脚本时,为了规范,都需要在开头写一些注释,比如作者名字,日期等等等,其次在每一次写完

脚本都需要进行一些操作,比如给予执行权限等等,那么我们利用位置参数可以简化这些操作

 

测试截图如下,当我创建一个名字为test9.sh时,效果及其代码如下:

 

 

 

 

 

Vim配置一些基本功能

 

全局设置的配置文件:(已存在)/etc/vimrc

本用户的配置文件:(不存在,需要自己创建)~/.vimrc

 

1、行号

  1. set nu 开启
  2. Set nonu 关闭

2、括号成对匹配

  1. Set showmatch 或者set sm 开启
  2. set nosm 关闭

3、自动缩进

  1. Set ai 开启
  2. Set nosm 关闭

4、高亮搜索

  1. set hlsearch 开启
  2. set nohlsearch 关闭

5、语法高亮

  1. systax on 开启
  2. systax on 关闭

6、忽略字符大小写

  1. set ic 开启
  2. set noic 关闭

7、设置文件的格式

  1. set fileformat=dos 启用windows格式
  2. set fileformat=unix 启用unix格式

8、设置文本的宽度

  1. :set textwidth=65
  2. :set wrapmargin=15