Vim 基本的使用
2024-09-01 22:29:03
三种模式
- 按 ESC 进入命令模式
- 命令模式下输入 Shift + ; 进入末行模式
- 命令模式下输入插入命令,如(i,a,o) 进入输入模式
进入
- vim 文件名
- vim直接编辑一个文件,如果是已经存在的文件,则是打开着文件,如果是没有的文件,就会新建文件
- 在Linux中,文件后缀只是一个标示,任何文件都可以用vim打开,py文件也是,可以用vim文件打开编辑
退出
- wq:末行模式,wq保存退出
- q:末行模式,q直接退出
- q!:末行模式,q!强制退出,不保存
移动光标
- gg:到文件第一行
- G:到文件最后一行
- ^:非空格行首
- 0:行首(数字0)
- $:行尾
输入模式
- i:从光标所在位置前面开始插入
- I:在当前行首插入
- a:从光标所在位置后面开始输入
- A:在当前行尾插入
- o:在光标所在行下方新增一行并进入输入模式
- O:在当前上面一行插入
复制和粘贴
- yy:复制整行内容
- *yy:复制*行内容
- yw:复制当前光标到单词尾内容
- p:粘贴
撤销
- 命令模式下:u
- u:撤销
- ctrl + r:取消撤销(撤销上一个u)
删除
- 剪切了不粘贴即可当作删除用
- dd:剪切光标所在行
- *dd:剪切光标所在下*行
- dw:剪切一个单词
- x:剪切光标所在字符
块操作
- v:块选择
- ctrl+v:列块选择
查找
- 命令模式下输入:/,向前搜索
- 命令模式下输入:?,向后搜索
- n:向下查找
- N:向上查找
替换(末行模式)
- :s/s1/s2 替换当前行第一个s1为s2
- :s/s1/s2/g 替换当前行中所有s1为s2
- :%s/s1/s2/g 替换文中所有s1为 s2
最新文章
- 通过setTimeout来取消因大量计算造成的网页卡顿
- java编辑器eclipse如何更改jdk版本
- 【转载】 使用Anemometer基于pt-query-digest将MySQL慢查询可视化
- 命令行静态编译QT程序
- iscc2016-basic-心灵鸡汤
- 在controller间分享数据(第一种办法)
- mybatis中使用log4j
- Xamarin 安装教程 支持Visual Studio 2013
- Dynamics CRM 2013 报表开发:安装开发工具
- .Net软件开发面试技巧
- Retrofit的初次使用
- 从壹开始前后端分离 [ vue + .netcore 补程 ] 三十一║ Nuxt终篇:基于Vuex的权限验证探究
- mysql-binlog日志删除
- 211. Orchard学习 二 2、ManualResetEvent 与 AutoResetEvent
- mysql中如何使用一句话将一个表的数据导入到另一个表中:insert into ...select
- 关于const的一些注意事项
- python Mixin 是个啥?
- ubuntu下安装交叉编译工具链
- php写入、追加写入文件的实例
- express操作数据库