SlideShare una empresa de Scribd logo
1 de 15
vim
概述
• vim是linux下面很流行的文本编辑工具, 最初是
  由Unix上的vi编辑器移植过来的, 在功能上做了
  一些增强; 除了基本的文本编辑功能之外, vim
  还支持一定的代码编写功能, 比如语法高亮等;
  另外可以通过插件的方式对vim进行扩展, 以实
  现更多其他的功能. 关于vim:
 wiki:   http://en.wikipedia.org/wiki/Vim_(text_editor)
 home:   http://www.vim.org/
• 通常在安装系统时默认会安装vim编辑器, 可以
  使用vim命令打开vim编辑器, 或者后面指定文
  件名进行编辑.
vim
                 - 模式
• vim可以工作在多种模式下面, 不同的模式提供了各自额外的
  特性; vim常用的模式有:
 normal   vim在启动之后默认进入此模式, 此模式用于光标移动和文
          本操作. 使用ESC键从其他模式返回到此模式, 示例:




 insert   在此模式下可以使用键盘输入文本内容, 使用
          i/a/o等键进入此模式, 示例:
vim
            - 模式
visual 可视模式用于选择文本区域, 在此模式下会给
选中的文本区域加上背景色, 在normal模式按v键进入此模
式, 示例:




command 命令模式, 此模式用于文本查找和替换, 还可用
于执行操作系统命令, 在normal模式使用:切换到此模式, 示
例:
vim
            - 命令
• vim提供了很多命令实现对文本的编辑操作, 比如光标移
  动, 文本复制粘贴等, vim命令是通过输入相应的字符来
  调用的; 可以使用vim打开一个文本文件进行实际操作.
  1, 光标移动命令
  k 光标向上移动一行
  j    光标向下移动一行
  w 光标向前移动一个单词的位置
  b 光标向后移动一个单词的位置
  gg 光标移动到文件起始位置
  G 光标移动到末尾行行首
  ctrl+b  显示当前光标之前的一屏, 光标位置不变
  ctrl+f  显示当前光标之后的一屏, 光标位置不变
  HOME/END   移动到行首/行尾
  方向键     上下左右移动光标的位置
vim
            - 命令
2, 文本操作命令
yy     复制光标所在的当前行
#yy    复制光标及后面的多行, 比如2yy复制光标所在行和
       下一行
y$     复制光标所在位置到行尾
y^     复制光标所在位置到行首
yw     复制光标所在位置到单词末尾
#yw    复制多个单词, 比如2yw就是复制两个单词
dd     剪切当前行
#dd    剪切光标及后面的多行, 比如2dd剪切光标所在行和
       下一行
dw     剪切光标后的单词
d$     剪切从光标到当前行尾的内容
#dw    剪切光标及后面的多个单词
vim
              - 命令
p           粘贴复制或者剪贴的内容, 光标之后
shift+p     粘贴复制或者剪贴的内容, 光标之前
u           撤销之前的编辑动作, 如剪切, 粘贴等
3, 模式切换命令
关于vim模式会在后面介绍.
ESC 回到normal模式
i     进入insert模式, 在光标之前插入
a     进入insert模式, 在光标之后插入
I     进入insert模式, 在光标行行首插入
A     进入insert模式, 在光标行行尾插入
o     光标下面添加空行, 移动光标至空行行首进入insert模式
O     光标上面添加空行, 移动光标至空行行首进入insert模式
v     进入visual模式, 在可视模式下会对选中的文本区域加背景色
:     进入命令行模式, 该模式可用于查找或者替换, 或者执行操作系统
      的命令
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查看帮助
vim
              - visual模式
• 在normal模式下可以使用v, V, ctrl+v, gv进入到可视模式,
  表示的含义分别如下:
  v 进入字符可视模式, 根据光标的移动选中文本区域
  V 进入行可视模式, 根据光标的移动对行进行选中
  ctrl+v  进入块可视模式, 根据光标的移动选
          中矩形文本区域
  gv 进入上次使用的可视模式, 并选中上次选中的文
       本区域, 比如上一次是”块可视模式”退出该模式
       时选中了某个区域, 执行gv会进入”块可视模式”
       并且选中该区域
• 在可视模式下使用如下命令操作文本区域:
  y 赋值当前选中的文本区域
  d 剪切当前选中的文本区域
vim
            - 文本查找
• 在normal模式下输入:进入到命令模式, 在该模式下可以
  使用如下方式进行文本查看和替换(pattern表示正则表
  达式):
  /pattern 查找符合模式的文本, 查找完成之后使用n/N
  进行循环导航, n导航到下一处, N上一处, 示例:




 另外, 在normal模式下也可以实现文本查找功能, 输入*
 可以查找当前光标所在位置的单词, 并且进行导航;
vim
             - 文本替换
• 进入命令模式之后, 使用如下方式进行文本替
  换:
  :s/pattern/target/g 替换当前行匹配模式的文本
   :%s/pattern/target/g替换整个文件中匹配模式
  的文本
   :#,# s/pattern/target/g 替换指定行范围内匹配
  模式的文本, “.”表示当前行, “$”表示最后一行,
  示例: .,$ s/test/Test/gc 在当前行到末尾行中替
  换test为Test, 实际替换之前需要确认
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
vim
            - 正则表达式
6, {m}, {m,}, {m, n} 分别匹配字符出现次数m次, 大于m次,
m-n次, 示例:
     /abc{1,3}     # 匹配abc, abcc, abccc
7, = 匹配0个或者1个
     /ad=         # 匹配字符a后面跟0个或1个数字
8, ^表示行首, $表示行尾, 使用^, $分别表示^和$字符
9, s表示空白字符, 示例:
     /^s*$               # 匹配空行
10, d 表示数字字符, D表示非数字字符, 示例:
     /d+          #匹配由多个数组组成的文本
11, w 匹配一个单词
12, .匹配单个字符
13, <, >分别表示词首, 词尾
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
  对编辑的文件进行保存时, 会先将当前文件备份到指定的备份目录
  下面, 备份文件的名称在当前文件名后加~, 每次备份会覆盖上一次的
  备份文件.
END

Más contenido relacionado

Destacado

Persun0219
Persun0219Persun0219
Persun0219persunit
 
White, Not Just the Color of a Crayon
White, Not Just the Color of a CrayonWhite, Not Just the Color of a Crayon
White, Not Just the Color of a Crayontlromaine
 
Managerialeconomics 111011095409-phpapp02
Managerialeconomics 111011095409-phpapp02Managerialeconomics 111011095409-phpapp02
Managerialeconomics 111011095409-phpapp02Rajesh Ron
 
Temperate forest shane g6 (1)
Temperate forest shane g6 (1)Temperate forest shane g6 (1)
Temperate forest shane g6 (1)Shane8820
 
Edct project
Edct projectEdct project
Edct projectabeurket
 
KOD BAHARU DI KEMENTERIAN KEWANGAN 2012
KOD BAHARU DI KEMENTERIAN KEWANGAN 2012KOD BAHARU DI KEMENTERIAN KEWANGAN 2012
KOD BAHARU DI KEMENTERIAN KEWANGAN 2012registermof
 
KOD BAHARU DI KEMENTERIAN KEWANGAN 2012- LATEST
KOD BAHARU DI KEMENTERIAN KEWANGAN 2012- LATESTKOD BAHARU DI KEMENTERIAN KEWANGAN 2012- LATEST
KOD BAHARU DI KEMENTERIAN KEWANGAN 2012- LATESTregistermof
 
1, workflow intro
1, workflow intro1, workflow intro
1, workflow introted-xu
 
แนะนำสาขา
แนะนำสาขาแนะนำสาขา
แนะนำสาขาNing Jindapond
 
หลักสูตรธุรกิจและคอมพิวเตอร์
หลักสูตรธุรกิจและคอมพิวเตอร์หลักสูตรธุรกิจและคอมพิวเตอร์
หลักสูตรธุรกิจและคอมพิวเตอร์Ning Jindapond
 
Marca personal y empleabilidad
Marca personal y empleabilidadMarca personal y empleabilidad
Marca personal y empleabilidadMaría Vila
 
AMOR Y AMISTAD
AMOR Y AMISTADAMOR Y AMISTAD
AMOR Y AMISTADingcamilom
 

Destacado (19)

TORTELLI SANTA FELICIDADE
TORTELLI SANTA FELICIDADETORTELLI SANTA FELICIDADE
TORTELLI SANTA FELICIDADE
 
Persun0219
Persun0219Persun0219
Persun0219
 
Madagascar
MadagascarMadagascar
Madagascar
 
White, Not Just the Color of a Crayon
White, Not Just the Color of a CrayonWhite, Not Just the Color of a Crayon
White, Not Just the Color of a Crayon
 
Managerialeconomics 111011095409-phpapp02
Managerialeconomics 111011095409-phpapp02Managerialeconomics 111011095409-phpapp02
Managerialeconomics 111011095409-phpapp02
 
Temperate forest shane g6 (1)
Temperate forest shane g6 (1)Temperate forest shane g6 (1)
Temperate forest shane g6 (1)
 
PFS Brochure
PFS Brochure PFS Brochure
PFS Brochure
 
Edct project
Edct projectEdct project
Edct project
 
Chap07
Chap07Chap07
Chap07
 
KOD BAHARU DI KEMENTERIAN KEWANGAN 2012
KOD BAHARU DI KEMENTERIAN KEWANGAN 2012KOD BAHARU DI KEMENTERIAN KEWANGAN 2012
KOD BAHARU DI KEMENTERIAN KEWANGAN 2012
 
KOD BAHARU DI KEMENTERIAN KEWANGAN 2012- LATEST
KOD BAHARU DI KEMENTERIAN KEWANGAN 2012- LATESTKOD BAHARU DI KEMENTERIAN KEWANGAN 2012- LATEST
KOD BAHARU DI KEMENTERIAN KEWANGAN 2012- LATEST
 
1, workflow intro
1, workflow intro1, workflow intro
1, workflow intro
 
แนะนำสาขา
แนะนำสาขาแนะนำสาขา
แนะนำสาขา
 
หลักสูตรธุรกิจและคอมพิวเตอร์
หลักสูตรธุรกิจและคอมพิวเตอร์หลักสูตรธุรกิจและคอมพิวเตอร์
หลักสูตรธุรกิจและคอมพิวเตอร์
 
Mara alejandra jimnez
Mara alejandra jimnezMara alejandra jimnez
Mara alejandra jimnez
 
Expo (1)
Expo (1)Expo (1)
Expo (1)
 
Marca personal y empleabilidad
Marca personal y empleabilidadMarca personal y empleabilidad
Marca personal y empleabilidad
 
A Generosidade
A GenerosidadeA Generosidade
A Generosidade
 
AMOR Y AMISTAD
AMOR Y AMISTADAMOR Y AMISTAD
AMOR Y AMISTAD
 

Similar a 6, vim

Effective_Vim
Effective_VimEffective_Vim
Effective_VimKing Hom
 
Vim hacks
Vim hacksVim hacks
Vim hacksXuYj
 
6, awk
6, awk6, awk
6, awkted-xu
 
Linux1文字介面操作
Linux1文字介面操作Linux1文字介面操作
Linux1文字介面操作jiannrong
 
一小時學不會的 Vim
一小時學不會的 Vim一小時學不會的 Vim
一小時學不會的 VimLi Hsuan Hung
 
GNU Autoconf / Automake #4
GNU Autoconf / Automake #4GNU Autoconf / Automake #4
GNU Autoconf / Automake #4imacat .
 
2, bash synax simplified
2, bash synax simplified2, bash synax simplified
2, bash synax simplifiedted-xu
 
第9章 Shell 編程
第9章 Shell 編程第9章 Shell 編程
第9章 Shell 編程kidmany2001
 
手把手教你把Vim改装成一个IDE编程环境(图文)
手把手教你把Vim改装成一个IDE编程环境(图文)手把手教你把Vim改装成一个IDE编程环境(图文)
手把手教你把Vim改装成一个IDE编程环境(图文)King Hom
 
3. java basics
3. java basics3. java basics
3. java basicsnetdbncku
 
Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)Chu-Siang Lai
 
sed -- A programmer's perspective
sed -- A programmer's perspectivesed -- A programmer's perspective
sed -- A programmer's perspectiveLi Ding
 
VIM入门与进阶
VIM入门与进阶VIM入门与进阶
VIM入门与进阶pan weizeng
 
Automate with Ansible basic (2/e)
Automate with Ansible basic (2/e)Automate with Ansible basic (2/e)
Automate with Ansible basic (2/e)Chu-Siang Lai
 
Free Marker中文文档
Free Marker中文文档Free Marker中文文档
Free Marker中文文档yiditushe
 
Learning python in the motion picture industry by will zhou
Learning python in the motion picture industry   by will zhouLearning python in the motion picture industry   by will zhou
Learning python in the motion picture industry by will zhouWill Zhou
 

Similar a 6, vim (20)

Effective_Vim
Effective_VimEffective_Vim
Effective_Vim
 
Work with Vim
Work with VimWork with Vim
Work with Vim
 
Vim 101
Vim 101Vim 101
Vim 101
 
Vim hacks
Vim hacksVim hacks
Vim hacks
 
Vim
VimVim
Vim
 
6, awk
6, awk6, awk
6, awk
 
Linux1文字介面操作
Linux1文字介面操作Linux1文字介面操作
Linux1文字介面操作
 
一小時學不會的 Vim
一小時學不會的 Vim一小時學不會的 Vim
一小時學不會的 Vim
 
GNU Autoconf / Automake #4
GNU Autoconf / Automake #4GNU Autoconf / Automake #4
GNU Autoconf / Automake #4
 
2, bash synax simplified
2, bash synax simplified2, bash synax simplified
2, bash synax simplified
 
第9章 Shell 編程
第9章 Shell 編程第9章 Shell 編程
第9章 Shell 編程
 
手把手教你把Vim改装成一个IDE编程环境(图文)
手把手教你把Vim改装成一个IDE编程环境(图文)手把手教你把Vim改装成一个IDE编程环境(图文)
手把手教你把Vim改装成一个IDE编程环境(图文)
 
3. java basics
3. java basics3. java basics
3. java basics
 
Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)Automate with Ansible basic (3/e)
Automate with Ansible basic (3/e)
 
NextGen
NextGenNextGen
NextGen
 
sed -- A programmer's perspective
sed -- A programmer's perspectivesed -- A programmer's perspective
sed -- A programmer's perspective
 
VIM入门与进阶
VIM入门与进阶VIM入门与进阶
VIM入门与进阶
 
Automate with Ansible basic (2/e)
Automate with Ansible basic (2/e)Automate with Ansible basic (2/e)
Automate with Ansible basic (2/e)
 
Free Marker中文文档
Free Marker中文文档Free Marker中文文档
Free Marker中文文档
 
Learning python in the motion picture industry by will zhou
Learning python in the motion picture industry   by will zhouLearning python in the motion picture industry   by will zhou
Learning python in the motion picture industry by will zhou
 

Más de ted-xu

11, OCP - awr & alert system
11, OCP - awr & alert system11, OCP - awr & alert system
11, OCP - awr & alert systemted-xu
 
10, OCP - flashback
10, OCP - flashback10, OCP - flashback
10, OCP - flashbackted-xu
 
9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rman9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rmanted-xu
 
8, OCP - backup with rman
8, OCP - backup with rman8, OCP - backup with rman
8, OCP - backup with rmanted-xu
 
7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recovery7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recoveryted-xu
 
6, OCP - oracle security
6, OCP - oracle security6, OCP - oracle security
6, OCP - oracle securityted-xu
 
5, OCP - oracle storage
5, OCP - oracle storage5, OCP - oracle storage
5, OCP - oracle storageted-xu
 
4, OCP - oracle networking
4, OCP - oracle networking4, OCP - oracle networking
4, OCP - oracle networkingted-xu
 
3, OCP - instance management
3, OCP - instance management3, OCP - instance management
3, OCP - instance managementted-xu
 
2, OCP - installing and creating a database
2, OCP - installing and creating a database2, OCP - installing and creating a database
2, OCP - installing and creating a databaseted-xu
 
1, OCP - architecture intro
1, OCP - architecture intro1, OCP - architecture intro
1, OCP - architecture introted-xu
 
12, OCP - performance tuning
12, OCP - performance tuning12, OCP - performance tuning
12, OCP - performance tuningted-xu
 
7, business event system
7, business event system7, business event system
7, business event systemted-xu
 
6, workflow miscellaneous
6, workflow miscellaneous6, workflow miscellaneous
6, workflow miscellaneousted-xu
 
5, workflow function activity
5, workflow function activity5, workflow function activity
5, workflow function activityted-xu
 
4, workflow tables & api
4, workflow tables & api4, workflow tables & api
4, workflow tables & apited-xu
 
3, workflow in ebs
3, workflow in ebs3, workflow in ebs
3, workflow in ebsted-xu
 
2, a simple workflow
2, a simple workflow2, a simple workflow
2, a simple workflowted-xu
 
8, bes tables & api
8, bes tables & api8, bes tables & api
8, bes tables & apited-xu
 
OPM Recipe designer notes
OPM Recipe designer notesOPM Recipe designer notes
OPM Recipe designer notested-xu
 

Más de ted-xu (20)

11, OCP - awr & alert system
11, OCP - awr & alert system11, OCP - awr & alert system
11, OCP - awr & alert system
 
10, OCP - flashback
10, OCP - flashback10, OCP - flashback
10, OCP - flashback
 
9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rman9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rman
 
8, OCP - backup with rman
8, OCP - backup with rman8, OCP - backup with rman
8, OCP - backup with rman
 
7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recovery7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recovery
 
6, OCP - oracle security
6, OCP - oracle security6, OCP - oracle security
6, OCP - oracle security
 
5, OCP - oracle storage
5, OCP - oracle storage5, OCP - oracle storage
5, OCP - oracle storage
 
4, OCP - oracle networking
4, OCP - oracle networking4, OCP - oracle networking
4, OCP - oracle networking
 
3, OCP - instance management
3, OCP - instance management3, OCP - instance management
3, OCP - instance management
 
2, OCP - installing and creating a database
2, OCP - installing and creating a database2, OCP - installing and creating a database
2, OCP - installing and creating a database
 
1, OCP - architecture intro
1, OCP - architecture intro1, OCP - architecture intro
1, OCP - architecture intro
 
12, OCP - performance tuning
12, OCP - performance tuning12, OCP - performance tuning
12, OCP - performance tuning
 
7, business event system
7, business event system7, business event system
7, business event system
 
6, workflow miscellaneous
6, workflow miscellaneous6, workflow miscellaneous
6, workflow miscellaneous
 
5, workflow function activity
5, workflow function activity5, workflow function activity
5, workflow function activity
 
4, workflow tables & api
4, workflow tables & api4, workflow tables & api
4, workflow tables & api
 
3, workflow in ebs
3, workflow in ebs3, workflow in ebs
3, workflow in ebs
 
2, a simple workflow
2, a simple workflow2, a simple workflow
2, a simple workflow
 
8, bes tables & api
8, bes tables & api8, bes tables & api
8, bes tables & api
 
OPM Recipe designer notes
OPM Recipe designer notesOPM Recipe designer notes
OPM Recipe designer notes
 

6, vim

  • 1. vim
  • 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. vim - 模式 • vim可以工作在多种模式下面, 不同的模式提供了各自额外的 特性; vim常用的模式有: normal vim在启动之后默认进入此模式, 此模式用于光标移动和文 本操作. 使用ESC键从其他模式返回到此模式, 示例: insert 在此模式下可以使用键盘输入文本内容, 使用 i/a/o等键进入此模式, 示例:
  • 4. vim - 模式 visual 可视模式用于选择文本区域, 在此模式下会给 选中的文本区域加上背景色, 在normal模式按v键进入此模 式, 示例: command 命令模式, 此模式用于文本查找和替换, 还可用 于执行操作系统命令, 在normal模式使用:切换到此模式, 示 例:
  • 5. vim - 命令 • vim提供了很多命令实现对文本的编辑操作, 比如光标移 动, 文本复制粘贴等, vim命令是通过输入相应的字符来 调用的; 可以使用vim打开一个文本文件进行实际操作. 1, 光标移动命令 k 光标向上移动一行 j 光标向下移动一行 w 光标向前移动一个单词的位置 b 光标向后移动一个单词的位置 gg 光标移动到文件起始位置 G 光标移动到末尾行行首 ctrl+b 显示当前光标之前的一屏, 光标位置不变 ctrl+f 显示当前光标之后的一屏, 光标位置不变 HOME/END 移动到行首/行尾 方向键 上下左右移动光标的位置
  • 6. vim - 命令 2, 文本操作命令 yy 复制光标所在的当前行 #yy 复制光标及后面的多行, 比如2yy复制光标所在行和 下一行 y$ 复制光标所在位置到行尾 y^ 复制光标所在位置到行首 yw 复制光标所在位置到单词末尾 #yw 复制多个单词, 比如2yw就是复制两个单词 dd 剪切当前行 #dd 剪切光标及后面的多行, 比如2dd剪切光标所在行和 下一行 dw 剪切光标后的单词 d$ 剪切从光标到当前行尾的内容 #dw 剪切光标及后面的多个单词
  • 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. 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. vim - visual模式 • 在normal模式下可以使用v, V, ctrl+v, gv进入到可视模式, 表示的含义分别如下: v 进入字符可视模式, 根据光标的移动选中文本区域 V 进入行可视模式, 根据光标的移动对行进行选中 ctrl+v 进入块可视模式, 根据光标的移动选 中矩形文本区域 gv 进入上次使用的可视模式, 并选中上次选中的文 本区域, 比如上一次是”块可视模式”退出该模式 时选中了某个区域, 执行gv会进入”块可视模式” 并且选中该区域 • 在可视模式下使用如下命令操作文本区域: y 赋值当前选中的文本区域 d 剪切当前选中的文本区域
  • 10. vim - 文本查找 • 在normal模式下输入:进入到命令模式, 在该模式下可以 使用如下方式进行文本查看和替换(pattern表示正则表 达式): /pattern 查找符合模式的文本, 查找完成之后使用n/N 进行循环导航, n导航到下一处, N上一处, 示例: 另外, 在normal模式下也可以实现文本查找功能, 输入* 可以查找当前光标所在位置的单词, 并且进行导航;
  • 11. vim - 文本替换 • 进入命令模式之后, 使用如下方式进行文本替 换: :s/pattern/target/g 替换当前行匹配模式的文本 :%s/pattern/target/g替换整个文件中匹配模式 的文本 :#,# s/pattern/target/g 替换指定行范围内匹配 模式的文本, “.”表示当前行, “$”表示最后一行, 示例: .,$ s/test/Test/gc 在当前行到末尾行中替 换test为Test, 实际替换之前需要确认
  • 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. vim - 正则表达式 6, {m}, {m,}, {m, n} 分别匹配字符出现次数m次, 大于m次, m-n次, 示例: /abc{1,3} # 匹配abc, abcc, abccc 7, = 匹配0个或者1个 /ad= # 匹配字符a后面跟0个或1个数字 8, ^表示行首, $表示行尾, 使用^, $分别表示^和$字符 9, s表示空白字符, 示例: /^s*$ # 匹配空行 10, d 表示数字字符, D表示非数字字符, 示例: /d+ #匹配由多个数组组成的文本 11, w 匹配一个单词 12, .匹配单个字符 13, <, >分别表示词首, 词尾
  • 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. END

Notas del editor

  1. 附注:emacs是另一个非常流行的文本编辑器, 最初是由RMS编写的, 关于vim和emacs谁更优秀的争论由来已久.