vi/vim都是多模式编辑器,vim是vi的升级版本,不仅兼容vi的所有指令,而且还有一些新的特性: 语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows
vim: 文本编辑器 只负责写代码 不负责编译运行 是一款多模式的编辑器
进入: vim
退出: shift: q
进入文件: vim code.c
vim wq: 也可以创建文件
命令模式(command mode)、插入模式(Insert mode)、 底行模式(last line mode)
正常/普通/命令模式(Normal mode)[vim的默认打开模式]
命令模式的基础常用指令
「yw」:将光标所在之处到字尾的字符复制到缓冲区中
yy: 复制当前光标所在行 5yy: 从当前行复制5行 [windows: ctrlc]
dd: 剪切当前光标所在行 ndd [ctrlx]
p: 粘贴 10p: 粘贴10次复制的内容 [ctrlv]
u: 撤销历史操作 [ctrlz]
ctrl+r: 恢复撤销 [ctrly]
shift~: 大小写转换
x/shift x: 删除光标所指向字符 nx: 删除n个
进入插入模式
i: 进入插入模式
a: 命令模式下 若此处有字符 光标移到该字符的下一位(不管后面有没有字符 都移到下一位) 若此处无字符 进入插入模式
o: 在当前光标所在行的下方新建一行,并进入插入模式
替换
在命令模式下输入r + x: 将光标所在位置字符替换成x
在命令模式下输入5r + x: 将光标所在位置向后5个字符替换成x
shift r: 覆盖式替换[进入替换模式]
查找
/text: 正向查找text值
?text: 反向查找text值
/\ctext:大小写不敏感查找text
光标上下移动
shiftg: 光标定位到文件尾
gg:光标定位到文件首
数字+ shiftg :光标定位到特定行
光标左右移动
shift^: 光标定位到行首
shift$: 光标定位到行尾
w: 光标跳到下个字的开头 以单词为单位 向后移动 5w向后移动五个单词
e: 光标跳到下个字的字尾
b: 光标回到上个字的开头 以单词为单位 向前移动 5b同上
按「ctrl」+「b」:屏幕往“后”移动一页
按「ctrl」+「f」:屏幕往“前”移动一页
按「ctrl」+「u」:屏幕往“后”移动半页
按「ctrl」+「d」:屏幕往“前”移动半页
[键盘上的箭头也可以移动不太便捷]
hjkl
: 左下上右
插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
底行模式(last line mode)
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift:
即可进入该模
式。要查看你的所有模式:打开vim,底行模式直接输入:help vim-modes
显示/隐藏行号
set nu/set nonu
分屏操作
进入code.c文件后在底行模式vs test.c
可以进行分屏操作
ctrl WW: 光标跳转至另一个屏
基础指令
w: 保存 w! : 强制保存
q:退出 q!: 强制退出
! cmd: 不退出vim 执行指令(命令行/编译/运行/查阅手册)
: text 跳到text行
输入:
i/a/o
------>编辑/插入模式
按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
左下角状态变为可以进行编写代码
输入
esc
退出当前模式/返回上个模式
输入:
shift:
底行模式
输入
esc
退出当前模式/返回上个模式
注意: 无法从插入模式直接到底行模式 无法从底行模式直接到插入模式
首先在自己的工作路径下创建一个 .vimrc
文件 然后复制粘贴想要的配置
首先在自己的工作路径下创建一个 .vim
文件 然后按照指示下载
gg ctrl+v shift+g =
: 光标置于文首 进入块可视模式 自文首到文尾 按等号对齐ctrl+v j x
定位到注释符号//的第一个/ 进入块可视模式 j: 光标下移 到最后一个/ x: 删除选中/ 再来一次 成功删除注释(先按l移到第二个/ 一次删除)%s/old/new/g