Linux学习笔记之vim编辑技巧

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux学习笔记之vim编辑技巧相关的知识,希望对你有一定的参考价值。

vim,一个纯文本(纯文本信息,ASCII text)编辑器,Vi(Visual Interface) IMproved,是一个模式化的编辑器
vim有自带的教程,也是linux的一个内置命令

一、基本模式分类
1 编辑模式(命令模式)
2 输入模式(插入模式)
3 末行模式(vim内置的命令行接口)

二、模式转换:

1 编辑模式——>输入模式

    i :在当前的光标所在字符的前面,转入输入模式

    a:在当前的光标所在字符的后面,转入输入模式

    o:在当前的光标所在行的下方,新建一行,转入输入模式   

    I :在当前的光标所在行的行首,转入输入模式

    A :在当前的光标所在行的行尾,转入输入模式 

    O :在当前的光标所在行的上方,新建一行,转入输入模式

2 输入模式——>编辑模式

    ESC键

3 编辑模式——>末行模式

    输入: 即可  

    :10d          :删除第10行

    :10,20d      :删除第10到20行

    :! ls /etc     :!与命令相结合

4 末行模式——>编辑模式

    输入2 次 ESC键  

三、打开文件

vim [options] [file ..]   默认进入模式为编辑模式

   vim /path/to/somfile  若文件存在,则打开;不存在,则建立该文件并打开 

    vim +n  FILE  :打开该文件并且光标选择第n行行首

    vim + FILE  :打开文件并处于最后一行的行首

    vim +/PATTERN  :打开文件,定位至第一次被PATTERN匹配到的行的行首

例:

# vim +10 /etc/rc.d/init.d/network   # vim打开文件,并且将光标自动放在第10行行首
# vim + /etc/rc.d/init.d/network       # vim打开文件,并且将光标自动放在末行行首

四、关闭文件

1 末行模式关闭文件

   :q      :退出

   :wq   :保存退出

   :q!     :强制退出,丢弃做出的更改

    : w /path/to/somefile  :保存至指定文件中

2 编辑模式下退出

    ZZ   :保存退出

五、移动光标

1 逐字符移动

      h: 向左移动一个字符

      j:向下移动一个字符

      k:向上移动一个字符

      l:向右移动一个字符

      Nh /Nl :代表了向左,向右移动n个字符

2 逐单词移动

      w :移至下一个单词的词首

      e :跳至当前或下一个单词的词尾

      b :跳至当前或前一个单词的词首

      Nw /Ne :代表了向后移动至N个单词的词首或词尾

3 逐行跳转

       0 :跳至绝对行首,Tab字符不算,如果行首有Tab键,则会跳到Tab键之后

       ^ :跳至行首的第一个非空白字符

       $ :跳至绝对的行尾

4 行间跳转

       NG:跳转至第N行

       G :最后一行

       末行模式下,直接给出行号即可 。

5 句间跳转

       ) :跳转至下一句

      ( ;跳转至前一句

     Num : 与句跳转快捷键一同使用,向指定方向跳转句的个数,例如10),向后跳转10句

6 段间跳转

     } :向后跳转一个段落

     { :向前跳转一个段落

     Num :与段落跳转快捷键一同使用,向指定方向跳转的段落个数,例如2},向后跳转2个段落

六、翻屏

       Ctrl +f   :向下翻一屏

       Ctrl +b   :向上翻一屏 

       Ctrl +d   :向上翻半屏

       Ctrl +u   :向上翻半屏 

七、删除单个命令

       x :删除光标所在处的单个字符

       Nx  :删除光标所在处及向后的的共N个字符

八、删除命令

1 d命令与跳转命令组合使用;

       Ndh ,Ndl     : 删除跳转符左侧或右侧的N个字符

       Ndj,Ndk     : 删除跳转符之上或之下的N行

       Ndw ,Nde ,Ndb  : 删除跳转符之后的N单词

       dd :删除光标所在行

       #dd :删除包括当前光标所在行在内的#行

2 末行模式下删除行

       :n,md  :表示删除从n到m行的内容 

        . :表示当前行 

       $ :表示最后一行

       +#:向下的#行

九、粘贴命令 p /P

   p(小写p):如果删除的或复制的内容为整行内容,则粘贴至光标所在行的下方;否则,则粘贴至光标所在行的后面

   P(大写P):如果删除的或复制的内容为整行内容,则粘贴至光标所在行的上方;否则,则粘贴至光标所在行的前面 

十、复制命令 y (与d命令使用方式相同)

        yy :复制光标所在行

       #yy:复制包括当前光标所在行在内的#行

       :n,my  :表示复制从n到m行的内容 

十一、撤销命令

       u :撤销操作

       #u :撤销#次操作

       撤销掉错误的撤销工作 :ctrl +r

十二、可视化操作,功能:像windows的文本编辑工具一样,可以通过鼠标进行范围选定,然后进行操作

       v :按字符选取

       V:按行选取

十三、查找

    /PATTERN :向下查找匹配PATTERN字符的行

    ?PATTERN:向上查找匹配PATTERN字符的行

    n  :向下查找被匹配的字符

    N :向上查找被匹配的字符

十四、查找替换

    在末行模式下使用s命令

    ADD1,ADD2 [email protected]@[email protected]

   .  表示光标选中的行

   1,$等同于%  :表示文中的所有行

例:

:1,$ [email protected]@[email protected]     表示从第一行到最后一行把NOT替换为not 

:% [email protected]^[[:space:]]\[email protected]@g   表示从全文删除以空白字符开头的行的行首的空白字符
:1,[email protected]*@#&@   表示文件的前三行的行首加#号

十五、如何打开多个文件 

Vim file1 file2 file3  默认显示的是第一个文件 

    :next  切换至下一个文件

    :prev  切换至前一个文件

    :last  切换至最后一个文件

    :first  切换至第一个文件

2 退出:

    :qa   退出所有文件 

十六、如何分屏显示一个文件

    Ctrl +w,s  水平拆分窗口

    Ctrl+w , v 垂直拆分窗口 

1 在窗口切换光标 

    Ctrl +w  ,上下左右箭头  ,实现分屏切换

2 退出方式

    :wqall | 保存所有文件并退出
    :wall | 保存所有文件
    :qall | 退出所有文件

十七、分窗口显示多个文件

    vim  -o  file1 file2  水平分窗口显示

    Vim -O file1 file2    垂直分窗口显示 

十八、将当前文件中的部分内容另存为另外一个文件

1 末行模式下使用命令

    :w

    :ADDR1,ADDR2w /PATH/to/somwhere   表示把从第ADDR1行到ADDR2行的内容另存到/PATH/To/somewhere 文件中 

十九将另外一个文件的内容填充在当前文件中

1 末行模式下使用命令

    :r

   :r /PATH/To/Somewhere  表示把文件中/PATH/To/somewhere 的内容写入到光标下一行

二十、与shell 交互 

    :! COMMAND    与shell交互方法

二十一 、高级话题

在末行模式下做得设定,仅对当前vim进程有效;想要永久有效,要进行配置文件修改。
1 永久有效的配置文件:
    (1) 全局的: /etc/vimrc
    (2) 个人的: ~/.vimrc 

2 显示或取消行号

    :set nu   显示行号

    :set nonu  取消行号 

3 设定vim编辑器显示忽略或区分字符大小写

    :set ic  忽略大小写

    :set noic   不忽略大小写 

4 设定自动缩进

    :set autoindent  或 :set ai    设置自动缩进

    :set noai         取消自动缩进   

5 查找到的文件高亮显示

    :set hlsearch   高亮显示

    :set nohlsearch   取消高亮显示

6 语法高亮

    :syntax on

    :syntax off   关闭语法高亮



本文出自 “Wish_亮” 博客,请务必保留此出处http://itwish.blog.51cto.com/11439802/1968004

以上是关于Linux学习笔记之vim编辑技巧的主要内容,如果未能解决你的问题,请参考以下文章

linux学习笔记--vi与vim编辑器

Linux学习笔记(十八) vim编辑模式vim实践练习

Linux学习笔记13——vi和vim编辑器

Linux课程第二天学习笔记

Linux学习笔记——常用命令文件查看与Vim编辑器

linux学习笔记——man管道符vim编辑及快捷操作