Linux:vim编辑器

目录

vim编辑器简介

vim文件打开与关闭

vim编辑器光标跳转

​​​​​​​​​​​​​​vim的编辑命令【删除、替换】

​​​​​​​​​​​​​​其它编辑操作

​​​​​​​vim中的末行模式【地址定界】

​​​​​​​​​​​​​​​​​​​​​多文件模式【多窗口】

​​​​​​​​​​​​​​定制vim的工作特性【配置文件】


​​​​​​​

vim编辑器简介

  • vi: Visual Interface,文本编辑器
  • VIM - Vi IMproved
  • 文本格式:ASCII, Unicode
  • vim自带的练习教程:vimtutor

vim文件打开与关闭

  • vim:模式化的编辑
  • 基本模式:
    • 编辑模式:命令模式
    • 输入模式
    • 末行模式:内置的命令行接口
  •  打开文件:【格式: vim [OPTION]... FILE...】
    • +#: 打开文件后,直接让光标处于第#行的行首

    • +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首

  • 模式转换:
    • 编辑模式 --> 输入模式
    • i: insert, 在光标所在处输入
    • a: append, 在光标所在处后面输入
    • o: 在当前光标所在行的下方打开一个新行
    • I:在当前光标所在行的行首输入
    • A:在当前光标所在行的行尾输入
    • O:在当前光标所在行的上方打开一个新行
    • c:清除本行的内容,在插入
    • C:清除本行的内容,在插入
  • 输入模式 --> 编辑模式【ESC】
  • 编辑模式 --> 末行模式【  :】
  • 末行模式 --> 编辑模式 【ESC】
  • 关闭文件
    • ​​​​​​​:q      退出
    • :q!    强制退出,丢弃做出的修改
    • :wq   保存退出
    • :x     保存退出
    • :w /PATH/TO/SOMEWHERE
    • ZZ: 保存退出

vim编辑器​​​​​​​光标跳转

  • ​​​​​​​字符间跳转【h:左】、【l:右】、【j:下】、【k:上】
    • #COMMAND:跳转由#指定的个数的字符【2l:向右移动两个字符】
  • 单词间跳转:
    • ​​​​​​​w:下一个单词的词首
    • e:当前或下一单词的词尾
    • b:当前或前一个单词的词首
    • #COMMAND:由#指定一次跳转的单词数【2e:当前或前一个单词跳转两次】
  • ​​​​​​​行首行尾跳转:
    • ​​​​​​​^: 跳转至行首的第一个非空白字符
    • 0: 跳转至行首
    • $: 跳转至行尾
  • ​​​​​​​行间移动
    • ​​​​​​​^: 跳转至行首的第一个非空白字符
    • G:最后一行
    • 1G, gg: 第一行
  • ​​​​​​​句间移动:
    • ​​​​​​​)
    • (
  • ​​​​​​​段落间移动:
    • ​​​​​​​{
    • }

​​​​​​​​​​​​​​vim的编辑命令【删除、替换】

  • 字符编辑:
    • ​​​​​​​x: 删除光标处的字符
    • #x: 删除光标处起始的#个字符
  • ​​​​​​​xp: 交换光标所在处的字符及其后面字符的位置
  • 替换命令(r, replace):r: 替换光标所在处的字符
  • 删除命令:
    • ​​​​​​​d: 删除命令,可结合光标跳转字符,实现范围删除;
    • d$:删除整行
    • d^:删除光标所在到行首
    • d0:删除光标所在到行首
    • dw:删除光标所在的单词
    • de:删除光标所在的单词的最后一个字母
    • db:删除光标所在的单词前面的单词
    • #COMMAND,由#指定一次跳转的单词数
    • dd: 删除光标所在的行【#dd:多行删除】
  • 粘贴命令(p, put, paste)
    • ​​​​​​​p:缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面
    • P:缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面
  • ​​​​​​​复制命令(y, yank)
    • ​​​​​​​y: 复制,工作行为相似于d命令
    • yy:复制行
    • #yy: 复制多行
  • ​​​​​​​改变命令(c, change)
    • ​​​​​​​c: 修改编辑模式 --> 输入模式;工作行为相似于d命令
    • cc:删除并输入新内容
    • #cc

​​​​​​​​​​​​​​其它编辑操作

  • 可视化模式:
    • ​​​​​​​v: 按字符选定
    • V:按行行定
  • ​​​​​​​撤消此前的编辑:
    • ​​​​​​​u(undo):撤消此前的操作
    • #u: 撤消指定次数的操作
  • ​​​​​​​撤消此前的撤消
    • ​​​​​​​Ctrl+r
  • 重复前一个编辑操作【 . 】​​​​​​​​​​​​​​
  • 翻屏操作
    • ​​​​​​​Ctrl+f: 向文件尾部翻一屏
    • Ctrl+b: 向文件首部翻一屏
    • Ctrl+d: 向文件尾部翻半屏
    • Ctrl+u:向文件首部翻半屏​​​​​​​

​​​​​​​vim中的末行模式【地址定界】

  • ​​​​​​​地址定界
    • ​​​​​​​:start_pos,end_pos
    • #: 具体第#行,例如2表示第2行
    • ​​​​​​​#,#:从左侧#表示行起始,到右侧#表示行结尾
    • #,+#: 从左侧#表示的行起始,加上右侧#表示的行数
    • . : 当前行
    • $: 最后一行
    • %:%:全文, 相当于1,$
    • /pat1/,/pat2/:从第一次被pat1模式匹配到的行开始,一直到第一次被pat2匹配到的行结束【#,/pat/】,【/pat/,$】
  • 使用方式:
    • ​​​​​​​w /PATH/TO/SOMEWHERE: 将范围内的行另存至指定文件中
    • r /PATH/FROM/SOMEFILE:在指定位置插入指定文件中的所有内容
  • ​​​​​​​查找
    • ​​​​​​​/PATTERN:从当前光标所在处向文件尾部查找
    • ?PATTERN:从当前光标所在处向文件首部查找
      • ​​​​​​​n:与命令同方向
      • N:与命令反方向
  • ​​​​​​​​​​​​​​查找并替换
    • ​​​​​​​s: 在末行模式下完成查找替换操作
    • s/要查找的内容/替换为的内容/修饰符
      • 要查找的内容:可使用模式
      • 替换为的内容:不能使用模式,但可以使用\1, \2, ...等后向引用符号;还可以使用“&”引用前面查找时查找到的整个内容
      • 修饰符:【i: 忽略大小写】、【g: 全局替换;默认情况下,每一行只替换第一次出现】
      • 查找替换中的分隔符/
      • 可替换为其它字符,例如、s@@@、s###

​​​​​​​​​​​​​​​​​​​​​多文件模式【多窗口】

  • vim FILE1 FILE2 FILE3 ...
    • ​​​​​​​:next 下一个
    • :prev 前一个
    • :first 第一个
    • :last 最后一个
    • :wall 保存所有
    • :qall 退出所有
  • ​​​​​​​窗口分隔模式:
    • ​​​​​​​vim -o|-O FILE1 FILE2 ...
    • -o: 水平分割
    • -O: 垂直分割​​​​​​​
    • 在窗口间切换:Ctrl+w, Arrow
  • ​​​​​​​单文件窗口分割:
    • ​​​​​​​Ctrl+w,s: split, 水平分割
    • Ctrl+w,v: vertical, 垂直分割

​​​​​​​​​​​​​​定制vim的工作特性【配置文件】

  • 配置文件:永久有效
    • 全局:/etc/vimrc
    • 个人:~/.vimrc
  • ​​​​​​​末行:当前vim进程有效
    • ​​​​​​​行号
      • ​​​​​​​显示:set number, 简写为set nu
      • 取消显示:set nonumber, 简写为set nonu
    • ​​​​​​​括号匹配
      • ​​​​​​​匹配:set showmatch, 简写为set sm
      • 取消:set nosm
    • ​​​​​​​自动缩进
      • ​​​​​​​启用:set ai
      • 禁用:set noai
    • ​​​​​​​高亮搜索
      • 启用:set hlsearch​​​​​​​
      • 禁用:set nohlsearch
    • ​​​​​​​语法高亮
      • ​​​​​​​启用:syntax on
      • 禁用:syntax off
    • ​​​​​​​忽略字符的大小写
      • ​​​​​​​启用:set ic
      • 不忽略:set noic
    • 获取帮助:
      • ​​​​​​​:help 
      • :help subject
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值