Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

6, vim

559 views

Published on

About vim editor

  • Be the first to comment

6, vim

  1. 1. vim
  2. 2. 概述• vim是linux下面很流行的文本编辑工具, 最初是 由Unix上的vi编辑器移植过来的, 在功能上做了 一些增强; 除了基本的文本编辑功能之外, vim 还支持一定的代码编写功能, 比如语法高亮等; 另外可以通过插件的方式对vim进行扩展, 以实 现更多其他的功能. 关于vim: wiki: http://en.wikipedia.org/wiki/Vim_(text_editor) home: http://www.vim.org/• 通常在安装系统时默认会安装vim编辑器, 可以 使用vim命令打开vim编辑器, 或者后面指定文 件名进行编辑.
  3. 3. vim - 模式• vim可以工作在多种模式下面, 不同的模式提供了各自额外的 特性; vim常用的模式有: normal vim在启动之后默认进入此模式, 此模式用于光标移动和文 本操作. 使用ESC键从其他模式返回到此模式, 示例: insert 在此模式下可以使用键盘输入文本内容, 使用 i/a/o等键进入此模式, 示例:
  4. 4. vim - 模式visual 可视模式用于选择文本区域, 在此模式下会给选中的文本区域加上背景色, 在normal模式按v键进入此模式, 示例:command 命令模式, 此模式用于文本查找和替换, 还可用于执行操作系统命令, 在normal模式使用:切换到此模式, 示例:
  5. 5. vim - 命令• vim提供了很多命令实现对文本的编辑操作, 比如光标移 动, 文本复制粘贴等, vim命令是通过输入相应的字符来 调用的; 可以使用vim打开一个文本文件进行实际操作. 1, 光标移动命令 k 光标向上移动一行 j 光标向下移动一行 w 光标向前移动一个单词的位置 b 光标向后移动一个单词的位置 gg 光标移动到文件起始位置 G 光标移动到末尾行行首 ctrl+b 显示当前光标之前的一屏, 光标位置不变 ctrl+f 显示当前光标之后的一屏, 光标位置不变 HOME/END 移动到行首/行尾 方向键 上下左右移动光标的位置
  6. 6. vim - 命令2, 文本操作命令yy 复制光标所在的当前行#yy 复制光标及后面的多行, 比如2yy复制光标所在行和 下一行y$ 复制光标所在位置到行尾y^ 复制光标所在位置到行首yw 复制光标所在位置到单词末尾#yw 复制多个单词, 比如2yw就是复制两个单词dd 剪切当前行#dd 剪切光标及后面的多行, 比如2dd剪切光标所在行和 下一行dw 剪切光标后的单词d$ 剪切从光标到当前行尾的内容#dw 剪切光标及后面的多个单词
  7. 7. vim - 命令p 粘贴复制或者剪贴的内容, 光标之后shift+p 粘贴复制或者剪贴的内容, 光标之前u 撤销之前的编辑动作, 如剪切, 粘贴等3, 模式切换命令关于vim模式会在后面介绍.ESC 回到normal模式i 进入insert模式, 在光标之前插入a 进入insert模式, 在光标之后插入I 进入insert模式, 在光标行行首插入A 进入insert模式, 在光标行行尾插入o 光标下面添加空行, 移动光标至空行行首进入insert模式O 光标上面添加空行, 移动光标至空行行首进入insert模式v 进入visual模式, 在可视模式下会对选中的文本区域加背景色: 进入命令行模式, 该模式可用于查找或者替换, 或者执行操作系统 的命令
  8. 8. vim - 模式和命令• 不同的模式下面能够使用的vim命令不同:normal 可使用光标移动和文本操作命令, 使用 :help normal-mode查看模式帮助, 在normal模 式下使用如下命令对文件进行保存或者退出vim w 保存文件并回到normal模式 q 退出编辑, 如果未保存会提示保存 q! 忽略改动的内容, 强制退出 wq 保存并且退出insert 可使用大部分的vim命令, 需要配合额外的alt键使 用:help insert-mode查看帮助visual 可使用大部分的vim命令,使用 :help visual-mode查看模式帮助command 不能使用vim命令, 使用 :help command-line-mode查看帮助
  9. 9. vim - visual模式• 在normal模式下可以使用v, V, ctrl+v, gv进入到可视模式, 表示的含义分别如下: v 进入字符可视模式, 根据光标的移动选中文本区域 V 进入行可视模式, 根据光标的移动对行进行选中 ctrl+v 进入块可视模式, 根据光标的移动选 中矩形文本区域 gv 进入上次使用的可视模式, 并选中上次选中的文 本区域, 比如上一次是”块可视模式”退出该模式 时选中了某个区域, 执行gv会进入”块可视模式” 并且选中该区域• 在可视模式下使用如下命令操作文本区域: y 赋值当前选中的文本区域 d 剪切当前选中的文本区域
  10. 10. vim - 文本查找• 在normal模式下输入:进入到命令模式, 在该模式下可以 使用如下方式进行文本查看和替换(pattern表示正则表 达式): /pattern 查找符合模式的文本, 查找完成之后使用n/N 进行循环导航, n导航到下一处, N上一处, 示例: 另外, 在normal模式下也可以实现文本查找功能, 输入* 可以查找当前光标所在位置的单词, 并且进行导航;
  11. 11. vim - 文本替换• 进入命令模式之后, 使用如下方式进行文本替 换: :s/pattern/target/g 替换当前行匹配模式的文本 :%s/pattern/target/g替换整个文件中匹配模式 的文本 :#,# s/pattern/target/g 替换指定行范围内匹配 模式的文本, “.”表示当前行, “$”表示最后一行, 示例: .,$ s/test/Test/gc 在当前行到末尾行中替 换test为Test, 实际替换之前需要确认
  12. 12. vim - 正则表达式• 使用vim进行文本的查找和替换时使用到了正则表达式操作, 这里介绍 一些vim特有的一些正则表达式元字符: 1, c 不区分大小写, 示例: /cTEST # 不区分大小写查找test 2, * 表示0个或者多个, 示例: /abc* # 匹配abc, abcc...... 3, +表示0个或者多个, 示例: /abc+ # 匹配abcc, abccc...... 4, [] 匹配方括号内的任意一个字符, 示例: /[Tt]est # 匹配test和Test [x-y]匹配x到y范围中的字符, 示例: [a-z]xy # 匹配axy, bxy, cxy... [^] 匹配不在方括号中的字符, 示例: [^aA]xy # 匹配bxy, Bxy... 5, | 匹配两个模式中的任意一个, 示例: /Test|test # 匹配test和Test
  13. 13. vim - 正则表达式6, {m}, {m,}, {m, n} 分别匹配字符出现次数m次, 大于m次,m-n次, 示例: /abc{1,3} # 匹配abc, abcc, abccc7, = 匹配0个或者1个 /ad= # 匹配字符a后面跟0个或1个数字8, ^表示行首, $表示行尾, 使用^, $分别表示^和$字符9, s表示空白字符, 示例: /^s*$ # 匹配空行10, d 表示数字字符, D表示非数字字符, 示例: /d+ #匹配由多个数组组成的文本11, w 匹配一个单词12, .匹配单个字符13, <, >分别表示词首, 词尾
  14. 14. vim - 一些技巧• 一些vim使用的技巧, 如下: 1, vim支持命令历史功能, 进入命令模式之后使用 上下箭头查看历史命令 2, 显示/关闭行号 :set nu/:set nonu 3, 关闭查找后的高亮显示 :noh 4, 执行OS命令, 示例: :!date 打印当前日期 5, 设置注释文本的显示颜色 :hi Comment ctermfg=lightblue 6, 设置备份 编辑~/.vimrc加入如下两行: set backup set backupdir=~/.vim_backup 对编辑的文件进行保存时, 会先将当前文件备份到指定的备份目录 下面, 备份文件的名称在当前文件名后加~, 每次备份会覆盖上一次的 备份文件.
  15. 15. END

×