doraemon的python centos的入门(二)vim

孤者浪人 提交于 2019-12-03 20:33:22

9. vim

打开文件

 
 
 
 
 
 
 
vim [opyions] files
+# 打开文件以后光标在#行
+/string 直接定位到第一个被匹配到的string的行的行首
-m 只读模式打开
-e 直接进入扩展命令行模式
-b 以二进制方式打开文件
 

 

模式:

  • 命令模式:打开后默认

  • 插入模式:编辑文件

  • 扩展命令模式(末行模式):保存、退出等等

  • 可视化模式

模式之间的切换

  • 命令模式-->插入模式

    • i在当前光标所在的位置插入

    • I在当前行的行首位置开始插入

    • a光标的后面开始插入

    • A在当前行的行尾开始插入

    • o在当前光标所在行的下方打开一个新行

    • O在当前光标所在行的上方打开一个新行

  • 插入模式-->命令模式

    • esc

  • 命令模式--->扩展命令模式

  • 扩展命令模式--->命令模式

  • esc enter

  • esc esc

 

关闭文件:

  • 扩展命令行模式

    • :q 退出

    • :q! 不保存强制退出

    • :wq 保存退出

    • :wq!强制退出并保存

    • :x 保存退出

  • 命令模式

    • ZZ 保存退出

    • ZQ不保存退出

 

9.1 扩展命令行模式

  • ":"进图扩展命令行模式

  • 命令

    • w 写入磁盘

    • wq退出保存

    • x 保存退出

    • q 退出

    • r filename 读入一个文件,在光标的下一行插入

    • w filename 将当前的文件另存为另一个文件

    • ! command 执行命令,然后回车回到文件中

    • r!command 直接将命令的执行结果写入到文件中,光标所在行的下一行

 

地址界定:

:start,end

  • #具体多少行

  • m,n 从m开始到n结束

  • m,+n 从m开始到m+n结束

  • .代表当前行

  • $最后一行

  • ¥-# 倒数#+1行

  • % 全部

  • #,/pat/,从第#开始,到第一次被pat匹配到的行

  • /pat1/,/pat2/从第一个被pat1匹配到的行到第一个被pat2匹配到的行

  • /pat/,# 从第一个被【pat匹配到的行,到#行

使用方法:

  • d 删除

  • y复制

  • w file:将范围内的文件另存为一个文件

  • r file 在指定的位置插入文件中的内容

 

9.2光标的移动:

  • 字符间移动:

    • h 左移动

    • I 右移动

    • j 向下移动

    • k 向上移动

    • n command n个字符的跳转

  • 单词间移动(除了下划线都认为是单词的分隔符)

    • w 下一个单词的词首

    • e 当前单词或者下一个单词的词尾

    • b 当前单词或者上一个单词的词首

    • n command n个单词之间进行跳转

  • 当前页的跳转

    • H 当前页的第一行

    • L 当前页的最后一行

    • M当前页的最后一行

    • zt 将表表所在的行移动到屏幕的顶端

    • zb 将光标所在的行移动到屏幕的底部

    • zz 将贯标所在的行移动到屏幕的中间位置

  • 行首行尾跳转

    • 0(数字) 跳转到行首

    • $ 跳转到行尾

    • ^ 跳转到行首的第一个非空白字符

  • 行间跳转

    • gg 回到第一行

    • 1G 回到第一行

    • G跳转到最后一行

    • 扩展命令模式下: n 跳转到对应的n行

    • #G 跳转到指定的#行

  • 段落间跳转

    • { 上一段

    • }下一段

  • 翻屏

    • ctrl+f 向下翻一屏

    • ctrl+b 向上翻一屏

    • ctrl+d 向下翻半屏

    • ctrl+u 向上翻半屏

9.3 命令行的操作

  • 字符编辑

    • x 删除光标所在的位置

    • #x 删除#个字符

    • xp 交换位置

    • p 粘贴到光标所在的位置

    • ~ 大小写转换

    • J 删除当前行后的换行符

  • 替换

    • r 替换光标所在的位置

    • R切换到替换模式

  • 删除

    • d 删除,需要结合光标跳转字符

    • d0 删除到行首

    • d$ 删除到行尾

    • d^ 删除到非空行首

    • dw 删除一个单词

    • de 删除当前单词到词尾的位置或者下一个单词、

    • db

    • dd 删除光标所在的行

    • #dd 删除#行

    • dG 产出到文件的行尾

    • dgg 删除到文件的行首

    • D 相当于d$

  • 复制

    • y 复制,需要结合光标跳转字符

    • y$

    • y0

    • y^

    • yw

    • ye

    • yb

    • yG

    • ygg

    • yy 复制整行

    • #yy 复制#行

  • 粘贴

    • p 如果是整行,则粘贴到当前行的下面,否则,则粘贴到光标所在的位置的后面

    • P 如果是整行,则粘贴到当前行的上面,否则,则粘贴到光标所在位置的前面

  • 改变命令

    • c 修改之后切换到插入模式

    • c$

    • c0

    • c^

    • cb

    • ce

    • cw

    • #

    • cc 产出当前行并输入新内容

    • #cc 删除#行,并切换到插入模式

  • #[i|I|a|A|o|O]string esc 粘贴#次string

  • 撤销

    • u撤销最近的更改

    • #u 撤销之前的#次操作

    • ctrl+r 重做最后的操作,撤销撤销

    • .重复前一个操作

    • #. 重复之前的动作#次

  • 查找

    • /patterm 从当前光标位置向下查询

    • ?pattern 从光标所在位置向上查找

    • n 同搜索命令

    • N 同搜索命令相反

9.4 查看替换

:地址定位符s/要查找的内容/要替换的内容/装饰器

  • 要查找的内容:可以使用正则表达式

  • 要替换的内容:不可以使用正则表达式,但是可以使用\1,\2等,也可以使用&来代替前面的内容

  • 装饰器

    • i 忽略大小写

    • g 全部替换

    • gc 是替换之前要确认

      • y 确定

      • n 跳过

      • a 全部

    • /可以替换成别的符号

      • @

      • #

9.5 可视化模式

  • v 面向字符

  • V 面向行

  • ctrl+v 面向的是块

  • 可以配合键盘移动键使用

  • 突出显示的文件可以删除,复制,变更,过滤,替换等等

9.6 多文件操作

vim file1 file2 file3

  • :next 下一个

  • :prev 上一个

  • :first 第一个

  • :last 最后一个

  • :wqall

  • :wall

  • :qall

  • 保存之后再切换

9.7 定制化vim

  • 配置文件:

    • 全局:/etc/vimrc

    • 个人:~/.vimrc

  • 扩展命令模式

    • 添加行号 set nu 取消set nonu

    • 搜索时忽略大小写 set ic 取消set noic

    • 自动缩进(与上一行对齐) set ai 取消 set noai

    • 搜索高亮 set hls 取消 set nohls

    • 语法高亮syntax on 关闭 syntax off

    • 设置光标所在的行的标识符 set cul 取消set nocul

    • 获取帮助:set all

    • 文件格式

      • 转换成windows set fileformat=dos

      • 转换成linux set fileformat=unix

 

vim 帮助信息

  • :help

  • : help topic

  • vimtutor

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!