vim常用操作

来源:互联网 发布:淘宝网水晶家纺被子 编辑:程序博客网 时间:2024/06/10 12:01

0.目录

  • 目录
  • 综述
    • 1 三种模式
    • 2 使用vim打开文件
  • 编辑模式下常用操作
    • 1 退出
    • 2 光标跳转与翻屏
    • 2 字符删除替换
    • 3 文本删除
    • 4 文本粘贴
    • 5 文本复制
    • 6 可视化模式
    • 7 撤销操作
    • 8 文本查找
    • 9 重复执行操作
    • 10 三种模式切换
      • 101 编辑模式与输入模式切换
      • 102 编辑模式与末行模式切换
  • 末行模式下常用操作
    • 1 退出
    • 2 地址定界
    • 3 文本编辑
      • 31 删除复制另存读入
      • 32 查找替换操作
  • vim的多文件多窗口功能
    • 1 打开多个文件
    • 2 多窗口显示
  • 定制vim的工作特性各指令均在末行模式输入
    • 1 显示或取消行号显示
    • 2 自动缩进
    • 3 搜索结果高亮显示
    • 4 语法高亮
    • 5 搜索时忽略字符大小写
    • 6 vim配置文件

1.综述

1.1 三种模式

vim有三种模式:编辑模式、输入模式、末行模式。不同模式下按键意义不同。打开文件后,默认处于编辑模式。

1.2 使用vim打开文件

格式 意义 vim file 打开文件file,光标出现在第一行行首 vim # file 打开文件file,光标出现在第#行的行首 vim /pattern file 打开file,光标出现在第一个被正则表达式pattern的匹配到的行的行首

2.编辑模式下常用操作

2.1 退出

各指令 意义 ZZ 保存退出

2.2 光标跳转与翻屏

指令 意义 w 跳转至下一个单词的词首 b 跳转至当前或前一个单词的词首 ^ 跳转至行首第一个非空白字符 $ 跳转至行尾 #G 跳转至第#行 gg 跳转至第一行第一个字符 ctrl + f 向文件尾部翻一屏 ctrl + b 向文件首部翻一屏 ctrl + d 向文件尾部翻半屏 ctrl + u 向文件首部翻半屏

2.2 字符删除、替换:

命令 意义 x 删除光标所在处的字符 #x 删除光标所在处和其后的共#个字符 xp 交换光标所在处的字符和其后的字符的位置1 rCHAR 把光标所在处的字符替换为CHAR字符

2.3 文本删除

可结合光标跳转字符实现范围删除。光标跳转操作很多,就不一一列出了。

指令 意义 d$ 删除光标所在处到行尾的内容 d^ 删除光标所在处到行首的内容 dw 删除光标所在处到下个单词词首的内容 dd 删除光标所在行

文本修改:
指令“c”,用法同删除(d),不同在于删除后进入输入模式。

2.4 文本粘贴

删除的内容暂不会真正删除,会存在缓冲区中,可粘贴至其他位置。

按键 意义 p(小写) 若缓冲区中为整行数据,则粘贴至光标所在行下方一行;若缓冲区中为非整行,则粘贴在光标后方 P(大写) 若缓冲区中为整行数据,则粘贴至光标所在行上方一行;若缓冲区中为非整行,则粘贴在光标前方

2.5 文本复制

类似于删除指令“d”的用法,复制指令为“y”。光标跳转操作很多,就不一一列出了。

按键 意义 y$ 复制光标所在处到行尾的内容 y^ 复制光标所在处到行首的内容 yy 复制光标所在行

2.6 可视化模式

类似于windows下鼠标拖动选中文本。

按键 意义 v 拖动光标,选中光标经过的字符 V 拖动光标,选中光标经过的行

选中后可使用上述的“d”、“y”等进行删除、复制操作。

2.7 撤销操作

按键 意义 u(表示undo) 撤销之前的编辑操作,默认最多50步 ctrl + r 恢复撤销的内容

2.8 文本查找

类似命令less中的查找,但这里的查找支持模式匹配。

按键 意义 /PATTERN 由光标所在处向文件尾部查找(查找后可使用n、N顺着或逆着查找方向查找下一个,同命令“less”) ?PATTERN 由光标所在处向文件首部查找

2.9 重复执行操作

按键 意义 . 再次执行上一步的操作

2.10 三种模式切换

2.10.1 编辑模式与输入模式切换

以下均为由编辑模式切换至输入模式,只是光标位置不同。

按键 意义 i(即insert) 在光标位置前输入字符 I 在光标所在行的行首输入字符 a(即append) 在光标位置后输入字符 A 在光标所在行的行尾输入字符 o 在光标所在行下方新建一行输入字符 O 在光标所在行上方新建一行输入字符

输入模式切换至编辑模式,使用“Esc”键

2.10.2 编辑模式与末行模式切换

编辑模式下,使用“:”按键,进入末行模式;“Esc”键转换为编辑模式

3.末行模式下常用操作

3.1 退出

按键 意义 q 退出,文件未改变时可用 q! 不保存修改,强制退出 w 保存修改。可使用“w file”表示把当前文件保存至file文件,当前文件内容视为未修改,相当于windows中的“另存为” wq 保存退出 x 保存退出

3.2 地址定界:

用于选定文本范围。

按键 意义 . 表示当前行 #(“#”为数字,下同) 指定第#行 #,# 指定行范围,左边为起始行号,右边为结束行号 #,+# 指定行范围,左边为起始行号,右边为由起始行开始,向后偏移的行数 “.,#”或“.,+#” 类似地,也可使用当前行至某行;或由当前行开始,向后偏移的行数 $ 表示最后一行 % 表示全文,同“1,$” /PATTERN/ 选定由光标所在处开始到文件尾部2,第一次出现模式PATTERN的行3

3.3 文本编辑

3.3.1 删除、复制、另存、读入

地址定界后跟对应操作指令,即可对选定的范围进行操作(指令同编辑模式):

指令 意义 d 删除选定的文本 y 复制选定的文本 c 修改选定的文本(即删除指定内容后进入输入模式) w file 把选定的文本另存至文件file中 r file 把文件file中的内容插入至当前文件。可在“r”前指定插入位置

3.3.2 查找替换操作

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

说明:

  • 要查找的内容
    • 可使用模式。查找到的内容即为符合指定模式的文本。
  • 替换为的内容
    • 显然,替换为的内容不能使用模式。
    • 如果“要查找的内容”中使用了模式并使用了分组符号“()”,则替换为的内容中可引用之,比如\1、\2等。
    • 若“要查找的内容”中没有使用分组,“替换为的内容”也可直接引用其匹配到的全部文本,使用符号“&”引用。
  • 修饰符

    字符 意义 i “要查找的内容”忽略大小写 g 表示进行全局查找替换。一行中如果匹配到多个符合查找内容的文本,均替换。默认情况则是仅替换每行第一个符合查找内容的文本。

注意:“要查找的内容”中若有“/”,则需注意转义。为避免这种不便,分隔符也可使用其他字符如“@”、“#”等。

显然,查找替换操作也可用于删除,把查到的内容替换为无即可。

4.vim的多文件、多窗口功能

4.1 打开多个文件

vim可同时打开多个文件,格式:vim file1 file2…
vim为全屏幕编辑器,所以其每次显示的只能是一个文件,可在末行模式下输入指令,在打开的多个文件间切换:

按键 意义 next 切换至下一个文件 previous 切换至上一个文件 last 切换至最后一个文件 first 切换至第一个文件

多个文件的退出:

按键 意义 wqall 保存退出所有打开的文件 qall 退出所有打开的文件 wall 保存所有打开的文件

4.2 多窗口显示

同时打开多个文件时,也可使用窗口分割,将它们同时显示出来:

分割方式 格式 水平分割窗口 “vim -o file1 file2……” 垂直分割窗口 “vim -O file1 file2……”

使用“ctrl + w”进行切换,之后使用方向键,可在各分割窗口间切换。

它也可以实现对单个文件切割为多窗口显示。打开文件后,使用按键“ctrl + w + s/v”,分别为水平和垂直分割4。

5.定制vim的工作特性(各指令均在末行模式输入)

5.1 显示或取消行号显示

命令 意义 set number(可简写为set nu) 开启显示行号 set nonumber(可简写为set nonu) 关闭显示行号

5.2 自动缩进

命令 意义 set ai(意思是auto indent) 开启自动缩进 set noai 关闭自动缩进

5.3 搜索结果高亮显示

在某文件中进行搜索操作后,搜索结果默认是高亮显示,就算关了该文件再打开,上次搜索结果也还是高亮。为避免这个麻烦,可使用命令开启或关闭高亮显示:

命令 意义 set hlsearch(意思是high light search) 开启搜索结果高亮 set nohlsearch 关闭搜索结果高亮

5.4 语法高亮

命令 意义 syntax on 开启语法高亮 syntax off 关闭语法高亮

5.5 搜索时忽略字符大小写

若开启,则进行文本搜索或查找替换时,涉及搜索的操作均忽略文本大小写。

命令 意义 set ic(意思是ingnore case) 开启忽略大小写 set noic 关闭忽略大小写

5.6 vim配置文件

末行模式下的设定,仅对当前vim进程有效。若要永久有效,则需编辑配置文件,分为全局和个人。个人配置文件仅对单个用户有效。

全局配置文件:/etc/vimrc
个人配置文件:~/.vimrc(这个文件或许不存在,需自行创建)

(完)


  1. 实际就是先用“x”删除,再用“p”粘贴。组合起来用可达到交换字符的效果。 ↩
  2. 注意,是从光标所在处开始,而非从第一行开始。 ↩
  3. 貌似不大好用。比如“/h/,$d”的意思是由光标所在行开始,找到第一个含有字符h的行,该行到最后一行的内容均删除。但实际发现并没有删除光标所在的行,且光标所在的行含有字符h,仅删除了它下方的所有行。 ↩
  4. 多窗口显示单个文件,可方便文件内容的前后对照。 ↩
0 0
原创粉丝点击