码迷,mamicode.com
首页 > 系统相关 > 详细

Linux学习之路4-Vim文本编辑利器

时间:2015-09-04 12:43:18      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:linux vim

Vim编辑器, visual interface 全屏幕的编辑器(这个没什么好说,多练吧)

  

   vim:

     模式化:

         编辑模式:命令模式

         输入模式:

         末行模式:

     编辑模式 --> 输入模式:

         i: insert,

         a:append,

         o:new line,

         I: 行首

         A:行尾

         O:上方新建行

     输入模式 --> 编辑模式:

         ESC

     编辑模式 --> 末行模式:

         :

     末行模式 --> 编辑模式

         ESC

 

   打开vim:

     # vim

     # vim /PATH/TO/SOMEFILE

         +#:#为行号;

         +/PATTERN

 

   关闭vim::q  :q!:wq:x

     ZZ:保存退出

   光标跳转:

     字符间跳转:hljk

     单词间跳转:

         w:后单词的词首

         e:当前或后一个单词的词尾;

         b:当前或前一单词的词首;

     行内跳转:

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

         0:跳转至行首;

         $: 跳转至行尾;

     行间移动:  #G: 1G, gg  G

     句间移动:  )   (

     段落间移动:}   {

   编辑命令:

     字符编辑:

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

         #x:删除#个,例如4x

         xp:

         r: 替换光标所在处的字符,R为替换多个字符;

     删除命令:

         d:

             d^ 删除当前光标至行首的第一个字符

             d$ 删除当前光标至行末的字符

             d0 删除当前光标至行首所有字符

             dw删除当前单词词首到下一个单词词首,

             de删除当前单词词尾到下一个单词词尾,

             db 删除当前单词词首到上一个单词词首

             dd: 删除1行,3dd 删除3行

         注意:删除的内容会被vim编辑器保存至缓冲区当中;

     粘贴:p (paste, put)

         如果此复制或删除的内容不是一个完整行

             p:粘贴至当前光标所在处后面;

             P:粘贴至当前光标所在处前面;

         如果复制的内容是完整行(可不止一行)

             p: 粘贴至当前光标所在行下方;

             P:行上方;

     复制命令:y, yank

             y$, y^, y0

             ye, yw, yb

         yy: 复制行

     改变命令:c, change

         c$, c^, c0

         cb, ce, cw

         cc:

   撤消此前的编辑操作

     u: undo

         撤消此前编辑操作;U 撤销当前行的操作

     Ctrl+r

         恢复此前的撤消操作

     .: 重复前一个编辑操作

   翻屏操作

     Ctrl+f: 向后一屏;

     Ctrl+b:向前一屏;

     Ctrl+d: 向后半屏

     Ctrl+u: 向前半屏

   vim内建教程

     vimtutor 非常好,有空就练吧

 

   vim的末行模式

     (1) 地址,定界

         :start_pos,end_pos

             #:第#行;

             #,#

             #,+#

                 .: 当前行

                 $: 最后一行

             %: 全文,相当于1,$

             /pat1/:第一次被此模式所匹配到的行;

             #,/pat1/

             /pat1/,/pat2/

         后可跟编辑命令:

             d, y

             w, r 

     (2) 查找

         /PATTERN:向尾部进行

         ?PATTERN:向首部进行

             n: 与命令同方向

             N:与命令反方向

     (3) 查找替换

         s: 在末行模式下,在地址定界的范围内完成查找替换操作;

 

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

                 要查找的内容:可使用模式

                 替换为的内容:不能使用模式,但可以使用后向引用符号,以引用前面模式中的分组括号所匹配到的内容;

                     \1, \2, ...

                     &:引用“要找的内容”匹配到的整个内容;

                 修饰符:

                     i: 忽略大小写

                     g: 全局替换

 

             /:用于分隔符,所以,要查找的内容或替换为的内容中出现此符号,要使用\对其转义,使用格式:\/

                 分隔符可替换为其它字符:例如@,#等;

 

   多文件模式:

     vim FILE1 FILE2 ...

         :next

         :first

         :prev

         :last

         :wqall

         :q!all

   多文件窗口分割:

     vim -o|-O FILE1 FILE2 ...

     Ctrl+w, ARROW

 

   单文件窗口分割:

     Ctrl+w, s: split, 水平分割

     Ctrl+w, v: vertical, 垂直分割

 

   定制vim的某些工作特性:

     (1) 行号

         显示:set nu

         禁用:set nonu

     (2) 括号匹配

         显示:set sm

         禁用:set nosm

     (3) 自动缩进:

         set ai

         set noai

     (4) 高亮搜索

         set hlsearch

         set nohlsearch

     (5) 语法着色

         syntax on

         syntax off

     (6) 忽略字符大小写

         set ic

         set noic

 

     :help 获取帮助

     :help SUBJECT

 

   特性设定的永久生效方式:

     全局配置文件:/etc/vimrc

     用户个人的配置文件:~/.vimrc

 

VIM 技巧:

set list 显示所有字符,setnolist 关闭

set nu 显示行号,set nonu关闭

:r !head -10 /tmp/aa  命令模式读入aa 文件前10行,非常好,命令的执行结果可以以这种方式读入!

~大小写转换。在非编辑状态下,将光标移至某个字符,使用~命令,那么小写的字母会变成大写,大写的字母会变成小写


本文出自 “天真小同志” 博客,请务必保留此出处http://dengxi.blog.51cto.com/4804263/1691233

Linux学习之路4-Vim文本编辑利器

标签:linux vim

原文地址:http://dengxi.blog.51cto.com/4804263/1691233

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!