Skip to content

Logic-1729/Mini-vim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minivim

请用wsl运行,不保证在clion终端能一样运行

启动

minivim [options] <filename>

  • -t: 截断模式
  • -R: 只读模式
  • -W: 分为滚动模式和折行模式

模式

Insert mode

  • Esc: 切换到normal mode
  • Enter:自动对齐上一行的缩进
  • Backspace: 删除
  • Delete:不支持在行末使用delete

Normal mode

  • dd:删除一整行
  • 0:跳到行首
  • $:跳到行末
  • w:跳到上一个单词开始,不特殊考虑标点符号
  • b:跳到下一个单词开始,不特殊考虑标点符号,行首的空格自动跳过

Command mode

  • :w:保存
  • :q:退出
  • :q!:退出
  • :wq:保存并且退出
  • :jmp:跳到指定行,如果行号非法,不作任何操作
  • :sub:支持搜索与替换,支持对当前字符的子字符的替换

Feature

  • Normal mode 特性

    • 支持合法的光标移动,理论上能够移动到空行的行首与行尾
    • 禁止在边界处通过左右键到达上下行
    • 在折行模式下,上下键跳转到原始文本的下一行/上一行,无论当前行是否被分成几行显示
    • 设置了行号,并添加了制表符,强制至少显示一个屏幕用于显示屏幕的最大行数多少
    • Normal mode下可以到最后一个(知道的时候已经写完了)
  • Insert mode 特性

    • 只能处理非快捷键的ASCII字符以及回车键,空格键,Tab键,Backspace键
  • Command mode 特性

    • jmp做了跳跃行号的功能,并对非法行号进行鲁棒性判断
    • sub做了全部替换的功能,并会对语句合法性进行鲁棒性判断

    最终结果: sub jmp break/scroll history Basic: insert和normal光标到行尾的判断 ReadOnly在没修改推出的时候,还是提示了 CodeStyle: 只有一个main文件+一个.h,main文件过长了 在超长行时有明显效率问题,↑↓←→同理 insert mode下一直输入回车不会跨页

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published