什么是vim?

Vim是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。
vim的设计理念是命令的组合。用户学习了各种各样的文本间移动/跳转的命令和其他的普通模式的编辑命令,并且能够灵活组合使用的话,能够比那些没有模式的编辑器更加高效的进行文本编辑。同时VIM与很多快捷键设置和正则表达式类似,可以辅助记忆。并且vim针对程序员做了优化。

vim 的使用

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)

在Linux中直接输入(如果该文件存在就直接打开 不存在则创建该文件)就进入了vim工作模式 。

此时为命令模式,如果想进入插入模式可以直接按i或o或a具体如下(其他模式进入也同样如此)

退出插入模式 直接按Esc键 此时进入命令模式

从命令模式进入底层命令模式    按:就可进入 在该模式输入命令后回车键就自动到了命令模式

工作模式切换如下:

vim的一些使用技巧

:r   文件名   在编辑内容时使用该命令可将该文件中的内容导入到光标所在行后面

:!which 命令  能够查看该命令的所在路径

:r  !date  将系统当前时间加入到光标所在行后面

定义快捷键   :map ^P(同时按下Ctrl+v+p 或者先按Ctrl+v再按Ctrl+p)  I#<ESC>  I表示行首 #代表注释<ESC>表示退出到命令模式  该快捷键(Ctrl+p)意思就是在光标所在行的行首添加# 可能起到注释作用

      :map  ^B 0x   删除行首的第一个字符

连续行注释    :n1,n2s/^/#/g  表示从地n1行  到 n2行 将行首添加# g表示不询问

      :n1,n2s/^#//g  表示从地n1行  到 n2行 将行首添的#替换为空

      :n1,n2s/^/\/\//g  \/ 转义字符表示/  表示在行首加入两个//

      替换 :ab  替换名  替换内容    在编辑模式中输入替换名后,空格或回车自动变成替换的内容

以上的这些快捷键在虚拟机重启后就失效了,想要永久有效就必须在每个用户的宿主目录的家目录下面

如果是root  就在/root目录下

如果是a    就在/home/a目录下

以root用户为例: 创建或打开.vimrc文件

 打开该文件后。在里面输入一些命令(只能放入编辑模式的命令)如 前面不用加:号

   

 保存文件后  打开任何一个文件后 都带有行号 里面定义的快捷键都可以使用

说明: .vimrc是配置文件    一般用户文件在/home/用户名/.vimrc  root用户在 /root/.vimrc

其他操作可参考https://www.runoob.com/linux/linux-vim.html

最新文章

  1. Google软件构建工具Bazel FAQ
  2. 抓包分析SSL/TLS连接建立过程【总结】
  3. ubuntu 12.04下zmap安装
  4. Git 遇到了 early EOF index-pack failed 问题
  5. visual Sdudio 快捷键
  6. C# 跨线程操作无效
  7. Android 微信UI 、点击操作
  8. android pbap client 蓝牙
  9. OD之常用命令
  10. C#调用VB6写的ActiveX Dll
  11. Java作用域
  12. 【Android 应用开发】Activity 状态保存 OnSaveInstanceState参数解析
  13. /usr/bin/ld: .build_release/tools/alignment_tools.o: undefined reference to symbol &#39;omp_get_thread_num@@OMP_1.0&#39;
  14. 读取Excel2003、Excel2007或更高级的兼容性问题 workbook 下载中文名称文件
  15. 2079 ACM 选课时间 背包 或 母函数
  16. 简易的命令行聊天室程序(Winsock,服务器&amp;客户端)
  17. FortiGate 硬件加速
  18. StrokesPlus发送快捷键命令列表
  19. 使用matplotlib的示例:调整字体-设置colormap和colorbar
  20. 混沌数学之拉比诺维奇-法布里康特方程(Rabinovich-Fabrikant equations)

热门文章

  1. css中class后面跟两个类,这两个类用空格隔开
  2. VScode小白简介
  3. 「ZJOI2007」捉迷藏
  4. php 增删改查范例(2)
  5. 十六 Spring的JDBC模版入门,默认连接池
  6. 【剑指Offer面试编程题】题目1349:数字在排序数组中出现的次数--九度OJ
  7. ubuntu用命令行打开vscode
  8. 扩展中国剩余定理 (ExCRT)
  9. Mybatis-问题总结
  10. java文件相关(文件追加内容、文件内容清空、文件内容读取)